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
@@ -27030,6 +27030,7 @@ var FONT_SUBSTITUTION_MAP = {
27030
27030
  MoolBoran: ["Noto Sans Khmer", "sans-serif"],
27031
27031
  // Decorative / Display
27032
27032
  "Century Gothic": ["URW Gothic", "Futura", "sans-serif"],
27033
+ Oswald: ["Agency FB", "Arial Narrow", "sans-serif"],
27033
27034
  "Franklin Gothic": ["Liberation Sans", "Helvetica Neue", "sans-serif"],
27034
27035
  "Franklin Gothic Medium": ["Liberation Sans", "Helvetica Neue", "sans-serif"],
27035
27036
  Garamond: ["EB Garamond", "Cormorant Garamond", "serif"],
@@ -36852,8 +36853,8 @@ var PptxHandlerRuntime18 = class extends PptxHandlerRuntime17 {
36852
36853
  }
36853
36854
  };
36854
36855
  var PptxHandlerRuntime19 = class _PptxHandlerRuntime4 extends PptxHandlerRuntime18 {
36855
- extractTextRunStyle(runProperties, align, relationshipMap) {
36856
- const style = { align };
36856
+ extractTextRunStyle(runProperties, align, relationshipMap, includeDefaultAlignment = true) {
36857
+ const style = includeDefaultAlignment ? { align } : {};
36857
36858
  if (!runProperties) {
36858
36859
  return style;
36859
36860
  }
@@ -44089,11 +44090,12 @@ var PptxHandlerRuntime42 = class _PptxHandlerRuntime13 extends PptxHandlerRuntim
44089
44090
  if (!source) {
44090
44091
  return true;
44091
44092
  }
44093
+ const typesMatch = source.type === target.type || source.type === "ctrtitle" && target.type === "title" || source.type === "subtitle" && target.type === "body";
44092
44094
  if (source.idx !== void 0 && target.idx !== void 0) {
44093
44095
  if (source.idx !== target.idx) {
44094
44096
  return false;
44095
44097
  }
44096
- if (source.type && target.type && source.type !== target.type) {
44098
+ if (source.type && target.type && !typesMatch) {
44097
44099
  return false;
44098
44100
  }
44099
44101
  return true;
@@ -44101,11 +44103,11 @@ var PptxHandlerRuntime42 = class _PptxHandlerRuntime13 extends PptxHandlerRuntim
44101
44103
  if (source.idx !== void 0 && target.idx === void 0) {
44102
44104
  const singletonTypes = /* @__PURE__ */ new Set(["title", "ctrtitle", "subtitle", "dt", "ftr", "sldnum"]);
44103
44105
  if (source.type && singletonTypes.has(source.type)) {
44104
- return target.type === source.type;
44106
+ return typesMatch;
44105
44107
  }
44106
44108
  return false;
44107
44109
  }
44108
- if (source.type && target.type && source.type !== target.type) {
44110
+ if (source.type && target.type && !typesMatch) {
44109
44111
  return false;
44110
44112
  }
44111
44113
  if (source.type && !target.type) {
@@ -44147,18 +44149,21 @@ var PptxHandlerRuntime43 = class extends PptxHandlerRuntime42 {
44147
44149
  xmlPath(layoutXmlObj, "p:sldLayout", "p:cSld", "p:spTree"),
44148
44150
  expected
44149
44151
  );
44150
- if (layoutContext) {
44151
- return layoutContext;
44152
- }
44153
44152
  const masterPath = this.resolveMasterPathForLayout(layoutPath);
44154
- if (!masterPath) {
44155
- return void 0;
44156
- }
44157
- const masterXmlObj = this.masterXmlMap.get(masterPath);
44158
- return this.findPlaceholderInShapeTree(
44159
- xmlPath(masterXmlObj, "p:sldMaster", "p:cSld", "p:spTree"),
44153
+ const masterContext = masterPath ? this.findPlaceholderInShapeTree(
44154
+ xmlPath(this.masterXmlMap.get(masterPath), "p:sldMaster", "p:cSld", "p:spTree"),
44160
44155
  expected
44161
- );
44156
+ ) : void 0;
44157
+ if (!layoutContext) {
44158
+ return masterContext;
44159
+ }
44160
+ if (!masterContext) {
44161
+ return layoutContext;
44162
+ }
44163
+ return {
44164
+ shape: layoutContext.shape || masterContext.shape ? this.mergeXmlObjects(masterContext.shape, layoutContext.shape) : void 0,
44165
+ picture: layoutContext.picture || masterContext.picture ? this.mergeXmlObjects(masterContext.picture, layoutContext.picture) : void 0
44166
+ };
44162
44167
  }
44163
44168
  mergeXmlObjects(base, override, depth = 0) {
44164
44169
  const MAX_MERGE_DEPTH = 64;
@@ -44211,10 +44216,11 @@ var PptxHandlerRuntime43 = class extends PptxHandlerRuntime42 {
44211
44216
  * otherwise falls back to `type`.
44212
44217
  */
44213
44218
  buildPlaceholderDefaultsKey(phInfo) {
44219
+ const normalizedType = phInfo.type === "ctrtitle" ? "title" : phInfo.type === "subtitle" ? "body" : phInfo.type;
44214
44220
  if (phInfo.idx !== void 0) {
44215
- return phInfo.type ? `${phInfo.type}_${phInfo.idx}` : `_${phInfo.idx}`;
44221
+ return normalizedType ? `${normalizedType}_${phInfo.idx}` : `_${phInfo.idx}`;
44216
44222
  }
44217
- return phInfo.type ?? "body";
44223
+ return normalizedType ?? "body";
44218
44224
  }
44219
44225
  /**
44220
44226
  * Look up merged {@link PlaceholderDefaults} for a shape's placeholder
@@ -44232,44 +44238,52 @@ var PptxHandlerRuntime43 = class extends PptxHandlerRuntime42 {
44232
44238
  const masterPath = this.resolveMasterPathForLayout(layoutPath);
44233
44239
  const masterMap = masterPath ? this.masterPlaceholderDefaultsCache.get(masterPath) : void 0;
44234
44240
  const masterDefaults = masterMap?.get(phKey);
44235
- if (!layoutDefaults && !masterDefaults) {
44241
+ const normalizedType = this.buildPlaceholderDefaultsKey(phInfo).split("_")[0];
44242
+ const masterTextStyleType = phInfo.type === "title" || phInfo.type === "ctrtitle" ? "title" : phInfo.type === "body" || phInfo.type === "obj" || phInfo.type === "subtitle" ? "body" : "other";
44243
+ const masterTextStyles = masterPath ? this.masterTxStylesCache.get(masterPath) : void 0;
44244
+ const masterTextLevels = masterTextStyleType === "title" ? masterTextStyles?.titleStyle : masterTextStyleType === "body" ? masterTextStyles?.bodyStyle : masterTextStyles?.otherStyle;
44245
+ const resolvedMasterDefaults = masterTextLevels ? {
44246
+ type: masterDefaults?.type ?? normalizedType,
44247
+ ...masterDefaults,
44248
+ levelStyles: this.mergePlaceholderLevelStyles(
44249
+ masterTextLevels,
44250
+ masterDefaults?.levelStyles
44251
+ )
44252
+ } : masterDefaults;
44253
+ if (!layoutDefaults && !resolvedMasterDefaults) {
44236
44254
  return void 0;
44237
44255
  }
44238
- if (!masterDefaults) {
44256
+ if (!resolvedMasterDefaults) {
44239
44257
  return layoutDefaults;
44240
44258
  }
44241
44259
  if (!layoutDefaults) {
44242
- return masterDefaults;
44260
+ return resolvedMasterDefaults;
44243
44261
  }
44244
44262
  const merged = {
44245
44263
  type: layoutDefaults.type,
44246
- idx: layoutDefaults.idx ?? masterDefaults.idx,
44247
- bodyInsetLeft: layoutDefaults.bodyInsetLeft ?? masterDefaults.bodyInsetLeft,
44248
- bodyInsetTop: layoutDefaults.bodyInsetTop ?? masterDefaults.bodyInsetTop,
44249
- bodyInsetRight: layoutDefaults.bodyInsetRight ?? masterDefaults.bodyInsetRight,
44250
- bodyInsetBottom: layoutDefaults.bodyInsetBottom ?? masterDefaults.bodyInsetBottom,
44251
- textAnchor: layoutDefaults.textAnchor ?? masterDefaults.textAnchor,
44252
- autoFit: layoutDefaults.autoFit ?? masterDefaults.autoFit,
44253
- textWrap: layoutDefaults.textWrap ?? masterDefaults.textWrap,
44254
- promptText: layoutDefaults.promptText ?? masterDefaults.promptText
44264
+ idx: layoutDefaults.idx ?? resolvedMasterDefaults.idx,
44265
+ bodyInsetLeft: layoutDefaults.bodyInsetLeft ?? resolvedMasterDefaults.bodyInsetLeft,
44266
+ bodyInsetTop: layoutDefaults.bodyInsetTop ?? resolvedMasterDefaults.bodyInsetTop,
44267
+ bodyInsetRight: layoutDefaults.bodyInsetRight ?? resolvedMasterDefaults.bodyInsetRight,
44268
+ bodyInsetBottom: layoutDefaults.bodyInsetBottom ?? resolvedMasterDefaults.bodyInsetBottom,
44269
+ textAnchor: layoutDefaults.textAnchor ?? resolvedMasterDefaults.textAnchor,
44270
+ autoFit: layoutDefaults.autoFit ?? resolvedMasterDefaults.autoFit,
44271
+ textWrap: layoutDefaults.textWrap ?? resolvedMasterDefaults.textWrap,
44272
+ promptText: layoutDefaults.promptText ?? resolvedMasterDefaults.promptText
44255
44273
  };
44256
- if (layoutDefaults.levelStyles || masterDefaults.levelStyles) {
44257
- const mergedLevels = {};
44258
- const allLevelKeys = /* @__PURE__ */ new Set([
44259
- ...Object.keys(layoutDefaults.levelStyles ?? {}),
44260
- ...Object.keys(masterDefaults.levelStyles ?? {})
44261
- ]);
44262
- for (const keyStr of allLevelKeys) {
44263
- const key = Number.parseInt(keyStr, 10);
44264
- const layoutLevel = layoutDefaults.levelStyles?.[key];
44265
- const masterLevel = masterDefaults.levelStyles?.[key];
44266
- if (layoutLevel && masterLevel) {
44267
- mergedLevels[key] = { ...masterLevel, ...layoutLevel };
44268
- } else {
44269
- mergedLevels[key] = layoutLevel ?? masterLevel;
44270
- }
44271
- }
44272
- merged.levelStyles = mergedLevels;
44274
+ if (layoutDefaults.levelStyles || resolvedMasterDefaults.levelStyles) {
44275
+ merged.levelStyles = this.mergePlaceholderLevelStyles(
44276
+ resolvedMasterDefaults.levelStyles,
44277
+ layoutDefaults.levelStyles
44278
+ );
44279
+ }
44280
+ return merged;
44281
+ }
44282
+ mergePlaceholderLevelStyles(base, override) {
44283
+ const merged = {};
44284
+ for (const key of /* @__PURE__ */ new Set([...Object.keys(base ?? {}), ...Object.keys(override ?? {})])) {
44285
+ const level = Number.parseInt(key, 10);
44286
+ merged[level] = { ...base?.[level], ...override?.[level] };
44273
44287
  }
44274
44288
  return merged;
44275
44289
  }
@@ -45555,7 +45569,11 @@ var PptxHandlerRuntime49 = class _PptxHandlerRuntime17 extends PptxHandlerRuntim
45555
45569
  * for "first-wins" shape-level properties.
45556
45570
  */
45557
45571
  resolveShapeParagraphStyle(p, textStyle, ctx) {
45558
- const pPr = p["a:pPr"];
45572
+ const inheritedParagraph = this.ensureArray(ctx.inheritedTxBody?.["a:p"])[0];
45573
+ const pPr = this.mergeXmlObjects(
45574
+ inheritedParagraph?.["a:pPr"],
45575
+ p["a:pPr"]
45576
+ );
45559
45577
  const paragraphRtl = this.parseOptionalBooleanAttr(pPr?.["@_rtl"]);
45560
45578
  if (paragraphRtl !== void 0 && textStyle.rtl === void 0) {
45561
45579
  textStyle.rtl = paragraphRtl;
@@ -45671,24 +45689,28 @@ var PptxHandlerRuntime49 = class _PptxHandlerRuntime17 extends PptxHandlerRuntim
45671
45689
  const defaultRunStyle = this.extractTextRunStyle(
45672
45690
  pPr?.["a:defRPr"],
45673
45691
  paraAlign,
45674
- ctx.slideRelationshipMap
45692
+ ctx.slideRelationshipMap,
45693
+ false
45675
45694
  );
45676
- const level = Number.parseInt(String(pPr?.["@_lvl"] || "0"), 10);
45677
- const levelKey = `a:lvl${Number.isFinite(level) ? Math.min(Math.max(level + 1, 1), 9) : 1}pPr`;
45695
+ const level = pPr?.["@_lvl"] === void 0 ? -1 : Number.parseInt(String(pPr["@_lvl"]), 10);
45696
+ const levelKey = level === -1 ? "a:defPPr" : `a:lvl${Number.isFinite(level) ? Math.min(Math.max(level + 1, 1), 9) : 1}pPr`;
45678
45697
  const inheritedLevelStyle = this.extractTextRunStyle(
45679
45698
  ctx.inheritedTxBody?.["a:lstStyle"]?.[levelKey]?.["a:defRPr"],
45680
45699
  paraAlign,
45681
- ctx.slideRelationshipMap
45700
+ ctx.slideRelationshipMap,
45701
+ false
45682
45702
  );
45683
45703
  const bodyLevelStyle = this.extractTextRunStyle(
45684
45704
  ctx.txBody?.["a:lstStyle"]?.[levelKey]?.["a:defRPr"],
45685
45705
  paraAlign,
45686
- ctx.slideRelationshipMap
45706
+ ctx.slideRelationshipMap,
45707
+ false
45687
45708
  );
45688
45709
  const endParagraphStyle = this.extractTextRunStyle(
45689
45710
  p?.["a:endParaRPr"],
45690
45711
  paraAlign,
45691
- ctx.slideRelationshipMap
45712
+ ctx.slideRelationshipMap,
45713
+ false
45692
45714
  );
45693
45715
  const mergedDefaultRunStyle = {
45694
45716
  ...ctx.bodyDefaultRunStyle,
@@ -45698,20 +45720,23 @@ var PptxHandlerRuntime49 = class _PptxHandlerRuntime17 extends PptxHandlerRuntim
45698
45720
  ...defaultRunStyle
45699
45721
  };
45700
45722
  if (ctx.effectiveLevelStyles) {
45701
- const normalizedLevel = Number.isFinite(level) ? Math.min(Math.max(level, 0), 8) : 0;
45702
- const phLevel = ctx.effectiveLevelStyles[normalizedLevel] ?? ctx.effectiveLevelStyles[-1];
45723
+ const normalizedLevel = level === -1 ? -1 : Number.isFinite(level) ? Math.min(Math.max(level, 0), 8) : 0;
45724
+ const phLevel = ctx.effectiveLevelStyles[normalizedLevel] ?? ctx.effectiveLevelStyles[-1] ?? (normalizedLevel === -1 ? ctx.effectiveLevelStyles[0] : void 0);
45703
45725
  if (phLevel) {
45704
45726
  this.applyPlaceholderLevelDefaults(mergedDefaultRunStyle, phLevel);
45705
45727
  this.applyPlaceholderLevelDefaults(textStyle, phLevel);
45706
45728
  }
45707
45729
  }
45730
+ if (pPr?.["@_algn"] === void 0 && textStyle.align !== void 0) {
45731
+ paraAlign = textStyle.align;
45732
+ }
45708
45733
  const parMarginLeft = pPr?.["@_marL"] !== void 0 ? Number.parseInt(String(pPr["@_marL"]), 10) / _PptxHandlerRuntime17.EMU_PER_PX : void 0;
45709
45734
  const parIndent = pPr?.["@_indent"] !== void 0 ? Number.parseInt(String(pPr["@_indent"]), 10) / _PptxHandlerRuntime17.EMU_PER_PX : void 0;
45710
45735
  let effectiveMarginLeft = parMarginLeft;
45711
45736
  let effectiveIndent = parIndent;
45712
45737
  if (ctx.effectiveLevelStyles) {
45713
- const normalizedLevel = Number.isFinite(level) ? Math.min(Math.max(level, 0), 8) : 0;
45714
- const phLevel = ctx.effectiveLevelStyles[normalizedLevel] ?? ctx.effectiveLevelStyles[-1];
45738
+ const normalizedLevel = level === -1 ? -1 : Number.isFinite(level) ? Math.min(Math.max(level, 0), 8) : 0;
45739
+ const phLevel = ctx.effectiveLevelStyles[normalizedLevel] ?? ctx.effectiveLevelStyles[-1] ?? (normalizedLevel === -1 ? ctx.effectiveLevelStyles[0] : void 0);
45715
45740
  if (phLevel) {
45716
45741
  if (effectiveMarginLeft === void 0 && phLevel.marginLeft !== void 0) {
45717
45742
  effectiveMarginLeft = phLevel.marginLeft;
@@ -45875,11 +45900,23 @@ var PptxHandlerRuntime50 = class extends PptxHandlerRuntime49 {
45875
45900
  continue;
45876
45901
  }
45877
45902
  const items = this.ensureArray(p[key]);
45878
- for (const item of items) {
45903
+ const rawBreaks = p["a:br"];
45904
+ const breakCount = Array.isArray(rawBreaks) ? rawBreaks.length : rawBreaks === void 0 ? 0 : 1;
45905
+ const insertCollapsedBreaks = key === "a:r" && items.length > 1 && breakCount > 0;
45906
+ for (const [itemIndex, item] of items.entries()) {
45879
45907
  switch (key) {
45880
- case "a:r":
45908
+ case "a:r": {
45881
45909
  processRun(item);
45910
+ if (insertCollapsedBreaks && itemIndex < Math.min(items.length - 1, breakCount)) {
45911
+ parts.push("\n");
45912
+ segments.push({
45913
+ text: "\n",
45914
+ style: { ...mergedDefaultRunStyle },
45915
+ isLineBreak: true
45916
+ });
45917
+ }
45882
45918
  break;
45919
+ }
45883
45920
  case "a:fld":
45884
45921
  processField(item);
45885
45922
  break;
@@ -45897,6 +45934,9 @@ var PptxHandlerRuntime50 = class extends PptxHandlerRuntime49 {
45897
45934
  processAlternateContent(item);
45898
45935
  break;
45899
45936
  case "a:br": {
45937
+ if (insertCollapsedBreaks) {
45938
+ break;
45939
+ }
45900
45940
  const brNode = item ?? {};
45901
45941
  const brRunProps = brNode["a:rPr"];
45902
45942
  const brStyle = {
@@ -46057,7 +46097,13 @@ var PptxHandlerRuntime51 = class _PptxHandlerRuntime18 extends PptxHandlerRuntim
46057
46097
  );
46058
46098
  const inheritedPlaceholder = slidePath && placeholderInfo ? this.findPlaceholderContext(slidePath, placeholderInfo) : void 0;
46059
46099
  const inheritedSpPr = inheritedPlaceholder?.shape?.["p:spPr"] || inheritedPlaceholder?.picture?.["p:spPr"];
46060
- const effectiveSpPr = this.mergeXmlObjects(inheritedSpPr, spPr);
46100
+ const effectiveSpPr = spPr ? {
46101
+ ...spPr,
46102
+ "a:xfrm": this.mergeXmlObjects(
46103
+ inheritedSpPr?.["a:xfrm"],
46104
+ spPr["a:xfrm"]
46105
+ )
46106
+ } : inheritedSpPr;
46061
46107
  const xfrm = effectiveSpPr?.["a:xfrm"] || spPr?.["a:xfrm"] || inheritedSpPr?.["a:xfrm"];
46062
46108
  if (!xfrm) {
46063
46109
  return null;
@@ -46135,14 +46181,16 @@ var PptxHandlerRuntime51 = class _PptxHandlerRuntime18 extends PptxHandlerRuntim
46135
46181
  const inheritedBodyDefaultRunStyle = this.extractTextRunStyle(
46136
46182
  xmlPath(inheritedTxBody, "a:lstStyle", "a:defPPr", "a:defRPr"),
46137
46183
  "left",
46138
- slideRelationshipMap
46184
+ slideRelationshipMap,
46185
+ false
46139
46186
  );
46140
46187
  const bodyDefaultRunStyle = {
46141
46188
  ...inheritedBodyDefaultRunStyle,
46142
46189
  ...this.extractTextRunStyle(
46143
46190
  xmlPath(txBody, "a:lstStyle", "a:defPPr", "a:defRPr"),
46144
46191
  "left",
46145
- slideRelationshipMap
46192
+ slideRelationshipMap,
46193
+ false
46146
46194
  )
46147
46195
  };
46148
46196
  Object.assign(textStyle, bodyDefaultRunStyle);
@@ -48509,6 +48557,21 @@ var PptxHandlerRuntime61 = class extends PptxHandlerRuntime60 {
48509
48557
  element.id = `master-${element.id}`;
48510
48558
  elements.push(element);
48511
48559
  }
48560
+ } else if (entry.tag === "p:cxnSp") {
48561
+ const connectors = this.ensureArray(spTree["p:cxnSp"]);
48562
+ const connector = connectors[entry.indexInType];
48563
+ if (!connector) {
48564
+ continue;
48565
+ }
48566
+ const element = this.parseConnector(
48567
+ connector,
48568
+ `master-conn-${masterToken}-${entry.indexInType}`,
48569
+ masterPath
48570
+ );
48571
+ if (element) {
48572
+ element.id = `master-${element.id}`;
48573
+ elements.push(element);
48574
+ }
48512
48575
  }
48513
48576
  }
48514
48577
  this.masterCache.set(masterPath, elements);
@@ -48645,6 +48708,21 @@ var PptxHandlerRuntime62 = class extends PptxHandlerRuntime61 {
48645
48708
  element.id = `layout-${element.id}`;
48646
48709
  elements.push(element);
48647
48710
  }
48711
+ } else if (entry.tag === "p:cxnSp") {
48712
+ const connectors = this.ensureArray(spTree["p:cxnSp"]);
48713
+ const connector = connectors[entry.indexInType];
48714
+ if (!connector) {
48715
+ continue;
48716
+ }
48717
+ const element = this.parseConnector(
48718
+ connector,
48719
+ `layout-conn-${layoutToken}-${entry.indexInType}`,
48720
+ layoutPath
48721
+ );
48722
+ if (element) {
48723
+ element.id = `layout-${element.id}`;
48724
+ elements.push(element);
48725
+ }
48648
48726
  }
48649
48727
  }
48650
48728
  const layoutShowMasterSp = xmlAttr(
@@ -52312,6 +52390,7 @@ var PptxHandlerRuntime79 = class _PptxHandlerRuntime28 extends PptxHandlerRuntim
52312
52390
  this.masterCache.clear();
52313
52391
  this.layoutXmlMap.clear();
52314
52392
  this.masterXmlMap.clear();
52393
+ this.masterTxStylesCache.clear();
52315
52394
  if (typeof globalThis.URL?.revokeObjectURL === "function" && this.blobUrlCache.size > 0) {
52316
52395
  for (const url of this.blobUrlCache) {
52317
52396
  URL.revokeObjectURL(url);
@@ -52594,7 +52673,7 @@ var PptxHandlerRuntime79 = class _PptxHandlerRuntime28 extends PptxHandlerRuntim
52594
52673
  }
52595
52674
  };
52596
52675
  var PptxHandlerRuntime80 = class extends PptxHandlerRuntime79 {
52597
- async buildLoadData(presentationState, slidesWithWarnings) {
52676
+ async buildLoadData(presentationState, slidesWithWarnings, slideMasters) {
52598
52677
  const headerFooter = this.extractHeaderFooter();
52599
52678
  const presentationProperties = await this.parsePresentationProperties();
52600
52679
  const customShows = this.parseCustomShows();
@@ -52604,8 +52683,6 @@ var PptxHandlerRuntime80 = class extends PptxHandlerRuntime79 {
52604
52683
  const themeOptions = await this.parseThemeOptions();
52605
52684
  const notesMaster = await this.parseNotesMaster();
52606
52685
  const handoutMaster = await this.parseHandoutMaster();
52607
- const slideMasters = await this.parseSlideMasters();
52608
- await this.enrichSlideMastersWithTxStyles(slideMasters);
52609
52686
  const tags = await this.parseTags();
52610
52687
  const customProperties = await this.parseCustomProperties();
52611
52688
  const coreProperties = await this.parseCoreProperties();
@@ -52725,6 +52802,7 @@ var PptxHandlerRuntime80 = class extends PptxHandlerRuntime79 {
52725
52802
  this.masterCache.clear();
52726
52803
  this.layoutXmlMap.clear();
52727
52804
  this.masterXmlMap.clear();
52805
+ this.masterTxStylesCache.clear();
52728
52806
  this.layoutPlaceholderDefaultsCache.clear();
52729
52807
  this.masterPlaceholderDefaultsCache.clear();
52730
52808
  this.themeOverrideCache.clear();
@@ -52745,10 +52823,12 @@ var PptxHandlerRuntime80 = class extends PptxHandlerRuntime79 {
52745
52823
  this.detectDigitalSignatureParts();
52746
52824
  await this.parseCustomXmlParts();
52747
52825
  const presentationState = await this.loadPresentationState();
52826
+ const slideMasters = await this.parseSlideMasters();
52827
+ await this.enrichSlideMastersWithTxStyles(slideMasters);
52748
52828
  const slides = await this.loadSlidesForPresentation(presentationState.sectionBySlideId);
52749
52829
  const slidesWithWarnings = this.attachSlideWarnings(slides);
52750
52830
  this.resetElementIdCounter(slides);
52751
- return this.buildLoadData(presentationState, slidesWithWarnings);
52831
+ return this.buildLoadData(presentationState, slidesWithWarnings, slideMasters);
52752
52832
  }
52753
52833
  /**
52754
52834
  * Retrieve the current background colour for a layout or master.
Binary file
Binary file