pptx-react-viewer 2.11.0 → 2.11.1
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/{AiChatPanel-PJPSDMN4.js → AiChatPanel-E6W3EACA.js} +23 -23
- package/dist/AiChatPanel-E6W3EACA.js.br +0 -0
- package/dist/AiChatPanel-E6W3EACA.js.gz +0 -0
- package/dist/{AiChatPanel-EX2TBRJM.mjs → AiChatPanel-RMQIJDUJ.mjs} +4 -4
- package/dist/AiChatPanel-RMQIJDUJ.mjs.br +0 -0
- package/dist/AiChatPanel-RMQIJDUJ.mjs.gz +0 -0
- package/dist/{Model3DScene-UCBPTEAY.js → Model3DScene-U4B4NZJT.js} +2 -2
- package/dist/Model3DScene-U4B4NZJT.js.br +0 -0
- package/dist/Model3DScene-U4B4NZJT.js.gz +0 -0
- package/dist/{Model3DScene-TTQFV7OS.mjs → Model3DScene-WHSHBMR5.mjs} +1 -1
- package/dist/Model3DScene-WHSHBMR5.mjs.br +0 -0
- package/dist/Model3DScene-WHSHBMR5.mjs.gz +0 -0
- package/dist/{SurfaceChart3DScene-ADKCYYOQ.js → SurfaceChart3DScene-5S43UBRD.js} +2 -2
- package/dist/SurfaceChart3DScene-5S43UBRD.js.br +0 -0
- package/dist/SurfaceChart3DScene-5S43UBRD.js.gz +0 -0
- package/dist/{SurfaceChart3DScene-5SZCRHZI.mjs → SurfaceChart3DScene-77JP5XH5.mjs} +1 -1
- package/dist/{SurfaceChart3DScene-5SZCRHZI.mjs.br → SurfaceChart3DScene-77JP5XH5.mjs.br} +0 -0
- package/dist/SurfaceChart3DScene-77JP5XH5.mjs.gz +0 -0
- package/dist/{chunk-RJEY2KZH.mjs → chunk-DD54KUDG.mjs} +3 -3
- package/dist/chunk-DD54KUDG.mjs.br +0 -0
- package/dist/chunk-DD54KUDG.mjs.gz +0 -0
- package/dist/{chunk-MM5RMRSP.js → chunk-FAP6OPLL.js} +250 -250
- package/dist/chunk-FAP6OPLL.js.br +0 -0
- package/dist/chunk-FAP6OPLL.js.gz +0 -0
- package/dist/{chunk-C2UWTH42.mjs → chunk-FV7HEYCX.mjs} +211 -3
- package/dist/chunk-FV7HEYCX.mjs.br +0 -0
- package/dist/{chunk-C2UWTH42.mjs.gz → chunk-FV7HEYCX.mjs.gz} +0 -0
- package/dist/{chunk-UZVRM6LD.mjs → chunk-HF6L2CTF.mjs} +1 -1
- package/dist/chunk-HF6L2CTF.mjs.br +0 -0
- package/dist/chunk-HF6L2CTF.mjs.gz +0 -0
- package/dist/{chunk-N6IHR6PS.js → chunk-IOVOQ6ZJ.js} +89 -1
- package/dist/chunk-IOVOQ6ZJ.js.br +0 -0
- package/dist/{chunk-N6IHR6PS.js.gz → chunk-IOVOQ6ZJ.js.gz} +0 -0
- package/dist/{chunk-E367QIKR.js → chunk-IXBM3HWH.js} +1109 -1070
- package/dist/chunk-IXBM3HWH.js.br +0 -0
- package/dist/chunk-IXBM3HWH.js.gz +0 -0
- package/dist/{chunk-HMQVOPQH.js → chunk-KDJBWJJH.js} +222 -2
- package/dist/chunk-KDJBWJJH.js.br +0 -0
- package/dist/{chunk-HMQVOPQH.js.gz → chunk-KDJBWJJH.js.gz} +0 -0
- package/dist/{chunk-HK2UERUX.mjs → chunk-NJ4PTG4F.mjs} +30 -28
- package/dist/chunk-NJ4PTG4F.mjs.br +0 -0
- package/dist/chunk-NJ4PTG4F.mjs.gz +0 -0
- package/dist/{chunk-L2CM5EUD.mjs → chunk-PXYZFWDA.mjs} +142 -103
- package/dist/chunk-PXYZFWDA.mjs.br +0 -0
- package/dist/chunk-PXYZFWDA.mjs.gz +0 -0
- package/dist/{chunk-4J7SPY64.js → chunk-QT6BPOZM.js} +352 -350
- package/dist/chunk-QT6BPOZM.js.br +0 -0
- package/dist/chunk-QT6BPOZM.js.gz +0 -0
- package/dist/{chunk-53NXKDMZ.mjs → chunk-RHR7GTDX.mjs} +89 -1
- package/dist/chunk-RHR7GTDX.mjs.br +0 -0
- package/dist/{chunk-53NXKDMZ.mjs.gz → chunk-RHR7GTDX.mjs.gz} +0 -0
- package/dist/{chunk-VNP627O5.js → chunk-X3SFCKAF.js} +3 -3
- package/dist/chunk-X3SFCKAF.js.br +0 -0
- package/dist/chunk-X3SFCKAF.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/{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-C2UWTH42.mjs.br +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-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-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
|
Binary file
|
|
Binary file
|
|
@@ -87161,6 +87161,97 @@ function resolveDataPointMarker(series, pointIndex) {
|
|
|
87161
87161
|
fill: point?.spPr?.fillColor ?? series.marker?.spPr?.fillColor
|
|
87162
87162
|
};
|
|
87163
87163
|
}
|
|
87164
|
+
function schemaLabel(keys, token2, translate) {
|
|
87165
|
+
if (token2 === void 0) {
|
|
87166
|
+
return "";
|
|
87167
|
+
}
|
|
87168
|
+
const key = keys[token2];
|
|
87169
|
+
return key === void 0 ? token2 : translate(key);
|
|
87170
|
+
}
|
|
87171
|
+
var THEME_COLOR_SLOT_LABEL_KEYS = {
|
|
87172
|
+
dk1: "pptx.themeColor.dark1",
|
|
87173
|
+
lt1: "pptx.themeColor.light1",
|
|
87174
|
+
dk2: "pptx.themeColor.dark2",
|
|
87175
|
+
lt2: "pptx.themeColor.light2",
|
|
87176
|
+
accent1: "pptx.themeColor.accent1",
|
|
87177
|
+
accent2: "pptx.themeColor.accent2",
|
|
87178
|
+
accent3: "pptx.themeColor.accent3",
|
|
87179
|
+
accent4: "pptx.themeColor.accent4",
|
|
87180
|
+
accent5: "pptx.themeColor.accent5",
|
|
87181
|
+
accent6: "pptx.themeColor.accent6",
|
|
87182
|
+
hlink: "pptx.themeColor.hyperlink",
|
|
87183
|
+
folHlink: "pptx.themeColor.followedHyperlink"
|
|
87184
|
+
};
|
|
87185
|
+
var SMARTART_COLOR_SCHEME_LABEL_KEYS = {
|
|
87186
|
+
colorful1: "pptx.smartart.schemeColorful1",
|
|
87187
|
+
colorful2: "pptx.smartart.schemeColorful2",
|
|
87188
|
+
colorful3: "pptx.smartart.schemeColorful3",
|
|
87189
|
+
monochromatic1: "pptx.smartart.schemeMonochromatic1",
|
|
87190
|
+
monochromatic2: "pptx.smartart.schemeMonochromatic2"
|
|
87191
|
+
};
|
|
87192
|
+
var SMARTART_STYLE_LABEL_KEYS = {
|
|
87193
|
+
flat: "pptx.smartart.styleFlat",
|
|
87194
|
+
moderate: "pptx.smartart.styleModerate",
|
|
87195
|
+
intense: "pptx.smartart.styleIntense"
|
|
87196
|
+
};
|
|
87197
|
+
var FILL_PATTERN_LABEL_KEYS = {
|
|
87198
|
+
pct5: "pptx.fillPatterns.pct5",
|
|
87199
|
+
pct10: "pptx.fillPatterns.pct10",
|
|
87200
|
+
pct20: "pptx.fillPatterns.pct20",
|
|
87201
|
+
pct25: "pptx.fillPatterns.pct25",
|
|
87202
|
+
pct30: "pptx.fillPatterns.pct30",
|
|
87203
|
+
pct40: "pptx.fillPatterns.pct40",
|
|
87204
|
+
pct50: "pptx.fillPatterns.pct50",
|
|
87205
|
+
pct60: "pptx.fillPatterns.pct60",
|
|
87206
|
+
pct70: "pptx.fillPatterns.pct70",
|
|
87207
|
+
pct75: "pptx.fillPatterns.pct75",
|
|
87208
|
+
pct80: "pptx.fillPatterns.pct80",
|
|
87209
|
+
pct90: "pptx.fillPatterns.pct90",
|
|
87210
|
+
horz: "pptx.fillPatterns.horizontal",
|
|
87211
|
+
vert: "pptx.fillPatterns.vertical",
|
|
87212
|
+
ltHorz: "pptx.fillPatterns.lightHorizontal",
|
|
87213
|
+
ltVert: "pptx.fillPatterns.lightVertical",
|
|
87214
|
+
dkHorz: "pptx.fillPatterns.darkHorizontal",
|
|
87215
|
+
dkVert: "pptx.fillPatterns.darkVertical",
|
|
87216
|
+
narHorz: "pptx.fillPatterns.narrowHorizontal",
|
|
87217
|
+
narVert: "pptx.fillPatterns.narrowVertical",
|
|
87218
|
+
wdHorz: "pptx.fillPatterns.wideHorizontal",
|
|
87219
|
+
wdVert: "pptx.fillPatterns.wideVertical",
|
|
87220
|
+
dashHorz: "pptx.fillPatterns.dashedHorizontal",
|
|
87221
|
+
dashVert: "pptx.fillPatterns.dashedVertical",
|
|
87222
|
+
cross: "pptx.fillPatterns.cross",
|
|
87223
|
+
dnDiag: "pptx.fillPatterns.downDiagonal",
|
|
87224
|
+
upDiag: "pptx.fillPatterns.upDiagonal",
|
|
87225
|
+
ltDnDiag: "pptx.fillPatterns.lightDownDiagonal",
|
|
87226
|
+
ltUpDiag: "pptx.fillPatterns.lightUpDiagonal",
|
|
87227
|
+
dkDnDiag: "pptx.fillPatterns.darkDownDiagonal",
|
|
87228
|
+
dkUpDiag: "pptx.fillPatterns.darkUpDiagonal",
|
|
87229
|
+
wdDnDiag: "pptx.fillPatterns.wideDownDiagonal",
|
|
87230
|
+
wdUpDiag: "pptx.fillPatterns.wideUpDiagonal",
|
|
87231
|
+
dashDnDiag: "pptx.fillPatterns.dashedDownDiagonal",
|
|
87232
|
+
dashUpDiag: "pptx.fillPatterns.dashedUpDiagonal",
|
|
87233
|
+
diagCross: "pptx.fillPatterns.diagonalCross",
|
|
87234
|
+
smCheck: "pptx.fillPatterns.smallCheck",
|
|
87235
|
+
lgCheck: "pptx.fillPatterns.largeCheck",
|
|
87236
|
+
smGrid: "pptx.fillPatterns.smallGrid",
|
|
87237
|
+
lgGrid: "pptx.fillPatterns.largeGrid",
|
|
87238
|
+
dotGrid: "pptx.fillPatterns.dotGrid",
|
|
87239
|
+
smConfetti: "pptx.fillPatterns.smallConfetti",
|
|
87240
|
+
lgConfetti: "pptx.fillPatterns.largeConfetti",
|
|
87241
|
+
horzBrick: "pptx.fillPatterns.horizontalBrick",
|
|
87242
|
+
diagBrick: "pptx.fillPatterns.diagonalBrick",
|
|
87243
|
+
solidDmnd: "pptx.fillPatterns.solidDiamond",
|
|
87244
|
+
openDmnd: "pptx.fillPatterns.openDiamond",
|
|
87245
|
+
dotDmnd: "pptx.fillPatterns.dottedDiamond",
|
|
87246
|
+
plaid: "pptx.fillPatterns.plaid",
|
|
87247
|
+
sphere: "pptx.fillPatterns.sphere",
|
|
87248
|
+
weave: "pptx.fillPatterns.weave",
|
|
87249
|
+
divot: "pptx.fillPatterns.divot",
|
|
87250
|
+
shingle: "pptx.fillPatterns.shingle",
|
|
87251
|
+
wave: "pptx.fillPatterns.wave",
|
|
87252
|
+
trellis: "pptx.fillPatterns.trellis",
|
|
87253
|
+
zigZag: "pptx.fillPatterns.zigZag"
|
|
87254
|
+
};
|
|
87164
87255
|
function addChartSeries(data) {
|
|
87165
87256
|
return chartDataAddSeries(data, {
|
|
87166
87257
|
name: `Series ${data.series.length + 1}`,
|
|
@@ -99779,6 +99870,12 @@ function flattenMorphElements(elements, counterpart, offsetX = 0, offsetY = 0) {
|
|
|
99779
99870
|
}
|
|
99780
99871
|
return out;
|
|
99781
99872
|
}
|
|
99873
|
+
function differentText(a, b) {
|
|
99874
|
+
const textOf2 = (element) => (element.text ?? "").replace(/\s+/gu, " ").trim();
|
|
99875
|
+
const fromText = textOf2(a);
|
|
99876
|
+
const toText = textOf2(b);
|
|
99877
|
+
return fromText !== "" && toText !== "" && fromText !== toText;
|
|
99878
|
+
}
|
|
99782
99879
|
var NV_PR_KEYS = [
|
|
99783
99880
|
"p:nvSpPr",
|
|
99784
99881
|
"p:nvPicPr",
|
|
@@ -99893,6 +99990,9 @@ function matchMorphElementsFull(fromSlide, toSlide) {
|
|
|
99893
99990
|
if (fromEl.type !== toEl.type) {
|
|
99894
99991
|
continue;
|
|
99895
99992
|
}
|
|
99993
|
+
if (differentText(fromEl, toEl)) {
|
|
99994
|
+
continue;
|
|
99995
|
+
}
|
|
99896
99996
|
const widthRatio = Math.max(fromEl.width, toEl.width, 1) / Math.max(Math.min(fromEl.width, toEl.width), 1);
|
|
99897
99997
|
const heightRatio = Math.max(fromEl.height, toEl.height, 1) / Math.max(Math.min(fromEl.height, toEl.height), 1);
|
|
99898
99998
|
if (widthRatio > PROXIMITY_SIZE_RATIO_LIMIT || heightRatio > PROXIMITY_SIZE_RATIO_LIMIT) {
|
|
@@ -100149,6 +100249,27 @@ function appearanceSignature(element, depth = 0) {
|
|
|
100149
100249
|
function morphPairNeedsCrossfade(fromElement, toElement) {
|
|
100150
100250
|
return appearanceSignature(fromElement) !== appearanceSignature(toElement);
|
|
100151
100251
|
}
|
|
100252
|
+
var GEOMETRY_EPSILON = 0.5;
|
|
100253
|
+
function isInertMorphPair(fromElement, toElement) {
|
|
100254
|
+
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);
|
|
100255
|
+
}
|
|
100256
|
+
function crossfadeIncomingMayFadeIn(element) {
|
|
100257
|
+
const image = element;
|
|
100258
|
+
if (image.imagePath || image.svgPath) {
|
|
100259
|
+
return false;
|
|
100260
|
+
}
|
|
100261
|
+
if (!hasShapeProperties(element)) {
|
|
100262
|
+
return true;
|
|
100263
|
+
}
|
|
100264
|
+
const style = element.shapeStyle;
|
|
100265
|
+
if (!style) {
|
|
100266
|
+
return true;
|
|
100267
|
+
}
|
|
100268
|
+
if (style.fillMode === "none" || (style.fillOpacity ?? 1) === 0) {
|
|
100269
|
+
return true;
|
|
100270
|
+
}
|
|
100271
|
+
return !(style.fillColor || style.fillGradient || style.fillGradientStops?.length || style.fillPatternPreset || style.fillImageUrl);
|
|
100272
|
+
}
|
|
100152
100273
|
function generateMorphAnimations(pairs2, durationMs, _mode = "object") {
|
|
100153
100274
|
const animations = [];
|
|
100154
100275
|
for (let index = 0; index < pairs2.length; index++) {
|
|
@@ -100163,13 +100284,15 @@ function generateMorphAnimations(pairs2, durationMs, _mode = "object") {
|
|
|
100163
100284
|
const toRot = toElement.rotation ?? 0;
|
|
100164
100285
|
const fromRot = shortestRotationTarget(toRot, fromElement.rotation ?? 0);
|
|
100165
100286
|
const flips = `${toElement.flipHorizontal ? " scaleX(-1)" : ""}${toElement.flipVertical ? " scaleY(-1)" : ""}`;
|
|
100287
|
+
const inert = isInertMorphPair(fromElement, toElement);
|
|
100288
|
+
const crossfadesIn = !inert && morphPairNeedsCrossfade(fromElement, toElement) && crossfadeIncomingMayFadeIn(toElement);
|
|
100166
100289
|
const fromProps = [
|
|
100167
100290
|
` transform: translate(${dx}px, ${dy}px) scale(${sx}, ${sy}) rotate(${fromRot}deg)${flips};`,
|
|
100168
|
-
` opacity: ${fromOpacity};`
|
|
100291
|
+
` opacity: ${inert ? 0 : crossfadesIn ? 0 : fromOpacity};`
|
|
100169
100292
|
];
|
|
100170
100293
|
const toProps = [
|
|
100171
100294
|
` transform: translate(0, 0) scale(1, 1) rotate(${toRot}deg)${flips};`,
|
|
100172
|
-
` opacity: ${toOpacity};`
|
|
100295
|
+
` opacity: ${inert ? 0 : toOpacity};`
|
|
100173
100296
|
];
|
|
100174
100297
|
const colorInterp = buildColorInterpolationProps(fromElement, toElement);
|
|
100175
100298
|
if (colorInterp) {
|
|
@@ -111025,6 +111148,91 @@ function applyRehearsalTimings(slides, timings) {
|
|
|
111025
111148
|
function computeEntranceAnimationDelay(delayMs, animationIndex) {
|
|
111026
111149
|
return Math.max(0, delayMs || 0) + animationIndex * 60;
|
|
111027
111150
|
}
|
|
111151
|
+
function resolveCustomShowIndexes(slides, customShow) {
|
|
111152
|
+
const keys = customShow.slideRIds ?? customShow.slideIds;
|
|
111153
|
+
if (!keys || keys.length === 0) {
|
|
111154
|
+
return [];
|
|
111155
|
+
}
|
|
111156
|
+
const byKey = /* @__PURE__ */ new Map();
|
|
111157
|
+
slides.forEach((slide, index) => {
|
|
111158
|
+
if (slide.id !== void 0 && !byKey.has(slide.id)) {
|
|
111159
|
+
byKey.set(slide.id, index);
|
|
111160
|
+
}
|
|
111161
|
+
});
|
|
111162
|
+
slides.forEach((slide, index) => {
|
|
111163
|
+
if (slide.rId !== void 0) {
|
|
111164
|
+
byKey.set(slide.rId, index);
|
|
111165
|
+
}
|
|
111166
|
+
});
|
|
111167
|
+
const resolved = [];
|
|
111168
|
+
for (const key of keys) {
|
|
111169
|
+
const index = byKey.get(key);
|
|
111170
|
+
if (index !== void 0) {
|
|
111171
|
+
resolved.push(index);
|
|
111172
|
+
}
|
|
111173
|
+
}
|
|
111174
|
+
return resolved;
|
|
111175
|
+
}
|
|
111176
|
+
function resolveShowSlideIndexes(slides, activeCustomShow) {
|
|
111177
|
+
const all = [];
|
|
111178
|
+
for (let index = 0; index < slides.length; index++) {
|
|
111179
|
+
all.push(index);
|
|
111180
|
+
}
|
|
111181
|
+
const base = activeCustomShow ? resolveCustomShowIndexes(slides, activeCustomShow) : all;
|
|
111182
|
+
const effectiveBase = base.length > 0 ? base : all;
|
|
111183
|
+
const visible = effectiveBase.filter((index) => !slides[index]?.hidden);
|
|
111184
|
+
return visible.length > 0 ? visible : effectiveBase;
|
|
111185
|
+
}
|
|
111186
|
+
function showPosition(deckIndex, showIndexes) {
|
|
111187
|
+
return showIndexes.indexOf(deckIndex);
|
|
111188
|
+
}
|
|
111189
|
+
function nextShowSlideIndex(deckIndex, showIndexes, options) {
|
|
111190
|
+
if (showIndexes.length === 0) {
|
|
111191
|
+
return void 0;
|
|
111192
|
+
}
|
|
111193
|
+
const position2 = showPosition(deckIndex, showIndexes);
|
|
111194
|
+
if (position2 >= 0) {
|
|
111195
|
+
if (position2 + 1 < showIndexes.length) {
|
|
111196
|
+
return showIndexes[position2 + 1];
|
|
111197
|
+
}
|
|
111198
|
+
return options?.loop ? showIndexes[0] : void 0;
|
|
111199
|
+
}
|
|
111200
|
+
for (const candidate of showIndexes) {
|
|
111201
|
+
if (candidate > deckIndex) {
|
|
111202
|
+
return candidate;
|
|
111203
|
+
}
|
|
111204
|
+
}
|
|
111205
|
+
return options?.loop ? showIndexes[0] : void 0;
|
|
111206
|
+
}
|
|
111207
|
+
function previousShowSlideIndex(deckIndex, showIndexes) {
|
|
111208
|
+
if (showIndexes.length === 0) {
|
|
111209
|
+
return void 0;
|
|
111210
|
+
}
|
|
111211
|
+
const position2 = showPosition(deckIndex, showIndexes);
|
|
111212
|
+
if (position2 >= 0) {
|
|
111213
|
+
return position2 > 0 ? showIndexes[position2 - 1] : void 0;
|
|
111214
|
+
}
|
|
111215
|
+
let previous;
|
|
111216
|
+
for (const candidate of showIndexes) {
|
|
111217
|
+
if (candidate < deckIndex) {
|
|
111218
|
+
previous = candidate;
|
|
111219
|
+
}
|
|
111220
|
+
}
|
|
111221
|
+
return previous;
|
|
111222
|
+
}
|
|
111223
|
+
function hasShowSlideAfter(deckIndex, showIndexes) {
|
|
111224
|
+
return nextShowSlideIndex(deckIndex, showIndexes) !== void 0;
|
|
111225
|
+
}
|
|
111226
|
+
function nextPresentedSlide(slides, deckIndex) {
|
|
111227
|
+
const next = nextShowSlideIndex(deckIndex, resolveShowSlideIndexes(slides));
|
|
111228
|
+
return next === void 0 ? void 0 : slides[next];
|
|
111229
|
+
}
|
|
111230
|
+
function firstShowSlideIndex(showIndexes) {
|
|
111231
|
+
return showIndexes.length > 0 ? showIndexes[0] : void 0;
|
|
111232
|
+
}
|
|
111233
|
+
function lastShowSlideIndex(showIndexes) {
|
|
111234
|
+
return showIndexes.length > 0 ? showIndexes[showIndexes.length - 1] : void 0;
|
|
111235
|
+
}
|
|
111028
111236
|
var VIEWER_PREFS_STORAGE_KEY = "pptx-viewer-prefs";
|
|
111029
111237
|
function hasLocalStorage() {
|
|
111030
111238
|
return typeof localStorage !== "undefined";
|
|
@@ -113662,6 +113870,7 @@ exports.EXPORT_ASSEMBLING_PERCENT = EXPORT_ASSEMBLING_PERCENT;
|
|
|
113662
113870
|
exports.EXPORT_DONE_PERCENT = EXPORT_DONE_PERCENT;
|
|
113663
113871
|
exports.EncryptedFileError = EncryptedFileError;
|
|
113664
113872
|
exports.FILL_MODE_OPTIONS = FILL_MODE_OPTIONS;
|
|
113873
|
+
exports.FILL_PATTERN_LABEL_KEYS = FILL_PATTERN_LABEL_KEYS;
|
|
113665
113874
|
exports.GRADIENT_TYPE_OPTIONS = GRADIENT_TYPE_OPTIONS;
|
|
113666
113875
|
exports.HANDOUT_OPTIONS = HANDOUT_OPTIONS;
|
|
113667
113876
|
exports.INK_REPLAY_KEYFRAMES = INK_REPLAY_KEYFRAMES;
|
|
@@ -113706,6 +113915,8 @@ exports.SHORTCUT_REFERENCE_ITEMS = SHORTCUT_REFERENCE_ITEMS;
|
|
|
113706
113915
|
exports.SLIDE_TRANSITION_KEYFRAMES = SLIDE_TRANSITION_KEYFRAMES;
|
|
113707
113916
|
exports.SLIDE_TRANSITION_OPTIONS = SLIDE_TRANSITION_OPTIONS;
|
|
113708
113917
|
exports.SLIDE_VIRTUALIZATION_THRESHOLD = SLIDE_VIRTUALIZATION_THRESHOLD;
|
|
113918
|
+
exports.SMARTART_COLOR_SCHEME_LABEL_KEYS = SMARTART_COLOR_SCHEME_LABEL_KEYS;
|
|
113919
|
+
exports.SMARTART_STYLE_LABEL_KEYS = SMARTART_STYLE_LABEL_KEYS;
|
|
113709
113920
|
exports.STATUS_BAR_CLASSES = STATUS_BAR_CLASSES;
|
|
113710
113921
|
exports.SWITCHABLE_LAYOUT_TYPES = SWITCHABLE_LAYOUT_TYPES;
|
|
113711
113922
|
exports.SvgExporter = SvgExporter;
|
|
@@ -113717,6 +113928,7 @@ exports.TEXT_WARP_PRESETS = TEXT_WARP_PRESETS;
|
|
|
113717
113928
|
exports.THEME_CATALOG = THEME_CATALOG;
|
|
113718
113929
|
exports.THEME_COLOR_LABELS = THEME_COLOR_LABELS;
|
|
113719
113930
|
exports.THEME_COLOR_SCHEME_KEYS = THEME_COLOR_SCHEME_KEYS;
|
|
113931
|
+
exports.THEME_COLOR_SLOT_LABEL_KEYS = THEME_COLOR_SLOT_LABEL_KEYS;
|
|
113720
113932
|
exports.THEME_PRESETS = THEME_PRESETS;
|
|
113721
113933
|
exports.TITLE_BAR_CLASSES = TITLE_BAR_CLASSES;
|
|
113722
113934
|
exports.TITLE_BAR_DEFAULT_FILE_KEY = TITLE_BAR_DEFAULT_FILE_KEY;
|
|
@@ -113913,6 +114125,7 @@ exports.filterRenderedElements = filterRenderedElements;
|
|
|
113913
114125
|
exports.findChartPartTarget = findChartPartTarget;
|
|
113914
114126
|
exports.findMediaElementByElementId = findMediaElementByElementId;
|
|
113915
114127
|
exports.findSmartArtNodeText = findSmartArtNodeText;
|
|
114128
|
+
exports.firstShowSlideIndex = firstShowSlideIndex;
|
|
113916
114129
|
exports.flattenTagCollections = flattenTagCollections;
|
|
113917
114130
|
exports.formatAxisValue = formatAxisValue;
|
|
113918
114131
|
exports.formatAxisValueWithUnits = formatAxisValueWithUnits;
|
|
@@ -114001,6 +114214,7 @@ exports.hasCopyableFormat = hasCopyableFormat;
|
|
|
114001
114214
|
exports.hasDistinctScriptFonts = hasDistinctScriptFonts;
|
|
114002
114215
|
exports.hasPressureVariation = hasPressureVariation;
|
|
114003
114216
|
exports.hasShapeProperties = hasShapeProperties;
|
|
114217
|
+
exports.hasShowSlideAfter = hasShowSlideAfter;
|
|
114004
114218
|
exports.hasTextProperties = hasTextProperties;
|
|
114005
114219
|
exports.hexToRgbChannels = hexToRgbChannels2;
|
|
114006
114220
|
exports.insertTableColumn = insertTableColumn;
|
|
@@ -114029,6 +114243,7 @@ exports.isPresentationSessionMessage = isPresentationSessionMessage;
|
|
|
114029
114243
|
exports.isTemplateElement = isTemplateElement;
|
|
114030
114244
|
exports.isTemplateElementId = isTemplateElementId2;
|
|
114031
114245
|
exports.isUrlSafe = isUrlSafe;
|
|
114246
|
+
exports.lastShowSlideIndex = lastShowSlideIndex;
|
|
114032
114247
|
exports.listAutosaveSnapshots = listAutosaveSnapshots;
|
|
114033
114248
|
exports.listBackstageRecentFiles = listBackstageRecentFiles;
|
|
114034
114249
|
exports.loadAudienceContent = loadAudienceContent;
|
|
@@ -114061,6 +114276,8 @@ exports.moveSectionDown = moveSectionDown;
|
|
|
114061
114276
|
exports.moveSectionUp = moveSectionUp;
|
|
114062
114277
|
exports.moveSlidesToSection = moveSlidesToSection;
|
|
114063
114278
|
exports.newTableElement = newTableElement;
|
|
114279
|
+
exports.nextPresentedSlide = nextPresentedSlide;
|
|
114280
|
+
exports.nextShowSlideIndex = nextShowSlideIndex;
|
|
114064
114281
|
exports.normalizeColorsForCapture = normalizeColorsForCapture;
|
|
114065
114282
|
exports.normalizeHexColor = normalizeHexColor;
|
|
114066
114283
|
exports.normalizeStrokeDashType = normalizeStrokeDashType;
|
|
@@ -114086,6 +114303,7 @@ exports.presentationInkPath = presentationInkPath;
|
|
|
114086
114303
|
exports.presenterElapsed = presenterElapsed;
|
|
114087
114304
|
exports.presenterPaneAdvancesOnClick = presenterPaneAdvancesOnClick;
|
|
114088
114305
|
exports.pressuresToWidths = pressuresToWidths;
|
|
114306
|
+
exports.previousShowSlideIndex = previousShowSlideIndex;
|
|
114089
114307
|
exports.printPropertiesFrameSlides = printPropertiesFrameSlides;
|
|
114090
114308
|
exports.printPropertiesSlidesPerPage = printPropertiesSlidesPerPage;
|
|
114091
114309
|
exports.promoteSmartArtNode = promoteSmartArtNode;
|
|
@@ -114136,6 +114354,7 @@ exports.resolveParagraphStrutFontSize = resolveParagraphStrutFontSize;
|
|
|
114136
114354
|
exports.resolvePictureBullet = resolvePictureBullet;
|
|
114137
114355
|
exports.resolveProfileInitial = resolveProfileInitial;
|
|
114138
114356
|
exports.resolveRegionCode = resolveRegionCode;
|
|
114357
|
+
exports.resolveShowSlideIndexes = resolveShowSlideIndexes;
|
|
114139
114358
|
exports.resolveThemeCatalogEntry = resolveThemeCatalogEntry;
|
|
114140
114359
|
exports.resolveTitleBarStatusKey = resolveTitleBarStatusKey;
|
|
114141
114360
|
exports.resolveTransitionDurationMs = resolveTransitionDurationMs;
|
|
@@ -114154,6 +114373,7 @@ exports.sanitizeMathMl = sanitizeMathMl;
|
|
|
114154
114373
|
exports.saveAutosaveSnapshot = saveAutosaveSnapshot;
|
|
114155
114374
|
exports.saveViewerProfile = saveViewerProfile;
|
|
114156
114375
|
exports.scanAvailableFontFamilies = scanAvailableFontFamilies;
|
|
114376
|
+
exports.schemaLabel = schemaLabel;
|
|
114157
114377
|
exports.segmentByScript = segmentByScript;
|
|
114158
114378
|
exports.segmentFrameCount = segmentFrameCount;
|
|
114159
114379
|
exports.sendBackward = sendBackward;
|
|
Binary file
|
|
Binary file
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { cloneHistorySnapshot, MIN_ELEMENT_SIZE, ZOOM_TO_SELECTION_PADDING, DEFAULT_CANVAS_HEIGHT, DEFAULT_CANVAS_WIDTH, partitionTemplateElements, UNGROUPED_SECTION_ID, stopAllPersistentAudio, buildSaveSlides, DEFAULT_TABLE_ROWS, DEFAULT_TABLE_COLUMNS, executeMediaCommand, buildPdfFromImageData, buildNotesPdf, EMU_PER_PX, GRID_SIZE, DEFAULT_TEXT_FONT_SIZE } from './chunk-
|
|
2
|
-
import { translationsEn } from './chunk-
|
|
3
|
-
import { TOOLBAR_TABS, computeVirtualRange, DEFAULT_VIRTUAL_OVERSCAN, BROADCAST_THROTTLE_MS, createSyncGate, clearLocalAwareness, validateRoomId, createDepartureChannel, resolveTransportForServerUrl, isMixedContentBlocked, CONNECTION_TIMEOUT_MS, registerCollaborationTeardown, sanitizeColor, cloneTemplateElementsBySlideId, cloneSlide, clampZoomScale, zoomInScale, zoomOutScale, PresentationAnimationController, computeEntranceAnimationDelay, PRESENTATION_HASH, PRESENTATION_NONCE_KEY, PRESENTATION_CHANNEL_NAME, swapPresentationWindows, PRESENTATION_MESSAGE_ORIGIN, clearAudienceContent, buildPresentationAudienceUrl, resolveAudienceScreenPlacement, placeAudienceWindow, storeAudienceContent, isPresentationSessionMessage, endAudienceDisplay, createPresentationKeyBuffer, acceptsPresentationInput, resolveAutoAdvanceDelayMs, buildMorphTransitionPlan, morphOptionToMode, createCollaborationLivePatcher, publishLiveInlineText, PptxHandler, collectMediaElements, collectImagePaths, buildInitialGuides, EncryptedFileError, saveAutosaveSnapshot, isTemplateElementId, hasShapeProperties, hasTextProperties, getInlineEditorSelection, applyStyleToSelectedSegments, setPendingSelectionRestore, applyCaseTransformToSegments, transformTextCase, addSection, renameSection, deleteSection, moveSectionUp, moveSectionDown, moveSlidesToSection, normalizeColorsForCapture, preprocessCssForCapture, downloadBlob, sanitizeDownloadFilename, slideProgressPercent, slideStatusLabel, EXPORT_ASSEMBLING_PERCENT, EXPORT_DONE_PERCENT, isExportAbortError, recordProgressPercent, applyThemeToData, THEME_PRESETS, themeColorSchemesEqual, comparePresentation, applyAcceptSlide, applyAcceptAllSlides, collectUsedFonts, detectTouchDevice, detectOrientation, isMobileViewport, MOBILE_BREAKPOINT, TABLET_BREAKPOINT, mayLeaveSlideShow, remapTextToSegments, guidePxToEmu, shouldLoopContinuously, applyRehearsalTimings, copyFormatFromElement, applyFormatToElement, mapEditorKey, isEditorTextInputTarget, createViewerOptionsStore, readSlidesFromYDoc, reconcileSlidesInYDoc, LOCAL_SYNC_ORIGIN, observeYDocSlides, shouldAutoFollowBroadcaster, createTouchGestureRecognizer, MAX_ZOOM_SCALE, MIN_ZOOM_SCALE, isKeyboardOpen, openPptxFile, readBackstageRecentFile, isActionHidden, buildElementClipboardPayload, generatePackageReadme, groupElements, generateElementId, makeCloneId, alignElements, distributeElements, bringForward, sendBackward, bringToFront, sendToBack, newTableElement, createDefaultChartElement, readViewportMetrics, computeKeyboardInset, mergeShapes, derivePresenceList, mapPresentationKey, buildPrintDocument, buildOutlineHtml, buildSlidesHtml, buildNotesHtml, buildHandoutsHtml, createBlankSlide, makeSlideId, buildThemeColorMap, reResolveSlideColors, createPresentationSessionId, resolveTransitionDurationMs, isUrlSafe, createPresenterTimer, createInitialPresentationSnapshot, mergePresentationSnapshot, presenterElapsed, stepPresenterZoom, resetPresenterTimer, togglePresenterTimer, canvasToJpegData, downloadDataUrl, pickSupportedMimeType, WEBM_MIME_CANDIDATES, fpsToFrameIntervalMs, segmentFrameCount, encodeGif, groupSlidesBySection, hasCopyableFormat, createBackstagePresentation, buildFieldSubstitutionContext, cloneElementForPaste, computeScrollDelta, getPresetShapeClipPath, svgPathToPolygons, polygonsToSvgPath, rerouteConnectorsForMovedElements, applyReroutedConnectors, SvgExporter, buildPrintHtmlDocument, deleteTableColumn, rebuildTableStructureInRawXml, insertTableColumn, deleteTableRow, insertTableRow, updateCellTextStyleInRawXml, updateCellTextInRawXml, splitCell, updateMergeAttrsInRawXml, mergeCells, isPpactionUrl, parsePpactionUrl, safeOpenUrl, ACTION_BUTTON_PRESETS, elementActionToPptxAction, buildSmartArtPresetData, computeSnapToShape, publishLiveGeometry, computeMarqueeHitIds, mergeAdditiveSelection, applyResize, snapBoxToGrid, applyMotionPathPreset } from './chunk-
|
|
1
|
+
import { cloneHistorySnapshot, MIN_ELEMENT_SIZE, ZOOM_TO_SELECTION_PADDING, DEFAULT_CANVAS_HEIGHT, DEFAULT_CANVAS_WIDTH, partitionTemplateElements, UNGROUPED_SECTION_ID, stopAllPersistentAudio, buildSaveSlides, DEFAULT_TABLE_ROWS, DEFAULT_TABLE_COLUMNS, executeMediaCommand, buildPdfFromImageData, buildNotesPdf, EMU_PER_PX, GRID_SIZE, DEFAULT_TEXT_FONT_SIZE } from './chunk-DD54KUDG.mjs';
|
|
2
|
+
import { translationsEn } from './chunk-RHR7GTDX.mjs';
|
|
3
|
+
import { TOOLBAR_TABS, computeVirtualRange, DEFAULT_VIRTUAL_OVERSCAN, BROADCAST_THROTTLE_MS, createSyncGate, clearLocalAwareness, validateRoomId, createDepartureChannel, resolveTransportForServerUrl, isMixedContentBlocked, CONNECTION_TIMEOUT_MS, registerCollaborationTeardown, sanitizeColor, cloneTemplateElementsBySlideId, cloneSlide, clampZoomScale, zoomInScale, zoomOutScale, PresentationAnimationController, computeEntranceAnimationDelay, PRESENTATION_HASH, PRESENTATION_NONCE_KEY, PRESENTATION_CHANNEL_NAME, swapPresentationWindows, PRESENTATION_MESSAGE_ORIGIN, clearAudienceContent, buildPresentationAudienceUrl, resolveAudienceScreenPlacement, placeAudienceWindow, storeAudienceContent, isPresentationSessionMessage, endAudienceDisplay, createPresentationKeyBuffer, acceptsPresentationInput, resolveAutoAdvanceDelayMs, hasShowSlideAfter, nextShowSlideIndex, previousShowSlideIndex, buildMorphTransitionPlan, morphOptionToMode, createCollaborationLivePatcher, publishLiveInlineText, PptxHandler, collectMediaElements, collectImagePaths, buildInitialGuides, EncryptedFileError, saveAutosaveSnapshot, isTemplateElementId, hasShapeProperties, hasTextProperties, getInlineEditorSelection, applyStyleToSelectedSegments, setPendingSelectionRestore, applyCaseTransformToSegments, transformTextCase, addSection, renameSection, deleteSection, moveSectionUp, moveSectionDown, moveSlidesToSection, normalizeColorsForCapture, preprocessCssForCapture, downloadBlob, sanitizeDownloadFilename, slideProgressPercent, slideStatusLabel, EXPORT_ASSEMBLING_PERCENT, EXPORT_DONE_PERCENT, isExportAbortError, recordProgressPercent, applyThemeToData, THEME_PRESETS, themeColorSchemesEqual, comparePresentation, applyAcceptSlide, applyAcceptAllSlides, collectUsedFonts, detectTouchDevice, detectOrientation, isMobileViewport, MOBILE_BREAKPOINT, TABLET_BREAKPOINT, mayLeaveSlideShow, remapTextToSegments, guidePxToEmu, shouldLoopContinuously, applyRehearsalTimings, copyFormatFromElement, applyFormatToElement, mapEditorKey, isEditorTextInputTarget, createViewerOptionsStore, readSlidesFromYDoc, reconcileSlidesInYDoc, LOCAL_SYNC_ORIGIN, observeYDocSlides, shouldAutoFollowBroadcaster, createTouchGestureRecognizer, MAX_ZOOM_SCALE, MIN_ZOOM_SCALE, isKeyboardOpen, openPptxFile, readBackstageRecentFile, isActionHidden, buildElementClipboardPayload, generatePackageReadme, groupElements, generateElementId, makeCloneId, alignElements, distributeElements, bringForward, sendBackward, bringToFront, sendToBack, newTableElement, createDefaultChartElement, readViewportMetrics, computeKeyboardInset, mergeShapes, derivePresenceList, mapPresentationKey, lastShowSlideIndex, firstShowSlideIndex, buildPrintDocument, buildOutlineHtml, buildSlidesHtml, buildNotesHtml, buildHandoutsHtml, createBlankSlide, makeSlideId, buildThemeColorMap, reResolveSlideColors, createPresentationSessionId, resolveTransitionDurationMs, isUrlSafe, createPresenterTimer, createInitialPresentationSnapshot, mergePresentationSnapshot, presenterElapsed, stepPresenterZoom, resetPresenterTimer, togglePresenterTimer, canvasToJpegData, downloadDataUrl, pickSupportedMimeType, WEBM_MIME_CANDIDATES, fpsToFrameIntervalMs, segmentFrameCount, encodeGif, resolveShowSlideIndexes, groupSlidesBySection, hasCopyableFormat, createBackstagePresentation, buildFieldSubstitutionContext, cloneElementForPaste, computeScrollDelta, getPresetShapeClipPath, svgPathToPolygons, polygonsToSvgPath, rerouteConnectorsForMovedElements, applyReroutedConnectors, SvgExporter, buildPrintHtmlDocument, deleteTableColumn, rebuildTableStructureInRawXml, insertTableColumn, deleteTableRow, insertTableRow, updateCellTextStyleInRawXml, updateCellTextInRawXml, splitCell, updateMergeAttrsInRawXml, mergeCells, isPpactionUrl, parsePpactionUrl, safeOpenUrl, ACTION_BUTTON_PRESETS, elementActionToPptxAction, buildSmartArtPresetData, computeSnapToShape, publishLiveGeometry, computeMarqueeHitIds, mergeAdditiveSelection, applyResize, snapBoxToGrid, applyMotionPathPreset } from './chunk-FV7HEYCX.mjs';
|
|
4
4
|
import { useRef, useState, useEffect, useCallback, useMemo, useSyncExternalStore, useImperativeHandle } from 'react';
|
|
5
5
|
import JSZip from 'jszip';
|
|
6
6
|
import { useTranslation } from 'react-i18next';
|
|
@@ -1580,6 +1580,7 @@ function usePresentationKeyboard(input) {
|
|
|
1580
1580
|
movePresentationSlide,
|
|
1581
1581
|
navigateToSlide,
|
|
1582
1582
|
slideCount,
|
|
1583
|
+
showSlideIndexes,
|
|
1583
1584
|
onSetMode,
|
|
1584
1585
|
onSetPointerTool,
|
|
1585
1586
|
onEraseAnnotations,
|
|
@@ -1619,12 +1620,16 @@ function usePresentationKeyboard(input) {
|
|
|
1619
1620
|
case "previous":
|
|
1620
1621
|
movePresentationSlide(-1);
|
|
1621
1622
|
return;
|
|
1622
|
-
case "first":
|
|
1623
|
-
|
|
1623
|
+
case "first": {
|
|
1624
|
+
const first = firstShowSlideIndex(showSlideIndexes);
|
|
1625
|
+
navigateToSlide(first ?? 0);
|
|
1624
1626
|
return;
|
|
1625
|
-
|
|
1626
|
-
|
|
1627
|
+
}
|
|
1628
|
+
case "last": {
|
|
1629
|
+
const last = lastShowSlideIndex(showSlideIndexes);
|
|
1630
|
+
navigateToSlide(last ?? Math.max(0, slideCount - 1));
|
|
1627
1631
|
return;
|
|
1632
|
+
}
|
|
1628
1633
|
case "goto": {
|
|
1629
1634
|
const index = mapped.slideNumber - 1;
|
|
1630
1635
|
if (index >= 0 && index < slideCount) {
|
|
@@ -1664,6 +1669,7 @@ function usePresentationKeyboard(input) {
|
|
|
1664
1669
|
movePresentationSlide,
|
|
1665
1670
|
navigateToSlide,
|
|
1666
1671
|
slideCount,
|
|
1672
|
+
showSlideIndexes,
|
|
1667
1673
|
onSetMode,
|
|
1668
1674
|
onSetPointerTool,
|
|
1669
1675
|
onEraseAnnotations,
|
|
@@ -1900,10 +1906,8 @@ function useSlideNavigation(input) {
|
|
|
1900
1906
|
if (availableSlideIndexes.length === 0) {
|
|
1901
1907
|
return;
|
|
1902
1908
|
}
|
|
1903
|
-
const
|
|
1904
|
-
|
|
1905
|
-
const nextPosition = normalizedCurrentPosition + direction;
|
|
1906
|
-
if (rehearsing && direction === 1 && nextPosition >= availableSlideIndexes.length) {
|
|
1909
|
+
const pastLastSlide = direction === 1 && !hasShowSlideAfter(presentationSlideIndex, availableSlideIndexes);
|
|
1910
|
+
if (rehearsing && pastLastSlide) {
|
|
1907
1911
|
recordCurrentSlideTime(presentationSlideIndex);
|
|
1908
1912
|
try {
|
|
1909
1913
|
if (document.fullscreenElement) {
|
|
@@ -1916,17 +1920,13 @@ function useSlideNavigation(input) {
|
|
|
1916
1920
|
setShowRehearsalSummary(true);
|
|
1917
1921
|
return;
|
|
1918
1922
|
}
|
|
1919
|
-
if (!loopContinuously && !rehearsing &&
|
|
1923
|
+
if (!loopContinuously && !rehearsing && pastLastSlide && onAdvancePastLastSlide) {
|
|
1920
1924
|
onAdvancePastLastSlide();
|
|
1921
1925
|
return;
|
|
1922
1926
|
}
|
|
1923
|
-
|
|
1924
|
-
|
|
1925
|
-
|
|
1926
|
-
} else {
|
|
1927
|
-
resolvedPosition = Math.min(availableSlideIndexes.length - 1, Math.max(0, nextPosition));
|
|
1928
|
-
}
|
|
1929
|
-
const nextSlideIndex = availableSlideIndexes[resolvedPosition];
|
|
1927
|
+
const nextSlideIndex = direction === 1 ? nextShowSlideIndex(presentationSlideIndex, availableSlideIndexes, {
|
|
1928
|
+
loop: Boolean(loopContinuously) && !rehearsing
|
|
1929
|
+
}) : previousShowSlideIndex(presentationSlideIndex, availableSlideIndexes);
|
|
1930
1930
|
if (nextSlideIndex === void 0 || nextSlideIndex === presentationSlideIndex) {
|
|
1931
1931
|
return;
|
|
1932
1932
|
}
|
|
@@ -2325,6 +2325,7 @@ function usePresentationMode(input) {
|
|
|
2325
2325
|
movePresentationSlide,
|
|
2326
2326
|
navigateToSlide,
|
|
2327
2327
|
slideCount: slides.length,
|
|
2328
|
+
showSlideIndexes: visibleSlideIndexes,
|
|
2328
2329
|
onSetMode,
|
|
2329
2330
|
onSetPointerTool,
|
|
2330
2331
|
onEraseAnnotations,
|
|
@@ -8221,15 +8222,8 @@ function computeGridSpacingPx(presentationGridSpacing) {
|
|
|
8221
8222
|
return GRID_SIZE;
|
|
8222
8223
|
}
|
|
8223
8224
|
function computeVisibleSlideIndexes(slides, activeCustomShowId, customShows) {
|
|
8224
|
-
|
|
8225
|
-
|
|
8226
|
-
if (show) {
|
|
8227
|
-
const rIdToIndex = /* @__PURE__ */ new Map();
|
|
8228
|
-
slides.forEach((s, i) => rIdToIndex.set(s.rId, i));
|
|
8229
|
-
return show.slideRIds.map((rId) => rIdToIndex.get(rId)).filter((i) => i !== void 0);
|
|
8230
|
-
}
|
|
8231
|
-
}
|
|
8232
|
-
return slides.map((_, i) => i).filter((i) => !slides[i]?.hidden);
|
|
8225
|
+
const activeShow = activeCustomShowId ? customShows.find((show) => show.id === activeCustomShowId) : void 0;
|
|
8226
|
+
return resolveShowSlideIndexes(slides, activeShow);
|
|
8233
8227
|
}
|
|
8234
8228
|
function computeSlideSectionGroups(slides, sections) {
|
|
8235
8229
|
return groupSlidesBySection(sections, slides).map((group) => ({
|
|
@@ -10517,6 +10511,7 @@ function buildToolbarProps(input) {
|
|
|
10517
10511
|
state: s,
|
|
10518
10512
|
selectedElement,
|
|
10519
10513
|
activeSlide,
|
|
10514
|
+
activeSlideIndex,
|
|
10520
10515
|
zoom,
|
|
10521
10516
|
history,
|
|
10522
10517
|
findReplace,
|
|
@@ -10713,6 +10708,10 @@ function buildToolbarProps(input) {
|
|
|
10713
10708
|
eyedropperActive: s.eyedropperActive,
|
|
10714
10709
|
onToggleEyedropper: () => s.setEyedropperActive((p) => !p),
|
|
10715
10710
|
onOpenSetUpSlideShow: () => dialogs.setIsSetUpSlideShowOpen(true),
|
|
10711
|
+
// PowerPoint's Hide Slide: skip the active slide during the show while
|
|
10712
|
+
// leaving it in the deck, the rail and the sorter.
|
|
10713
|
+
onToggleHideSlide: () => slideOps.handleToggleHideSlides([activeSlideIndex]),
|
|
10714
|
+
activeSlideHidden: Boolean(activeSlide?.hidden),
|
|
10716
10715
|
onOpenBroadcastDialog: () => dialogs.setIsBroadcastDialogOpen(true),
|
|
10717
10716
|
onToggleSubtitles: dialogs.handleToggleSubtitles,
|
|
10718
10717
|
showSubtitles: Boolean(s.presentationProperties.showSubtitles),
|
|
@@ -10782,10 +10781,12 @@ function useViewerBuildingBlocksCore(input) {
|
|
|
10782
10781
|
activeMaster: state.activeMaster,
|
|
10783
10782
|
presentationGridSpacing: state.presentationProperties.gridSpacing
|
|
10784
10783
|
});
|
|
10784
|
+
const { options: viewerOptions } = useViewerOptions();
|
|
10785
10785
|
const { presentation, annotations, actionSoundHandlerRef } = usePresentationSetup({
|
|
10786
10786
|
mode,
|
|
10787
10787
|
slides,
|
|
10788
10788
|
visibleSlideIndexes,
|
|
10789
|
+
endWithBlackSlide: viewerOptions.advanced.slideShowEndWithBlackSlide,
|
|
10789
10790
|
activeSlideIndex,
|
|
10790
10791
|
containerRef,
|
|
10791
10792
|
content,
|
|
@@ -11041,6 +11042,7 @@ function useViewerBuildingBlocks(input) {
|
|
|
11041
11042
|
printHandlers,
|
|
11042
11043
|
propertyHandlers,
|
|
11043
11044
|
dialogs,
|
|
11045
|
+
activeSlideIndex,
|
|
11044
11046
|
slideOps: editorOps.slideOps,
|
|
11045
11047
|
ops: editorOps.ops,
|
|
11046
11048
|
onSetMode: handleSetMode,
|
|
Binary file
|
|
Binary file
|