pptx-react-viewer 2.11.0 → 2.12.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.
- package/CHANGELOG.md +4 -0
- package/dist/{AiChatPanel-EX2TBRJM.mjs → AiChatPanel-CS4CONUO.mjs} +4 -4
- package/dist/AiChatPanel-CS4CONUO.mjs.br +0 -0
- package/dist/AiChatPanel-CS4CONUO.mjs.gz +0 -0
- package/dist/{AiChatPanel-PJPSDMN4.js → AiChatPanel-JIXSOZXN.js} +23 -23
- package/dist/AiChatPanel-JIXSOZXN.js.br +0 -0
- package/dist/AiChatPanel-JIXSOZXN.js.gz +0 -0
- package/dist/{Model3DScene-UCBPTEAY.js → Model3DScene-5KMJ4JL6.js} +2 -2
- package/dist/Model3DScene-5KMJ4JL6.js.br +0 -0
- package/dist/Model3DScene-5KMJ4JL6.js.gz +0 -0
- package/dist/{Model3DScene-TTQFV7OS.mjs → Model3DScene-RWFPSN6B.mjs} +1 -1
- package/dist/Model3DScene-RWFPSN6B.mjs.br +0 -0
- package/dist/Model3DScene-RWFPSN6B.mjs.gz +0 -0
- package/dist/{SurfaceChart3DScene-5SZCRHZI.mjs → SurfaceChart3DScene-2GZQM3LN.mjs} +1 -1
- package/dist/{SurfaceChart3DScene-5SZCRHZI.mjs.br → SurfaceChart3DScene-2GZQM3LN.mjs.br} +0 -0
- package/dist/SurfaceChart3DScene-2GZQM3LN.mjs.gz +0 -0
- package/dist/{SurfaceChart3DScene-ADKCYYOQ.js → SurfaceChart3DScene-BIOKIETC.js} +2 -2
- package/dist/SurfaceChart3DScene-BIOKIETC.js.br +0 -0
- package/dist/SurfaceChart3DScene-BIOKIETC.js.gz +0 -0
- package/dist/{chunk-MM5RMRSP.js → chunk-2VUHJNWM.js} +243 -284
- package/dist/chunk-2VUHJNWM.js.br +0 -0
- package/dist/chunk-2VUHJNWM.js.gz +0 -0
- package/dist/{chunk-N6IHR6PS.js → chunk-3GNSGGY2.js} +377 -2
- package/dist/chunk-3GNSGGY2.js.br +0 -0
- package/dist/chunk-3GNSGGY2.js.gz +0 -0
- package/dist/{chunk-HK2UERUX.mjs → chunk-AOED5MFM.mjs} +45 -64
- package/dist/chunk-AOED5MFM.mjs.br +0 -0
- package/dist/chunk-AOED5MFM.mjs.gz +0 -0
- package/dist/{chunk-L2CM5EUD.mjs → chunk-BJQSHVYH.mjs} +220 -156
- package/dist/chunk-BJQSHVYH.mjs.br +0 -0
- package/dist/chunk-BJQSHVYH.mjs.gz +0 -0
- package/dist/{chunk-RJEY2KZH.mjs → chunk-CEUHGUZ4.mjs} +5 -46
- package/dist/chunk-CEUHGUZ4.mjs.br +0 -0
- package/dist/chunk-CEUHGUZ4.mjs.gz +0 -0
- package/dist/{chunk-53NXKDMZ.mjs → chunk-ECDKYPQ2.mjs} +377 -2
- package/dist/chunk-ECDKYPQ2.mjs.br +0 -0
- package/dist/chunk-ECDKYPQ2.mjs.gz +0 -0
- package/dist/{chunk-UZVRM6LD.mjs → chunk-EJRHYYKE.mjs} +1 -1
- package/dist/chunk-EJRHYYKE.mjs.br +0 -0
- package/dist/chunk-EJRHYYKE.mjs.gz +0 -0
- package/dist/{chunk-HMQVOPQH.js → chunk-PJUQQF3I.js} +538 -42
- package/dist/chunk-PJUQQF3I.js.br +0 -0
- package/dist/chunk-PJUQQF3I.js.gz +0 -0
- package/dist/{chunk-4J7SPY64.js → chunk-PTGTFXPU.js} +366 -385
- package/dist/chunk-PTGTFXPU.js.br +0 -0
- package/dist/chunk-PTGTFXPU.js.gz +0 -0
- package/dist/{chunk-C2UWTH42.mjs → chunk-QGHC65C4.mjs} +518 -43
- package/dist/chunk-QGHC65C4.mjs.br +0 -0
- package/dist/chunk-QGHC65C4.mjs.gz +0 -0
- package/dist/{chunk-E367QIKR.js → chunk-SP7U34QM.js} +1186 -1122
- package/dist/chunk-SP7U34QM.js.br +0 -0
- package/dist/chunk-SP7U34QM.js.gz +0 -0
- package/dist/{chunk-VNP627O5.js → chunk-ZIXSSQAZ.js} +3 -3
- package/dist/chunk-ZIXSSQAZ.js.br +0 -0
- package/dist/chunk-ZIXSSQAZ.js.gz +0 -0
- package/dist/i18n.js +4 -4
- package/dist/i18n.js.br +0 -0
- package/dist/i18n.js.gz +0 -0
- package/dist/i18n.mjs +1 -1
- package/dist/i18n.mjs.br +0 -0
- package/dist/i18n.mjs.gz +0 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +36 -36
- package/dist/index.js.br +0 -0
- package/dist/index.js.gz +0 -0
- package/dist/index.mjs +6 -6
- package/dist/index.mjs.br +0 -0
- package/dist/index.mjs.gz +0 -0
- package/dist/internals.d.ts +12 -1
- package/dist/internals.d.ts.map +1 -1
- package/dist/internals.js +79 -79
- package/dist/internals.js.br +0 -0
- package/dist/internals.js.gz +0 -0
- package/dist/internals.mjs +4 -4
- package/dist/internals.mjs.br +0 -0
- package/dist/internals.mjs.gz +0 -0
- package/dist/pptx-viewer.css +1 -1
- package/dist/pptx-viewer.css.br +0 -0
- package/dist/pptx-viewer.css.gz +0 -0
- package/dist/{useViewerBuildingBlocks-Rqxm0pRS.d.ts → useViewerBuildingBlocks-YvCYsxa3.d.ts} +5 -1
- package/dist/useViewerBuildingBlocks-YvCYsxa3.d.ts.map +1 -0
- package/dist/viewer/index.js +22 -22
- package/dist/viewer/index.js.br +0 -0
- package/dist/viewer/index.js.gz +0 -0
- package/dist/viewer/index.mjs +6 -6
- package/dist/viewer/index.mjs.br +0 -0
- package/dist/viewer/index.mjs.gz +0 -0
- package/package.json +1 -1
- package/dist/AiChatPanel-EX2TBRJM.mjs.br +0 -0
- package/dist/AiChatPanel-EX2TBRJM.mjs.gz +0 -0
- package/dist/AiChatPanel-PJPSDMN4.js.br +0 -0
- package/dist/AiChatPanel-PJPSDMN4.js.gz +0 -0
- package/dist/Model3DScene-TTQFV7OS.mjs.br +0 -0
- package/dist/Model3DScene-TTQFV7OS.mjs.gz +0 -0
- package/dist/Model3DScene-UCBPTEAY.js.br +0 -0
- package/dist/Model3DScene-UCBPTEAY.js.gz +0 -0
- package/dist/SurfaceChart3DScene-5SZCRHZI.mjs.gz +0 -0
- package/dist/SurfaceChart3DScene-ADKCYYOQ.js.br +0 -0
- package/dist/SurfaceChart3DScene-ADKCYYOQ.js.gz +0 -0
- package/dist/chunk-4J7SPY64.js.br +0 -0
- package/dist/chunk-4J7SPY64.js.gz +0 -0
- package/dist/chunk-53NXKDMZ.mjs.br +0 -0
- package/dist/chunk-53NXKDMZ.mjs.gz +0 -0
- package/dist/chunk-C2UWTH42.mjs.br +0 -0
- package/dist/chunk-C2UWTH42.mjs.gz +0 -0
- package/dist/chunk-E367QIKR.js.br +0 -0
- package/dist/chunk-E367QIKR.js.gz +0 -0
- package/dist/chunk-HK2UERUX.mjs.br +0 -0
- package/dist/chunk-HK2UERUX.mjs.gz +0 -0
- package/dist/chunk-HMQVOPQH.js.br +0 -0
- package/dist/chunk-HMQVOPQH.js.gz +0 -0
- package/dist/chunk-L2CM5EUD.mjs.br +0 -0
- package/dist/chunk-L2CM5EUD.mjs.gz +0 -0
- package/dist/chunk-MM5RMRSP.js.br +0 -0
- package/dist/chunk-MM5RMRSP.js.gz +0 -0
- package/dist/chunk-N6IHR6PS.js.br +0 -0
- package/dist/chunk-N6IHR6PS.js.gz +0 -0
- package/dist/chunk-RJEY2KZH.mjs.br +0 -0
- package/dist/chunk-RJEY2KZH.mjs.gz +0 -0
- package/dist/chunk-UZVRM6LD.mjs.br +0 -0
- package/dist/chunk-UZVRM6LD.mjs.gz +0 -0
- package/dist/chunk-VNP627O5.js.br +0 -0
- package/dist/chunk-VNP627O5.js.gz +0 -0
- package/dist/useViewerBuildingBlocks-Rqxm0pRS.d.ts.map +0 -1
|
@@ -15931,6 +15931,15 @@ var MC_NAMESPACE_CAPABILITIES = {
|
|
|
15931
15931
|
"hiddenFill",
|
|
15932
15932
|
"hiddenLine"
|
|
15933
15933
|
]),
|
|
15934
|
+
// PowerPoint 2016+ writes the Morph transition as `<p159:morph @option>`,
|
|
15935
|
+
// either inside an `mc:Choice Requires="p159"` or in a `p:transition/p:extLst`
|
|
15936
|
+
// extension. Both forms are parsed (see `PptxSlideTransitionService`), so the
|
|
15937
|
+
// choice IS supported: without this entry every morph slide reported
|
|
15938
|
+
// `UNSUPPORTED_ALTERNATE_CONTENT_CHOICE`, which reads as "the transition was
|
|
15939
|
+
// dropped and the fallback fade was used" when in fact the morph plays.
|
|
15940
|
+
// `morph` alone is listed on purpose: any OTHER `p159:*` element still makes
|
|
15941
|
+
// the choice unsupported and falls back, which is the honest answer.
|
|
15942
|
+
p159: /* @__PURE__ */ new Set(["morph"]),
|
|
15934
15943
|
a14: /* @__PURE__ */ new Set(["m", "hiddenFill", "hiddenLine", "imgEffect", "imgLayer"]),
|
|
15935
15944
|
a16: /* @__PURE__ */ new Set(["svgBlip", "colId"]),
|
|
15936
15945
|
asvg: /* @__PURE__ */ new Set(["svgBlip"]),
|
|
@@ -87161,6 +87170,97 @@ function resolveDataPointMarker(series, pointIndex) {
|
|
|
87161
87170
|
fill: point?.spPr?.fillColor ?? series.marker?.spPr?.fillColor
|
|
87162
87171
|
};
|
|
87163
87172
|
}
|
|
87173
|
+
function schemaLabel(keys, token2, translate) {
|
|
87174
|
+
if (token2 === void 0) {
|
|
87175
|
+
return "";
|
|
87176
|
+
}
|
|
87177
|
+
const key = keys[token2];
|
|
87178
|
+
return key === void 0 ? token2 : translate(key);
|
|
87179
|
+
}
|
|
87180
|
+
var THEME_COLOR_SLOT_LABEL_KEYS = {
|
|
87181
|
+
dk1: "pptx.themeColor.dark1",
|
|
87182
|
+
lt1: "pptx.themeColor.light1",
|
|
87183
|
+
dk2: "pptx.themeColor.dark2",
|
|
87184
|
+
lt2: "pptx.themeColor.light2",
|
|
87185
|
+
accent1: "pptx.themeColor.accent1",
|
|
87186
|
+
accent2: "pptx.themeColor.accent2",
|
|
87187
|
+
accent3: "pptx.themeColor.accent3",
|
|
87188
|
+
accent4: "pptx.themeColor.accent4",
|
|
87189
|
+
accent5: "pptx.themeColor.accent5",
|
|
87190
|
+
accent6: "pptx.themeColor.accent6",
|
|
87191
|
+
hlink: "pptx.themeColor.hyperlink",
|
|
87192
|
+
folHlink: "pptx.themeColor.followedHyperlink"
|
|
87193
|
+
};
|
|
87194
|
+
var SMARTART_COLOR_SCHEME_LABEL_KEYS = {
|
|
87195
|
+
colorful1: "pptx.smartart.schemeColorful1",
|
|
87196
|
+
colorful2: "pptx.smartart.schemeColorful2",
|
|
87197
|
+
colorful3: "pptx.smartart.schemeColorful3",
|
|
87198
|
+
monochromatic1: "pptx.smartart.schemeMonochromatic1",
|
|
87199
|
+
monochromatic2: "pptx.smartart.schemeMonochromatic2"
|
|
87200
|
+
};
|
|
87201
|
+
var SMARTART_STYLE_LABEL_KEYS = {
|
|
87202
|
+
flat: "pptx.smartart.styleFlat",
|
|
87203
|
+
moderate: "pptx.smartart.styleModerate",
|
|
87204
|
+
intense: "pptx.smartart.styleIntense"
|
|
87205
|
+
};
|
|
87206
|
+
var FILL_PATTERN_LABEL_KEYS = {
|
|
87207
|
+
pct5: "pptx.fillPatterns.pct5",
|
|
87208
|
+
pct10: "pptx.fillPatterns.pct10",
|
|
87209
|
+
pct20: "pptx.fillPatterns.pct20",
|
|
87210
|
+
pct25: "pptx.fillPatterns.pct25",
|
|
87211
|
+
pct30: "pptx.fillPatterns.pct30",
|
|
87212
|
+
pct40: "pptx.fillPatterns.pct40",
|
|
87213
|
+
pct50: "pptx.fillPatterns.pct50",
|
|
87214
|
+
pct60: "pptx.fillPatterns.pct60",
|
|
87215
|
+
pct70: "pptx.fillPatterns.pct70",
|
|
87216
|
+
pct75: "pptx.fillPatterns.pct75",
|
|
87217
|
+
pct80: "pptx.fillPatterns.pct80",
|
|
87218
|
+
pct90: "pptx.fillPatterns.pct90",
|
|
87219
|
+
horz: "pptx.fillPatterns.horizontal",
|
|
87220
|
+
vert: "pptx.fillPatterns.vertical",
|
|
87221
|
+
ltHorz: "pptx.fillPatterns.lightHorizontal",
|
|
87222
|
+
ltVert: "pptx.fillPatterns.lightVertical",
|
|
87223
|
+
dkHorz: "pptx.fillPatterns.darkHorizontal",
|
|
87224
|
+
dkVert: "pptx.fillPatterns.darkVertical",
|
|
87225
|
+
narHorz: "pptx.fillPatterns.narrowHorizontal",
|
|
87226
|
+
narVert: "pptx.fillPatterns.narrowVertical",
|
|
87227
|
+
wdHorz: "pptx.fillPatterns.wideHorizontal",
|
|
87228
|
+
wdVert: "pptx.fillPatterns.wideVertical",
|
|
87229
|
+
dashHorz: "pptx.fillPatterns.dashedHorizontal",
|
|
87230
|
+
dashVert: "pptx.fillPatterns.dashedVertical",
|
|
87231
|
+
cross: "pptx.fillPatterns.cross",
|
|
87232
|
+
dnDiag: "pptx.fillPatterns.downDiagonal",
|
|
87233
|
+
upDiag: "pptx.fillPatterns.upDiagonal",
|
|
87234
|
+
ltDnDiag: "pptx.fillPatterns.lightDownDiagonal",
|
|
87235
|
+
ltUpDiag: "pptx.fillPatterns.lightUpDiagonal",
|
|
87236
|
+
dkDnDiag: "pptx.fillPatterns.darkDownDiagonal",
|
|
87237
|
+
dkUpDiag: "pptx.fillPatterns.darkUpDiagonal",
|
|
87238
|
+
wdDnDiag: "pptx.fillPatterns.wideDownDiagonal",
|
|
87239
|
+
wdUpDiag: "pptx.fillPatterns.wideUpDiagonal",
|
|
87240
|
+
dashDnDiag: "pptx.fillPatterns.dashedDownDiagonal",
|
|
87241
|
+
dashUpDiag: "pptx.fillPatterns.dashedUpDiagonal",
|
|
87242
|
+
diagCross: "pptx.fillPatterns.diagonalCross",
|
|
87243
|
+
smCheck: "pptx.fillPatterns.smallCheck",
|
|
87244
|
+
lgCheck: "pptx.fillPatterns.largeCheck",
|
|
87245
|
+
smGrid: "pptx.fillPatterns.smallGrid",
|
|
87246
|
+
lgGrid: "pptx.fillPatterns.largeGrid",
|
|
87247
|
+
dotGrid: "pptx.fillPatterns.dotGrid",
|
|
87248
|
+
smConfetti: "pptx.fillPatterns.smallConfetti",
|
|
87249
|
+
lgConfetti: "pptx.fillPatterns.largeConfetti",
|
|
87250
|
+
horzBrick: "pptx.fillPatterns.horizontalBrick",
|
|
87251
|
+
diagBrick: "pptx.fillPatterns.diagonalBrick",
|
|
87252
|
+
solidDmnd: "pptx.fillPatterns.solidDiamond",
|
|
87253
|
+
openDmnd: "pptx.fillPatterns.openDiamond",
|
|
87254
|
+
dotDmnd: "pptx.fillPatterns.dottedDiamond",
|
|
87255
|
+
plaid: "pptx.fillPatterns.plaid",
|
|
87256
|
+
sphere: "pptx.fillPatterns.sphere",
|
|
87257
|
+
weave: "pptx.fillPatterns.weave",
|
|
87258
|
+
divot: "pptx.fillPatterns.divot",
|
|
87259
|
+
shingle: "pptx.fillPatterns.shingle",
|
|
87260
|
+
wave: "pptx.fillPatterns.wave",
|
|
87261
|
+
trellis: "pptx.fillPatterns.trellis",
|
|
87262
|
+
zigZag: "pptx.fillPatterns.zigZag"
|
|
87263
|
+
};
|
|
87164
87264
|
function addChartSeries(data) {
|
|
87165
87265
|
return chartDataAddSeries(data, {
|
|
87166
87266
|
name: `Series ${data.series.length + 1}`,
|
|
@@ -92981,6 +93081,28 @@ var DIRECTIONAL_PRESETS = /* @__PURE__ */ new Set([
|
|
|
92981
93081
|
"floatIn",
|
|
92982
93082
|
"peekIn"
|
|
92983
93083
|
]);
|
|
93084
|
+
function animationPresetLabelKey(preset) {
|
|
93085
|
+
return `pptx.animation.preset.${preset}`;
|
|
93086
|
+
}
|
|
93087
|
+
function animationCatalogPresetSlug(presetId) {
|
|
93088
|
+
return presetId.split(".").map((part, index) => index === 0 ? part : part.charAt(0).toUpperCase() + part.slice(1)).join("");
|
|
93089
|
+
}
|
|
93090
|
+
function animationCatalogPresetLabelKey(presetId) {
|
|
93091
|
+
return `pptx.animation.catalogPreset.${animationCatalogPresetSlug(presetId)}`;
|
|
93092
|
+
}
|
|
93093
|
+
function isAnimationCatalogPresetId(token2) {
|
|
93094
|
+
return token2.includes(".");
|
|
93095
|
+
}
|
|
93096
|
+
function animationEffectLabelKey(anim) {
|
|
93097
|
+
const token2 = anim.entrance ?? anim.emphasis ?? anim.exit;
|
|
93098
|
+
if (!token2 || token2 === "none") {
|
|
93099
|
+
return anim.motionPath ? "pptx.animation.motionPath.label" : "pptx.animation.animation";
|
|
93100
|
+
}
|
|
93101
|
+
return isAnimationCatalogPresetId(token2) ? animationCatalogPresetLabelKey(token2) : animationPresetLabelKey(token2);
|
|
93102
|
+
}
|
|
93103
|
+
function animationEffectLabel(anim, translate) {
|
|
93104
|
+
return translate(animationEffectLabelKey(anim));
|
|
93105
|
+
}
|
|
92984
93106
|
var PRESET_ID_TO_EFFECT = {
|
|
92985
93107
|
entr: {
|
|
92986
93108
|
1: "appear",
|
|
@@ -97709,6 +97831,45 @@ function computeMarqueeHitIds(marquee, elements, minSize = MIN_ELEMENT_SIZE) {
|
|
|
97709
97831
|
function mergeAdditiveSelection(baseSelectionIds, hitIds) {
|
|
97710
97832
|
return Array.from(/* @__PURE__ */ new Set([...baseSelectionIds ?? [], ...hitIds]));
|
|
97711
97833
|
}
|
|
97834
|
+
function getImageFitStyle(el) {
|
|
97835
|
+
const uncropped = {
|
|
97836
|
+
width: "100%",
|
|
97837
|
+
height: "100%",
|
|
97838
|
+
objectFit: "cover"
|
|
97839
|
+
};
|
|
97840
|
+
if (!isImageLikeElement(el)) {
|
|
97841
|
+
return uncropped;
|
|
97842
|
+
}
|
|
97843
|
+
const cropLeft = clampCropValue(el.cropLeft);
|
|
97844
|
+
const cropTop = clampCropValue(el.cropTop);
|
|
97845
|
+
const cropRight = clampCropValue(el.cropRight);
|
|
97846
|
+
const cropBottom = clampCropValue(el.cropBottom);
|
|
97847
|
+
if (cropLeft + cropRight <= 1e-4 && cropTop + cropBottom <= 1e-4) {
|
|
97848
|
+
return uncropped;
|
|
97849
|
+
}
|
|
97850
|
+
const horizontalScale = cropLeft + cropRight >= 0.99 ? 0.99 / (cropLeft + cropRight) : 1;
|
|
97851
|
+
const verticalScale = cropTop + cropBottom >= 0.99 ? 0.99 / (cropTop + cropBottom) : 1;
|
|
97852
|
+
const left = clampCropValue(cropLeft * horizontalScale);
|
|
97853
|
+
const right = clampCropValue(cropRight * horizontalScale);
|
|
97854
|
+
const top = clampCropValue(cropTop * verticalScale);
|
|
97855
|
+
const bottom = clampCropValue(cropBottom * verticalScale);
|
|
97856
|
+
const remainingWidth = Math.max(0.01, 1 - left - right);
|
|
97857
|
+
const remainingHeight = Math.max(0.01, 1 - top - bottom);
|
|
97858
|
+
const tx = Math.round(-left / remainingWidth * 1e4) / 100;
|
|
97859
|
+
const ty = Math.round(-top / remainingHeight * 1e4) / 100;
|
|
97860
|
+
const sx = Math.round(1 / remainingWidth * 1e6) / 1e6;
|
|
97861
|
+
const sy = Math.round(1 / remainingHeight * 1e6) / 1e6;
|
|
97862
|
+
return {
|
|
97863
|
+
position: "absolute",
|
|
97864
|
+
width: "100%",
|
|
97865
|
+
height: "100%",
|
|
97866
|
+
maxWidth: "none",
|
|
97867
|
+
maxHeight: "none",
|
|
97868
|
+
objectFit: "fill",
|
|
97869
|
+
transformOrigin: "top left",
|
|
97870
|
+
transform: `translate(${tx}%, ${ty}%) scale(${sx}, ${sy})`
|
|
97871
|
+
};
|
|
97872
|
+
}
|
|
97712
97873
|
function groupElements(elements, ids, groupId) {
|
|
97713
97874
|
const idSet = new Set(ids);
|
|
97714
97875
|
const gathered = [];
|
|
@@ -99779,6 +99940,12 @@ function flattenMorphElements(elements, counterpart, offsetX = 0, offsetY = 0) {
|
|
|
99779
99940
|
}
|
|
99780
99941
|
return out;
|
|
99781
99942
|
}
|
|
99943
|
+
function differentText(a, b) {
|
|
99944
|
+
const textOf2 = (element) => (element.text ?? "").replace(/\s+/gu, " ").trim();
|
|
99945
|
+
const fromText = textOf2(a);
|
|
99946
|
+
const toText = textOf2(b);
|
|
99947
|
+
return fromText !== "" && toText !== "" && fromText !== toText;
|
|
99948
|
+
}
|
|
99782
99949
|
var NV_PR_KEYS = [
|
|
99783
99950
|
"p:nvSpPr",
|
|
99784
99951
|
"p:nvPicPr",
|
|
@@ -99893,6 +100060,9 @@ function matchMorphElementsFull(fromSlide, toSlide) {
|
|
|
99893
100060
|
if (fromEl.type !== toEl.type) {
|
|
99894
100061
|
continue;
|
|
99895
100062
|
}
|
|
100063
|
+
if (differentText(fromEl, toEl)) {
|
|
100064
|
+
continue;
|
|
100065
|
+
}
|
|
99896
100066
|
const widthRatio = Math.max(fromEl.width, toEl.width, 1) / Math.max(Math.min(fromEl.width, toEl.width), 1);
|
|
99897
100067
|
const heightRatio = Math.max(fromEl.height, toEl.height, 1) / Math.max(Math.min(fromEl.height, toEl.height), 1);
|
|
99898
100068
|
if (widthRatio > PROXIMITY_SIZE_RATIO_LIMIT || heightRatio > PROXIMITY_SIZE_RATIO_LIMIT) {
|
|
@@ -100149,6 +100319,27 @@ function appearanceSignature(element, depth = 0) {
|
|
|
100149
100319
|
function morphPairNeedsCrossfade(fromElement, toElement) {
|
|
100150
100320
|
return appearanceSignature(fromElement) !== appearanceSignature(toElement);
|
|
100151
100321
|
}
|
|
100322
|
+
var GEOMETRY_EPSILON = 0.5;
|
|
100323
|
+
function isInertMorphPair(fromElement, toElement) {
|
|
100324
|
+
return Math.abs(fromElement.x - toElement.x) <= GEOMETRY_EPSILON && Math.abs(fromElement.y - toElement.y) <= GEOMETRY_EPSILON && Math.abs(fromElement.width - toElement.width) <= GEOMETRY_EPSILON && Math.abs(fromElement.height - toElement.height) <= GEOMETRY_EPSILON && (fromElement.rotation ?? 0) === (toElement.rotation ?? 0) && Boolean(fromElement.flipHorizontal) === Boolean(toElement.flipHorizontal) && Boolean(fromElement.flipVertical) === Boolean(toElement.flipVertical) && (fromElement.opacity ?? 1) === (toElement.opacity ?? 1) && !morphPairNeedsCrossfade(fromElement, toElement);
|
|
100325
|
+
}
|
|
100326
|
+
function crossfadeIncomingMayFadeIn(element) {
|
|
100327
|
+
const image = element;
|
|
100328
|
+
if (image.imagePath || image.svgPath) {
|
|
100329
|
+
return false;
|
|
100330
|
+
}
|
|
100331
|
+
if (!hasShapeProperties(element)) {
|
|
100332
|
+
return true;
|
|
100333
|
+
}
|
|
100334
|
+
const style = element.shapeStyle;
|
|
100335
|
+
if (!style) {
|
|
100336
|
+
return true;
|
|
100337
|
+
}
|
|
100338
|
+
if (style.fillMode === "none" || (style.fillOpacity ?? 1) === 0) {
|
|
100339
|
+
return true;
|
|
100340
|
+
}
|
|
100341
|
+
return !(style.fillColor || style.fillGradient || style.fillGradientStops?.length || style.fillPatternPreset || style.fillImageUrl);
|
|
100342
|
+
}
|
|
100152
100343
|
function generateMorphAnimations(pairs2, durationMs, _mode = "object") {
|
|
100153
100344
|
const animations = [];
|
|
100154
100345
|
for (let index = 0; index < pairs2.length; index++) {
|
|
@@ -100163,13 +100354,15 @@ function generateMorphAnimations(pairs2, durationMs, _mode = "object") {
|
|
|
100163
100354
|
const toRot = toElement.rotation ?? 0;
|
|
100164
100355
|
const fromRot = shortestRotationTarget(toRot, fromElement.rotation ?? 0);
|
|
100165
100356
|
const flips = `${toElement.flipHorizontal ? " scaleX(-1)" : ""}${toElement.flipVertical ? " scaleY(-1)" : ""}`;
|
|
100357
|
+
const inert = isInertMorphPair(fromElement, toElement);
|
|
100358
|
+
const crossfadesIn = !inert && morphPairNeedsCrossfade(fromElement, toElement) && crossfadeIncomingMayFadeIn(toElement);
|
|
100166
100359
|
const fromProps = [
|
|
100167
100360
|
` transform: translate(${dx}px, ${dy}px) scale(${sx}, ${sy}) rotate(${fromRot}deg)${flips};`,
|
|
100168
|
-
` opacity: ${fromOpacity};`
|
|
100361
|
+
` opacity: ${inert ? 0 : crossfadesIn ? 0 : fromOpacity};`
|
|
100169
100362
|
];
|
|
100170
100363
|
const toProps = [
|
|
100171
100364
|
` transform: translate(0, 0) scale(1, 1) rotate(${toRot}deg)${flips};`,
|
|
100172
|
-
` opacity: ${toOpacity};`
|
|
100365
|
+
` opacity: ${inert ? 0 : toOpacity};`
|
|
100173
100366
|
];
|
|
100174
100367
|
const colorInterp = buildColorInterpolationProps(fromElement, toElement);
|
|
100175
100368
|
if (colorInterp) {
|
|
@@ -107395,9 +107588,117 @@ async function openNativeEyeDropper() {
|
|
|
107395
107588
|
return null;
|
|
107396
107589
|
}
|
|
107397
107590
|
}
|
|
107591
|
+
var PEN_COLORS = [
|
|
107592
|
+
"#ff0000",
|
|
107593
|
+
"#0000ff",
|
|
107594
|
+
"#00aa00",
|
|
107595
|
+
"#ff8800",
|
|
107596
|
+
"#ffffff",
|
|
107597
|
+
"#000000",
|
|
107598
|
+
"#ff00ff",
|
|
107599
|
+
"#00cccc"
|
|
107600
|
+
];
|
|
107601
|
+
var HIGHLIGHTER_COLORS = [
|
|
107602
|
+
"#ffff00",
|
|
107603
|
+
"#00ff00",
|
|
107604
|
+
"#ff69b4",
|
|
107605
|
+
"#00bfff",
|
|
107606
|
+
"#ff8c00",
|
|
107607
|
+
"#adff2f",
|
|
107608
|
+
"#ff6347",
|
|
107609
|
+
"#87ceeb"
|
|
107610
|
+
];
|
|
107398
107611
|
function formatSlideCounter(currentSlide, totalSlides) {
|
|
107399
107612
|
return `${currentSlide + 1} / ${totalSlides}`;
|
|
107400
107613
|
}
|
|
107614
|
+
var PRESENT_TOOLBAR_CONTROLS = [
|
|
107615
|
+
{
|
|
107616
|
+
id: "previous",
|
|
107617
|
+
kind: "button",
|
|
107618
|
+
labelKey: "pptx.presenter.previousSlide",
|
|
107619
|
+
icon: "chevron-left"
|
|
107620
|
+
},
|
|
107621
|
+
{ id: "counter", kind: "counter" },
|
|
107622
|
+
{ id: "next", kind: "button", labelKey: "pptx.presenter.nextSlide", icon: "chevron-right" },
|
|
107623
|
+
{ id: "divider-navigation", kind: "divider" },
|
|
107624
|
+
{ id: "timer", kind: "timer", labelKey: "pptx.presenter.elapsed", icon: "timer" },
|
|
107625
|
+
{ id: "divider-timer", kind: "divider" },
|
|
107626
|
+
{
|
|
107627
|
+
id: "laser",
|
|
107628
|
+
kind: "toggle",
|
|
107629
|
+
labelKey: "pptx.presentation.laserPointer",
|
|
107630
|
+
icon: "mouse-pointer-2"
|
|
107631
|
+
},
|
|
107632
|
+
{ id: "pen", kind: "toggle", labelKey: "pptx.presentation.pen", icon: "pen-tool" },
|
|
107633
|
+
{
|
|
107634
|
+
id: "pen-color",
|
|
107635
|
+
kind: "caret",
|
|
107636
|
+
labelKey: "pptx.presentationToolbar.penColor",
|
|
107637
|
+
icon: "chevron-down"
|
|
107638
|
+
},
|
|
107639
|
+
{
|
|
107640
|
+
id: "highlighter",
|
|
107641
|
+
kind: "toggle",
|
|
107642
|
+
labelKey: "pptx.presentation.highlighter",
|
|
107643
|
+
icon: "highlighter"
|
|
107644
|
+
},
|
|
107645
|
+
{
|
|
107646
|
+
id: "highlighter-color",
|
|
107647
|
+
kind: "caret",
|
|
107648
|
+
labelKey: "pptx.presentationToolbar.highlighterColor",
|
|
107649
|
+
icon: "chevron-down"
|
|
107650
|
+
},
|
|
107651
|
+
{ id: "eraser", kind: "toggle", labelKey: "pptx.presentation.eraser", icon: "eraser" },
|
|
107652
|
+
{ id: "clear", kind: "button", labelKey: "pptx.presentation.clearAnnotations", icon: "trash-2" },
|
|
107653
|
+
{ id: "divider-tools", kind: "divider" },
|
|
107654
|
+
{
|
|
107655
|
+
id: "presenter-view",
|
|
107656
|
+
kind: "toggle",
|
|
107657
|
+
labelKey: "pptx.presenter.presenterView",
|
|
107658
|
+
icon: "panel-right"
|
|
107659
|
+
},
|
|
107660
|
+
{ id: "end", kind: "button", labelKey: "pptx.presenter.endPresentation", icon: "x" }
|
|
107661
|
+
];
|
|
107662
|
+
PRESENT_TOOLBAR_CONTROLS.map(
|
|
107663
|
+
(control) => control.id
|
|
107664
|
+
);
|
|
107665
|
+
PRESENT_TOOLBAR_CONTROLS.flatMap(
|
|
107666
|
+
(control) => control.labelKey === void 0 ? [] : [control.labelKey]
|
|
107667
|
+
);
|
|
107668
|
+
var PRESENT_TOOLBAR_CLASSES = {
|
|
107669
|
+
/** The floating bar itself. */
|
|
107670
|
+
container: "flex items-center gap-1 px-3 py-2 rounded-xl bg-neutral-900/90 backdrop-blur-md border border-white/15 shadow-2xl",
|
|
107671
|
+
/** The auto-hiding positioner the bar sits in. */
|
|
107672
|
+
wrapper: "absolute bottom-6 left-1/2 -translate-x-1/2 z-[80] transition-opacity duration-300",
|
|
107673
|
+
/** Navigation / action button. */
|
|
107674
|
+
button: "flex items-center justify-center w-9 h-9 rounded-md transition-colors text-white/70 hover:text-white hover:bg-white/10 disabled:text-white/20 disabled:cursor-not-allowed",
|
|
107675
|
+
/** Annotation-tool toggle, inactive. */
|
|
107676
|
+
toggle: "relative flex items-center justify-center w-9 h-9 rounded-md transition-colors text-white/70 hover:text-white hover:bg-white/10",
|
|
107677
|
+
/** Annotation-tool toggle, active. */
|
|
107678
|
+
toggleActive: "relative flex items-center justify-center w-9 h-9 rounded-md transition-colors bg-white/25 text-white",
|
|
107679
|
+
/** Colour caret beside a tool toggle. */
|
|
107680
|
+
caret: "flex items-center justify-center w-7 h-9 -ml-1 rounded-r-md transition-colors text-white/50 hover:text-white hover:bg-white/10",
|
|
107681
|
+
/** Vertical hairline between groups. */
|
|
107682
|
+
divider: "w-px h-6 bg-white/20 mx-1",
|
|
107683
|
+
/** Slide counter. */
|
|
107684
|
+
counter: "text-xs font-mono tabular-nums text-white/80 px-1.5 select-none min-w-[48px] text-center",
|
|
107685
|
+
/** Elapsed-time readout. */
|
|
107686
|
+
timer: "flex items-center gap-1.5 text-xs font-mono tabular-nums text-white/60 px-1 select-none",
|
|
107687
|
+
/**
|
|
107688
|
+
* Colour palette popover.
|
|
107689
|
+
*
|
|
107690
|
+
* `w-max` is load-bearing. An absolutely positioned grid shrink-to-fits its
|
|
107691
|
+
* positioned ancestor, which here is the 64px tool+caret pair, so without it
|
|
107692
|
+
* the four 36px swatch columns are squeezed into 50px and overlap each other
|
|
107693
|
+
* to the point that a swatch cannot be clicked. React shipped it that way,
|
|
107694
|
+
* and the ports faithfully reproduced the defect.
|
|
107695
|
+
*/
|
|
107696
|
+
palette: "absolute bottom-full left-1/2 -translate-x-1/2 mb-2 p-3 w-max bg-neutral-800 rounded-lg border border-white/20 shadow-xl grid grid-cols-4 gap-2",
|
|
107697
|
+
/** One colour swatch inside the palette. */
|
|
107698
|
+
swatch: "w-9 h-9 rounded-full border-2 transition-transform hover:scale-110",
|
|
107699
|
+
/** Underline showing a tool's current colour. */
|
|
107700
|
+
swatchBar: "absolute bottom-0.5 left-1/2 -translate-x-1/2 w-3 h-0.5 rounded-full"
|
|
107701
|
+
};
|
|
107401
107702
|
function createPresentationKeyBuffer() {
|
|
107402
107703
|
return { digits: "" };
|
|
107403
107704
|
}
|
|
@@ -108899,6 +109200,134 @@ function getAriaRoleDescription(element) {
|
|
|
108899
109200
|
return void 0;
|
|
108900
109201
|
}
|
|
108901
109202
|
}
|
|
109203
|
+
function shouldLoopContinuously(input) {
|
|
109204
|
+
return Boolean(input.loopContinuously) || input.showType === "kiosk";
|
|
109205
|
+
}
|
|
109206
|
+
function resolveAutoAdvanceDelayMs(slide, options) {
|
|
109207
|
+
if (options?.useTimings === false) {
|
|
109208
|
+
return void 0;
|
|
109209
|
+
}
|
|
109210
|
+
const advanceAfterMs = slide?.transition?.advanceAfterMs;
|
|
109211
|
+
if (typeof advanceAfterMs !== "number" || !Number.isFinite(advanceAfterMs) || advanceAfterMs < 0) {
|
|
109212
|
+
return void 0;
|
|
109213
|
+
}
|
|
109214
|
+
return advanceAfterMs;
|
|
109215
|
+
}
|
|
109216
|
+
var PRESENTATION_INERT_CLICK_SELECTOR = 'a, button, input, select, textarea, video, audio, [data-pptx-action], [role="dialog"]';
|
|
109217
|
+
function isInertMedia(node) {
|
|
109218
|
+
return (node.tagName === "VIDEO" || node.tagName === "AUDIO") && !node.controls;
|
|
109219
|
+
}
|
|
109220
|
+
function isPresentationAdvanceClick(target) {
|
|
109221
|
+
if (typeof Element === "undefined" || !(target instanceof Element)) {
|
|
109222
|
+
return false;
|
|
109223
|
+
}
|
|
109224
|
+
for (let node = target; node !== null; node = node.parentElement) {
|
|
109225
|
+
if (isInertMedia(node)) {
|
|
109226
|
+
continue;
|
|
109227
|
+
}
|
|
109228
|
+
if (node.matches(PRESENTATION_INERT_CLICK_SELECTOR)) {
|
|
109229
|
+
return false;
|
|
109230
|
+
}
|
|
109231
|
+
}
|
|
109232
|
+
return true;
|
|
109233
|
+
}
|
|
109234
|
+
function applyRehearsalTimings(slides, timings) {
|
|
109235
|
+
return slides.map((slide, index) => {
|
|
109236
|
+
const advanceAfterMs = timings[index];
|
|
109237
|
+
if (typeof advanceAfterMs !== "number") {
|
|
109238
|
+
return slide;
|
|
109239
|
+
}
|
|
109240
|
+
return {
|
|
109241
|
+
...slide,
|
|
109242
|
+
transition: {
|
|
109243
|
+
...slide.transition,
|
|
109244
|
+
type: slide.transition?.type ?? "none",
|
|
109245
|
+
advanceAfterMs
|
|
109246
|
+
}
|
|
109247
|
+
};
|
|
109248
|
+
});
|
|
109249
|
+
}
|
|
109250
|
+
function computeEntranceAnimationDelay(delayMs, animationIndex) {
|
|
109251
|
+
return Math.max(0, delayMs || 0) + animationIndex * 60;
|
|
109252
|
+
}
|
|
109253
|
+
var NO_OP_ACTION = "ppaction://noaction";
|
|
109254
|
+
function isNoOpPresentationAction(action) {
|
|
109255
|
+
if (!action) {
|
|
109256
|
+
return true;
|
|
109257
|
+
}
|
|
109258
|
+
const verb = (action.action ?? "").trim().toLowerCase();
|
|
109259
|
+
if (verb === NO_OP_ACTION) {
|
|
109260
|
+
return true;
|
|
109261
|
+
}
|
|
109262
|
+
return verb.length === 0 && typeof action.targetSlideIndex !== "number" && !(action.url ?? "").trim();
|
|
109263
|
+
}
|
|
109264
|
+
function resolvePresentationAction(action, options) {
|
|
109265
|
+
const soundPath = action?.soundPath;
|
|
109266
|
+
if (!action || isNoOpPresentationAction(action)) {
|
|
109267
|
+
return { intent: { kind: "none" }, soundPath };
|
|
109268
|
+
}
|
|
109269
|
+
const verb = (action.action ?? "").toLowerCase();
|
|
109270
|
+
if (typeof action.targetSlideIndex === "number" && Number.isFinite(action.targetSlideIndex)) {
|
|
109271
|
+
if (options.slideCount <= 0) {
|
|
109272
|
+
return { intent: { kind: "none" }, soundPath };
|
|
109273
|
+
}
|
|
109274
|
+
const slideIndex = Math.max(
|
|
109275
|
+
0,
|
|
109276
|
+
Math.min(options.slideCount - 1, Math.floor(action.targetSlideIndex))
|
|
109277
|
+
);
|
|
109278
|
+
return { intent: { kind: "goToSlide", slideIndex }, soundPath };
|
|
109279
|
+
}
|
|
109280
|
+
if (verb.includes("hlinkshowjump")) {
|
|
109281
|
+
if (verb.includes("nextslide")) {
|
|
109282
|
+
return { intent: { kind: "move", direction: 1 }, soundPath };
|
|
109283
|
+
}
|
|
109284
|
+
if (verb.includes("previousslide")) {
|
|
109285
|
+
return { intent: { kind: "move", direction: -1 }, soundPath };
|
|
109286
|
+
}
|
|
109287
|
+
if (verb.includes("firstslide")) {
|
|
109288
|
+
return { intent: { kind: "goToSlide", slideIndex: 0 }, soundPath };
|
|
109289
|
+
}
|
|
109290
|
+
if (verb.includes("lastslide")) {
|
|
109291
|
+
return {
|
|
109292
|
+
intent: options.slideCount > 0 ? { kind: "goToSlide", slideIndex: options.slideCount - 1 } : { kind: "none" },
|
|
109293
|
+
soundPath
|
|
109294
|
+
};
|
|
109295
|
+
}
|
|
109296
|
+
if (verb.includes("endshow")) {
|
|
109297
|
+
return { intent: { kind: "endShow" }, soundPath };
|
|
109298
|
+
}
|
|
109299
|
+
return { intent: { kind: "none" }, soundPath };
|
|
109300
|
+
}
|
|
109301
|
+
if (verb.includes("hlinksldjump")) {
|
|
109302
|
+
return { intent: { kind: "none" }, soundPath };
|
|
109303
|
+
}
|
|
109304
|
+
const url = (action.url ?? "").trim();
|
|
109305
|
+
if (url && isUrlSafe(url)) {
|
|
109306
|
+
return { intent: { kind: "openUrl", url }, soundPath };
|
|
109307
|
+
}
|
|
109308
|
+
return { intent: { kind: "none" }, soundPath };
|
|
109309
|
+
}
|
|
109310
|
+
function runPresentationAction(action, options, runner) {
|
|
109311
|
+
const { intent, soundPath } = resolvePresentationAction(action, options);
|
|
109312
|
+
if (soundPath && runner.playSound) {
|
|
109313
|
+
runner.playSound(soundPath);
|
|
109314
|
+
}
|
|
109315
|
+
switch (intent.kind) {
|
|
109316
|
+
case "goToSlide":
|
|
109317
|
+
runner.goToSlide(intent.slideIndex);
|
|
109318
|
+
return true;
|
|
109319
|
+
case "move":
|
|
109320
|
+
runner.move(intent.direction);
|
|
109321
|
+
return true;
|
|
109322
|
+
case "endShow":
|
|
109323
|
+
runner.endShow();
|
|
109324
|
+
return true;
|
|
109325
|
+
case "openUrl":
|
|
109326
|
+
return safeOpenUrl(intent.url);
|
|
109327
|
+
default:
|
|
109328
|
+
return false;
|
|
109329
|
+
}
|
|
109330
|
+
}
|
|
108902
109331
|
function elementHasTextHyperlink(element) {
|
|
108903
109332
|
if (!hasTextProperties(element)) {
|
|
108904
109333
|
return false;
|
|
@@ -108907,10 +109336,10 @@ function elementHasTextHyperlink(element) {
|
|
|
108907
109336
|
}
|
|
108908
109337
|
function isElementActionable(element, options = {}) {
|
|
108909
109338
|
const { hasActionHandler = true, hasHyperlinkHandler = true, hasZoomHandler = true } = options;
|
|
108910
|
-
if (element.actionClick && hasActionHandler) {
|
|
109339
|
+
if (element.actionClick && hasActionHandler && !isNoOpPresentationAction(element.actionClick)) {
|
|
108911
109340
|
return true;
|
|
108912
109341
|
}
|
|
108913
|
-
if (element.actionHover) {
|
|
109342
|
+
if (element.actionHover && !isNoOpPresentationAction(element.actionHover)) {
|
|
108914
109343
|
return true;
|
|
108915
109344
|
}
|
|
108916
109345
|
if (hasHyperlinkHandler && elementHasTextHyperlink(element)) {
|
|
@@ -110975,55 +111404,101 @@ var VIEWER_SHORTCUT_REFERENCE = [
|
|
|
110975
111404
|
{ actionKey: "pptx.shortcuts.title", shortcut: "?" }
|
|
110976
111405
|
];
|
|
110977
111406
|
var SHORTCUT_REFERENCE_ITEMS = VIEWER_SHORTCUT_REFERENCE;
|
|
110978
|
-
function
|
|
110979
|
-
|
|
110980
|
-
|
|
110981
|
-
|
|
110982
|
-
if (options?.useTimings === false) {
|
|
110983
|
-
return void 0;
|
|
111407
|
+
function resolveCustomShowIndexes(slides, customShow) {
|
|
111408
|
+
const keys = customShow.slideRIds ?? customShow.slideIds;
|
|
111409
|
+
if (!keys || keys.length === 0) {
|
|
111410
|
+
return [];
|
|
110984
111411
|
}
|
|
110985
|
-
const
|
|
110986
|
-
|
|
110987
|
-
|
|
111412
|
+
const byKey = /* @__PURE__ */ new Map();
|
|
111413
|
+
slides.forEach((slide, index) => {
|
|
111414
|
+
if (slide.id !== void 0 && !byKey.has(slide.id)) {
|
|
111415
|
+
byKey.set(slide.id, index);
|
|
111416
|
+
}
|
|
111417
|
+
});
|
|
111418
|
+
slides.forEach((slide, index) => {
|
|
111419
|
+
if (slide.rId !== void 0) {
|
|
111420
|
+
byKey.set(slide.rId, index);
|
|
111421
|
+
}
|
|
111422
|
+
});
|
|
111423
|
+
const resolved = [];
|
|
111424
|
+
for (const key of keys) {
|
|
111425
|
+
const index = byKey.get(key);
|
|
111426
|
+
if (index !== void 0) {
|
|
111427
|
+
resolved.push(index);
|
|
111428
|
+
}
|
|
110988
111429
|
}
|
|
110989
|
-
return
|
|
111430
|
+
return resolved;
|
|
110990
111431
|
}
|
|
110991
|
-
|
|
110992
|
-
|
|
110993
|
-
|
|
111432
|
+
function resolveShowSlideIndexes(slides, activeCustomShow) {
|
|
111433
|
+
const all = [];
|
|
111434
|
+
for (let index = 0; index < slides.length; index++) {
|
|
111435
|
+
all.push(index);
|
|
111436
|
+
}
|
|
111437
|
+
const base = activeCustomShow ? resolveCustomShowIndexes(slides, activeCustomShow) : all;
|
|
111438
|
+
const effectiveBase = base.length > 0 ? base : all;
|
|
111439
|
+
const visible = effectiveBase.filter((index) => !slides[index]?.hidden);
|
|
111440
|
+
return visible.length > 0 ? visible : effectiveBase;
|
|
110994
111441
|
}
|
|
110995
|
-
function
|
|
110996
|
-
|
|
110997
|
-
|
|
111442
|
+
function showPosition(deckIndex, showIndexes) {
|
|
111443
|
+
return showIndexes.indexOf(deckIndex);
|
|
111444
|
+
}
|
|
111445
|
+
function nextShowSlideIndex(deckIndex, showIndexes, options) {
|
|
111446
|
+
if (showIndexes.length === 0) {
|
|
111447
|
+
return void 0;
|
|
110998
111448
|
}
|
|
110999
|
-
|
|
111000
|
-
|
|
111001
|
-
|
|
111449
|
+
const position2 = showPosition(deckIndex, showIndexes);
|
|
111450
|
+
if (position2 >= 0) {
|
|
111451
|
+
if (position2 + 1 < showIndexes.length) {
|
|
111452
|
+
return showIndexes[position2 + 1];
|
|
111002
111453
|
}
|
|
111003
|
-
|
|
111004
|
-
|
|
111454
|
+
return options?.loop ? showIndexes[0] : void 0;
|
|
111455
|
+
}
|
|
111456
|
+
for (const candidate of showIndexes) {
|
|
111457
|
+
if (candidate > deckIndex) {
|
|
111458
|
+
return candidate;
|
|
111005
111459
|
}
|
|
111006
111460
|
}
|
|
111007
|
-
return
|
|
111461
|
+
return options?.loop ? showIndexes[0] : void 0;
|
|
111008
111462
|
}
|
|
111009
|
-
function
|
|
111010
|
-
|
|
111011
|
-
|
|
111012
|
-
|
|
111013
|
-
|
|
111463
|
+
function previousShowSlideIndex(deckIndex, showIndexes) {
|
|
111464
|
+
if (showIndexes.length === 0) {
|
|
111465
|
+
return void 0;
|
|
111466
|
+
}
|
|
111467
|
+
const position2 = showPosition(deckIndex, showIndexes);
|
|
111468
|
+
if (position2 >= 0) {
|
|
111469
|
+
return position2 > 0 ? showIndexes[position2 - 1] : void 0;
|
|
111470
|
+
}
|
|
111471
|
+
let previous;
|
|
111472
|
+
for (const candidate of showIndexes) {
|
|
111473
|
+
if (candidate < deckIndex) {
|
|
111474
|
+
previous = candidate;
|
|
111014
111475
|
}
|
|
111015
|
-
|
|
111016
|
-
|
|
111017
|
-
transition: {
|
|
111018
|
-
...slide.transition,
|
|
111019
|
-
type: slide.transition?.type ?? "none",
|
|
111020
|
-
advanceAfterMs
|
|
111021
|
-
}
|
|
111022
|
-
};
|
|
111023
|
-
});
|
|
111476
|
+
}
|
|
111477
|
+
return previous;
|
|
111024
111478
|
}
|
|
111025
|
-
function
|
|
111026
|
-
return
|
|
111479
|
+
function hasShowSlideAfter(deckIndex, showIndexes) {
|
|
111480
|
+
return nextShowSlideIndex(deckIndex, showIndexes) !== void 0;
|
|
111481
|
+
}
|
|
111482
|
+
function nextPresentedSlide(slides, deckIndex) {
|
|
111483
|
+
const next = nextShowSlideIndex(deckIndex, resolveShowSlideIndexes(slides));
|
|
111484
|
+
return next === void 0 ? void 0 : slides[next];
|
|
111485
|
+
}
|
|
111486
|
+
function firstShowSlideIndex(showIndexes) {
|
|
111487
|
+
return showIndexes.length > 0 ? showIndexes[0] : void 0;
|
|
111488
|
+
}
|
|
111489
|
+
function lastShowSlideIndex(showIndexes) {
|
|
111490
|
+
return showIndexes.length > 0 ? showIndexes[showIndexes.length - 1] : void 0;
|
|
111491
|
+
}
|
|
111492
|
+
var HIDDEN_SLIDE_LABEL_KEY = "pptx.slideSorter.hidden";
|
|
111493
|
+
var HIDDEN_SLIDE_SLASH_GRADIENT = "linear-gradient(to top right, transparent 47%, color-mix(in srgb, currentColor 60%, transparent) 47%, color-mix(in srgb, currentColor 60%, transparent) 53%, transparent 53%)";
|
|
111494
|
+
function hiddenSlideLabelId(surface, slideIndex) {
|
|
111495
|
+
return `pptx-hidden-slide-${surface}-${slideIndex}`;
|
|
111496
|
+
}
|
|
111497
|
+
function hiddenSlideCue(hidden, surface, slideIndex) {
|
|
111498
|
+
if (!hidden) {
|
|
111499
|
+
return { hidden: false, labelId: void 0, marker: void 0 };
|
|
111500
|
+
}
|
|
111501
|
+
return { hidden: true, labelId: hiddenSlideLabelId(surface, slideIndex), marker: "true" };
|
|
111027
111502
|
}
|
|
111028
111503
|
var VIEWER_PREFS_STORAGE_KEY = "pptx-viewer-prefs";
|
|
111029
111504
|
function hasLocalStorage() {
|
|
@@ -113662,8 +114137,12 @@ exports.EXPORT_ASSEMBLING_PERCENT = EXPORT_ASSEMBLING_PERCENT;
|
|
|
113662
114137
|
exports.EXPORT_DONE_PERCENT = EXPORT_DONE_PERCENT;
|
|
113663
114138
|
exports.EncryptedFileError = EncryptedFileError;
|
|
113664
114139
|
exports.FILL_MODE_OPTIONS = FILL_MODE_OPTIONS;
|
|
114140
|
+
exports.FILL_PATTERN_LABEL_KEYS = FILL_PATTERN_LABEL_KEYS;
|
|
113665
114141
|
exports.GRADIENT_TYPE_OPTIONS = GRADIENT_TYPE_OPTIONS;
|
|
113666
114142
|
exports.HANDOUT_OPTIONS = HANDOUT_OPTIONS;
|
|
114143
|
+
exports.HIDDEN_SLIDE_LABEL_KEY = HIDDEN_SLIDE_LABEL_KEY;
|
|
114144
|
+
exports.HIDDEN_SLIDE_SLASH_GRADIENT = HIDDEN_SLIDE_SLASH_GRADIENT;
|
|
114145
|
+
exports.HIGHLIGHTER_COLORS = HIGHLIGHTER_COLORS;
|
|
113667
114146
|
exports.INK_REPLAY_KEYFRAMES = INK_REPLAY_KEYFRAMES;
|
|
113668
114147
|
exports.INSERT_CHART_TYPES = INSERT_CHART_TYPES;
|
|
113669
114148
|
exports.LBL = LBL;
|
|
@@ -113683,10 +114162,12 @@ exports.OUTLINE_ROW_ATTR = OUTLINE_ROW_ATTR;
|
|
|
113683
114162
|
exports.OUTLINE_SLIDE_ATTR = OUTLINE_SLIDE_ATTR;
|
|
113684
114163
|
exports.OUTLINE_VIEW_ATTR = OUTLINE_VIEW_ATTR;
|
|
113685
114164
|
exports.PATTERN_OPTIONS = PATTERN_OPTIONS;
|
|
114165
|
+
exports.PEN_COLORS = PEN_COLORS;
|
|
113686
114166
|
exports.PRESENTATION_CHANNEL_NAME = PRESENTATION_CHANNEL_NAME;
|
|
113687
114167
|
exports.PRESENTATION_HASH = PRESENTATION_HASH;
|
|
113688
114168
|
exports.PRESENTATION_MESSAGE_ORIGIN = PRESENTATION_MESSAGE_ORIGIN;
|
|
113689
114169
|
exports.PRESENTATION_NONCE_KEY = PRESENTATION_NONCE_KEY;
|
|
114170
|
+
exports.PRESENT_TOOLBAR_CLASSES = PRESENT_TOOLBAR_CLASSES;
|
|
113690
114171
|
exports.PRESETS = PRESETS;
|
|
113691
114172
|
exports.PRESET_THEMES = PRESET_THEMES;
|
|
113692
114173
|
exports.PptxHandler = PptxHandler;
|
|
@@ -113706,6 +114187,8 @@ exports.SHORTCUT_REFERENCE_ITEMS = SHORTCUT_REFERENCE_ITEMS;
|
|
|
113706
114187
|
exports.SLIDE_TRANSITION_KEYFRAMES = SLIDE_TRANSITION_KEYFRAMES;
|
|
113707
114188
|
exports.SLIDE_TRANSITION_OPTIONS = SLIDE_TRANSITION_OPTIONS;
|
|
113708
114189
|
exports.SLIDE_VIRTUALIZATION_THRESHOLD = SLIDE_VIRTUALIZATION_THRESHOLD;
|
|
114190
|
+
exports.SMARTART_COLOR_SCHEME_LABEL_KEYS = SMARTART_COLOR_SCHEME_LABEL_KEYS;
|
|
114191
|
+
exports.SMARTART_STYLE_LABEL_KEYS = SMARTART_STYLE_LABEL_KEYS;
|
|
113709
114192
|
exports.STATUS_BAR_CLASSES = STATUS_BAR_CLASSES;
|
|
113710
114193
|
exports.SWITCHABLE_LAYOUT_TYPES = SWITCHABLE_LAYOUT_TYPES;
|
|
113711
114194
|
exports.SvgExporter = SvgExporter;
|
|
@@ -113717,6 +114200,7 @@ exports.TEXT_WARP_PRESETS = TEXT_WARP_PRESETS;
|
|
|
113717
114200
|
exports.THEME_CATALOG = THEME_CATALOG;
|
|
113718
114201
|
exports.THEME_COLOR_LABELS = THEME_COLOR_LABELS;
|
|
113719
114202
|
exports.THEME_COLOR_SCHEME_KEYS = THEME_COLOR_SCHEME_KEYS;
|
|
114203
|
+
exports.THEME_COLOR_SLOT_LABEL_KEYS = THEME_COLOR_SLOT_LABEL_KEYS;
|
|
113720
114204
|
exports.THEME_PRESETS = THEME_PRESETS;
|
|
113721
114205
|
exports.TITLE_BAR_CLASSES = TITLE_BAR_CLASSES;
|
|
113722
114206
|
exports.TITLE_BAR_DEFAULT_FILE_KEY = TITLE_BAR_DEFAULT_FILE_KEY;
|
|
@@ -113739,6 +114223,7 @@ exports.addSmartArtNode = addSmartArtNode;
|
|
|
113739
114223
|
exports.addSmartArtNodeAsChild = addSmartArtNodeAsChild;
|
|
113740
114224
|
exports.addTagToCollections = addTagToCollections;
|
|
113741
114225
|
exports.alignElements = alignElements;
|
|
114226
|
+
exports.animationEffectLabel = animationEffectLabel;
|
|
113742
114227
|
exports.appendPresentationInkPoint = appendPresentationInkPoint;
|
|
113743
114228
|
exports.appendTableElementColumn = appendTableElementColumn;
|
|
113744
114229
|
exports.appendTableElementRow = appendTableElementRow;
|
|
@@ -113913,6 +114398,7 @@ exports.filterRenderedElements = filterRenderedElements;
|
|
|
113913
114398
|
exports.findChartPartTarget = findChartPartTarget;
|
|
113914
114399
|
exports.findMediaElementByElementId = findMediaElementByElementId;
|
|
113915
114400
|
exports.findSmartArtNodeText = findSmartArtNodeText;
|
|
114401
|
+
exports.firstShowSlideIndex = firstShowSlideIndex;
|
|
113916
114402
|
exports.flattenTagCollections = flattenTagCollections;
|
|
113917
114403
|
exports.formatAxisValue = formatAxisValue;
|
|
113918
114404
|
exports.formatAxisValueWithUnits = formatAxisValueWithUnits;
|
|
@@ -113964,6 +114450,7 @@ exports.getGroupChildParentFill = getGroupChildParentFill;
|
|
|
113964
114450
|
exports.getImageColorWashStyle = getImageColorWashStyle;
|
|
113965
114451
|
exports.getImageEffectsFilter = getImageEffectsFilter;
|
|
113966
114452
|
exports.getImageEffectsOpacity = getImageEffectsOpacity;
|
|
114453
|
+
exports.getImageFitStyle = getImageFitStyle;
|
|
113967
114454
|
exports.getImageSvgFilters = getImageSvgFilters;
|
|
113968
114455
|
exports.getInkReplayStyles = getInkReplayStyles;
|
|
113969
114456
|
exports.getInlineEditorSelection = getInlineEditorSelection;
|
|
@@ -114001,8 +114488,10 @@ exports.hasCopyableFormat = hasCopyableFormat;
|
|
|
114001
114488
|
exports.hasDistinctScriptFonts = hasDistinctScriptFonts;
|
|
114002
114489
|
exports.hasPressureVariation = hasPressureVariation;
|
|
114003
114490
|
exports.hasShapeProperties = hasShapeProperties;
|
|
114491
|
+
exports.hasShowSlideAfter = hasShowSlideAfter;
|
|
114004
114492
|
exports.hasTextProperties = hasTextProperties;
|
|
114005
114493
|
exports.hexToRgbChannels = hexToRgbChannels2;
|
|
114494
|
+
exports.hiddenSlideCue = hiddenSlideCue;
|
|
114006
114495
|
exports.insertTableColumn = insertTableColumn;
|
|
114007
114496
|
exports.insertTableRow = insertTableRow;
|
|
114008
114497
|
exports.isActionHidden = isActionHidden;
|
|
@@ -114029,6 +114518,7 @@ exports.isPresentationSessionMessage = isPresentationSessionMessage;
|
|
|
114029
114518
|
exports.isTemplateElement = isTemplateElement;
|
|
114030
114519
|
exports.isTemplateElementId = isTemplateElementId2;
|
|
114031
114520
|
exports.isUrlSafe = isUrlSafe;
|
|
114521
|
+
exports.lastShowSlideIndex = lastShowSlideIndex;
|
|
114032
114522
|
exports.listAutosaveSnapshots = listAutosaveSnapshots;
|
|
114033
114523
|
exports.listBackstageRecentFiles = listBackstageRecentFiles;
|
|
114034
114524
|
exports.loadAudienceContent = loadAudienceContent;
|
|
@@ -114061,6 +114551,8 @@ exports.moveSectionDown = moveSectionDown;
|
|
|
114061
114551
|
exports.moveSectionUp = moveSectionUp;
|
|
114062
114552
|
exports.moveSlidesToSection = moveSlidesToSection;
|
|
114063
114553
|
exports.newTableElement = newTableElement;
|
|
114554
|
+
exports.nextPresentedSlide = nextPresentedSlide;
|
|
114555
|
+
exports.nextShowSlideIndex = nextShowSlideIndex;
|
|
114064
114556
|
exports.normalizeColorsForCapture = normalizeColorsForCapture;
|
|
114065
114557
|
exports.normalizeHexColor = normalizeHexColor;
|
|
114066
114558
|
exports.normalizeStrokeDashType = normalizeStrokeDashType;
|
|
@@ -114086,6 +114578,7 @@ exports.presentationInkPath = presentationInkPath;
|
|
|
114086
114578
|
exports.presenterElapsed = presenterElapsed;
|
|
114087
114579
|
exports.presenterPaneAdvancesOnClick = presenterPaneAdvancesOnClick;
|
|
114088
114580
|
exports.pressuresToWidths = pressuresToWidths;
|
|
114581
|
+
exports.previousShowSlideIndex = previousShowSlideIndex;
|
|
114089
114582
|
exports.printPropertiesFrameSlides = printPropertiesFrameSlides;
|
|
114090
114583
|
exports.printPropertiesSlidesPerPage = printPropertiesSlidesPerPage;
|
|
114091
114584
|
exports.promoteSmartArtNode = promoteSmartArtNode;
|
|
@@ -114136,6 +114629,7 @@ exports.resolveParagraphStrutFontSize = resolveParagraphStrutFontSize;
|
|
|
114136
114629
|
exports.resolvePictureBullet = resolvePictureBullet;
|
|
114137
114630
|
exports.resolveProfileInitial = resolveProfileInitial;
|
|
114138
114631
|
exports.resolveRegionCode = resolveRegionCode;
|
|
114632
|
+
exports.resolveShowSlideIndexes = resolveShowSlideIndexes;
|
|
114139
114633
|
exports.resolveThemeCatalogEntry = resolveThemeCatalogEntry;
|
|
114140
114634
|
exports.resolveTitleBarStatusKey = resolveTitleBarStatusKey;
|
|
114141
114635
|
exports.resolveTransitionDurationMs = resolveTransitionDurationMs;
|
|
@@ -114146,6 +114640,7 @@ exports.restoreSegmentSelection = restoreSegmentSelection;
|
|
|
114146
114640
|
exports.revealedSmartArtNodeCount = revealedSmartArtNodeCount;
|
|
114147
114641
|
exports.rulerDragToGuidePosition = rulerDragToGuidePosition;
|
|
114148
114642
|
exports.runMediaCommand = runMediaCommand;
|
|
114643
|
+
exports.runPresentationAction = runPresentationAction;
|
|
114149
114644
|
exports.safeOpenUrl = safeOpenUrl;
|
|
114150
114645
|
exports.sanitizeColor = sanitizeColor;
|
|
114151
114646
|
exports.sanitizeDownloadFilename = sanitizeDownloadFilename;
|
|
@@ -114154,6 +114649,7 @@ exports.sanitizeMathMl = sanitizeMathMl;
|
|
|
114154
114649
|
exports.saveAutosaveSnapshot = saveAutosaveSnapshot;
|
|
114155
114650
|
exports.saveViewerProfile = saveViewerProfile;
|
|
114156
114651
|
exports.scanAvailableFontFamilies = scanAvailableFontFamilies;
|
|
114652
|
+
exports.schemaLabel = schemaLabel;
|
|
114157
114653
|
exports.segmentByScript = segmentByScript;
|
|
114158
114654
|
exports.segmentFrameCount = segmentFrameCount;
|
|
114159
114655
|
exports.sendBackward = sendBackward;
|