pptx-react-viewer 2.16.6 → 2.16.7

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 (108) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/dist/{AiChatPanel-NQFSMKIJ.mjs → AiChatPanel-2YYL6AKX.mjs} +3 -9
  3. package/dist/AiChatPanel-2YYL6AKX.mjs.br +0 -0
  4. package/dist/AiChatPanel-2YYL6AKX.mjs.gz +0 -0
  5. package/dist/{AiChatPanel-T6UN6LME.js → AiChatPanel-XSXMU2Q5.js} +23 -29
  6. package/dist/AiChatPanel-XSXMU2Q5.js.br +0 -0
  7. package/dist/AiChatPanel-XSXMU2Q5.js.gz +0 -0
  8. package/dist/{Model3DScene-SIST7CIH.js → Model3DScene-36UJZLCO.js} +2 -2
  9. package/dist/Model3DScene-36UJZLCO.js.br +0 -0
  10. package/dist/Model3DScene-36UJZLCO.js.gz +0 -0
  11. package/dist/{Model3DScene-4D4GSRIB.mjs → Model3DScene-NVFP3JBJ.mjs} +1 -1
  12. package/dist/Model3DScene-NVFP3JBJ.mjs.br +0 -0
  13. package/dist/Model3DScene-NVFP3JBJ.mjs.gz +0 -0
  14. package/dist/{SurfaceChart3DScene-ZT7L27U4.mjs → SurfaceChart3DScene-BMFEDBLF.mjs} +1 -1
  15. package/dist/{SurfaceChart3DScene-ZT7L27U4.mjs.br → SurfaceChart3DScene-BMFEDBLF.mjs.br} +0 -0
  16. package/dist/SurfaceChart3DScene-BMFEDBLF.mjs.gz +0 -0
  17. package/dist/{SurfaceChart3DScene-GRM24VBC.js → SurfaceChart3DScene-W6I255VU.js} +2 -2
  18. package/dist/SurfaceChart3DScene-W6I255VU.js.br +0 -0
  19. package/dist/SurfaceChart3DScene-W6I255VU.js.gz +0 -0
  20. package/dist/{chunk-DYGKE2LY.js → chunk-77TMRPDU.js} +2128 -1541
  21. package/dist/chunk-77TMRPDU.js.br +0 -0
  22. package/dist/chunk-77TMRPDU.js.gz +0 -0
  23. package/dist/{chunk-PUBYHZYJ.mjs → chunk-D5TAZ5NL.mjs} +1132 -6
  24. package/dist/chunk-D5TAZ5NL.mjs.br +0 -0
  25. package/dist/chunk-D5TAZ5NL.mjs.gz +0 -0
  26. package/dist/{chunk-YZHBUMVU.mjs → chunk-J56KVWI5.mjs} +1114 -527
  27. package/dist/chunk-J56KVWI5.mjs.br +0 -0
  28. package/dist/chunk-J56KVWI5.mjs.gz +0 -0
  29. package/dist/{chunk-6F76GHPE.mjs → chunk-J5V7UCD2.mjs} +15 -1410
  30. package/dist/chunk-J5V7UCD2.mjs.br +0 -0
  31. package/dist/chunk-J5V7UCD2.mjs.gz +0 -0
  32. package/dist/{chunk-YDYAOW6D.js → chunk-JSJZWA43.js} +9 -3
  33. package/dist/chunk-JSJZWA43.js.br +0 -0
  34. package/dist/chunk-JSJZWA43.js.gz +0 -0
  35. package/dist/{chunk-NI5GSVZU.mjs → chunk-KVNZGR3L.mjs} +6 -91
  36. package/dist/chunk-KVNZGR3L.mjs.br +0 -0
  37. package/dist/chunk-KVNZGR3L.mjs.gz +0 -0
  38. package/dist/{chunk-H36QL5T5.js → chunk-NFJLF7TX.js} +258 -1683
  39. package/dist/chunk-NFJLF7TX.js.br +0 -0
  40. package/dist/chunk-NFJLF7TX.js.gz +0 -0
  41. package/dist/{chunk-VDQD3ZOU.mjs → chunk-QNKJUUKD.mjs} +7 -2
  42. package/dist/chunk-QNKJUUKD.mjs.br +0 -0
  43. package/dist/chunk-QNKJUUKD.mjs.gz +0 -0
  44. package/dist/{chunk-GUDJDY4J.js → chunk-S7HPAJRX.js} +342 -427
  45. package/dist/chunk-S7HPAJRX.js.br +0 -0
  46. package/dist/chunk-S7HPAJRX.js.gz +0 -0
  47. package/dist/{chunk-RZYOOWZN.js → chunk-USAJMMF2.js} +1165 -13
  48. package/dist/chunk-USAJMMF2.js.br +0 -0
  49. package/dist/chunk-USAJMMF2.js.gz +0 -0
  50. package/dist/index.d.ts +12 -0
  51. package/dist/index.js +39 -39
  52. package/dist/index.js.br +0 -0
  53. package/dist/index.js.gz +0 -0
  54. package/dist/index.mjs +5 -5
  55. package/dist/index.mjs.br +0 -0
  56. package/dist/index.mjs.gz +0 -0
  57. package/dist/internals.d.ts +27 -7
  58. package/dist/internals.d.ts.map +1 -1
  59. package/dist/internals.js +78 -78
  60. package/dist/internals.js.br +0 -0
  61. package/dist/internals.js.gz +0 -0
  62. package/dist/internals.mjs +3 -3
  63. package/dist/internals.mjs.br +0 -0
  64. package/dist/internals.mjs.gz +0 -0
  65. package/dist/pptx-viewer.css +1 -1
  66. package/dist/pptx-viewer.css.br +0 -0
  67. package/dist/pptx-viewer.css.gz +0 -0
  68. package/dist/{useViewerBuildingBlocks-DpzU8NZ_.d.ts → useViewerBuildingBlocks-Xddn6SFj.d.ts} +13 -1
  69. package/dist/useViewerBuildingBlocks-Xddn6SFj.d.ts.map +1 -0
  70. package/dist/viewer/index.js +26 -26
  71. package/dist/viewer/index.js.br +0 -0
  72. package/dist/viewer/index.js.gz +0 -0
  73. package/dist/viewer/index.mjs +5 -5
  74. package/dist/viewer/index.mjs.br +0 -0
  75. package/dist/viewer/index.mjs.gz +0 -0
  76. package/package.json +1 -1
  77. package/dist/AiChatPanel-NQFSMKIJ.mjs.br +0 -0
  78. package/dist/AiChatPanel-NQFSMKIJ.mjs.gz +0 -0
  79. package/dist/AiChatPanel-T6UN6LME.js.br +0 -0
  80. package/dist/AiChatPanel-T6UN6LME.js.gz +0 -0
  81. package/dist/Model3DScene-4D4GSRIB.mjs.br +0 -0
  82. package/dist/Model3DScene-4D4GSRIB.mjs.gz +0 -0
  83. package/dist/Model3DScene-SIST7CIH.js.br +0 -0
  84. package/dist/Model3DScene-SIST7CIH.js.gz +0 -0
  85. package/dist/SurfaceChart3DScene-GRM24VBC.js.br +0 -0
  86. package/dist/SurfaceChart3DScene-GRM24VBC.js.gz +0 -0
  87. package/dist/SurfaceChart3DScene-ZT7L27U4.mjs.gz +0 -0
  88. package/dist/chunk-6F76GHPE.mjs.br +0 -0
  89. package/dist/chunk-6F76GHPE.mjs.gz +0 -0
  90. package/dist/chunk-DYGKE2LY.js.br +0 -0
  91. package/dist/chunk-DYGKE2LY.js.gz +0 -0
  92. package/dist/chunk-GUDJDY4J.js.br +0 -0
  93. package/dist/chunk-GUDJDY4J.js.gz +0 -0
  94. package/dist/chunk-H36QL5T5.js.br +0 -0
  95. package/dist/chunk-H36QL5T5.js.gz +0 -0
  96. package/dist/chunk-NI5GSVZU.mjs.br +0 -0
  97. package/dist/chunk-NI5GSVZU.mjs.gz +0 -0
  98. package/dist/chunk-PUBYHZYJ.mjs.br +0 -0
  99. package/dist/chunk-PUBYHZYJ.mjs.gz +0 -0
  100. package/dist/chunk-RZYOOWZN.js.br +0 -0
  101. package/dist/chunk-RZYOOWZN.js.gz +0 -0
  102. package/dist/chunk-VDQD3ZOU.mjs.br +0 -0
  103. package/dist/chunk-VDQD3ZOU.mjs.gz +0 -0
  104. package/dist/chunk-YDYAOW6D.js.br +0 -0
  105. package/dist/chunk-YDYAOW6D.js.gz +0 -0
  106. package/dist/chunk-YZHBUMVU.mjs.br +0 -0
  107. package/dist/chunk-YZHBUMVU.mjs.gz +0 -0
  108. package/dist/useViewerBuildingBlocks-DpzU8NZ_.d.ts.map +0 -1
@@ -30535,6 +30535,52 @@ function getPresetShapeClipPath(presetName) {
30535
30535
  }
30536
30536
  return PRESET_SHAPE_CLIP_PATHS[presetName.toLowerCase()];
30537
30537
  }
30538
+ function getShapeType(shapeType) {
30539
+ if (!shapeType) {
30540
+ return "rect";
30541
+ }
30542
+ const normalized = shapeType.toLowerCase();
30543
+ if (normalized === "rect") {
30544
+ return "rect";
30545
+ }
30546
+ if (normalized === "roundrect") {
30547
+ return "roundRect";
30548
+ }
30549
+ if (normalized === "ellipse" || normalized === "oval") {
30550
+ return "ellipse";
30551
+ }
30552
+ if (normalized === "cylinder" || normalized === "can") {
30553
+ return "cylinder";
30554
+ }
30555
+ if (normalized === "triangle") {
30556
+ return "triangle";
30557
+ }
30558
+ if (normalized === "diamond") {
30559
+ return "diamond";
30560
+ }
30561
+ if (normalized === "line" || normalized === "lineinv") {
30562
+ return "line";
30563
+ }
30564
+ if (normalized === "rtarrow" || normalized === "rightarrow") {
30565
+ return "rtArrow";
30566
+ }
30567
+ if (normalized === "leftarrow") {
30568
+ return "leftArrow";
30569
+ }
30570
+ if (normalized === "uparrow") {
30571
+ return "upArrow";
30572
+ }
30573
+ if (normalized === "downarrow") {
30574
+ return "downArrow";
30575
+ }
30576
+ if (normalized.includes("connector")) {
30577
+ return "connector";
30578
+ }
30579
+ if (PRESET_SHAPE_CLIP_PATHS[normalized] !== void 0) {
30580
+ return "rect";
30581
+ }
30582
+ return "rect";
30583
+ }
30538
30584
  function getShapeClipPath(shapeType) {
30539
30585
  return getPresetShapeClipPath(shapeType);
30540
30586
  }
@@ -100708,6 +100754,29 @@ function apply3dEffects(base, scene3d, shape3d, fillColorFallback) {
100708
100754
  base.backgroundImage = base.backgroundImage ? `${lightRig.backgroundImage}, ${base.backgroundImage}` : lightRig.backgroundImage;
100709
100755
  }
100710
100756
  }
100757
+ function edgesFromSection(borders, regionTop, regionBottom, regionLeft, regionRight) {
100758
+ if (!borders) {
100759
+ return void 0;
100760
+ }
100761
+ return {
100762
+ top: regionTop ? borders.top ?? borders.insideH : borders.insideH,
100763
+ bottom: regionBottom ? borders.bottom ?? borders.insideH : borders.insideH,
100764
+ left: regionLeft ? borders.left ?? borders.insideV : borders.insideV,
100765
+ right: regionRight ? borders.right ?? borders.insideV : borders.insideV
100766
+ };
100767
+ }
100768
+ function borderToCss(border, resolve2) {
100769
+ if (!border) {
100770
+ return void 0;
100771
+ }
100772
+ if (border.noFill) {
100773
+ return "none";
100774
+ }
100775
+ const width = border.width ?? 1;
100776
+ const dash = ooxmlDashToCssBorderStyle(border.dash);
100777
+ const color2 = border.color ?? resolve2(border.fill) ?? "#000000";
100778
+ return `${width}px ${dash} ${color2}`;
100779
+ }
100711
100780
  function collectSections(entry2, tableData, pos2) {
100712
100781
  const { rowIndex, cellIndex, rowCount, columnCount } = pos2;
100713
100782
  const isTop = rowIndex === 0;
@@ -100759,6 +100828,51 @@ function collectSections(entry2, tableData, pos2) {
100759
100828
  }
100760
100829
  return sections2;
100761
100830
  }
100831
+ function collectLayers(entry2, tableData, pos2) {
100832
+ const layers = [];
100833
+ for (const section of collectSections(entry2, tableData, pos2)) {
100834
+ layers.push(
100835
+ edgesFromSection(
100836
+ section.borders,
100837
+ section.regionTop,
100838
+ section.regionBottom,
100839
+ section.regionLeft,
100840
+ section.regionRight
100841
+ )
100842
+ );
100843
+ }
100844
+ return layers.filter((layer) => layer !== void 0);
100845
+ }
100846
+ function resolveCellBorderCss(entry2, tableData, pos2, resolve2) {
100847
+ if (!entry2) {
100848
+ return void 0;
100849
+ }
100850
+ const layers = collectLayers(entry2, tableData, pos2);
100851
+ if (layers.length === 0) {
100852
+ return void 0;
100853
+ }
100854
+ const pick = (edge) => {
100855
+ let winner;
100856
+ for (const layer of layers) {
100857
+ if (layer[edge]) {
100858
+ winner = layer[edge];
100859
+ }
100860
+ }
100861
+ return winner;
100862
+ };
100863
+ const css = {};
100864
+ let applied = false;
100865
+ const edges = ["top", "bottom", "left", "right"];
100866
+ for (const edge of edges) {
100867
+ const value = borderToCss(pick(edge), resolve2);
100868
+ if (value) {
100869
+ const key = `border${edge[0].toUpperCase()}${edge.slice(1)}`;
100870
+ css[key] = value;
100871
+ applied = true;
100872
+ }
100873
+ }
100874
+ return applied ? css : void 0;
100875
+ }
100762
100876
  function resolveStyleDiagonalBorders(entry2, tableData, pos2, resolve2) {
100763
100877
  if (!entry2) {
100764
100878
  return void 0;
@@ -100841,6 +100955,66 @@ function resolveStyleFillColor(fill, colorScheme) {
100841
100955
  }
100842
100956
  return applyTintShade(base, fill);
100843
100957
  }
100958
+ function clearBackground(css) {
100959
+ delete css.background;
100960
+ delete css.backgroundColor;
100961
+ delete css.backgroundImage;
100962
+ }
100963
+ function gradientCssFromFill(fill, colorScheme) {
100964
+ const gradient = fill.gradient;
100965
+ if (!gradient || gradient.stops.length === 0) {
100966
+ return void 0;
100967
+ }
100968
+ const shapeLike = {
100969
+ fillMode: "gradient",
100970
+ fillGradientType: gradient.type,
100971
+ fillGradientAngle: gradient.angle ?? 90,
100972
+ fillGradientStops: gradient.stops.map((stop) => ({
100973
+ color: resolveStyleFillColor(stop.fill, colorScheme) ?? stop.fill.color ?? "#000000",
100974
+ position: stop.position
100975
+ }))
100976
+ };
100977
+ return buildGradientCss(shapeLike);
100978
+ }
100979
+ function applyStyleFill(fill, colorScheme, css, fallback) {
100980
+ if (fill?.noFill) {
100981
+ clearBackground(css);
100982
+ css.backgroundColor = "transparent";
100983
+ return true;
100984
+ }
100985
+ if (fill?.gradient) {
100986
+ const gradientCss = gradientCssFromFill(fill, colorScheme);
100987
+ if (gradientCss) {
100988
+ clearBackground(css);
100989
+ css.background = gradientCss;
100990
+ return true;
100991
+ }
100992
+ }
100993
+ if (fill?.pattern) {
100994
+ const fg = normalizeHexColor(
100995
+ resolveStyleFillColor(fill.pattern.foreground, colorScheme),
100996
+ "#000000"
100997
+ );
100998
+ const bg = normalizeHexColor(
100999
+ resolveStyleFillColor(fill.pattern.background, colorScheme),
101000
+ "#ffffff"
101001
+ );
101002
+ const svg = getPatternSvg(fill.pattern.preset, fg, bg);
101003
+ clearBackground(css);
101004
+ if (svg) {
101005
+ css.backgroundImage = `url("data:image/svg+xml,${encodeURIComponent(svg)}")`;
101006
+ }
101007
+ css.backgroundColor = bg;
101008
+ return true;
101009
+ }
101010
+ const color2 = resolveStyleFillColor(fill, colorScheme) ?? fallback;
101011
+ if (color2) {
101012
+ clearBackground(css);
101013
+ css.backgroundColor = color2;
101014
+ return true;
101015
+ }
101016
+ return false;
101017
+ }
100844
101018
  function resolveFontRefIdx(idx, fontScheme) {
100845
101019
  if (!idx || !fontScheme) {
100846
101020
  return void 0;
@@ -100853,6 +101027,52 @@ function resolveFontRefIdx(idx, fontScheme) {
100853
101027
  }
100854
101028
  return void 0;
100855
101029
  }
101030
+ function applyStyleText(text2, colorScheme, css, fontScheme) {
101031
+ if (!text2) {
101032
+ return false;
101033
+ }
101034
+ let applied = false;
101035
+ if (text2.bold) {
101036
+ css.fontWeight = 700;
101037
+ applied = true;
101038
+ }
101039
+ if (text2.italic) {
101040
+ css.fontStyle = "italic";
101041
+ applied = true;
101042
+ }
101043
+ if (text2.underline) {
101044
+ css.textDecorationLine = "underline";
101045
+ applied = true;
101046
+ }
101047
+ if (text2.fontFace) {
101048
+ css.fontFamily = text2.fontFace;
101049
+ applied = true;
101050
+ } else {
101051
+ const refFont = resolveFontRefIdx(text2.fontRefIdx, fontScheme);
101052
+ if (refFont) {
101053
+ css.fontFamily = refFont;
101054
+ applied = true;
101055
+ }
101056
+ }
101057
+ if (text2.fontSchemeColor && colorScheme) {
101058
+ const base = colorScheme[text2.fontSchemeColor];
101059
+ if (base) {
101060
+ let color2 = base;
101061
+ if (text2.fontTint !== void 0 && text2.fontTint > 0) {
101062
+ color2 = tintColor(color2, text2.fontTint / 1e5);
101063
+ }
101064
+ if (text2.fontShade !== void 0 && text2.fontShade > 0) {
101065
+ color2 = shadeColor(color2, 1 - text2.fontShade / 1e5);
101066
+ }
101067
+ css.color = color2;
101068
+ applied = true;
101069
+ }
101070
+ } else if (text2.fontColor) {
101071
+ css.color = text2.fontColor;
101072
+ applied = true;
101073
+ }
101074
+ return applied;
101075
+ }
100856
101076
  var BEVEL_LIGHT_OFFSETS = {
100857
101077
  tl: { x: 1, y: 1 },
100858
101078
  t: { x: 0, y: 1 },
@@ -100871,6 +101091,23 @@ function cell3DBevelCss(cell3D) {
100871
101091
  const shadow = `inset ${-off.x * size}px ${-off.y * size}px ${size}px rgba(0,0,0,0.4)`;
100872
101092
  return { boxShadow: `${highlight}, ${shadow}` };
100873
101093
  }
101094
+ function cellPatternFillCss(style) {
101095
+ if (style.fillMode !== "pattern" || !style.patternFillPreset) {
101096
+ return null;
101097
+ }
101098
+ const fg = normalizeHexColor(style.patternFillForeground, "#000000");
101099
+ const bg = normalizeHexColor(style.patternFillBackground, "#ffffff");
101100
+ const svgMarkup = getPatternSvg(style.patternFillPreset, fg, bg);
101101
+ if (svgMarkup) {
101102
+ const encoded = encodeURIComponent(svgMarkup);
101103
+ return {
101104
+ backgroundImage: `url("data:image/svg+xml,${encoded}")`,
101105
+ backgroundColor: bg
101106
+ };
101107
+ }
101108
+ const fallback = style.patternFillBackground ?? style.backgroundColor;
101109
+ return fallback ? { backgroundColor: fallback } : null;
101110
+ }
100874
101111
  function resolveTableStyleEntry(tableStyleId, tableStyleMap) {
100875
101112
  if (!tableStyleId || !tableStyleMap) {
100876
101113
  return void 0;
@@ -100904,6 +101141,146 @@ function ooxmlDashToCssBorderStyle(dashVal) {
100904
101141
  return "solid";
100905
101142
  }
100906
101143
  }
101144
+ function cellStyleToCss(style) {
101145
+ if (!style) {
101146
+ return {};
101147
+ }
101148
+ const css = {};
101149
+ if (style.fontSize) {
101150
+ css.fontSize = `${style.fontSize}px`;
101151
+ }
101152
+ if (style.bold) {
101153
+ css.fontWeight = "bold";
101154
+ }
101155
+ if (style.italic) {
101156
+ css.fontStyle = "italic";
101157
+ }
101158
+ if (style.underline) {
101159
+ css.textDecorationLine = "underline";
101160
+ }
101161
+ if (style.color) {
101162
+ css.color = style.color;
101163
+ }
101164
+ if (style.gradientFillCss) {
101165
+ css.background = style.gradientFillCss;
101166
+ } else if (style.fillMode === "pattern") {
101167
+ const patternResult = cellPatternFillCss(style);
101168
+ if (patternResult) {
101169
+ if (patternResult.backgroundImage) {
101170
+ css.backgroundImage = patternResult.backgroundImage;
101171
+ }
101172
+ if (patternResult.backgroundColor) {
101173
+ css.backgroundColor = patternResult.backgroundColor;
101174
+ }
101175
+ } else {
101176
+ const fallback = style.patternFillBackground ?? style.backgroundColor;
101177
+ if (fallback) {
101178
+ css.backgroundColor = fallback;
101179
+ }
101180
+ }
101181
+ } else if (style.backgroundColor) {
101182
+ css.backgroundColor = style.backgroundColor;
101183
+ }
101184
+ if (style.align) {
101185
+ css.textAlign = style.align;
101186
+ } else if (style.anchorCtr) {
101187
+ css.textAlign = "center";
101188
+ }
101189
+ if (style.vAlign) {
101190
+ css.verticalAlign = style.vAlign;
101191
+ }
101192
+ if (style.horzOverflow === "clip") {
101193
+ css.overflowX = "hidden";
101194
+ } else if (style.horzOverflow === "overflow") {
101195
+ css.overflowX = "visible";
101196
+ }
101197
+ if (style.textDirection) {
101198
+ switch (style.textDirection) {
101199
+ case "vert":
101200
+ case "eaVert":
101201
+ case "wordArtVert":
101202
+ case "wordArtVertRtl":
101203
+ css.writingMode = "vertical-rl";
101204
+ break;
101205
+ case "vert270":
101206
+ case "mongolianVert":
101207
+ css.writingMode = "vertical-lr";
101208
+ break;
101209
+ }
101210
+ if (style.textDirection === "wordArtVert") {
101211
+ css.textOrientation = "upright";
101212
+ } else if (css.writingMode) {
101213
+ css.textOrientation = "mixed";
101214
+ }
101215
+ if (style.textDirection === "wordArtVertRtl") {
101216
+ css.direction = "rtl";
101217
+ }
101218
+ }
101219
+ const borderEdges = [
101220
+ {
101221
+ prefix: "borderTop",
101222
+ width: style.borderTopWidth,
101223
+ color: style.borderTopColor,
101224
+ dash: style.borderTopDash
101225
+ },
101226
+ {
101227
+ prefix: "borderBottom",
101228
+ width: style.borderBottomWidth,
101229
+ color: style.borderBottomColor,
101230
+ dash: style.borderBottomDash
101231
+ },
101232
+ {
101233
+ prefix: "borderLeft",
101234
+ width: style.borderLeftWidth,
101235
+ color: style.borderLeftColor,
101236
+ dash: style.borderLeftDash
101237
+ },
101238
+ {
101239
+ prefix: "borderRight",
101240
+ width: style.borderRightWidth,
101241
+ color: style.borderRightColor,
101242
+ dash: style.borderRightDash
101243
+ }
101244
+ ];
101245
+ for (const edge of borderEdges) {
101246
+ if (edge.width || edge.color) {
101247
+ const w = edge.width ?? 1;
101248
+ const c = edge.color ?? style.borderColor ?? "#000000";
101249
+ const s = ooxmlDashToCssBorderStyle(edge.dash);
101250
+ css[edge.prefix] = `${w}px ${s} ${c}`;
101251
+ }
101252
+ }
101253
+ if (style.marginLeft) {
101254
+ css.paddingLeft = `${style.marginLeft}px`;
101255
+ }
101256
+ if (style.marginRight) {
101257
+ css.paddingRight = `${style.marginRight}px`;
101258
+ }
101259
+ if (style.marginTop) {
101260
+ css.paddingTop = `${style.marginTop}px`;
101261
+ }
101262
+ if (style.marginBottom) {
101263
+ css.paddingBottom = `${style.marginBottom}px`;
101264
+ }
101265
+ const textShadowParts = [];
101266
+ if (style.textShadowColor) {
101267
+ const offX = style.textShadowOffsetX ?? 1;
101268
+ const offY = style.textShadowOffsetY ?? 1;
101269
+ const blur = style.textShadowBlur ?? 0;
101270
+ textShadowParts.push(`${offX}px ${offY}px ${blur}px ${style.textShadowColor}`);
101271
+ }
101272
+ if (style.textGlowColor) {
101273
+ const radius = style.textGlowRadius ?? 2;
101274
+ textShadowParts.push(`0px 0px ${radius}px ${style.textGlowColor}`);
101275
+ }
101276
+ if (textShadowParts.length > 0) {
101277
+ css.textShadow = textShadowParts.join(", ");
101278
+ }
101279
+ if (style.cell3D) {
101280
+ Object.assign(css, cell3DBevelCss(style.cell3D));
101281
+ }
101282
+ return css;
101283
+ }
100907
101284
  function getDiagonalBorders(style, styleDiagonals) {
100908
101285
  const cellHasDown = Boolean(style?.borderDiagDownColor && style?.borderDiagDownWidth);
100909
101286
  const cellHasUp = Boolean(style?.borderDiagUpColor && style?.borderDiagUpWidth);
@@ -100942,6 +101319,138 @@ function getCellDiagonalBorders(style, tableData, pos2, styleCtx) {
100942
101319
  }
100943
101320
  return getDiagonalBorders(style, styleDiagonals);
100944
101321
  }
101322
+ function getTableCellBandStyle(tableData, rowIndex, cellIndex, rowCount, columnCount, styleCtx) {
101323
+ if (!tableData) {
101324
+ return void 0;
101325
+ }
101326
+ const styleEntry = resolveTableStyleEntry(tableData.tableStyleId, styleCtx?.tableStyleMap);
101327
+ const colorScheme = styleCtx?.colorScheme;
101328
+ const fontScheme = styleCtx?.fontScheme;
101329
+ const resolveFill = (fill, fallback) => resolveStyleFillColor(fill, colorScheme) ?? fallback;
101330
+ const style = {};
101331
+ let applied = false;
101332
+ if (styleEntry?.wholeTblFill) {
101333
+ if (applyStyleFill(styleEntry.wholeTblFill, colorScheme, style, "")) {
101334
+ applied = true;
101335
+ }
101336
+ }
101337
+ if (applyStyleText(styleEntry?.wholeTblText, colorScheme, style, fontScheme)) {
101338
+ applied = true;
101339
+ }
101340
+ const bandStartRow = tableData.firstRowHeader ? 1 : 0;
101341
+ const bandEndRow = tableData.lastRow ? rowCount - 1 : rowCount;
101342
+ if (tableData.bandedRows && rowIndex >= bandStartRow && rowIndex < bandEndRow) {
101343
+ const bandIndex = rowIndex - bandStartRow;
101344
+ const rowCycle = Math.max(tableData.bandRowCycle ?? 1, 1);
101345
+ const bandGroup = Math.floor(bandIndex / rowCycle) % 2;
101346
+ if (bandGroup === 0) {
101347
+ applyStyleFill(styleEntry?.band1HFill, colorScheme, style, "rgba(217, 226, 243, 0.5)");
101348
+ applyStyleText(styleEntry?.band1HText, colorScheme, style, fontScheme);
101349
+ applied = true;
101350
+ } else if (styleEntry?.band2HFill) {
101351
+ if (applyStyleFill(styleEntry.band2HFill, colorScheme, style, "")) {
101352
+ applyStyleText(styleEntry.band2HText, colorScheme, style, fontScheme);
101353
+ applied = true;
101354
+ }
101355
+ }
101356
+ }
101357
+ if (tableData.bandedColumns) {
101358
+ const isFirstCol = tableData.firstCol;
101359
+ const isLastCol = tableData.lastCol;
101360
+ const colBandIndex = isFirstCol && cellIndex > 0 ? cellIndex - 1 : cellIndex;
101361
+ const skipCol = isFirstCol && cellIndex === 0 || isLastCol && cellIndex === columnCount - 1;
101362
+ if (!skipCol) {
101363
+ const colCycle = Math.max(tableData.bandColCycle ?? 1, 1);
101364
+ const colBandGroup = Math.floor(colBandIndex / colCycle) % 2;
101365
+ const canOverride = !style.backgroundColor || !tableData.bandedRows;
101366
+ if (colBandGroup === 0) {
101367
+ if (canOverride) {
101368
+ applyStyleFill(styleEntry?.band1VFill, colorScheme, style, "rgba(217, 226, 243, 0.35)");
101369
+ applyStyleText(styleEntry?.band1VText, colorScheme, style, fontScheme);
101370
+ applied = true;
101371
+ }
101372
+ } else if (styleEntry?.band2VFill && canOverride) {
101373
+ if (applyStyleFill(styleEntry.band2VFill, colorScheme, style, "")) {
101374
+ applyStyleText(styleEntry.band2VText, colorScheme, style, fontScheme);
101375
+ applied = true;
101376
+ }
101377
+ }
101378
+ }
101379
+ }
101380
+ if (tableData.firstRowHeader && rowIndex === 0) {
101381
+ style.fontWeight = 700;
101382
+ applyStyleFill(styleEntry?.firstRowFill, colorScheme, style, "rgba(68, 114, 196, 0.85)");
101383
+ if (!styleEntry?.firstRowFill?.noFill) {
101384
+ style.color = "#ffffff";
101385
+ }
101386
+ applyStyleText(styleEntry?.firstRowText, colorScheme, style, fontScheme);
101387
+ applied = true;
101388
+ }
101389
+ if (tableData.lastRow && rowIndex === rowCount - 1) {
101390
+ style.fontWeight = 700;
101391
+ if (styleEntry?.lastRowFill) {
101392
+ applyStyleFill(styleEntry.lastRowFill, colorScheme, style, "");
101393
+ }
101394
+ const borderColor = resolveFill(styleEntry?.firstRowFill, "rgba(68, 114, 196, 0.7)");
101395
+ style.borderTop = `2px solid ${borderColor}`;
101396
+ applyStyleText(styleEntry?.lastRowText, colorScheme, style, fontScheme);
101397
+ applied = true;
101398
+ }
101399
+ if (tableData.firstCol && cellIndex === 0) {
101400
+ style.fontWeight = 700;
101401
+ if (styleEntry?.firstColFill) {
101402
+ applyStyleFill(styleEntry.firstColFill, colorScheme, style, "");
101403
+ }
101404
+ applyStyleText(styleEntry?.firstColText, colorScheme, style, fontScheme);
101405
+ applied = true;
101406
+ }
101407
+ if (tableData.lastCol && cellIndex === columnCount - 1) {
101408
+ style.fontWeight = 700;
101409
+ if (styleEntry?.lastColFill) {
101410
+ applyStyleFill(styleEntry.lastColFill, colorScheme, style, "");
101411
+ }
101412
+ applyStyleText(styleEntry?.lastColText, colorScheme, style, fontScheme);
101413
+ applied = true;
101414
+ }
101415
+ if (styleEntry) {
101416
+ const atTop = Boolean(tableData.firstRowHeader) && rowIndex === 0;
101417
+ const atBottom = Boolean(tableData.lastRow) && rowIndex === rowCount - 1;
101418
+ const atLeft = Boolean(tableData.firstCol) && cellIndex === 0;
101419
+ const atRight = Boolean(tableData.lastCol) && cellIndex === columnCount - 1;
101420
+ let cornerFill;
101421
+ let cornerText = void 0;
101422
+ if (atTop && atLeft) {
101423
+ cornerFill = styleEntry.nwCellFill;
101424
+ cornerText = styleEntry.nwCellText;
101425
+ } else if (atTop && atRight) {
101426
+ cornerFill = styleEntry.neCellFill;
101427
+ cornerText = styleEntry.neCellText;
101428
+ } else if (atBottom && atLeft) {
101429
+ cornerFill = styleEntry.swCellFill;
101430
+ cornerText = styleEntry.swCellText;
101431
+ } else if (atBottom && atRight) {
101432
+ cornerFill = styleEntry.seCellFill;
101433
+ cornerText = styleEntry.seCellText;
101434
+ }
101435
+ if (cornerFill && applyStyleFill(cornerFill, colorScheme, style, "")) {
101436
+ applied = true;
101437
+ }
101438
+ if (applyStyleText(cornerText, colorScheme, style, fontScheme)) {
101439
+ applied = true;
101440
+ }
101441
+ }
101442
+ const borderCss = resolveCellBorderCss(
101443
+ styleEntry,
101444
+ tableData,
101445
+ { rowIndex, cellIndex, rowCount, columnCount },
101446
+ (fill) => resolveStyleFillColor(fill, colorScheme)
101447
+ );
101448
+ if (borderCss) {
101449
+ Object.assign(style, borderCss);
101450
+ applied = true;
101451
+ }
101452
+ return applied ? style : void 0;
101453
+ }
100945
101454
  function computeBoundingRect(cells) {
100946
101455
  if (cells.length === 0) {
100947
101456
  return void 0;
@@ -106926,6 +107435,167 @@ function resolvePictureBullet(info, baseFontSize) {
106926
107435
  ...info.imageRelId ? { imageRelId: info.imageRelId } : {}
106927
107436
  };
106928
107437
  }
107438
+ var DEBOUNCE_MS = 600;
107439
+ var EXPANDED_MAX_HEIGHT = 200;
107440
+ var PX_TO_PT = 0.75;
107441
+ var MAX_INDENT_LEVEL = 4;
107442
+ var INDENT_PX = 24;
107443
+ function escapeHtml2(value) {
107444
+ return value.replace(/&/gu, "&amp;").replace(/</gu, "&lt;").replace(/>/gu, "&gt;").replace(/"/gu, "&quot;").replace(/'/gu, "&#39;");
107445
+ }
107446
+ function createPlainNotesSegments(text2) {
107447
+ const lines = text2.split("\n");
107448
+ const segments = [];
107449
+ lines.forEach((line22, index) => {
107450
+ segments.push({ text: line22, style: {} });
107451
+ if (index < lines.length - 1) {
107452
+ segments.push({ text: "", style: {}, isParagraphBreak: true });
107453
+ }
107454
+ });
107455
+ if (segments.length === 0) {
107456
+ segments.push({ text: "", style: {} });
107457
+ }
107458
+ return segments;
107459
+ }
107460
+ function segmentsToPlainText(segments) {
107461
+ return segments.map((segment) => segment.isParagraphBreak ? "\n" : segment.text).join("");
107462
+ }
107463
+ function normalizeSegments(segments) {
107464
+ const cleaned = segments.filter((segment) => segment.isParagraphBreak || segment.text.length > 0);
107465
+ while (cleaned.length > 0 && cleaned[cleaned.length - 1].isParagraphBreak) {
107466
+ cleaned.pop();
107467
+ }
107468
+ return cleaned.length > 0 ? cleaned : [{ text: "", style: {} }];
107469
+ }
107470
+ function parsePt(value) {
107471
+ if (!value) {
107472
+ return void 0;
107473
+ }
107474
+ const numeric = Number.parseFloat(value);
107475
+ if (Number.isNaN(numeric) || !Number.isFinite(numeric)) {
107476
+ return void 0;
107477
+ }
107478
+ if (value.endsWith("px")) {
107479
+ return numeric * PX_TO_PT;
107480
+ }
107481
+ return numeric;
107482
+ }
107483
+ function buildParagraph(segments) {
107484
+ const first = segments[0];
107485
+ let bulletType = "none";
107486
+ let indentLevel = 0;
107487
+ if (first?.bulletInfo) {
107488
+ if (first.bulletInfo.char) {
107489
+ bulletType = "bullet";
107490
+ } else if (first.bulletInfo.autoNumType) {
107491
+ bulletType = "numbered";
107492
+ }
107493
+ }
107494
+ if (first?.style.paragraphMarginLeft) {
107495
+ indentLevel = Math.min(
107496
+ MAX_INDENT_LEVEL,
107497
+ Math.max(0, Math.round(first.style.paragraphMarginLeft / INDENT_PX))
107498
+ );
107499
+ }
107500
+ return {
107501
+ segments: segments.length > 0 ? segments : [{ text: "", style: {} }],
107502
+ bulletType,
107503
+ indentLevel
107504
+ };
107505
+ }
107506
+ function segmentsToParagraphs(segments) {
107507
+ const normalized = normalizeSegments(segments);
107508
+ const paragraphs = [];
107509
+ let current = [];
107510
+ for (const seg of normalized) {
107511
+ if (seg.isParagraphBreak) {
107512
+ paragraphs.push(buildParagraph(current));
107513
+ current = [];
107514
+ } else {
107515
+ current.push(seg);
107516
+ }
107517
+ }
107518
+ if (current.length > 0) {
107519
+ paragraphs.push(buildParagraph(current));
107520
+ }
107521
+ if (paragraphs.length === 0) {
107522
+ paragraphs.push({
107523
+ segments: [{ text: "", style: {} }],
107524
+ bulletType: "none",
107525
+ indentLevel: 0
107526
+ });
107527
+ }
107528
+ return paragraphs;
107529
+ }
107530
+ function paragraphsToSegments(paragraphs) {
107531
+ const result = [];
107532
+ let numberedCounter = 0;
107533
+ paragraphs.forEach((para, pIdx) => {
107534
+ if (para.bulletType === "numbered") {
107535
+ numberedCounter++;
107536
+ } else {
107537
+ numberedCounter = 0;
107538
+ }
107539
+ para.segments.forEach((seg, sIdx) => {
107540
+ const updated = { ...seg, style: { ...seg.style } };
107541
+ if (para.indentLevel > 0) {
107542
+ updated.style.paragraphMarginLeft = para.indentLevel * INDENT_PX;
107543
+ } else {
107544
+ delete updated.style.paragraphMarginLeft;
107545
+ }
107546
+ if (sIdx === 0) {
107547
+ if (para.bulletType === "bullet") {
107548
+ updated.bulletInfo = { char: "\u2022" };
107549
+ } else if (para.bulletType === "numbered") {
107550
+ updated.bulletInfo = {
107551
+ autoNumType: "arabicPeriod",
107552
+ paragraphIndex: numberedCounter - 1
107553
+ };
107554
+ } else {
107555
+ delete updated.bulletInfo;
107556
+ }
107557
+ }
107558
+ result.push(updated);
107559
+ });
107560
+ if (pIdx < paragraphs.length - 1) {
107561
+ result.push({ text: "", style: {}, isParagraphBreak: true });
107562
+ }
107563
+ });
107564
+ return result;
107565
+ }
107566
+ function getCurrentParagraphIndex(editorEl, segments) {
107567
+ const sel = window.getSelection();
107568
+ if (!sel || sel.rangeCount === 0) {
107569
+ return 0;
107570
+ }
107571
+ const range = sel.getRangeAt(0);
107572
+ let charOffset = 0;
107573
+ const walker = document.createTreeWalker(editorEl, NodeFilter.SHOW_TEXT);
107574
+ let node = walker.nextNode();
107575
+ while (node) {
107576
+ if (range.startContainer === node) {
107577
+ charOffset += range.startOffset;
107578
+ break;
107579
+ }
107580
+ charOffset += (node.textContent ?? "").length;
107581
+ node = walker.nextNode();
107582
+ }
107583
+ let paraIdx = 0;
107584
+ let pos2 = 0;
107585
+ for (const seg of segments) {
107586
+ if (seg.isParagraphBreak) {
107587
+ paraIdx++;
107588
+ pos2++;
107589
+ continue;
107590
+ }
107591
+ const segLen = seg.text.length;
107592
+ if (pos2 + segLen > charOffset) {
107593
+ return paraIdx;
107594
+ }
107595
+ pos2 += segLen;
107596
+ }
107597
+ return paraIdx;
107598
+ }
106929
107599
  var BLOCKED_PROTOCOLS = /* @__PURE__ */ new Set([
106930
107600
  `${"javascript"}:`,
106931
107601
  "data:",
@@ -106992,6 +107662,186 @@ function parsePpactionUrl(url) {
106992
107662
  }
106993
107663
  return { action: url, targetSlideIndex };
106994
107664
  }
107665
+ var CSS_VALUE_SAFE = /^[a-zA-Z0-9 _,.\-+#'%/]{1,100}$/u;
107666
+ function isCssValueSafe(value) {
107667
+ if (value === void 0 || value === null) {
107668
+ return false;
107669
+ }
107670
+ const str = String(value);
107671
+ return str.length > 0 && CSS_VALUE_SAFE.test(str);
107672
+ }
107673
+ function deriveStyleFromElement(element, inheritedStyle) {
107674
+ const style = { ...inheritedStyle };
107675
+ const tagName = element.tagName.toLowerCase();
107676
+ if (tagName === "b" || tagName === "strong") {
107677
+ style.bold = true;
107678
+ }
107679
+ if (tagName === "i" || tagName === "em") {
107680
+ style.italic = true;
107681
+ }
107682
+ if (tagName === "u") {
107683
+ style.underline = true;
107684
+ }
107685
+ if (tagName === "s" || tagName === "strike") {
107686
+ style.strikethrough = true;
107687
+ }
107688
+ if (tagName === "a") {
107689
+ const href = element.getAttribute("href");
107690
+ if (href) {
107691
+ style.hyperlink = href;
107692
+ }
107693
+ style.underline = true;
107694
+ style.color = "#4a9eff";
107695
+ }
107696
+ const inlineStyle = element.style;
107697
+ if (inlineStyle.fontWeight === "bold" || Number(inlineStyle.fontWeight) >= 600) {
107698
+ style.bold = true;
107699
+ }
107700
+ if (inlineStyle.fontStyle === "italic") {
107701
+ style.italic = true;
107702
+ }
107703
+ if (inlineStyle.textDecoration.includes("underline") || inlineStyle.textDecorationLine.includes("underline")) {
107704
+ style.underline = true;
107705
+ }
107706
+ if (inlineStyle.textDecoration.includes("line-through") || inlineStyle.textDecorationLine.includes("line-through")) {
107707
+ style.strikethrough = true;
107708
+ }
107709
+ if (inlineStyle.color) {
107710
+ style.color = inlineStyle.color;
107711
+ }
107712
+ const fontSizePt = parsePt(inlineStyle.fontSize);
107713
+ if (fontSizePt !== void 0) {
107714
+ style.fontSize = fontSizePt;
107715
+ }
107716
+ if (inlineStyle.fontFamily) {
107717
+ style.fontFamily = inlineStyle.fontFamily;
107718
+ }
107719
+ return style;
107720
+ }
107721
+ function parseSegmentsFromRichEditor(root) {
107722
+ const segments = [];
107723
+ const walk2 = (node, inheritedStyle) => {
107724
+ if (node.nodeType === Node.TEXT_NODE) {
107725
+ const value = node.textContent ?? "";
107726
+ if (value.length > 0) {
107727
+ segments.push({ text: value, style: { ...inheritedStyle } });
107728
+ }
107729
+ return;
107730
+ }
107731
+ if (!(node instanceof HTMLElement)) {
107732
+ return;
107733
+ }
107734
+ if (node.tagName.toLowerCase() === "br") {
107735
+ segments.push({ text: "", style: {}, isParagraphBreak: true });
107736
+ return;
107737
+ }
107738
+ const nextStyle = deriveStyleFromElement(node, inheritedStyle);
107739
+ const tag = node.tagName.toLowerCase();
107740
+ const isBlock = ["div", "p", "li"].includes(tag);
107741
+ let bulletInfo;
107742
+ let paraIndent = 0;
107743
+ if (isBlock && node.dataset.bulletType) {
107744
+ const bt = node.dataset.bulletType;
107745
+ if (bt === "bullet") {
107746
+ bulletInfo = { char: "\u2022" };
107747
+ } else if (bt === "numbered") {
107748
+ bulletInfo = { autoNumType: "arabicPeriod" };
107749
+ }
107750
+ }
107751
+ if (isBlock && node.dataset.indentLevel) {
107752
+ paraIndent = Number.parseInt(node.dataset.indentLevel, 10) || 0;
107753
+ }
107754
+ const segStartIdx = segments.length;
107755
+ node.childNodes.forEach((child22) => walk2(child22, nextStyle));
107756
+ if (isBlock && (bulletInfo || paraIndent > 0)) {
107757
+ for (let i = segStartIdx; i < segments.length; i++) {
107758
+ if (!segments[i].isParagraphBreak) {
107759
+ if (bulletInfo) {
107760
+ segments[i].bulletInfo = bulletInfo;
107761
+ }
107762
+ if (paraIndent > 0) {
107763
+ segments[i].style = {
107764
+ ...segments[i].style,
107765
+ paragraphMarginLeft: paraIndent * INDENT_PX
107766
+ };
107767
+ }
107768
+ break;
107769
+ }
107770
+ }
107771
+ }
107772
+ if (isBlock) {
107773
+ segments.push({ text: "", style: {}, isParagraphBreak: true });
107774
+ }
107775
+ };
107776
+ root.childNodes.forEach((child22) => walk2(child22, {}));
107777
+ return normalizeSegments(segments);
107778
+ }
107779
+ function segmentsToEditorHtml(segments) {
107780
+ const paragraphs = segmentsToParagraphs(segments);
107781
+ let numberedCounter = 0;
107782
+ return paragraphs.map((para) => {
107783
+ if (para.bulletType === "numbered") {
107784
+ numberedCounter++;
107785
+ } else {
107786
+ numberedCounter = 0;
107787
+ }
107788
+ const runsHtml = para.segments.map((segment) => {
107789
+ if (segment.isParagraphBreak) {
107790
+ return "";
107791
+ }
107792
+ const inlineStyles = [];
107793
+ if (segment.style.bold) {
107794
+ inlineStyles.push("font-weight:700");
107795
+ }
107796
+ if (segment.style.italic) {
107797
+ inlineStyles.push("font-style:italic");
107798
+ }
107799
+ if (segment.style.underline) {
107800
+ inlineStyles.push("text-decoration:underline");
107801
+ }
107802
+ if (segment.style.strikethrough) {
107803
+ inlineStyles.push("text-decoration:line-through");
107804
+ }
107805
+ if (segment.style.color && isCssValueSafe(segment.style.color)) {
107806
+ inlineStyles.push(`color:${segment.style.color}`);
107807
+ }
107808
+ if (segment.style.fontSize && Number.isFinite(Number(segment.style.fontSize))) {
107809
+ inlineStyles.push(`font-size:${Number(segment.style.fontSize)}pt`);
107810
+ }
107811
+ if (segment.style.fontFamily && isCssValueSafe(segment.style.fontFamily)) {
107812
+ inlineStyles.push(`font-family:${segment.style.fontFamily}`);
107813
+ }
107814
+ const text2 = escapeHtml2(segment.text);
107815
+ if (segment.style.hyperlink && isUrlSafe(segment.style.hyperlink)) {
107816
+ const href = escapeHtml2(segment.style.hyperlink);
107817
+ return `<a href="${href}" style="color:#4a9eff;text-decoration:underline;cursor:pointer" data-hyperlink="${href}">${text2}</a>`;
107818
+ }
107819
+ const styleAttr = inlineStyles.length > 0 ? ` style="${inlineStyles.join(";")}"` : "";
107820
+ return `<span${styleAttr}>${text2}</span>`;
107821
+ }).join("");
107822
+ const attrs3 = [];
107823
+ if (para.bulletType !== "none") {
107824
+ attrs3.push(`data-bullet-type="${para.bulletType}"`);
107825
+ }
107826
+ if (para.indentLevel > 0) {
107827
+ attrs3.push(`data-indent-level="${para.indentLevel}"`);
107828
+ }
107829
+ const indent = para.indentLevel * INDENT_PX;
107830
+ const divStyles = [];
107831
+ if (indent > 0) {
107832
+ divStyles.push(`padding-left:${indent}px`);
107833
+ }
107834
+ let prefix = "";
107835
+ if (para.bulletType === "bullet") {
107836
+ prefix = `<span style="margin-right:6px;color:#9ca3af" contenteditable="false">\u2022</span>`;
107837
+ } else if (para.bulletType === "numbered") {
107838
+ prefix = `<span style="margin-right:6px;color:#9ca3af" contenteditable="false">${numberedCounter}.</span>`;
107839
+ }
107840
+ const styleStr = divStyles.length > 0 ? ` style="${divStyles.join(";")}"` : "";
107841
+ const attrStr = attrs3.length > 0 ? ` ${attrs3.join(" ")}` : "";
107842
+ return `<div${attrStr}${styleStr}>${prefix}${runsHtml || "<br />"}</div>`;
107843
+ }).join("");
107844
+ }
106995
107845
  var MOBILE_BREAKPOINT = 768;
106996
107846
  var TABLET_BREAKPOINT = 1024;
106997
107847
  var MOBILE_LANDSCAPE_MAX_HEIGHT = 500;
@@ -108050,6 +108900,29 @@ function resolveParagraphStrutFontSize(segments, bodyFontSize) {
108050
108900
  }
108051
108901
  return largest;
108052
108902
  }
108903
+ var PT_TO_PX = 96 / 72;
108904
+ function resolveParagraphSpacing(input) {
108905
+ const { paraProps, bodyStyle, isFirst = false, isLast = false, spaceFirstLast = true } = input;
108906
+ const out = {};
108907
+ const before = paraProps?.paragraphSpacingBefore ?? bodyStyle?.paragraphSpacingBefore;
108908
+ if (typeof before === "number" && before > 0 && (!isFirst || spaceFirstLast)) {
108909
+ out.spaceBeforePx = before;
108910
+ }
108911
+ const after = paraProps?.paragraphSpacingAfter ?? bodyStyle?.paragraphSpacingAfter;
108912
+ if (typeof after === "number" && after > 0 && (!isLast || spaceFirstLast)) {
108913
+ out.spaceAfterPx = after;
108914
+ }
108915
+ const hasOwnLineSpacing = paraProps?.lineSpacing !== void 0 || paraProps?.lineSpacingExactPt !== void 0;
108916
+ const lineSource = hasOwnLineSpacing ? paraProps : bodyStyle;
108917
+ const exactPt = lineSource?.lineSpacingExactPt;
108918
+ const multiplier = lineSource?.lineSpacing;
108919
+ if (typeof exactPt === "number" && exactPt > 0) {
108920
+ out.lineHeight = `${exactPt * PT_TO_PX}px`;
108921
+ } else if (typeof multiplier === "number" && multiplier > 0) {
108922
+ out.lineHeight = proportionalLineHeight(multiplier);
108923
+ }
108924
+ return out;
108925
+ }
108053
108926
  function parseHexColor(hex10) {
108054
108927
  if (!hex10 || typeof hex10 !== "string") {
108055
108928
  return null;
@@ -113280,6 +114153,17 @@ function fitFontSize(text2, maxWidth, maxHeight, baseSize) {
113280
114153
  const maxByHeight = maxHeight * 0.5;
113281
114154
  return Math.max(6, Math.min(baseSize, maxByWidth, maxByHeight));
113282
114155
  }
114156
+ function chevronPoints(x, y, w, h) {
114157
+ const depth = Math.min(w * 0.2, h * 0.4);
114158
+ return [
114159
+ `${x},${y}`,
114160
+ `${x + w - depth},${y}`,
114161
+ `${x + w},${y + h / 2}`,
114162
+ `${x + w - depth},${y + h}`,
114163
+ `${x},${y + h}`,
114164
+ `${x + depth},${y + h / 2}`
114165
+ ].join(" ");
114166
+ }
113283
114167
  function strokeFor(sw) {
113284
114168
  return sw > 0 ? "rgba(255,255,255,0.3)" : "none";
113285
114169
  }
@@ -115790,6 +116674,28 @@ function centeredSvgTextLines(text2, fontSize, options = {}) {
115790
116674
  y: blockTop + lineHeight / 2 + index * lineHeight
115791
116675
  }));
115792
116676
  }
116677
+ var PALETTES = {
116678
+ colorful1: ["#3b82f6", "#22c55e", "#f97316", "#eab308", "#a855f7", "#ec4899"],
116679
+ colorful2: ["#6366f1", "#14b8a6", "#f59e0b", "#ef4444", "#8b5cf6", "#06b6d4"],
116680
+ colorful3: ["#0ea5e9", "#84cc16", "#f43e5e", "#a855f7", "#f97316", "#10b981"],
116681
+ monochromatic1: ["#3b82f6", "#60a5fa", "#93c5fd", "#bfdbfe", "#2563eb", "#1d4ed8"],
116682
+ monochromatic2: ["#6366f1", "#818cf8", "#a5b4fc", "#c7d2fe", "#4f46e5", "#4338ca"]
116683
+ };
116684
+ var DEFAULT_PALETTE2 = PALETTES.colorful1;
116685
+ function paletteColour(index, palette) {
116686
+ return palette[index % palette.length];
116687
+ }
116688
+ function resolvePalette(data) {
116689
+ if (!data) {
116690
+ return DEFAULT_PALETTE2;
116691
+ }
116692
+ const ctFills = data.colorTransform?.fillColors;
116693
+ if (ctFills && ctFills.length > 0) {
116694
+ return ctFills;
116695
+ }
116696
+ return PALETTES[data.colorScheme ?? "colorful1"] ?? DEFAULT_PALETTE2;
116697
+ }
116698
+ var TEXT_WIDTH_FRACTION = 0.82;
115793
116699
  function underlyingFill(shape, shapes, index) {
115794
116700
  const centerX = shape.x + shape.width / 2;
115795
116701
  const centerY = shape.y + shape.height / 2;
@@ -115808,6 +116714,117 @@ function drawingShapeLabelColor(shape, shapes, index, resolvedFill) {
115808
116714
  const basis = resolvedFill === "none" || resolvedFill.startsWith("url(") ? underlyingFill(shape, shapes, index) : resolvedFill;
115809
116715
  return basis ? contrastTextColor(basis) : "#1a1a1a";
115810
116716
  }
116717
+ function computeDrawingViewBox(shapes) {
116718
+ let minX = Infinity;
116719
+ let minY = Infinity;
116720
+ let maxX = -Infinity;
116721
+ let maxY = -Infinity;
116722
+ for (const s of shapes) {
116723
+ if (s.x < minX) {
116724
+ minX = s.x;
116725
+ }
116726
+ if (s.y < minY) {
116727
+ minY = s.y;
116728
+ }
116729
+ if (s.x + s.width > maxX) {
116730
+ maxX = s.x + s.width;
116731
+ }
116732
+ if (s.y + s.height > maxY) {
116733
+ maxY = s.y + s.height;
116734
+ }
116735
+ }
116736
+ if (!Number.isFinite(minX)) {
116737
+ return { minX: 0, minY: 0, width: 1, height: 1 };
116738
+ }
116739
+ return {
116740
+ minX,
116741
+ minY,
116742
+ width: maxX - minX || 1,
116743
+ height: maxY - minY || 1
116744
+ };
116745
+ }
116746
+ function resolveGradient(shape, id) {
116747
+ const stops = shape.fillGradientStops;
116748
+ if (!stops || stops.length === 0) {
116749
+ return void 0;
116750
+ }
116751
+ const mapped = stops.map((stop) => ({
116752
+ offset: `${Math.max(0, Math.min(100, stop.position))}%`,
116753
+ color: stop.color,
116754
+ ...stop.opacity !== void 0 ? { opacity: stop.opacity } : {}
116755
+ }));
116756
+ if (shape.fillGradientType === "radial") {
116757
+ return { id, kind: "radial", cx: "50%", cy: "50%", r: "50%", stops: mapped };
116758
+ }
116759
+ const radians = (shape.fillGradientAngle ?? 0) * Math.PI / 180;
116760
+ const dx = Math.cos(radians) / 2;
116761
+ const dy = Math.sin(radians) / 2;
116762
+ return {
116763
+ id,
116764
+ kind: "linear",
116765
+ x1: `${(0.5 - dx) * 100}%`,
116766
+ y1: `${(0.5 - dy) * 100}%`,
116767
+ x2: `${(0.5 + dx) * 100}%`,
116768
+ y2: `${(0.5 + dy) * 100}%`,
116769
+ stops: mapped
116770
+ };
116771
+ }
116772
+ function resolveShapeKind(shape, hasImage) {
116773
+ if (hasImage) {
116774
+ return "image";
116775
+ }
116776
+ const normalized = (shape.shapeType ?? "").trim().toLowerCase();
116777
+ if (normalized === "chevron" || normalized === "homeplate") {
116778
+ return "polygon";
116779
+ }
116780
+ return getShapeType(shape.shapeType) === "ellipse" ? "ellipse" : "rect";
116781
+ }
116782
+ function projectDrawingShapes(elementId, shapes, viewBox, palette, style) {
116783
+ const { minX, minY } = viewBox;
116784
+ const sw = styleStroke(style);
116785
+ return shapes.map((shape, i) => {
116786
+ const gradient = shape.fillNone ? void 0 : resolveGradient(shape, `${elementId}-dspgrad-${shape.id}-${i}`);
116787
+ const fill = shape.fillNone ? "none" : gradient ? `url(#${gradient.id})` : shape.fillPatternForegroundColor ?? shape.fillColor ?? paletteColour(i, palette);
116788
+ const relX = shape.x - minX;
116789
+ const relY = shape.y - minY;
116790
+ const kind = resolveShapeKind(shape, Boolean(shape.fillImageUrl));
116791
+ const rx = getShapeType(shape.shapeType) === "roundRect" ? Math.min(shape.width, shape.height) * 0.1 : 0;
116792
+ const cx = relX + shape.width / 2;
116793
+ const cy = relY + shape.height / 2;
116794
+ const stroke = shape.strokeColor ?? (sw > 0 ? "rgba(255,255,255,0.3)" : "none");
116795
+ const transform = shape.rotation !== void 0 ? `rotate(${shape.rotation} ${cx} ${cy})` : void 0;
116796
+ const fontSize = shape.fontSize ?? Math.max(8, Math.min(14, shape.height * 0.2));
116797
+ return {
116798
+ key: `${elementId}-dsp-${shape.id}-${i}`,
116799
+ kind,
116800
+ ...kind === "polygon" ? { points: chevronPoints(relX, relY, shape.width, shape.height) } : {},
116801
+ ...gradient ? { gradient } : {},
116802
+ x: relX,
116803
+ y: relY,
116804
+ width: shape.width,
116805
+ height: shape.height,
116806
+ rx,
116807
+ cx,
116808
+ cy,
116809
+ fill,
116810
+ stroke,
116811
+ strokeWidth: shape.strokeWidth ?? sw,
116812
+ transform,
116813
+ imageUrl: shape.fillImageUrl,
116814
+ textLines: shape.text ? centeredSvgTextLines(shape.text, fontSize, {
116815
+ maxWidth: shape.width * TEXT_WIDTH_FRACTION,
116816
+ centerY: cy
116817
+ }) : [],
116818
+ textX: cx,
116819
+ textY: cy,
116820
+ fontColor: shape.fontColor ?? drawingShapeLabelColor(shape, shapes, i, fill),
116821
+ fontSize
116822
+ };
116823
+ });
116824
+ }
116825
+ function styleShadowFilter(style) {
116826
+ return styleShadow(style);
116827
+ }
115811
116828
  var FONT_NAME_UNSAFE_CHARS = /["\\\n\r;}<>]/u;
115812
116829
  var FONT_FORMAT_ALLOWED = /* @__PURE__ */ new Set(["truetype", "opentype", "woff", "woff2"]);
115813
116830
  var FONT_DATA_URL_PATTERN = /^data:font\/[a-z0-9+.-]+(?:;charset=[a-z0-9-]+)?;base64,[a-z0-9+/=]+$/iu;
@@ -118790,6 +119807,97 @@ var DUOTONE_PRESETS = [
118790
119807
  highlight: "#F5DEB3"
118791
119808
  }
118792
119809
  ];
119810
+ function findInSlides(slides, query, opts = {}) {
119811
+ if (!query) {
119812
+ return [];
119813
+ }
119814
+ const matchCase = opts.matchCase ?? false;
119815
+ const normalised = matchCase ? query : query.toLowerCase();
119816
+ const results = [];
119817
+ for (let slideIndex = 0; slideIndex < slides.length; slideIndex++) {
119818
+ const slide = slides[slideIndex];
119819
+ for (const element of slide.elements) {
119820
+ if (!hasTextProperties(element)) {
119821
+ continue;
119822
+ }
119823
+ const segments = element.textSegments ?? [];
119824
+ for (let segIndex = 0; segIndex < segments.length; segIndex++) {
119825
+ const raw = segments[segIndex].text ?? "";
119826
+ const haystack = matchCase ? raw : raw.toLowerCase();
119827
+ let offset = 0;
119828
+ while (offset < haystack.length) {
119829
+ const pos2 = haystack.indexOf(normalised, offset);
119830
+ if (pos2 === -1) {
119831
+ break;
119832
+ }
119833
+ results.push({
119834
+ slideIndex,
119835
+ elementId: element.id,
119836
+ segmentIndex: segIndex,
119837
+ startOffset: pos2,
119838
+ length: query.length
119839
+ });
119840
+ offset = pos2 + 1;
119841
+ }
119842
+ }
119843
+ }
119844
+ }
119845
+ return results;
119846
+ }
119847
+ function applyFindReplacements(slides, toReplace, replacement) {
119848
+ if (toReplace.length === 0) {
119849
+ return { slides, replacements: 0 };
119850
+ }
119851
+ const grouped = /* @__PURE__ */ new Map();
119852
+ for (const match of toReplace) {
119853
+ const key = `${match.slideIndex}::${match.elementId}::${match.segmentIndex}`;
119854
+ let bucket = grouped.get(key);
119855
+ if (!bucket) {
119856
+ bucket = [];
119857
+ grouped.set(key, bucket);
119858
+ }
119859
+ bucket.push(match);
119860
+ }
119861
+ const nextSlides = slides.slice();
119862
+ let totalReplacements = 0;
119863
+ for (const [, matches] of grouped) {
119864
+ const sorted = matches.slice().sort((a, b) => b.startOffset - a.startOffset);
119865
+ for (const match of sorted) {
119866
+ const slide = nextSlides[match.slideIndex];
119867
+ if (!slide) {
119868
+ continue;
119869
+ }
119870
+ const elIdx = slide.elements.findIndex((e) => e.id === match.elementId);
119871
+ if (elIdx === -1) {
119872
+ continue;
119873
+ }
119874
+ const element = slide.elements[elIdx];
119875
+ if (!hasTextProperties(element)) {
119876
+ continue;
119877
+ }
119878
+ const segments = element.textSegments ?? [];
119879
+ const seg = segments[match.segmentIndex];
119880
+ if (!seg) {
119881
+ continue;
119882
+ }
119883
+ const before = seg.text.slice(0, match.startOffset);
119884
+ const after = seg.text.slice(match.startOffset + match.length);
119885
+ const newSegText = before + replacement + after;
119886
+ const nextSegments = segments.slice();
119887
+ nextSegments[match.segmentIndex] = { ...seg, text: newSegText };
119888
+ const nextText = nextSegments.map((s) => s.text).join("");
119889
+ const nextElements = slide.elements.slice();
119890
+ nextElements[elIdx] = {
119891
+ ...element,
119892
+ text: nextText,
119893
+ textSegments: nextSegments
119894
+ };
119895
+ nextSlides[match.slideIndex] = { ...slide, elements: nextElements };
119896
+ totalReplacements++;
119897
+ }
119898
+ }
119899
+ return { slides: nextSlides, replacements: totalReplacements };
119900
+ }
118793
119901
  function isElementHidden(element) {
118794
119902
  return element?.hidden === true;
118795
119903
  }
@@ -120481,6 +121589,24 @@ var COMMON_FONTS = [
120481
121589
  "Tw Cen MT",
120482
121590
  "Verdana"
120483
121591
  ];
121592
+ function partitionTemplateElements(slides) {
121593
+ const templateElementsBySlideId = {};
121594
+ const nextSlides = slides.map((slide) => {
121595
+ const template = slide.elements.filter(isTemplateElement);
121596
+ if (template.length === 0) {
121597
+ return slide;
121598
+ }
121599
+ templateElementsBySlideId[slide.id] = template;
121600
+ return { ...slide, elements: slide.elements.filter((element) => !isTemplateElement(element)) };
121601
+ });
121602
+ return { slides: nextSlides, templateElementsBySlideId };
121603
+ }
121604
+ function buildSaveSlides(slides, templateElementsBySlideId) {
121605
+ return slides.map((slide) => {
121606
+ const template = templateElementsBySlideId[slide.id];
121607
+ return template?.length ? { ...slide, elements: [...template, ...slide.elements] } : slide;
121608
+ });
121609
+ }
120484
121610
  var DEFAULT_PREVIEW_ELEMENT_CAP = 500;
120485
121611
  function buildPreviewElements(slide, templateElements = [], options) {
120486
121612
  const cap = options?.cap ?? DEFAULT_PREVIEW_ELEMENT_CAP;
@@ -123764,14 +124890,14 @@ ${xrefPos}
123764
124890
  }
123765
124891
  var NOTE_LINE_COUNT = 8;
123766
124892
  var TRANSPARENT_PNG = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNgAAIAAAUAAen63NgAAAAASUVORK5CYII=";
123767
- function escapeHtml2(value) {
124893
+ function escapeHtml22(value) {
123768
124894
  return value.split("&").join("&amp;").split("<").join("&lt;").split(">").join("&gt;").split('"').join("&quot;").split("'").join("&#39;");
123769
124895
  }
123770
124896
  function safeDataImageSrc(src) {
123771
124897
  if (typeof src !== "string" || !src.startsWith("data:image/")) {
123772
124898
  return TRANSPARENT_PNG;
123773
124899
  }
123774
- return escapeHtml2(src);
124900
+ return escapeHtml22(src);
123775
124901
  }
123776
124902
  function slideTitle(slide, index) {
123777
124903
  const fallback = `Slide ${index + 1}`;
@@ -123797,7 +124923,7 @@ function buildOutlineHtml(slideIndices, slides) {
123797
124923
  }
123798
124924
  const titleText = slideTitle(slide, idx);
123799
124925
  const notes = (slide.notes ?? "").trim();
123800
- return `<h2>${escapeHtml2(titleText)}</h2>${notes ? `<p>${escapeHtml2(notes)}</p>` : ""}`;
124926
+ return `<h2>${escapeHtml22(titleText)}</h2>${notes ? `<p>${escapeHtml22(notes)}</p>` : ""}`;
123801
124927
  }).join("");
123802
124928
  }
123803
124929
  function buildSlidesHtml(slideImages, slideIndices) {
@@ -123811,7 +124937,7 @@ function buildNotesHtml(slideImages, slideIndices, slides) {
123811
124937
  const notes = (slides[idx]?.notes ?? "").trim();
123812
124938
  return `<section class="page notes-page">
123813
124939
  <img class="notes-slide" src="${safeDataImageSrc(img)}" alt="Slide ${idx + 1}" />
123814
- <div class="notes-text">${escapeHtml2(notes)}</div>
124940
+ <div class="notes-text">${escapeHtml22(notes)}</div>
123815
124941
  </section>`;
123816
124942
  }).join("");
123817
124943
  }
@@ -123879,7 +125005,7 @@ function buildPrintHtmlDocument(options) {
123879
125005
  <html>
123880
125006
  <head>
123881
125007
  <meta charset="utf-8" />
123882
- <title>${escapeHtml2(title)}</title>
125008
+ <title>${escapeHtml22(title)}</title>
123883
125009
  <style>
123884
125010
  :root { color-scheme: light; }
123885
125011
  * { box-sizing: border-box; }
@@ -123974,4 +125100,4 @@ function segmentFrameCount(durationMs, fps) {
123974
125100
  * `<p:extLst>` (optional)
123975
125101
  */
123976
125102
 
123977
- export { ACTION_BUTTON_PRESETS, ACTION_INDICATOR_CLASS, ACTION_INDICATOR_ICON_PATH, ARTISTIC_EFFECTS, AVATAR_COLOR_SWATCHES, BACKSTAGE_NAV, BACKSTAGE_TEMPLATES, BEVEL_PRESETS, BROADCAST_THROTTLE_MS, CATEGORIES, CHARACTER_SPACING_OPTIONS, COLOR_MAP_ALIAS_KEYS, COMMON_FONTS, CONNECTION_TIMEOUT_MS, DEFAULT_BROADCAST_SERVER_URL, DEFAULT_COLOR_CHANGE_TOLERANCE, DEFAULT_COLOR_MAP, DEFAULT_FONT_FAMILY, DEFAULT_INSERT_CHART_KIND, DEFAULT_MOTION_PATH_PRESET_ID, DEFAULT_QUICK_ACCESS_COMMAND_IDS, DEFAULT_ROW_HEIGHT, DEFAULT_VIEWER_OPTIONS, DEFAULT_VIEWER_PROFILE, DEFAULT_VIRTUAL_OVERSCAN, DIRECTIONAL_PRESETS, DUOTONE_PRESETS, ELEMENT_ACTION_TYPE_OPTIONS, EMPHASIS_PRESET_VALUES, ENTRANCE_PRESET_VALUES, EQUATION_TEMPLATES, EXIT_PRESET_VALUES, EXPORT_ASSEMBLING_PERCENT, EXPORT_DONE_PERCENT, EncryptedFileError, FILL_MODE_OPTIONS, FILL_PATTERN_LABEL_KEYS, GRADIENT_TYPE_OPTIONS, HANDOUT_OPTIONS, HIDDEN_SLIDE_LABEL_KEY, HIDDEN_SLIDE_SLASH_GRADIENT, HIGHLIGHTER_COLORS, INK_REPLAY_KEYFRAMES, INSERT_CHART_TYPES, LBL, LINK_TOOLTIP_CLASS, LINK_TOOLTIP_HINT_CLASS, LINK_TOOLTIP_HOST_CLASS, LINK_TOOLTIP_LABEL_CLASS, LINK_TOOLTIP_PANEL_CLASS, LOCAL_SYNC_ORIGIN, MATERIAL_PRESETS, MAX_ZOOM_SCALE, MEDIA_CHROME_ATTRIBUTE, MIN_ZOOM_SCALE, MOBILE_BREAKPOINT, MOTION_PATH_FAMILIES, NOTES_FONT_SIZE_DEFAULT, NOTES_FONT_SIZE_MAX, NOTES_FONT_SIZE_MIN, NOTES_FONT_SIZE_STEP, NUM, OUTLINE_LEVEL_ATTR, OUTLINE_ROW_ATTR, OUTLINE_SLIDE_ATTR, OUTLINE_VIEW_ATTR, PATTERN_OPTIONS, PEN_COLORS, PRESENTATION_CHANNEL_NAME, PRESENTATION_HASH, PRESENTATION_MESSAGE_ORIGIN, PRESENTATION_NONCE_KEY, PRESENTATION_STAGE_ATTRIBUTE, PRESENTER_CONSOLE_CLASSES, PRESENTER_CONSOLE_CONTROLS, PRESENTER_NAVIGATOR_LABEL_KEYS, PRESENT_TOOLBAR_CLASSES, PRESETS, PRESET_THEMES, PptxHandler, PptxMarkdownConverter, PresentationAnimationController, QUICK_ACCESS_COMMAND_CATALOG, READING_VIEW_ATTR, READING_VIEW_COUNTER_ATTR, READING_VIEW_STAGE_ATTR, RULER_FONT_SIZE, RULER_THICKNESS, SECTION_HEADING, SEL, SHAPE_PRESET_DEFS, SHAPE_QUICK_STYLES, SHORTCUT_REFERENCE_ITEMS, SLIDE_TEMPLATES, SLIDE_TRANSITION_KEYFRAMES, SLIDE_TRANSITION_OPTIONS, SLIDE_VIRTUALIZATION_THRESHOLD, SMARTART_COLOR_SCHEME_LABEL_KEYS, SMARTART_STYLE_LABEL_KEYS, STATUS_BAR_CLASSES, SWITCHABLE_LAYOUT_TYPES, SvgExporter, TABLET_BREAKPOINT, TABLE_STYLE_PRESETS, TAB_ROW_ACTION_CLASSES, TEXT_BUILD_ID_SEP, TEXT_WARP_PRESETS, THEME_CATALOG, THEME_COLOR_SCHEME_KEYS, THEME_COLOR_SLOT_LABEL_KEYS, THEME_PRESETS, TITLE_BAR_CLASSES, TITLE_BAR_DEFAULT_FILE_KEY, TOOLBAR_TABS, TRANSITION_DIR_ARROWS, TRANSITION_ORIENTATION_TYPES, TRANSITION_VALID_DIRECTIONS, ThemePresets, VIEWER_OPTIONS_TABS, VIEWER_PREFS_STORAGE_KEY, VIEWER_SHORTCUT_REFERENCE, WEBM_MIME_CANDIDATES, acceptsPresentationInput, actionAffordanceLabels, activateModalFocus, addChartCategory, addChartSeries, addQuickAccessCommand, addSection, addSmartArtNode, addSmartArtNodeAsChild, addTagToCollections, alignElements, animationEffectLabel, annotationOverlayZIndex, appendPresentationInkPoint, appendTableElementColumn, appendTableElementRow, apply3dEffects, applyAcceptAllSlides, applyAcceptSlide, applyCaseTransformToSegments, applyChartBuildReveal, applyColorChange, applyDuotone, applyFormatToElement, applyMotionPathPreset, applyOutlineEdit, applyPreferenceToOptions, applyReadingViewCommand, applyRehearsalTimings, applyReroutedConnectors, applyResize, applyStyleToSelectedSegments, applyThemeOverrideToSlide, applyThemeToData, attachPresentationVisibilityPause, availableQuickAccessCommands, backstageCardsFor, bringForward, bringToFront, build3DExtrusionData, buildBroadcastViewerUrl, buildCacheKey, buildCalloutLeaderLineSvgPath, buildChartViewModel, buildCollaborationShareUrl, buildContextMenuEntries, buildCreateCollaborationConfig, buildCssGradientFromShapeStyle, buildDirectionGrid, buildDuotoneCacheKey, buildElementClipboardPayload, buildFieldSubstitutionContext, buildGlowBoxShadow, buildHandoutsHtml, buildHollowHitOutline, buildInitialGuides, buildInnerShadowCssFromShapeStyle, buildJoinCollaborationConfig, buildMorphAnimationRules, buildMorphTransitionPlan, buildMotionPathPreview, buildMultiLayerShadowCss, buildNotesHtml, buildNotesPdfBytes, buildOutline, buildOutlineHtml, buildPatternFillCss, buildPresentationAudienceUrl, buildPreviewAnimation, buildPreviewElements, buildPrintDocument, buildPrintHtmlDocument, buildReflectionCss, buildShadowCssFromShapeStyle, buildSlideTemplateContent, buildSlideTemplateSlide, buildSlidesHtml, buildSlidesPdfBytes, buildSmartArt3DModel, buildSmartArtA11y, buildSmartArtPresetData, buildStrokeOutline, buildSummaryZoomView, buildSvgGradientDef, buildTableDataGrid, buildTextBlockStyle, buildTextBody3DSceneStyle, buildTextBuildSpec, buildTextFillCss, buildTextReflectionCss, buildTextRunFilterChain, buildTextShadowCss, buildThemeColorGrid, buildThemeColorMap, buildUserFontFaceStyles, canCommitActionType, canGoNext, canGoPrevious, canvasToJpegData, cell3DBevelCss, centeredSvgTextLines, chartAreaFill, chartDataChangeType, chartPartToAttrs, clampCropValue, clampNotesFontSize, clampPercent, clampTransitionNumber, clampUnitInterval2 as clampUnitInterval, clampZoomScale, clearAllLocalViewerData, clearAudienceContent, clearLocalAwareness, clearMotionPath, clearStoredViewerPrefs, cloneElementForPaste, cloneHistorySnapshot, cloneSlide, cloneTemplateElementsBySlideId, collectImagePaths, collectMediaElements, collectUsedFonts, colorWithOpacity, comparePresentation, compileEquationTemplateMathMl, compileLatexEquation, computeAllNotesPages, computeColumnBoundaries, computeEntranceAnimationDelay, computeHandoutLayout, computeInlineEditorRect, computeKeyboardInset, computeLayout, computeLayoutOptions, computeMarqueeHitIds, computeMergeCellDown, computeMergeCellRight, computeResizedColumnWidths, computeResizedRowHeight, computeScrollDelta, computeSelectionRect, computeSmartArtLayout2 as computeSmartArtLayout, computeSnapToShape, computeSplitCell, computeValueRange, computeValueRangeForChart, computeVirtualRange, convertLatexToOmml, convertOmmlToLatex, convertOmmlToMathMl, copyFormatFromElement, createBackstagePresentation, createBlankSlide, createCollaborationLivePatcher, createDefaultChartElement, createDepartureChannel, createInitialPresentationSnapshot, createPresenceProjector, createPresentationKeyBuffer, createPresentationSessionId, createPresenterShowGuard, createPresenterTimer, createSyncGate, createTouchGestureRecognizer, createViewerOptionsStore, createViewerZoomStore, createWheelStepBuffer, customGeometryPathsToSvgSubpaths, defaultCssVars, defaultRadius, defaultThemeColors, deleteAutosaveSnapshot, deleteSection, deleteTableColumn, deleteTableRow, deleteTagFromCollections, demoteSmartArtNode, deriveSlideFieldContext, detectOrientation, detectTouchDevice, distributeElements, downloadBlob, downloadDataUrl, dragAnchorViewY, dragValueForPart, drawingShapeLabelColor, elementActionToPptxAction, encodeGif, endAudienceDisplay, ensureActionAffordanceStyles, erasePresentationInkAt, exportDeckJson, extraQuickAccessCommands, extractPathPoints, filterCommands, filterRenderedElements, findChartPartTarget, findMediaElementByElementId, findSmartArtNodeText, firstShowSlideIndex, flattenTagCollections, forgetSessionDeck, formatAxisValue, formatAxisValueWithUnits, formatBackstageDate, formatBackstageSize, formatBytes, formatCommentTimestamp, formatElapsed, formatMobileElapsed, formatRelativeTime, formatSlideCounter, formatTime, formatVersionTimestamp, fpsToFrameIntervalMs, generateBroadcastRoomId, generateElementId, generateLogTicks, generateNoteLineCount, generatePackageReadme, generatePressureCircles, generateTicks, getAnimationInitialStyle, getAriaLabel, getAriaRole, getAriaRoleDescription, getCachedResult, getCalloutLeaderLineGeometry, getCalloutViewBoxBounds, getCellDiagonalBorders, getChartStylePalette, getCommentMarkerPosition, getCompoundLineBorderWidth, getCompoundLineBoxShadow, getCompoundLineOffsets, getCompoundLineWidths, getComputedEffectStyle, getConnectionSites, getContentPartReplayStyles, getCssBorderDashStyle, getDisplayUnitLabel, getDuotoneCachedResult, getEffectDagFilter, getElementLabel, getElementTransform, getElementTransformWithoutRotation, getGradientTileFlipCss, getGradientTileRectCss, getGroupChildParentFill, getImageColorWashStyle, getImageEffectsFilter, getImageEffectsOpacity, getImageFitStyle, getImageSvgFilters, getInkReplayStyles, getInlineEditorSelection, getKinsokuLineBreakStyles, getLocalStorageUsageSummary, getNotesPrintableArea, getOleBadgeLabel, getOleObjectTypeLabel, getOleTypeColor, getOleTypeLabel, getOverflowSegments, getPatternSvg, getPendingSelectionRestore, getPresetShapeClipPath, getPrintableArea, getResolvedShapeClipPath, getRoundRectRadiusPx2, getSecondaryValueAxis, getSessionTabId, getShapeAdjustmentHandleDescriptor, getSlideBackgroundStyle, getSlideTransitionAnimations, getSoftEdgeFilterId, getSoftEdgeSvgFilter, getSubstituteFontFamily, getSvgStrokeDasharray, getTextAlphaOpacity, getTextCompensationTransform, getWarpPath, groupElements, groupIntoParagraphs, groupSlidesBySection, guidePxToEmu, handleReadingViewKey, hasCopyableFormat, hasDistinctScriptFonts, hasPressureVariation, hasShapeProperties, hasShowSlideAfter, hasTextProperties, hexToRgbChannels2 as hexToRgbChannels, hiddenSlideCue, insertTableColumn, insertTableRow, isActionHidden, isBlackboardActive, isBrowserOpenableMime, isCalloutShape, isCellInRect, isEditableMotionPath, isEditableTextElement, isEditorTextInputTarget, isElementActionable, isElementRendered, isExportAbortError, isHollowShapeElement, isIdentityRectClip, isImageLikeElement, isInkElement, isKeyboardOpen, isLinkedTextBox, isMixedContentBlocked, isMobileViewport, isPpactionUrl, isPresentationAdvanceClick, isPresentationSessionMessage, isStrokeOnlyPresetElement, isTemplateElement, isTemplateElementId2 as isTemplateElementId, isUrlSafe, lastShowSlideIndex, listAutosaveSnapshots, listBackstageRecentFiles, loadAudienceContent, loadSessionDeck, makeCloneId, makeSlideId, mapEditingWheel, mapEditorKey, mapOutlineKey, mapPresentationKey, mapPresentationWheel, mayLeaveSlideShow, mediaFallbackIcon, mediaFallbackLabelKey, mediaFallbackVisual, mediaPlaybackAttributes, mediaTransportVisible, mergeAdditiveSelection, mergeCells, mergePresentationSnapshot, mergeShapes, mergeSlideTransition, mobileElapsedSince, mobileSlideCounter, morphOptionToMode, motionPathEndPixel, motionPathFamilyLabelKey, motionPathFor, motionPathPresetIdForPath, motionPathPresetLabelKey, motionPathPresetsByFamily, motionPathToSvgD, mountModel3D, mountSurfaceChart3D, movePresenterPointer, moveQuickAccessCommand, moveSectionDown, moveSectionUp, moveSlidesToSection, newTableElement, nextPresentedSlide, nextShowSlideIndex, normalizeColorsForCapture, normalizeHexColor, normalizeStrokeDashType, normalizeValue, notesSegmentsToSpans, observeYDocSlides, ooxmlDashToCssBorderStyle, ooxmlGradientAngleToCssDegrees, openNativeEyeDropper, openPptxFile, openReadingView, openUrlInNewTab, paintedStrokeWidth, paletteColor, parseDrawingColor, parseDrawingColorOpacity, parsePanoseString, parsePpactionUrl, pickSupportedMimeType, pieceLetterSpacing, placeAudienceWindow, placeCaretAtEnd, polygonsToSvgPath, pptxActionToElementAction, preprocessCssForCapture, presentationInkPath, presenterElapsed, presenterNextDisabled, presenterPaneAdvancesOnClick, presenterPrevDisabled, presenterTimerProgress, pressuresToWidths, previousShowSlideIndex, printPropertiesFrameSlides, printPropertiesSlidesPerPage, promoteSmartArtNode, proportionalLineHeight, publishLiveGeometry, publishLiveInlineText, quickStyleSwatchCss, reResolveSlideColors, readBackstageRecentFile, readSlidesFromYDoc, readStoredViewerPrefs, readViewportMetrics, readingViewFitScale, rebuildDrawingShapesIfCleared, rebuildTableStructureInRawXml, reconcileSlidesInYDoc, recordProgressPercent, rectToCells, registerCollaborationTeardown, registerPersistentAudio, remapTextToSegments, rememberSessionDeck, removeChartCategory, removeChartSeries, removeLastTableElementColumn, removeLastTableElementRow, removeQuickAccessCommand, removeSmartArtNode, removeTableElementColumn, removeTableElementRow, renameSection, reorderSmartArtNode, rerouteConnectorsForMovedElements, resetPresenterTimer, resolveActionType, resolveAudienceScreenPlacement, resolveAutoAdvanceDelayMs, resolveAutoFitFontScale, resolveCssTextAlign, resolveDrawingShapeNodeId, resolveElementActionAffordance, resolveFontForScript, resolveFontRefIdx, resolveGroupChildFill, resolveInkColor, resolveInkOpacity, resolveInkWidth, resolveMetricTrackingPx, resolveOleType, resolveParagraphAlign, resolveParagraphRtl, resolveParagraphStrutFontSize, resolvePictureBullet, resolveProfileInitial, resolveRegionCode, resolveShowSlideIndexes, resolveThemeCatalogEntry, resolveTitleBarStatusKey, resolveTransitionDurationMs, resolveTransportForServerUrl, resolveUnderlineDecorationStyle, resolveViewerAddinRows, restoreSegmentSelection, restoreSessionDeck, revealedSmartArtNodeCount, rulerDragToGuidePosition, runMediaCommand, runPresentationAction, safeOpenUrl, sanitizeColor, sanitizeDownloadFilename, sanitizeGradientStops, sanitizeMathMl, saveAutosaveSnapshot, saveViewerProfile, scanAvailableFontFamilies, schemaLabel, segmentByScript, segmentFrameCount, sendBackward, sendToBack, sequentialColorScale, seriesColor2 as seriesColor, setCachedResult, setChartAxisGridlineStyle, setChartAxisLogScale, setChartAxisTitleStyle, setChartCategoryLabel, setChartCellValue, setChartDataPointExplosion, setChartDataPointFill, setChartDataPointLabel, setChartDataPointMarker, setChartSeriesChartType, setChartSeriesMarker, setDuotoneCachedResult, setMotionPath, setMotionPathEnd, setPendingSelectionRestore, setSmartArtNodeStyle, setTableElementCellText, shadeColor2, shouldAutoFollowBroadcaster, shouldCommitSmartArtNodeText, shouldConfirmExternalHyperlink, shouldLoopContinuously, shouldUseSvgWarp, slideProgressPercent, slideStatusLabel, snapBoxToGrid, splitCell, splitRunForMetrics, splitSeriesByAxis, stepPresenterZoom, stopAllPersistentAudio, storeAudienceContent, strokeOutlineViewBox, substituteFieldText, suppressesCssBorder, svgGradientFillRef, svgLineCap, svgPathToPolygons, swapPresentationWindows, switchSmartArtLayout, templateSchemeFromTheme, text3dEmuToPt, text3dPtToEmu, textBuildSpanStyle, themeColorLabel, themeColorSchemesEqual, themeToCssVars, tintColor2, toCssTextOrientation, toCssVerticalDirection, toCssWritingMode, toSlideIndex, toggleBlackboard, togglePresenterTimer, toggleText3dExtrusion, transformTextCase, updateCellTextInRawXml, updateCellTextStyleInRawXml, updateMergeAttrsInRawXml, updateSmartArtNodeText, updateTagInCollections, validateRoomId, valueToY, vermilionDarkColors, vermilionDarkTheme, vermilionLightColors, vermilionLightTheme, vermilionRadius, viewerOptionsToPreferences, warpPreviewPath, withChartPointValue, withChartTitle, withFrameSlides, withSlidesPerPage, writeStoredViewerPrefs };
125103
+ export { ACTION_BUTTON_PRESETS, ACTION_INDICATOR_CLASS, ACTION_INDICATOR_ICON_PATH, ARTISTIC_EFFECTS, AVATAR_COLOR_SWATCHES, BACKSTAGE_NAV, BACKSTAGE_TEMPLATES, BEVEL_PRESETS, BROADCAST_THROTTLE_MS, CATEGORIES, CHARACTER_SPACING_OPTIONS, COLOR_MAP_ALIAS_KEYS, COMMON_FONTS, CONNECTION_TIMEOUT_MS, DEBOUNCE_MS, DEFAULT_BROADCAST_SERVER_URL, DEFAULT_COLOR_CHANGE_TOLERANCE, DEFAULT_COLOR_MAP, DEFAULT_FONT_FAMILY, DEFAULT_INSERT_CHART_KIND, DEFAULT_MOTION_PATH_PRESET_ID, DEFAULT_PALETTE2, DEFAULT_QUICK_ACCESS_COMMAND_IDS, DEFAULT_ROW_HEIGHT, DEFAULT_VIEWER_OPTIONS, DEFAULT_VIEWER_PROFILE, DEFAULT_VIRTUAL_OVERSCAN, DIRECTIONAL_PRESETS, DUOTONE_PRESETS, ELEMENT_ACTION_TYPE_OPTIONS, EMPHASIS_PRESET_VALUES, ENTRANCE_PRESET_VALUES, EQUATION_TEMPLATES, EXIT_PRESET_VALUES, EXPANDED_MAX_HEIGHT, EXPORT_ASSEMBLING_PERCENT, EXPORT_DONE_PERCENT, EncryptedFileError, FILL_MODE_OPTIONS, FILL_PATTERN_LABEL_KEYS, GRADIENT_TYPE_OPTIONS, HANDOUT_OPTIONS, HIDDEN_SLIDE_LABEL_KEY, HIDDEN_SLIDE_SLASH_GRADIENT, HIGHLIGHTER_COLORS, INDENT_PX, INK_REPLAY_KEYFRAMES, INSERT_CHART_TYPES, LBL, LINK_TOOLTIP_CLASS, LINK_TOOLTIP_HINT_CLASS, LINK_TOOLTIP_HOST_CLASS, LINK_TOOLTIP_LABEL_CLASS, LINK_TOOLTIP_PANEL_CLASS, LOCAL_SYNC_ORIGIN, MATERIAL_PRESETS, MAX_INDENT_LEVEL, MAX_ZOOM_SCALE, MEDIA_CHROME_ATTRIBUTE, MIN_ZOOM_SCALE, MOBILE_BREAKPOINT, MOTION_PATH_FAMILIES, NOTES_FONT_SIZE_DEFAULT, NOTES_FONT_SIZE_MAX, NOTES_FONT_SIZE_MIN, NOTES_FONT_SIZE_STEP, NUM, OUTLINE_LEVEL_ATTR, OUTLINE_ROW_ATTR, OUTLINE_SLIDE_ATTR, OUTLINE_VIEW_ATTR, PATTERN_OPTIONS, PEN_COLORS, PRESENTATION_CHANNEL_NAME, PRESENTATION_HASH, PRESENTATION_MESSAGE_ORIGIN, PRESENTATION_NONCE_KEY, PRESENTATION_STAGE_ATTRIBUTE, PRESENTER_CONSOLE_CLASSES, PRESENTER_CONSOLE_CONTROLS, PRESENTER_NAVIGATOR_LABEL_KEYS, PRESENT_TOOLBAR_CLASSES, PRESETS, PRESET_THEMES, PptxHandler, PptxMarkdownConverter, PresentationAnimationController, QUICK_ACCESS_COMMAND_CATALOG, READING_VIEW_ATTR, READING_VIEW_COUNTER_ATTR, READING_VIEW_STAGE_ATTR, RULER_FONT_SIZE, RULER_THICKNESS, SECTION_HEADING, SEL, SHAPE_PRESET_DEFS, SHAPE_QUICK_STYLES, SHORTCUT_REFERENCE_ITEMS, SLIDE_TEMPLATES, SLIDE_TRANSITION_KEYFRAMES, SLIDE_TRANSITION_OPTIONS, SLIDE_VIRTUALIZATION_THRESHOLD, SMARTART_COLOR_SCHEME_LABEL_KEYS, SMARTART_STYLE_LABEL_KEYS, STATUS_BAR_CLASSES, SWITCHABLE_LAYOUT_TYPES, SvgExporter, TABLET_BREAKPOINT, TABLE_STYLE_PRESETS, TAB_ROW_ACTION_CLASSES, TEXT_BUILD_ID_SEP, TEXT_WARP_PRESETS, THEME_CATALOG, THEME_COLOR_SCHEME_KEYS, THEME_COLOR_SLOT_LABEL_KEYS, THEME_PRESETS, TITLE_BAR_CLASSES, TITLE_BAR_DEFAULT_FILE_KEY, TOOLBAR_TABS, TRANSITION_DIR_ARROWS, TRANSITION_ORIENTATION_TYPES, TRANSITION_VALID_DIRECTIONS, ThemePresets, VIEWER_OPTIONS_TABS, VIEWER_PREFS_STORAGE_KEY, VIEWER_SHORTCUT_REFERENCE, WEBM_MIME_CANDIDATES, acceptsPresentationInput, actionAffordanceLabels, activateModalFocus, addChartCategory, addChartSeries, addQuickAccessCommand, addSection, addSmartArtNode, addSmartArtNodeAsChild, addTagToCollections, alignElements, animationEffectLabel, annotationOverlayZIndex, appendPresentationInkPoint, appendTableElementColumn, appendTableElementRow, apply3dEffects, applyAcceptAllSlides, applyAcceptSlide, applyCaseTransformToSegments, applyChartBuildReveal, applyColorChange, applyDuotone, applyFindReplacements, applyFormatToElement, applyMotionPathPreset, applyOutlineEdit, applyPreferenceToOptions, applyReadingViewCommand, applyRehearsalTimings, applyReroutedConnectors, applyResize, applyStyleToSelectedSegments, applyThemeOverrideToSlide, applyThemeToData, attachPresentationVisibilityPause, availableQuickAccessCommands, backstageCardsFor, bringForward, bringToFront, build3DExtrusionData, buildBroadcastViewerUrl, buildCacheKey, buildCalloutLeaderLineSvgPath, buildChartViewModel, buildCollaborationShareUrl, buildContextMenuEntries, buildCreateCollaborationConfig, buildCssGradientFromShapeStyle, buildDirectionGrid, buildDuotoneCacheKey, buildElementClipboardPayload, buildFieldSubstitutionContext, buildGlowBoxShadow, buildHandoutsHtml, buildHollowHitOutline, buildInitialGuides, buildInnerShadowCssFromShapeStyle, buildJoinCollaborationConfig, buildMorphAnimationRules, buildMorphTransitionPlan, buildMotionPathPreview, buildMultiLayerShadowCss, buildNotesHtml, buildNotesPdfBytes, buildOutline, buildOutlineHtml, buildPatternFillCss, buildPresentationAudienceUrl, buildPreviewAnimation, buildPreviewElements, buildPrintDocument, buildPrintHtmlDocument, buildReflectionCss, buildSaveSlides, buildShadowCssFromShapeStyle, buildSlideTemplateContent, buildSlideTemplateSlide, buildSlidesHtml, buildSlidesPdfBytes, buildSmartArt3DModel, buildSmartArtA11y, buildSmartArtPresetData, buildStrokeOutline, buildSummaryZoomView, buildSvgGradientDef, buildTableDataGrid, buildTextBlockStyle, buildTextBody3DSceneStyle, buildTextBuildSpec, buildTextFillCss, buildTextReflectionCss, buildTextRunFilterChain, buildTextShadowCss, buildThemeColorGrid, buildThemeColorMap, buildTree, buildUserFontFaceStyles, canCommitActionType, canGoNext, canGoPrevious, canvasToJpegData, cellStyleToCss, centeredSvgTextLines, chartAreaFill, chartDataChangeType, chartPartToAttrs, clampCropValue, clampNotesFontSize, clampPercent, clampTransitionNumber, clampUnitInterval2 as clampUnitInterval, clampZoomScale, clearAllLocalViewerData, clearAudienceContent, clearLocalAwareness, clearMotionPath, clearStoredViewerPrefs, cloneElementForPaste, cloneHistorySnapshot, cloneSlide, cloneTemplateElementsBySlideId, collectImagePaths, collectMediaElements, collectUsedFonts, colorWithOpacity, comparePresentation, compileEquationTemplateMathMl, compileLatexEquation, computeAllNotesPages, computeColumnBoundaries, computeDrawingViewBox, computeEntranceAnimationDelay, computeHandoutLayout, computeInlineEditorRect, computeKeyboardInset, computeLayout, computeLayoutOptions, computeMarqueeHitIds, computeMergeCellDown, computeMergeCellRight, computeResizedColumnWidths, computeResizedRowHeight, computeScrollDelta, computeSelectionRect, computeSmartArtLayout2 as computeSmartArtLayout, computeSnapToShape, computeSplitCell, computeValueRange, computeValueRangeForChart, computeVirtualRange, convertLatexToOmml, convertOmmlToLatex, convertOmmlToMathMl, copyFormatFromElement, createBackstagePresentation, createBlankSlide, createCollaborationLivePatcher, createDefaultChartElement, createDepartureChannel, createInitialPresentationSnapshot, createPlainNotesSegments, createPresenceProjector, createPresentationKeyBuffer, createPresentationSessionId, createPresenterShowGuard, createPresenterTimer, createSyncGate, createTouchGestureRecognizer, createViewerOptionsStore, createViewerZoomStore, createWheelStepBuffer, customGeometryPathsToSvgSubpaths, defaultCssVars, defaultRadius, defaultThemeColors, deleteAutosaveSnapshot, deleteSection, deleteTableColumn, deleteTableRow, deleteTagFromCollections, demoteSmartArtNode, deriveSlideFieldContext, detectOrientation, detectTouchDevice, distributeElements, downloadBlob, downloadDataUrl, dragAnchorViewY, dragValueForPart, elementActionToPptxAction, encodeGif, endAudienceDisplay, ensureActionAffordanceStyles, erasePresentationInkAt, escapeHtml22 as escapeHtml2, exportDeckJson, extraQuickAccessCommands, extractPathPoints, filterCommands, filterRenderedElements, findChartPartTarget, findInSlides, findMediaElementByElementId, findSmartArtNodeText, firstShowSlideIndex, fitFontSize, flattenTagCollections, forgetSessionDeck, formatAxisValue, formatAxisValueWithUnits, formatBackstageDate, formatBackstageSize, formatBytes, formatCommentTimestamp, formatElapsed, formatMobileElapsed, formatRelativeTime, formatSlideCounter, formatTime, formatVersionTimestamp, fpsToFrameIntervalMs, generateBroadcastRoomId, generateElementId, generateLogTicks, generateNoteLineCount, generatePackageReadme, generatePressureCircles, generateTicks, getAnimationInitialStyle, getAriaLabel, getAriaRole, getAriaRoleDescription, getCachedResult, getCalloutLeaderLineGeometry, getCalloutViewBoxBounds, getCellDiagonalBorders, getChartStylePalette, getCommentMarkerPosition, getCompoundLineBorderWidth, getCompoundLineBoxShadow, getCompoundLineOffsets, getCompoundLineWidths, getComputedEffectStyle, getConnectionSites, getContentPartReplayStyles, getCssBorderDashStyle, getCurrentParagraphIndex, getDisplayUnitLabel, getDuotoneCachedResult, getEffectDagFilter, getElementLabel, getElementTransform, getElementTransformWithoutRotation, getGradientTileFlipCss, getGradientTileRectCss, getGroupChildParentFill, getImageColorWashStyle, getImageEffectsFilter, getImageEffectsOpacity, getImageFitStyle, getImageSvgFilters, getInkReplayStyles, getInlineEditorSelection, getKinsokuLineBreakStyles, getLocalStorageUsageSummary, getNotesPrintableArea, getOleBadgeLabel, getOleObjectTypeLabel, getOleTypeColor, getOleTypeLabel, getOverflowSegments, getPatternSvg, getPendingSelectionRestore, getPresetShapeClipPath, getPrintableArea, getResolvedShapeClipPath, getRoundRectRadiusPx2, getSecondaryValueAxis, getSessionTabId, getShapeAdjustmentHandleDescriptor, getSlideBackgroundStyle, getSlideTransitionAnimations, getSoftEdgeFilterId, getSoftEdgeSvgFilter, getSubstituteFontFamily, getSvgStrokeDasharray, getTableCellBandStyle, getTextAlphaOpacity, getTextCompensationTransform, getWarpPath, groupElements, groupIntoParagraphs, groupSlidesBySection, guidePxToEmu, handleReadingViewKey, hasCopyableFormat, hasDistinctScriptFonts, hasPressureVariation, hasShapeProperties, hasShowSlideAfter, hasTextProperties, hexToRgbChannels2 as hexToRgbChannels, hiddenSlideCue, insertTableColumn, insertTableRow, isActionHidden, isBlackboardActive, isBrowserOpenableMime, isCalloutShape, isCellInRect, isEditableMotionPath, isEditableTextElement, isEditorTextInputTarget, isElementActionable, isElementRendered, isExportAbortError, isHollowShapeElement, isIdentityRectClip, isImageLikeElement, isInkElement, isKeyboardOpen, isLinkedTextBox, isMixedContentBlocked, isMobileViewport, isPpactionUrl, isPresentationAdvanceClick, isPresentationSessionMessage, isStrokeOnlyPresetElement, isTemplateElementId2 as isTemplateElementId, isUrlSafe, lastShowSlideIndex, listAutosaveSnapshots, listBackstageRecentFiles, loadAudienceContent, loadSessionDeck, makeCloneId, makeSlideId, mapEditingWheel, mapEditorKey, mapOutlineKey, mapPresentationKey, mapPresentationWheel, mayLeaveSlideShow, mediaFallbackIcon, mediaFallbackLabelKey, mediaFallbackVisual, mediaPlaybackAttributes, mediaTransportVisible, mergeAdditiveSelection, mergeCells, mergePresentationSnapshot, mergeShapes, mergeSlideTransition, mobileElapsedSince, mobileSlideCounter, morphOptionToMode, motionPathEndPixel, motionPathFamilyLabelKey, motionPathFor, motionPathPresetIdForPath, motionPathPresetLabelKey, motionPathPresetsByFamily, motionPathToSvgD, mountModel3D, mountSurfaceChart3D, movePresenterPointer, moveQuickAccessCommand, moveSectionDown, moveSectionUp, moveSlidesToSection, newTableElement, nextPresentedSlide, nextShowSlideIndex, nodeOpacity, normalizeColorsForCapture, normalizeHexColor, normalizeSegments, normalizeStrokeDashType, normalizeValue, notesSegmentsToSpans, observeYDocSlides, ooxmlGradientAngleToCssDegrees, openNativeEyeDropper, openPptxFile, openReadingView, openUrlInNewTab, paintedStrokeWidth, paletteColor, paletteColour, paragraphsToSegments, parseDrawingColor, parseDrawingColorOpacity, parsePanoseString, parsePpactionUrl, parseSegmentsFromRichEditor, partitionTemplateElements, pickSupportedMimeType, pieceLetterSpacing, placeAudienceWindow, placeCaretAtEnd, polygonsToSvgPath, pptxActionToElementAction, preprocessCssForCapture, presentationInkPath, presenterElapsed, presenterNextDisabled, presenterPaneAdvancesOnClick, presenterPrevDisabled, presenterTimerProgress, pressuresToWidths, previousShowSlideIndex, printPropertiesFrameSlides, printPropertiesSlidesPerPage, projectDrawingShapes, promoteSmartArtNode, publishLiveGeometry, publishLiveInlineText, quickStyleSwatchCss, reResolveSlideColors, readBackstageRecentFile, readSlidesFromYDoc, readStoredViewerPrefs, readViewportMetrics, readingViewFitScale, rebuildDrawingShapesIfCleared, rebuildTableStructureInRawXml, reconcileSlidesInYDoc, recordProgressPercent, rectToCells, registerCollaborationTeardown, registerPersistentAudio, remapTextToSegments, rememberSessionDeck, removeChartCategory, removeChartSeries, removeLastTableElementColumn, removeLastTableElementRow, removeQuickAccessCommand, removeSmartArtNode, removeTableElementColumn, removeTableElementRow, renameSection, reorderSmartArtNode, rerouteConnectorsForMovedElements, resetPresenterTimer, resolveActionType, resolveAudienceScreenPlacement, resolveAutoAdvanceDelayMs, resolveAutoFitFontScale, resolveCssTextAlign, resolveDrawingShapeNodeId, resolveElementActionAffordance, resolveFontForScript, resolveGroupChildFill, resolveInkColor, resolveInkOpacity, resolveInkWidth, resolveMetricTrackingPx, resolveOleType, resolvePalette, resolveParagraphAlign, resolveParagraphRtl, resolveParagraphSpacing, resolveParagraphStrutFontSize, resolvePictureBullet, resolveProfileInitial, resolveRegionCode, resolveShowSlideIndexes, resolveThemeCatalogEntry, resolveTitleBarStatusKey, resolveTransitionDurationMs, resolveTransportForServerUrl, resolveUnderlineDecorationStyle, resolveViewerAddinRows, restoreSegmentSelection, restoreSessionDeck, revealedSmartArtNodeCount, rulerDragToGuidePosition, runMediaCommand, runPresentationAction, safeOpenUrl, sanitizeColor, sanitizeDownloadFilename, sanitizeGradientStops, sanitizeMathMl, saveAutosaveSnapshot, saveViewerProfile, scanAvailableFontFamilies, schemaLabel, segmentByScript, segmentFrameCount, segmentsToEditorHtml, segmentsToParagraphs, segmentsToPlainText, sendBackward, sendToBack, sequentialColorScale, seriesColor2 as seriesColor, setCachedResult, setChartAxisGridlineStyle, setChartAxisLogScale, setChartAxisTitleStyle, setChartCategoryLabel, setChartCellValue, setChartDataPointExplosion, setChartDataPointFill, setChartDataPointLabel, setChartDataPointMarker, setChartSeriesChartType, setChartSeriesMarker, setDuotoneCachedResult, setMotionPath, setMotionPathEnd, setPendingSelectionRestore, setSmartArtNodeStyle, setTableElementCellText, shouldAutoFollowBroadcaster, shouldCommitSmartArtNodeText, shouldConfirmExternalHyperlink, shouldLoopContinuously, shouldUseSvgWarp, slideProgressPercent, slideStatusLabel, snapBoxToGrid, splitCell, splitRunForMetrics, splitSeriesByAxis, stepPresenterZoom, stopAllPersistentAudio, storeAudienceContent, strokeOutlineViewBox, styleShadow, styleShadowFilter, styleStroke, substituteFieldText, suppressesCssBorder, svgGradientFillRef, svgLineCap, svgPathToPolygons, swapPresentationWindows, switchSmartArtLayout, templateSchemeFromTheme, text3dEmuToPt, text3dPtToEmu, textBuildSpanStyle, themeColorLabel, themeColorSchemesEqual, themeToCssVars, toCssTextOrientation, toCssVerticalDirection, toCssWritingMode, toSlideIndex, toggleBlackboard, togglePresenterTimer, toggleText3dExtrusion, transformTextCase, treeDepth2 as treeDepth, treeWidth2 as treeWidth, truncate, updateCellTextInRawXml, updateCellTextStyleInRawXml, updateMergeAttrsInRawXml, updateSmartArtNodeText, updateTagInCollections, validateRoomId, valueToY, vermilionDarkColors, vermilionDarkTheme, vermilionLightColors, vermilionLightTheme, vermilionRadius, viewerOptionsToPreferences, warpPreviewPath, withChartPointValue, withChartTitle, withFrameSlides, withSlidesPerPage, writeStoredViewerPrefs };