pptx-react-viewer 3.16.6 → 3.17.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 (152) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/README.md +25 -3
  3. package/dist/{AiChatPanel-6IBPORZC.mjs → AiChatPanel-4LKH44IE.mjs} +3 -3
  4. package/dist/AiChatPanel-4LKH44IE.mjs.br +0 -0
  5. package/dist/AiChatPanel-4LKH44IE.mjs.gz +0 -0
  6. package/dist/{AiChatPanel-WDNBYHX7.js → AiChatPanel-VWVGQ5DD.js} +24 -24
  7. package/dist/AiChatPanel-VWVGQ5DD.js.br +0 -0
  8. package/dist/AiChatPanel-VWVGQ5DD.js.gz +0 -0
  9. package/dist/{Area3DChartScene-MRPRTJWY.js → Area3DChartScene-D7GSJGPQ.js} +2 -2
  10. package/dist/Area3DChartScene-D7GSJGPQ.js.br +0 -0
  11. package/dist/Area3DChartScene-D7GSJGPQ.js.gz +0 -0
  12. package/dist/{Area3DChartScene-EMOWMHHK.mjs → Area3DChartScene-X5SM67PZ.mjs} +1 -1
  13. package/dist/Area3DChartScene-X5SM67PZ.mjs.br +0 -0
  14. package/dist/Area3DChartScene-X5SM67PZ.mjs.gz +0 -0
  15. package/dist/{Bar3DChartScene-J3GJEGDJ.mjs → Bar3DChartScene-HWIFFGI3.mjs} +1 -1
  16. package/dist/{Bar3DChartScene-J3GJEGDJ.mjs.br → Bar3DChartScene-HWIFFGI3.mjs.br} +0 -0
  17. package/dist/Bar3DChartScene-HWIFFGI3.mjs.gz +0 -0
  18. package/dist/{Bar3DChartScene-THALZEYK.js → Bar3DChartScene-M72WQW5Y.js} +2 -2
  19. package/dist/Bar3DChartScene-M72WQW5Y.js.br +0 -0
  20. package/dist/Bar3DChartScene-M72WQW5Y.js.gz +0 -0
  21. package/dist/{Line3DChartScene-Y7MODOK2.mjs → Line3DChartScene-7MPZWVF3.mjs} +1 -1
  22. package/dist/Line3DChartScene-7MPZWVF3.mjs.br +0 -0
  23. package/dist/Line3DChartScene-7MPZWVF3.mjs.gz +0 -0
  24. package/dist/{Line3DChartScene-B26WZNO3.js → Line3DChartScene-YOZEEQZ3.js} +2 -2
  25. package/dist/Line3DChartScene-YOZEEQZ3.js.br +0 -0
  26. package/dist/Line3DChartScene-YOZEEQZ3.js.gz +0 -0
  27. package/dist/{Model3DScene-XM3JN7M6.mjs → Model3DScene-57LVY5QW.mjs} +1 -1
  28. package/dist/Model3DScene-57LVY5QW.mjs.br +0 -0
  29. package/dist/Model3DScene-57LVY5QW.mjs.gz +0 -0
  30. package/dist/{Model3DScene-27GN3D3U.js → Model3DScene-5IJSNGDZ.js} +2 -2
  31. package/dist/Model3DScene-5IJSNGDZ.js.br +0 -0
  32. package/dist/Model3DScene-5IJSNGDZ.js.gz +0 -0
  33. package/dist/{PieChart3DScene-URSRUABE.js → PieChart3DScene-UBI6X66Q.js} +2 -2
  34. package/dist/PieChart3DScene-UBI6X66Q.js.br +0 -0
  35. package/dist/PieChart3DScene-UBI6X66Q.js.gz +0 -0
  36. package/dist/{PieChart3DScene-4GP2B3PY.mjs → PieChart3DScene-WD5B6NP3.mjs} +1 -1
  37. package/dist/{PieChart3DScene-4GP2B3PY.mjs.br → PieChart3DScene-WD5B6NP3.mjs.br} +0 -0
  38. package/dist/PieChart3DScene-WD5B6NP3.mjs.gz +0 -0
  39. package/dist/{PowerPointViewer-Cl6jBPNw.d.ts → PowerPointViewer-Cde_wzd0.d.ts} +2 -2
  40. package/dist/{PowerPointViewer-Cl6jBPNw.d.ts.map → PowerPointViewer-Cde_wzd0.d.ts.map} +1 -1
  41. package/dist/{SurfaceChart3DScene-4OQNB3JY.js → SurfaceChart3DScene-JGNPYQ32.js} +2 -2
  42. package/dist/SurfaceChart3DScene-JGNPYQ32.js.br +0 -0
  43. package/dist/SurfaceChart3DScene-JGNPYQ32.js.gz +0 -0
  44. package/dist/{SurfaceChart3DScene-YJ4EYMWQ.mjs → SurfaceChart3DScene-JZGU6BBD.mjs} +1 -1
  45. package/dist/{SurfaceChart3DScene-YJ4EYMWQ.mjs.br → SurfaceChart3DScene-JZGU6BBD.mjs.br} +0 -0
  46. package/dist/SurfaceChart3DScene-JZGU6BBD.mjs.gz +0 -0
  47. package/dist/{audience-content-store-CB2WVM1K.d.ts → audience-content-store-A8Km8rBo.d.ts} +2 -2
  48. package/dist/{audience-content-store-CB2WVM1K.d.ts.map → audience-content-store-A8Km8rBo.d.ts.map} +1 -1
  49. package/dist/{chunk-U2H7CQ34.mjs → chunk-23PW4Y4R.mjs} +1 -1
  50. package/dist/chunk-23PW4Y4R.mjs.br +0 -0
  51. package/dist/chunk-23PW4Y4R.mjs.gz +0 -0
  52. package/dist/{chunk-TTCWWF47.js → chunk-3UGVURWU.js} +555 -499
  53. package/dist/chunk-3UGVURWU.js.br +0 -0
  54. package/dist/chunk-3UGVURWU.js.gz +0 -0
  55. package/dist/{chunk-VRMITIZZ.js → chunk-4SPZ5IZN.js} +1239 -506
  56. package/dist/chunk-4SPZ5IZN.js.br +0 -0
  57. package/dist/chunk-4SPZ5IZN.js.gz +0 -0
  58. package/dist/{chunk-LTQRC4WB.js → chunk-72LYFUGL.js} +1323 -1310
  59. package/dist/chunk-72LYFUGL.js.br +0 -0
  60. package/dist/chunk-72LYFUGL.js.gz +0 -0
  61. package/dist/{chunk-YUIXPWFT.mjs → chunk-7YJBRPCT.mjs} +9 -5
  62. package/dist/chunk-7YJBRPCT.mjs.br +0 -0
  63. package/dist/chunk-7YJBRPCT.mjs.gz +0 -0
  64. package/dist/{chunk-QLZHTIH6.mjs → chunk-7YOA4HNP.mjs} +106 -50
  65. package/dist/chunk-7YOA4HNP.mjs.br +0 -0
  66. package/dist/chunk-7YOA4HNP.mjs.gz +0 -0
  67. package/dist/{chunk-RWVMSJ7C.mjs → chunk-EDMJYVCS.mjs} +44 -31
  68. package/dist/chunk-EDMJYVCS.mjs.br +0 -0
  69. package/dist/chunk-EDMJYVCS.mjs.gz +0 -0
  70. package/dist/{chunk-C7H7NM2W.js → chunk-KVXB22D3.js} +13 -9
  71. package/dist/chunk-KVXB22D3.js.br +0 -0
  72. package/dist/chunk-KVXB22D3.js.gz +0 -0
  73. package/dist/{chunk-BJL5MJ7A.js → chunk-NJ3WCYYG.js} +169 -169
  74. package/dist/chunk-NJ3WCYYG.js.br +0 -0
  75. package/dist/{chunk-BJL5MJ7A.js.gz → chunk-NJ3WCYYG.js.gz} +0 -0
  76. package/dist/{chunk-PO2PYVHF.mjs → chunk-QTGCOL5H.mjs} +1233 -507
  77. package/dist/chunk-QTGCOL5H.mjs.br +0 -0
  78. package/dist/chunk-QTGCOL5H.mjs.gz +0 -0
  79. package/dist/index.d.ts +33 -3
  80. package/dist/index.js +45 -45
  81. package/dist/index.js.br +0 -0
  82. package/dist/index.js.gz +0 -0
  83. package/dist/index.mjs +5 -5
  84. package/dist/index.mjs.br +0 -0
  85. package/dist/index.mjs.gz +0 -0
  86. package/dist/internals.d.ts +38 -3
  87. package/dist/internals.d.ts.map +1 -1
  88. package/dist/internals.js +78 -78
  89. package/dist/internals.js.br +0 -0
  90. package/dist/internals.js.gz +0 -0
  91. package/dist/internals.mjs +3 -3
  92. package/dist/internals.mjs.br +0 -0
  93. package/dist/internals.mjs.gz +0 -0
  94. package/dist/pptx-viewer.css +1 -1
  95. package/dist/pptx-viewer.css.br +0 -0
  96. package/dist/pptx-viewer.css.gz +0 -0
  97. package/dist/{types-Bzdkiakq.d.ts → types-BqB2ZCwS.d.ts} +3 -3
  98. package/dist/{types-Bzdkiakq.d.ts.map → types-BqB2ZCwS.d.ts.map} +1 -1
  99. package/dist/{useViewerBuildingBlocks-FbK-4ORi.d.ts → useViewerBuildingBlocks-DkUGmlkP.d.ts} +4 -4
  100. package/dist/{useViewerBuildingBlocks-FbK-4ORi.d.ts.map → useViewerBuildingBlocks-DkUGmlkP.d.ts.map} +1 -1
  101. package/dist/viewer/index.d.ts +31 -1
  102. package/dist/viewer/index.js +26 -26
  103. package/dist/viewer/index.js.br +0 -0
  104. package/dist/viewer/index.js.gz +0 -0
  105. package/dist/viewer/index.mjs +5 -5
  106. package/dist/viewer/index.mjs.br +0 -0
  107. package/dist/viewer/index.mjs.gz +0 -0
  108. package/package.json +1 -1
  109. package/dist/AiChatPanel-6IBPORZC.mjs.br +0 -0
  110. package/dist/AiChatPanel-6IBPORZC.mjs.gz +0 -0
  111. package/dist/AiChatPanel-WDNBYHX7.js.br +0 -0
  112. package/dist/AiChatPanel-WDNBYHX7.js.gz +0 -0
  113. package/dist/Area3DChartScene-EMOWMHHK.mjs.br +0 -0
  114. package/dist/Area3DChartScene-EMOWMHHK.mjs.gz +0 -0
  115. package/dist/Area3DChartScene-MRPRTJWY.js.br +0 -0
  116. package/dist/Area3DChartScene-MRPRTJWY.js.gz +0 -0
  117. package/dist/Bar3DChartScene-J3GJEGDJ.mjs.gz +0 -0
  118. package/dist/Bar3DChartScene-THALZEYK.js.br +0 -0
  119. package/dist/Bar3DChartScene-THALZEYK.js.gz +0 -0
  120. package/dist/Line3DChartScene-B26WZNO3.js.br +0 -0
  121. package/dist/Line3DChartScene-B26WZNO3.js.gz +0 -0
  122. package/dist/Line3DChartScene-Y7MODOK2.mjs.br +0 -0
  123. package/dist/Line3DChartScene-Y7MODOK2.mjs.gz +0 -0
  124. package/dist/Model3DScene-27GN3D3U.js.br +0 -0
  125. package/dist/Model3DScene-27GN3D3U.js.gz +0 -0
  126. package/dist/Model3DScene-XM3JN7M6.mjs.br +0 -0
  127. package/dist/Model3DScene-XM3JN7M6.mjs.gz +0 -0
  128. package/dist/PieChart3DScene-4GP2B3PY.mjs.gz +0 -0
  129. package/dist/PieChart3DScene-URSRUABE.js.br +0 -0
  130. package/dist/PieChart3DScene-URSRUABE.js.gz +0 -0
  131. package/dist/SurfaceChart3DScene-4OQNB3JY.js.br +0 -0
  132. package/dist/SurfaceChart3DScene-4OQNB3JY.js.gz +0 -0
  133. package/dist/SurfaceChart3DScene-YJ4EYMWQ.mjs.gz +0 -0
  134. package/dist/chunk-BJL5MJ7A.js.br +0 -0
  135. package/dist/chunk-C7H7NM2W.js.br +0 -0
  136. package/dist/chunk-C7H7NM2W.js.gz +0 -0
  137. package/dist/chunk-LTQRC4WB.js.br +0 -0
  138. package/dist/chunk-LTQRC4WB.js.gz +0 -0
  139. package/dist/chunk-PO2PYVHF.mjs.br +0 -0
  140. package/dist/chunk-PO2PYVHF.mjs.gz +0 -0
  141. package/dist/chunk-QLZHTIH6.mjs.br +0 -0
  142. package/dist/chunk-QLZHTIH6.mjs.gz +0 -0
  143. package/dist/chunk-RWVMSJ7C.mjs.br +0 -0
  144. package/dist/chunk-RWVMSJ7C.mjs.gz +0 -0
  145. package/dist/chunk-TTCWWF47.js.br +0 -0
  146. package/dist/chunk-TTCWWF47.js.gz +0 -0
  147. package/dist/chunk-U2H7CQ34.mjs.br +0 -0
  148. package/dist/chunk-U2H7CQ34.mjs.gz +0 -0
  149. package/dist/chunk-VRMITIZZ.js.br +0 -0
  150. package/dist/chunk-VRMITIZZ.js.gz +0 -0
  151. package/dist/chunk-YUIXPWFT.mjs.br +0 -0
  152. package/dist/chunk-YUIXPWFT.mjs.gz +0 -0
Binary file
Binary file
@@ -1,4 +1,4 @@
1
- import { ThemePresets, PptxMarkdownConverter, hasTextProperties, hasShapeProperties } from './chunk-PO2PYVHF.mjs';
1
+ import { ThemePresets, PptxMarkdownConverter, hasTextProperties, hasShapeProperties } from './chunk-QTGCOL5H.mjs';
2
2
  import { __export } from './chunk-XGB3TDIC.mjs';
3
3
  import * as mcp from 'pptx-viewer-mcp';
4
4
  import * as mcpSchemas from 'pptx-viewer-mcp/schemas';
@@ -20714,6 +20714,13 @@ function deckIdFromBridge(bridge) {
20714
20714
  const title = (meta3.title ?? "deck").trim().toLowerCase().replace(/\s+/gu, "-").slice(0, 60);
20715
20715
  return `${title || "deck"}::${meta3.slideCount}`;
20716
20716
  }
20717
+ function updateTextSegmentStyle(segment, updates, options = {}) {
20718
+ return {
20719
+ ...segment,
20720
+ ...options.updateBodyStyle === false ? {} : { style: { ...segment.style, ...updates } },
20721
+ ...segment.paragraphInsertionStyle ? { paragraphInsertionStyle: { ...segment.paragraphInsertionStyle, ...updates } } : {}
20722
+ };
20723
+ }
20717
20724
  function applyElementUpdate(el, u) {
20718
20725
  if (u.x !== void 0) {
20719
20726
  el.x = u.x;
@@ -20785,10 +20792,7 @@ function applyTextUpdate(el, u) {
20785
20792
  }
20786
20793
  textEl.textStyle = { ...textEl.textStyle, ...textStyle };
20787
20794
  if (textEl.textSegments) {
20788
- textEl.textSegments = textEl.textSegments.map((seg) => ({
20789
- ...seg,
20790
- style: { ...seg.style, ...textStyle }
20791
- }));
20795
+ textEl.textSegments = textEl.textSegments.map((seg) => updateTextSegmentStyle(seg, textStyle));
20792
20796
  }
20793
20797
  }
20794
20798
  function applyShapeStyleUpdate(el, u) {
Binary file
Binary file
@@ -1,5 +1,5 @@
1
- import { cloneHistorySnapshot, MIN_ELEMENT_SIZE, ZOOM_TO_SELECTION_PADDING, DEFAULT_CANVAS_HEIGHT, DEFAULT_CANVAS_WIDTH, UNGROUPED_SECTION_ID, DEFAULT_SECTION_GROUP_ID, DEFAULT_TABLE_ROWS, DEFAULT_TABLE_COLUMNS, buildPdfFromTiledImageData, buildNotesPdf, GRID_SIZE, DEFAULT_TEXT_FONT_SIZE } from './chunk-U2H7CQ34.mjs';
2
- import { GlyphOutlineFontCache, createGlyphOutlineLookup, DEFAULT_VIEWER_OPTIONS, TOOLBAR_TABS, MIN_TOUCH_TARGET_PX, computeVirtualRange, DEFAULT_VIRTUAL_OVERSCAN, createPresenceProjector, BROADCAST_THROTTLE_MS, createSyncGate, clearLocalAwareness, validateRoomId, createDepartureChannel, resolveTransportForServerUrl, isMixedContentBlocked, CONNECTION_TIMEOUT_MS, registerCollaborationTeardown, sanitizeColor, cloneTemplateElementsBySlideId, cloneSlide, createWheelStepBuffer, createViewerZoomStore, clampZoomScale, mapEditingWheel, createActiveAnimationGroup, cancelBuildReveal, clearPlaybackTimers, PresentationAnimationController, resolveMediaTimeNodeElementIds, advanceMainSequence, playGroup, 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, createPresenterShowGuard, firstShowSlideIndex, attachPresentationVisibilityPause, presentationEntrySlideIndex, buildMorphTransitionPlan, morphOptionToMode, buildMorphAnimationRules, findInSlides, applyFindReplacements, visibleTemplateElements, createCollaborationLivePatcher, publishLiveInlineText, PptxHandler, createPresentationLoadResources, collectMediaElements, resolveMediaElementSource, collectImagePaths, applyImagePathPatches, resolveTableCellImageUrls, resolveTableStyleImageUrls, partitionTemplateElements, seedRecentColors, resolveAuthoredCustomShowId, buildInitialGuides, readOnlyRecommendation, compatibilityWarningToasts, EncryptedFileError, resolveAutosaveIntervalMs, shouldWriteAutosaveSnapshot, saveAutosaveSnapshot, autosaveSnapshotMark, hasTextProperties, remapTextToSegments, updateMasterViewElement, isTemplateElementId, updateElement, hasShapeProperties, getInlineEditorSelection, applyStyleToSelectedSegments, setPendingSelectionRestore, applyCaseTransformToSegments, transformTextCase, masterViewElements, replaceMasterViewElements, addSection, renameSection, deleteSection, moveSectionUp, moveSectionDown, moveSlidesToSection, canInteractWithElement, normalizeColorsForCapture, preprocessCssForCapture, slideProgressPercent, slideStatusLabel, EXPORT_ASSEMBLING_PERCENT, EXPORT_DONE_PERCENT, isExportAbortError, resolveImageResolutionScale, applyThemeToData, THEME_PRESETS, themeColorSchemesEqual, comparePresentation, applyAcceptSlide, applyAcceptAllSlides, collectUsedFonts, describeFontEmbedding, isMobileViewport, resolveAuthoredSlideRange, mayLeaveSlideShow, stopAllPersistentAudio, guidePxToEmu, buildSaveSlides, buildDeckSaveOptions, resolveSlideSizeSelection, saveDeckWithPassword, shouldProbeAutosaveRecovery, probeAutosaveRecovery, acceptAutosaveRecovery, discardAutosaveRecovery, shouldLoopContinuously, applyRehearsalTimings, copyFormatFromElement, applyFormatToElement, collectReferencedFontFamilies, resolveGoogleWebfontHref, selectGoogleWebfontFamilies, fetchGoogleWebfontOutlineBytes, mapSlideShowStartKey, mapEditorKey, isEditorTextInputTarget, createViewerOptionsStore, readSlidesFromYDoc, shouldRoomSlidesReplaceLoad, reconcileSlidesInYDoc, LOCAL_SYNC_ORIGIN, observeYDocSlides, shouldAutoFollowBroadcaster, detectTouchDevice, detectOrientation, deriveViewportBreakpoints, createTouchGestureRecognizer, MAX_ZOOM_SCALE, MIN_ZOOM_SCALE, isKeyboardOpen, scopeLayoutOptionsToSlide, checkModifyPassword, viewerPreferencesFromViewProperties, DEFAULT_VIEWER_PREFERENCES, viewPropertiesPatchFromPreferences, openPptxFile, readBackstageRecentFile, isActionHidden, buildInlineTextCommitPatch, resolveInlineEditAutoFitHeight, resolveInlineEditNormAutofitShrink, filterInteractableIds, beginShapeAdjustment, buildElementClipboardPayload, savedPresentationFileName, downloadBlob, exportDeckJson, groupElements, generateElementId, makeCloneId, ungroupElements, alignElements, distributeElements, bringForward, sendBackward, bringToFront, sendToBack, newTableElement, createDefaultChartElement, readViewportMetrics, computeKeyboardInset, mergeShapes, mapPresentationKey, lastShowSlideIndex, mapPresentationWheel, openPendingPrintWindow, computeColorFilter, filterHiddenSlideIndices, computeSlideIndices, buildPrintDocument, finishPrintWindow, buildPrintHtmlDocument, buildOutlineHtml, buildSlidesHtml, buildNotesHtml, buildHandoutsHtml, createBlankSlide, makeSlideId, buildSlideTemplateSlide, templateSchemeFromTheme, buildThemeColorMap, reResolveSlideColors, reResolveElementColors, scheduleAutoAdvanceChain, computeEntranceAnimationDelay, createPresentationSessionId, resolveTransitionDurationMs, resolveTransitionSoundAction, runPresentationAction, safeOpenUrl, buildRunProgramNotice, toggleStageElementMedia, resolveOleVerbTarget, downloadDataUrl, openUrlInNewTab, createPresenterTimer, createInitialPresentationSnapshot, mergePresentationSnapshot, resetPresenterTimer, presenterElapsed, stepPresenterZoom, togglePresenterTimer, addCommentToList, removeCommentFromList, editCommentInList, toggleCommentResolvedInList, resolveExportCaptureDecision, recordProgressPercent, computeGridSpacingPx, resolveShowSlideIndexes, groupSlidesBySection, masterViewPseudoSlide, resolveHistoryDepth, hasCopyableFormat, createBackstagePresentation, buildFieldSubstitutionContext, cloneElementForPaste, computeScrollDelta, getPresetShapeClipPath, svgPathToPolygons, polygonsToSvgPath, rerouteConnectorsForMovedElements, applyReroutedConnectors, SvgExporter, replyToCommentInList, removeTableElementColumn, insertTableElementColumn, removeTableElementRow, insertTableElementRow, updateCellTextStyleInRawXml, setCellText, updateCellTextInRawXml, splitCell, updateMergeAttrsInRawXml, mergeCells, pickSupportedMimeType, WEBM_MIME_CANDIDATES, fpsToFrameIntervalMs, segmentFrameCount, GIF_POST_CAPTURE_MAX_SIDE, encodeGif, rasterResultToPngBlob, rasterizeElementTiles, placeTileOnPage, PDF_SLIDES_PAGE_WIDTH_PT, PDF_SLIDES_PAGE_HEIGHT_PT, canvasToJpegData, rasterizeElementTiledToCanvas, isPpactionUrl, parsePpactionUrl, resolvePresentationAction, ACTION_BUTTON_PRESETS, elementActionToPptxAction, isUrlSafe, buildSmartArtPresetData, classifyMediaType, computeSnapToShape, publishLiveGeometry, getDraggedShapeAdjustments, computeMarqueeHitIds, mergeAdditiveSelection, clampGifDimensions, rasterizeElement, shouldConfirmExternalHyperlink, applyResize, lockResizeAspect, snapBoxToGrid, applyMotionPathPreset } from './chunk-PO2PYVHF.mjs';
1
+ import { cloneHistorySnapshot, MIN_ELEMENT_SIZE, ZOOM_TO_SELECTION_PADDING, DEFAULT_CANVAS_HEIGHT, DEFAULT_CANVAS_WIDTH, UNGROUPED_SECTION_ID, DEFAULT_SECTION_GROUP_ID, DEFAULT_TEXT_FONT_SIZE, DEFAULT_TABLE_ROWS, DEFAULT_TABLE_COLUMNS, buildPdfFromTiledImageData, buildNotesPdf, GRID_SIZE } from './chunk-23PW4Y4R.mjs';
2
+ import { GlyphOutlineFontCache, createGlyphOutlineLookup, DEFAULT_VIEWER_OPTIONS, TOOLBAR_TABS, MIN_TOUCH_TARGET_PX, computeVirtualRange, DEFAULT_VIRTUAL_OVERSCAN, createPresenceProjector, BROADCAST_THROTTLE_MS, createSyncGate, clearLocalAwareness, validateRoomId, createDepartureChannel, resolveTransportForServerUrl, isMixedContentBlocked, CONNECTION_TIMEOUT_MS, registerCollaborationTeardown, sanitizeColor, cloneTemplateElementsBySlideId, cloneSlide, createWheelStepBuffer, createViewerZoomStore, clampZoomScale, mapEditingWheel, createActiveAnimationGroup, cancelBuildReveal, clearPlaybackTimers, PresentationAnimationController, resolveMediaTimeNodeElementIds, advanceMainSequence, playGroup, 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, createPresenterShowGuard, firstShowSlideIndex, attachPresentationVisibilityPause, presentationEntrySlideIndex, buildMorphTransitionPlan, morphOptionToMode, buildMorphAnimationRules, findInSlides, applyFindReplacements, visibleTemplateElements, createCollaborationLivePatcher, publishLiveInlineText, PptxHandler, createPresentationLoadResources, collectMediaElements, resolveMediaElementSource, collectImagePaths, applyImagePathPatches, resolveTableCellImageUrls, resolveTableStyleImageUrls, partitionTemplateElements, seedRecentColors, resolveAuthoredCustomShowId, buildInitialGuides, readOnlyRecommendation, compatibilityWarningToasts, EncryptedFileError, resolveAutosaveIntervalMs, shouldWriteAutosaveSnapshot, saveAutosaveSnapshot, autosaveSnapshotMark, hasTextProperties, remapTextToSegments, updateMasterViewElement, isTemplateElementId, updateElement, hasShapeProperties, getInlineEditorSelection, applyListStyleUpdate, setPendingSelectionRestore, applyStyleToSelectedSegments, updateTextSegmentStyle, applyCaseTransformToSegments, transformTextCase, masterViewElements, replaceMasterViewElements, addSection, renameSection, deleteSection, moveSectionUp, moveSectionDown, moveSlidesToSection, canInteractWithElement, normalizeColorsForCapture, preprocessCssForCapture, slideProgressPercent, slideStatusLabel, EXPORT_ASSEMBLING_PERCENT, EXPORT_DONE_PERCENT, isExportAbortError, resolveImageResolutionScale, applyThemeToData, THEME_PRESETS, themeColorSchemesEqual, comparePresentation, applyAcceptSlide, applyAcceptAllSlides, collectUsedFonts, describeFontEmbedding, isMobileViewport, resolveAuthoredSlideRange, mayLeaveSlideShow, stopAllPersistentAudio, guidePxToEmu, buildSaveSlides, buildDeckSaveOptions, resolveSlideSizeSelection, saveDeckWithPassword, shouldProbeAutosaveRecovery, probeAutosaveRecovery, acceptAutosaveRecovery, discardAutosaveRecovery, shouldLoopContinuously, applyRehearsalTimings, copyFormatFromElement, applyFormatToElement, collectReferencedFontFamilies, resolveGoogleWebfontHref, selectGoogleWebfontFamilies, fetchGoogleWebfontOutlineBytes, mapSlideShowStartKey, mapEditorKey, isEditorTextInputTarget, prepareElementForInsertion, createViewerOptionsStore, readSlidesFromYDoc, shouldRoomSlidesReplaceLoad, reconcileSlidesInYDoc, LOCAL_SYNC_ORIGIN, observeYDocSlides, shouldAutoFollowBroadcaster, detectTouchDevice, detectOrientation, deriveViewportBreakpoints, createTouchGestureRecognizer, MAX_ZOOM_SCALE, MIN_ZOOM_SCALE, isKeyboardOpen, scopeLayoutOptionsToSlide, checkModifyPassword, viewerPreferencesFromViewProperties, DEFAULT_VIEWER_PREFERENCES, viewPropertiesPatchFromPreferences, openPptxFile, readBackstageRecentFile, isActionHidden, buildInlineTextCommitPatch, resolveInlineEditAutoFitHeight, resolveInlineEditNormAutofitShrink, filterInteractableIds, beginShapeAdjustment, buildElementClipboardPayload, savedPresentationFileName, downloadBlob, exportDeckJson, groupElements, generateElementId, makeCloneId, ungroupElements, alignElements, distributeElements, bringForward, sendBackward, bringToFront, sendToBack, newTableElement, createDefaultChartElement, readViewportMetrics, computeKeyboardInset, mergeShapes, mapPresentationKey, lastShowSlideIndex, mapPresentationWheel, openPendingPrintWindow, computeColorFilter, filterHiddenSlideIndices, computeSlideIndices, buildPrintDocument, finishPrintWindow, buildPrintHtmlDocument, buildOutlineHtml, buildSlidesHtml, buildNotesHtml, buildHandoutsHtml, createBlankSlide, makeSlideId, buildSlideTemplateSlide, templateSchemeFromTheme, buildThemeColorMap, reResolveSlideColors, reResolveElementColors, resolveViewportFitOptions, calculateViewportFit, scheduleAutoAdvanceChain, computeEntranceAnimationDelay, createPresentationSessionId, resolveTransitionDurationMs, resolveTransitionSoundAction, runPresentationAction, safeOpenUrl, buildRunProgramNotice, toggleStageElementMedia, resolveOleVerbTarget, downloadDataUrl, openUrlInNewTab, createPresenterTimer, createInitialPresentationSnapshot, mergePresentationSnapshot, resetPresenterTimer, presenterElapsed, stepPresenterZoom, togglePresenterTimer, addCommentToList, removeCommentFromList, editCommentInList, toggleCommentResolvedInList, resolveExportCaptureDecision, recordProgressPercent, computeGridSpacingPx, resolveShowSlideIndexes, groupSlidesBySection, masterViewPseudoSlide, resolveHistoryDepth, hasCopyableFormat, createBackstagePresentation, buildFieldSubstitutionContext, cloneElementForPaste, computeScrollDelta, getPresetShapeClipPath, svgPathToPolygons, polygonsToSvgPath, rerouteConnectorsForMovedElements, applyReroutedConnectors, SvgExporter, replyToCommentInList, removeTableElementColumn, insertTableElementColumn, removeTableElementRow, insertTableElementRow, updateCellTextStyleInRawXml, setCellText, updateCellTextInRawXml, splitCell, updateMergeAttrsInRawXml, mergeCells, pickSupportedMimeType, WEBM_MIME_CANDIDATES, fpsToFrameIntervalMs, segmentFrameCount, GIF_POST_CAPTURE_MAX_SIDE, encodeGif, rasterResultToPngBlob, rasterizeElementTiles, placeTileOnPage, PDF_SLIDES_PAGE_WIDTH_PT, PDF_SLIDES_PAGE_HEIGHT_PT, canvasToJpegData, rasterizeElementTiledToCanvas, isPpactionUrl, parsePpactionUrl, resolvePresentationAction, ACTION_BUTTON_PRESETS, elementActionToPptxAction, isUrlSafe, buildSmartArtPresetData, classifyMediaType, computeSnapToShape, publishLiveGeometry, getDraggedShapeAdjustments, computeMarqueeHitIds, mergeAdditiveSelection, clampGifDimensions, rasterizeElement, shouldConfirmExternalHyperlink, applyResize, lockResizeAspect, snapBoxToGrid, applyMotionPathPreset } from './chunk-QTGCOL5H.mjs';
3
3
  import { translationsEn } from './chunk-HMX3MQR7.mjs';
4
4
  import { createContext, useRef, useState, useEffect, useCallback, useMemo, useLayoutEffect, useContext, useImperativeHandle, useSyncExternalStore } from 'react';
5
5
  import { useTranslation } from 'react-i18next';
@@ -730,12 +730,60 @@ function useViewerStore(store, selector, isEqual = Object.is) {
730
730
  );
731
731
  return useSyncExternalStore(subscribe2, getSnapshot2, getSnapshot2);
732
732
  }
733
+ var DEFAULT_FIT = { fitPadding: { horizontal: 4, vertical: 16 }, maxFitScale: 1 };
734
+ function useViewportFit(canvasSize, viewportRef, options) {
735
+ const [editorDimensions, setEditorDimensions] = useState(null);
736
+ const { fitPadding, maxFitScale } = resolveViewportFitOptions(options, DEFAULT_FIT);
737
+ const { horizontal, vertical } = fitPadding;
738
+ const effectiveEditorDimensions = editorDimensions ?? canvasSize;
739
+ const { scale: fitScale } = calculateViewportFit({
740
+ viewportWidth: effectiveEditorDimensions.width,
741
+ viewportHeight: effectiveEditorDimensions.height,
742
+ canvasWidth: canvasSize.width,
743
+ canvasHeight: canvasSize.height,
744
+ maxFitScale
745
+ });
746
+ useEffect(() => {
747
+ let observer = null;
748
+ let raf = 0;
749
+ const measure = (element) => {
750
+ const { availableWidth: width, availableHeight: height } = calculateViewportFit({
751
+ viewportWidth: element.clientWidth,
752
+ viewportHeight: element.clientHeight,
753
+ canvasWidth: canvasSize.width,
754
+ canvasHeight: canvasSize.height,
755
+ fitPadding: { horizontal, vertical }
756
+ });
757
+ if (width > 0 && height > 0) {
758
+ setEditorDimensions({ width, height });
759
+ }
760
+ };
761
+ const attach = () => {
762
+ const element = viewportRef.current;
763
+ if (!element) {
764
+ raf = requestAnimationFrame(attach);
765
+ return;
766
+ }
767
+ observer = new ResizeObserver(() => measure(element));
768
+ observer.observe(element);
769
+ measure(element);
770
+ };
771
+ attach();
772
+ return () => {
773
+ cancelAnimationFrame(raf);
774
+ observer?.disconnect();
775
+ };
776
+ }, [viewportRef, canvasSize.width, canvasSize.height, horizontal, vertical]);
777
+ return { editorDimensions, setEditorDimensions, effectiveEditorDimensions, fitScale };
778
+ }
733
779
 
734
780
  // src/viewer/hooks/useZoomViewport.ts
735
781
  var selectZoom = (state) => state.zoom;
736
782
  function useZoomViewport({
737
783
  canvasSize,
738
- selectedElements
784
+ selectedElements,
785
+ fitPadding,
786
+ maxFitScale
739
787
  }) {
740
788
  const editWrapperRef = useRef(null);
741
789
  const canvasStageRef = useRef(null);
@@ -750,19 +798,7 @@ function useZoomViewport({
750
798
  (next) => store.dispatch({ type: "set-zoom", zoom: next }),
751
799
  [store]
752
800
  );
753
- const [editorDimensions, setEditorDimensions] = useState(null);
754
- const effectiveEditorDimensions = editorDimensions || {
755
- width: canvasSize.width,
756
- height: canvasSize.height
757
- };
758
- const fitScale = useMemo(() => {
759
- if (!effectiveEditorDimensions.width || !effectiveEditorDimensions.height) {
760
- return 1;
761
- }
762
- const widthScale = effectiveEditorDimensions.width / canvasSize.width;
763
- const heightScale = effectiveEditorDimensions.height / canvasSize.height;
764
- return Math.min(widthScale, heightScale, 1);
765
- }, [canvasSize, effectiveEditorDimensions.height, effectiveEditorDimensions.width]);
801
+ const { editorDimensions, setEditorDimensions, effectiveEditorDimensions, fitScale } = useViewportFit(canvasSize, canvasViewportRef, { fitPadding, maxFitScale });
766
802
  const editorScale = fitScale * scale;
767
803
  useEffect(() => {
768
804
  renderScaleRef.current = editorScale;
@@ -770,33 +806,6 @@ function useZoomViewport({
770
806
  useEffect(() => {
771
807
  store.dispatch({ type: "set-fit-scale", fitScale });
772
808
  }, [store, fitScale]);
773
- useEffect(() => {
774
- let observer = null;
775
- let raf = 0;
776
- const VERTICAL_MARGIN = 32;
777
- const measure = (el) => {
778
- const width = Math.max(0, el.clientWidth - 8);
779
- const height = Math.max(0, el.clientHeight - VERTICAL_MARGIN);
780
- if (width > 0 && height > 0) {
781
- setEditorDimensions({ width, height });
782
- }
783
- };
784
- const attach = () => {
785
- const el = canvasViewportRef.current;
786
- if (!el) {
787
- raf = requestAnimationFrame(attach);
788
- return;
789
- }
790
- observer = new ResizeObserver(() => measure(el));
791
- observer.observe(el);
792
- measure(el);
793
- };
794
- attach();
795
- return () => {
796
- cancelAnimationFrame(raf);
797
- observer?.disconnect();
798
- };
799
- }, []);
800
809
  const centerBoundsInViewport = useCallback(
801
810
  (bounds, nextScale) => {
802
811
  const wrapper = editWrapperRef.current;
@@ -4406,6 +4415,19 @@ function useElementOperations(input) {
4406
4415
  const isLiveEditing = selectedElement.id === inlineEditingElementId;
4407
4416
  const currentSegments = liveTextSegments();
4408
4417
  const inlineSel = getInlineEditorSelection(currentSegments);
4418
+ if (updates.listType) {
4419
+ const result = applyListStyleUpdate(
4420
+ { ...selectedElement, textSegments: currentSegments },
4421
+ updates,
4422
+ inlineSel
4423
+ );
4424
+ setPendingSelectionRestore(result.selection);
4425
+ updateSelectedElement({
4426
+ ...result.patch,
4427
+ ...isLiveEditing ? { text: inlineEditingText } : {}
4428
+ });
4429
+ return;
4430
+ }
4409
4431
  if (inlineSel && currentSegments) {
4410
4432
  const { newSegments: newSegments2, newSelection } = applyStyleToSelectedSegments(
4411
4433
  currentSegments,
@@ -4420,10 +4442,7 @@ function useElementOperations(input) {
4420
4442
  return;
4421
4443
  }
4422
4444
  const newTextStyle = { ...selectedElement.textStyle, ...updates };
4423
- const newSegments = currentSegments?.map((seg) => ({
4424
- ...seg,
4425
- style: { ...seg.style, ...updates }
4426
- }));
4445
+ const newSegments = currentSegments?.map((seg) => updateTextSegmentStyle(seg, updates));
4427
4446
  updateSelectedElement({
4428
4447
  textStyle: newTextStyle,
4429
4448
  textSegments: newSegments,
@@ -4968,6 +4987,8 @@ function processPointerUp(input) {
4968
4987
  setSnapLines([]);
4969
4988
  if (wasMoved) {
4970
4989
  markDirty();
4990
+ }
4991
+ if (drag || rs || adj || marquee) {
4971
4992
  setPointerCommitNonce((n) => n + 1);
4972
4993
  }
4973
4994
  }
@@ -5895,6 +5916,7 @@ function useInsertElements(input) {
5895
5916
  history.markDirty();
5896
5917
  };
5897
5918
  return {
5919
+ addElement,
5898
5920
  handleAddTextBox,
5899
5921
  handleAddShape,
5900
5922
  handleAddTable,
@@ -9743,6 +9765,7 @@ function useKeyboardShortcuts(input) {
9743
9765
  }
9744
9766
  const { action, dx, dy } = mapEditorKey(e, {
9745
9767
  canEdit: current.canEdit,
9768
+ canPaste: current.canPaste,
9746
9769
  // The Slide Master view is an editing surface, not a viewing one.
9747
9770
  // Gating on `mode !== 'edit'` alone made `mapEditorKey` return
9748
9771
  // NO_ACTION there, so Delete, the arrow-key nudges and the clipboard
@@ -9838,6 +9861,7 @@ function useKeyboardShortcutWiring(input) {
9838
9861
  mode,
9839
9862
  canEdit,
9840
9863
  inlineEditingElementId: state.inlineEditingElementId,
9864
+ canPaste: Boolean(state.clipboardPayload && activeSlide),
9841
9865
  tableEditorState: state.tableEditorState,
9842
9866
  activeTool: state.activeTool,
9843
9867
  hasSelection: state.effectiveSelectedIds.length > 0,
@@ -9928,6 +9952,7 @@ function useViewerIntegration(input) {
9928
9952
  setModifyVerifier,
9929
9953
  setCompatToasts,
9930
9954
  canEdit,
9955
+ canInsertElement = true,
9931
9956
  promptKeepInkAnnotations,
9932
9957
  imageExportScale,
9933
9958
  imageResolutionScale,
@@ -10171,6 +10196,21 @@ function useViewerIntegration(input) {
10171
10196
  return s?.elements.find((e) => e.id === elementId);
10172
10197
  },
10173
10198
  // -- Element manipulation --
10199
+ addElement(element) {
10200
+ const inserted = prepareElementForInsertion(element, {
10201
+ canEdit: canEdit && canInsertElement,
10202
+ mode,
10203
+ hasActiveSlide: !loading && !error && Boolean(activeSlide),
10204
+ editTemplateMode: state.editTemplateMode
10205
+ });
10206
+ if (!inserted) {
10207
+ return void 0;
10208
+ }
10209
+ editorOps.canvasHandlers.handleInlineEditCommit();
10210
+ editorOps.insertHandlers.addElement(inserted);
10211
+ editorOps.ops.applySelection(inserted.id, [inserted.id]);
10212
+ return inserted.id;
10213
+ },
10174
10214
  updateElement(elementId, updates) {
10175
10215
  editorOps.ops.updateElementById(elementId, updates);
10176
10216
  },
@@ -10191,6 +10231,11 @@ function useViewerIntegration(input) {
10191
10231
  onContentChange,
10192
10232
  slides,
10193
10233
  activeSlideIndex,
10234
+ activeSlide,
10235
+ canEdit,
10236
+ canInsertElement,
10237
+ loading,
10238
+ error,
10194
10239
  state,
10195
10240
  history,
10196
10241
  zoom,
@@ -11388,7 +11433,12 @@ function useViewerBuildingBlocksCore(input) {
11388
11433
  state.isDrawingRef
11389
11434
  ]
11390
11435
  );
11391
- const zoom = useZoomViewport({ canvasSize, selectedElements: state.selectedElements });
11436
+ const zoom = useZoomViewport({
11437
+ canvasSize,
11438
+ selectedElements: state.selectedElements,
11439
+ fitPadding: input.fitPadding,
11440
+ maxFitScale: input.maxFitScale
11441
+ });
11392
11442
  const { options: viewerOptions } = useViewerOptions();
11393
11443
  const { setIsDirty } = state;
11394
11444
  const markDocumentDirty = useCallback(() => {
@@ -11688,7 +11738,8 @@ function useViewerBuildingBlocksState(input) {
11688
11738
  preMasterMode: state.preMasterMode,
11689
11739
  hasDigitalSignatures: state.hasDigitalSignatures,
11690
11740
  isDirty: state.isDirty,
11691
- history
11741
+ history,
11742
+ embeddedFontFamilies: state.embeddedFonts.map((font) => font.name)
11692
11743
  });
11693
11744
  const readOnlyRec = useReadOnlyRecommendationState(content);
11694
11745
  const compatToastsState = useCompatibilityToastsState();
@@ -11743,6 +11794,7 @@ function useViewerBuildingBlocksState(input) {
11743
11794
  allowExternalImages: viewerOptions.trust.allowExternalContent,
11744
11795
  setReadOnlyRecommendation: readOnlyRec.setRecommendation,
11745
11796
  setModifyVerifier: readOnlyRec.setModifyVerifier,
11797
+ canInsertElement: !readOnlyRec.locked && !viewerOptions.trust.openInProtectedView,
11746
11798
  setCompatToasts: compatToastsState.setToasts,
11747
11799
  canEdit,
11748
11800
  promptKeepInkAnnotations: viewerOptions.advanced.slideShowPromptKeepInkAnnotations,
@@ -11834,7 +11886,11 @@ function useViewerBuildingBlocks(input) {
11834
11886
  }
11835
11887
  })();
11836
11888
  }, []);
11837
- const core = useViewerBuildingBlocksCore({ content});
11889
+ const core = useViewerBuildingBlocksCore({
11890
+ content,
11891
+ fitPadding: input.fitPadding,
11892
+ maxFitScale: input.maxFitScale
11893
+ });
11838
11894
  const {
11839
11895
  state,
11840
11896
  mode,
Binary file
Binary file
@@ -1,7 +1,7 @@
1
- import { computeFocusTargets, deckDataFieldChanged, aiChangeAnimationCss, changeGhostStyle, createChatHistoryStore, collectStoredChats, exportAiChatLogs, applyElementUpdate } from './chunk-YUIXPWFT.mjs';
2
- import { useViewerOptions, useReadOnlyRecommendationState, useCompatibilityToastsState, useReducedMotion, useViewerState, useIsMobile, useResizablePanels, useDerivedSlideState, useZoomViewport, useEditorHistory, usePresentationSetup, useTouchGestures, useViewerDialogs, useEditorOperations, useViewerIntegration, useViewPreferencesSync, useLayoutSwitching, ViewerOptionsContext, useYjsDocumentSync, useCollaborationLivePatch, useFollowMode, useBroadcastFollower, safePrompt, scopeLayoutOptionsToActiveSlide, useToolbarVisibility, useKeyboardInsets, useModalDismissDrag, useCollaborativeState, getGlyphOutline, useViewerOptionsContext, useVirtualizedSlides, useSwipeNavigation, useSheetDismissDrag, detectTargetType, parseEmailUrl, parseSlideFromUrl, ACTION_VERB_MAP, syncSelectionHandleOverlay, playAnimationSound } from './chunk-QLZHTIH6.mjs';
3
- import { MIN_ELEMENT_SIZE, DEFAULT_STROKE_COLOR, getConnectorPathGeometry, buildLineShadowCss, buildLineGlowFilter, renderConnectorMarker, getShapeVisualStyle, getTextStyleForElement, DEFAULT_TEXT_COLOR, renderVectorShape, isConnectorOrLineElement, build3DExtrusionData, getImageRenderStyle, cn, getImageSurfaceStyle, getTextLayoutStyle, renderTableElement, renderMediaElement, shouldRenderFallbackLabel, SHAPE_PRESETS, ANIMATION_PRESET_OPTIONS, DEFAULT_FILL_COLOR, hasDagDuotoneEffect, renderDagDuotoneSvgFilter, getImageSurfaceMaskStyle, getCropShapeClipPath, getImageTilingStyle, getDuotoneColors, getTextWarpStyle, renderTextSegments, buildReactChartViewModel, renderChartElement, buildTextBody3DSceneStyle, SLIDE_NAV_THUMBNAIL_WIDTH, DEFAULT_TEXT_FONT_SIZE, DEFAULT_FONT_FAMILY, TOOLBAR_SECTIONS, DEFAULT_SECTION_GROUP_ID, SHORTCUT_REFERENCE_ITEMS as SHORTCUT_REFERENCE_ITEMS$1, HYPERLINK_COLOR, GRID_SIZE, CONNECTOR_ARROW_OPTIONS, ARROW_SIZE_OPTIONS, startMotionPathPreview, startPreviewAnimation, stopPreviewAnimation, STROKE_DASH_OPTIONS } from './chunk-U2H7CQ34.mjs';
4
- import { hasShapeProperties, normalizeHexColor, colorWithOpacity, normalizeStrokeDashType, getSvgStrokeDasharray, getCompoundLineOffsets, getCompoundLineWidths, svgLineCap, hasTextProperties, connectorWrapperTransform, getAriaRoleDescription, getAriaLabel, getAriaRole, resolveElementInteractivity, isEditableTextElement, buildTextStyleOverrideCss, isElementRendered, resolveElementAriaAttributes, getImageEffectsOpacity, getImageEffectsFilter, inlineElementPointerEvents, isHollowShapeElement, LINK_TOOLTIP_HOST_CLASS, ACTION_BUTTON_PRESETS, mediaTransportVisible, isInkElement, getGroupChildParentFill, getElementLabel, SWITCHABLE_LAYOUT_TYPES, compileEquationTemplateMathMl, buildUserFontFaceStyles, readStoredViewerPrefs, resolveThemeCatalogEntry, THEME_CATALOG, writeStoredViewerPrefs, openPptxFile, readBackstageRecentFile, resolveAutosaveActivation, buildThemeColorMap, viewerOptionsToPreferences, applyPreferenceToOptions, listAutosaveSnapshots, deleteAutosaveSnapshot, resolveExpiredAutosaveSnapshots, resolveHistoryDepth, applyAutoCorrect, resolveImageResolutionScale, resolveAutosaveIntervalMs, resolveAutosaveIntervalSeconds, shouldShowAutosaveRecoveryPrompt, resolveOptionRootClasses, resolve3DRenderingFlags, resolveSlideSizeSelection, buildDeckSaveOptions, paintedStrokeWidth, buildCssGradientFromShapeStyle, ensureActionAffordanceStyles, resolveElementActionAffordance, actionAffordanceLabels, resolveElementHighlightClick, applyHighlightClickStyle, getComputedEffectStyle, getSoftEdgeSvgFilter, getEffectStyleSource, getBevelLightingSvgFilter, buildStrokeOutline, buildHollowHitOutline, buildSubpathFillOverlay, isImageLikeElement, strokeOutlineViewBox, getElementTransform, resolveRevealedSmartArtNodes, resolveRevealedDrawingShapes, buildSmartArtA11y, canDrillDown, computeSmartArtElementLayout, flattenNodes, buildSummaryZoomView, isImageTiled, getImageColorWashStyle, readEditableText, placeCaretAtEnd, getPendingSelectionRestore, restoreSegmentSelection, getTextCompensationTransform, resolveChartKind, subscribeBarFacePicturePixelSamples, getBarFacePicturePixelSampleVersion, ensureChartInteractionStyles, applyChartPartHighlight, resolveRevealedChartData, formatAxisValue, buildInkGroupStrokes, getInkReplayStyles, INK_REPLAY_KEYFRAMES, buildContentPartStrokes, getContentPartReplayStyles, resolveOleType, getOleAriaLabel, getOleTypeColor, getOleTypeLabel, filterRenderedElements, resolveGroupChildFill, isLinkedTextBox, getOverflowSegments, shouldUseSvgWarp, getTextBodyRotationTransform, placeholderPromptDescriptor, RULER_THICKNESS, RULER_FONT_SIZE, buildPreviewElements, deriveSlideFieldContext, SLIDE_TRANSITION_OPTIONS, hiddenSlideCue, HIDDEN_SLIDE_SLASH_GRADIENT, HIDDEN_SLIDE_LABEL_KEY, visibleTemplateElements, themeToCssVars, shouldClearAutosaveCacheOnClose, masterViewCrudActions, applyMasterViewCrudAction, masterViewCrudFailureKey, applyMotionPathPreset, resetSlideLayoutPath, DEFAULT_INSERT_CHART_KIND, hasCopyableFormat, templateSchemeFromTheme, createBackstagePresentation, playFeedbackSound, shouldDiscardAutosaveOnSuccessfulSave, setMasterViewBackgroundColor, canUseClipboard, runProgramNoticeStackStyle, compatToastStackStyle, printPropertiesFrameSlides, printPropertiesSlidesPerPage, getDensePanelTouchTargetPx, shouldStickyActionRow, VIEWER_OPTIONS_TABS, DEFAULT_QUICK_ACCESS_COMMAND_IDS, isHeaderFooterDateTextVisible, isHeaderFooterHeaderTextVisible, isHeaderFooterFooterTextVisible, buildJoinCollaborationConfig, buildCreateCollaborationConfig, generateBroadcastRoomId, DEFAULT_BROADCAST_SERVER_URL, buildBroadcastViewerUrl, resolveTransportForServerUrl, elementIdSelector, ACTION_INDICATOR_CLASS, ACTION_INDICATOR_ICON_PATH, LINK_TOOLTIP_CLASS, LINK_TOOLTIP_PANEL_CLASS, LINK_TOOLTIP_LABEL_CLASS, LINK_TOOLTIP_HINT_CLASS, DEFAULT_PALETTE2, resolvePalette, computeDrawingViewBox, projectDrawingShapes, resolveRevealedDrawingShapeNodeIds, styleShadowFilter, buildChromeStyle, measureSvgViewportRect, modelDataToBlobUrl, getImageSvgFilters, buildDuotoneCacheKey, getDuotoneCachedResult, applyDuotone, setDuotoneCachedResult, buildCacheKey, DEFAULT_COLOR_CHANGE_TOLERANCE, getCachedResult, applyColorChange, setCachedResult, getInlineEditorSelection, findChartPartTarget, buildSurfaceChart3DDataForElement, buildBarChart3DDataForElement, buildLineChart3DDataForElement, buildAreaChart3DDataForElement, buildPieChart3DDataForElement, withChartTitle, buildSmartArt3DModel, collectCoherent3DOffNodeIds, isBrowserOpenableMime, formatBytes, getOleDisplayName, getOleBadgeLabel, openUrlInNewTab, getSubstituteFontFamily, hasGlyphEnvelope, buildGlyphEnvelope, getWarpPath, isWedgeCalloutPresetShape, isElementActionable, getSlideBackgroundStyle, pushRecentColor, mruColorsPatch, filterCommands, resolveTitleBarStatusKey, TITLE_BAR_CLASSES, TITLE_BAR_DEFAULT_FILE_KEY, resolveScreenTip, masterViewBackgroundColor, buildFieldSubstitutionContext, shouldConfirmExternalHyperlink, safeOpenUrl, resolvePresentationAction, isPpactionUrl, parsePpactionUrl, isPresentationAdvanceClick, toggleBlackboard, PRESENT_TOOLBAR_CLASSES, buildContextMenuEntries, themeColorSchemesEqual, EXPANDED_MAX_HEIGHT, STATUS_BAR_CLASSES, buildBarActions, formatVersionTimestamp, formatRelativeTime, scanAvailableFontFamilies, PRESETS, CATEGORIES, convertOmmlToLatex, compileLatexEquation, convertLatexToOmml, EQUATION_TEMPLATES, clampPercent2, resolveDefaultPrintSettings, HANDOUT_OPTIONS, TOOLBAR_TABS, SHORTCUT_REFERENCE_ITEMS, resolveViewerAddinRows, availableQuickAccessCommands, addQuickAccessCommand, removeQuickAccessCommand, moveQuickAccessCommand, CUSTOM_FONT_ACCEPT, activateModalFocus, buildCollaborationShareUrl, buildActiveSessionUsers, SORTER_MIN_ZOOM, SORTER_ZOOM_STEP, SORTER_MAX_ZOOM, canGoPrevious, formatSlideCounter, READING_VIEW_COUNTER_ATTR, canGoNext, READING_VIEW_ATTR, OUTLINE_LEVEL_ATTR, OUTLINE_SLIDE_ATTR, OUTLINE_ROW_ATTR, OUTLINE_VIEW_ATTR, mobileElapsedSince, nextPresentedSlide, presenterPrevDisabled, presenterNextDisabled, formatMobileElapsed, mobileSlideCounter, presenterPaneAdvancesOnClick, presenterTimerProgress, PRESENTER_CONSOLE_CLASSES, formatElapsed, centeredSvgTextLines, findSmartArtNodeText, setSmartArtNodeStyle, rebuildDrawingShapesIfCleared, shouldCommitSmartArtNodeText, updateSmartArtNodeText, advanceChartMarkDrag, advanceChartValueDrag, buildChartMarkDragGeometry, beginChartMarkDrag, beginChartValueDrag, groupIntoParagraphs, substituteFieldText, extraQuickAccessCommands, TAB_ROW_ACTION_CLASSES, listBackstageRecentFiles, BACKSTAGE_NAV, COMMON_FONT_SIZES, textFontSizePtToPx, INSERT_CHART_TYPES, CHARACTER_SPACING_OPTIONS, OFFICE_COLOR_SWATCHES, shapeFillChange, shapeOutlineChange, readRibbonTransitionDraft, ribbonTransitionUpdates, playSlideTransitionPreview, RIBBON_TRANSITION_PRESETS, transitionSoundOptions, transitionSoundSelectedValue, DEFAULT_MOTION_PATH_PRESET_ID, SLIDE_SHOW_OPTIONS, slideShowOptionChange, readSlideShowOption, SLIDE_VIRTUALIZATION_THRESHOLD, PRESENTATION_HIT_TEST_CSS, PRESENTATION_STAGE_ATTRIBUTE, getSlideTransitionAnimations, getFragmentedTransitionDescriptor, SLIDE_TRANSITION_KEYFRAMES, buildStrokePathD, cursorForTool, annotationOverlayZIndex, presentationInkPath, resolveNotesSchematicBodyFontSizePx, motionPathFor, setMotionPath, getShapeAdjustmentHandleDescriptors, shouldShowElementHandles, PRESENTER_NAVIGATOR_LABEL_KEYS, PEN_COLORS, HIGHLIGHTER_COLORS, isBlackboardActive, scaleSlidesForSizeChange, slideSizeToCanvasPx, resolveSelectionPaneRename, PRESET_THEMES, resolveNotesSegments, segmentsToEditorHtml, DEBOUNCE_MS, createPlainNotesSegments, parseSegmentsFromRichEditor, segmentsToPlainText, getCurrentParagraphIndex, segmentsToParagraphs, paragraphsToSegments, MAX_INDENT_LEVEL, INDENT_PX, isUrlSafe, buildNotesPrintHtml, MIN_TOUCH_TARGET_PX, toggleSheet, SMARTART_PREVIEW_ELEMENT_HEIGHT, SMARTART_PREVIEW_ELEMENT_WIDTH, buildSmartArtPreviewElement, sanitizeMathMl, computeHandoutLayout, getPrintableArea, generateNoteLineCount, computeAllNotesPages, getNotesPrintableArea, downloadBlob, clampOptionNumber, QUICK_ACCESS_COMMAND_CATALOG, registerCustomFont, openReadingView, applyReadingViewCommand, createPresentationKeyBuffer, readingViewFitScale, READING_VIEW_STAGE_ATTR, buildOutline, applyOutlineEdit, mapOutlineKey, notesSegmentsToSpans, erasePresentationInkAt, movePresenterPointer, appendPresentationInkPoint, PRESENTER_CONSOLE_CONTROLS, NOTES_FONT_SIZE_DEFAULT, formatTime, NOTES_FONT_SIZE_MIN, clampNotesFontSize, NOTES_FONT_SIZE_STEP, NOTES_FONT_SIZE_MAX, computeInlineEditorRect, withChartPointValue, BACKSTAGE_TEMPLATES, formatBackstageDate, formatBackstageSize, backstageCardsFor, DEFAULT_VIEWER_PROFILE, resolveProfileInitial, AVATAR_COLOR_SWATCHES, resolveDefaultFontFamily, textFontSizePxToPt, buildFontCatalog, buildThemeColorSwatchGrid, themeColorSwatchRows, findSelectedThemeSwatch, themeSwatchCommit, RIBBON_SHAPE_SWATCHES, canGroupSelection, canUngroupSelection, canSetStrokeWidth, strokeWidthOf, readSoundFileAsDataUrl, applyTransitionSoundFile, TRANSITION_SOUND_OTHER_VALUE, TRANSITION_SOUND_NONE_VALUE, clearTransitionSound, applyTransitionStockSound, transitionStockSoundId, getEffectSoundAsset, ENTRANCE_PRESET_VALUES, EMPHASIS_PRESET_VALUES, EXIT_PRESET_VALUES, MOTION_PATH_FAMILIES, motionPathFamilyLabelKey, motionPathPresetsByFamily, motionPathPresetLabelKey, masterViewPseudoSlide, MORPH_CROSSFADE_GROUP_STYLE, MORPH_CROSSFADE_HALF_STYLE, authorConnectorBetweenSites, findEraserHitElementId, generateTicks, rulerDragToGuidePosition, getElementTransformWithoutRotation, getActiveXControlOverlayView, buildCommentMarkers, COMMENT_MARKER_SIZE, collectConnectorSiteCandidates, getConnectorEndpointHandles, findConnectorSiteNear, motionPathToSvgD, motionPathEndPixel, isEditableMotionPath, setMotionPathEnd, hasMultipleSelectedTableCells, applyTableStyleDelete, applyTableStyleMapChange, themeColorLabel, buildThemeColorGrid, THEME_COLOR_SCHEME_KEYS, COMMON_FONTS, handleReadingViewKey, getLocalStorageUsageSummary, saveViewerProfile, clearAllLocalViewerData, isCurrentLayout, SLIDE_TEMPLATES, computeAnchoredPopupPosition, buildLiveInkStrokeView, CONNECTOR_SITE_SNAP_PX, resolveConnectorEndpointUpdate, withConnectorEndpointUpdate, getShapeConnectionSites, isElementLocked, mergeSlideTransition, mapSlideSorterKey, isEditorTextInputTarget, clampSorterZoom, buildLayoutPreviewGeometry, buildSlideTemplateContent, hasTiltData, elementLockTogglePatch, buildTableDataGrid, getDenseGridLayoutPlan, appendTableElementRow, removeLastTableElementRow, appendTableElementColumn, removeLastTableElementColumn, removeTableElementColumn, removeTableElementRow, setTableElementCellText, TABLE_STYLE_PRESETS, applyTableStylePreset, tableStyleAssignmentUpdate, evenColumnWidths, redistributeColumnWidth, evenRowHeights, patchChartData, collapseChartTitleRunsForEdit, chartGridlinesState, chartGridlinesPatch, seriesSecondaryAxisPatch, setChartCategoryLabel, setChartCellValue, addChartCategory, removeChartCategory, addChartSeries, removeChartSeries, hideChartSeries, restoreFilteredSeries, setDataLabelsRangeCache, setChartAxisLogScale, setChartAxisTitleStyle, setChartAxisGridlineStyle, setChartSeriesMarker, setChartSeriesChartType, setChartDataPointFill, setChartDataPointExplosion, setChartDataPointMarker, setChartDataPointLabel, describeSmartArtBounds, canAddTopLevelNode, classifyExtraConnections, siblingIndex, siblingCount, canRemoveTopLevelNode, canInteractWithElement, buildOleObjectNamePatch, getOleObjectTypeLabel, sanitizeGradientStops, shouldShowAccessibilitySection, pptxActionToElementAction, withFrameSlides, withSlidesPerPage, applyThemeOverrideToSlide, COLOR_MAP_ALIAS_KEYS, DEFAULT_COLOR_MAP, schemaLabel, THEME_COLOR_SLOT_LABEL_KEYS, SLIDE_SIZE_PRESETS, TRANSITION_VALID_DIRECTIONS, TRANSITION_ORIENTATION_TYPES, clampTransitionNumber, TRANSITION_SPEED_OPTIONS, TRANSITION_MORPH_OPTIONS, flattenTagCollections, resolveTemplateBackgroundRows, formatCommentTimestamp, commentMentionQuery, matchCommentMentionAuthors, buildAnimationTimelineRows, clearMotionPath, getEffectSoundState, setEffectSound, setEffectStockSound, setAfterAnimation, setAfterAnimationColor, DIRECTIONAL_PRESETS, buildAnimationTimelineBars, motionPathPresetIdForPath, EFFECT_SOUND_CATALOGUE, normalizeTableStyleGuid, describeTableStyleEditor, TABLE_STYLE_EDITOR_PARTS, computeMergeCellRight, computeMergeCellDown, computeSplitCell, updateMergeAttrsInRawXml, resolveDisplayedChartType, CHART_TYPE_OPTIONS, BAR3D_SHAPE_OPTIONS, bar3DShapePatch, RADAR_STYLE_OPTIONS, radarStylePatch, SURFACE_WIREFRAME_OPTIONS, surfaceWireframePatch, isSeriesUsingSecondaryAxis, listChartUserShapeRows, withChartUserShapeAdded, createDefaultChartUserShape, withChartUserShapeRowRemoved, withChartUserShapeRowTextUpdated, SMARTART_COLOR_SCHEME_LABEL_KEYS, SMARTART_STYLE_LABEL_KEYS, addSmartArtNodeAsChild, removeSmartArtNode, addSiblingAfter, removeEmptyNode, demote, promote, reorder, clampCropValue, DUOTONE_PRESETS, ARTISTIC_EFFECTS, mediaTrimEndSeconds, trimmedMediaDurationMs, mediaTrimEndAbsoluteMs, mediaTrimEndMsFromAbsoluteMs, buildOleEditDialogDescriptor, buildOleContentUpdatePatch, applyOleSheetCellEdit, getOleSheetGrid, applyOleDocumentParagraphEdit, getOleDocumentParagraphs, applyOleNestedDeckElementTextEdit, getOleNestedDeckDetail, replaceOleFile, getNonVisualDescriptionFields, resolveActionType, ELEMENT_ACTION_TYPE_OPTIONS, elementActionToPptxAction, canCommitActionType, slideSizeFromPreset, withSlideSizeOrientation, TRANSITION_DIR_ARROWS, buildDirectionGrid, updateTagInCollections, deleteTagFromCollections, addTagToCollections, commentTextSegments, COMMENT_MENTION_CLASS, COMMENT_MENTION_ATTRIBUTE, insertCommentMention, reorderAnimationTimelineRows, applyAnimationTimelineOrder, animationEffectLabel, TABLE_STYLE_BORDER_SIDES, applyTableStyleFieldEdit, createTableStyleEntry, addTableStyleToMap, deleteTableStyleFromMap, LBL, SEL, FILL_MODE_OPTIONS, SECTION_HEADING, NUM, getChartUserShapeGroupTransform, withChartUserShapeGroupChildAdded, createDefaultChartUserShapeGroupChild, withChartUserShapeRowUpdated, getChartUserShapeRowChartBox, withChartUserShapeRowFlipUpdated, withChartUserShapeRowRotationUpdated, withChartUserShapeRowChartBoxUpdated, switchSmartArtLayout, mediaTrimEndMsFromSeconds, validateMediaTrimRange, SHAPE_QUICK_STYLES, quickStyleSwatchCss, PATTERN_PRESET_OPTIONS, getPatternSvg, COMPOUND_LINE_OPTIONS, LINE_JOIN_OPTIONS, LINE_CAP_OPTIONS, TEXT_WARP_PRESETS, warpPreviewPath, text3dPtToEmu, text3dEmuToPt, MATERIAL_PRESETS, toSlideIndex, TABLE_STYLE_BORDER_SIDE_LABEL_KEYS, TABLE_STYLE_DASH_PRESETS, GRADIENT_TYPE_OPTIONS, PATTERN_OPTIONS, FILL_PATTERN_LABEL_KEYS, openNativeEyeDropper, toggleText3dExtrusion, BEVEL_PRESETS } from './chunk-PO2PYVHF.mjs';
1
+ import { computeFocusTargets, deckDataFieldChanged, aiChangeAnimationCss, changeGhostStyle, createChatHistoryStore, collectStoredChats, exportAiChatLogs, applyElementUpdate } from './chunk-7YJBRPCT.mjs';
2
+ import { useViewerOptions, useReadOnlyRecommendationState, useCompatibilityToastsState, useReducedMotion, useViewerState, useIsMobile, useResizablePanels, useDerivedSlideState, useZoomViewport, useEditorHistory, usePresentationSetup, useTouchGestures, useViewerDialogs, useEditorOperations, useViewerIntegration, useViewPreferencesSync, useLayoutSwitching, ViewerOptionsContext, useYjsDocumentSync, useCollaborationLivePatch, useFollowMode, useBroadcastFollower, safePrompt, scopeLayoutOptionsToActiveSlide, useToolbarVisibility, useKeyboardInsets, useModalDismissDrag, useCollaborativeState, getGlyphOutline, useViewerOptionsContext, useVirtualizedSlides, useSwipeNavigation, useSheetDismissDrag, detectTargetType, parseEmailUrl, parseSlideFromUrl, ACTION_VERB_MAP, syncSelectionHandleOverlay, playAnimationSound } from './chunk-7YOA4HNP.mjs';
3
+ import { MIN_ELEMENT_SIZE, DEFAULT_STROKE_COLOR, getConnectorPathGeometry, buildLineShadowCss, buildLineGlowFilter, renderConnectorMarker, getShapeVisualStyle, getTextStyleForElement, DEFAULT_TEXT_COLOR, renderVectorShape, isConnectorOrLineElement, build3DExtrusionData, getImageRenderStyle, cn, getImageSurfaceStyle, getTextLayoutStyle, renderTableElement, renderMediaElement, shouldRenderFallbackLabel, SHAPE_PRESETS, ANIMATION_PRESET_OPTIONS, DEFAULT_FILL_COLOR, hasDagDuotoneEffect, renderDagDuotoneSvgFilter, getImageSurfaceMaskStyle, getCropShapeClipPath, getImageTilingStyle, getDuotoneColors, getTextWarpStyle, renderTextSegments, buildReactChartViewModel, renderChartElement, buildTextBody3DSceneStyle, SLIDE_NAV_THUMBNAIL_WIDTH, DEFAULT_TEXT_FONT_SIZE, DEFAULT_FONT_FAMILY, TOOLBAR_SECTIONS, DEFAULT_SECTION_GROUP_ID, SHORTCUT_REFERENCE_ITEMS as SHORTCUT_REFERENCE_ITEMS$1, HYPERLINK_COLOR, GRID_SIZE, CONNECTOR_ARROW_OPTIONS, ARROW_SIZE_OPTIONS, startMotionPathPreview, startPreviewAnimation, stopPreviewAnimation, STROKE_DASH_OPTIONS } from './chunk-23PW4Y4R.mjs';
4
+ import { hasShapeProperties, normalizeHexColor, colorWithOpacity, normalizeStrokeDashType, getSvgStrokeDasharray, getCompoundLineOffsets, getCompoundLineWidths, svgLineCap, hasTextProperties, connectorWrapperTransform, getAriaRoleDescription, getAriaLabel, getAriaRole, resolveElementInteractivity, isEditableTextElement, buildTextStyleOverrideCss, isElementRendered, resolveElementAriaAttributes, getImageEffectsOpacity, getImageEffectsFilter, inlineElementPointerEvents, isHollowShapeElement, LINK_TOOLTIP_HOST_CLASS, ACTION_BUTTON_PRESETS, mediaTransportVisible, isInkElement, getGroupChildParentFill, getElementLabel, SWITCHABLE_LAYOUT_TYPES, compileEquationTemplateMathMl, buildUserFontFaceStyles, readStoredViewerPrefs, resolveThemeCatalogEntry, THEME_CATALOG, writeStoredViewerPrefs, openPptxFile, readBackstageRecentFile, resolveAutosaveActivation, buildThemeColorMap, viewerOptionsToPreferences, applyPreferenceToOptions, listAutosaveSnapshots, deleteAutosaveSnapshot, resolveExpiredAutosaveSnapshots, resolveHistoryDepth, applyAutoCorrect, resolveImageResolutionScale, resolveAutosaveIntervalMs, resolveAutosaveIntervalSeconds, shouldShowAutosaveRecoveryPrompt, resolveOptionRootClasses, resolve3DRenderingFlags, resolveSlideSizeSelection, buildDeckSaveOptions, paintedStrokeWidth, buildCssGradientFromShapeStyle, ensureActionAffordanceStyles, resolveElementActionAffordance, actionAffordanceLabels, resolveElementHighlightClick, applyHighlightClickStyle, getComputedEffectStyle, getSoftEdgeSvgFilter, getEffectStyleSource, getBevelLightingSvgFilter, buildStrokeOutline, buildHollowHitOutline, buildSubpathFillOverlay, isImageLikeElement, strokeOutlineViewBox, getElementTransform, resolveRevealedSmartArtNodes, resolveRevealedDrawingShapes, buildSmartArtA11y, canDrillDown, computeSmartArtElementLayout, flattenNodes, buildSummaryZoomView, isImageTiled, getImageColorWashStyle, readEditableText, placeCaretAtEnd, getPendingSelectionRestore, restoreSegmentSelection, getTextCompensationTransform, resolveChartKind, subscribeBarFacePicturePixelSamples, getBarFacePicturePixelSampleVersion, ensureChartInteractionStyles, applyChartPartHighlight, resolveRevealedChartData, formatAxisValue, buildInkGroupStrokes, getInkReplayStyles, INK_REPLAY_KEYFRAMES, buildContentPartStrokes, getContentPartReplayStyles, resolveOleType, getOleAriaLabel, getOleTypeColor, getOleTypeLabel, filterRenderedElements, resolveGroupChildFill, isLinkedTextBox, getOverflowSegments, shouldUseSvgWarp, getTextBodyRotationTransform, placeholderPromptDescriptor, RULER_THICKNESS, RULER_FONT_SIZE, buildPreviewElements, deriveSlideFieldContext, SLIDE_TRANSITION_OPTIONS, hiddenSlideCue, HIDDEN_SLIDE_SLASH_GRADIENT, HIDDEN_SLIDE_LABEL_KEY, visibleTemplateElements, themeToCssVars, shouldClearAutosaveCacheOnClose, masterViewCrudActions, applyMasterViewCrudAction, masterViewCrudFailureKey, applyMotionPathPreset, resetSlideLayoutPath, DEFAULT_INSERT_CHART_KIND, hasCopyableFormat, templateSchemeFromTheme, createBackstagePresentation, playFeedbackSound, shouldDiscardAutosaveOnSuccessfulSave, setMasterViewBackgroundColor, canUseClipboard, runProgramNoticeStackStyle, compatToastStackStyle, printPropertiesFrameSlides, printPropertiesSlidesPerPage, getDensePanelTouchTargetPx, shouldStickyActionRow, VIEWER_OPTIONS_TABS, DEFAULT_QUICK_ACCESS_COMMAND_IDS, isHeaderFooterDateTextVisible, isHeaderFooterHeaderTextVisible, isHeaderFooterFooterTextVisible, buildJoinCollaborationConfig, buildCreateCollaborationConfig, generateBroadcastRoomId, DEFAULT_BROADCAST_SERVER_URL, buildBroadcastViewerUrl, resolveTransportForServerUrl, elementIdSelector, ACTION_INDICATOR_CLASS, ACTION_INDICATOR_ICON_PATH, LINK_TOOLTIP_CLASS, LINK_TOOLTIP_PANEL_CLASS, LINK_TOOLTIP_LABEL_CLASS, LINK_TOOLTIP_HINT_CLASS, DEFAULT_PALETTE2, resolvePalette, computeDrawingViewBox, projectDrawingShapes, resolveRevealedDrawingShapeNodeIds, styleShadowFilter, buildChromeStyle, measureSvgViewportRect, modelDataToBlobUrl, getImageSvgFilters, buildDuotoneCacheKey, getDuotoneCachedResult, applyDuotone, setDuotoneCachedResult, buildCacheKey, DEFAULT_COLOR_CHANGE_TOLERANCE, getCachedResult, applyColorChange, setCachedResult, getInlineEditorSelection, findChartPartTarget, buildSurfaceChart3DDataForElement, buildBarChart3DDataForElement, buildLineChart3DDataForElement, buildAreaChart3DDataForElement, buildPieChart3DDataForElement, withChartTitle, buildSmartArt3DModel, collectCoherent3DOffNodeIds, isBrowserOpenableMime, formatBytes, getOleDisplayName, getOleBadgeLabel, openUrlInNewTab, getSubstituteFontFamily, hasGlyphEnvelope, buildGlyphEnvelope, getWarpPath, isWedgeCalloutPresetShape, isElementActionable, getSlideBackgroundStyle, pushRecentColor, mruColorsPatch, filterCommands, resolveTitleBarStatusKey, TITLE_BAR_CLASSES, TITLE_BAR_DEFAULT_FILE_KEY, resolveScreenTip, masterViewBackgroundColor, buildFieldSubstitutionContext, shouldConfirmExternalHyperlink, safeOpenUrl, resolvePresentationAction, isPpactionUrl, parsePpactionUrl, isPresentationAdvanceClick, toggleBlackboard, PRESENT_TOOLBAR_CLASSES, buildContextMenuEntries, themeColorSchemesEqual, EXPANDED_MAX_HEIGHT, STATUS_BAR_CLASSES, buildBarActions, formatVersionTimestamp, formatRelativeTime, scanAvailableFontFamilies, PRESETS, CATEGORIES, convertOmmlToLatex, compileLatexEquation, convertLatexToOmml, EQUATION_TEMPLATES, clampPercent2, resolveDefaultPrintSettings, HANDOUT_OPTIONS, TOOLBAR_TABS, SHORTCUT_REFERENCE_ITEMS, resolveViewerAddinRows, availableQuickAccessCommands, addQuickAccessCommand, removeQuickAccessCommand, moveQuickAccessCommand, CUSTOM_FONT_ACCEPT, activateModalFocus, buildCollaborationShareUrl, buildActiveSessionUsers, SORTER_MIN_ZOOM, SORTER_ZOOM_STEP, SORTER_MAX_ZOOM, canGoPrevious, formatSlideCounter, READING_VIEW_COUNTER_ATTR, canGoNext, READING_VIEW_ATTR, OUTLINE_LEVEL_ATTR, OUTLINE_SLIDE_ATTR, OUTLINE_ROW_ATTR, OUTLINE_VIEW_ATTR, mobileElapsedSince, nextPresentedSlide, presenterPrevDisabled, presenterNextDisabled, formatMobileElapsed, mobileSlideCounter, presenterPaneAdvancesOnClick, presenterTimerProgress, PRESENTER_CONSOLE_CLASSES, formatElapsed, centeredSvgTextLines, findSmartArtNodeText, setSmartArtNodeStyle, rebuildDrawingShapesIfCleared, shouldCommitSmartArtNodeText, updateSmartArtNodeText, advanceChartMarkDrag, advanceChartValueDrag, buildChartMarkDragGeometry, beginChartMarkDrag, beginChartValueDrag, groupIntoParagraphs, substituteFieldText, extraQuickAccessCommands, TAB_ROW_ACTION_CLASSES, listBackstageRecentFiles, BACKSTAGE_NAV, COMMON_FONT_SIZES, textFontSizePtToPx, INSERT_CHART_TYPES, CHARACTER_SPACING_OPTIONS, OFFICE_COLOR_SWATCHES, shapeFillChange, shapeOutlineChange, readRibbonTransitionDraft, ribbonTransitionUpdates, playSlideTransitionPreview, RIBBON_TRANSITION_PRESETS, transitionSoundOptions, transitionSoundSelectedValue, DEFAULT_MOTION_PATH_PRESET_ID, SLIDE_SHOW_OPTIONS, slideShowOptionChange, readSlideShowOption, SLIDE_VIRTUALIZATION_THRESHOLD, PRESENTATION_HIT_TEST_CSS, PRESENTATION_STAGE_ATTRIBUTE, getSlideTransitionAnimations, getFragmentedTransitionDescriptor, SLIDE_TRANSITION_KEYFRAMES, buildStrokePathD, cursorForTool, annotationOverlayZIndex, presentationInkPath, resolveNotesSchematicBodyFontSizePx, motionPathFor, setMotionPath, getShapeAdjustmentHandleDescriptors, shouldShowElementHandles, PRESENTER_NAVIGATOR_LABEL_KEYS, PEN_COLORS, HIGHLIGHTER_COLORS, isBlackboardActive, scaleSlidesForSizeChange, slideSizeToCanvasPx, resolveSelectionPaneRename, PRESET_THEMES, resolveNotesSegments, segmentsToEditorHtml, DEBOUNCE_MS, createPlainNotesSegments, parseSegmentsFromRichEditor, segmentsToPlainText, getCurrentParagraphIndex, segmentsToParagraphs, paragraphsToSegments, MAX_INDENT_LEVEL, INDENT_PX, isUrlSafe, buildNotesPrintHtml, MIN_TOUCH_TARGET_PX, toggleSheet, SMARTART_PREVIEW_ELEMENT_HEIGHT, SMARTART_PREVIEW_ELEMENT_WIDTH, buildSmartArtPreviewElement, sanitizeMathMl, computeHandoutLayout, getPrintableArea, generateNoteLineCount, computeAllNotesPages, getNotesPrintableArea, downloadBlob, clampOptionNumber, QUICK_ACCESS_COMMAND_CATALOG, registerCustomFont, openReadingView, applyReadingViewCommand, createPresentationKeyBuffer, readingViewFitScale, READING_VIEW_STAGE_ATTR, buildOutline, applyOutlineEdit, mapOutlineKey, notesSegmentsToSpans, erasePresentationInkAt, movePresenterPointer, appendPresentationInkPoint, PRESENTER_CONSOLE_CONTROLS, NOTES_FONT_SIZE_DEFAULT, formatTime, NOTES_FONT_SIZE_MIN, clampNotesFontSize, NOTES_FONT_SIZE_STEP, NOTES_FONT_SIZE_MAX, computeInlineEditorRect, withChartPointValue, BACKSTAGE_TEMPLATES, formatBackstageDate, formatBackstageSize, backstageCardsFor, DEFAULT_VIEWER_PROFILE, resolveProfileInitial, AVATAR_COLOR_SWATCHES, resolveDefaultFontFamily, textFontSizePxToPt, buildFontCatalog, selectedParagraphBulletKind, elementBulletKind, buildThemeColorSwatchGrid, themeColorSwatchRows, findSelectedThemeSwatch, themeSwatchCommit, RIBBON_SHAPE_SWATCHES, canGroupSelection, canUngroupSelection, canSetStrokeWidth, strokeWidthOf, readSoundFileAsDataUrl, applyTransitionSoundFile, TRANSITION_SOUND_OTHER_VALUE, TRANSITION_SOUND_NONE_VALUE, clearTransitionSound, applyTransitionStockSound, transitionStockSoundId, getEffectSoundAsset, ENTRANCE_PRESET_VALUES, EMPHASIS_PRESET_VALUES, EXIT_PRESET_VALUES, MOTION_PATH_FAMILIES, motionPathFamilyLabelKey, motionPathPresetsByFamily, motionPathPresetLabelKey, masterViewPseudoSlide, MORPH_CROSSFADE_GROUP_STYLE, MORPH_CROSSFADE_HALF_STYLE, authorConnectorBetweenSites, findEraserHitElementId, generateTicks, rulerDragToGuidePosition, getElementTransformWithoutRotation, getActiveXControlOverlayView, buildCommentMarkers, COMMENT_MARKER_SIZE, collectConnectorSiteCandidates, getConnectorEndpointHandles, findConnectorSiteNear, motionPathToSvgD, motionPathEndPixel, isEditableMotionPath, setMotionPathEnd, hasMultipleSelectedTableCells, applyTableStyleDelete, applyTableStyleMapChange, themeColorLabel, buildThemeColorGrid, THEME_COLOR_SCHEME_KEYS, COMMON_FONTS, handleReadingViewKey, getLocalStorageUsageSummary, saveViewerProfile, clearAllLocalViewerData, isCurrentLayout, SLIDE_TEMPLATES, computeAnchoredPopupPosition, buildLiveInkStrokeView, CONNECTOR_SITE_SNAP_PX, resolveConnectorEndpointUpdate, withConnectorEndpointUpdate, getShapeConnectionSites, isElementLocked, mergeSlideTransition, mapSlideSorterKey, isEditorTextInputTarget, clampSorterZoom, buildLayoutPreviewGeometry, buildSlideTemplateContent, hasTiltData, elementLockTogglePatch, buildTableDataGrid, getDenseGridLayoutPlan, appendTableElementRow, removeLastTableElementRow, appendTableElementColumn, removeLastTableElementColumn, removeTableElementColumn, removeTableElementRow, setTableElementCellText, TABLE_STYLE_PRESETS, applyTableStylePreset, tableStyleAssignmentUpdate, evenColumnWidths, redistributeColumnWidth, evenRowHeights, patchChartData, collapseChartTitleRunsForEdit, chartGridlinesState, chartGridlinesPatch, seriesSecondaryAxisPatch, setChartCategoryLabel, setChartCellValue, addChartCategory, removeChartCategory, addChartSeries, removeChartSeries, hideChartSeries, restoreFilteredSeries, setDataLabelsRangeCache, setChartAxisLogScale, setChartAxisTitleStyle, setChartAxisGridlineStyle, setChartSeriesMarker, setChartSeriesChartType, setChartDataPointFill, setChartDataPointExplosion, setChartDataPointMarker, setChartDataPointLabel, describeSmartArtBounds, canAddTopLevelNode, classifyExtraConnections, siblingIndex, siblingCount, canRemoveTopLevelNode, canInteractWithElement, buildOleObjectNamePatch, getOleObjectTypeLabel, sanitizeGradientStops, shouldShowAccessibilitySection, pptxActionToElementAction, withFrameSlides, withSlidesPerPage, applyThemeOverrideToSlide, COLOR_MAP_ALIAS_KEYS, DEFAULT_COLOR_MAP, schemaLabel, THEME_COLOR_SLOT_LABEL_KEYS, SLIDE_SIZE_PRESETS, TRANSITION_VALID_DIRECTIONS, TRANSITION_ORIENTATION_TYPES, clampTransitionNumber, TRANSITION_SPEED_OPTIONS, TRANSITION_MORPH_OPTIONS, flattenTagCollections, resolveTemplateBackgroundRows, formatCommentTimestamp, commentMentionQuery, matchCommentMentionAuthors, buildAnimationTimelineRows, clearMotionPath, getEffectSoundState, setEffectSound, setEffectStockSound, setAfterAnimation, setAfterAnimationColor, DIRECTIONAL_PRESETS, buildAnimationTimelineBars, motionPathPresetIdForPath, EFFECT_SOUND_CATALOGUE, normalizeTableStyleGuid, describeTableStyleEditor, TABLE_STYLE_EDITOR_PARTS, computeMergeCellRight, computeMergeCellDown, computeSplitCell, updateMergeAttrsInRawXml, resolveDisplayedChartType, CHART_TYPE_OPTIONS, BAR3D_SHAPE_OPTIONS, bar3DShapePatch, RADAR_STYLE_OPTIONS, radarStylePatch, SURFACE_WIREFRAME_OPTIONS, surfaceWireframePatch, isSeriesUsingSecondaryAxis, listChartUserShapeRows, withChartUserShapeAdded, createDefaultChartUserShape, withChartUserShapeRowRemoved, withChartUserShapeRowTextUpdated, SMARTART_COLOR_SCHEME_LABEL_KEYS, SMARTART_STYLE_LABEL_KEYS, addSmartArtNodeAsChild, removeSmartArtNode, addSiblingAfter, removeEmptyNode, demote, promote, reorder, clampCropValue, DUOTONE_PRESETS, ARTISTIC_EFFECTS, mediaTrimEndSeconds, trimmedMediaDurationMs, mediaTrimEndAbsoluteMs, mediaTrimEndMsFromAbsoluteMs, buildOleEditDialogDescriptor, buildOleContentUpdatePatch, applyOleSheetCellEdit, getOleSheetGrid, applyOleDocumentParagraphEdit, getOleDocumentParagraphs, applyOleNestedDeckElementTextEdit, getOleNestedDeckDetail, replaceOleFile, getNonVisualDescriptionFields, resolveActionType, ELEMENT_ACTION_TYPE_OPTIONS, elementActionToPptxAction, canCommitActionType, slideSizeFromPreset, withSlideSizeOrientation, TRANSITION_DIR_ARROWS, buildDirectionGrid, updateTagInCollections, deleteTagFromCollections, addTagToCollections, commentTextSegments, COMMENT_MENTION_CLASS, COMMENT_MENTION_ATTRIBUTE, insertCommentMention, reorderAnimationTimelineRows, applyAnimationTimelineOrder, animationEffectLabel, TABLE_STYLE_BORDER_SIDES, applyTableStyleFieldEdit, createTableStyleEntry, addTableStyleToMap, deleteTableStyleFromMap, LBL, SEL, FILL_MODE_OPTIONS, SECTION_HEADING, NUM, getChartUserShapeGroupTransform, withChartUserShapeGroupChildAdded, createDefaultChartUserShapeGroupChild, withChartUserShapeRowUpdated, getChartUserShapeRowChartBox, withChartUserShapeRowFlipUpdated, withChartUserShapeRowRotationUpdated, withChartUserShapeRowChartBoxUpdated, switchSmartArtLayout, mediaTrimEndMsFromSeconds, validateMediaTrimRange, SHAPE_QUICK_STYLES, quickStyleSwatchCss, PATTERN_PRESET_OPTIONS, getPatternSvg, COMPOUND_LINE_OPTIONS, LINE_JOIN_OPTIONS, LINE_CAP_OPTIONS, TEXT_WARP_PRESETS, warpPreviewPath, text3dPtToEmu, text3dEmuToPt, MATERIAL_PRESETS, toSlideIndex, TABLE_STYLE_BORDER_SIDE_LABEL_KEYS, TABLE_STYLE_DASH_PRESETS, GRADIENT_TYPE_OPTIONS, PATTERN_OPTIONS, FILL_PATTERN_LABEL_KEYS, openNativeEyeDropper, toggleText3dExtrusion, BEVEL_PRESETS } from './chunk-QTGCOL5H.mjs';
5
5
  import { LOCALE_CATALOG, translationsEn } from './chunk-HMX3MQR7.mjs';
6
6
  import React20, { createContext, useMemo, useState, useCallback, lazy, forwardRef, useEffect, useRef, Suspense, useLayoutEffect, useContext, useSyncExternalStore, useId, Fragment as Fragment$1, useDeferredValue } from 'react';
7
7
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
@@ -514,7 +514,7 @@ function FailedToLoad() {
514
514
  var LazyArea3DChartScene = React20.lazy(
515
515
  async () => {
516
516
  try {
517
- return await import('./Area3DChartScene-EMOWMHHK.mjs');
517
+ return await import('./Area3DChartScene-X5SM67PZ.mjs');
518
518
  } catch {
519
519
  return { default: FailedToLoad };
520
520
  }
@@ -583,7 +583,7 @@ function FailedToLoad2() {
583
583
  var LazyBar3DChartScene = React20.lazy(
584
584
  async () => {
585
585
  try {
586
- return await import('./Bar3DChartScene-J3GJEGDJ.mjs');
586
+ return await import('./Bar3DChartScene-HWIFFGI3.mjs');
587
587
  } catch {
588
588
  return { default: FailedToLoad2 };
589
589
  }
@@ -686,7 +686,7 @@ function FailedToLoad3() {
686
686
  var LazyLine3DChartScene = React20.lazy(
687
687
  async () => {
688
688
  try {
689
- return await import('./Line3DChartScene-Y7MODOK2.mjs');
689
+ return await import('./Line3DChartScene-7MPZWVF3.mjs');
690
690
  } catch {
691
691
  return { default: FailedToLoad3 };
692
692
  }
@@ -755,7 +755,7 @@ function FailedToLoad4() {
755
755
  var LazyPieChart3DScene = React20.lazy(
756
756
  async () => {
757
757
  try {
758
- return await import('./PieChart3DScene-4GP2B3PY.mjs');
758
+ return await import('./PieChart3DScene-WD5B6NP3.mjs');
759
759
  } catch {
760
760
  return { default: FailedToLoad4 };
761
761
  }
@@ -822,7 +822,7 @@ function FailedToLoad5() {
822
822
  var LazySurfaceChart3DScene = React20.lazy(
823
823
  async () => {
824
824
  try {
825
- return await import('./SurfaceChart3DScene-YJ4EYMWQ.mjs');
825
+ return await import('./SurfaceChart3DScene-JZGU6BBD.mjs');
826
826
  } catch {
827
827
  return { default: FailedToLoad5 };
828
828
  }
@@ -3181,7 +3181,7 @@ function FailedToLoad6() {
3181
3181
  var LazyModel3DScene = React20.lazy(
3182
3182
  async () => {
3183
3183
  try {
3184
- return await import('./Model3DScene-XM3JN7M6.mjs');
3184
+ return await import('./Model3DScene-57LVY5QW.mjs');
3185
3185
  } catch {
3186
3186
  return { default: FailedToLoad6 };
3187
3187
  }
@@ -6713,7 +6713,7 @@ function AccountPage() {
6713
6713
  return void 0;
6714
6714
  });
6715
6715
  };
6716
- const version = "3.16.5" ;
6716
+ const version = "3.16.7" ;
6717
6717
  return /* @__PURE__ */ jsxs("div", { className: "mt-8 max-w-[700px] space-y-6", children: [
6718
6718
  /* @__PURE__ */ jsxs("section", { className: cardClass, children: [
6719
6719
  /* @__PURE__ */ jsxs("h2", { className: "flex items-center gap-2 text-sm font-semibold", children: [
@@ -8801,6 +8801,20 @@ function ColumnsDropdown(p) {
8801
8801
  )) }) })
8802
8802
  ] });
8803
8803
  }
8804
+ function subscribe(onChange) {
8805
+ document.addEventListener("selectionchange", onChange);
8806
+ return () => document.removeEventListener("selectionchange", onChange);
8807
+ }
8808
+ function useParagraphListKind(element) {
8809
+ const read = useCallback(() => {
8810
+ if (!element || !hasTextProperties(element)) {
8811
+ return "none";
8812
+ }
8813
+ return selectedParagraphBulletKind(element, getInlineEditorSelection(element.textSegments));
8814
+ }, [element]);
8815
+ const readServer = useCallback(() => element ? elementBulletKind(element) : "none", [element]);
8816
+ return useSyncExternalStore(subscribe, read, readServer);
8817
+ }
8804
8818
  function getEffectiveTextStyle(element, tableEditorState) {
8805
8819
  if (!element) {
8806
8820
  return void 0;
@@ -8834,6 +8848,15 @@ function TextSection(p) {
8834
8848
  const isTable = hasSel && p.selectedElement?.type === "table";
8835
8849
  const canFormat = isTextEl || isTable;
8836
8850
  const effectiveTs = getEffectiveTextStyle(p.selectedElement, p.tableEditorState);
8851
+ const listKind = useParagraphListKind(p.selectedElement);
8852
+ const toggleList = (kind) => {
8853
+ if (!p.canEdit || !p.selectedElement || !hasTextProperties(p.selectedElement)) {
8854
+ return;
8855
+ }
8856
+ const selection = getInlineEditorSelection(p.selectedElement.textSegments);
8857
+ const current = selectedParagraphBulletKind(p.selectedElement, selection);
8858
+ p.onUpdateTextStyle({ listType: current === kind ? "none" : kind });
8859
+ };
8837
8860
  const currentColor = isTextEl && p.selectedElement && hasTextProperties(p.selectedElement) ? p.selectedElement.textSegments?.[0]?.style?.color ?? p.selectedElement.textStyle?.color ?? "#000000" : effectiveTs?.color ?? "#000000";
8838
8861
  const currentColorThemeRef = isTextEl && p.selectedElement && hasTextProperties(p.selectedElement) ? p.selectedElement.textSegments?.[0]?.style?.colorRef ?? p.selectedElement.textStyle?.colorRef : void 0;
8839
8862
  const currentHighlight = isTextEl && p.selectedElement && hasTextProperties(p.selectedElement) ? p.selectedElement.textSegments?.[0]?.style?.highlightColor ?? p.selectedElement.textStyle?.highlightColor ?? "#ffff00" : "#ffff00";
@@ -9305,18 +9328,12 @@ function TextSection(p) {
9305
9328
  "button",
9306
9329
  {
9307
9330
  type: "button",
9308
- disabled: !canMut,
9331
+ disabled: !canMut || !isTextEl,
9309
9332
  onMouseDown: (e) => e.preventDefault(),
9310
- onClick: () => {
9311
- if (!canFormat || !p.selectedElement) {
9312
- return;
9313
- }
9314
- p.onUpdateTextStyle({
9315
- listType: effectiveTs?.listType === "bullet" ? "none" : "bullet"
9316
- });
9317
- },
9333
+ onClick: () => toggleList("bullet"),
9318
9334
  className: gB,
9319
9335
  title: t("pptx.text.bulletList"),
9336
+ "aria-pressed": listKind === "bullet",
9320
9337
  children: /* @__PURE__ */ jsx(LuList, { className: ic })
9321
9338
  }
9322
9339
  ),
@@ -9324,18 +9341,12 @@ function TextSection(p) {
9324
9341
  "button",
9325
9342
  {
9326
9343
  type: "button",
9327
- disabled: !canMut,
9344
+ disabled: !canMut || !isTextEl,
9328
9345
  onMouseDown: (e) => e.preventDefault(),
9329
- onClick: () => {
9330
- if (!canFormat || !p.selectedElement) {
9331
- return;
9332
- }
9333
- p.onUpdateTextStyle({
9334
- listType: effectiveTs?.listType === "numbered" ? "none" : "numbered"
9335
- });
9336
- },
9346
+ onClick: () => toggleList("numbered"),
9337
9347
  className: gL,
9338
9348
  title: t("pptx.text.numberedList"),
9349
+ "aria-pressed": listKind === "numbered",
9339
9350
  children: /* @__PURE__ */ jsx(LuListOrdered, { className: ic })
9340
9351
  }
9341
9352
  )
@@ -38051,7 +38062,7 @@ function useTableStyleMapHandlers(input) {
38051
38062
  var AiChatPanel = lazy(async () => {
38052
38063
  const [{ useChat }, { default: Panel }] = await Promise.all([
38053
38064
  import('@ai-sdk/react'),
38054
- import('./AiChatPanel-6IBPORZC.mjs')
38065
+ import('./AiChatPanel-4LKH44IE.mjs')
38055
38066
  ]);
38056
38067
  function BoundAiChatPanel(props) {
38057
38068
  return /* @__PURE__ */ jsx(Panel, { ...props, useChat });
@@ -41648,7 +41659,9 @@ var PowerPointViewer = forwardRef(
41648
41659
  );
41649
41660
  const zoom = useZoomViewport({
41650
41661
  canvasSize,
41651
- selectedElements: state.selectedElements
41662
+ selectedElements: state.selectedElements,
41663
+ fitPadding: props.fitPadding,
41664
+ maxFitScale: props.maxFitScale
41652
41665
  });
41653
41666
  const { setIsDirty } = state;
41654
41667
  const markDocumentDirty = useCallback(() => {
Binary file
Binary file