pptx-react-viewer 1.20.0 → 1.21.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.
Files changed (76) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/README.md +14 -13
  3. package/dist/{Model3DScene-RYHVTFOT.mjs → Model3DScene-FERG6DP5.mjs} +1 -1
  4. package/dist/{Model3DScene-RYHVTFOT.mjs.br → Model3DScene-FERG6DP5.mjs.br} +0 -0
  5. package/dist/Model3DScene-FERG6DP5.mjs.gz +0 -0
  6. package/dist/{Model3DScene-BLUWY36S.js → Model3DScene-IGFOR6UG.js} +2 -2
  7. package/dist/{Model3DScene-BLUWY36S.js.br → Model3DScene-IGFOR6UG.js.br} +0 -0
  8. package/dist/Model3DScene-IGFOR6UG.js.gz +0 -0
  9. package/dist/{PowerPointViewer-C4d7SKZf.d.ts → PowerPointViewer-JxHuwp4K.d.ts} +2 -2
  10. package/dist/{PowerPointViewer-C4d7SKZf.d.ts.map → PowerPointViewer-JxHuwp4K.d.ts.map} +1 -1
  11. package/dist/{SurfaceChart3DScene-U6QOMUJF.mjs → SurfaceChart3DScene-754VHVLW.mjs} +1 -1
  12. package/dist/{SurfaceChart3DScene-U6QOMUJF.mjs.br → SurfaceChart3DScene-754VHVLW.mjs.br} +0 -0
  13. package/dist/SurfaceChart3DScene-754VHVLW.mjs.gz +0 -0
  14. package/dist/{SurfaceChart3DScene-BW2YTOPQ.js → SurfaceChart3DScene-S2UEFUQ5.js} +2 -2
  15. package/dist/SurfaceChart3DScene-S2UEFUQ5.js.br +0 -0
  16. package/dist/SurfaceChart3DScene-S2UEFUQ5.js.gz +0 -0
  17. package/dist/{chunk-UDJHJM5B.mjs → chunk-2C3XYEFM.mjs} +12 -3
  18. package/dist/chunk-2C3XYEFM.mjs.br +0 -0
  19. package/dist/chunk-2C3XYEFM.mjs.gz +0 -0
  20. package/dist/{chunk-LXUMBK2O.js → chunk-2YHX6IAW.js} +393 -382
  21. package/dist/chunk-2YHX6IAW.js.br +0 -0
  22. package/dist/chunk-2YHX6IAW.js.gz +0 -0
  23. package/dist/{chunk-GG2KBJSN.mjs → chunk-FTJ5JKLB.mjs} +18 -1
  24. package/dist/chunk-FTJ5JKLB.mjs.br +0 -0
  25. package/dist/{chunk-GG2KBJSN.mjs.gz → chunk-FTJ5JKLB.mjs.gz} +0 -0
  26. package/dist/{chunk-TUVSZMLW.mjs → chunk-K6C5G2J6.mjs} +134 -98
  27. package/dist/chunk-K6C5G2J6.mjs.br +0 -0
  28. package/dist/chunk-K6C5G2J6.mjs.gz +0 -0
  29. package/dist/{chunk-KRK367H5.js → chunk-PQUAAGKH.js} +810 -774
  30. package/dist/chunk-PQUAAGKH.js.br +0 -0
  31. package/dist/chunk-PQUAAGKH.js.gz +0 -0
  32. package/dist/{chunk-BXACB3BG.js → chunk-UGAJLDGZ.js} +19 -0
  33. package/dist/chunk-UGAJLDGZ.js.br +0 -0
  34. package/dist/{chunk-BXACB3BG.js.gz → chunk-UGAJLDGZ.js.gz} +0 -0
  35. package/dist/hooks-unstable.d.ts +51 -2
  36. package/dist/hooks-unstable.d.ts.map +1 -1
  37. package/dist/hooks-unstable.js +81 -73
  38. package/dist/hooks-unstable.js.br +0 -0
  39. package/dist/hooks-unstable.js.gz +0 -0
  40. package/dist/hooks-unstable.mjs +2 -2
  41. package/dist/hooks-unstable.mjs.br +0 -0
  42. package/dist/hooks-unstable.mjs.gz +0 -0
  43. package/dist/{index-DmHVR48M.d.ts → index-BhR8ykQj.d.ts} +2 -2
  44. package/dist/{index-DmHVR48M.d.ts.map → index-BhR8ykQj.d.ts.map} +1 -1
  45. package/dist/index.d.ts +44 -1
  46. package/dist/index.js +17 -17
  47. package/dist/index.js.br +0 -0
  48. package/dist/index.js.gz +0 -0
  49. package/dist/index.mjs +3 -3
  50. package/dist/index.mjs.br +0 -0
  51. package/dist/index.mjs.gz +0 -0
  52. package/dist/{types-BK7Nt13M.d.ts → types-DGauquE9.d.ts} +20 -2
  53. package/dist/{types-BK7Nt13M.d.ts.map → types-DGauquE9.d.ts.map} +1 -1
  54. package/dist/viewer/index.d.ts +43 -0
  55. package/dist/viewer/index.js +19 -19
  56. package/dist/viewer/index.js.br +0 -0
  57. package/dist/viewer/index.js.gz +0 -0
  58. package/dist/viewer/index.mjs +3 -3
  59. package/dist/viewer/index.mjs.br +0 -0
  60. package/dist/viewer/index.mjs.gz +0 -0
  61. package/package.json +1 -1
  62. package/dist/Model3DScene-BLUWY36S.js.gz +0 -0
  63. package/dist/Model3DScene-RYHVTFOT.mjs.gz +0 -0
  64. package/dist/SurfaceChart3DScene-BW2YTOPQ.js.br +0 -0
  65. package/dist/SurfaceChart3DScene-BW2YTOPQ.js.gz +0 -0
  66. package/dist/SurfaceChart3DScene-U6QOMUJF.mjs.gz +0 -0
  67. package/dist/chunk-BXACB3BG.js.br +0 -0
  68. package/dist/chunk-GG2KBJSN.mjs.br +0 -0
  69. package/dist/chunk-KRK367H5.js.br +0 -0
  70. package/dist/chunk-KRK367H5.js.gz +0 -0
  71. package/dist/chunk-LXUMBK2O.js.br +0 -0
  72. package/dist/chunk-LXUMBK2O.js.gz +0 -0
  73. package/dist/chunk-TUVSZMLW.mjs.br +0 -0
  74. package/dist/chunk-TUVSZMLW.mjs.gz +0 -0
  75. package/dist/chunk-UDJHJM5B.mjs.br +0 -0
  76. package/dist/chunk-UDJHJM5B.mjs.gz +0 -0
Binary file
Binary file
@@ -20318,6 +20318,23 @@ function applyRehearsalTimings(slides, timings) {
20318
20318
  function computeEntranceAnimationDelay(delayMs, animationIndex) {
20319
20319
  return Math.max(0, delayMs || 0) + animationIndex * 60;
20320
20320
  }
20321
+ var TOOLBAR_TABS = [
20322
+ { id: "file", labelKey: "pptx.ribbon.tab.file" },
20323
+ { id: "home", labelKey: "pptx.ribbon.tab.home" },
20324
+ { id: "insert", labelKey: "pptx.ribbon.tab.insert" },
20325
+ { id: "draw", labelKey: "pptx.ribbon.tab.draw" },
20326
+ { id: "design", labelKey: "pptx.ribbon.tab.design" },
20327
+ { id: "transitions", labelKey: "pptx.ribbon.tab.transitions" },
20328
+ { id: "animations", labelKey: "pptx.ribbon.tab.animations" },
20329
+ { id: "slideShow", labelKey: "pptx.ribbon.tab.slideShow" },
20330
+ { id: "record", labelKey: "pptx.ribbon.tab.record" },
20331
+ { id: "review", labelKey: "pptx.ribbon.tab.review" },
20332
+ { id: "view", labelKey: "pptx.ribbon.tab.view" },
20333
+ { id: "help", labelKey: "pptx.ribbon.tab.help" }
20334
+ ];
20335
+ function isActionHidden(id, hiddenActions) {
20336
+ return hiddenActions !== void 0 && hiddenActions.includes(id);
20337
+ }
20321
20338
  var FALLBACK_DOWNLOAD_NAME = "presentation.pptx";
20322
20339
  var REVOKE_DELAY_MS = 200;
20323
20340
  var OPEN_REVOKE_DELAY_MS = 6e4;
@@ -21946,4 +21963,4 @@ function segmentFrameCount(durationMs, fps) {
21946
21963
  return Math.max(1, Math.ceil(durationMs / (1e3 / fps)));
21947
21964
  }
21948
21965
 
21949
- export { ACTION_BUTTON_PRESETS, ARTISTIC_EFFECTS, BACKSTAGE_NAV, BACKSTAGE_TEMPLATES, BROADCAST_THROTTLE_MS, CATEGORIES, CONNECTION_TIMEOUT_MS, DEFAULT_BROADCAST_SERVER_URL, DEFAULT_COLOR_CHANGE_TOLERANCE, DEFAULT_INSERT_CHART_TYPE, DEFAULT_ROW_HEIGHT, DEFAULT_VIRTUAL_OVERSCAN, DIRECTIONAL_PRESETS, DUOTONE_PRESETS, EXPORT_ASSEMBLING_PERCENT, EXPORT_DONE_PERCENT, FILL_MODE_OPTIONS, GRADIENT_TYPE_OPTIONS, HANDOUT_OPTIONS, INK_REPLAY_KEYFRAMES, INSERT_CHART_TYPES, LBL, LOCAL_SYNC_ORIGIN, MOBILE_BREAKPOINT, NOTES_FONT_SIZE_DEFAULT, NOTES_FONT_SIZE_MAX, NOTES_FONT_SIZE_MIN, NOTES_FONT_SIZE_STEP, NUM, PATTERN_OPTIONS, PRESENTATION_CHANNEL_NAME, PRESENTATION_HASH, PRESENTATION_MESSAGE_ORIGIN, PRESENTATION_NONCE_KEY, PRESETS, RULER_FONT_SIZE, RULER_THICKNESS, SECTION_HEADING, SEL, SHAPE_PRESET_DEFS, SLIDE_TRANSITION_KEYFRAMES, SLIDE_VIRTUALIZATION_THRESHOLD, TABLET_BREAKPOINT, TABLE_STYLE_PRESETS, TAB_ROW_ACTION_CLASSES, TEXT_BUILD_ID_SEP, THEME_COLOR_LABELS, TITLE_BAR_CLASSES, TITLE_BAR_DEFAULT_FILE_KEY, TimelineEngine, WEBM_MIME_CANDIDATES, activateModalFocus, addSection, alignElements, appendPresentationInkPoint, apply3dEffects, applyAcceptAllSlides, applyAcceptSlide, applyCaseTransformToSegments, applyColorChange, applyDuotone, applyFormatToElement, applyRehearsalTimings, applyReroutedConnectors, applyResize, applyStyleToSelectedSegments, bringForward, bringToFront, build3DExtrusionData, buildBroadcastViewerUrl, buildCacheKey, buildChartViewModel, buildCollaborationShareUrl, buildCreateCollaborationConfig, buildCssGradientFromShapeStyle, buildDuotoneCacheKey, buildElementClipboardPayload, buildGlowBoxShadow, buildHandoutsHtml, buildInitialGuides, buildInnerShadowCssFromShapeStyle, buildJoinCollaborationConfig, buildMultiLayerShadowCss, buildNotesHtml, buildNotesPdfBytes, buildOutlineHtml, buildPatternFillCss, buildPresentationAudienceUrl, buildPreviewAnimation, buildPrintDocument, buildPrintHtmlDocument, buildReflectionCss, buildShadowCssFromShapeStyle, buildSlidesHtml, buildSlidesPdfBytes, buildSmartArt3DModel, buildSmartArtA11y, buildSmartArtPresetData, buildSummaryZoomView, buildTextBody3DSceneStyle, buildTextFillCss, buildTextReflectionCss, buildTextRunFilterChain, buildTextShadowCss, buildThemeColorGrid, buildUserFontFaceStyles, canvasToJpegData, chartPartToAttrs, clampCropValue, clampNotesFontSize, clampPercent, clampUnitInterval, clearPresentationDeck, cloneElementForPaste, cloneHistorySnapshot, cloneSlide, cloneTemplateElementsBySlideId, collectImagePaths, collectMediaElements, collectUsedFonts, colorWithOpacity, comparePresentation, computeAllNotesPages, computeAutoFitTextStyle, computeColumnBoundaries, computeEntranceAnimationDelay, computeHandoutLayout, computeInlineEditorRect, computeKeyboardInset, computeLayout, computeLayoutOptions, computeMarqueeHitIds, computeMergeCellDown, computeMergeCellRight, computeResizedColumnWidths, computeResizedRowHeight, computeScrollDelta, computeSelectionRect, computeSmartArtLayout, computeSnapToShape, computeSplitCell, computeValueRange, computeValueRangeForChart, computeVirtualRange, convertLatexToOmml, convertOmmlToLatex, convertOmmlToMathMl, copyFormatFromElement, countTextSegments, createBackstagePresentation, createBlankSlide, createDefaultChartElement, createInitialPresentationSnapshot, createPresentationSessionId, createPresenterTimer, createSyncGate, createTouchGestureRecognizer, defaultCssVars, defaultRadius, defaultThemeColors, deleteSection, deleteTableColumn, deleteTableRow, derivePresenceList, detectOrientation, detectTouchDevice, distributeElements, downloadBlob, downloadDataUrl, dragAnchorViewY, dragValueForPart, encodeGif, erasePresentationInkAt, expandTextBuildAnimations, extractPathPoints, filterCommands, findChartPartTarget, findSmartArtNodeText, formatAxisValue, formatAxisValueWithUnits, formatBackstageDate, formatBackstageSize, formatBytes, formatCommentTimestamp, formatElapsed, formatMobileElapsed, formatRelativeTime, formatSlideCounter, formatTime, formatVersionTimestamp, fpsToFrameIntervalMs, generateBroadcastRoomId, generateElementId, generateLogTicks, generateNoteLineCount, generatePackageReadme, generatePressureCircles, generateTicks, getAnimationInitialStyle, getAriaLabel, getAriaRole, getAriaRoleDescription, getCachedResult, getChartStylePalette, getCommentMarkerPosition, getCompoundLineBorderWidth, getCompoundLineBoxShadow, getCompoundLineOffsets, getCompoundLineWidths, getConnectionSites, getContentPartReplayStyles, getCssBorderDashStyle, getDisplayUnitLabel, getDuotoneCachedResult, getEffectDagFilter, getElementLabel, getElementTransform, getElementTransformWithoutRotation, getImageColorWashStyle, getImageEffectsFilter, getImageEffectsOpacity, getImageSvgFilters, getInkReplayStyles, getInlineEditorSelection, getKinsokuLineBreakStyles, getNotesPrintableArea, getOleBadgeLabel, getOleTypeColor, getOleTypeLabel, getPatternSvg, getPendingSelectionRestore, getPrintableArea, getResolvedShapeClipPath, getRoundRectRadiusPx, getSecondaryValueAxis, getShapeAdjustmentHandleDescriptor, getSlideBackgroundStyle, getSlideTransitionAnimations, getSvgStrokeDasharray, getTextAlphaOpacity, getTextCompensationTransform, getWarpPath, groupElements, groupIntoParagraphs, groupSlidesBySection, hasCopyableFormat, hasDistinctScriptFonts, hasPressureVariation, insertTableColumn, insertTableRow, isBrowserOpenableMime, isCellInRect, isEditableTextElement, isExportAbortError, isFirstSlide, isKeyboardOpen, isLastSlide, isMixedContentBlocked, isMobileViewport, isPpactionUrl, isPresentationSessionMessage, isTemplateElement, isTemplateElementId, isUrlSafe, listBackstageRecentFiles, loadPresentationDeck, makeCloneId, makeSlideId, mergeAdditiveSelection, mergeCells, mergePresentationSnapshot, mobileElapsedSince, mobileSlideCounter, mountModel3D, mountSurfaceChart3D, movePresenterPointer, moveSectionDown, moveSectionUp, moveSlidesToSection, newTableElement, normalizeColorsForCapture, normalizeHexColor, normalizeStrokeDashType, normalizeValue, notesSegmentsToSpans, observeYDocSlides, ooxmlDashToCssBorderStyle, openPptxFile, openUrlInNewTab, paletteColor, parseDrawingColor, parseDrawingColorOpacity, parsePpactionUrl, pickSupportedMimeType, placeAudienceWindow, preprocessCssForCapture, presentationInkPath, presenterElapsed, pressuresToWidths, readBackstageRecentFile, readSlidesFromYDoc, readViewportMetrics, rebuildDrawingShapesIfCleared, reconcileSlidesInYDoc, recordProgressPercent, rectToCells, remapTextToSegments, renameSection, rerouteConnectorsForMovedElements, resetPresenterTimer, resolveAudienceScreenPlacement, resolveCssTextAlign, resolveDrawingShapeNodeId, resolveFontForScript, resolveInkColor, resolveInkOpacity, resolveInkWidth, resolveLineHeight, resolveOleType, resolveParagraphAlign, resolveParagraphRtl, resolvePictureBullet, resolveRegionCode, resolveTitleBarStatusKey, resolveTransitionDurationMs, resolveTransportForServerUrl, resolveUnderlineDecorationStyle, restoreSegmentSelection, safeOpenUrl, sanitizeColor, sanitizeDownloadFilename, sanitizeMathMl, saveAutosaveSnapshot, scanAvailableFontFamilies, segmentByScript, segmentFrameCount, sendBackward, sendToBack, sequentialColorScale, seriesColor, setCachedResult, setDuotoneCachedResult, setPendingSelectionRestore, shadeColor2, shouldCommitSmartArtNodeText, shouldLoopContinuously, shouldUseSvgWarp, slideProgressPercent, slideStatusLabel, snapBoxToGrid, splitCell, splitSeriesByAxis, stepPresenterZoom, storePresentationDeck, substituteFieldText, svgLineCap, swapPresentationWindows, themeToCssVars, tintColor2, toCssTextOrientation, toCssVerticalDirection, toCssWritingMode, togglePresenterTimer, transformTextCase, validateRoomId, valueToY, vermilionDarkColors, vermilionDarkTheme, vermilionLightColors, vermilionLightTheme, vermilionRadius, withChartPointValue, withChartTitle };
21966
+ export { ACTION_BUTTON_PRESETS, ARTISTIC_EFFECTS, BACKSTAGE_NAV, BACKSTAGE_TEMPLATES, BROADCAST_THROTTLE_MS, CATEGORIES, CONNECTION_TIMEOUT_MS, DEFAULT_BROADCAST_SERVER_URL, DEFAULT_COLOR_CHANGE_TOLERANCE, DEFAULT_INSERT_CHART_TYPE, DEFAULT_ROW_HEIGHT, DEFAULT_VIRTUAL_OVERSCAN, DIRECTIONAL_PRESETS, DUOTONE_PRESETS, EXPORT_ASSEMBLING_PERCENT, EXPORT_DONE_PERCENT, FILL_MODE_OPTIONS, GRADIENT_TYPE_OPTIONS, HANDOUT_OPTIONS, INK_REPLAY_KEYFRAMES, INSERT_CHART_TYPES, LBL, LOCAL_SYNC_ORIGIN, MOBILE_BREAKPOINT, NOTES_FONT_SIZE_DEFAULT, NOTES_FONT_SIZE_MAX, NOTES_FONT_SIZE_MIN, NOTES_FONT_SIZE_STEP, NUM, PATTERN_OPTIONS, PRESENTATION_CHANNEL_NAME, PRESENTATION_HASH, PRESENTATION_MESSAGE_ORIGIN, PRESENTATION_NONCE_KEY, PRESETS, RULER_FONT_SIZE, RULER_THICKNESS, SECTION_HEADING, SEL, SHAPE_PRESET_DEFS, SLIDE_TRANSITION_KEYFRAMES, SLIDE_VIRTUALIZATION_THRESHOLD, TABLET_BREAKPOINT, TABLE_STYLE_PRESETS, TAB_ROW_ACTION_CLASSES, TEXT_BUILD_ID_SEP, THEME_COLOR_LABELS, TITLE_BAR_CLASSES, TITLE_BAR_DEFAULT_FILE_KEY, TOOLBAR_TABS, TimelineEngine, WEBM_MIME_CANDIDATES, activateModalFocus, addSection, alignElements, appendPresentationInkPoint, apply3dEffects, applyAcceptAllSlides, applyAcceptSlide, applyCaseTransformToSegments, applyColorChange, applyDuotone, applyFormatToElement, applyRehearsalTimings, applyReroutedConnectors, applyResize, applyStyleToSelectedSegments, bringForward, bringToFront, build3DExtrusionData, buildBroadcastViewerUrl, buildCacheKey, buildChartViewModel, buildCollaborationShareUrl, buildCreateCollaborationConfig, buildCssGradientFromShapeStyle, buildDuotoneCacheKey, buildElementClipboardPayload, buildGlowBoxShadow, buildHandoutsHtml, buildInitialGuides, buildInnerShadowCssFromShapeStyle, buildJoinCollaborationConfig, buildMultiLayerShadowCss, buildNotesHtml, buildNotesPdfBytes, buildOutlineHtml, buildPatternFillCss, buildPresentationAudienceUrl, buildPreviewAnimation, buildPrintDocument, buildPrintHtmlDocument, buildReflectionCss, buildShadowCssFromShapeStyle, buildSlidesHtml, buildSlidesPdfBytes, buildSmartArt3DModel, buildSmartArtA11y, buildSmartArtPresetData, buildSummaryZoomView, buildTextBody3DSceneStyle, buildTextFillCss, buildTextReflectionCss, buildTextRunFilterChain, buildTextShadowCss, buildThemeColorGrid, buildUserFontFaceStyles, canvasToJpegData, chartPartToAttrs, clampCropValue, clampNotesFontSize, clampPercent, clampUnitInterval, clearPresentationDeck, cloneElementForPaste, cloneHistorySnapshot, cloneSlide, cloneTemplateElementsBySlideId, collectImagePaths, collectMediaElements, collectUsedFonts, colorWithOpacity, comparePresentation, computeAllNotesPages, computeAutoFitTextStyle, computeColumnBoundaries, computeEntranceAnimationDelay, computeHandoutLayout, computeInlineEditorRect, computeKeyboardInset, computeLayout, computeLayoutOptions, computeMarqueeHitIds, computeMergeCellDown, computeMergeCellRight, computeResizedColumnWidths, computeResizedRowHeight, computeScrollDelta, computeSelectionRect, computeSmartArtLayout, computeSnapToShape, computeSplitCell, computeValueRange, computeValueRangeForChart, computeVirtualRange, convertLatexToOmml, convertOmmlToLatex, convertOmmlToMathMl, copyFormatFromElement, countTextSegments, createBackstagePresentation, createBlankSlide, createDefaultChartElement, createInitialPresentationSnapshot, createPresentationSessionId, createPresenterTimer, createSyncGate, createTouchGestureRecognizer, defaultCssVars, defaultRadius, defaultThemeColors, deleteSection, deleteTableColumn, deleteTableRow, derivePresenceList, detectOrientation, detectTouchDevice, distributeElements, downloadBlob, downloadDataUrl, dragAnchorViewY, dragValueForPart, encodeGif, erasePresentationInkAt, expandTextBuildAnimations, extractPathPoints, filterCommands, findChartPartTarget, findSmartArtNodeText, formatAxisValue, formatAxisValueWithUnits, formatBackstageDate, formatBackstageSize, formatBytes, formatCommentTimestamp, formatElapsed, formatMobileElapsed, formatRelativeTime, formatSlideCounter, formatTime, formatVersionTimestamp, fpsToFrameIntervalMs, generateBroadcastRoomId, generateElementId, generateLogTicks, generateNoteLineCount, generatePackageReadme, generatePressureCircles, generateTicks, getAnimationInitialStyle, getAriaLabel, getAriaRole, getAriaRoleDescription, getCachedResult, getChartStylePalette, getCommentMarkerPosition, getCompoundLineBorderWidth, getCompoundLineBoxShadow, getCompoundLineOffsets, getCompoundLineWidths, getConnectionSites, getContentPartReplayStyles, getCssBorderDashStyle, getDisplayUnitLabel, getDuotoneCachedResult, getEffectDagFilter, getElementLabel, getElementTransform, getElementTransformWithoutRotation, getImageColorWashStyle, getImageEffectsFilter, getImageEffectsOpacity, getImageSvgFilters, getInkReplayStyles, getInlineEditorSelection, getKinsokuLineBreakStyles, getNotesPrintableArea, getOleBadgeLabel, getOleTypeColor, getOleTypeLabel, getPatternSvg, getPendingSelectionRestore, getPrintableArea, getResolvedShapeClipPath, getRoundRectRadiusPx, getSecondaryValueAxis, getShapeAdjustmentHandleDescriptor, getSlideBackgroundStyle, getSlideTransitionAnimations, getSvgStrokeDasharray, getTextAlphaOpacity, getTextCompensationTransform, getWarpPath, groupElements, groupIntoParagraphs, groupSlidesBySection, hasCopyableFormat, hasDistinctScriptFonts, hasPressureVariation, insertTableColumn, insertTableRow, isActionHidden, isBrowserOpenableMime, isCellInRect, isEditableTextElement, isExportAbortError, isFirstSlide, isKeyboardOpen, isLastSlide, isMixedContentBlocked, isMobileViewport, isPpactionUrl, isPresentationSessionMessage, isTemplateElement, isTemplateElementId, isUrlSafe, listBackstageRecentFiles, loadPresentationDeck, makeCloneId, makeSlideId, mergeAdditiveSelection, mergeCells, mergePresentationSnapshot, mobileElapsedSince, mobileSlideCounter, mountModel3D, mountSurfaceChart3D, movePresenterPointer, moveSectionDown, moveSectionUp, moveSlidesToSection, newTableElement, normalizeColorsForCapture, normalizeHexColor, normalizeStrokeDashType, normalizeValue, notesSegmentsToSpans, observeYDocSlides, ooxmlDashToCssBorderStyle, openPptxFile, openUrlInNewTab, paletteColor, parseDrawingColor, parseDrawingColorOpacity, parsePpactionUrl, pickSupportedMimeType, placeAudienceWindow, preprocessCssForCapture, presentationInkPath, presenterElapsed, pressuresToWidths, readBackstageRecentFile, readSlidesFromYDoc, readViewportMetrics, rebuildDrawingShapesIfCleared, reconcileSlidesInYDoc, recordProgressPercent, rectToCells, remapTextToSegments, renameSection, rerouteConnectorsForMovedElements, resetPresenterTimer, resolveAudienceScreenPlacement, resolveCssTextAlign, resolveDrawingShapeNodeId, resolveFontForScript, resolveInkColor, resolveInkOpacity, resolveInkWidth, resolveLineHeight, resolveOleType, resolveParagraphAlign, resolveParagraphRtl, resolvePictureBullet, resolveRegionCode, resolveTitleBarStatusKey, resolveTransitionDurationMs, resolveTransportForServerUrl, resolveUnderlineDecorationStyle, restoreSegmentSelection, safeOpenUrl, sanitizeColor, sanitizeDownloadFilename, sanitizeMathMl, saveAutosaveSnapshot, scanAvailableFontFamilies, segmentByScript, segmentFrameCount, sendBackward, sendToBack, sequentialColorScale, seriesColor, setCachedResult, setDuotoneCachedResult, setPendingSelectionRestore, shadeColor2, shouldCommitSmartArtNodeText, shouldLoopContinuously, shouldUseSvgWarp, slideProgressPercent, slideStatusLabel, snapBoxToGrid, splitCell, splitSeriesByAxis, stepPresenterZoom, storePresentationDeck, substituteFieldText, svgLineCap, swapPresentationWindows, themeToCssVars, tintColor2, toCssTextOrientation, toCssVerticalDirection, toCssWritingMode, togglePresenterTimer, transformTextCase, validateRoomId, valueToY, vermilionDarkColors, vermilionDarkTheme, vermilionLightColors, vermilionLightTheme, vermilionRadius, withChartPointValue, withChartTitle };
Binary file
@@ -1,5 +1,5 @@
1
- import { DEFAULT_STROKE_COLOR, getConnectorPathGeometry, buildLineShadowCss, buildLineGlowFilter, renderConnectorMarker, MIN_ELEMENT_SIZE, getShapeVisualStyle, getTextStyleForElement, DEFAULT_TEXT_COLOR, renderVectorShape, isConnectorOrLineElement, build3DExtrusionData, getImageRenderStyle, cn, getTextLayoutStyle, renderTableElement, renderMediaElement, shouldRenderFallbackLabel, SHAPE_PRESETS, ANIMATION_PRESET_OPTIONS, useReducedMotion, useViewerState, useIsMobile, useResizablePanels, useDerivedSlideState, useZoomViewport, useEditorHistory, usePresentationSetup, useTouchGestures, useViewerDialogs, useEditorOperations, useViewerIntegration, useYjsDocumentSync, useFollowMode, useBroadcastFollower, DEFAULT_FILL_COLOR, hasDagDuotoneEffect, renderDagDuotoneSvgFilter, getCropShapeClipPath, resolvePalette, resolveStyle, layoutToCategory, wrapChrome, isImageTiled, getImageTilingStyle, getDuotoneColors, getTextWarpStyle, renderTextSegments, buildReactChartViewModel, renderChartElement, buildTextBody3DSceneStyle, SLIDE_TRANSITION_OPTIONS, SLIDE_NAV_THUMBNAIL_WIDTH, useKeyboardInsets, useModalDismissDrag, SHORTCUT_REFERENCE_ITEMS, useCollaborativeState, styleShadow, styleStroke, colour, fitFontSize, smartArtNodeGroupProps, chevronPoints, SmartArtNodeText, truncate, renderStepDownProcess, renderAlternatingFlow, renderDescendingProcess, renderPictureAccentList, renderVerticalBlockList, renderGroupedList, renderPyramidList, renderHorizontalPictureList, renderAccentProcess, renderVerticalChevronList, DEFAULT_TEXT_FONT_SIZE, DEFAULT_FONT_FAMILY, TOOLBAR_SECTIONS, useVirtualizedSlides, useSwipeNavigation, useSheetDismissDrag, detectTargetType, parseEmailUrl, parseSlideFromUrl, ACTION_VERB_MAP, buildTree, treeWidth, treeDepth, nodeOpacity, gearPath, resolveSmartArtDataPalette, HYPERLINK_COLOR, GRID_SIZE, startPreviewAnimation, stopPreviewAnimation } from './chunk-UDJHJM5B.mjs';
2
- import { normalizeHexColor, colorWithOpacity, normalizeStrokeDashType, getSvgStrokeDasharray, getCompoundLineOffsets, getCompoundLineWidths, svgLineCap, getElementTransform, isEditableTextElement, getAriaRole, getAriaLabel, getAriaRoleDescription, getImageEffectsOpacity, getImageEffectsFilter, getElementTransformWithoutRotation, ACTION_BUTTON_PRESETS, getElementLabel, RULER_THICKNESS, RULER_FONT_SIZE, convertLatexToOmml, convertOmmlToMathMl, sanitizeMathMl, buildUserFontFaceStyles, openPptxFile, readBackstageRecentFile, buildCssGradientFromShapeStyle, buildSmartArtA11y, buildSummaryZoomView, getImageColorWashStyle, getPendingSelectionRestore, restoreSegmentSelection, getTextCompensationTransform, formatAxisValue, hasPressureVariation, getInkReplayStyles, INK_REPLAY_KEYFRAMES, resolveInkColor, resolveInkWidth, resolveInkOpacity, pressuresToWidths, getContentPartReplayStyles, resolveOleType, getOleTypeColor, getOleTypeLabel, shouldUseSvgWarp, themeToCssVars, DEFAULT_INSERT_CHART_TYPE, hasCopyableFormat, createBackstagePresentation, buildJoinCollaborationConfig, buildCreateCollaborationConfig, generateBroadcastRoomId, DEFAULT_BROADCAST_SERVER_URL, buildBroadcastViewerUrl, resolveTransportForServerUrl, resolveDrawingShapeNodeId, getImageSvgFilters, buildDuotoneCacheKey, getDuotoneCachedResult, applyDuotone, setDuotoneCachedResult, buildCacheKey, DEFAULT_COLOR_CHANGE_TOLERANCE, getCachedResult, applyColorChange, setCachedResult, findChartPartTarget, dragValueForPart, withChartPointValue, dragAnchorViewY, withChartTitle, computeSmartArtLayout, buildSmartArt3DModel, extractPathPoints, generatePressureCircles, isBrowserOpenableMime, formatBytes, getOleBadgeLabel, openUrlInNewTab, getWarpPath, getSlideBackgroundStyle, filterCommands, resolveTitleBarStatusKey, TITLE_BAR_CLASSES, TITLE_BAR_DEFAULT_FILE_KEY, safeOpenUrl, isPpactionUrl, parsePpactionUrl, formatVersionTimestamp, formatRelativeTime, scanAvailableFontFamilies, PRESETS, CATEGORIES, convertOmmlToLatex, clampPercent, HANDOUT_OPTIONS, activateModalFocus, buildCollaborationShareUrl, presentationInkPath, mobileElapsedSince, isFirstSlide, isLastSlide, formatMobileElapsed, mobileSlideCounter, formatElapsed, computeInlineEditorRect, findSmartArtNodeText, rebuildDrawingShapesIfCleared, shouldCommitSmartArtNodeText, groupIntoParagraphs, substituteFieldText, TAB_ROW_ACTION_CLASSES, listBackstageRecentFiles, BACKSTAGE_NAV, INSERT_CHART_TYPES, SLIDE_VIRTUALIZATION_THRESHOLD, getShapeAdjustmentHandleDescriptor, getSlideTransitionAnimations, SLIDE_TRANSITION_KEYFRAMES, formatSlideCounter, isUrlSafe, computeHandoutLayout, getPrintableArea, generateNoteLineCount, computeAllNotesPages, getNotesPrintableArea, notesSegmentsToSpans, erasePresentationInkAt, movePresenterPointer, appendPresentationInkPoint, NOTES_FONT_SIZE_DEFAULT, formatTime, NOTES_FONT_SIZE_MIN, clampNotesFontSize, NOTES_FONT_SIZE_STEP, NOTES_FONT_SIZE_MAX, BACKSTAGE_TEMPLATES, formatBackstageDate, formatBackstageSize, getConnectionSites, generateTicks, getCommentMarkerPosition, buildThemeColorGrid, THEME_COLOR_LABELS, buildSmartArtPresetData, TABLE_STYLE_PRESETS, formatCommentTimestamp, DIRECTIONAL_PRESETS, computeMergeCellRight, computeMergeCellDown, computeSplitCell, DUOTONE_PRESETS, ARTISTIC_EFFECTS, LBL, SEL, FILL_MODE_OPTIONS, SECTION_HEADING, NUM, GRADIENT_TYPE_OPTIONS, PATTERN_OPTIONS } from './chunk-GG2KBJSN.mjs';
1
+ import { DEFAULT_STROKE_COLOR, getConnectorPathGeometry, buildLineShadowCss, buildLineGlowFilter, renderConnectorMarker, MIN_ELEMENT_SIZE, getShapeVisualStyle, getTextStyleForElement, DEFAULT_TEXT_COLOR, renderVectorShape, isConnectorOrLineElement, build3DExtrusionData, getImageRenderStyle, cn, getTextLayoutStyle, renderTableElement, renderMediaElement, shouldRenderFallbackLabel, SHAPE_PRESETS, ANIMATION_PRESET_OPTIONS, useReducedMotion, useViewerState, useIsMobile, useResizablePanels, useDerivedSlideState, useZoomViewport, useEditorHistory, usePresentationSetup, useTouchGestures, useViewerDialogs, useEditorOperations, useViewerIntegration, useYjsDocumentSync, useFollowMode, useBroadcastFollower, DEFAULT_FILL_COLOR, hasDagDuotoneEffect, renderDagDuotoneSvgFilter, getCropShapeClipPath, resolvePalette, resolveStyle, layoutToCategory, wrapChrome, isImageTiled, getImageTilingStyle, getDuotoneColors, getTextWarpStyle, renderTextSegments, buildReactChartViewModel, renderChartElement, buildTextBody3DSceneStyle, SLIDE_TRANSITION_OPTIONS, SLIDE_NAV_THUMBNAIL_WIDTH, useToolbarVisibility, useKeyboardInsets, useModalDismissDrag, SHORTCUT_REFERENCE_ITEMS, useCollaborativeState, styleShadow, styleStroke, colour, fitFontSize, smartArtNodeGroupProps, chevronPoints, SmartArtNodeText, truncate, renderStepDownProcess, renderAlternatingFlow, renderDescendingProcess, renderPictureAccentList, renderVerticalBlockList, renderGroupedList, renderPyramidList, renderHorizontalPictureList, renderAccentProcess, renderVerticalChevronList, DEFAULT_TEXT_FONT_SIZE, DEFAULT_FONT_FAMILY, TOOLBAR_SECTIONS, useVirtualizedSlides, useSwipeNavigation, useSheetDismissDrag, detectTargetType, parseEmailUrl, parseSlideFromUrl, ACTION_VERB_MAP, buildTree, treeWidth, treeDepth, nodeOpacity, gearPath, resolveSmartArtDataPalette, HYPERLINK_COLOR, GRID_SIZE, startPreviewAnimation, stopPreviewAnimation } from './chunk-2C3XYEFM.mjs';
2
+ import { normalizeHexColor, colorWithOpacity, normalizeStrokeDashType, getSvgStrokeDasharray, getCompoundLineOffsets, getCompoundLineWidths, svgLineCap, getElementTransform, isEditableTextElement, getAriaRole, getAriaLabel, getAriaRoleDescription, getImageEffectsOpacity, getImageEffectsFilter, getElementTransformWithoutRotation, ACTION_BUTTON_PRESETS, getElementLabel, RULER_THICKNESS, RULER_FONT_SIZE, convertLatexToOmml, convertOmmlToMathMl, sanitizeMathMl, buildUserFontFaceStyles, openPptxFile, readBackstageRecentFile, buildCssGradientFromShapeStyle, buildSmartArtA11y, buildSummaryZoomView, getImageColorWashStyle, getPendingSelectionRestore, restoreSegmentSelection, getTextCompensationTransform, formatAxisValue, hasPressureVariation, getInkReplayStyles, INK_REPLAY_KEYFRAMES, resolveInkColor, resolveInkWidth, resolveInkOpacity, pressuresToWidths, getContentPartReplayStyles, resolveOleType, getOleTypeColor, getOleTypeLabel, shouldUseSvgWarp, themeToCssVars, DEFAULT_INSERT_CHART_TYPE, hasCopyableFormat, createBackstagePresentation, buildJoinCollaborationConfig, buildCreateCollaborationConfig, generateBroadcastRoomId, DEFAULT_BROADCAST_SERVER_URL, buildBroadcastViewerUrl, resolveTransportForServerUrl, resolveDrawingShapeNodeId, getImageSvgFilters, buildDuotoneCacheKey, getDuotoneCachedResult, applyDuotone, setDuotoneCachedResult, buildCacheKey, DEFAULT_COLOR_CHANGE_TOLERANCE, getCachedResult, applyColorChange, setCachedResult, findChartPartTarget, dragValueForPart, withChartPointValue, dragAnchorViewY, withChartTitle, computeSmartArtLayout, buildSmartArt3DModel, extractPathPoints, generatePressureCircles, isBrowserOpenableMime, formatBytes, getOleBadgeLabel, openUrlInNewTab, getWarpPath, getSlideBackgroundStyle, filterCommands, resolveTitleBarStatusKey, TITLE_BAR_CLASSES, TITLE_BAR_DEFAULT_FILE_KEY, safeOpenUrl, isPpactionUrl, parsePpactionUrl, formatVersionTimestamp, formatRelativeTime, scanAvailableFontFamilies, PRESETS, CATEGORIES, convertOmmlToLatex, clampPercent, HANDOUT_OPTIONS, activateModalFocus, buildCollaborationShareUrl, presentationInkPath, mobileElapsedSince, isFirstSlide, isLastSlide, formatMobileElapsed, mobileSlideCounter, formatElapsed, computeInlineEditorRect, findSmartArtNodeText, rebuildDrawingShapesIfCleared, shouldCommitSmartArtNodeText, groupIntoParagraphs, substituteFieldText, TAB_ROW_ACTION_CLASSES, listBackstageRecentFiles, BACKSTAGE_NAV, INSERT_CHART_TYPES, SLIDE_VIRTUALIZATION_THRESHOLD, getShapeAdjustmentHandleDescriptor, getSlideTransitionAnimations, SLIDE_TRANSITION_KEYFRAMES, formatSlideCounter, isUrlSafe, computeHandoutLayout, getPrintableArea, generateNoteLineCount, computeAllNotesPages, getNotesPrintableArea, notesSegmentsToSpans, erasePresentationInkAt, movePresenterPointer, appendPresentationInkPoint, NOTES_FONT_SIZE_DEFAULT, formatTime, NOTES_FONT_SIZE_MIN, clampNotesFontSize, NOTES_FONT_SIZE_STEP, NOTES_FONT_SIZE_MAX, BACKSTAGE_TEMPLATES, formatBackstageDate, formatBackstageSize, getConnectionSites, generateTicks, getCommentMarkerPosition, buildThemeColorGrid, THEME_COLOR_LABELS, buildSmartArtPresetData, TABLE_STYLE_PRESETS, formatCommentTimestamp, DIRECTIONAL_PRESETS, computeMergeCellRight, computeMergeCellDown, computeSplitCell, DUOTONE_PRESETS, ARTISTIC_EFFECTS, LBL, SEL, FILL_MODE_OPTIONS, SECTION_HEADING, NUM, GRADIENT_TYPE_OPTIONS, PATTERN_OPTIONS } from './chunk-FTJ5JKLB.mjs';
3
3
  import { translationsEn } from './chunk-4LPWBQTH.mjs';
4
4
  import { hasShapeProperties, hasTextProperties, isInkElement, SWITCHABLE_LAYOUT_TYPES, isImageLikeElement, getLinkedTextBoxSegments, getSubstituteFontFamily, themeColorSchemesEqual, setSmartArtNodeStyle, updateSmartArtNodeText, THEME_COLOR_SCHEME_KEYS, chartDataChangeType, chartDataUpdatePoint, chartDataAddCategory, chartDataRemoveCategory, chartDataAddSeries, chartDataRemoveSeries, setChartAxisLogScale, setChartAxisTitleStyle, setChartAxisGridlineStyle, setChartSeriesMarker, setChartSeriesChartType, setChartDataPointFill, setChartDataPointExplosion, setChartDataPointMarker, setChartDataPointLabel, getOleObjectTypeLabel, pptxActionToElementAction, applyThemeOverrideToSlide, COLOR_MAP_ALIAS_KEYS, DEFAULT_COLOR_MAP, addSmartArtNodeAsChild, removeSmartArtNode, elementActionToPptxAction, switchSmartArtLayout, addSmartArtNode, demoteSmartArtNode, promoteSmartArtNode, reorderSmartArtNode } from './chunk-3ZGCM6RC.mjs';
5
5
  import React14, { createContext, useMemo, useState, useCallback, forwardRef, useEffect, useRef, Suspense, useLayoutEffect, useContext, useDeferredValue } from 'react';
@@ -700,7 +700,10 @@ function StatusBar({
700
700
  mode,
701
701
  onSetMode,
702
702
  onToggleSlideSorter,
703
- collaborationSlot
703
+ collaborationSlot,
704
+ hideZoomControls = false,
705
+ hideNotesToggle = false,
706
+ hideFullscreenToggle = false
704
707
  }) {
705
708
  const { t } = useTranslation();
706
709
  let statusText;
@@ -737,7 +740,7 @@ function StatusBar({
737
740
  }
738
741
  ),
739
742
  /* @__PURE__ */ jsx("div", { className: "flex-1" }),
740
- onToggleNotes && /* @__PURE__ */ jsxs(
743
+ onToggleNotes && !hideNotesToggle && /* @__PURE__ */ jsxs(
741
744
  "button",
742
745
  {
743
746
  type: "button",
@@ -779,7 +782,7 @@ function StatusBar({
779
782
  children: /* @__PURE__ */ jsx(LuColumns2, { className: "w-3.5 h-3.5" })
780
783
  }
781
784
  ),
782
- /* @__PURE__ */ jsx(
785
+ !hideFullscreenToggle && /* @__PURE__ */ jsx(
783
786
  "button",
784
787
  {
785
788
  type: "button",
@@ -795,7 +798,7 @@ function StatusBar({
795
798
  /* @__PURE__ */ jsx("div", { className: "w-px h-3 bg-border/40 mx-0.5" }),
796
799
  collaborationSlot
797
800
  ] }),
798
- scale !== void 0 && /* @__PURE__ */ jsxs(Fragment, { children: [
801
+ scale !== void 0 && !hideZoomControls && /* @__PURE__ */ jsxs(Fragment, { children: [
799
802
  /* @__PURE__ */ jsx("div", { className: "w-px h-3 bg-border/60 mx-0.5" }),
800
803
  /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-0.5", children: [
801
804
  onZoomOut && /* @__PURE__ */ jsx(
@@ -2829,7 +2832,7 @@ function FailedToLoad() {
2829
2832
  var LazyModel3DScene = React14.lazy(
2830
2833
  async () => {
2831
2834
  try {
2832
- return await import('./Model3DScene-RYHVTFOT.mjs');
2835
+ return await import('./Model3DScene-FERG6DP5.mjs');
2833
2836
  } catch {
2834
2837
  return { default: FailedToLoad };
2835
2838
  }
@@ -13209,6 +13212,8 @@ function FileSection(p) {
13209
13212
  const [page, setPage] = useState("home");
13210
13213
  const [query, setQuery] = useState("");
13211
13214
  const [recent, setRecent] = useState([]);
13215
+ const { isHidden } = useToolbarVisibility(p.hiddenActions);
13216
+ const exportHidden = isHidden("export");
13212
13217
  useEffect(() => {
13213
13218
  void listBackstageRecentFiles().then(setRecent);
13214
13219
  }, []);
@@ -13243,7 +13248,9 @@ function FileSection(p) {
13243
13248
  }
13244
13249
  ),
13245
13250
  /* @__PURE__ */ jsxs("nav", { className: "flex min-h-0 flex-1 flex-col py-2", children: [
13246
- BACKSTAGE_NAV.filter((item) => !item.group).map((item) => /* @__PURE__ */ jsxs(
13251
+ BACKSTAGE_NAV.filter(
13252
+ (item) => !item.group && !(item.id === "export" && exportHidden)
13253
+ ).map((item) => /* @__PURE__ */ jsxs(
13247
13254
  "button",
13248
13255
  {
13249
13256
  type: "button",
@@ -13390,7 +13397,7 @@ function FileSection(p) {
13390
13397
  }
13391
13398
  )
13392
13399
  ] }),
13393
- page === "export" && /* @__PURE__ */ jsxs("div", { className: "mt-8 grid max-w-[900px] grid-cols-2 gap-5", children: [
13400
+ page === "export" && !exportHidden && /* @__PURE__ */ jsxs("div", { className: "mt-8 grid max-w-[900px] grid-cols-2 gap-5", children: [
13394
13401
  /* @__PURE__ */ jsx(
13395
13402
  BackstageAction,
13396
13403
  {
@@ -14431,6 +14438,7 @@ function ReviewSection(p) {
14431
14438
  }
14432
14439
  function SlideShowSection(p) {
14433
14440
  const { t } = useTranslation();
14441
+ const { isHidden } = useToolbarVisibility(p.hiddenActions);
14434
14442
  return /* @__PURE__ */ jsxs(Fragment, { children: [
14435
14443
  /* @__PURE__ */ jsxs(RibbonGroup, { label: t("pptx.slideShow.start", { defaultValue: "Start Slide Show" }), children: [
14436
14444
  /* @__PURE__ */ jsx(
@@ -14470,7 +14478,7 @@ function SlideShowSection(p) {
14470
14478
  disabled: true
14471
14479
  }
14472
14480
  ),
14473
- /* @__PURE__ */ jsx(
14481
+ !isHidden("broadcast") && /* @__PURE__ */ jsx(
14474
14482
  RibbonCommand,
14475
14483
  {
14476
14484
  label: t("pptx.slideShow.broadcast"),
@@ -15614,8 +15622,9 @@ function MobileMenuSheet(props) {
15614
15622
  const { t } = useTranslation();
15615
15623
  const { open, onClose } = props;
15616
15624
  const [active, setActive] = useState("home");
15625
+ const { isTabVisible } = useToolbarVisibility(props.hiddenActions);
15617
15626
  return /* @__PURE__ */ jsx(MobileSheet, { open, onClose, autoHeight: true, title: t("pptx.mobileToolbar.menu"), children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col", children: [
15618
- /* @__PURE__ */ jsx("div", { className: "sticky top-0 z-10 bg-background border-b border-border", children: /* @__PURE__ */ jsx("div", { className: "flex flex-wrap gap-1.5 px-3 py-2", children: MENU_ITEMS.map(({ key, label, icon: Icon }) => /* @__PURE__ */ jsxs(
15627
+ /* @__PURE__ */ jsx("div", { className: "sticky top-0 z-10 bg-background border-b border-border", children: /* @__PURE__ */ jsx("div", { className: "flex flex-wrap gap-1.5 px-3 py-2", children: MENU_ITEMS.filter(({ key }) => isTabVisible(key)).map(({ key, label, icon: Icon }) => /* @__PURE__ */ jsxs(
15619
15628
  "button",
15620
15629
  {
15621
15630
  type: "button",
@@ -15774,7 +15783,8 @@ function MobileSectionBody({
15774
15783
  onToggleSubtitles: p.onToggleSubtitles ?? (() => {
15775
15784
  }),
15776
15785
  showSubtitles: p.showSubtitles ?? false,
15777
- onSetMode: p.onSetMode
15786
+ onSetMode: p.onSetMode,
15787
+ hiddenActions: p.hiddenActions
15778
15788
  }
15779
15789
  ) });
15780
15790
  case "review":
@@ -15840,7 +15850,8 @@ function MobileSectionBody({
15840
15850
  onOpenDocumentProperties: p.onOpenDocumentProperties,
15841
15851
  onOpenPasswordProtection: p.onOpenPasswordProtection,
15842
15852
  onOpenFontEmbedding: p.onOpenFontEmbedding,
15843
- onOpenDigitalSignatures: p.onOpenDigitalSignatures
15853
+ onOpenDigitalSignatures: p.onOpenDigitalSignatures,
15854
+ hiddenActions: p.hiddenActions
15844
15855
  }
15845
15856
  ) });
15846
15857
  default:
@@ -15854,6 +15865,7 @@ function MobileToolbar(props) {
15854
15865
  const { t } = useTranslation();
15855
15866
  const { mode, canUndo, canRedo, onUndo, onRedo, onSetMode, onSaveAsPptx } = props;
15856
15867
  const [menuOpen, setMenuOpen] = useState(false);
15868
+ const { isHidden } = useToolbarVisibility(props.hiddenActions);
15857
15869
  const showEdit = mode === "edit" || mode === "master";
15858
15870
  const btn = "inline-flex items-center justify-center min-w-[44px] min-h-[44px] rounded-md text-foreground/80 hover:bg-accent/60 disabled:opacity-40 disabled:cursor-not-allowed active:scale-95 transition-transform";
15859
15871
  return /* @__PURE__ */ jsxs(
@@ -15874,32 +15886,30 @@ function MobileToolbar(props) {
15874
15886
  children: /* @__PURE__ */ jsx(LuMenu, { className: "w-5 h-5" })
15875
15887
  }
15876
15888
  ),
15877
- showEdit && /* @__PURE__ */ jsxs(Fragment, { children: [
15878
- /* @__PURE__ */ jsx(
15879
- "button",
15880
- {
15881
- type: "button",
15882
- onClick: onUndo,
15883
- disabled: !canUndo,
15884
- className: btn,
15885
- title: t("pptx.toolbar.undo"),
15886
- "aria-label": t("pptx.toolbar.undo"),
15887
- children: /* @__PURE__ */ jsx(LuUndo, { className: "w-5 h-5" })
15888
- }
15889
- ),
15890
- /* @__PURE__ */ jsx(
15891
- "button",
15892
- {
15893
- type: "button",
15894
- onClick: onRedo,
15895
- disabled: !canRedo,
15896
- className: btn,
15897
- title: t("pptx.toolbar.redo"),
15898
- "aria-label": t("pptx.toolbar.redo"),
15899
- children: /* @__PURE__ */ jsx(LuRedo, { className: "w-5 h-5" })
15900
- }
15901
- )
15902
- ] }),
15889
+ showEdit && !isHidden("undo") && /* @__PURE__ */ jsx(
15890
+ "button",
15891
+ {
15892
+ type: "button",
15893
+ onClick: onUndo,
15894
+ disabled: !canUndo,
15895
+ className: btn,
15896
+ title: t("pptx.toolbar.undo"),
15897
+ "aria-label": t("pptx.toolbar.undo"),
15898
+ children: /* @__PURE__ */ jsx(LuUndo, { className: "w-5 h-5" })
15899
+ }
15900
+ ),
15901
+ showEdit && !isHidden("redo") && /* @__PURE__ */ jsx(
15902
+ "button",
15903
+ {
15904
+ type: "button",
15905
+ onClick: onRedo,
15906
+ disabled: !canRedo,
15907
+ className: btn,
15908
+ title: t("pptx.toolbar.redo"),
15909
+ "aria-label": t("pptx.toolbar.redo"),
15910
+ children: /* @__PURE__ */ jsx(LuRedo, { className: "w-5 h-5" })
15911
+ }
15912
+ ),
15903
15913
  /* @__PURE__ */ jsx("div", { className: "flex-1" }),
15904
15914
  /* @__PURE__ */ jsx(
15905
15915
  "button",
@@ -15912,7 +15922,7 @@ function MobileToolbar(props) {
15912
15922
  children: /* @__PURE__ */ jsx(LuDownload, { className: "w-5 h-5" })
15913
15923
  }
15914
15924
  ),
15915
- /* @__PURE__ */ jsx(
15925
+ !isHidden("fullscreen") && /* @__PURE__ */ jsx(
15916
15926
  "button",
15917
15927
  {
15918
15928
  type: "button",
@@ -15923,7 +15933,7 @@ function MobileToolbar(props) {
15923
15933
  children: /* @__PURE__ */ jsx(LuPresentation, { className: "w-5 h-5" })
15924
15934
  }
15925
15935
  ),
15926
- showEdit && /* @__PURE__ */ jsx(
15936
+ showEdit && !isHidden("share") && /* @__PURE__ */ jsx(
15927
15937
  "button",
15928
15938
  {
15929
15939
  type: "button",
@@ -16285,8 +16295,9 @@ function TabRowActions(p) {
16285
16295
  const { t } = useTranslation();
16286
16296
  const collab = useCollaboration();
16287
16297
  const isCollaborating = collab && collab.status === "connected";
16298
+ const { isHidden } = useToolbarVisibility(p.hiddenActions);
16288
16299
  return /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1 pr-1", children: [
16289
- p.onEnterRehearsalMode && /* @__PURE__ */ jsxs(
16300
+ p.onEnterRehearsalMode && !isHidden("record") && /* @__PURE__ */ jsxs(
16290
16301
  "button",
16291
16302
  {
16292
16303
  type: "button",
@@ -16300,7 +16311,7 @@ function TabRowActions(p) {
16300
16311
  ]
16301
16312
  }
16302
16313
  ),
16303
- /* @__PURE__ */ jsxs(
16314
+ !isHidden("share") && /* @__PURE__ */ jsxs(
16304
16315
  "button",
16305
16316
  {
16306
16317
  type: "button",
@@ -16792,6 +16803,7 @@ function ToolbarPrimaryRow(p) {
16792
16803
  function Toolbar(p) {
16793
16804
  const { mode, isNarrowViewport, isCompactToolbarOpen, toolbarSection, onSetToolbarSection } = p;
16794
16805
  const { t } = useTranslation();
16806
+ const { isTabVisible } = useToolbarVisibility(p.hiddenActions);
16795
16807
  if (isNarrowViewport && mode !== "present") {
16796
16808
  return /* @__PURE__ */ jsx(MobileToolbar, { ...p });
16797
16809
  }
@@ -16824,7 +16836,7 @@ function Toolbar(p) {
16824
16836
  role: "tablist",
16825
16837
  className: "flex items-center border-b border-border/60 px-1 max-md:overflow-x-auto max-md:scrollbar-none",
16826
16838
  children: [
16827
- TOOLBAR_SECTIONS.map((s) => /* @__PURE__ */ jsx(
16839
+ TOOLBAR_SECTIONS.filter((s) => isTabVisible(s.id)).map((s) => /* @__PURE__ */ jsx(
16828
16840
  "button",
16829
16841
  {
16830
16842
  type: "button",
@@ -16845,7 +16857,8 @@ function Toolbar(p) {
16845
16857
  {
16846
16858
  onEnterRehearsalMode: p.canEdit ? p.onEnterRehearsalMode : void 0,
16847
16859
  onOpenShareDialog: p.onOpenShareDialog,
16848
- onPackageForSharing: p.onPackageForSharing
16860
+ onPackageForSharing: p.onPackageForSharing,
16861
+ hiddenActions: p.hiddenActions
16849
16862
  }
16850
16863
  ),
16851
16864
  isNarrowViewport && /* @__PURE__ */ jsx(
@@ -16898,7 +16911,8 @@ function Toolbar(p) {
16898
16911
  onOpenDocumentProperties: p.onOpenDocumentProperties,
16899
16912
  onOpenPasswordProtection: p.onOpenPasswordProtection,
16900
16913
  onOpenFontEmbedding: p.onOpenFontEmbedding,
16901
- onOpenDigitalSignatures: p.onOpenDigitalSignatures
16914
+ onOpenDigitalSignatures: p.onOpenDigitalSignatures,
16915
+ hiddenActions: p.hiddenActions
16902
16916
  }
16903
16917
  ),
16904
16918
  sHome && /* @__PURE__ */ jsx(
@@ -17040,7 +17054,8 @@ function Toolbar(p) {
17040
17054
  onToggleSubtitles: p.onToggleSubtitles ?? (() => {
17041
17055
  }),
17042
17056
  showSubtitles: p.showSubtitles ?? false,
17043
- onSetMode: p.onSetMode
17057
+ onSetMode: p.onSetMode,
17058
+ hiddenActions: p.hiddenActions
17044
17059
  }
17045
17060
  ),
17046
17061
  sRec && /* @__PURE__ */ jsx(
@@ -24926,7 +24941,8 @@ function PresentationTouchControls({
24926
24941
  currentSlideIndex,
24927
24942
  totalSlides,
24928
24943
  onMovePresentationSlide,
24929
- onEndPresentation
24944
+ onEndPresentation,
24945
+ hideNavigation = false
24930
24946
  }) {
24931
24947
  const { t } = useTranslation();
24932
24948
  const { isTouchDevice } = useIsMobile();
@@ -24956,42 +24972,44 @@ function PresentationTouchControls({
24956
24972
  children: /* @__PURE__ */ jsx(LuX, { size: 22 })
24957
24973
  }
24958
24974
  ),
24959
- /* @__PURE__ */ jsx(
24960
- "button",
24961
- {
24962
- type: "button",
24963
- className: `fixed z-[90] top-1/2 -translate-y-1/2 ${btnClass} disabled:opacity-30`,
24964
- style: {
24965
- left: "calc(env(safe-area-inset-left, 0px) + 0.5rem)",
24966
- touchAction: "manipulation"
24967
- },
24968
- disabled: currentSlideIndex <= 0,
24969
- onClick: (e) => {
24970
- stop(e);
24971
- onMovePresentationSlide(-1);
24972
- },
24973
- "aria-label": t("pptx.presenter.previousSlide"),
24974
- children: /* @__PURE__ */ jsx(LuChevronLeft, { size: 26 })
24975
- }
24976
- ),
24977
- /* @__PURE__ */ jsx(
24978
- "button",
24979
- {
24980
- type: "button",
24981
- className: `fixed z-[90] top-1/2 -translate-y-1/2 ${btnClass} disabled:opacity-30`,
24982
- style: {
24983
- right: "calc(env(safe-area-inset-right, 0px) + 0.5rem)",
24984
- touchAction: "manipulation"
24985
- },
24986
- disabled: currentSlideIndex >= totalSlides - 1,
24987
- onClick: (e) => {
24988
- stop(e);
24989
- onMovePresentationSlide(1);
24990
- },
24991
- "aria-label": t("pptx.presenter.nextSlide"),
24992
- children: /* @__PURE__ */ jsx(LuChevronRight, { size: 26 })
24993
- }
24994
- ),
24975
+ !hideNavigation && /* @__PURE__ */ jsxs(Fragment, { children: [
24976
+ /* @__PURE__ */ jsx(
24977
+ "button",
24978
+ {
24979
+ type: "button",
24980
+ className: `fixed z-[90] top-1/2 -translate-y-1/2 ${btnClass} disabled:opacity-30`,
24981
+ style: {
24982
+ left: "calc(env(safe-area-inset-left, 0px) + 0.5rem)",
24983
+ touchAction: "manipulation"
24984
+ },
24985
+ disabled: currentSlideIndex <= 0,
24986
+ onClick: (e) => {
24987
+ stop(e);
24988
+ onMovePresentationSlide(-1);
24989
+ },
24990
+ "aria-label": t("pptx.presenter.previousSlide"),
24991
+ children: /* @__PURE__ */ jsx(LuChevronLeft, { size: 26 })
24992
+ }
24993
+ ),
24994
+ /* @__PURE__ */ jsx(
24995
+ "button",
24996
+ {
24997
+ type: "button",
24998
+ className: `fixed z-[90] top-1/2 -translate-y-1/2 ${btnClass} disabled:opacity-30`,
24999
+ style: {
25000
+ right: "calc(env(safe-area-inset-right, 0px) + 0.5rem)",
25001
+ touchAction: "manipulation"
25002
+ },
25003
+ disabled: currentSlideIndex >= totalSlides - 1,
25004
+ onClick: (e) => {
25005
+ stop(e);
25006
+ onMovePresentationSlide(1);
25007
+ },
25008
+ "aria-label": t("pptx.presenter.nextSlide"),
25009
+ children: /* @__PURE__ */ jsx(LuChevronRight, { size: 26 })
25010
+ }
25011
+ )
25012
+ ] }),
24995
25013
  /* @__PURE__ */ jsx(
24996
25014
  "span",
24997
25015
  {
@@ -28699,8 +28717,10 @@ function ViewerBottomPanels({
28699
28717
  mode,
28700
28718
  onSetMode,
28701
28719
  onToggleSlideSorter,
28702
- hideStatusBar = false
28720
+ hideStatusBar = false,
28721
+ hiddenActions
28703
28722
  }) {
28723
+ const { isHidden } = useToolbarVisibility(hiddenActions);
28704
28724
  return /* @__PURE__ */ jsxs(Fragment, { children: [
28705
28725
  onResizeBottom && !isSlideNotesCollapsed && /* @__PURE__ */ jsx(ResizeHandle, { direction: "vertical", onResize: onResizeBottom }),
28706
28726
  /* @__PURE__ */ jsx(
@@ -28731,7 +28751,10 @@ function ViewerBottomPanels({
28731
28751
  mode,
28732
28752
  onSetMode,
28733
28753
  onToggleSlideSorter,
28734
- collaborationSlot
28754
+ collaborationSlot,
28755
+ hideZoomControls: isHidden("zoom"),
28756
+ hideNotesToggle: isHidden("notes"),
28757
+ hideFullscreenToggle: isHidden("fullscreen")
28735
28758
  }
28736
28759
  )
28737
28760
  ] });
@@ -28916,6 +28939,7 @@ function scopeLayoutOptionsToActiveSlide(options, activeSlide) {
28916
28939
  function TitleBar(p) {
28917
28940
  const { t } = useTranslation();
28918
28941
  const editing = (p.mode === "edit" || p.mode === "master") && p.canEdit;
28942
+ const { isHidden } = useToolbarVisibility(p.hiddenActions);
28919
28943
  const [searchQuery, setSearchQuery] = useState("");
28920
28944
  const [searchFocused, setSearchFocused] = useState(false);
28921
28945
  const searchRef = useRef(null);
@@ -29002,7 +29026,7 @@ function TitleBar(p) {
29002
29026
  children: /* @__PURE__ */ jsx(LuSave, { className: "w-3.5 h-3.5" })
29003
29027
  }
29004
29028
  ),
29005
- /* @__PURE__ */ jsx(
29029
+ !isHidden("undo") && /* @__PURE__ */ jsx(
29006
29030
  "button",
29007
29031
  {
29008
29032
  type: "button",
@@ -29014,7 +29038,7 @@ function TitleBar(p) {
29014
29038
  children: /* @__PURE__ */ jsx(LuUndo, { className: "w-3.5 h-3.5" })
29015
29039
  }
29016
29040
  ),
29017
- /* @__PURE__ */ jsx(
29041
+ !isHidden("redo") && /* @__PURE__ */ jsx(
29018
29042
  "button",
29019
29043
  {
29020
29044
  type: "button",
@@ -29144,7 +29168,8 @@ function ViewerToolbarSection(props) {
29144
29168
  fileName,
29145
29169
  autosaveStatus,
29146
29170
  autosaveEnabled = true,
29147
- onToggleAutosave
29171
+ onToggleAutosave,
29172
+ hiddenActions
29148
29173
  } = props;
29149
29174
  const handleAddAnimation = useCallback(
29150
29175
  (preset, group) => {
@@ -29351,7 +29376,8 @@ function ViewerToolbarSection(props) {
29351
29376
  onSave: exportHandlers.handleSaveAsPptx,
29352
29377
  findReplaceOpen: findReplace.findReplaceOpen,
29353
29378
  onToggleFindReplace: () => findReplace.setFindReplaceOpen(!findReplace.findReplaceOpen),
29354
- onCommandSearch: handleCommandSearch
29379
+ onCommandSearch: handleCommandSearch,
29380
+ hiddenActions
29355
29381
  }
29356
29382
  ),
29357
29383
  /* @__PURE__ */ jsx(
@@ -29360,6 +29386,7 @@ function ViewerToolbarSection(props) {
29360
29386
  fileName,
29361
29387
  mode,
29362
29388
  canEdit,
29389
+ hiddenActions,
29363
29390
  isNarrowViewport: dialogs.isNarrowViewport,
29364
29391
  isSidebarCollapsed: !s.isSlidesPaneOpen,
29365
29392
  isInspectorPaneOpen: s.isInspectorPaneOpen,
@@ -30315,9 +30342,11 @@ function ViewerCanvasArea(props) {
30315
30342
  annotations,
30316
30343
  presentation,
30317
30344
  onEndPresentation,
30318
- findReplace
30345
+ findReplace,
30346
+ hiddenActions
30319
30347
  } = props;
30320
30348
  const { t } = useTranslation();
30349
+ const { isHidden } = useToolbarVisibility(hiddenActions);
30321
30350
  const effectiveSlide = mode === "master" ? masterPseudoSlide : activeSlide;
30322
30351
  const effectiveTemplateElements = mode === "master" ? s.activeLayout ? s.activeMaster?.elements ?? [] : [] : templateElements;
30323
30352
  const fieldContext = useMemo(() => {
@@ -30593,7 +30622,8 @@ function ViewerCanvasArea(props) {
30593
30622
  totalSlides: slides.length,
30594
30623
  onMovePresentationSlide: presentation.movePresentationSlide,
30595
30624
  onEndPresentation: onEndPresentation ?? (() => {
30596
- })
30625
+ }),
30626
+ hideNavigation: isHidden("navigation")
30597
30627
  }
30598
30628
  ),
30599
30629
  mode === "present" && /* @__PURE__ */ jsx(
@@ -31783,7 +31813,8 @@ function ViewerMainContent(props) {
31783
31813
  leftPanelWidth,
31784
31814
  onResizeLeft,
31785
31815
  rightPanelWidth,
31786
- onResizeRight
31816
+ onResizeRight,
31817
+ hiddenActions
31787
31818
  } = props;
31788
31819
  const {
31789
31820
  ops,
@@ -31878,7 +31909,8 @@ function ViewerMainContent(props) {
31878
31909
  annotations,
31879
31910
  presentation,
31880
31911
  onEndPresentation,
31881
- findReplace
31912
+ findReplace,
31913
+ hiddenActions
31882
31914
  }
31883
31915
  ),
31884
31916
  state.contextMenuState && /* @__PURE__ */ jsx(
@@ -32454,7 +32486,8 @@ var PowerPointViewer = forwardRef(
32454
32486
  onStartCollaboration,
32455
32487
  onStopCollaboration,
32456
32488
  shareDefaults,
32457
- smartArt3D = false
32489
+ smartArt3D = false,
32490
+ hiddenActions
32458
32491
  } = props;
32459
32492
  useEffect(() => {
32460
32493
  const css = buildUserFontFaceStyles(fonts);
@@ -32750,7 +32783,8 @@ var PowerPointViewer = forwardRef(
32750
32783
  fileName,
32751
32784
  autosaveStatus,
32752
32785
  autosaveEnabled,
32753
- onToggleAutosave: () => setAutosaveEnabled((p) => !p)
32786
+ onToggleAutosave: () => setAutosaveEnabled((p) => !p),
32787
+ hiddenActions
32754
32788
  }
32755
32789
  ),
32756
32790
  /* @__PURE__ */ jsx(
@@ -32784,7 +32818,8 @@ var PowerPointViewer = forwardRef(
32784
32818
  leftPanelWidth: isMobile ? void 0 : resizablePanels.leftWidth,
32785
32819
  onResizeLeft: isMobile ? void 0 : resizablePanels.onResizeLeft,
32786
32820
  rightPanelWidth: isMobile ? void 0 : resizablePanels.rightWidth,
32787
- onResizeRight: isMobile ? void 0 : resizablePanels.onResizeRight
32821
+ onResizeRight: isMobile ? void 0 : resizablePanels.onResizeRight,
32822
+ hiddenActions
32788
32823
  }
32789
32824
  ),
32790
32825
  mode !== "present" && (!isVirtualKeyboardOpen || !state.isSlideNotesCollapsed) && /* @__PURE__ */ jsx(
@@ -32810,7 +32845,8 @@ var PowerPointViewer = forwardRef(
32810
32845
  mode,
32811
32846
  onSetMode: handleSetMode,
32812
32847
  onToggleSlideSorter: () => state.setShowSlideSorter((p) => !p),
32813
- hideStatusBar: isMobile
32848
+ hideStatusBar: isMobile,
32849
+ hiddenActions
32814
32850
  }
32815
32851
  ),
32816
32852
  mode !== "present" && isMobile && /* @__PURE__ */ jsx(
Binary file
Binary file