pptx-react-viewer 2.10.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 +4 -0
- package/dist/{AiChatPanel-KTMWRUD5.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-35CHYS5N.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-TMNUKCL6.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-2VMN3B65.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-KPNP3QD5.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-GKRDDN2U.mjs → SurfaceChart3DScene-77JP5XH5.mjs} +1 -1
- package/dist/{SurfaceChart3DScene-GKRDDN2U.mjs.br → SurfaceChart3DScene-77JP5XH5.mjs.br} +0 -0
- package/dist/SurfaceChart3DScene-77JP5XH5.mjs.gz +0 -0
- package/dist/{chunk-FY2AFXKP.mjs → chunk-DD54KUDG.mjs} +29 -4
- package/dist/chunk-DD54KUDG.mjs.br +0 -0
- package/dist/chunk-DD54KUDG.mjs.gz +0 -0
- package/dist/{chunk-IJVDNQLG.js → chunk-FAP6OPLL.js} +275 -249
- package/dist/chunk-FAP6OPLL.js.br +0 -0
- package/dist/chunk-FAP6OPLL.js.gz +0 -0
- package/dist/{chunk-TJ55KUWH.mjs → chunk-FV7HEYCX.mjs} +1069 -114
- package/dist/chunk-FV7HEYCX.mjs.br +0 -0
- package/dist/chunk-FV7HEYCX.mjs.gz +0 -0
- package/dist/{chunk-LXTKPSIG.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-MMK4K3QI.js → chunk-IOVOQ6ZJ.js} +136 -1
- package/dist/chunk-IOVOQ6ZJ.js.br +0 -0
- package/dist/chunk-IOVOQ6ZJ.js.gz +0 -0
- package/dist/{chunk-JWMXOYSX.js → chunk-IXBM3HWH.js} +2289 -1824
- package/dist/chunk-IXBM3HWH.js.br +0 -0
- package/dist/chunk-IXBM3HWH.js.gz +0 -0
- package/dist/{chunk-H74UXL4Q.js → chunk-KDJBWJJH.js} +1102 -113
- package/dist/chunk-KDJBWJJH.js.br +0 -0
- package/dist/chunk-KDJBWJJH.js.gz +0 -0
- package/dist/{chunk-OHPF2HTP.mjs → chunk-NJ4PTG4F.mjs} +40 -28
- package/dist/chunk-NJ4PTG4F.mjs.br +0 -0
- package/dist/chunk-NJ4PTG4F.mjs.gz +0 -0
- package/dist/{chunk-LCG7WBAG.mjs → chunk-PXYZFWDA.mjs} +625 -160
- package/dist/chunk-PXYZFWDA.mjs.br +0 -0
- package/dist/chunk-PXYZFWDA.mjs.gz +0 -0
- package/dist/{chunk-A7HLINZU.js → chunk-QT6BPOZM.js} +361 -349
- package/dist/chunk-QT6BPOZM.js.br +0 -0
- package/dist/chunk-QT6BPOZM.js.gz +0 -0
- package/dist/{chunk-SL3XPERE.mjs → chunk-RHR7GTDX.mjs} +136 -1
- package/dist/chunk-RHR7GTDX.mjs.br +0 -0
- package/dist/chunk-RHR7GTDX.mjs.gz +0 -0
- package/dist/{chunk-SPJR6MPI.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 +28 -3
- package/dist/index.d.ts.map +1 -1
- 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 +38 -3
- 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-CpUwhBD5.d.ts → useViewerBuildingBlocks-YvCYsxa3.d.ts} +21 -5
- 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-35CHYS5N.mjs.br +0 -0
- package/dist/AiChatPanel-35CHYS5N.mjs.gz +0 -0
- package/dist/AiChatPanel-KTMWRUD5.js.br +0 -0
- package/dist/AiChatPanel-KTMWRUD5.js.gz +0 -0
- package/dist/Model3DScene-2VMN3B65.mjs.br +0 -0
- package/dist/Model3DScene-2VMN3B65.mjs.gz +0 -0
- package/dist/Model3DScene-TMNUKCL6.js.br +0 -0
- package/dist/Model3DScene-TMNUKCL6.js.gz +0 -0
- package/dist/SurfaceChart3DScene-GKRDDN2U.mjs.gz +0 -0
- package/dist/SurfaceChart3DScene-KPNP3QD5.js.br +0 -0
- package/dist/SurfaceChart3DScene-KPNP3QD5.js.gz +0 -0
- package/dist/chunk-A7HLINZU.js.br +0 -0
- package/dist/chunk-A7HLINZU.js.gz +0 -0
- package/dist/chunk-FY2AFXKP.mjs.br +0 -0
- package/dist/chunk-FY2AFXKP.mjs.gz +0 -0
- package/dist/chunk-H74UXL4Q.js.br +0 -0
- package/dist/chunk-H74UXL4Q.js.gz +0 -0
- package/dist/chunk-IJVDNQLG.js.br +0 -0
- package/dist/chunk-IJVDNQLG.js.gz +0 -0
- package/dist/chunk-JWMXOYSX.js.br +0 -0
- package/dist/chunk-JWMXOYSX.js.gz +0 -0
- package/dist/chunk-LCG7WBAG.mjs.br +0 -0
- package/dist/chunk-LCG7WBAG.mjs.gz +0 -0
- package/dist/chunk-LXTKPSIG.mjs.br +0 -0
- package/dist/chunk-LXTKPSIG.mjs.gz +0 -0
- package/dist/chunk-MMK4K3QI.js.br +0 -0
- package/dist/chunk-MMK4K3QI.js.gz +0 -0
- package/dist/chunk-OHPF2HTP.mjs.br +0 -0
- package/dist/chunk-OHPF2HTP.mjs.gz +0 -0
- package/dist/chunk-SL3XPERE.mjs.br +0 -0
- package/dist/chunk-SL3XPERE.mjs.gz +0 -0
- package/dist/chunk-SPJR6MPI.js.br +0 -0
- package/dist/chunk-SPJR6MPI.js.gz +0 -0
- package/dist/chunk-TJ55KUWH.mjs.br +0 -0
- package/dist/chunk-TJ55KUWH.mjs.gz +0 -0
- package/dist/useViewerBuildingBlocks-CpUwhBD5.d.ts.map +0 -1
|
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 } 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,
|
|
@@ -3580,6 +3581,7 @@ function useViewerUIState() {
|
|
|
3580
3581
|
const [sidebarPanelMode, setSidebarPanelMode] = useState("properties");
|
|
3581
3582
|
const [showSlideSorter, setShowSlideSorter] = useState(false);
|
|
3582
3583
|
const [showReadingView, setShowReadingView] = useState(false);
|
|
3584
|
+
const [showOutlineView, setShowOutlineView] = useState(false);
|
|
3583
3585
|
const [isShortcutHelpOpen, setIsShortcutHelpOpen] = useState(false);
|
|
3584
3586
|
const [isAccessibilityPanelOpen, setIsAccessibilityPanelOpen] = useState(false);
|
|
3585
3587
|
const [accessibilityIssues, setAccessibilityIssues] = useState([]);
|
|
@@ -3628,6 +3630,8 @@ function useViewerUIState() {
|
|
|
3628
3630
|
setShowSlideSorter,
|
|
3629
3631
|
showReadingView,
|
|
3630
3632
|
setShowReadingView,
|
|
3633
|
+
showOutlineView,
|
|
3634
|
+
setShowOutlineView,
|
|
3631
3635
|
isShortcutHelpOpen,
|
|
3632
3636
|
setIsShortcutHelpOpen,
|
|
3633
3637
|
isAccessibilityPanelOpen,
|
|
@@ -8218,15 +8222,8 @@ function computeGridSpacingPx(presentationGridSpacing) {
|
|
|
8218
8222
|
return GRID_SIZE;
|
|
8219
8223
|
}
|
|
8220
8224
|
function computeVisibleSlideIndexes(slides, activeCustomShowId, customShows) {
|
|
8221
|
-
|
|
8222
|
-
|
|
8223
|
-
if (show) {
|
|
8224
|
-
const rIdToIndex = /* @__PURE__ */ new Map();
|
|
8225
|
-
slides.forEach((s, i) => rIdToIndex.set(s.rId, i));
|
|
8226
|
-
return show.slideRIds.map((rId) => rIdToIndex.get(rId)).filter((i) => i !== void 0);
|
|
8227
|
-
}
|
|
8228
|
-
}
|
|
8229
|
-
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);
|
|
8230
8227
|
}
|
|
8231
8228
|
function computeSlideSectionGroups(slides, sections) {
|
|
8232
8229
|
return groupSlidesBySection(sections, slides).map((group) => ({
|
|
@@ -10451,6 +10448,12 @@ function buildToolbarAnimationHandlers(input) {
|
|
|
10451
10448
|
return;
|
|
10452
10449
|
}
|
|
10453
10450
|
const current = activeSlide.animations ?? [];
|
|
10451
|
+
if (group === "motionPath") {
|
|
10452
|
+
propertyHandlers.handleUpdateSlide({
|
|
10453
|
+
animations: applyMotionPathPreset(current, selectedElement.id, preset)
|
|
10454
|
+
});
|
|
10455
|
+
return;
|
|
10456
|
+
}
|
|
10454
10457
|
const existing = current.find((a) => a.elementId === selectedElement.id);
|
|
10455
10458
|
const presetValue = preset;
|
|
10456
10459
|
if (existing) {
|
|
@@ -10508,6 +10511,7 @@ function buildToolbarProps(input) {
|
|
|
10508
10511
|
state: s,
|
|
10509
10512
|
selectedElement,
|
|
10510
10513
|
activeSlide,
|
|
10514
|
+
activeSlideIndex,
|
|
10511
10515
|
zoom,
|
|
10512
10516
|
history,
|
|
10513
10517
|
findReplace,
|
|
@@ -10659,6 +10663,7 @@ function buildToolbarProps(input) {
|
|
|
10659
10663
|
onRunAccessibilityCheck: dialogs.handleRunAccessibilityCheck,
|
|
10660
10664
|
onToggleSlideSorter: () => s.setShowSlideSorter((p) => !p),
|
|
10661
10665
|
onOpenReadingView: () => s.setShowReadingView(true),
|
|
10666
|
+
onOpenOutlineView: () => s.setShowOutlineView(true),
|
|
10662
10667
|
onUpdateTextStyle: ops.updateSelectedTextStyle,
|
|
10663
10668
|
onTransformTextCase: ops.updateSelectedTextCase,
|
|
10664
10669
|
isOverflowMenuOpen: s.isOverflowMenuOpen,
|
|
@@ -10703,6 +10708,10 @@ function buildToolbarProps(input) {
|
|
|
10703
10708
|
eyedropperActive: s.eyedropperActive,
|
|
10704
10709
|
onToggleEyedropper: () => s.setEyedropperActive((p) => !p),
|
|
10705
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),
|
|
10706
10715
|
onOpenBroadcastDialog: () => dialogs.setIsBroadcastDialogOpen(true),
|
|
10707
10716
|
onToggleSubtitles: dialogs.handleToggleSubtitles,
|
|
10708
10717
|
showSubtitles: Boolean(s.presentationProperties.showSubtitles),
|
|
@@ -10772,10 +10781,12 @@ function useViewerBuildingBlocksCore(input) {
|
|
|
10772
10781
|
activeMaster: state.activeMaster,
|
|
10773
10782
|
presentationGridSpacing: state.presentationProperties.gridSpacing
|
|
10774
10783
|
});
|
|
10784
|
+
const { options: viewerOptions } = useViewerOptions();
|
|
10775
10785
|
const { presentation, annotations, actionSoundHandlerRef } = usePresentationSetup({
|
|
10776
10786
|
mode,
|
|
10777
10787
|
slides,
|
|
10778
10788
|
visibleSlideIndexes,
|
|
10789
|
+
endWithBlackSlide: viewerOptions.advanced.slideShowEndWithBlackSlide,
|
|
10779
10790
|
activeSlideIndex,
|
|
10780
10791
|
containerRef,
|
|
10781
10792
|
content,
|
|
@@ -11031,6 +11042,7 @@ function useViewerBuildingBlocks(input) {
|
|
|
11031
11042
|
printHandlers,
|
|
11032
11043
|
propertyHandlers,
|
|
11033
11044
|
dialogs,
|
|
11045
|
+
activeSlideIndex,
|
|
11034
11046
|
slideOps: editorOps.slideOps,
|
|
11035
11047
|
ops: editorOps.ops,
|
|
11036
11048
|
onSetMode: handleSetMode,
|
|
Binary file
|
|
Binary file
|