pptx-react-viewer 1.25.1 → 1.25.2

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 (90) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/dist/{Model3DScene-AWSM6CYB.js → Model3DScene-PPHEUVGE.js} +3 -3
  3. package/dist/Model3DScene-PPHEUVGE.js.br +0 -0
  4. package/dist/Model3DScene-PPHEUVGE.js.gz +0 -0
  5. package/dist/{Model3DScene-2QZ7CADN.mjs → Model3DScene-VEL3LWME.mjs} +2 -2
  6. package/dist/Model3DScene-VEL3LWME.mjs.br +0 -0
  7. package/dist/Model3DScene-VEL3LWME.mjs.gz +0 -0
  8. package/dist/{SurfaceChart3DScene-PJ36HRGC.js → SurfaceChart3DScene-TGSDRCUC.js} +3 -3
  9. package/dist/SurfaceChart3DScene-TGSDRCUC.js.br +0 -0
  10. package/dist/SurfaceChart3DScene-TGSDRCUC.js.gz +0 -0
  11. package/dist/{SurfaceChart3DScene-IW4WGZHH.mjs → SurfaceChart3DScene-ZBBY6LVV.mjs} +2 -2
  12. package/dist/SurfaceChart3DScene-ZBBY6LVV.mjs.br +0 -0
  13. package/dist/SurfaceChart3DScene-ZBBY6LVV.mjs.gz +0 -0
  14. package/dist/{chunk-NIWO2WYI.js → chunk-ML36DOIS.js} +34 -34
  15. package/dist/chunk-ML36DOIS.js.br +0 -0
  16. package/dist/chunk-ML36DOIS.js.gz +0 -0
  17. package/dist/{chunk-M7JHZV3P.mjs → chunk-Q2WHYUNV.mjs} +86 -20
  18. package/dist/chunk-Q2WHYUNV.mjs.br +0 -0
  19. package/dist/chunk-Q2WHYUNV.mjs.gz +0 -0
  20. package/dist/{chunk-CYZLRYJV.js → chunk-RPWTP6QP.js} +86 -20
  21. package/dist/chunk-RPWTP6QP.js.br +0 -0
  22. package/dist/chunk-RPWTP6QP.js.gz +0 -0
  23. package/dist/{chunk-PMGLZ7N4.mjs → chunk-UR4R3CH4.mjs} +1 -1
  24. package/dist/chunk-UR4R3CH4.mjs.br +0 -0
  25. package/dist/chunk-UR4R3CH4.mjs.gz +0 -0
  26. package/dist/{chunk-ASN2DZSP.js → chunk-VHKA4C7G.js} +810 -808
  27. package/dist/chunk-VHKA4C7G.js.br +0 -0
  28. package/dist/chunk-VHKA4C7G.js.gz +0 -0
  29. package/dist/{chunk-NT5FIWWU.js → chunk-WAG32RWG.js} +464 -464
  30. package/dist/chunk-WAG32RWG.js.br +0 -0
  31. package/dist/chunk-WAG32RWG.js.gz +0 -0
  32. package/dist/{chunk-QTIJWFJX.mjs → chunk-WTTSE7SZ.mjs} +4 -4
  33. package/dist/chunk-WTTSE7SZ.mjs.br +0 -0
  34. package/dist/chunk-WTTSE7SZ.mjs.gz +0 -0
  35. package/dist/{chunk-RVKPHAK5.mjs → chunk-XUYKQ4DI.mjs} +8 -6
  36. package/dist/chunk-XUYKQ4DI.mjs.br +0 -0
  37. package/dist/chunk-XUYKQ4DI.mjs.gz +0 -0
  38. package/dist/{dist-RHAXXX2R.mjs → dist-JFRKRKOK.mjs} +1 -1
  39. package/dist/dist-JFRKRKOK.mjs.br +0 -0
  40. package/dist/dist-JFRKRKOK.mjs.gz +0 -0
  41. package/dist/{dist-AFRACFHO.js → dist-NR7AZFQW.js} +562 -562
  42. package/dist/dist-NR7AZFQW.js.br +0 -0
  43. package/dist/dist-NR7AZFQW.js.gz +0 -0
  44. package/dist/hooks-unstable.js +78 -78
  45. package/dist/hooks-unstable.js.br +0 -0
  46. package/dist/hooks-unstable.js.gz +0 -0
  47. package/dist/hooks-unstable.mjs +3 -3
  48. package/dist/hooks-unstable.mjs.br +0 -0
  49. package/dist/hooks-unstable.mjs.gz +0 -0
  50. package/dist/index.js +33 -33
  51. package/dist/index.js.br +0 -0
  52. package/dist/index.js.gz +0 -0
  53. package/dist/index.mjs +4 -4
  54. package/dist/index.mjs.br +0 -0
  55. package/dist/index.mjs.gz +0 -0
  56. package/dist/viewer/index.js +20 -20
  57. package/dist/viewer/index.js.br +3 -2
  58. package/dist/viewer/index.js.gz +0 -0
  59. package/dist/viewer/index.mjs +4 -4
  60. package/dist/viewer/index.mjs.br +0 -0
  61. package/dist/viewer/index.mjs.gz +0 -0
  62. package/package.json +1 -1
  63. package/dist/Model3DScene-2QZ7CADN.mjs.br +0 -0
  64. package/dist/Model3DScene-2QZ7CADN.mjs.gz +0 -0
  65. package/dist/Model3DScene-AWSM6CYB.js.br +0 -0
  66. package/dist/Model3DScene-AWSM6CYB.js.gz +0 -0
  67. package/dist/SurfaceChart3DScene-IW4WGZHH.mjs.br +0 -0
  68. package/dist/SurfaceChart3DScene-IW4WGZHH.mjs.gz +0 -0
  69. package/dist/SurfaceChart3DScene-PJ36HRGC.js.br +0 -0
  70. package/dist/SurfaceChart3DScene-PJ36HRGC.js.gz +0 -0
  71. package/dist/chunk-ASN2DZSP.js.br +0 -0
  72. package/dist/chunk-ASN2DZSP.js.gz +0 -0
  73. package/dist/chunk-CYZLRYJV.js.br +0 -0
  74. package/dist/chunk-CYZLRYJV.js.gz +0 -0
  75. package/dist/chunk-M7JHZV3P.mjs.br +0 -0
  76. package/dist/chunk-M7JHZV3P.mjs.gz +0 -0
  77. package/dist/chunk-NIWO2WYI.js.br +0 -0
  78. package/dist/chunk-NIWO2WYI.js.gz +0 -0
  79. package/dist/chunk-NT5FIWWU.js.br +0 -0
  80. package/dist/chunk-NT5FIWWU.js.gz +0 -0
  81. package/dist/chunk-PMGLZ7N4.mjs.br +0 -0
  82. package/dist/chunk-PMGLZ7N4.mjs.gz +0 -0
  83. package/dist/chunk-QTIJWFJX.mjs.br +0 -0
  84. package/dist/chunk-QTIJWFJX.mjs.gz +0 -0
  85. package/dist/chunk-RVKPHAK5.mjs.br +0 -0
  86. package/dist/chunk-RVKPHAK5.mjs.gz +0 -0
  87. package/dist/dist-AFRACFHO.js.br +0 -0
  88. package/dist/dist-AFRACFHO.js.gz +0 -0
  89. package/dist/dist-RHAXXX2R.mjs.br +0 -0
  90. package/dist/dist-RHAXXX2R.mjs.gz +0 -0
@@ -7104,14 +7104,52 @@ function extractSourceOrders(xml) {
7104
7104
  }
7105
7105
  return orders;
7106
7106
  }
7107
+ function ensureArrayLocal(value) {
7108
+ return Array.isArray(value) ? value : value === void 0 ? [] : [value];
7109
+ }
7110
+ function countsSignature(counts) {
7111
+ return [...counts.entries()].sort((a, b) => a[0] < b[0] ? -1 : 1).map(([name, count]) => `${name}:${count}`).join(",");
7112
+ }
7113
+ function pathSignature(path) {
7114
+ const counts = /* @__PURE__ */ new Map();
7115
+ for (const key of Object.keys(path)) {
7116
+ const name = localName(key);
7117
+ if (!PATH_COMMANDS.has(name)) {
7118
+ continue;
7119
+ }
7120
+ counts.set(name, (counts.get(name) ?? 0) + ensureArrayLocal(path[key]).length);
7121
+ }
7122
+ return countsSignature(counts);
7123
+ }
7124
+ function orderSignature(order) {
7125
+ const counts = /* @__PURE__ */ new Map();
7126
+ for (const name of order) {
7127
+ counts.set(name, (counts.get(name) ?? 0) + 1);
7128
+ }
7129
+ return countsSignature(counts);
7130
+ }
7107
7131
  function annotateCustomGeometryCommandOrder(xml, parsed) {
7108
7132
  const orders = extractSourceOrders(xml);
7109
7133
  if (orders.length === 0) {
7110
7134
  return;
7111
7135
  }
7112
7136
  const paths = collectParsedPaths(parsed);
7113
- for (let index = 0; index < Math.min(paths.length, orders.length); index++) {
7114
- commandOrder.set(paths[index], orders[index]);
7137
+ const ordersBySignature = /* @__PURE__ */ new Map();
7138
+ for (const order of orders) {
7139
+ const signature = orderSignature(order);
7140
+ const bucket = ordersBySignature.get(signature);
7141
+ if (bucket) {
7142
+ bucket.push(order);
7143
+ } else {
7144
+ ordersBySignature.set(signature, [order]);
7145
+ }
7146
+ }
7147
+ for (const path of paths) {
7148
+ const bucket = ordersBySignature.get(pathSignature(path));
7149
+ const order = bucket?.shift();
7150
+ if (order) {
7151
+ commandOrder.set(path, order);
7152
+ }
7115
7153
  }
7116
7154
  }
7117
7155
  function orderedPathCommandEntries(path, ensureArray16) {
@@ -70295,6 +70333,40 @@ var PptxHandlerRuntime70 = class extends PptxHandlerRuntime69 {
70295
70333
  }
70296
70334
  return void 0;
70297
70335
  }
70336
+ /**
70337
+ * Reuse the cached parse of a layout XML part, parsing (and caching) on a
70338
+ * miss. Background resolution runs per slide but the layout/master parts are
70339
+ * large (a themed master can be ~200 KB); re-parsing them for every slide
70340
+ * dominated load time, so share the same parsed object `getLayoutElements`
70341
+ * already populated.
70342
+ */
70343
+ async resolveCachedLayoutXml(layoutPath) {
70344
+ const cached = this.layoutXmlMap.get(layoutPath);
70345
+ if (cached) {
70346
+ return cached;
70347
+ }
70348
+ const xml = await this.zip.file(layoutPath)?.async("string");
70349
+ if (!xml) {
70350
+ return void 0;
70351
+ }
70352
+ const parsed = this.parser.parse(xml);
70353
+ this.layoutXmlMap.set(layoutPath, parsed);
70354
+ return parsed;
70355
+ }
70356
+ /** Reuse the cached parse of a master XML part, parsing (and caching) on a miss. */
70357
+ async resolveCachedMasterXml(masterPath) {
70358
+ const cached = this.masterXmlMap.get(masterPath);
70359
+ if (cached) {
70360
+ return cached;
70361
+ }
70362
+ const xml = await this.zip.file(masterPath)?.async("string");
70363
+ if (!xml) {
70364
+ return void 0;
70365
+ }
70366
+ const parsed = this.parser.parse(xml);
70367
+ this.masterXmlMap.set(masterPath, parsed);
70368
+ return parsed;
70369
+ }
70298
70370
  async getMasterBackgroundImage(layoutPath) {
70299
70371
  const layoutRels = this.slideRelsMap.get(layoutPath);
70300
70372
  if (!layoutRels) {
@@ -70305,9 +70377,8 @@ var PptxHandlerRuntime70 = class extends PptxHandlerRuntime69 {
70305
70377
  const layoutDir = layoutPath.substring(0, layoutPath.lastIndexOf("/") + 1);
70306
70378
  const masterPath = target.startsWith("/") ? target.substring(1) : target.startsWith("..") ? this.resolvePath(layoutDir, target) : `ppt/${stripParentDirSegments(target)}`;
70307
70379
  try {
70308
- const masterXmlStr = await this.zip.file(masterPath)?.async("string");
70309
- if (masterXmlStr) {
70310
- const masterXmlObj = this.parser.parse(masterXmlStr);
70380
+ const masterXmlObj = await this.resolveCachedMasterXml(masterPath);
70381
+ if (masterXmlObj) {
70311
70382
  const masterRelsPath = `${masterPath.replace("slideMasters/", "slideMasters/_rels/")}.rels`;
70312
70383
  await this.loadSlideRelationships(masterPath, masterRelsPath);
70313
70384
  return this.extractBackgroundImage(masterXmlObj, masterPath, "p:sldMaster");
@@ -70329,9 +70400,8 @@ var PptxHandlerRuntime70 = class extends PptxHandlerRuntime69 {
70329
70400
  const slideDir = slidePath.substring(0, slidePath.lastIndexOf("/") + 1);
70330
70401
  const layoutPath = target.startsWith("/") ? target.substring(1) : target.startsWith("..") ? this.resolvePath(slideDir, target) : `ppt/${stripParentDirSegments(target)}`;
70331
70402
  try {
70332
- const layoutXmlStr = await this.zip.file(layoutPath)?.async("string");
70333
- if (layoutXmlStr) {
70334
- const layoutXmlObj = this.parser.parse(layoutXmlStr);
70403
+ const layoutXmlObj = await this.resolveCachedLayoutXml(layoutPath);
70404
+ if (layoutXmlObj) {
70335
70405
  const layoutRelsPath = `${layoutPath.replace("slideLayouts/", "slideLayouts/_rels/")}.rels`;
70336
70406
  await this.loadSlideRelationships(layoutPath, layoutRelsPath);
70337
70407
  const bg = this.extractBackgroundImage(layoutXmlObj, layoutPath, "p:sldLayout");
@@ -70357,9 +70427,8 @@ var PptxHandlerRuntime70 = class extends PptxHandlerRuntime69 {
70357
70427
  const slideDir = slidePath.substring(0, slidePath.lastIndexOf("/") + 1);
70358
70428
  const layoutPath = target.startsWith("/") ? target.substring(1) : target.startsWith("..") ? this.resolvePath(slideDir, target) : `ppt/${stripParentDirSegments(target)}`;
70359
70429
  try {
70360
- const layoutXmlStr = await this.zip.file(layoutPath)?.async("string");
70361
- if (layoutXmlStr) {
70362
- const layoutXmlObj = this.parser.parse(layoutXmlStr);
70430
+ const layoutXmlObj = await this.resolveCachedLayoutXml(layoutPath);
70431
+ if (layoutXmlObj) {
70363
70432
  const layoutBg = this.extractBackgroundColor(layoutXmlObj, "p:sldLayout");
70364
70433
  if (layoutBg) {
70365
70434
  return layoutBg;
@@ -70386,9 +70455,8 @@ var PptxHandlerRuntime70 = class extends PptxHandlerRuntime69 {
70386
70455
  const layoutDir = layoutPath.substring(0, layoutPath.lastIndexOf("/") + 1);
70387
70456
  const masterPath = target.startsWith("/") ? target.substring(1) : target.startsWith("..") ? this.resolvePath(layoutDir, target) : `ppt/${stripParentDirSegments(target)}`;
70388
70457
  try {
70389
- const masterXmlStr = await this.zip.file(masterPath)?.async("string");
70390
- if (masterXmlStr) {
70391
- const masterXmlObj = this.parser.parse(masterXmlStr);
70458
+ const masterXmlObj = await this.resolveCachedMasterXml(masterPath);
70459
+ if (masterXmlObj) {
70392
70460
  return this.extractBackgroundColor(masterXmlObj, "p:sldMaster");
70393
70461
  }
70394
70462
  } catch {
@@ -70413,9 +70481,8 @@ var PptxHandlerRuntime71 = class extends PptxHandlerRuntime70 {
70413
70481
  const slideDir = slidePath.substring(0, slidePath.lastIndexOf("/") + 1);
70414
70482
  const layoutPath = target.startsWith("/") ? target.substring(1) : target.startsWith("..") ? this.resolvePath(slideDir, target) : `ppt/${stripParentDirSegments(target)}`;
70415
70483
  try {
70416
- const layoutXmlStr = await this.zip.file(layoutPath)?.async("string");
70417
- if (layoutXmlStr) {
70418
- const layoutXmlObj = this.parser.parse(layoutXmlStr);
70484
+ const layoutXmlObj = await this.resolveCachedLayoutXml(layoutPath);
70485
+ if (layoutXmlObj) {
70419
70486
  const layoutGrad = this.extractBackgroundGradient(layoutXmlObj, "p:sldLayout");
70420
70487
  if (layoutGrad) {
70421
70488
  return layoutGrad;
@@ -70442,9 +70509,8 @@ var PptxHandlerRuntime71 = class extends PptxHandlerRuntime70 {
70442
70509
  const layoutDir = layoutPath.substring(0, layoutPath.lastIndexOf("/") + 1);
70443
70510
  const masterPath = target.startsWith("/") ? target.substring(1) : target.startsWith("..") ? this.resolvePath(layoutDir, target) : `ppt/${stripParentDirSegments(target)}`;
70444
70511
  try {
70445
- const masterXmlStr = await this.zip.file(masterPath)?.async("string");
70446
- if (masterXmlStr) {
70447
- const masterXmlObj = this.parser.parse(masterXmlStr);
70512
+ const masterXmlObj = await this.resolveCachedMasterXml(masterPath);
70513
+ if (masterXmlObj) {
70448
70514
  return this.extractBackgroundGradient(masterXmlObj, "p:sldMaster");
70449
70515
  }
70450
70516
  } catch {
Binary file
Binary file
@@ -1,4 +1,4 @@
1
- import { MIN_ELEMENT_SIZE, guideEmuToPx, THEME_COLOR_SCHEME_KEYS, hasShapeProperties, hasTextProperties, createChartElement, getShapeClipPath, getAdjustmentAwareShapeClipPath, getShapeClipPathFromPreset, getCloudPathForRendering, hslToRgb, PRESET_COLOR_MAP, isImageLikeElement, stripXmlOrderSuffix, orderedXmlKey, applyDrawingColorTransforms } from './chunk-M7JHZV3P.mjs';
1
+ import { MIN_ELEMENT_SIZE, guideEmuToPx, THEME_COLOR_SCHEME_KEYS, hasShapeProperties, hasTextProperties, createChartElement, getShapeClipPath, getAdjustmentAwareShapeClipPath, getShapeClipPathFromPreset, getCloudPathForRendering, hslToRgb, PRESET_COLOR_MAP, isImageLikeElement, stripXmlOrderSuffix, orderedXmlKey, applyDrawingColorTransforms } from './chunk-Q2WHYUNV.mjs';
2
2
  import DOMPurify from 'dompurify';
3
3
 
4
4
  var defaultThemeColors = {
Binary file
Binary file