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.
- package/CHANGELOG.md +2 -0
- package/dist/{Model3DScene-AWSM6CYB.js → Model3DScene-PPHEUVGE.js} +3 -3
- package/dist/Model3DScene-PPHEUVGE.js.br +0 -0
- package/dist/Model3DScene-PPHEUVGE.js.gz +0 -0
- package/dist/{Model3DScene-2QZ7CADN.mjs → Model3DScene-VEL3LWME.mjs} +2 -2
- package/dist/Model3DScene-VEL3LWME.mjs.br +0 -0
- package/dist/Model3DScene-VEL3LWME.mjs.gz +0 -0
- package/dist/{SurfaceChart3DScene-PJ36HRGC.js → SurfaceChart3DScene-TGSDRCUC.js} +3 -3
- package/dist/SurfaceChart3DScene-TGSDRCUC.js.br +0 -0
- package/dist/SurfaceChart3DScene-TGSDRCUC.js.gz +0 -0
- package/dist/{SurfaceChart3DScene-IW4WGZHH.mjs → SurfaceChart3DScene-ZBBY6LVV.mjs} +2 -2
- package/dist/SurfaceChart3DScene-ZBBY6LVV.mjs.br +0 -0
- package/dist/SurfaceChart3DScene-ZBBY6LVV.mjs.gz +0 -0
- package/dist/{chunk-NIWO2WYI.js → chunk-ML36DOIS.js} +34 -34
- package/dist/chunk-ML36DOIS.js.br +0 -0
- package/dist/chunk-ML36DOIS.js.gz +0 -0
- package/dist/{chunk-M7JHZV3P.mjs → chunk-Q2WHYUNV.mjs} +86 -20
- package/dist/chunk-Q2WHYUNV.mjs.br +0 -0
- package/dist/chunk-Q2WHYUNV.mjs.gz +0 -0
- package/dist/{chunk-CYZLRYJV.js → chunk-RPWTP6QP.js} +86 -20
- package/dist/chunk-RPWTP6QP.js.br +0 -0
- package/dist/chunk-RPWTP6QP.js.gz +0 -0
- package/dist/{chunk-PMGLZ7N4.mjs → chunk-UR4R3CH4.mjs} +1 -1
- package/dist/chunk-UR4R3CH4.mjs.br +0 -0
- package/dist/chunk-UR4R3CH4.mjs.gz +0 -0
- package/dist/{chunk-ASN2DZSP.js → chunk-VHKA4C7G.js} +810 -808
- package/dist/chunk-VHKA4C7G.js.br +0 -0
- package/dist/chunk-VHKA4C7G.js.gz +0 -0
- package/dist/{chunk-NT5FIWWU.js → chunk-WAG32RWG.js} +464 -464
- package/dist/chunk-WAG32RWG.js.br +0 -0
- package/dist/chunk-WAG32RWG.js.gz +0 -0
- package/dist/{chunk-QTIJWFJX.mjs → chunk-WTTSE7SZ.mjs} +4 -4
- package/dist/chunk-WTTSE7SZ.mjs.br +0 -0
- package/dist/chunk-WTTSE7SZ.mjs.gz +0 -0
- package/dist/{chunk-RVKPHAK5.mjs → chunk-XUYKQ4DI.mjs} +8 -6
- package/dist/chunk-XUYKQ4DI.mjs.br +0 -0
- package/dist/chunk-XUYKQ4DI.mjs.gz +0 -0
- package/dist/{dist-RHAXXX2R.mjs → dist-JFRKRKOK.mjs} +1 -1
- package/dist/dist-JFRKRKOK.mjs.br +0 -0
- package/dist/dist-JFRKRKOK.mjs.gz +0 -0
- package/dist/{dist-AFRACFHO.js → dist-NR7AZFQW.js} +562 -562
- package/dist/dist-NR7AZFQW.js.br +0 -0
- package/dist/dist-NR7AZFQW.js.gz +0 -0
- package/dist/hooks-unstable.js +78 -78
- package/dist/hooks-unstable.js.br +0 -0
- package/dist/hooks-unstable.js.gz +0 -0
- package/dist/hooks-unstable.mjs +3 -3
- package/dist/hooks-unstable.mjs.br +0 -0
- package/dist/hooks-unstable.mjs.gz +0 -0
- package/dist/index.js +33 -33
- package/dist/index.js.br +0 -0
- package/dist/index.js.gz +0 -0
- package/dist/index.mjs +4 -4
- package/dist/index.mjs.br +0 -0
- package/dist/index.mjs.gz +0 -0
- package/dist/viewer/index.js +20 -20
- package/dist/viewer/index.js.br +3 -2
- package/dist/viewer/index.js.gz +0 -0
- package/dist/viewer/index.mjs +4 -4
- package/dist/viewer/index.mjs.br +0 -0
- package/dist/viewer/index.mjs.gz +0 -0
- package/package.json +1 -1
- package/dist/Model3DScene-2QZ7CADN.mjs.br +0 -0
- package/dist/Model3DScene-2QZ7CADN.mjs.gz +0 -0
- package/dist/Model3DScene-AWSM6CYB.js.br +0 -0
- package/dist/Model3DScene-AWSM6CYB.js.gz +0 -0
- package/dist/SurfaceChart3DScene-IW4WGZHH.mjs.br +0 -0
- package/dist/SurfaceChart3DScene-IW4WGZHH.mjs.gz +0 -0
- package/dist/SurfaceChart3DScene-PJ36HRGC.js.br +0 -0
- package/dist/SurfaceChart3DScene-PJ36HRGC.js.gz +0 -0
- package/dist/chunk-ASN2DZSP.js.br +0 -0
- package/dist/chunk-ASN2DZSP.js.gz +0 -0
- package/dist/chunk-CYZLRYJV.js.br +0 -0
- package/dist/chunk-CYZLRYJV.js.gz +0 -0
- package/dist/chunk-M7JHZV3P.mjs.br +0 -0
- package/dist/chunk-M7JHZV3P.mjs.gz +0 -0
- package/dist/chunk-NIWO2WYI.js.br +0 -0
- package/dist/chunk-NIWO2WYI.js.gz +0 -0
- package/dist/chunk-NT5FIWWU.js.br +0 -0
- package/dist/chunk-NT5FIWWU.js.gz +0 -0
- package/dist/chunk-PMGLZ7N4.mjs.br +0 -0
- package/dist/chunk-PMGLZ7N4.mjs.gz +0 -0
- package/dist/chunk-QTIJWFJX.mjs.br +0 -0
- package/dist/chunk-QTIJWFJX.mjs.gz +0 -0
- package/dist/chunk-RVKPHAK5.mjs.br +0 -0
- package/dist/chunk-RVKPHAK5.mjs.gz +0 -0
- package/dist/dist-AFRACFHO.js.br +0 -0
- package/dist/dist-AFRACFHO.js.gz +0 -0
- package/dist/dist-RHAXXX2R.mjs.br +0 -0
- 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
|
-
|
|
7114
|
-
|
|
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
|
|
70309
|
-
if (
|
|
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
|
|
70333
|
-
if (
|
|
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
|
|
70361
|
-
if (
|
|
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
|
|
70390
|
-
if (
|
|
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
|
|
70417
|
-
if (
|
|
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
|
|
70446
|
-
if (
|
|
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-
|
|
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
|