pptx-react-viewer 1.16.2 → 1.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (114) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/dist/{Model3DScene-DI6FSWDL.mjs → Model3DScene-QHDYQXL2.mjs} +2 -2
  3. package/dist/Model3DScene-QHDYQXL2.mjs.br +0 -0
  4. package/dist/Model3DScene-QHDYQXL2.mjs.gz +0 -0
  5. package/dist/{Model3DScene-PE7L24QK.js → Model3DScene-YA4F63DT.js} +3 -3
  6. package/dist/Model3DScene-YA4F63DT.js.br +0 -0
  7. package/dist/Model3DScene-YA4F63DT.js.gz +0 -0
  8. package/dist/PowerPointViewer-C4d7SKZf.d.ts +21 -0
  9. package/dist/PowerPointViewer-C4d7SKZf.d.ts.map +1 -0
  10. package/dist/{SurfaceChart3DScene-NMLG3BQK.mjs → SurfaceChart3DScene-GUAS2NWQ.mjs} +2 -2
  11. package/dist/SurfaceChart3DScene-GUAS2NWQ.mjs.br +0 -0
  12. package/dist/SurfaceChart3DScene-GUAS2NWQ.mjs.gz +0 -0
  13. package/dist/{SurfaceChart3DScene-AJLD3VW6.js → SurfaceChart3DScene-TGNJHTJQ.js} +3 -3
  14. package/dist/SurfaceChart3DScene-TGNJHTJQ.js.br +0 -0
  15. package/dist/SurfaceChart3DScene-TGNJHTJQ.js.gz +0 -0
  16. package/dist/{chunk-MZYQUURK.js → chunk-3P6O7ZDM.js} +420 -420
  17. package/dist/chunk-3P6O7ZDM.js.br +0 -0
  18. package/dist/chunk-3P6O7ZDM.js.gz +0 -0
  19. package/dist/{chunk-46HNHBHF.mjs → chunk-G22EWPLH.mjs} +134 -4
  20. package/dist/chunk-G22EWPLH.mjs.br +0 -0
  21. package/dist/chunk-G22EWPLH.mjs.gz +0 -0
  22. package/dist/{chunk-WMRS37KQ.js → chunk-JWS3RQKN.js} +160 -28
  23. package/dist/chunk-JWS3RQKN.js.br +0 -0
  24. package/dist/chunk-JWS3RQKN.js.gz +0 -0
  25. package/dist/{chunk-JBCVQFWI.mjs → chunk-LLHFNGAF.mjs} +4 -4
  26. package/dist/chunk-LLHFNGAF.mjs.br +0 -0
  27. package/dist/chunk-LLHFNGAF.mjs.gz +0 -0
  28. package/dist/{chunk-DZF4BNRP.mjs → chunk-LNSHC2Z5.mjs} +117 -156
  29. package/dist/chunk-LNSHC2Z5.mjs.br +0 -0
  30. package/dist/chunk-LNSHC2Z5.mjs.gz +0 -0
  31. package/dist/{chunk-YAQOTVZT.js → chunk-MGLRKGCH.js} +146 -66
  32. package/dist/chunk-MGLRKGCH.js.br +0 -0
  33. package/dist/chunk-MGLRKGCH.js.gz +0 -0
  34. package/dist/{chunk-X7ILBQEY.mjs → chunk-XRYREYXC.mjs} +146 -66
  35. package/dist/chunk-XRYREYXC.mjs.br +0 -0
  36. package/dist/chunk-XRYREYXC.mjs.gz +0 -0
  37. package/dist/{chunk-VRASDGWX.js → chunk-XW5OMXW6.js} +915 -954
  38. package/dist/chunk-XW5OMXW6.js.br +0 -0
  39. package/dist/chunk-XW5OMXW6.js.gz +0 -0
  40. package/dist/{dist-VMFNUFUX.js → dist-2ZAH7U6U.js} +507 -507
  41. package/dist/dist-2ZAH7U6U.js.br +0 -0
  42. package/dist/dist-2ZAH7U6U.js.gz +0 -0
  43. package/dist/{dist-JJ2NI2O3.mjs → dist-MXDC6YTS.mjs} +1 -1
  44. package/dist/dist-MXDC6YTS.mjs.br +0 -0
  45. package/dist/dist-MXDC6YTS.mjs.gz +0 -0
  46. package/dist/hooks-unstable.d.ts +9683 -1886
  47. package/dist/hooks-unstable.d.ts.map +1 -0
  48. package/dist/hooks-unstable.js +74 -74
  49. package/dist/hooks-unstable.js.br +0 -0
  50. package/dist/hooks-unstable.js.gz +0 -0
  51. package/dist/hooks-unstable.mjs +3 -3
  52. package/dist/hooks-unstable.mjs.br +0 -0
  53. package/dist/hooks-unstable.mjs.gz +0 -0
  54. package/dist/i18n.d.ts +27 -1
  55. package/dist/i18n.d.ts.map +1 -0
  56. package/dist/index-XGt7MZpa.d.ts +607 -0
  57. package/dist/index-XGt7MZpa.d.ts.map +1 -0
  58. package/dist/index.d.ts +4753 -10
  59. package/dist/index.d.ts.map +1 -0
  60. package/dist/index.js +18 -18
  61. package/dist/index.js.br +0 -0
  62. package/dist/index.js.gz +0 -0
  63. package/dist/index.mjs +4 -4
  64. package/dist/index.mjs.br +0 -0
  65. package/dist/index.mjs.gz +0 -0
  66. package/dist/types-BK7Nt13M.d.ts +483 -0
  67. package/dist/types-BK7Nt13M.d.ts.map +1 -0
  68. package/dist/viewer/index.d.ts +8008 -88
  69. package/dist/viewer/index.d.ts.map +1 -0
  70. package/dist/viewer/index.js +19 -19
  71. package/dist/viewer/index.js.br +0 -0
  72. package/dist/viewer/index.js.gz +0 -0
  73. package/dist/viewer/index.mjs +4 -4
  74. package/dist/viewer/index.mjs.br +0 -0
  75. package/dist/viewer/index.mjs.gz +0 -0
  76. package/package.json +6 -5
  77. package/dist/Model3DScene-DI6FSWDL.mjs.br +0 -0
  78. package/dist/Model3DScene-DI6FSWDL.mjs.gz +0 -0
  79. package/dist/Model3DScene-PE7L24QK.js.br +0 -0
  80. package/dist/Model3DScene-PE7L24QK.js.gz +0 -0
  81. package/dist/PowerPointViewer-BsaUH3ZT.d.ts +0 -26
  82. package/dist/PowerPointViewer-Nxku67uL.d.mts +0 -26
  83. package/dist/SurfaceChart3DScene-AJLD3VW6.js.br +0 -0
  84. package/dist/SurfaceChart3DScene-AJLD3VW6.js.gz +0 -0
  85. package/dist/SurfaceChart3DScene-NMLG3BQK.mjs.br +0 -0
  86. package/dist/SurfaceChart3DScene-NMLG3BQK.mjs.gz +0 -0
  87. package/dist/chunk-46HNHBHF.mjs.br +0 -0
  88. package/dist/chunk-46HNHBHF.mjs.gz +0 -0
  89. package/dist/chunk-DZF4BNRP.mjs.br +0 -0
  90. package/dist/chunk-DZF4BNRP.mjs.gz +0 -0
  91. package/dist/chunk-JBCVQFWI.mjs.br +0 -0
  92. package/dist/chunk-JBCVQFWI.mjs.gz +0 -0
  93. package/dist/chunk-MZYQUURK.js.br +0 -0
  94. package/dist/chunk-MZYQUURK.js.gz +0 -0
  95. package/dist/chunk-VRASDGWX.js.br +0 -0
  96. package/dist/chunk-VRASDGWX.js.gz +0 -0
  97. package/dist/chunk-WMRS37KQ.js.br +0 -0
  98. package/dist/chunk-WMRS37KQ.js.gz +0 -0
  99. package/dist/chunk-X7ILBQEY.mjs.br +0 -0
  100. package/dist/chunk-X7ILBQEY.mjs.gz +0 -0
  101. package/dist/chunk-YAQOTVZT.js.br +0 -0
  102. package/dist/chunk-YAQOTVZT.js.gz +0 -0
  103. package/dist/dist-JJ2NI2O3.mjs.br +0 -0
  104. package/dist/dist-JJ2NI2O3.mjs.gz +0 -0
  105. package/dist/dist-VMFNUFUX.js.br +0 -0
  106. package/dist/dist-VMFNUFUX.js.gz +0 -0
  107. package/dist/hooks-unstable.d.mts +0 -2300
  108. package/dist/i18n.d.mts +0 -1
  109. package/dist/index.d.mts +0 -46
  110. package/dist/types-ui-NG29h55h.d.mts +0 -712
  111. package/dist/types-ui-NG29h55h.d.ts +0 -712
  112. package/dist/usePresenterWindow-DToCijGy.d.ts +0 -1619
  113. package/dist/usePresenterWindow-DeTm-unp.d.mts +0 -1619
  114. package/dist/viewer/index.d.mts +0 -129
@@ -27024,6 +27024,7 @@ var FONT_SUBSTITUTION_MAP = {
27024
27024
  MoolBoran: ["Noto Sans Khmer", "sans-serif"],
27025
27025
  // Decorative / Display
27026
27026
  "Century Gothic": ["URW Gothic", "Futura", "sans-serif"],
27027
+ Oswald: ["Agency FB", "Arial Narrow", "sans-serif"],
27027
27028
  "Franklin Gothic": ["Liberation Sans", "Helvetica Neue", "sans-serif"],
27028
27029
  "Franklin Gothic Medium": ["Liberation Sans", "Helvetica Neue", "sans-serif"],
27029
27030
  Garamond: ["EB Garamond", "Cormorant Garamond", "serif"],
@@ -36846,8 +36847,8 @@ var PptxHandlerRuntime18 = class extends PptxHandlerRuntime17 {
36846
36847
  }
36847
36848
  };
36848
36849
  var PptxHandlerRuntime19 = class _PptxHandlerRuntime4 extends PptxHandlerRuntime18 {
36849
- extractTextRunStyle(runProperties, align, relationshipMap) {
36850
- const style = { align };
36850
+ extractTextRunStyle(runProperties, align, relationshipMap, includeDefaultAlignment = true) {
36851
+ const style = includeDefaultAlignment ? { align } : {};
36851
36852
  if (!runProperties) {
36852
36853
  return style;
36853
36854
  }
@@ -44083,11 +44084,12 @@ var PptxHandlerRuntime42 = class _PptxHandlerRuntime13 extends PptxHandlerRuntim
44083
44084
  if (!source) {
44084
44085
  return true;
44085
44086
  }
44087
+ const typesMatch = source.type === target.type || source.type === "ctrtitle" && target.type === "title" || source.type === "subtitle" && target.type === "body";
44086
44088
  if (source.idx !== void 0 && target.idx !== void 0) {
44087
44089
  if (source.idx !== target.idx) {
44088
44090
  return false;
44089
44091
  }
44090
- if (source.type && target.type && source.type !== target.type) {
44092
+ if (source.type && target.type && !typesMatch) {
44091
44093
  return false;
44092
44094
  }
44093
44095
  return true;
@@ -44095,11 +44097,11 @@ var PptxHandlerRuntime42 = class _PptxHandlerRuntime13 extends PptxHandlerRuntim
44095
44097
  if (source.idx !== void 0 && target.idx === void 0) {
44096
44098
  const singletonTypes = /* @__PURE__ */ new Set(["title", "ctrtitle", "subtitle", "dt", "ftr", "sldnum"]);
44097
44099
  if (source.type && singletonTypes.has(source.type)) {
44098
- return target.type === source.type;
44100
+ return typesMatch;
44099
44101
  }
44100
44102
  return false;
44101
44103
  }
44102
- if (source.type && target.type && source.type !== target.type) {
44104
+ if (source.type && target.type && !typesMatch) {
44103
44105
  return false;
44104
44106
  }
44105
44107
  if (source.type && !target.type) {
@@ -44141,18 +44143,21 @@ var PptxHandlerRuntime43 = class extends PptxHandlerRuntime42 {
44141
44143
  xmlPath(layoutXmlObj, "p:sldLayout", "p:cSld", "p:spTree"),
44142
44144
  expected
44143
44145
  );
44144
- if (layoutContext) {
44145
- return layoutContext;
44146
- }
44147
44146
  const masterPath = this.resolveMasterPathForLayout(layoutPath);
44148
- if (!masterPath) {
44149
- return void 0;
44150
- }
44151
- const masterXmlObj = this.masterXmlMap.get(masterPath);
44152
- return this.findPlaceholderInShapeTree(
44153
- xmlPath(masterXmlObj, "p:sldMaster", "p:cSld", "p:spTree"),
44147
+ const masterContext = masterPath ? this.findPlaceholderInShapeTree(
44148
+ xmlPath(this.masterXmlMap.get(masterPath), "p:sldMaster", "p:cSld", "p:spTree"),
44154
44149
  expected
44155
- );
44150
+ ) : void 0;
44151
+ if (!layoutContext) {
44152
+ return masterContext;
44153
+ }
44154
+ if (!masterContext) {
44155
+ return layoutContext;
44156
+ }
44157
+ return {
44158
+ shape: layoutContext.shape || masterContext.shape ? this.mergeXmlObjects(masterContext.shape, layoutContext.shape) : void 0,
44159
+ picture: layoutContext.picture || masterContext.picture ? this.mergeXmlObjects(masterContext.picture, layoutContext.picture) : void 0
44160
+ };
44156
44161
  }
44157
44162
  mergeXmlObjects(base, override, depth = 0) {
44158
44163
  const MAX_MERGE_DEPTH = 64;
@@ -44205,10 +44210,11 @@ var PptxHandlerRuntime43 = class extends PptxHandlerRuntime42 {
44205
44210
  * otherwise falls back to `type`.
44206
44211
  */
44207
44212
  buildPlaceholderDefaultsKey(phInfo) {
44213
+ const normalizedType = phInfo.type === "ctrtitle" ? "title" : phInfo.type === "subtitle" ? "body" : phInfo.type;
44208
44214
  if (phInfo.idx !== void 0) {
44209
- return phInfo.type ? `${phInfo.type}_${phInfo.idx}` : `_${phInfo.idx}`;
44215
+ return normalizedType ? `${normalizedType}_${phInfo.idx}` : `_${phInfo.idx}`;
44210
44216
  }
44211
- return phInfo.type ?? "body";
44217
+ return normalizedType ?? "body";
44212
44218
  }
44213
44219
  /**
44214
44220
  * Look up merged {@link PlaceholderDefaults} for a shape's placeholder
@@ -44226,44 +44232,52 @@ var PptxHandlerRuntime43 = class extends PptxHandlerRuntime42 {
44226
44232
  const masterPath = this.resolveMasterPathForLayout(layoutPath);
44227
44233
  const masterMap = masterPath ? this.masterPlaceholderDefaultsCache.get(masterPath) : void 0;
44228
44234
  const masterDefaults = masterMap?.get(phKey);
44229
- if (!layoutDefaults && !masterDefaults) {
44235
+ const normalizedType = this.buildPlaceholderDefaultsKey(phInfo).split("_")[0];
44236
+ const masterTextStyleType = phInfo.type === "title" || phInfo.type === "ctrtitle" ? "title" : phInfo.type === "body" || phInfo.type === "obj" || phInfo.type === "subtitle" ? "body" : "other";
44237
+ const masterTextStyles = masterPath ? this.masterTxStylesCache.get(masterPath) : void 0;
44238
+ const masterTextLevels = masterTextStyleType === "title" ? masterTextStyles?.titleStyle : masterTextStyleType === "body" ? masterTextStyles?.bodyStyle : masterTextStyles?.otherStyle;
44239
+ const resolvedMasterDefaults = masterTextLevels ? {
44240
+ type: masterDefaults?.type ?? normalizedType,
44241
+ ...masterDefaults,
44242
+ levelStyles: this.mergePlaceholderLevelStyles(
44243
+ masterTextLevels,
44244
+ masterDefaults?.levelStyles
44245
+ )
44246
+ } : masterDefaults;
44247
+ if (!layoutDefaults && !resolvedMasterDefaults) {
44230
44248
  return void 0;
44231
44249
  }
44232
- if (!masterDefaults) {
44250
+ if (!resolvedMasterDefaults) {
44233
44251
  return layoutDefaults;
44234
44252
  }
44235
44253
  if (!layoutDefaults) {
44236
- return masterDefaults;
44254
+ return resolvedMasterDefaults;
44237
44255
  }
44238
44256
  const merged = {
44239
44257
  type: layoutDefaults.type,
44240
- idx: layoutDefaults.idx ?? masterDefaults.idx,
44241
- bodyInsetLeft: layoutDefaults.bodyInsetLeft ?? masterDefaults.bodyInsetLeft,
44242
- bodyInsetTop: layoutDefaults.bodyInsetTop ?? masterDefaults.bodyInsetTop,
44243
- bodyInsetRight: layoutDefaults.bodyInsetRight ?? masterDefaults.bodyInsetRight,
44244
- bodyInsetBottom: layoutDefaults.bodyInsetBottom ?? masterDefaults.bodyInsetBottom,
44245
- textAnchor: layoutDefaults.textAnchor ?? masterDefaults.textAnchor,
44246
- autoFit: layoutDefaults.autoFit ?? masterDefaults.autoFit,
44247
- textWrap: layoutDefaults.textWrap ?? masterDefaults.textWrap,
44248
- promptText: layoutDefaults.promptText ?? masterDefaults.promptText
44258
+ idx: layoutDefaults.idx ?? resolvedMasterDefaults.idx,
44259
+ bodyInsetLeft: layoutDefaults.bodyInsetLeft ?? resolvedMasterDefaults.bodyInsetLeft,
44260
+ bodyInsetTop: layoutDefaults.bodyInsetTop ?? resolvedMasterDefaults.bodyInsetTop,
44261
+ bodyInsetRight: layoutDefaults.bodyInsetRight ?? resolvedMasterDefaults.bodyInsetRight,
44262
+ bodyInsetBottom: layoutDefaults.bodyInsetBottom ?? resolvedMasterDefaults.bodyInsetBottom,
44263
+ textAnchor: layoutDefaults.textAnchor ?? resolvedMasterDefaults.textAnchor,
44264
+ autoFit: layoutDefaults.autoFit ?? resolvedMasterDefaults.autoFit,
44265
+ textWrap: layoutDefaults.textWrap ?? resolvedMasterDefaults.textWrap,
44266
+ promptText: layoutDefaults.promptText ?? resolvedMasterDefaults.promptText
44249
44267
  };
44250
- if (layoutDefaults.levelStyles || masterDefaults.levelStyles) {
44251
- const mergedLevels = {};
44252
- const allLevelKeys = /* @__PURE__ */ new Set([
44253
- ...Object.keys(layoutDefaults.levelStyles ?? {}),
44254
- ...Object.keys(masterDefaults.levelStyles ?? {})
44255
- ]);
44256
- for (const keyStr of allLevelKeys) {
44257
- const key = Number.parseInt(keyStr, 10);
44258
- const layoutLevel = layoutDefaults.levelStyles?.[key];
44259
- const masterLevel = masterDefaults.levelStyles?.[key];
44260
- if (layoutLevel && masterLevel) {
44261
- mergedLevels[key] = { ...masterLevel, ...layoutLevel };
44262
- } else {
44263
- mergedLevels[key] = layoutLevel ?? masterLevel;
44264
- }
44265
- }
44266
- merged.levelStyles = mergedLevels;
44268
+ if (layoutDefaults.levelStyles || resolvedMasterDefaults.levelStyles) {
44269
+ merged.levelStyles = this.mergePlaceholderLevelStyles(
44270
+ resolvedMasterDefaults.levelStyles,
44271
+ layoutDefaults.levelStyles
44272
+ );
44273
+ }
44274
+ return merged;
44275
+ }
44276
+ mergePlaceholderLevelStyles(base, override) {
44277
+ const merged = {};
44278
+ for (const key of /* @__PURE__ */ new Set([...Object.keys(base ?? {}), ...Object.keys(override ?? {})])) {
44279
+ const level = Number.parseInt(key, 10);
44280
+ merged[level] = { ...base?.[level], ...override?.[level] };
44267
44281
  }
44268
44282
  return merged;
44269
44283
  }
@@ -45549,7 +45563,11 @@ var PptxHandlerRuntime49 = class _PptxHandlerRuntime17 extends PptxHandlerRuntim
45549
45563
  * for "first-wins" shape-level properties.
45550
45564
  */
45551
45565
  resolveShapeParagraphStyle(p, textStyle, ctx) {
45552
- const pPr = p["a:pPr"];
45566
+ const inheritedParagraph = this.ensureArray(ctx.inheritedTxBody?.["a:p"])[0];
45567
+ const pPr = this.mergeXmlObjects(
45568
+ inheritedParagraph?.["a:pPr"],
45569
+ p["a:pPr"]
45570
+ );
45553
45571
  const paragraphRtl = this.parseOptionalBooleanAttr(pPr?.["@_rtl"]);
45554
45572
  if (paragraphRtl !== void 0 && textStyle.rtl === void 0) {
45555
45573
  textStyle.rtl = paragraphRtl;
@@ -45665,24 +45683,28 @@ var PptxHandlerRuntime49 = class _PptxHandlerRuntime17 extends PptxHandlerRuntim
45665
45683
  const defaultRunStyle = this.extractTextRunStyle(
45666
45684
  pPr?.["a:defRPr"],
45667
45685
  paraAlign,
45668
- ctx.slideRelationshipMap
45686
+ ctx.slideRelationshipMap,
45687
+ false
45669
45688
  );
45670
- const level = Number.parseInt(String(pPr?.["@_lvl"] || "0"), 10);
45671
- const levelKey = `a:lvl${Number.isFinite(level) ? Math.min(Math.max(level + 1, 1), 9) : 1}pPr`;
45689
+ const level = pPr?.["@_lvl"] === void 0 ? -1 : Number.parseInt(String(pPr["@_lvl"]), 10);
45690
+ const levelKey = level === -1 ? "a:defPPr" : `a:lvl${Number.isFinite(level) ? Math.min(Math.max(level + 1, 1), 9) : 1}pPr`;
45672
45691
  const inheritedLevelStyle = this.extractTextRunStyle(
45673
45692
  ctx.inheritedTxBody?.["a:lstStyle"]?.[levelKey]?.["a:defRPr"],
45674
45693
  paraAlign,
45675
- ctx.slideRelationshipMap
45694
+ ctx.slideRelationshipMap,
45695
+ false
45676
45696
  );
45677
45697
  const bodyLevelStyle = this.extractTextRunStyle(
45678
45698
  ctx.txBody?.["a:lstStyle"]?.[levelKey]?.["a:defRPr"],
45679
45699
  paraAlign,
45680
- ctx.slideRelationshipMap
45700
+ ctx.slideRelationshipMap,
45701
+ false
45681
45702
  );
45682
45703
  const endParagraphStyle = this.extractTextRunStyle(
45683
45704
  p?.["a:endParaRPr"],
45684
45705
  paraAlign,
45685
- ctx.slideRelationshipMap
45706
+ ctx.slideRelationshipMap,
45707
+ false
45686
45708
  );
45687
45709
  const mergedDefaultRunStyle = {
45688
45710
  ...ctx.bodyDefaultRunStyle,
@@ -45692,20 +45714,23 @@ var PptxHandlerRuntime49 = class _PptxHandlerRuntime17 extends PptxHandlerRuntim
45692
45714
  ...defaultRunStyle
45693
45715
  };
45694
45716
  if (ctx.effectiveLevelStyles) {
45695
- const normalizedLevel = Number.isFinite(level) ? Math.min(Math.max(level, 0), 8) : 0;
45696
- const phLevel = ctx.effectiveLevelStyles[normalizedLevel] ?? ctx.effectiveLevelStyles[-1];
45717
+ const normalizedLevel = level === -1 ? -1 : Number.isFinite(level) ? Math.min(Math.max(level, 0), 8) : 0;
45718
+ const phLevel = ctx.effectiveLevelStyles[normalizedLevel] ?? ctx.effectiveLevelStyles[-1] ?? (normalizedLevel === -1 ? ctx.effectiveLevelStyles[0] : void 0);
45697
45719
  if (phLevel) {
45698
45720
  this.applyPlaceholderLevelDefaults(mergedDefaultRunStyle, phLevel);
45699
45721
  this.applyPlaceholderLevelDefaults(textStyle, phLevel);
45700
45722
  }
45701
45723
  }
45724
+ if (pPr?.["@_algn"] === void 0 && textStyle.align !== void 0) {
45725
+ paraAlign = textStyle.align;
45726
+ }
45702
45727
  const parMarginLeft = pPr?.["@_marL"] !== void 0 ? Number.parseInt(String(pPr["@_marL"]), 10) / _PptxHandlerRuntime17.EMU_PER_PX : void 0;
45703
45728
  const parIndent = pPr?.["@_indent"] !== void 0 ? Number.parseInt(String(pPr["@_indent"]), 10) / _PptxHandlerRuntime17.EMU_PER_PX : void 0;
45704
45729
  let effectiveMarginLeft = parMarginLeft;
45705
45730
  let effectiveIndent = parIndent;
45706
45731
  if (ctx.effectiveLevelStyles) {
45707
- const normalizedLevel = Number.isFinite(level) ? Math.min(Math.max(level, 0), 8) : 0;
45708
- const phLevel = ctx.effectiveLevelStyles[normalizedLevel] ?? ctx.effectiveLevelStyles[-1];
45732
+ const normalizedLevel = level === -1 ? -1 : Number.isFinite(level) ? Math.min(Math.max(level, 0), 8) : 0;
45733
+ const phLevel = ctx.effectiveLevelStyles[normalizedLevel] ?? ctx.effectiveLevelStyles[-1] ?? (normalizedLevel === -1 ? ctx.effectiveLevelStyles[0] : void 0);
45709
45734
  if (phLevel) {
45710
45735
  if (effectiveMarginLeft === void 0 && phLevel.marginLeft !== void 0) {
45711
45736
  effectiveMarginLeft = phLevel.marginLeft;
@@ -45869,11 +45894,23 @@ var PptxHandlerRuntime50 = class extends PptxHandlerRuntime49 {
45869
45894
  continue;
45870
45895
  }
45871
45896
  const items = this.ensureArray(p[key]);
45872
- for (const item of items) {
45897
+ const rawBreaks = p["a:br"];
45898
+ const breakCount = Array.isArray(rawBreaks) ? rawBreaks.length : rawBreaks === void 0 ? 0 : 1;
45899
+ const insertCollapsedBreaks = key === "a:r" && items.length > 1 && breakCount > 0;
45900
+ for (const [itemIndex, item] of items.entries()) {
45873
45901
  switch (key) {
45874
- case "a:r":
45902
+ case "a:r": {
45875
45903
  processRun(item);
45904
+ if (insertCollapsedBreaks && itemIndex < Math.min(items.length - 1, breakCount)) {
45905
+ parts.push("\n");
45906
+ segments.push({
45907
+ text: "\n",
45908
+ style: { ...mergedDefaultRunStyle },
45909
+ isLineBreak: true
45910
+ });
45911
+ }
45876
45912
  break;
45913
+ }
45877
45914
  case "a:fld":
45878
45915
  processField(item);
45879
45916
  break;
@@ -45891,6 +45928,9 @@ var PptxHandlerRuntime50 = class extends PptxHandlerRuntime49 {
45891
45928
  processAlternateContent(item);
45892
45929
  break;
45893
45930
  case "a:br": {
45931
+ if (insertCollapsedBreaks) {
45932
+ break;
45933
+ }
45894
45934
  const brNode = item ?? {};
45895
45935
  const brRunProps = brNode["a:rPr"];
45896
45936
  const brStyle = {
@@ -46051,7 +46091,13 @@ var PptxHandlerRuntime51 = class _PptxHandlerRuntime18 extends PptxHandlerRuntim
46051
46091
  );
46052
46092
  const inheritedPlaceholder = slidePath && placeholderInfo ? this.findPlaceholderContext(slidePath, placeholderInfo) : void 0;
46053
46093
  const inheritedSpPr = inheritedPlaceholder?.shape?.["p:spPr"] || inheritedPlaceholder?.picture?.["p:spPr"];
46054
- const effectiveSpPr = this.mergeXmlObjects(inheritedSpPr, spPr);
46094
+ const effectiveSpPr = spPr ? {
46095
+ ...spPr,
46096
+ "a:xfrm": this.mergeXmlObjects(
46097
+ inheritedSpPr?.["a:xfrm"],
46098
+ spPr["a:xfrm"]
46099
+ )
46100
+ } : inheritedSpPr;
46055
46101
  const xfrm = effectiveSpPr?.["a:xfrm"] || spPr?.["a:xfrm"] || inheritedSpPr?.["a:xfrm"];
46056
46102
  if (!xfrm) {
46057
46103
  return null;
@@ -46129,14 +46175,16 @@ var PptxHandlerRuntime51 = class _PptxHandlerRuntime18 extends PptxHandlerRuntim
46129
46175
  const inheritedBodyDefaultRunStyle = this.extractTextRunStyle(
46130
46176
  xmlPath(inheritedTxBody, "a:lstStyle", "a:defPPr", "a:defRPr"),
46131
46177
  "left",
46132
- slideRelationshipMap
46178
+ slideRelationshipMap,
46179
+ false
46133
46180
  );
46134
46181
  const bodyDefaultRunStyle = {
46135
46182
  ...inheritedBodyDefaultRunStyle,
46136
46183
  ...this.extractTextRunStyle(
46137
46184
  xmlPath(txBody, "a:lstStyle", "a:defPPr", "a:defRPr"),
46138
46185
  "left",
46139
- slideRelationshipMap
46186
+ slideRelationshipMap,
46187
+ false
46140
46188
  )
46141
46189
  };
46142
46190
  Object.assign(textStyle, bodyDefaultRunStyle);
@@ -48503,6 +48551,21 @@ var PptxHandlerRuntime61 = class extends PptxHandlerRuntime60 {
48503
48551
  element.id = `master-${element.id}`;
48504
48552
  elements.push(element);
48505
48553
  }
48554
+ } else if (entry.tag === "p:cxnSp") {
48555
+ const connectors = this.ensureArray(spTree["p:cxnSp"]);
48556
+ const connector = connectors[entry.indexInType];
48557
+ if (!connector) {
48558
+ continue;
48559
+ }
48560
+ const element = this.parseConnector(
48561
+ connector,
48562
+ `master-conn-${masterToken}-${entry.indexInType}`,
48563
+ masterPath
48564
+ );
48565
+ if (element) {
48566
+ element.id = `master-${element.id}`;
48567
+ elements.push(element);
48568
+ }
48506
48569
  }
48507
48570
  }
48508
48571
  this.masterCache.set(masterPath, elements);
@@ -48639,6 +48702,21 @@ var PptxHandlerRuntime62 = class extends PptxHandlerRuntime61 {
48639
48702
  element.id = `layout-${element.id}`;
48640
48703
  elements.push(element);
48641
48704
  }
48705
+ } else if (entry.tag === "p:cxnSp") {
48706
+ const connectors = this.ensureArray(spTree["p:cxnSp"]);
48707
+ const connector = connectors[entry.indexInType];
48708
+ if (!connector) {
48709
+ continue;
48710
+ }
48711
+ const element = this.parseConnector(
48712
+ connector,
48713
+ `layout-conn-${layoutToken}-${entry.indexInType}`,
48714
+ layoutPath
48715
+ );
48716
+ if (element) {
48717
+ element.id = `layout-${element.id}`;
48718
+ elements.push(element);
48719
+ }
48642
48720
  }
48643
48721
  }
48644
48722
  const layoutShowMasterSp = xmlAttr(
@@ -52306,6 +52384,7 @@ var PptxHandlerRuntime79 = class _PptxHandlerRuntime28 extends PptxHandlerRuntim
52306
52384
  this.masterCache.clear();
52307
52385
  this.layoutXmlMap.clear();
52308
52386
  this.masterXmlMap.clear();
52387
+ this.masterTxStylesCache.clear();
52309
52388
  if (typeof globalThis.URL?.revokeObjectURL === "function" && this.blobUrlCache.size > 0) {
52310
52389
  for (const url of this.blobUrlCache) {
52311
52390
  URL.revokeObjectURL(url);
@@ -52588,7 +52667,7 @@ var PptxHandlerRuntime79 = class _PptxHandlerRuntime28 extends PptxHandlerRuntim
52588
52667
  }
52589
52668
  };
52590
52669
  var PptxHandlerRuntime80 = class extends PptxHandlerRuntime79 {
52591
- async buildLoadData(presentationState, slidesWithWarnings) {
52670
+ async buildLoadData(presentationState, slidesWithWarnings, slideMasters) {
52592
52671
  const headerFooter = this.extractHeaderFooter();
52593
52672
  const presentationProperties = await this.parsePresentationProperties();
52594
52673
  const customShows = this.parseCustomShows();
@@ -52598,8 +52677,6 @@ var PptxHandlerRuntime80 = class extends PptxHandlerRuntime79 {
52598
52677
  const themeOptions = await this.parseThemeOptions();
52599
52678
  const notesMaster = await this.parseNotesMaster();
52600
52679
  const handoutMaster = await this.parseHandoutMaster();
52601
- const slideMasters = await this.parseSlideMasters();
52602
- await this.enrichSlideMastersWithTxStyles(slideMasters);
52603
52680
  const tags = await this.parseTags();
52604
52681
  const customProperties = await this.parseCustomProperties();
52605
52682
  const coreProperties = await this.parseCoreProperties();
@@ -52719,6 +52796,7 @@ var PptxHandlerRuntime80 = class extends PptxHandlerRuntime79 {
52719
52796
  this.masterCache.clear();
52720
52797
  this.layoutXmlMap.clear();
52721
52798
  this.masterXmlMap.clear();
52799
+ this.masterTxStylesCache.clear();
52722
52800
  this.layoutPlaceholderDefaultsCache.clear();
52723
52801
  this.masterPlaceholderDefaultsCache.clear();
52724
52802
  this.themeOverrideCache.clear();
@@ -52739,10 +52817,12 @@ var PptxHandlerRuntime80 = class extends PptxHandlerRuntime79 {
52739
52817
  this.detectDigitalSignatureParts();
52740
52818
  await this.parseCustomXmlParts();
52741
52819
  const presentationState = await this.loadPresentationState();
52820
+ const slideMasters = await this.parseSlideMasters();
52821
+ await this.enrichSlideMastersWithTxStyles(slideMasters);
52742
52822
  const slides = await this.loadSlidesForPresentation(presentationState.sectionBySlideId);
52743
52823
  const slidesWithWarnings = this.attachSlideWarnings(slides);
52744
52824
  this.resetElementIdCounter(slides);
52745
- return this.buildLoadData(presentationState, slidesWithWarnings);
52825
+ return this.buildLoadData(presentationState, slidesWithWarnings, slideMasters);
52746
52826
  }
52747
52827
  /**
52748
52828
  * Retrieve the current background colour for a layout or master.
Binary file
Binary file