pptx-react-viewer 3.19.2 → 3.20.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 (181) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/dist/{AiChatPanel-ZH52BQBE.mjs → AiChatPanel-7AU4A3A7.mjs} +4 -4
  3. package/dist/AiChatPanel-7AU4A3A7.mjs.br +0 -0
  4. package/dist/AiChatPanel-7AU4A3A7.mjs.gz +0 -0
  5. package/dist/{AiChatPanel-KILEXOPT.js → AiChatPanel-FIUTFT55.js} +25 -25
  6. package/dist/AiChatPanel-FIUTFT55.js.br +0 -0
  7. package/dist/AiChatPanel-FIUTFT55.js.gz +0 -0
  8. package/dist/{Area3DChartScene-UHN7ZOZT.mjs → Area3DChartScene-SPRHDMNQ.mjs} +1 -1
  9. package/dist/{Area3DChartScene-UHN7ZOZT.mjs.br → Area3DChartScene-SPRHDMNQ.mjs.br} +0 -0
  10. package/dist/Area3DChartScene-SPRHDMNQ.mjs.gz +0 -0
  11. package/dist/{Area3DChartScene-HS7EBQLQ.js → Area3DChartScene-ZGVLTYDW.js} +2 -2
  12. package/dist/Area3DChartScene-ZGVLTYDW.js.br +0 -0
  13. package/dist/Area3DChartScene-ZGVLTYDW.js.gz +0 -0
  14. package/dist/{Bar3DChartScene-TFGSYASD.mjs → Bar3DChartScene-FJCRJCZV.mjs} +1 -1
  15. package/dist/{Bar3DChartScene-TFGSYASD.mjs.br → Bar3DChartScene-FJCRJCZV.mjs.br} +0 -0
  16. package/dist/Bar3DChartScene-FJCRJCZV.mjs.gz +0 -0
  17. package/dist/{Bar3DChartScene-E57TRVUU.js → Bar3DChartScene-GVIX7ENI.js} +2 -2
  18. package/dist/Bar3DChartScene-GVIX7ENI.js.br +0 -0
  19. package/dist/Bar3DChartScene-GVIX7ENI.js.gz +0 -0
  20. package/dist/{Line3DChartScene-NM7YYLZD.js → Line3DChartScene-6C3WDA42.js} +2 -2
  21. package/dist/Line3DChartScene-6C3WDA42.js.br +0 -0
  22. package/dist/Line3DChartScene-6C3WDA42.js.gz +0 -0
  23. package/dist/{Line3DChartScene-RES5D7W7.mjs → Line3DChartScene-KP4RMVAQ.mjs} +1 -1
  24. package/dist/{Line3DChartScene-RES5D7W7.mjs.br → Line3DChartScene-KP4RMVAQ.mjs.br} +0 -0
  25. package/dist/Line3DChartScene-KP4RMVAQ.mjs.gz +0 -0
  26. package/dist/{Model3DScene-6CWFGE7M.mjs → Model3DScene-SH6ZLOXE.mjs} +1 -1
  27. package/dist/Model3DScene-SH6ZLOXE.mjs.br +0 -0
  28. package/dist/Model3DScene-SH6ZLOXE.mjs.gz +0 -0
  29. package/dist/{Model3DScene-SL3QF63O.js → Model3DScene-SXZYGMN6.js} +2 -2
  30. package/dist/Model3DScene-SXZYGMN6.js.br +0 -0
  31. package/dist/Model3DScene-SXZYGMN6.js.gz +0 -0
  32. package/dist/{PieChart3DScene-QYJUOYMB.mjs → PieChart3DScene-F4IE7565.mjs} +1 -1
  33. package/dist/{PieChart3DScene-QYJUOYMB.mjs.br → PieChart3DScene-F4IE7565.mjs.br} +0 -0
  34. package/dist/PieChart3DScene-F4IE7565.mjs.gz +0 -0
  35. package/dist/{PieChart3DScene-WIVYOQUQ.js → PieChart3DScene-V2Q73UEQ.js} +2 -2
  36. package/dist/PieChart3DScene-V2Q73UEQ.js.br +0 -0
  37. package/dist/PieChart3DScene-V2Q73UEQ.js.gz +0 -0
  38. package/dist/{SurfaceChart3DScene-Y2LF73QQ.mjs → SurfaceChart3DScene-AXLDY5BB.mjs} +1 -1
  39. package/dist/{SurfaceChart3DScene-Y2LF73QQ.mjs.br → SurfaceChart3DScene-AXLDY5BB.mjs.br} +0 -0
  40. package/dist/SurfaceChart3DScene-AXLDY5BB.mjs.gz +0 -0
  41. package/dist/{SurfaceChart3DScene-QCUYYQBZ.js → SurfaceChart3DScene-XUGVYHD2.js} +2 -2
  42. package/dist/SurfaceChart3DScene-XUGVYHD2.js.br +0 -0
  43. package/dist/SurfaceChart3DScene-XUGVYHD2.js.gz +0 -0
  44. package/dist/{chunk-RPPLJQ6R.js → chunk-2BQKGTIF.js} +1571 -1366
  45. package/dist/chunk-2BQKGTIF.js.br +0 -0
  46. package/dist/chunk-2BQKGTIF.js.gz +0 -0
  47. package/dist/{chunk-7XJ7I6TJ.mjs → chunk-F65J67TW.mjs} +7 -3
  48. package/dist/chunk-F65J67TW.mjs.br +0 -0
  49. package/dist/chunk-F65J67TW.mjs.gz +0 -0
  50. package/dist/{chunk-ATKAU2J4.mjs → chunk-GV6LVDBE.mjs} +562 -357
  51. package/dist/chunk-GV6LVDBE.mjs.br +0 -0
  52. package/dist/chunk-GV6LVDBE.mjs.gz +0 -0
  53. package/dist/{chunk-ZUIM5737.js → chunk-HN5QJSVB.js} +514 -172
  54. package/dist/chunk-HN5QJSVB.js.br +0 -0
  55. package/dist/chunk-HN5QJSVB.js.gz +0 -0
  56. package/dist/{chunk-M5BAPEQL.mjs → chunk-JIP6BCRV.mjs} +9 -9
  57. package/dist/chunk-JIP6BCRV.mjs.br +0 -0
  58. package/dist/chunk-JIP6BCRV.mjs.gz +0 -0
  59. package/dist/{chunk-F7VYECOL.js → chunk-K7TAGREH.js} +5 -5
  60. package/dist/chunk-K7TAGREH.js.br +0 -0
  61. package/dist/chunk-K7TAGREH.js.gz +0 -0
  62. package/dist/{chunk-BRJN3ZMG.js → chunk-M24DEOP6.js} +15 -0
  63. package/dist/chunk-M24DEOP6.js.br +0 -0
  64. package/dist/chunk-M24DEOP6.js.gz +0 -0
  65. package/dist/{chunk-2LK3OHAN.js → chunk-ML4MTTPV.js} +796 -796
  66. package/dist/chunk-ML4MTTPV.js.br +0 -0
  67. package/dist/chunk-ML4MTTPV.js.gz +0 -0
  68. package/dist/{chunk-GULL4H2I.mjs → chunk-MWNB4BX5.mjs} +511 -173
  69. package/dist/chunk-MWNB4BX5.mjs.br +0 -0
  70. package/dist/chunk-MWNB4BX5.mjs.gz +0 -0
  71. package/dist/{chunk-NEMPFYZ5.mjs → chunk-OKIHMWGI.mjs} +1 -1
  72. package/dist/chunk-OKIHMWGI.mjs.br +0 -0
  73. package/dist/chunk-OKIHMWGI.mjs.gz +0 -0
  74. package/dist/{chunk-MQUTXOET.mjs → chunk-R664EPDC.mjs} +15 -0
  75. package/dist/chunk-R664EPDC.mjs.br +0 -0
  76. package/dist/chunk-R664EPDC.mjs.gz +0 -0
  77. package/dist/{chunk-YH4ODPSH.js → chunk-U46O2NL5.js} +187 -183
  78. package/dist/chunk-U46O2NL5.js.br +0 -0
  79. package/dist/chunk-U46O2NL5.js.gz +0 -0
  80. package/dist/i18n/de.cjs +15 -0
  81. package/dist/i18n/de.cjs.br +0 -0
  82. package/dist/i18n/de.cjs.gz +0 -0
  83. package/dist/i18n/de.mjs +15 -0
  84. package/dist/i18n/de.mjs.br +0 -0
  85. package/dist/i18n/de.mjs.gz +0 -0
  86. package/dist/i18n/es.cjs +15 -0
  87. package/dist/i18n/es.cjs.br +0 -0
  88. package/dist/i18n/es.cjs.gz +0 -0
  89. package/dist/i18n/es.mjs +15 -0
  90. package/dist/i18n/es.mjs.br +0 -0
  91. package/dist/i18n/es.mjs.gz +0 -0
  92. package/dist/i18n/fr.cjs +15 -0
  93. package/dist/i18n/fr.cjs.br +0 -0
  94. package/dist/i18n/fr.cjs.gz +0 -0
  95. package/dist/i18n/fr.mjs +15 -0
  96. package/dist/i18n/fr.mjs.br +0 -0
  97. package/dist/i18n/fr.mjs.gz +0 -0
  98. package/dist/i18n/zh-CN.cjs +15 -0
  99. package/dist/i18n/zh-CN.cjs.br +0 -0
  100. package/dist/i18n/zh-CN.cjs.gz +0 -0
  101. package/dist/i18n/zh-CN.mjs +15 -0
  102. package/dist/i18n/zh-CN.mjs.br +0 -0
  103. package/dist/i18n/zh-CN.mjs.gz +0 -0
  104. package/dist/i18n.js +4 -4
  105. package/dist/i18n.js.br +0 -0
  106. package/dist/i18n.js.gz +0 -0
  107. package/dist/i18n.mjs +1 -1
  108. package/dist/i18n.mjs.br +0 -0
  109. package/dist/i18n.mjs.gz +0 -0
  110. package/dist/index.d.ts +37 -0
  111. package/dist/index.js +48 -48
  112. package/dist/index.js.br +0 -0
  113. package/dist/index.js.gz +0 -0
  114. package/dist/index.mjs +6 -6
  115. package/dist/index.mjs.br +4 -4
  116. package/dist/index.mjs.gz +0 -0
  117. package/dist/internals.d.ts +37 -0
  118. package/dist/internals.js +105 -105
  119. package/dist/internals.js.br +0 -0
  120. package/dist/internals.js.gz +0 -0
  121. package/dist/internals.mjs +4 -4
  122. package/dist/internals.mjs.br +0 -0
  123. package/dist/internals.mjs.gz +0 -0
  124. package/dist/pptx-viewer.css +1 -1
  125. package/dist/pptx-viewer.css.br +0 -0
  126. package/dist/pptx-viewer.css.gz +0 -0
  127. package/dist/viewer/index.d.ts +37 -0
  128. package/dist/viewer/index.js +27 -27
  129. package/dist/viewer/index.js.br +0 -0
  130. package/dist/viewer/index.js.gz +0 -0
  131. package/dist/viewer/index.mjs +6 -6
  132. package/dist/viewer/index.mjs.br +0 -0
  133. package/dist/viewer/index.mjs.gz +0 -0
  134. package/package.json +1 -1
  135. package/dist/AiChatPanel-KILEXOPT.js.br +0 -0
  136. package/dist/AiChatPanel-KILEXOPT.js.gz +0 -0
  137. package/dist/AiChatPanel-ZH52BQBE.mjs.br +0 -0
  138. package/dist/AiChatPanel-ZH52BQBE.mjs.gz +0 -0
  139. package/dist/Area3DChartScene-HS7EBQLQ.js.br +0 -0
  140. package/dist/Area3DChartScene-HS7EBQLQ.js.gz +0 -0
  141. package/dist/Area3DChartScene-UHN7ZOZT.mjs.gz +0 -0
  142. package/dist/Bar3DChartScene-E57TRVUU.js.br +0 -0
  143. package/dist/Bar3DChartScene-E57TRVUU.js.gz +0 -0
  144. package/dist/Bar3DChartScene-TFGSYASD.mjs.gz +0 -0
  145. package/dist/Line3DChartScene-NM7YYLZD.js.br +0 -0
  146. package/dist/Line3DChartScene-NM7YYLZD.js.gz +0 -0
  147. package/dist/Line3DChartScene-RES5D7W7.mjs.gz +0 -0
  148. package/dist/Model3DScene-6CWFGE7M.mjs.br +0 -0
  149. package/dist/Model3DScene-6CWFGE7M.mjs.gz +0 -0
  150. package/dist/Model3DScene-SL3QF63O.js.br +0 -0
  151. package/dist/Model3DScene-SL3QF63O.js.gz +0 -0
  152. package/dist/PieChart3DScene-QYJUOYMB.mjs.gz +0 -0
  153. package/dist/PieChart3DScene-WIVYOQUQ.js.br +0 -0
  154. package/dist/PieChart3DScene-WIVYOQUQ.js.gz +0 -0
  155. package/dist/SurfaceChart3DScene-QCUYYQBZ.js.br +0 -0
  156. package/dist/SurfaceChart3DScene-QCUYYQBZ.js.gz +0 -0
  157. package/dist/SurfaceChart3DScene-Y2LF73QQ.mjs.gz +0 -0
  158. package/dist/chunk-2LK3OHAN.js.br +0 -0
  159. package/dist/chunk-2LK3OHAN.js.gz +0 -0
  160. package/dist/chunk-7XJ7I6TJ.mjs.br +0 -0
  161. package/dist/chunk-7XJ7I6TJ.mjs.gz +0 -0
  162. package/dist/chunk-ATKAU2J4.mjs.br +0 -0
  163. package/dist/chunk-ATKAU2J4.mjs.gz +0 -0
  164. package/dist/chunk-BRJN3ZMG.js.br +0 -0
  165. package/dist/chunk-BRJN3ZMG.js.gz +0 -0
  166. package/dist/chunk-F7VYECOL.js.br +0 -0
  167. package/dist/chunk-F7VYECOL.js.gz +0 -0
  168. package/dist/chunk-GULL4H2I.mjs.br +0 -0
  169. package/dist/chunk-GULL4H2I.mjs.gz +0 -0
  170. package/dist/chunk-M5BAPEQL.mjs.br +0 -0
  171. package/dist/chunk-M5BAPEQL.mjs.gz +0 -0
  172. package/dist/chunk-MQUTXOET.mjs.br +0 -0
  173. package/dist/chunk-MQUTXOET.mjs.gz +0 -0
  174. package/dist/chunk-NEMPFYZ5.mjs.br +0 -0
  175. package/dist/chunk-NEMPFYZ5.mjs.gz +0 -0
  176. package/dist/chunk-RPPLJQ6R.js.br +0 -0
  177. package/dist/chunk-RPPLJQ6R.js.gz +0 -0
  178. package/dist/chunk-YH4ODPSH.js.br +0 -0
  179. package/dist/chunk-YH4ODPSH.js.gz +0 -0
  180. package/dist/chunk-ZUIM5737.js.br +0 -0
  181. package/dist/chunk-ZUIM5737.js.gz +0 -0
@@ -24285,7 +24285,9 @@ function getElementTextContent(element) {
24285
24285
  return element.textSegments.map((segment) => String(segment.text || "")).join("");
24286
24286
  }
24287
24287
  function createEditorId(prefix) {
24288
- return `${prefix}-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;
24288
+ const random = Math.random().toString(36).slice(2, 8).padEnd(6, "0");
24289
+ const sequence = (nextEditorIdSequence++).toString(36);
24290
+ return `${prefix}-${Date.now()}-${random}${sequence}`;
24289
24291
  }
24290
24292
  function ensureArrayValue(value) {
24291
24293
  if (!value) {
@@ -24293,10 +24295,12 @@ function ensureArrayValue(value) {
24293
24295
  }
24294
24296
  return Array.isArray(value) ? value : [value];
24295
24297
  }
24298
+ var nextEditorIdSequence;
24296
24299
  var init_element_utils = __esm({
24297
24300
  "src/core/utils/element-utils.ts"() {
24298
24301
  init_types();
24299
24302
  init_clone_utils();
24303
+ nextEditorIdSequence = 0;
24300
24304
  }
24301
24305
  });
24302
24306
  function isTemplateElementId(elementId) {
@@ -46687,7 +46691,9 @@ function buildChartMarkerXml(existing, marker, getLocalName2, resolveColor2) {
46687
46691
  throw new RangeError("marker size must be an integer from 2 through 72");
46688
46692
  }
46689
46693
  const node = {};
46690
- node["c:symbol"] = { "@_val": marker.symbol };
46694
+ if (marker.symbol !== "auto") {
46695
+ node["c:symbol"] = { "@_val": marker.symbol };
46696
+ }
46691
46697
  if (marker.size !== void 0) {
46692
46698
  node["c:size"] = { "@_val": String(marker.size) };
46693
46699
  }
@@ -47052,10 +47058,7 @@ function parseMarker(markerNode, xmlLookup, colorParser) {
47052
47058
  }
47053
47059
  const symbolNode = xmlLookup.getChildByLocalName(markerNode, "symbol");
47054
47060
  const rawSymbol = String(symbolNode?.["@_val"] || "").trim();
47055
- const symbol = MARKER_SYMBOL_MAP[rawSymbol];
47056
- if (!symbol) {
47057
- return void 0;
47058
- }
47061
+ const symbol = MARKER_SYMBOL_MAP[rawSymbol] ?? "auto";
47059
47062
  const result = { symbol };
47060
47063
  const sizeNode = xmlLookup.getChildByLocalName(markerNode, "size");
47061
47064
  const size = Number(sizeNode?.["@_val"]);
@@ -48330,6 +48333,13 @@ function safeInt3(val2) {
48330
48333
  const n = parseInt(String(val2), 10);
48331
48334
  return Number.isFinite(n) ? n : void 0;
48332
48335
  }
48336
+ function hasLocalName(node, name) {
48337
+ if (Object.hasOwn(node, name)) {
48338
+ return true;
48339
+ }
48340
+ const suffix = `:${name}`;
48341
+ return Object.keys(node).some((key2) => key2.endsWith(suffix));
48342
+ }
48333
48343
  function parseChartAxes(plotArea, xmlLookup, colorParser, getLocalName2, resolveTypeface) {
48334
48344
  const result = [];
48335
48345
  for (const key2 of Object.keys(plotArea)) {
@@ -48425,20 +48435,24 @@ function parseSingleAxis(axisNode, axisType, xmlLookup, colorParser, getLocalNam
48425
48435
  result,
48426
48436
  (parent, name) => xmlLookup.getChildByLocalName(parent, name)
48427
48437
  );
48428
- const majorGrid = xmlLookup.getChildByLocalName(axisNode, "majorGridlines");
48429
- if (majorGrid) {
48438
+ if (hasLocalName(axisNode, "majorGridlines")) {
48430
48439
  result.majorGridlines = true;
48431
48440
  result.majorGridlinesSpPr = parseShapeProps(
48432
- xmlLookup.getChildByLocalName(majorGrid, "spPr"),
48441
+ xmlLookup.getChildByLocalName(
48442
+ xmlLookup.getChildByLocalName(axisNode, "majorGridlines"),
48443
+ "spPr"
48444
+ ),
48433
48445
  xmlLookup,
48434
48446
  colorParser
48435
48447
  );
48436
48448
  }
48437
- const minorGrid = xmlLookup.getChildByLocalName(axisNode, "minorGridlines");
48438
- if (minorGrid) {
48449
+ if (hasLocalName(axisNode, "minorGridlines")) {
48439
48450
  result.minorGridlines = true;
48440
48451
  result.minorGridlinesSpPr = parseShapeProps(
48441
- xmlLookup.getChildByLocalName(minorGrid, "spPr"),
48452
+ xmlLookup.getChildByLocalName(
48453
+ xmlLookup.getChildByLocalName(axisNode, "minorGridlines"),
48454
+ "spPr"
48455
+ ),
48442
48456
  xmlLookup,
48443
48457
  colorParser
48444
48458
  );
@@ -48641,20 +48655,24 @@ function parseSingleCxAxis(axisNode, xmlLookup, colorParser, resolveTypeface) {
48641
48655
  if (formatCode) {
48642
48656
  result.numFmt = { formatCode, sourceLinked: numFmtNode?.["@_sourceLinked"] === "1" };
48643
48657
  }
48644
- const majorGrid = xmlLookup.getChildByLocalName(axisNode, "majorGridlines");
48645
- if (majorGrid) {
48658
+ if (hasLocalName(axisNode, "majorGridlines")) {
48646
48659
  result.majorGridlines = true;
48647
48660
  result.majorGridlinesSpPr = parseShapeProps(
48648
- xmlLookup.getChildByLocalName(majorGrid, "spPr"),
48661
+ xmlLookup.getChildByLocalName(
48662
+ xmlLookup.getChildByLocalName(axisNode, "majorGridlines"),
48663
+ "spPr"
48664
+ ),
48649
48665
  xmlLookup,
48650
48666
  colorParser
48651
48667
  );
48652
48668
  }
48653
- const minorGrid = xmlLookup.getChildByLocalName(axisNode, "minorGridlines");
48654
- if (minorGrid) {
48669
+ if (hasLocalName(axisNode, "minorGridlines")) {
48655
48670
  result.minorGridlines = true;
48656
48671
  result.minorGridlinesSpPr = parseShapeProps(
48657
- xmlLookup.getChildByLocalName(minorGrid, "spPr"),
48672
+ xmlLookup.getChildByLocalName(
48673
+ xmlLookup.getChildByLocalName(axisNode, "minorGridlines"),
48674
+ "spPr"
48675
+ ),
48658
48676
  xmlLookup,
48659
48677
  colorParser
48660
48678
  );
@@ -48693,6 +48711,7 @@ function parseCxAxes(plotArea, xmlLookup, colorParser, resolveTypeface) {
48693
48711
  var NO_COLOR;
48694
48712
  var init_chart_cx_axis_parser = __esm({
48695
48713
  "src/core/utils/chart-cx-axis-parser.ts"() {
48714
+ init_chart_axis_parser();
48696
48715
  init_chart_series_detail_parser();
48697
48716
  init_chart_title_xml_ops();
48698
48717
  NO_COLOR = { parseColor: () => void 0 };
@@ -97003,6 +97022,7 @@ var PptxHandlerRuntime10;
97003
97022
  var init_PptxHandlerRuntimePresentationProps = __esm({
97004
97023
  "src/core/core/runtime/PptxHandlerRuntimePresentationProps.ts"() {
97005
97024
  init_chart_data_label_parser();
97025
+ init_chart_def_rpr_style();
97006
97026
  init_chart_legend_serializer();
97007
97027
  init_chart_title_style_parser();
97008
97028
  init_pptx_presentation_props_helpers();
@@ -97157,6 +97177,18 @@ var init_PptxHandlerRuntimePresentationProps = __esm({
97157
97177
  if (entries.length > 0) {
97158
97178
  style.legendEntries = entries;
97159
97179
  }
97180
+ const legendTxPr = this.xmlLookupService.getChildByLocalName(legend, "txPr");
97181
+ const chartSpaceTxPr = this.xmlLookupService.getChildByLocalName(chartSpace, "txPr");
97182
+ const legendDefRPr = resolveTxPrDefRPr(legendTxPr ?? chartSpaceTxPr, this.xmlLookupService);
97183
+ const legendTextStyle = parseDefRPrTextStyle(
97184
+ legendDefRPr,
97185
+ this.xmlLookupService,
97186
+ { parseColor: (node) => this.parseColor(node) },
97187
+ (raw) => this.resolveThemeTypeface(raw) ?? raw
97188
+ );
97189
+ if (legendTextStyle) {
97190
+ style.legendTextStyle = legendTextStyle;
97191
+ }
97160
97192
  }
97161
97193
  const title = this.xmlLookupService.getChildByLocalName(chartRoot, "title");
97162
97194
  if (title) {
@@ -122310,6 +122342,9 @@ var init_PptxHandlerRuntimeChartParsing = __esm({
122310
122342
  buildChartSeries(seriesList, categories, seriesChartType, axisId, containerChartType) {
122311
122343
  return seriesList.map((seriesNode, seriesIndex) => {
122312
122344
  const seriesName = this.extractChartSeriesName(seriesNode);
122345
+ const rawIdx = this.xmlLookupService.getChildByLocalName(seriesNode, "idx")?.["@_val"];
122346
+ const parsedIdx = rawIdx !== void 0 ? Number.parseInt(String(rawIdx), 10) : Number.NaN;
122347
+ const idx = Number.isFinite(parsedIdx) ? parsedIdx : void 0;
122313
122348
  const valNode2 = this.xmlLookupService.getChildByLocalName(seriesNode, "val") || this.xmlLookupService.getChildByLocalName(seriesNode, "yVal");
122314
122349
  const expanded = extractSeriesNumbersWithBlanks(valNode2, this.xmlLookupService);
122315
122350
  const hasBlanks = expanded.some((value) => value === null);
@@ -122399,6 +122434,7 @@ var init_PptxHandlerRuntimeChartParsing = __esm({
122399
122434
  ) : void 0;
122400
122435
  return {
122401
122436
  name: seriesName.trim().length > 0 ? seriesName : `Series ${seriesIndex + 1}`,
122437
+ ...idx !== void 0 ? { idx } : {},
122402
122438
  values: fallbackValues,
122403
122439
  ...blanks ? { blanks } : {},
122404
122440
  ...xValues.length > 0 ? { xValues } : {},
@@ -138549,6 +138585,7 @@ var GroupElementProcessor = class {
138549
138585
  return children13.join("\n\n");
138550
138586
  }
138551
138587
  };
138588
+ init_blob_url_to_data_url();
138552
138589
  init_type_guards();
138553
138590
  var ImageElementProcessor = class {
138554
138591
  supportedTypes = ["image", "picture"];
@@ -138589,14 +138626,37 @@ var ImageElementProcessor = class {
138589
138626
  return { w: maxW, h: Math.round(origH * scale2) };
138590
138627
  }
138591
138628
  async extractImage(imageElement, ctx) {
138592
- if (imageElement.imageData && imageElement.imageData.startsWith("data:")) {
138593
- return await ctx.mediaContext.saveImage(imageElement.imageData, `slide${ctx.slideNumber}`);
138629
+ const imageData = await this.resolveToDataUrl(imageElement.imageData, "image/png");
138630
+ if (imageData) {
138631
+ return await ctx.mediaContext.saveImage(imageData, `slide${ctx.slideNumber}`);
138594
138632
  }
138595
- if (imageElement.svgData && imageElement.svgData.startsWith("data:")) {
138596
- return await ctx.mediaContext.saveImage(imageElement.svgData, `slide${ctx.slideNumber}`);
138633
+ const svgData = await this.resolveToDataUrl(imageElement.svgData, "image/svg+xml");
138634
+ if (svgData) {
138635
+ return await ctx.mediaContext.saveImage(svgData, `slide${ctx.slideNumber}`);
138597
138636
  }
138598
138637
  return null;
138599
138638
  }
138639
+ /**
138640
+ * Accepts an already-decoded `data:` URI as-is. A `blob:` URL (e.g. a
138641
+ * Node `blob:nodedata:...` Object URL minted by `eagerDecodeImages` in a
138642
+ * non-browser runtime) is re-fetched and re-encoded, since only its own
138643
+ * process can resolve it and it would otherwise never satisfy the
138644
+ * `data:` check below. Anything else (undefined, an unresolved relative
138645
+ * path) is not extractable.
138646
+ */
138647
+ async resolveToDataUrl(value, fallbackMimeType) {
138648
+ if (!value) {
138649
+ return void 0;
138650
+ }
138651
+ if (value.startsWith("data:")) {
138652
+ return value;
138653
+ }
138654
+ if (value.startsWith("blob:")) {
138655
+ const resolved = await blobUrlToDataUrl(value, fallbackMimeType);
138656
+ return resolved.startsWith("data:") ? resolved : void 0;
138657
+ }
138658
+ return void 0;
138659
+ }
138600
138660
  /** Clean and truncate image alt text for readable markdown output. */
138601
138661
  sanitiseAltText(raw) {
138602
138662
  if (!raw) {
@@ -150561,7 +150621,20 @@ function compileEquationTemplateMathMl() {
150561
150621
  }
150562
150622
  var NICE_STEPS = [1, 2, 2.5, 5, 10];
150563
150623
  var HEADROOM = 0.05;
150624
+ var POINTS_PER_GRIDLINE = 20;
150625
+ var MIN_TARGET_INTERVALS = 1;
150626
+ var MAX_TARGET_INTERVALS = 10;
150627
+ var PX_PER_POINT = 4 / 3;
150628
+ var DEFAULT_TARGET_INTERVALS = 4;
150564
150629
  var ZERO_ANCHOR_RATIO = 5 / 6;
150630
+ function axisTargetIntervals(plotHeightPx) {
150631
+ if (!Number.isFinite(plotHeightPx) || plotHeightPx <= 0) {
150632
+ return DEFAULT_TARGET_INTERVALS;
150633
+ }
150634
+ const plotHeightPt = plotHeightPx / PX_PER_POINT;
150635
+ const raw = Math.round(plotHeightPt / POINTS_PER_GRIDLINE);
150636
+ return Math.min(MAX_TARGET_INTERVALS, Math.max(MIN_TARGET_INTERVALS, raw));
150637
+ }
150565
150638
  function niceAxisStep(value) {
150566
150639
  if (!Number.isFinite(value) || value <= 0) {
150567
150640
  return 1;
@@ -150577,7 +150650,7 @@ function snap(value, unit, direction) {
150577
150650
  const rounded = direction === "up" ? Math.ceil(scaled - 1e-9) : Math.floor(scaled + 1e-9);
150578
150651
  return rounded * unit;
150579
150652
  }
150580
- function niceValueAxisBounds(dataMin, dataMax, targetIntervals = 4) {
150653
+ function niceValueAxisBounds(dataMin, dataMax, targetIntervals = DEFAULT_TARGET_INTERVALS) {
150581
150654
  if (!Number.isFinite(dataMin) || !Number.isFinite(dataMax)) {
150582
150655
  return { min: 0, max: 1, majorUnit: 0.5 };
150583
150656
  }
@@ -150981,14 +151054,15 @@ function getChartStylePalette(styleId) {
150981
151054
  }
150982
151055
  return palette;
150983
151056
  }
150984
- function computeValueRange(series) {
151057
+ function computeValueRange(series, plotHeightPx) {
150985
151058
  const allValues = series.flatMap((s) => s.values);
150986
151059
  if (allValues.length === 0) {
150987
151060
  return { min: 0, max: 1, span: 1 };
150988
151061
  }
150989
151062
  const { min, max, majorUnit } = niceValueAxisBounds(
150990
151063
  Math.min(...allValues),
150991
- Math.max(...allValues)
151064
+ Math.max(...allValues),
151065
+ plotHeightPx !== void 0 ? axisTargetIntervals(plotHeightPx) : void 0
150992
151066
  );
150993
151067
  return { min, max, span: Math.max(max - min, Number.EPSILON), majorUnit };
150994
151068
  }
@@ -151089,10 +151163,10 @@ function computeLogValueRange(series, logBase) {
151089
151163
  logBase
151090
151164
  };
151091
151165
  }
151092
- function computeValueRangeForAxis(series, axis) {
151166
+ function computeValueRangeForAxis(series, axis, plotHeightPx) {
151093
151167
  const requestedLogBase = axis?.logBase ?? 10;
151094
151168
  const logBase = axis?.logScale && Number.isFinite(requestedLogBase) && requestedLogBase > 1 ? requestedLogBase : axis?.logScale ? 10 : void 0;
151095
- const automatic = logBase ? computeLogValueRange(series, logBase) : computeValueRange(series);
151169
+ const automatic = logBase ? computeLogValueRange(series, logBase) : computeValueRange(series, plotHeightPx);
151096
151170
  const validMin = typeof axis?.min === "number" && Number.isFinite(axis.min) && (!logBase || axis.min > 0) ? axis.min : void 0;
151097
151171
  const validMax = typeof axis?.max === "number" && Number.isFinite(axis.max) && (!logBase || axis.max > 0) ? axis.max : void 0;
151098
151172
  const min = validMin ?? automatic.min;
@@ -151169,9 +151243,9 @@ function generateMinorAxisTicks(range, axis) {
151169
151243
  (value) => Math.abs(value / majorUnit - Math.round(value / majorUnit)) > tolerance
151170
151244
  );
151171
151245
  }
151172
- function computeValueRangeForChart(series, axes) {
151246
+ function computeValueRangeForChart(series, axes, plotHeightPx) {
151173
151247
  const primaryAxis = axes?.find((axis) => axis.axisType === "valAx" && axis.axPos === "l") ?? axes?.find((axis) => axis.axisType === "valAx" && axis.axPos !== "r");
151174
- return computeValueRangeForAxis(series, primaryAxis);
151248
+ return computeValueRangeForAxis(series, primaryAxis, plotHeightPx);
151175
151249
  }
151176
151250
  var DISPLAY_UNIT_DIVISORS = {
151177
151251
  hundreds: 100,
@@ -151319,6 +151393,113 @@ function shade2(hex4, amount) {
151319
151393
  const [r, g2, b] = hexToRgb3(hex4);
151320
151394
  return rgbToHex2(r * (1 - amount), g2 * (1 - amount), b * (1 - amount));
151321
151395
  }
151396
+ var AUTOMATIC_MARKER_CYCLE = [
151397
+ "diamond",
151398
+ "square",
151399
+ "triangle",
151400
+ "x",
151401
+ "star",
151402
+ "circle",
151403
+ "plus",
151404
+ "dot",
151405
+ "dash"
151406
+ ];
151407
+ function automaticMarkerSymbol(seriesIdx) {
151408
+ const length = AUTOMATIC_MARKER_CYCLE.length;
151409
+ const normalized = (seriesIdx % length + length) % length;
151410
+ return AUTOMATIC_MARKER_CYCLE[normalized];
151411
+ }
151412
+ function markerRadius(size, defaultRadius2) {
151413
+ if (size === void 0 || !Number.isFinite(size) || size <= 0) {
151414
+ return defaultRadius2;
151415
+ }
151416
+ return size / 2;
151417
+ }
151418
+ function polygonPoints(vertices) {
151419
+ return vertices.map(([x, y]) => `${x.toFixed(2)},${y.toFixed(2)}`).join(" ");
151420
+ }
151421
+ function starVertices(cx, cy, r) {
151422
+ const inner = r * 0.5;
151423
+ const out = [];
151424
+ for (let i2 = 0; i2 < 10; i2++) {
151425
+ const radius = i2 % 2 === 0 ? r : inner;
151426
+ const angle = -Math.PI / 2 + Math.PI * i2 / 5;
151427
+ out.push([cx + radius * Math.cos(angle), cy + radius * Math.sin(angle)]);
151428
+ }
151429
+ return out;
151430
+ }
151431
+ function buildMarkerPrimitive(input) {
151432
+ const { symbol, cx, cy, fill, part } = input;
151433
+ if (symbol === "none") {
151434
+ return null;
151435
+ }
151436
+ const r = markerRadius(input.size, input.defaultRadius);
151437
+ const stroke = fill;
151438
+ switch (symbol) {
151439
+ case "square":
151440
+ return { kind: "rect", x: cx - r, y: cy - r, w: r * 2, h: r * 2, fill, part };
151441
+ case "dash":
151442
+ return { kind: "rect", x: cx - r, y: cy - r * 0.32, w: r * 2, h: r * 0.64, fill, part };
151443
+ case "diamond":
151444
+ return {
151445
+ kind: "polygon",
151446
+ points: polygonPoints([
151447
+ [cx, cy - r],
151448
+ [cx + r, cy],
151449
+ [cx, cy + r],
151450
+ [cx - r, cy]
151451
+ ]),
151452
+ fill,
151453
+ stroke,
151454
+ strokeWidth: 0,
151455
+ part
151456
+ };
151457
+ case "triangle":
151458
+ return {
151459
+ kind: "polygon",
151460
+ points: polygonPoints([
151461
+ [cx, cy - r],
151462
+ [cx + r * 0.9, cy + r * 0.75],
151463
+ [cx - r * 0.9, cy + r * 0.75]
151464
+ ]),
151465
+ fill,
151466
+ stroke,
151467
+ strokeWidth: 0,
151468
+ part
151469
+ };
151470
+ case "star":
151471
+ return {
151472
+ kind: "polygon",
151473
+ points: polygonPoints(starVertices(cx, cy, r)),
151474
+ fill,
151475
+ stroke,
151476
+ strokeWidth: 0,
151477
+ part
151478
+ };
151479
+ case "plus":
151480
+ return {
151481
+ kind: "path",
151482
+ d: `M${(cx - r).toFixed(2)},${cy.toFixed(2)} L${(cx + r).toFixed(2)},${cy.toFixed(2)} M${cx.toFixed(2)},${(cy - r).toFixed(2)} L${cx.toFixed(2)},${(cy + r).toFixed(2)}`,
151483
+ fill: "none",
151484
+ stroke,
151485
+ strokeWidth: Math.max(1, r * 0.4),
151486
+ part
151487
+ };
151488
+ case "x":
151489
+ return {
151490
+ kind: "path",
151491
+ d: `M${(cx - r).toFixed(2)},${(cy - r).toFixed(2)} L${(cx + r).toFixed(2)},${(cy + r).toFixed(2)} M${(cx + r).toFixed(2)},${(cy - r).toFixed(2)} L${(cx - r).toFixed(2)},${(cy + r).toFixed(2)}`,
151492
+ fill: "none",
151493
+ stroke,
151494
+ strokeWidth: Math.max(1, r * 0.4),
151495
+ part
151496
+ };
151497
+ case "dot":
151498
+ return { kind: "circle", cx, cy, r: Math.max(r * 0.6, 1), fill, part };
151499
+ default:
151500
+ return { kind: "circle", cx, cy, r, fill, part };
151501
+ }
151502
+ }
151322
151503
  function findDataPoint(series, pointIndex) {
151323
151504
  return series.dataPoints?.find((p) => p.idx === pointIndex);
151324
151505
  }
@@ -151333,10 +151514,13 @@ function resolveDataPointExplosion(series, pointIndex) {
151333
151514
  const point = findDataPoint(series, pointIndex);
151334
151515
  return point?.explosion ?? series.explosion ?? 0;
151335
151516
  }
151336
- function resolveDataPointMarker(series, pointIndex) {
151517
+ function resolveDataPointMarker(series, pointIndex, seriesPosition = 0) {
151337
151518
  const point = findDataPoint(series, pointIndex)?.marker;
151519
+ const hasMarker = point !== void 0 || series.marker !== void 0;
151520
+ const rawSymbol = point?.symbol ?? series.marker?.symbol;
151521
+ const symbol = hasMarker && (rawSymbol === void 0 || rawSymbol === "auto") ? automaticMarkerSymbol(series.idx ?? seriesPosition) : rawSymbol;
151338
151522
  return {
151339
- symbol: point?.symbol ?? series.marker?.symbol,
151523
+ symbol,
151340
151524
  size: point?.size ?? series.marker?.size,
151341
151525
  fill: point?.spPr?.fillColor ?? series.marker?.spPr?.fillColor
151342
151526
  };
@@ -151602,97 +151786,6 @@ function computeChartLegendLayout(vm) {
151602
151786
  };
151603
151787
  });
151604
151788
  }
151605
- function markerRadius(size, defaultRadius2) {
151606
- if (size === void 0 || !Number.isFinite(size) || size <= 0) {
151607
- return defaultRadius2;
151608
- }
151609
- return size / 2;
151610
- }
151611
- function polygonPoints(vertices) {
151612
- return vertices.map(([x, y]) => `${x.toFixed(2)},${y.toFixed(2)}`).join(" ");
151613
- }
151614
- function starVertices(cx, cy, r) {
151615
- const inner = r * 0.5;
151616
- const out = [];
151617
- for (let i2 = 0; i2 < 10; i2++) {
151618
- const radius = i2 % 2 === 0 ? r : inner;
151619
- const angle = -Math.PI / 2 + Math.PI * i2 / 5;
151620
- out.push([cx + radius * Math.cos(angle), cy + radius * Math.sin(angle)]);
151621
- }
151622
- return out;
151623
- }
151624
- function buildMarkerPrimitive(input) {
151625
- const { symbol, cx, cy, fill, part } = input;
151626
- if (symbol === "none") {
151627
- return null;
151628
- }
151629
- const r = markerRadius(input.size, input.defaultRadius);
151630
- const stroke = fill;
151631
- switch (symbol) {
151632
- case "square":
151633
- return { kind: "rect", x: cx - r, y: cy - r, w: r * 2, h: r * 2, fill, part };
151634
- case "dash":
151635
- return { kind: "rect", x: cx - r, y: cy - r * 0.32, w: r * 2, h: r * 0.64, fill, part };
151636
- case "diamond":
151637
- return {
151638
- kind: "polygon",
151639
- points: polygonPoints([
151640
- [cx, cy - r],
151641
- [cx + r, cy],
151642
- [cx, cy + r],
151643
- [cx - r, cy]
151644
- ]),
151645
- fill,
151646
- stroke,
151647
- strokeWidth: 0,
151648
- part
151649
- };
151650
- case "triangle":
151651
- return {
151652
- kind: "polygon",
151653
- points: polygonPoints([
151654
- [cx, cy - r],
151655
- [cx + r * 0.9, cy + r * 0.75],
151656
- [cx - r * 0.9, cy + r * 0.75]
151657
- ]),
151658
- fill,
151659
- stroke,
151660
- strokeWidth: 0,
151661
- part
151662
- };
151663
- case "star":
151664
- return {
151665
- kind: "polygon",
151666
- points: polygonPoints(starVertices(cx, cy, r)),
151667
- fill,
151668
- stroke,
151669
- strokeWidth: 0,
151670
- part
151671
- };
151672
- case "plus":
151673
- return {
151674
- kind: "path",
151675
- d: `M${(cx - r).toFixed(2)},${cy.toFixed(2)} L${(cx + r).toFixed(2)},${cy.toFixed(2)} M${cx.toFixed(2)},${(cy - r).toFixed(2)} L${cx.toFixed(2)},${(cy + r).toFixed(2)}`,
151676
- fill: "none",
151677
- stroke,
151678
- strokeWidth: Math.max(1, r * 0.4),
151679
- part
151680
- };
151681
- case "x":
151682
- return {
151683
- kind: "path",
151684
- d: `M${(cx - r).toFixed(2)},${(cy - r).toFixed(2)} L${(cx + r).toFixed(2)},${(cy + r).toFixed(2)} M${(cx + r).toFixed(2)},${(cy - r).toFixed(2)} L${(cx - r).toFixed(2)},${(cy + r).toFixed(2)}`,
151685
- fill: "none",
151686
- stroke,
151687
- strokeWidth: Math.max(1, r * 0.4),
151688
- part
151689
- };
151690
- case "dot":
151691
- return { kind: "circle", cx, cy, r: Math.max(r * 0.6, 1), fill, part };
151692
- default:
151693
- return { kind: "circle", cx, cy, r, fill, part };
151694
- }
151695
- }
151696
151789
  var LEGEND_LINE_SWATCH_WIDTH = 2;
151697
151790
  var LEGEND_MARKER_RADIUS = 3;
151698
151791
  var SWATCH_CENTER_Y = -2;
@@ -151700,8 +151793,8 @@ var SWATCH_WIDTH = 10;
151700
151793
  function resolveLegendSwatchKind(kind) {
151701
151794
  return kind === "line" || kind === "scatter" ? "line" : "rect";
151702
151795
  }
151703
- function buildLineLegendSwatch(series, color2) {
151704
- const resolved = resolveDataPointMarker(series, -1), primitives = [];
151796
+ function buildLineLegendSwatch(series, color2, seriesPosition = 0) {
151797
+ const resolved = resolveDataPointMarker(series, -1, seriesPosition), primitives = [];
151705
151798
  if (!series.lineNoFill) {
151706
151799
  primitives.push({
151707
151800
  kind: "line",
@@ -151818,7 +151911,7 @@ function paletteColor2(index, colorPalette) {
151818
151911
  function seriesColor2(series, index, colorPalette) {
151819
151912
  return series.color ?? series.marker?.spPr?.fillColor ?? paletteColor2(index, colorPalette);
151820
151913
  }
151821
- function computeValueRange2(series) {
151914
+ function computeValueRange2(series, plotHeightPx) {
151822
151915
  let dataMin = Number.POSITIVE_INFINITY, dataMax = Number.NEGATIVE_INFINITY;
151823
151916
  for (const item of series) {
151824
151917
  for (const value of item.values) {
@@ -151833,10 +151926,14 @@ function computeValueRange2(series) {
151833
151926
  if (dataMin === Number.POSITIVE_INFINITY) {
151834
151927
  return { min: 0, max: 1, span: 1 };
151835
151928
  }
151836
- const { min, max, majorUnit } = niceValueAxisBounds(dataMin, dataMax);
151929
+ const { min, max, majorUnit } = niceValueAxisBounds(
151930
+ dataMin,
151931
+ dataMax,
151932
+ plotHeightPx !== void 0 ? axisTargetIntervals(plotHeightPx) : void 0
151933
+ );
151837
151934
  return { min, max, span: Math.max(max - min, Number.EPSILON), majorUnit };
151838
151935
  }
151839
- function computeStackedValueRange(series, catCount) {
151936
+ function computeStackedValueRange(series, catCount, plotHeightPx) {
151840
151937
  let maxSum = 0, minSum = 0;
151841
151938
  for (let ci = 0; ci < catCount; ci++) {
151842
151939
  let pos2 = 0, neg = 0;
@@ -151851,7 +151948,11 @@ function computeStackedValueRange(series, catCount) {
151851
151948
  maxSum = Math.max(maxSum, pos2);
151852
151949
  minSum = Math.min(minSum, neg);
151853
151950
  }
151854
- const { min, max, majorUnit } = niceValueAxisBounds(Math.min(minSum, 0), Math.max(maxSum, 0));
151951
+ const { min, max, majorUnit } = niceValueAxisBounds(
151952
+ Math.min(minSum, 0),
151953
+ Math.max(maxSum, 0),
151954
+ plotHeightPx !== void 0 ? axisTargetIntervals(plotHeightPx) : void 0
151955
+ );
151855
151956
  return { min, max, span: Math.max(max - min, Number.EPSILON), majorUnit };
151856
151957
  }
151857
151958
  function valueToY2(val2, range, topY, bottomY) {
@@ -151891,7 +151992,7 @@ function buildLegend(series, colorPalette, svgWidth, legendPos, svgHeight, plotT
151891
151992
  return {
151892
151993
  color: color2,
151893
151994
  label: s.name,
151894
- ...kind === "line" ? { lineSwatch: buildLineLegendSwatch(s, color2) } : {}
151995
+ ...kind === "line" ? { lineSwatch: buildLineLegendSwatch(s, color2, i2) } : {}
151895
151996
  };
151896
151997
  });
151897
151998
  let legendX = svgWidth / 2, legendY = svgHeight - 8, legendAnchor = "middle";
@@ -152588,8 +152689,8 @@ function xyMarkTooltip(seriesName, xVal, yVal, numberFormat) {
152588
152689
  const y = formatAxisValue2(yVal, numberFormat), coords = xVal !== void 0 ? `(${formatAxisValue2(xVal)}, ${y})` : y;
152589
152690
  return seriesName.length > 0 ? `${seriesName}: ${coords}` : coords;
152590
152691
  }
152591
- function pushMarker(out, series, pointIndex, cx, cy, fill, defaultRadius2, part, opacity2, title) {
152592
- const marker = resolveDataPointMarker(series, pointIndex), m = buildMarkerPrimitive({
152692
+ function pushMarker(out, series, pointIndex, cx, cy, fill, defaultRadius2, part, opacity2, title, seriesPosition = part.seriesIndex ?? 0) {
152693
+ const marker = resolveDataPointMarker(series, pointIndex, seriesPosition), m = buildMarkerPrimitive({
152593
152694
  symbol: marker.symbol,
152594
152695
  size: marker.size,
152595
152696
  cx,
@@ -154354,7 +154455,7 @@ function barFill(chartData, series, seriesIndex, pointIndex) {
154354
154455
  return resolveDataPointFill(series, pointIndex, paletteColor2(seriesIndex, palette)) ?? seriesColor2(series, seriesIndex, palette);
154355
154456
  }
154356
154457
  function buildHorizontalBarViewModel(element, chartData, categoryLabels) {
154357
- const layout = computePlotLayout(element.width, element.height, chartData, true), catCount = Math.max(categoryLabels.length, 1), series = chartData.series, grouping = chartData.grouping ?? "clustered", isStacked = grouping === "stacked" || grouping === "percentStacked", isPercent = grouping === "percentStacked", range = isPercent ? { min: 0, max: 100, span: 100 } : isStacked ? computeStackedValueRange(series, catCount) : computeValueRangeForChart(series, chartData.axes), { gridlines, axisLabels } = buildTransposedValueAxis(range, layout), zeroX = valueToX(0, range, layout.plotLeft, layout.plotRight), zeroLine = range.min < 0 && range.max > 0 ? {
154458
+ const layout = computePlotLayout(element.width, element.height, chartData, true), catCount = Math.max(categoryLabels.length, 1), series = chartData.series, grouping = chartData.grouping ?? "clustered", isStacked = grouping === "stacked" || grouping === "percentStacked", isPercent = grouping === "percentStacked", range = isPercent ? { min: 0, max: 100, span: 100 } : isStacked ? computeStackedValueRange(series, catCount, layout.plotWidth) : computeValueRangeForChart(series, chartData.axes, layout.plotWidth), { gridlines, axisLabels } = buildTransposedValueAxis(range, layout), zeroX = valueToX(0, range, layout.plotLeft, layout.plotRight), zeroLine = range.min < 0 && range.max > 0 ? {
154358
154459
  kind: "line",
154359
154460
  x1: zeroX,
154360
154461
  y1: layout.plotTop,
@@ -154940,11 +155041,11 @@ function computeTrendlinePrimitives(chartData, catCount, layout, range, mode = "
154940
155041
  });
154941
155042
  return out;
154942
155043
  }
154943
- function stackedRange(chartData, catCount, isPercent) {
155044
+ function stackedRange(chartData, catCount, isPercent, plotHeightPx) {
154944
155045
  if (isPercent) {
154945
155046
  return { min: 0, max: 100, span: 100 };
154946
155047
  }
154947
- return computeStackedValueRange(chartData.series, catCount);
155048
+ return computeStackedValueRange(chartData.series, catCount, plotHeightPx);
154948
155049
  }
154949
155050
  function buildCartesianViewModel(element, chartData, categoryLabels, kind) {
154950
155051
  if (kind === "bar" && chartData.barDirection === "bar") {
@@ -154965,15 +155066,17 @@ function buildCartesianViewModel(element, chartData, categoryLabels, kind) {
154965
155066
  (axis) => axis.axisType === "valAx" && axis.axPos !== "r"
154966
155067
  );
154967
155068
  const primaryRange = isStacked ? {
154968
- ...stackedRange(chartData, catCount, isPercent),
155069
+ ...stackedRange(chartData, catCount, isPercent, layout.autoPlotHeight),
154969
155070
  ...primaryAxis?.orientation === "maxMin" ? { reverseOrder: true } : {}
154970
155071
  } : computeValueRangeForChart(
154971
155072
  primaryPlotSeries.length > 0 ? primaryPlotSeries : chartData.series,
154972
- chartData.axes
155073
+ chartData.axes,
155074
+ layout.autoPlotHeight
154973
155075
  );
154974
155076
  const secondaryRange = useSecondary && secondaryPlotSeries.length > 0 ? computeValueRangeForAxis(
154975
155077
  secondaryPlotSeries,
154976
- chartData.axes?.find((axis) => axis.axisType === "valAx" && axis.axPos === "r")
155078
+ chartData.axes?.find((axis) => axis.axisType === "valAx" && axis.axPos === "r"),
155079
+ layout.autoPlotHeight
154977
155080
  ) : void 0;
154978
155081
  const axisRes = buildCartesianAxes(chartData, layout, primaryRange, secondaryRange, catCount);
154979
155082
  const zeroLine = primaryRange.logScale ? void 0 : buildZeroLine(primaryRange, layout);
@@ -155239,10 +155342,11 @@ function buildComboViewModel(element, chartData, categoryLabels) {
155239
155342
  const primaryAxisId = getPrimaryValueAxisId(chartData.axes);
155240
155343
  const primaryAxis = chartData.axes?.find((axis) => axis.axisId === primaryAxisId);
155241
155344
  const secondaryAxisFormatting = getSecondaryValueAxis(chartData.axes);
155242
- const primaryRange = computeValueRangeForAxis(primarySeries, primaryAxis);
155345
+ const primaryRange = computeValueRangeForAxis(primarySeries, primaryAxis, layout.autoPlotHeight);
155243
155346
  const secondaryRange = secondary.length > 0 ? computeValueRangeForAxis(
155244
155347
  secondary.map((entry2) => entry2.series),
155245
- secondaryAxisFormatting
155348
+ secondaryAxisFormatting,
155349
+ layout.autoPlotHeight
155246
155350
  ) : void 0;
155247
155351
  const primaryCategoryAxis2 = chartData.axes?.find(
155248
155352
  (axis) => (axis.axisType === "catAx" || axis.axisType === "dateAx") && axis.axisId === primaryAxis?.crossAxisId
@@ -155413,7 +155517,11 @@ function buildStockViewModel(element, chartData, categoryLabels) {
155413
155517
  computeLayoutOptions(chartData.axes, chartData.dataTable, chartData.series.length)
155414
155518
  );
155415
155519
  const catCount = Math.max(categoryLabels.length, 1);
155416
- const range = computeValueRangeForChart(chartData.series, chartData.axes);
155520
+ const range = computeValueRangeForChart(
155521
+ chartData.series,
155522
+ chartData.axes,
155523
+ layout.plotHeight
155524
+ );
155417
155525
  const valueAxis = chartData.axes?.find((axis) => axis.axisType === "valAx" && axis.axPos !== "r");
155418
155526
  const categoryAxis = chartData.axes?.find(
155419
155527
  (axis) => (axis.axisType === "catAx" || axis.axisType === "dateAx") && axis.axisId === valueAxis?.crossAxisId
@@ -156234,18 +156342,19 @@ function buildSunburstViewModel(element, chartData, categoryLabels) {
156234
156342
  legendAnchor: "middle"
156235
156343
  };
156236
156344
  }
156237
- function applyLegendEntryOverrides(legend, entries) {
156238
- if (!entries || entries.length === 0) {
156345
+ function applyLegendEntryOverrides(legend, entries, defaultTextStyle) {
156346
+ if ((!entries || entries.length === 0) && !defaultTextStyle) {
156239
156347
  return legend;
156240
156348
  }
156241
- const byIndex = new Map(entries.map((entry2) => [entry2.index, entry2]));
156349
+ const byIndex = new Map((entries ?? []).map((entry2) => [entry2.index, entry2]));
156242
156350
  const result = [];
156243
156351
  legend.forEach((item, index) => {
156244
156352
  const override = byIndex.get(index);
156245
156353
  if (override?.deleted) {
156246
156354
  return;
156247
156355
  }
156248
- result.push(override?.textStyle ? { ...item, textStyle: override.textStyle } : item);
156356
+ const textStyle = override?.textStyle ?? defaultTextStyle;
156357
+ result.push(textStyle ? { ...item, textStyle } : item);
156249
156358
  });
156250
156359
  return result;
156251
156360
  }
@@ -156565,7 +156674,7 @@ function buildSurfaceWallPanels(cols, rows, cellSize, zScale, offsetX, offsetY,
156565
156674
  }
156566
156675
  function buildIsometricSurfaceViewModel(element, chartData, categoryLabels) {
156567
156676
  const layout = computePlotLayout(element.width, element.height, chartData, false);
156568
- const range = computeValueRange2(chartData.series);
156677
+ const range = computeValueRange2(chartData.series, layout.autoPlotHeight);
156569
156678
  const catCount = Math.max(categoryLabels.length, 1);
156570
156679
  const seriesCount = chartData.series.length;
156571
156680
  const cols = Math.max(catCount - 1, 1);
@@ -156684,7 +156793,7 @@ function buildIsometricSurfaceViewModel(element, chartData, categoryLabels) {
156684
156793
  }
156685
156794
  function buildFlatSurfaceViewModel(element, chartData, categoryLabels) {
156686
156795
  const layout = computePlotLayout(element.width, element.height, chartData, false);
156687
- const range = computeValueRange2(chartData.series);
156796
+ const range = computeValueRange2(chartData.series, layout.autoPlotHeight);
156688
156797
  const catCount = Math.max(categoryLabels.length, 1);
156689
156798
  const seriesCount = chartData.series.length;
156690
156799
  const cellW = layout.plotWidth / Math.max(catCount - 1, 1);
@@ -157572,6 +157681,7 @@ function computePlotLayout(elementWidth, elementHeight, chartData, hasAxes, opti
157572
157681
  const rowCount = options.dataTableRowCount ?? 1;
157573
157682
  plotBottom -= 14 + rowCount * 14;
157574
157683
  }
157684
+ const autoPlotHeight = Math.max(plotBottom - plotTop, 1);
157575
157685
  const plotLayout = manualLayoutOf(chartData, "plotArea"), manual = resolveManualLayoutRect(
157576
157686
  plotLayout,
157577
157687
  { width: svgWidth, height: svgHeight },
@@ -157596,7 +157706,8 @@ function computePlotLayout(elementWidth, elementHeight, chartData, hasAxes, opti
157596
157706
  plotRight: plotLeft + plotWidth,
157597
157707
  plotBottom: plotTop + plotHeight,
157598
157708
  plotWidth,
157599
- plotHeight
157709
+ plotHeight,
157710
+ autoPlotHeight
157600
157711
  };
157601
157712
  }
157602
157713
  var RADAR_RINGS = 4;
@@ -158442,13 +158553,16 @@ function buildWaterfallSteps(values, options) {
158442
158553
  }
158443
158554
  return steps;
158444
158555
  }
158445
- function computeWaterfallRange(steps) {
158446
- return computeValueRange2([
158447
- {
158448
- name: "Waterfall range",
158449
- values: steps.flatMap((step) => [step.startValue, step.endValue])
158450
- }
158451
- ]);
158556
+ function computeWaterfallRange(steps, plotHeightPx) {
158557
+ return computeValueRange2(
158558
+ [
158559
+ {
158560
+ name: "Waterfall range",
158561
+ values: steps.flatMap((step) => [step.startValue, step.endValue])
158562
+ }
158563
+ ],
158564
+ plotHeightPx
158565
+ );
158452
158566
  }
158453
158567
  var WF_COLOR_POSITIVE = "#22c55e";
158454
158568
  var WF_COLOR_NEGATIVE = "#ef4444";
@@ -158459,7 +158573,7 @@ function buildWaterfallViewModel(element, chartData, categoryLabels) {
158459
158573
  const series = chartData.series[0];
158460
158574
  const values = series?.values ?? [];
158461
158575
  const steps = buildWaterfallSteps(values, series?.waterfallOptions);
158462
- const range = computeWaterfallRange(steps);
158576
+ const range = computeWaterfallRange(steps, layout.autoPlotHeight);
158463
158577
  const catCount = Math.max(categoryLabels.length, values.length, 1);
158464
158578
  const barWidth = layout.plotWidth / catCount * 0.6;
158465
158579
  const gap = layout.plotWidth / catCount * 0.2;
@@ -158615,7 +158729,11 @@ function withDataPointPictureFills(vm, chartData, elementId) {
158615
158729
  return { ...vm, primitives, defs: [...vm.defs ?? [], ...defs] };
158616
158730
  }
158617
158731
  function withLegendEntries(vm, chartData) {
158618
- const legend = applyLegendEntryOverrides(vm.legend, chartData.style?.legendEntries);
158732
+ const legend = applyLegendEntryOverrides(
158733
+ vm.legend,
158734
+ chartData.style?.legendEntries,
158735
+ chartData.style?.legendTextStyle
158736
+ );
158619
158737
  return legend === vm.legend ? vm : { ...vm, legend };
158620
158738
  }
158621
158739
  function withChartAreaFill(vm, chartData) {
@@ -159406,13 +159524,16 @@ function hideChartSeries(data, seriesIndex) {
159406
159524
  return null;
159407
159525
  }
159408
159526
  const series = data.series[seriesIndex];
159409
- const takenIndices = /* @__PURE__ */ new Set([
159410
- ...data.series.map((_, i2) => i2).filter((i2) => i2 !== seriesIndex),
159411
- ...(data.filteredSeries ?? []).map((f6) => f6.idx)
159412
- ]);
159413
- let idx = 0;
159414
- while (takenIndices.has(idx)) {
159415
- idx++;
159527
+ let idx = series.idx;
159528
+ if (idx === void 0) {
159529
+ const taken = /* @__PURE__ */ new Set([
159530
+ ...data.series.map((_, i2) => i2).filter((i2) => i2 !== seriesIndex),
159531
+ ...(data.filteredSeries ?? []).map((f6) => f6.idx)
159532
+ ]);
159533
+ idx = 0;
159534
+ while (taken.has(idx)) {
159535
+ idx++;
159536
+ }
159416
159537
  }
159417
159538
  const filteredEntry = {
159418
159539
  idx,
@@ -159420,7 +159541,12 @@ function hideChartSeries(data, seriesIndex) {
159420
159541
  name: series.name,
159421
159542
  categories: data.categories,
159422
159543
  values: series.values,
159423
- ...series.uniqueId ? { uniqueId: series.uniqueId } : {}
159544
+ ...series.uniqueId ? { uniqueId: series.uniqueId } : {},
159545
+ // Full snapshot so restoreFilteredSeries can bring back everything
159546
+ // (fill/line formatting, marker, data labels, ...), not just name and
159547
+ // values: this used to silently reset a series with a picture fill
159548
+ // or any other non-default formatting to plain defaults on restore.
159549
+ originalSeries: series
159424
159550
  };
159425
159551
  return {
159426
159552
  ...data,
@@ -159436,15 +159562,19 @@ function restoreFilteredSeries(data, filteredIndex) {
159436
159562
  const name = filtered.name ?? data.filteredSeriesTitle ?? `Series ${data.series.length + 1}`;
159437
159563
  const categories = data.categories;
159438
159564
  const values = filtered.values ?? (filtered.categories ?? data.filteredCategoryTitle)?.map(() => 0) ?? categories.map(() => 0);
159439
- const restored = {
159565
+ const restored = filtered.originalSeries ? { ...filtered.originalSeries, idx: filtered.idx } : {
159440
159566
  name,
159441
159567
  values,
159568
+ idx: filtered.idx,
159442
159569
  ...filtered.uniqueId ? { uniqueId: filtered.uniqueId } : {}
159443
159570
  };
159571
+ const insertAt3 = data.series.findIndex((s, i2) => (s.idx ?? i2) > filtered.idx);
159572
+ const nextSeries = [...data.series];
159573
+ nextSeries.splice(insertAt3 === -1 ? nextSeries.length : insertAt3, 0, restored);
159444
159574
  const remainingFiltered = (data.filteredSeries ?? []).filter((_, i2) => i2 !== filteredIndex);
159445
159575
  return {
159446
159576
  ...data,
159447
- series: [...data.series, restored],
159577
+ series: nextSeries,
159448
159578
  ...remainingFiltered.length > 0 ? { filteredSeries: remainingFiltered } : { filteredSeries: void 0 }
159449
159579
  };
159450
159580
  }
@@ -159463,6 +159593,199 @@ function setDataLabelsRangeCache(series, pointIndex, text22) {
159463
159593
  dataLabelOptions: { ...series.dataLabelOptions, dataLabelsRange: { ...range, cache } }
159464
159594
  };
159465
159595
  }
159596
+ var CHART_STYLE_PRESETS = [
159597
+ { id: "colorful", labelKey: "pptx.chart.styleColorful", styleId: 2 },
159598
+ { id: "monochrome", labelKey: "pptx.chart.styleMonochrome", styleId: 10 },
159599
+ { id: "colorfulLight", labelKey: "pptx.chart.styleColorfulLight", styleId: 18 },
159600
+ { id: "colorfulDark", labelKey: "pptx.chart.styleColorfulDark", styleId: 26 },
159601
+ { id: "mutedDark", labelKey: "pptx.chart.styleMutedDark", styleId: 34 },
159602
+ { id: "pastel", labelKey: "pptx.chart.stylePastel", styleId: 42 }
159603
+ ];
159604
+ function paletteEquals(a, b) {
159605
+ if (!b || a.length !== b.length) {
159606
+ return false;
159607
+ }
159608
+ return a.every((c, i2) => c.toLowerCase() === b[i2]?.toLowerCase());
159609
+ }
159610
+ function findPreset(id) {
159611
+ return CHART_STYLE_PRESETS.find((p) => p.id === id);
159612
+ }
159613
+ function buildChartStylePresets(chartData) {
159614
+ return CHART_STYLE_PRESETS.map(({ id, labelKey, styleId }) => {
159615
+ const colors = getChartStylePalette(styleId);
159616
+ return {
159617
+ id,
159618
+ labelKey,
159619
+ colors,
159620
+ applied: paletteEquals(colors, chartData.colorPalette)
159621
+ };
159622
+ });
159623
+ }
159624
+ function clearDataPointFill(point) {
159625
+ const { spPr, marker, ...rest } = point;
159626
+ const nextSpPr = spPr && { ...spPr, fillColor: void 0 };
159627
+ const nextMarker = marker?.spPr && {
159628
+ ...marker,
159629
+ spPr: { ...marker.spPr, fillColor: void 0 }
159630
+ };
159631
+ return { ...rest, ...spPr && { spPr: nextSpPr }, ...nextMarker && { marker: nextMarker } };
159632
+ }
159633
+ function clearSeriesColor(series) {
159634
+ const { color: _color, marker, dataPoints, ...rest } = series;
159635
+ const nextMarker = marker?.spPr && { ...marker, spPr: { ...marker.spPr, fillColor: void 0 } };
159636
+ return {
159637
+ ...rest,
159638
+ ...marker && { marker: nextMarker ?? marker },
159639
+ ...dataPoints && { dataPoints: dataPoints.map(clearDataPointFill) }
159640
+ };
159641
+ }
159642
+ function applyChartStylePreset(chartData, presetId) {
159643
+ const preset = findPreset(presetId);
159644
+ if (!preset) {
159645
+ return null;
159646
+ }
159647
+ const colors = [...getChartStylePalette(preset.styleId)];
159648
+ return {
159649
+ ...chartData,
159650
+ colorPalette: colors,
159651
+ style: { ...chartData.style, styleId: preset.styleId },
159652
+ series: chartData.series.map(clearSeriesColor)
159653
+ };
159654
+ }
159655
+ var AXIS_TYPES_WITH_TITLES = [
159656
+ "catAx",
159657
+ "valAx",
159658
+ "dateAx"
159659
+ ];
159660
+ var DEFAULT_AXIS_TITLE_TEXT = "Axis Title";
159661
+ function chartAxesVisibilityPatch(chartData, show) {
159662
+ const axes = (chartData.axes ?? []).map(
159663
+ (axis) => AXIS_TYPES_WITH_TITLES.includes(axis.axisType) ? { ...axis, deleted: !show } : axis
159664
+ );
159665
+ return { axes };
159666
+ }
159667
+ function chartAxesVisibilityState(chartData) {
159668
+ const relevant = (chartData.axes ?? []).filter(
159669
+ (axis) => AXIS_TYPES_WITH_TITLES.includes(axis.axisType)
159670
+ );
159671
+ return relevant.length === 0 || relevant.some((axis) => !axis.deleted);
159672
+ }
159673
+ function chartAxisTitlesPatch(chartData, show) {
159674
+ const axes = (chartData.axes ?? []).map((axis) => {
159675
+ if (!AXIS_TYPES_WITH_TITLES.includes(axis.axisType)) {
159676
+ return axis;
159677
+ }
159678
+ if (!show) {
159679
+ return { ...axis, titleText: void 0 };
159680
+ }
159681
+ return { ...axis, titleText: axis.titleText || DEFAULT_AXIS_TITLE_TEXT };
159682
+ });
159683
+ return { axes };
159684
+ }
159685
+ function chartAxisTitlesState(chartData) {
159686
+ return (chartData.axes ?? []).some(
159687
+ (axis) => AXIS_TYPES_WITH_TITLES.includes(axis.axisType) && Boolean(axis.titleText)
159688
+ );
159689
+ }
159690
+ function applyChartElementToggle(chartData, key2, checked) {
159691
+ switch (key2) {
159692
+ case "title":
159693
+ return patchChartData(chartData, { style: { ...chartData.style, hasTitle: checked } });
159694
+ case "legend":
159695
+ return patchChartData(chartData, { style: { ...chartData.style, hasLegend: checked } });
159696
+ case "dataLabels":
159697
+ return patchChartData(chartData, { style: { ...chartData.style, hasDataLabels: checked } });
159698
+ case "gridlines":
159699
+ return patchChartData(chartData, chartGridlinesPatch(chartData, checked));
159700
+ case "axes":
159701
+ return patchChartData(chartData, chartAxesVisibilityPatch(chartData, checked));
159702
+ case "axisTitles":
159703
+ return patchChartData(chartData, chartAxisTitlesPatch(chartData, checked));
159704
+ default:
159705
+ return chartData;
159706
+ }
159707
+ }
159708
+ var CHART_QUICK_ACTION_BUTTON_SIZE = 24;
159709
+ var BUTTON_GAP = 6;
159710
+ var OUTSIDE_GAP = 8;
159711
+ var BUTTON_ORDER = [
159712
+ { id: "elements", labelKey: "pptx.chart.quickElements" },
159713
+ { id: "styles", labelKey: "pptx.chart.quickStyles" },
159714
+ { id: "filters", labelKey: "pptx.chart.quickFilters" }
159715
+ ];
159716
+ function buildButtons(selectionBox, showFilters) {
159717
+ const x = selectionBox.x + selectionBox.width + OUTSIDE_GAP;
159718
+ return BUTTON_ORDER.filter((entry2) => entry2.id !== "filters" || showFilters).map((entry2, i2) => ({
159719
+ ...entry2,
159720
+ x,
159721
+ y: selectionBox.y + i2 * (CHART_QUICK_ACTION_BUTTON_SIZE + BUTTON_GAP),
159722
+ size: CHART_QUICK_ACTION_BUTTON_SIZE
159723
+ }));
159724
+ }
159725
+ function buildElements(chartData) {
159726
+ const items = [
159727
+ { key: "title", labelKey: "pptx.chart.showTitle", checked: chartData.style?.hasTitle ?? false },
159728
+ {
159729
+ key: "legend",
159730
+ labelKey: "pptx.chart.showLegend",
159731
+ checked: chartData.style?.hasLegend ?? false
159732
+ },
159733
+ {
159734
+ key: "gridlines",
159735
+ labelKey: "pptx.chart.showGridlines",
159736
+ checked: chartGridlinesState(chartData)
159737
+ },
159738
+ {
159739
+ key: "dataLabels",
159740
+ labelKey: "pptx.chart.showDataLabels",
159741
+ checked: chartData.style?.hasDataLabels ?? false
159742
+ }
159743
+ ];
159744
+ if (chartData.axes && chartData.axes.length > 0) {
159745
+ items.push({
159746
+ key: "axes",
159747
+ labelKey: "pptx.chart.quickAxes",
159748
+ checked: chartAxesVisibilityState(chartData)
159749
+ });
159750
+ items.push({
159751
+ key: "axisTitles",
159752
+ labelKey: "pptx.chart.quickAxisTitles",
159753
+ checked: chartAxisTitlesState(chartData)
159754
+ });
159755
+ }
159756
+ return items;
159757
+ }
159758
+ function buildFilters(chartData) {
159759
+ const visibleSeries = chartData.series.map((series2, index) => ({
159760
+ key: `visible-${index}`,
159761
+ name: series2.name,
159762
+ visible: true,
159763
+ seriesIndex: index,
159764
+ sortKey: series2.idx ?? index
159765
+ }));
159766
+ const filtered = (chartData.filteredSeries ?? []).map((entry2, index) => ({
159767
+ key: `filtered-${index}`,
159768
+ name: entry2.name ?? chartData.filteredSeriesTitle ?? `Series ${index + 1}`,
159769
+ visible: false,
159770
+ filteredIndex: index,
159771
+ sortKey: entry2.idx
159772
+ }));
159773
+ const series = [...visibleSeries, ...filtered].sort((a, b) => a.sortKey - b.sortKey).map(({ sortKey: _sortKey, ...rest }) => rest);
159774
+ return { visible: series.length > 1, series };
159775
+ }
159776
+ function buildChartQuickActionsDescriptor(input) {
159777
+ if (!input.isChartSelected || !input.chartData) {
159778
+ return null;
159779
+ }
159780
+ const { chartData, selectionBox } = input;
159781
+ const filters = buildFilters(chartData);
159782
+ return {
159783
+ buttons: buildButtons(selectionBox, filters.visible),
159784
+ elements: buildElements(chartData),
159785
+ filters,
159786
+ styles: { presets: buildChartStylePresets(chartData) }
159787
+ };
159788
+ }
159466
159789
  var TWO_PI = Math.PI * 2;
159467
159790
  var ANGLE_EPSILON = TWO_PI * 1e-3;
159468
159791
  function buildPieDragGeometry(element, chartData, pointIndex) {
@@ -159519,7 +159842,7 @@ function buildStackedDragGeometry(element, chartData, seriesIndex, pointIndex) {
159519
159842
  ), plots = computeStackedSeriesPlots(seriesValues, catCount, percent3), baseValue = plots[seriesIndex]?.base[pointIndex] ?? 0, otherAbsSum = seriesValues.reduce(
159520
159843
  (sum, values, si) => si === seriesIndex ? sum : sum + Math.abs(values[pointIndex] ?? 0),
159521
159844
  0
159522
- ), range = percent3 ? { min: 0, max: 100, span: 100 } : computeStackedValueRange(chartData.series, catCount), layoutOpts = computeLayoutOptions(chartData.axes, chartData.dataTable, chartData.series.length), layout = computePlotLayout(element.width, element.height, chartData, true, layoutOpts);
159845
+ ), layoutOpts = computeLayoutOptions(chartData.axes, chartData.dataTable, chartData.series.length), layout = computePlotLayout(element.width, element.height, chartData, true, layoutOpts), range = percent3 ? { min: 0, max: 100, span: 100 } : computeStackedValueRange(chartData.series, catCount, layout.autoPlotHeight);
159523
159846
  return {
159524
159847
  range,
159525
159848
  plotTop: layout.plotTop,
@@ -172820,6 +173143,7 @@ var translationsEn = {
172820
173143
  "pptx.sections.addAfter": "Add Section After",
172821
173144
  // Notes
172822
173145
  "pptx.notes.title": "Notes",
173146
+ "pptx.notes.hasNotes": "(has notes)",
172823
173147
  "pptx.notes.slideN": "Slide {{n}}",
172824
173148
  "pptx.notes.noSlide": "No slide selected",
172825
173149
  "pptx.notes.clickToAddNotes": "Click to add notes",
@@ -173020,6 +173344,17 @@ var translationsEn = {
173020
173344
  "pptx.chart.chartFilters": "Chart filters",
173021
173345
  "pptx.chart.hideSeries": "Hide {{name}}",
173022
173346
  "pptx.chart.showSeries": "Show {{name}}",
173347
+ "pptx.chart.quickElements": "Chart Elements",
173348
+ "pptx.chart.quickStyles": "Chart Styles",
173349
+ "pptx.chart.quickFilters": "Chart Filters",
173350
+ "pptx.chart.quickAxes": "Axes",
173351
+ "pptx.chart.quickAxisTitles": "Axis Titles",
173352
+ "pptx.chart.styleColorful": "Colorful",
173353
+ "pptx.chart.styleMonochrome": "Monochrome",
173354
+ "pptx.chart.styleColorfulLight": "Colorful Light",
173355
+ "pptx.chart.styleColorfulDark": "Colorful Dark",
173356
+ "pptx.chart.styleMutedDark": "Muted Dark",
173357
+ "pptx.chart.stylePastel": "Pastel",
173023
173358
  "pptx.chart.valueFromCells": "Value from cells: {{name}}",
173024
173359
  "pptx.chart.removeCategory": "Remove category",
173025
173360
  "pptx.chart.axes": "Axes",
@@ -173164,6 +173499,8 @@ var translationsEn = {
173164
173499
  "pptx.slideShow.subtitles": "Subtitles",
173165
173500
  // Record tab (camera overlay placeholders)
173166
173501
  "pptx.record.cameo": "Cameo",
173502
+ "pptx.record.manage": "Manage",
173503
+ "pptx.record.camera": "Camera",
173167
173504
  "pptx.record.clear": "Clear",
173168
173505
  "pptx.record.learnMore": "Learn More",
173169
173506
  "pptx.record.resetToCameo": "Reset to Cameo",
@@ -175273,6 +175610,7 @@ var translationsEn = {
175273
175610
  "pptx.textFormatting.paragraphBefore": "Paragraph Before",
175274
175611
  "pptx.textFormatting.textFlow": "Text Flow",
175275
175612
  "pptx.textProperties.advancedTextHeading": "Advanced Text",
175613
+ "pptx.textProperties.autoFitToShape": "Auto-fit text to shape",
175276
175614
  "pptx.textProperties.defaultFontOption": "Default ({{font}})",
175277
175615
  "pptx.textProperties.firstIndent": "First Indent",
175278
175616
  "pptx.textProperties.leftMargin": "Left Margin",
@@ -177616,10 +177954,10 @@ function resolveTrackedTextWidth(text22, font, naturalWidth) {
177616
177954
  const tracking = resolveMetricTrackingPx(text22, font);
177617
177955
  return tracking === 0 ? naturalWidth : naturalWidth + tracking * [...text22].length;
177618
177956
  }
177619
- var PX_PER_POINT = 96 / 72;
177957
+ var PX_PER_POINT2 = 96 / 72;
177620
177958
  function authoredLetterSpacingPx(style) {
177621
177959
  const spc = style?.characterSpacing;
177622
- return typeof spc === "number" && spc !== 0 ? spc / 100 * PX_PER_POINT : 0;
177960
+ return typeof spc === "number" && spc !== 0 ? spc / 100 * PX_PER_POINT2 : 0;
177623
177961
  }
177624
177962
  function pieceLetterSpacing(authoredPx, tracking) {
177625
177963
  const spacing = authoredPx + tracking;
@@ -191592,7 +191930,7 @@ function buildSurfaceChart3DData(chartData, categoryLabels, options) {
191592
191930
  if (seriesCount === 0 || catCount === 0) {
191593
191931
  return null;
191594
191932
  }
191595
- const range = computeValueRange2(chartData.series);
191933
+ const range = computeValueRange2(chartData.series, options.height);
191596
191934
  const heightMap = new Float32Array(seriesCount * catCount);
191597
191935
  const colorMap = new Float32Array(seriesCount * catCount * 3);
191598
191936
  const values = new Float32Array(seriesCount * catCount);
@@ -192425,7 +192763,7 @@ function buildBarChart3DData(chartData, categoryLabels, options) {
192425
192763
  const isPercent = grouping === "percentStacked";
192426
192764
  const horizontal = chartData.barDirection === "bar";
192427
192765
  const points4 = buildPoints(chartData, cols, isPercent);
192428
- const range = isPercent ? { min: 0, max: 100, span: 100 } : grouping === "stacked" ? computeStackedValueRange(chartData.series, cols) : computeValueRange2(chartData.series);
192766
+ const range = isPercent ? { min: 0, max: 100, span: 100 } : grouping === "stacked" ? computeStackedValueRange(chartData.series, cols, options.height) : computeValueRange2(chartData.series, options.height);
192429
192767
  const depthPercent = chartData.view3D?.depthPercent;
192430
192768
  const boxes = layoutBarChart3D(points4, cols, rows, range, grouping, depthPercent, horizontal);
192431
192769
  return {
@@ -192541,7 +192879,7 @@ function buildCartesianLine3DSceneData(chartData, categoryLabels, options) {
192541
192879
  return null;
192542
192880
  }
192543
192881
  const points4 = buildPoints2(chartData, cols);
192544
- const range = computeValueRange2(chartData.series);
192882
+ const range = computeValueRange2(chartData.series, options.height);
192545
192883
  const depthPercent = chartData.view3D?.depthPercent;
192546
192884
  const series = layoutCartesianLine3DSeries(points4, cols, rows, range, depthPercent);
192547
192885
  return {
@@ -207405,4 +207743,4 @@ async function rasterResultToPngBlob(result) {
207405
207743
  * `<p:extLst>` (optional)
207406
207744
  */
207407
207745
 
207408
- export { ACTION_BUTTON_PRESETS, ACTION_INDICATOR_CLASS, ACTION_INDICATOR_ICON_PATH, ARTISTIC_EFFECTS, AVATAR_COLOR_SWATCHES, BACKSTAGE_NAV, BACKSTAGE_TEMPLATES, BAR3D_SHAPE_OPTIONS, BEVEL_PRESETS, BROADCAST_THROTTLE_MS, CATEGORIES, CHARACTER_SPACING_OPTIONS, 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, 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, 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, applyChartPartHighlight, 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, attachEditorImagePaste, attachInlineListController, attachPresentationVisibilityPause, attachRotateHandlePlacement, authorConnectorBetweenSites, autosaveSnapshotMark, availableQuickAccessCommands, backstageCardsFor, bar3DShapePatch, beginChartMarkDrag, beginChartValueDrag, beginShapeAdjustment, bindInlineListParagraph, bindInlineListRun, bringForward, bringToFront, build3DExtrusionData, buildActiveSessionUsers, buildAnimationTimelineBars, buildAnimationTimelineRows, buildAreaChart3DDataForElement, buildBarActions, buildBarChart3DDataForElement, buildBroadcastViewerUrl, buildCacheKey, buildCalloutLeaderLineSvgPath, buildChartMarkDragGeometry, buildChartViewModel, buildChromeStyle, buildCollaborationShareUrl, buildCommentMarkers, buildContentPartStrokes, buildContextMenuEntries, buildCreateCollaborationConfig, buildCssGradientFromShapeStyle, buildDeckSaveOptions, buildDirectionGrid, buildDuotoneCacheKey, buildElementClipboardPayload, buildFieldSubstitutionContext, buildFontCatalog, buildFreeformShapeElement, buildGlyphEnvelope, buildHandoutsHtml, buildHollowHitOutline, buildInitialGuides, buildInkGroupStrokes, buildInlineListStylePatch, buildInlineTextCommitPatch, buildJoinCollaborationConfig, buildLayoutPreviewGeometry, buildLineChart3DDataForElement, buildLiveInkStrokeView, buildMorphAnimationRules, buildMorphTransitionPlan, buildMotionPathPreview, buildNotesHtml, buildNotesPdfBytes, buildNotesPrintHtml, buildOleContentUpdatePatch, buildOleEditDialogDescriptor, buildOleObjectNamePatch, buildOutline, buildOutlineHtml, buildParagraphs, buildPieChart3DDataForElement, buildPresentationAudienceUrl, buildPreviewAnimation, buildPreviewElements, buildPrintDocument, buildPrintHtmlDocument, buildRectPathGradient, buildRunProgramNotice, buildRunTabLines, buildSaveSlides, buildSlideTemplateContent, buildSlideTemplateSlide, buildSlidesHtml, buildSmartArt3DModel, buildSmartArtA11y, buildSmartArtPresetData, buildSmartArtPreviewElement, buildStrokeOutline, buildStrokePathD, buildSubpathFillOverlay, buildSubpathPaints, buildSummaryZoomView, buildSurfaceChart3DDataForElement, 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, 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, collectCoherent3DOffNodeIds, 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, createSyncGate, createTableStyleEntry, createTouchGestureRecognizer, createViewerOptionsStore, createViewerZoomStore, createWheelStepBuffer, cursorForTool, customGeometryPathsToSvgSubpaths, defaultCssVars, defaultRadius, defaultThemeColors, deleteAutosaveSnapshot, deleteSection, deleteTableStyleFromMap, deleteTagFromCollections, demote, deriveSlideFieldContext, deriveViewportBreakpoints, describeFontEmbedding, describeSmartArtBounds, describeTableStyleEditor, detectOrientation, detectTouchDevice, discardAutosaveRecovery, distributeElements, downloadBlob, downloadDataUrl, editCommentInList, elementActionToPptxAction, elementBulletKind, 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, 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, isMixedContentBlocked, isMobileViewport, isPpactionUrl, isPresentationAdvanceClick, isPresentationSessionMessage, isSeriesUsingSecondaryAxis, isStrokeOnlyPresetElement, isSupportedPresentationFile, isTemplateElementId3 as isTemplateElementId, isUrlSafe, isWedgeCalloutPresetShape, lastShowSlideIndex, listAutosaveSnapshots, listBackstageRecentFiles, listChartUserShapeRows, loadAudienceContent, loadSessionDeck, lockResizeAspect, makeCloneId, makeSlideId, mapEditingWheel, mapEditorKey, 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, mountAreaChart3D, mountBarChart3D, mountLineChart3D, mountModel3D, mountPieChart3D, mountSurfaceChart3D, movePresenterPointer, moveQuickAccessCommand, moveSectionDown, moveSectionUp, moveSlidesToSection, mruColorsPatch, nestedTextDecorationStyle, newTableElement, nextPresentedSlide, nextShowSlideIndex, nextToggleValue, normalizeColorsForCapture, normalizeHexColor2 as normalizeHexColor, normalizeStrokeDashType, normalizeTableStyleGuid, notesSegmentsToSpans, 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, 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, resolveConnectorEndpointUpdate, resolveDefaultFontFamily, resolveDefaultPrintSettings, resolveDirection, resolveDirection8, resolveDisplayedChartType, resolveElementActionAffordance, resolveElementAriaAttributes, resolveElementHighlightClick, resolveElementInteractivity, resolveExpiredAutosaveSnapshots, resolveExportCaptureDecision, resolveFontKerning, resolveGoogleWebfontHref, resolveGroupChildFill, resolveHistoryDepth, resolveImageResolutionScale, resolveInlineEditAutoFitHeight, resolveInlineEditNormAutofitShrink, resolveMediaElementSource, resolveMediaTimeNodeElementIds, resolveMetricTrackingPx, resolveNotesSchematicBodyFontSizePx, resolveNotesSegments, resolveOleType, resolveOleVerbTarget, resolveOptionRootClasses, resolveOrientation, resolvePalette, resolvePresentationAction, resolveProfileInitial, resolveRevealedChartData, resolveRevealedDrawingShapeNodeIds, resolveRevealedDrawingShapes, resolveRevealedSmartArtNodes, resolveScreenTip, resolveScriptFontSet, resolveSelectionPaneRename, resolveShapeGeometry, resolveShowSlideIndexes, resolveSlideSizeSelection, resolveSlideTransition, 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, shouldStickyActionRow, shouldUseSvgWarp, shouldWriteAutosaveSnapshot, siblingCount, siblingIndex, slideProgressPercent, slideShowOptionChange, slideSizeFromPreset, slideSizeToCanvasPx, slideStatusLabel, snapBoxToGrid, splitCell, splitRunByScriptFont, splitRunForMetrics, splitWordsForUnderline, 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, withChartPointValue, withChartTitle, withChartUserShapeAdded, withChartUserShapeGroupChildAdded, withChartUserShapeRowChartBoxUpdated, withChartUserShapeRowFlipUpdated, withChartUserShapeRowRemoved, withChartUserShapeRowRotationUpdated, withChartUserShapeRowTextUpdated, withChartUserShapeRowUpdated, withConnectorEndpointUpdate, withFrameSlides, withInlineListDecorationDefaults, withSlideSizeOrientation, withSlidesPerPage, writeStoredViewerPrefs, xmlText };
207746
+ export { ACTION_BUTTON_PRESETS, ACTION_INDICATOR_CLASS, ACTION_INDICATOR_ICON_PATH, ARTISTIC_EFFECTS, AVATAR_COLOR_SWATCHES, BACKSTAGE_NAV, 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, 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, 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, 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, attachEditorImagePaste, attachInlineListController, attachPresentationVisibilityPause, attachRotateHandlePlacement, authorConnectorBetweenSites, autosaveSnapshotMark, availableQuickAccessCommands, backstageCardsFor, bar3DShapePatch, beginChartMarkDrag, beginChartValueDrag, beginShapeAdjustment, bindInlineListParagraph, bindInlineListRun, bringForward, bringToFront, build3DExtrusionData, buildActiveSessionUsers, buildAnimationTimelineBars, buildAnimationTimelineRows, buildAreaChart3DDataForElement, buildBarActions, buildBarChart3DDataForElement, buildBroadcastViewerUrl, buildCacheKey, buildCalloutLeaderLineSvgPath, buildChartMarkDragGeometry, buildChartQuickActionsDescriptor, buildChartViewModel, buildChromeStyle, buildCollaborationShareUrl, buildCommentMarkers, buildContentPartStrokes, buildContextMenuEntries, buildCreateCollaborationConfig, buildCssGradientFromShapeStyle, buildDeckSaveOptions, buildDirectionGrid, buildDuotoneCacheKey, buildElementClipboardPayload, buildFieldSubstitutionContext, buildFontCatalog, buildFreeformShapeElement, buildGlyphEnvelope, buildHandoutsHtml, buildHollowHitOutline, buildInitialGuides, buildInkGroupStrokes, buildInlineListStylePatch, buildInlineTextCommitPatch, buildJoinCollaborationConfig, buildLayoutPreviewGeometry, buildLineChart3DDataForElement, buildLiveInkStrokeView, buildMorphAnimationRules, buildMorphTransitionPlan, buildMotionPathPreview, buildNotesHtml, buildNotesPdfBytes, buildNotesPrintHtml, buildOleContentUpdatePatch, buildOleEditDialogDescriptor, buildOleObjectNamePatch, buildOutline, buildOutlineHtml, buildParagraphs, buildPieChart3DDataForElement, buildPresentationAudienceUrl, buildPreviewAnimation, buildPreviewElements, buildPrintDocument, buildPrintHtmlDocument, buildRectPathGradient, buildRunProgramNotice, buildRunTabLines, buildSaveSlides, buildSlideTemplateContent, buildSlideTemplateSlide, buildSlidesHtml, buildSmartArt3DModel, buildSmartArtA11y, buildSmartArtPresetData, buildSmartArtPreviewElement, buildStrokeOutline, buildStrokePathD, buildSubpathFillOverlay, buildSubpathPaints, buildSummaryZoomView, buildSurfaceChart3DDataForElement, 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, 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, collectCoherent3DOffNodeIds, 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, createSyncGate, createTableStyleEntry, createTouchGestureRecognizer, createViewerOptionsStore, createViewerZoomStore, createWheelStepBuffer, cursorForTool, customGeometryPathsToSvgSubpaths, defaultCssVars, defaultRadius, defaultThemeColors, deleteAutosaveSnapshot, deleteSection, deleteTableStyleFromMap, deleteTagFromCollections, demote, deriveSlideFieldContext, deriveViewportBreakpoints, describeFontEmbedding, describeSmartArtBounds, describeTableStyleEditor, detectOrientation, detectTouchDevice, discardAutosaveRecovery, distributeElements, downloadBlob, downloadDataUrl, editCommentInList, elementActionToPptxAction, elementBulletKind, 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, 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, isMixedContentBlocked, isMobileViewport, isPpactionUrl, isPresentationAdvanceClick, isPresentationSessionMessage, isSeriesUsingSecondaryAxis, isStrokeOnlyPresetElement, isSupportedPresentationFile, isTemplateElementId3 as isTemplateElementId, isUrlSafe, isWedgeCalloutPresetShape, lastShowSlideIndex, listAutosaveSnapshots, listBackstageRecentFiles, listChartUserShapeRows, loadAudienceContent, loadSessionDeck, lockResizeAspect, makeCloneId, makeSlideId, mapEditingWheel, mapEditorKey, 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, mountAreaChart3D, mountBarChart3D, mountLineChart3D, mountModel3D, mountPieChart3D, mountSurfaceChart3D, movePresenterPointer, moveQuickAccessCommand, moveSectionDown, moveSectionUp, moveSlidesToSection, mruColorsPatch, nestedTextDecorationStyle, newTableElement, nextPresentedSlide, nextShowSlideIndex, nextToggleValue, normalizeColorsForCapture, normalizeHexColor2 as normalizeHexColor, normalizeStrokeDashType, normalizeTableStyleGuid, notesSegmentsToSpans, 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, 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, resolveConnectorEndpointUpdate, resolveDefaultFontFamily, resolveDefaultPrintSettings, resolveDirection, resolveDirection8, resolveDisplayedChartType, resolveElementActionAffordance, resolveElementAriaAttributes, resolveElementHighlightClick, resolveElementInteractivity, resolveExpiredAutosaveSnapshots, resolveExportCaptureDecision, resolveFontKerning, resolveGoogleWebfontHref, resolveGroupChildFill, resolveHistoryDepth, resolveImageResolutionScale, resolveInlineEditAutoFitHeight, resolveInlineEditNormAutofitShrink, resolveMediaElementSource, resolveMediaTimeNodeElementIds, resolveMetricTrackingPx, resolveNotesSchematicBodyFontSizePx, resolveNotesSegments, resolveOleType, resolveOleVerbTarget, resolveOptionRootClasses, resolveOrientation, resolvePalette, resolvePresentationAction, resolveProfileInitial, resolveRevealedChartData, resolveRevealedDrawingShapeNodeIds, resolveRevealedDrawingShapes, resolveRevealedSmartArtNodes, resolveScreenTip, resolveScriptFontSet, resolveSelectionPaneRename, resolveShapeGeometry, resolveShowSlideIndexes, resolveSlideSizeSelection, resolveSlideTransition, 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, shouldStickyActionRow, shouldUseSvgWarp, shouldWriteAutosaveSnapshot, siblingCount, siblingIndex, slideProgressPercent, slideShowOptionChange, slideSizeFromPreset, slideSizeToCanvasPx, slideStatusLabel, snapBoxToGrid, splitCell, splitRunByScriptFont, splitRunForMetrics, splitWordsForUnderline, 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, withChartPointValue, withChartTitle, withChartUserShapeAdded, withChartUserShapeGroupChildAdded, withChartUserShapeRowChartBoxUpdated, withChartUserShapeRowFlipUpdated, withChartUserShapeRowRemoved, withChartUserShapeRowRotationUpdated, withChartUserShapeRowTextUpdated, withChartUserShapeRowUpdated, withConnectorEndpointUpdate, withFrameSlides, withInlineListDecorationDefaults, withSlideSizeOrientation, withSlidesPerPage, writeStoredViewerPrefs, xmlText };