pptx-react-viewer 2.6.0 → 2.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/dist/{AiChatPanel-53W2JG6G.js → AiChatPanel-LBK6YRKH.js} +22 -22
  3. package/dist/AiChatPanel-LBK6YRKH.js.br +0 -0
  4. package/dist/AiChatPanel-LBK6YRKH.js.gz +0 -0
  5. package/dist/{AiChatPanel-L5IOO72H.mjs → AiChatPanel-RVZOGGFK.mjs} +3 -3
  6. package/dist/AiChatPanel-RVZOGGFK.mjs.br +0 -0
  7. package/dist/AiChatPanel-RVZOGGFK.mjs.gz +0 -0
  8. package/dist/{Model3DScene-E7JGXNJN.js → Model3DScene-L46RNRU5.js} +2 -2
  9. package/dist/Model3DScene-L46RNRU5.js.br +0 -0
  10. package/dist/Model3DScene-L46RNRU5.js.gz +0 -0
  11. package/dist/{Model3DScene-EW7OWRJK.mjs → Model3DScene-WBUZ74G3.mjs} +1 -1
  12. package/dist/Model3DScene-WBUZ74G3.mjs.br +0 -0
  13. package/dist/Model3DScene-WBUZ74G3.mjs.gz +0 -0
  14. package/dist/{SurfaceChart3DScene-64HI3U7Y.mjs → SurfaceChart3DScene-CB32AJS4.mjs} +1 -1
  15. package/dist/{SurfaceChart3DScene-64HI3U7Y.mjs.br → SurfaceChart3DScene-CB32AJS4.mjs.br} +0 -0
  16. package/dist/SurfaceChart3DScene-CB32AJS4.mjs.gz +0 -0
  17. package/dist/{SurfaceChart3DScene-3QB6NVKD.js → SurfaceChart3DScene-RWMGMREC.js} +2 -2
  18. package/dist/SurfaceChart3DScene-RWMGMREC.js.br +0 -0
  19. package/dist/SurfaceChart3DScene-RWMGMREC.js.gz +0 -0
  20. package/dist/{chunk-EJ24IFPL.js → chunk-2VE3LVKZ.js} +315 -315
  21. package/dist/chunk-2VE3LVKZ.js.br +0 -0
  22. package/dist/chunk-2VE3LVKZ.js.gz +0 -0
  23. package/dist/{chunk-NXSAYLYI.js → chunk-4O7PPQ2V.js} +245 -240
  24. package/dist/chunk-4O7PPQ2V.js.br +0 -0
  25. package/dist/chunk-4O7PPQ2V.js.gz +0 -0
  26. package/dist/{chunk-WCO3NEH5.mjs → chunk-54FSVX3O.mjs} +2 -2
  27. package/dist/chunk-54FSVX3O.mjs.br +0 -0
  28. package/dist/chunk-54FSVX3O.mjs.gz +0 -0
  29. package/dist/{chunk-VBWWICDF.js → chunk-AX4Q5JWN.js} +3 -3
  30. package/dist/chunk-AX4Q5JWN.js.br +0 -0
  31. package/dist/chunk-AX4Q5JWN.js.gz +0 -0
  32. package/dist/{chunk-UO55N46T.mjs → chunk-BL3WW2BS.mjs} +11 -9
  33. package/dist/chunk-BL3WW2BS.mjs.br +0 -0
  34. package/dist/chunk-BL3WW2BS.mjs.gz +0 -0
  35. package/dist/{chunk-34ZW32XK.mjs → chunk-EI456HZK.mjs} +69 -19
  36. package/dist/chunk-EI456HZK.mjs.br +0 -0
  37. package/dist/{chunk-34ZW32XK.mjs.gz → chunk-EI456HZK.mjs.gz} +0 -0
  38. package/dist/{chunk-PENV7S7Z.mjs → chunk-GC6HQMVG.mjs} +1 -1
  39. package/dist/chunk-GC6HQMVG.mjs.br +0 -0
  40. package/dist/{chunk-PENV7S7Z.mjs.gz → chunk-GC6HQMVG.mjs.gz} +0 -0
  41. package/dist/{chunk-V5XVTKFS.js → chunk-IEFH47TF.js} +847 -845
  42. package/dist/chunk-IEFH47TF.js.br +0 -0
  43. package/dist/chunk-IEFH47TF.js.gz +0 -0
  44. package/dist/{chunk-UVA55CRK.js → chunk-T7AMP24E.js} +69 -19
  45. package/dist/chunk-T7AMP24E.js.br +0 -0
  46. package/dist/{chunk-UVA55CRK.js.gz → chunk-T7AMP24E.js.gz} +0 -0
  47. package/dist/{chunk-DWQJW3UM.mjs → chunk-ZUNDIOGD.mjs} +11 -6
  48. package/dist/chunk-ZUNDIOGD.mjs.br +0 -0
  49. package/dist/chunk-ZUNDIOGD.mjs.gz +0 -0
  50. package/dist/index.js +34 -34
  51. package/dist/index.js.br +0 -0
  52. package/dist/index.js.gz +0 -0
  53. package/dist/index.mjs +5 -5
  54. package/dist/index.mjs.br +0 -0
  55. package/dist/index.mjs.gz +0 -0
  56. package/dist/internals.d.ts +5 -3
  57. package/dist/internals.js +78 -78
  58. package/dist/internals.js.br +0 -0
  59. package/dist/internals.js.gz +0 -0
  60. package/dist/internals.mjs +3 -3
  61. package/dist/internals.mjs.br +0 -0
  62. package/dist/internals.mjs.gz +0 -0
  63. package/dist/viewer/index.js +21 -21
  64. package/dist/viewer/index.js.br +0 -0
  65. package/dist/viewer/index.js.gz +0 -0
  66. package/dist/viewer/index.mjs +5 -5
  67. package/dist/viewer/index.mjs.br +0 -0
  68. package/dist/viewer/index.mjs.gz +0 -0
  69. package/package.json +1 -1
  70. package/dist/AiChatPanel-53W2JG6G.js.br +0 -0
  71. package/dist/AiChatPanel-53W2JG6G.js.gz +0 -0
  72. package/dist/AiChatPanel-L5IOO72H.mjs.br +0 -0
  73. package/dist/AiChatPanel-L5IOO72H.mjs.gz +0 -0
  74. package/dist/Model3DScene-E7JGXNJN.js.br +0 -0
  75. package/dist/Model3DScene-E7JGXNJN.js.gz +0 -0
  76. package/dist/Model3DScene-EW7OWRJK.mjs.br +0 -0
  77. package/dist/Model3DScene-EW7OWRJK.mjs.gz +0 -0
  78. package/dist/SurfaceChart3DScene-3QB6NVKD.js.br +0 -0
  79. package/dist/SurfaceChart3DScene-3QB6NVKD.js.gz +0 -0
  80. package/dist/SurfaceChart3DScene-64HI3U7Y.mjs.gz +0 -0
  81. package/dist/chunk-34ZW32XK.mjs.br +0 -0
  82. package/dist/chunk-DWQJW3UM.mjs.br +0 -0
  83. package/dist/chunk-DWQJW3UM.mjs.gz +0 -0
  84. package/dist/chunk-EJ24IFPL.js.br +0 -0
  85. package/dist/chunk-EJ24IFPL.js.gz +0 -0
  86. package/dist/chunk-NXSAYLYI.js.br +0 -0
  87. package/dist/chunk-NXSAYLYI.js.gz +0 -0
  88. package/dist/chunk-PENV7S7Z.mjs.br +0 -0
  89. package/dist/chunk-UO55N46T.mjs.br +0 -0
  90. package/dist/chunk-UO55N46T.mjs.gz +0 -0
  91. package/dist/chunk-UVA55CRK.js.br +0 -0
  92. package/dist/chunk-V5XVTKFS.js.br +0 -0
  93. package/dist/chunk-V5XVTKFS.js.gz +0 -0
  94. package/dist/chunk-VBWWICDF.js.br +0 -0
  95. package/dist/chunk-VBWWICDF.js.gz +0 -0
  96. package/dist/chunk-WCO3NEH5.mjs.br +0 -0
  97. package/dist/chunk-WCO3NEH5.mjs.gz +0 -0
Binary file
Binary file
@@ -1,6 +1,6 @@
1
- import { cloneHistorySnapshot, MAX_ZOOM_SCALE, MIN_ZOOM_SCALE, MIN_ELEMENT_SIZE, ZOOM_TO_SELECTION_PADDING, DEFAULT_CANVAS_HEIGHT, DEFAULT_CANVAS_WIDTH, partitionTemplateElements, UNGROUPED_SECTION_ID, stopAllPersistentAudio, buildSaveSlides, DEFAULT_TABLE_ROWS, DEFAULT_TABLE_COLUMNS, executeMediaCommand, buildPdfFromImageData, buildNotesPdf, EMU_PER_PX, GRID_SIZE, DEFAULT_TEXT_FONT_SIZE } from './chunk-DWQJW3UM.mjs';
1
+ import { cloneHistorySnapshot, MAX_ZOOM_SCALE, MIN_ZOOM_SCALE, MIN_ELEMENT_SIZE, ZOOM_TO_SELECTION_PADDING, DEFAULT_CANVAS_HEIGHT, DEFAULT_CANVAS_WIDTH, partitionTemplateElements, UNGROUPED_SECTION_ID, stopAllPersistentAudio, buildSaveSlides, DEFAULT_TABLE_ROWS, DEFAULT_TABLE_COLUMNS, executeMediaCommand, buildPdfFromImageData, buildNotesPdf, EMU_PER_PX, GRID_SIZE, DEFAULT_TEXT_FONT_SIZE } from './chunk-ZUNDIOGD.mjs';
2
2
  import { translationsEn } from './chunk-Z6HIZWIQ.mjs';
3
- import { TOOLBAR_TABS, computeVirtualRange, DEFAULT_VIRTUAL_OVERSCAN, BROADCAST_THROTTLE_MS, createSyncGate, clearLocalAwareness, validateRoomId, createDepartureChannel, resolveTransportForServerUrl, isMixedContentBlocked, CONNECTION_TIMEOUT_MS, registerCollaborationTeardown, sanitizeColor, cloneTemplateElementsBySlideId, cloneSlide, PresentationAnimationController, computeEntranceAnimationDelay, PRESENTATION_HASH, PRESENTATION_NONCE_KEY, PRESENTATION_CHANNEL_NAME, swapPresentationWindows, PRESENTATION_MESSAGE_ORIGIN, clearAudienceContent, buildPresentationAudienceUrl, resolveAudienceScreenPlacement, placeAudienceWindow, storeAudienceContent, isPresentationSessionMessage, endAudienceDisplay, createPresentationKeyBuffer, acceptsPresentationInput, buildMorphTransitionPlan, morphOptionToMode, createCollaborationLivePatcher, publishLiveInlineText, PptxHandler, collectMediaElements, collectImagePaths, buildInitialGuides, EncryptedFileError, saveAutosaveSnapshot, isTemplateElementId, hasShapeProperties, hasTextProperties, getInlineEditorSelection, applyStyleToSelectedSegments, setPendingSelectionRestore, applyCaseTransformToSegments, transformTextCase, addSection, renameSection, deleteSection, moveSectionUp, moveSectionDown, moveSlidesToSection, normalizeColorsForCapture, preprocessCssForCapture, downloadBlob, sanitizeDownloadFilename, slideProgressPercent, slideStatusLabel, EXPORT_ASSEMBLING_PERCENT, EXPORT_DONE_PERCENT, isExportAbortError, recordProgressPercent, applyThemeToData, THEME_PRESETS, themeColorSchemesEqual, comparePresentation, applyAcceptSlide, applyAcceptAllSlides, collectUsedFonts, detectTouchDevice, detectOrientation, isMobileViewport, MOBILE_BREAKPOINT, TABLET_BREAKPOINT, mayLeaveSlideShow, remapTextToSegments, guidePxToEmu, shouldLoopContinuously, applyRehearsalTimings, copyFormatFromElement, applyFormatToElement, createViewerOptionsStore, readSlidesFromYDoc, reconcileSlidesInYDoc, LOCAL_SYNC_ORIGIN, observeYDocSlides, shouldAutoFollowBroadcaster, createTouchGestureRecognizer, isKeyboardOpen, openPptxFile, readBackstageRecentFile, isActionHidden, buildElementClipboardPayload, generatePackageReadme, groupElements, generateElementId, makeCloneId, alignElements, distributeElements, bringForward, sendBackward, bringToFront, sendToBack, newTableElement, createDefaultChartElement, readViewportMetrics, computeKeyboardInset, mergeShapes, derivePresenceList, mapPresentationKey, buildPrintDocument, buildOutlineHtml, buildSlidesHtml, buildNotesHtml, buildHandoutsHtml, createBlankSlide, makeSlideId, buildThemeColorMap, reResolveSlideColors, createPresentationSessionId, resolveTransitionDurationMs, isUrlSafe, createPresenterTimer, createInitialPresentationSnapshot, mergePresentationSnapshot, presenterElapsed, stepPresenterZoom, resetPresenterTimer, togglePresenterTimer, canvasToJpegData, downloadDataUrl, pickSupportedMimeType, WEBM_MIME_CANDIDATES, fpsToFrameIntervalMs, segmentFrameCount, encodeGif, groupSlidesBySection, hasCopyableFormat, createBackstagePresentation, cloneElementForPaste, computeScrollDelta, getPresetShapeClipPath, svgPathToPolygons, polygonsToSvgPath, rerouteConnectorsForMovedElements, applyReroutedConnectors, SvgExporter, buildPrintHtmlDocument, deleteTableColumn, rebuildTableStructureInRawXml, insertTableColumn, deleteTableRow, insertTableRow, updateCellTextStyleInRawXml, updateCellTextInRawXml, splitCell, updateMergeAttrsInRawXml, mergeCells, isPpactionUrl, parsePpactionUrl, safeOpenUrl, ACTION_BUTTON_PRESETS, elementActionToPptxAction, buildSmartArtPresetData, computeSnapToShape, publishLiveGeometry, computeMarqueeHitIds, mergeAdditiveSelection, applyResize, snapBoxToGrid } from './chunk-34ZW32XK.mjs';
3
+ import { TOOLBAR_TABS, computeVirtualRange, DEFAULT_VIRTUAL_OVERSCAN, BROADCAST_THROTTLE_MS, createSyncGate, clearLocalAwareness, validateRoomId, createDepartureChannel, resolveTransportForServerUrl, isMixedContentBlocked, CONNECTION_TIMEOUT_MS, registerCollaborationTeardown, sanitizeColor, cloneTemplateElementsBySlideId, cloneSlide, PresentationAnimationController, computeEntranceAnimationDelay, PRESENTATION_HASH, PRESENTATION_NONCE_KEY, PRESENTATION_CHANNEL_NAME, swapPresentationWindows, PRESENTATION_MESSAGE_ORIGIN, clearAudienceContent, buildPresentationAudienceUrl, resolveAudienceScreenPlacement, placeAudienceWindow, storeAudienceContent, isPresentationSessionMessage, endAudienceDisplay, createPresentationKeyBuffer, acceptsPresentationInput, buildMorphTransitionPlan, morphOptionToMode, createCollaborationLivePatcher, publishLiveInlineText, PptxHandler, collectMediaElements, collectImagePaths, buildInitialGuides, EncryptedFileError, saveAutosaveSnapshot, isTemplateElementId, hasShapeProperties, hasTextProperties, getInlineEditorSelection, applyStyleToSelectedSegments, setPendingSelectionRestore, applyCaseTransformToSegments, transformTextCase, addSection, renameSection, deleteSection, moveSectionUp, moveSectionDown, moveSlidesToSection, normalizeColorsForCapture, preprocessCssForCapture, downloadBlob, sanitizeDownloadFilename, slideProgressPercent, slideStatusLabel, EXPORT_ASSEMBLING_PERCENT, EXPORT_DONE_PERCENT, isExportAbortError, recordProgressPercent, applyThemeToData, THEME_PRESETS, themeColorSchemesEqual, comparePresentation, applyAcceptSlide, applyAcceptAllSlides, collectUsedFonts, detectTouchDevice, detectOrientation, isMobileViewport, MOBILE_BREAKPOINT, TABLET_BREAKPOINT, mayLeaveSlideShow, remapTextToSegments, guidePxToEmu, shouldLoopContinuously, applyRehearsalTimings, copyFormatFromElement, applyFormatToElement, createViewerOptionsStore, readSlidesFromYDoc, reconcileSlidesInYDoc, LOCAL_SYNC_ORIGIN, observeYDocSlides, shouldAutoFollowBroadcaster, createTouchGestureRecognizer, isKeyboardOpen, openPptxFile, readBackstageRecentFile, isActionHidden, buildElementClipboardPayload, generatePackageReadme, groupElements, generateElementId, makeCloneId, alignElements, distributeElements, bringForward, sendBackward, bringToFront, sendToBack, newTableElement, createDefaultChartElement, readViewportMetrics, computeKeyboardInset, mergeShapes, derivePresenceList, mapPresentationKey, buildPrintDocument, buildOutlineHtml, buildSlidesHtml, buildNotesHtml, buildHandoutsHtml, createBlankSlide, makeSlideId, buildThemeColorMap, reResolveSlideColors, createPresentationSessionId, resolveTransitionDurationMs, isUrlSafe, createPresenterTimer, createInitialPresentationSnapshot, mergePresentationSnapshot, presenterElapsed, stepPresenterZoom, resetPresenterTimer, togglePresenterTimer, canvasToJpegData, downloadDataUrl, pickSupportedMimeType, WEBM_MIME_CANDIDATES, fpsToFrameIntervalMs, segmentFrameCount, encodeGif, groupSlidesBySection, hasCopyableFormat, createBackstagePresentation, cloneElementForPaste, computeScrollDelta, getPresetShapeClipPath, svgPathToPolygons, polygonsToSvgPath, rerouteConnectorsForMovedElements, applyReroutedConnectors, SvgExporter, buildPrintHtmlDocument, deleteTableColumn, rebuildTableStructureInRawXml, insertTableColumn, deleteTableRow, insertTableRow, updateCellTextStyleInRawXml, updateCellTextInRawXml, splitCell, updateMergeAttrsInRawXml, mergeCells, isPpactionUrl, parsePpactionUrl, safeOpenUrl, ACTION_BUTTON_PRESETS, elementActionToPptxAction, buildSmartArtPresetData, computeSnapToShape, publishLiveGeometry, computeMarqueeHitIds, mergeAdditiveSelection, applyResize, snapBoxToGrid } from './chunk-EI456HZK.mjs';
4
4
  import { useRef, useState, useEffect, useCallback, useMemo, useSyncExternalStore, useImperativeHandle } from 'react';
5
5
  import JSZip from 'jszip';
6
6
  import { useTranslation } from 'react-i18next';
Binary file
Binary file
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkUVA55CRK_js = require('./chunk-UVA55CRK.js');
3
+ var chunkT7AMP24E_js = require('./chunk-T7AMP24E.js');
4
4
  var chunk4VNS5WPM_js = require('./chunk-4VNS5WPM.js');
5
5
  var mcp = require('pptx-viewer-mcp');
6
6
  var mcpSchemas = require('pptx-viewer-mcp/schemas');
@@ -14879,7 +14879,7 @@ async function buildSlideMarkdown(slides, slideIndex2, meta3, options = {}) {
14879
14879
  };
14880
14880
  let markdown;
14881
14881
  try {
14882
- const converter = new chunkUVA55CRK_js.PptxMarkdownConverter(
14882
+ const converter = new chunkT7AMP24E_js.PptxMarkdownConverter(
14883
14883
  "",
14884
14884
  {
14885
14885
  sourceName: meta3.title ?? "deck.pptx",
@@ -15470,7 +15470,7 @@ var getTheme = (ctx) => {
15470
15470
  name: theme?.name,
15471
15471
  colorScheme: theme?.colorScheme,
15472
15472
  fontScheme: theme?.fontScheme,
15473
- availablePresets: Object.keys(chunkUVA55CRK_js.ThemePresets)
15473
+ availablePresets: Object.keys(chunkT7AMP24E_js.ThemePresets)
15474
15474
  };
15475
15475
  };
15476
15476
  var readExecutors = {
Binary file
Binary file
@@ -1,8 +1,8 @@
1
- import { computeFocusTargets, aiChangeAnimationCss, changeGhostStyle, createChatHistoryStore, toRenderableParts } from './chunk-PENV7S7Z.mjs';
2
- import { useReducedMotion, useViewerState, useViewerOptions, useIsMobile, useResizablePanels, useDerivedSlideState, useZoomViewport, useEditorHistory, usePresentationSetup, useTouchGestures, useViewerDialogs, useEditorOperations, useViewerIntegration, useYjsDocumentSync, useCollaborationLivePatch, useFollowMode, useBroadcastFollower, scopeLayoutOptionsToActiveSlide, useToolbarVisibility, useKeyboardInsets, useModalDismissDrag, useCollaborativeState, useVirtualizedSlides, useSwipeNavigation, useSheetDismissDrag, detectTargetType, parseEmailUrl, parseSlideFromUrl, ACTION_VERB_MAP, downloadBlob } from './chunk-WCO3NEH5.mjs';
3
- import { SHAPE_PRESETS, DEFAULT_STROKE_COLOR, getConnectorPathGeometry, buildLineShadowCss, buildLineGlowFilter, renderConnectorMarker, MIN_ELEMENT_SIZE, getShapeVisualStyle, getTextStyleForElement, DEFAULT_TEXT_COLOR, renderVectorShape, isConnectorOrLineElement, build3DExtrusionData, getImageRenderStyle, cn, ANIMATION_PRESET_OPTIONS, resolvePalette, resolveStyle, layoutToCategory, wrapChrome, DEFAULT_FILL_COLOR, hasDagDuotoneEffect, renderDagDuotoneSvgFilter, getTextLayoutStyle, renderTableElement, renderMediaElement, shouldRenderFallbackLabel, getCropShapeClipPath, SLIDE_TRANSITION_OPTIONS, SLIDE_NAV_THUMBNAIL_WIDTH, styleShadow, styleStroke, colour, fitFontSize, smartArtNodeGroupProps, chevronPoints, SmartArtNodeText, truncate, renderStepDownProcess, renderAlternatingFlow, renderDescendingProcess, renderPictureAccentList, renderVerticalBlockList, renderGroupedList, renderPyramidList, renderHorizontalPictureList, renderAccentProcess, renderVerticalChevronList, isImageTiled, getImageTilingStyle, getDuotoneColors, getTextWarpStyle, renderTextSegments, buildReactChartViewModel, renderChartElement, buildTextBody3DSceneStyle, TOOLBAR_SECTIONS, SHORTCUT_REFERENCE_ITEMS as SHORTCUT_REFERENCE_ITEMS$1, buildTree, treeWidth, treeDepth, nodeOpacity, gearPath, resolveSmartArtDataPalette, DEFAULT_TEXT_FONT_SIZE, DEFAULT_FONT_FAMILY, HYPERLINK_COLOR, GRID_SIZE, startPreviewAnimation, stopPreviewAnimation } from './chunk-DWQJW3UM.mjs';
1
+ import { computeFocusTargets, aiChangeAnimationCss, changeGhostStyle, createChatHistoryStore, toRenderableParts } from './chunk-GC6HQMVG.mjs';
2
+ import { useReducedMotion, useViewerState, useViewerOptions, useIsMobile, useResizablePanels, useDerivedSlideState, useZoomViewport, useEditorHistory, usePresentationSetup, useTouchGestures, useViewerDialogs, useEditorOperations, useViewerIntegration, useYjsDocumentSync, useCollaborationLivePatch, useFollowMode, useBroadcastFollower, scopeLayoutOptionsToActiveSlide, useToolbarVisibility, useKeyboardInsets, useModalDismissDrag, useCollaborativeState, useVirtualizedSlides, useSwipeNavigation, useSheetDismissDrag, detectTargetType, parseEmailUrl, parseSlideFromUrl, ACTION_VERB_MAP, downloadBlob } from './chunk-54FSVX3O.mjs';
3
+ import { SHAPE_PRESETS, DEFAULT_STROKE_COLOR, getConnectorPathGeometry, buildLineShadowCss, buildLineGlowFilter, renderConnectorMarker, MIN_ELEMENT_SIZE, getShapeVisualStyle, getTextStyleForElement, DEFAULT_TEXT_COLOR, renderVectorShape, isConnectorOrLineElement, build3DExtrusionData, getImageRenderStyle, cn, ANIMATION_PRESET_OPTIONS, resolvePalette, resolveStyle, layoutToCategory, wrapChrome, DEFAULT_FILL_COLOR, hasDagDuotoneEffect, renderDagDuotoneSvgFilter, getTextLayoutStyle, renderTableElement, renderMediaElement, shouldRenderFallbackLabel, getCropShapeClipPath, SLIDE_TRANSITION_OPTIONS, SLIDE_NAV_THUMBNAIL_WIDTH, styleShadow, styleStroke, colour, fitFontSize, smartArtNodeGroupProps, chevronPoints, SmartArtNodeText, truncate, renderStepDownProcess, renderAlternatingFlow, renderDescendingProcess, renderPictureAccentList, renderVerticalBlockList, renderGroupedList, renderPyramidList, renderHorizontalPictureList, renderAccentProcess, renderVerticalChevronList, isImageTiled, getImageTilingStyle, getDuotoneColors, getTextWarpStyle, renderTextSegments, buildReactChartViewModel, renderChartElement, buildTextBody3DSceneStyle, TOOLBAR_SECTIONS, SHORTCUT_REFERENCE_ITEMS as SHORTCUT_REFERENCE_ITEMS$1, buildTree, treeWidth, treeDepth, nodeOpacity, gearPath, resolveSmartArtDataPalette, DEFAULT_TEXT_FONT_SIZE, DEFAULT_FONT_FAMILY, HYPERLINK_COLOR, GRID_SIZE, startPreviewAnimation, stopPreviewAnimation } from './chunk-ZUNDIOGD.mjs';
4
4
  import { LOCALE_CATALOG, translationsEn } from './chunk-Z6HIZWIQ.mjs';
5
- import { RULER_THICKNESS, RULER_FONT_SIZE, hasShapeProperties, normalizeHexColor, colorWithOpacity, normalizeStrokeDashType, getSvgStrokeDasharray, getCompoundLineOffsets, getCompoundLineWidths, svgLineCap, hasTextProperties, getElementTransform, ACTION_BUTTON_PRESETS, isEditableTextElement, getAriaRole, getAriaLabel, getAriaRoleDescription, getImageEffectsOpacity, getImageEffectsFilter, getElementTransformWithoutRotation, SWITCHABLE_LAYOUT_TYPES, EQUATION_TEMPLATES, convertLatexToOmml, convertOmmlToMathMl, sanitizeMathMl, DEFAULT_VIEWER_OPTIONS, buildUserFontFaceStyles, readStoredViewerPrefs, resolveThemeCatalogEntry, THEME_CATALOG, writeStoredViewerPrefs, openPptxFile, readBackstageRecentFile, viewerOptionsToPreferences, applyPreferenceToOptions, listAutosaveSnapshots, deleteAutosaveSnapshot, revealedSmartArtNodeCount, buildSmartArtA11y, buildCssGradientFromShapeStyle, resolveGroupChildFill, getGroupChildParentFill, getComputedEffectStyle, getSoftEdgeSvgFilter, isInkElement, getElementLabel, buildPreviewElements, themeToCssVars, DEFAULT_INSERT_CHART_TYPE, hasCopyableFormat, createBackstagePresentation, printPropertiesFrameSlides, printPropertiesSlidesPerPage, VIEWER_OPTIONS_TABS, DEFAULT_QUICK_ACCESS_COMMAND_IDS, buildJoinCollaborationConfig, buildCreateCollaborationConfig, generateBroadcastRoomId, DEFAULT_BROADCAST_SERVER_URL, buildBroadcastViewerUrl, resolveTransportForServerUrl, resolveDrawingShapeNodeId, buildSummaryZoomView, getImageColorWashStyle, isImageLikeElement, getPendingSelectionRestore, restoreSegmentSelection, getTextCompensationTransform, applyChartBuildReveal, formatAxisValue, hasPressureVariation, getInkReplayStyles, INK_REPLAY_KEYFRAMES, resolveInkColor, resolveInkWidth, resolveInkOpacity, pressuresToWidths, getContentPartReplayStyles, resolveOleType, getOleTypeColor, getOleTypeLabel, getLinkedTextBoxSegments, shouldUseSvgWarp, getSlideBackgroundStyle, filterCommands, resolveTitleBarStatusKey, TITLE_BAR_CLASSES, TITLE_BAR_DEFAULT_FILE_KEY, shouldConfirmExternalHyperlink, safeOpenUrl, isPpactionUrl, parsePpactionUrl, themeColorSchemesEqual, formatVersionTimestamp, formatRelativeTime, scanAvailableFontFamilies, PRESETS, CATEGORIES, convertOmmlToLatex, clampPercent, HANDOUT_OPTIONS, TOOLBAR_TABS, SHORTCUT_REFERENCE_ITEMS, resolveViewerAddinRows, availableQuickAccessCommands, addQuickAccessCommand, removeQuickAccessCommand, moveQuickAccessCommand, activateModalFocus, buildCollaborationShareUrl, mobileElapsedSince, isFirstSlide, isLastSlide, formatMobileElapsed, mobileSlideCounter, presenterPaneAdvancesOnClick, formatElapsed, computeInlineEditorRect, findSmartArtNodeText, setSmartArtNodeStyle, rebuildDrawingShapesIfCleared, shouldCommitSmartArtNodeText, updateSmartArtNodeText, 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, getSubstituteFontFamily, getWarpPath, TAB_ROW_ACTION_CLASSES, listBackstageRecentFiles, BACKSTAGE_NAV, INSERT_CHART_TYPES, SLIDE_VIRTUALIZATION_THRESHOLD, getSlideTransitionAnimations, SLIDE_TRANSITION_KEYFRAMES, presentationInkPath, getShapeAdjustmentHandleDescriptor, formatSlideCounter, isUrlSafe, computeHandoutLayout, getPrintableArea, generateNoteLineCount, computeAllNotesPages, getNotesPrintableArea, QUICK_ACCESS_COMMAND_CATALOG, notesSegmentsToSpans, erasePresentationInkAt, movePresenterPointer, appendPresentationInkPoint, NOTES_FONT_SIZE_DEFAULT, formatTime, NOTES_FONT_SIZE_MIN, clampNotesFontSize, NOTES_FONT_SIZE_STEP, NOTES_FONT_SIZE_MAX, groupIntoParagraphs, substituteFieldText, BACKSTAGE_TEMPLATES, formatBackstageDate, formatBackstageSize, DEFAULT_VIEWER_PROFILE, resolveProfileInitial, AVATAR_COLOR_SWATCHES, getConnectionSites, generateTicks, getCommentMarkerPosition, buildThemeColorGrid, THEME_COLOR_SCHEME_KEYS, THEME_COLOR_LABELS, buildSmartArtPresetData, getLocalStorageUsageSummary, saveViewerProfile, clearAllLocalViewerData, TABLE_STYLE_PRESETS, chartDataChangeType, chartDataUpdatePoint, chartDataAddCategory, chartDataRemoveCategory, chartDataAddSeries, chartDataRemoveSeries, setChartAxisLogScale, setChartAxisTitleStyle, setChartAxisGridlineStyle, setChartSeriesMarker, setChartSeriesChartType, setChartDataPointFill, setChartDataPointExplosion, setChartDataPointMarker, setChartDataPointLabel, getOleObjectTypeLabel, pptxActionToElementAction, withFrameSlides, withSlidesPerPage, applyThemeOverrideToSlide, COLOR_MAP_ALIAS_KEYS, DEFAULT_COLOR_MAP, formatCommentTimestamp, DIRECTIONAL_PRESETS, computeMergeCellRight, computeMergeCellDown, computeSplitCell, addSmartArtNodeAsChild, removeSmartArtNode, DUOTONE_PRESETS, ARTISTIC_EFFECTS, elementActionToPptxAction, LBL, SEL, FILL_MODE_OPTIONS, SECTION_HEADING, NUM, switchSmartArtLayout, addSmartArtNode, demoteSmartArtNode, promoteSmartArtNode, reorderSmartArtNode, GRADIENT_TYPE_OPTIONS, PATTERN_OPTIONS } from './chunk-34ZW32XK.mjs';
5
+ import { RULER_THICKNESS, RULER_FONT_SIZE, hasShapeProperties, normalizeHexColor, colorWithOpacity, normalizeStrokeDashType, getSvgStrokeDasharray, getCompoundLineOffsets, getCompoundLineWidths, svgLineCap, hasTextProperties, getElementTransform, ACTION_BUTTON_PRESETS, isEditableTextElement, getAriaRole, getAriaLabel, getAriaRoleDescription, getImageEffectsOpacity, getImageEffectsFilter, getElementTransformWithoutRotation, SWITCHABLE_LAYOUT_TYPES, EQUATION_TEMPLATES, convertLatexToOmml, convertOmmlToMathMl, sanitizeMathMl, DEFAULT_VIEWER_OPTIONS, buildUserFontFaceStyles, readStoredViewerPrefs, resolveThemeCatalogEntry, THEME_CATALOG, writeStoredViewerPrefs, openPptxFile, readBackstageRecentFile, viewerOptionsToPreferences, applyPreferenceToOptions, listAutosaveSnapshots, deleteAutosaveSnapshot, revealedSmartArtNodeCount, buildSmartArtA11y, buildCssGradientFromShapeStyle, resolveGroupChildFill, getGroupChildParentFill, getComputedEffectStyle, getSoftEdgeSvgFilter, isInkElement, getElementLabel, buildPreviewElements, themeToCssVars, DEFAULT_INSERT_CHART_TYPE, hasCopyableFormat, createBackstagePresentation, printPropertiesFrameSlides, printPropertiesSlidesPerPage, VIEWER_OPTIONS_TABS, DEFAULT_QUICK_ACCESS_COMMAND_IDS, buildJoinCollaborationConfig, buildCreateCollaborationConfig, generateBroadcastRoomId, DEFAULT_BROADCAST_SERVER_URL, buildBroadcastViewerUrl, resolveTransportForServerUrl, resolveDrawingShapeNodeId, buildSummaryZoomView, getImageColorWashStyle, isImageLikeElement, getPendingSelectionRestore, restoreSegmentSelection, getTextCompensationTransform, applyChartBuildReveal, formatAxisValue, hasPressureVariation, getInkReplayStyles, INK_REPLAY_KEYFRAMES, resolveInkColor, resolveInkWidth, resolveInkOpacity, pressuresToWidths, getContentPartReplayStyles, resolveOleType, getOleTypeColor, getOleTypeLabel, getLinkedTextBoxSegments, shouldUseSvgWarp, getSlideBackgroundStyle, filterCommands, resolveTitleBarStatusKey, TITLE_BAR_CLASSES, TITLE_BAR_DEFAULT_FILE_KEY, shouldConfirmExternalHyperlink, safeOpenUrl, isPpactionUrl, parsePpactionUrl, themeColorSchemesEqual, formatVersionTimestamp, formatRelativeTime, scanAvailableFontFamilies, PRESETS, CATEGORIES, convertOmmlToLatex, clampPercent, HANDOUT_OPTIONS, TOOLBAR_TABS, SHORTCUT_REFERENCE_ITEMS, resolveViewerAddinRows, availableQuickAccessCommands, addQuickAccessCommand, removeQuickAccessCommand, moveQuickAccessCommand, activateModalFocus, buildCollaborationShareUrl, mobileElapsedSince, isFirstSlide, isLastSlide, formatMobileElapsed, mobileSlideCounter, presenterPaneAdvancesOnClick, formatElapsed, computeInlineEditorRect, findSmartArtNodeText, setSmartArtNodeStyle, rebuildDrawingShapesIfCleared, shouldCommitSmartArtNodeText, updateSmartArtNodeText, 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, getSubstituteFontFamily, getWarpPath, TAB_ROW_ACTION_CLASSES, listBackstageRecentFiles, BACKSTAGE_NAV, INSERT_CHART_TYPES, SLIDE_VIRTUALIZATION_THRESHOLD, getSlideTransitionAnimations, SLIDE_TRANSITION_KEYFRAMES, presentationInkPath, getShapeAdjustmentHandleDescriptor, formatSlideCounter, isUrlSafe, computeHandoutLayout, getPrintableArea, generateNoteLineCount, computeAllNotesPages, getNotesPrintableArea, QUICK_ACCESS_COMMAND_CATALOG, notesSegmentsToSpans, erasePresentationInkAt, movePresenterPointer, appendPresentationInkPoint, NOTES_FONT_SIZE_DEFAULT, formatTime, NOTES_FONT_SIZE_MIN, clampNotesFontSize, NOTES_FONT_SIZE_STEP, NOTES_FONT_SIZE_MAX, groupIntoParagraphs, substituteFieldText, BACKSTAGE_TEMPLATES, formatBackstageDate, formatBackstageSize, DEFAULT_VIEWER_PROFILE, resolveProfileInitial, AVATAR_COLOR_SWATCHES, getConnectionSites, generateTicks, getCommentMarkerPosition, buildThemeColorGrid, THEME_COLOR_SCHEME_KEYS, THEME_COLOR_LABELS, buildSmartArtPresetData, getLocalStorageUsageSummary, saveViewerProfile, clearAllLocalViewerData, TABLE_STYLE_PRESETS, chartDataChangeType, chartDataUpdatePoint, chartDataAddCategory, chartDataRemoveCategory, chartDataAddSeries, chartDataRemoveSeries, setChartAxisLogScale, setChartAxisTitleStyle, setChartAxisGridlineStyle, setChartSeriesMarker, setChartSeriesChartType, setChartDataPointFill, setChartDataPointExplosion, setChartDataPointMarker, setChartDataPointLabel, getOleObjectTypeLabel, pptxActionToElementAction, withFrameSlides, withSlidesPerPage, applyThemeOverrideToSlide, COLOR_MAP_ALIAS_KEYS, DEFAULT_COLOR_MAP, formatCommentTimestamp, DIRECTIONAL_PRESETS, computeMergeCellRight, computeMergeCellDown, computeSplitCell, addSmartArtNodeAsChild, removeSmartArtNode, DUOTONE_PRESETS, ARTISTIC_EFFECTS, elementActionToPptxAction, LBL, SEL, FILL_MODE_OPTIONS, SECTION_HEADING, NUM, switchSmartArtLayout, addSmartArtNode, demoteSmartArtNode, promoteSmartArtNode, reorderSmartArtNode, GRADIENT_TYPE_OPTIONS, PATTERN_OPTIONS } from './chunk-EI456HZK.mjs';
6
6
  import React32, { createContext, useMemo, useState, useCallback, lazy, forwardRef, useEffect, useRef, useContext, Suspense, useLayoutEffect, useDeferredValue } from 'react';
7
7
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
8
8
  import { useTranslation } from 'react-i18next';
@@ -1337,7 +1337,7 @@ function AccountPage() {
1337
1337
  return void 0;
1338
1338
  });
1339
1339
  };
1340
- const version = "2.5.3" ;
1340
+ const version = "2.6.0" ;
1341
1341
  return /* @__PURE__ */ jsxs("div", { className: "mt-8 max-w-[700px] space-y-6", children: [
1342
1342
  /* @__PURE__ */ jsxs("section", { className: cardClass, children: [
1343
1343
  /* @__PURE__ */ jsxs("h2", { className: "flex items-center gap-2 text-sm font-semibold", children: [
@@ -8341,7 +8341,7 @@ function FailedToLoad() {
8341
8341
  var LazyModel3DScene = React32.lazy(
8342
8342
  async () => {
8343
8343
  try {
8344
- return await import('./Model3DScene-EW7OWRJK.mjs');
8344
+ return await import('./Model3DScene-WBUZ74G3.mjs');
8345
8345
  } catch {
8346
8346
  return { default: FailedToLoad };
8347
8347
  }
@@ -31623,7 +31623,7 @@ ${url}`)) {
31623
31623
  )
31624
31624
  );
31625
31625
  }
31626
- var AiChatPanel = lazy(() => import('./AiChatPanel-L5IOO72H.mjs'));
31626
+ var AiChatPanel = lazy(() => import('./AiChatPanel-RVZOGGFK.mjs'));
31627
31627
  function AiChatPanelLazy(props) {
31628
31628
  return /* @__PURE__ */ jsx(
31629
31629
  Suspense,
@@ -34887,6 +34887,8 @@ var PowerPointViewer = forwardRef(
34887
34887
  const { optionsStore, options: viewerOptions } = useViewerOptions();
34888
34888
  const settingsRef = useRef(settings);
34889
34889
  settingsRef.current = settings;
34890
+ const handleSettingsChangeRef = useRef(handleSettingsChange);
34891
+ handleSettingsChangeRef.current = handleSettingsChange;
34890
34892
  const syncingFromOptionsRef = useRef(false);
34891
34893
  useEffect(() => {
34892
34894
  const mapped = viewerOptionsToPreferences(viewerOptions);
@@ -34894,13 +34896,13 @@ var PowerPointViewer = forwardRef(
34894
34896
  for (const key of Object.keys(mapped)) {
34895
34897
  if (mapped[key] !== settingsRef.current[key]) {
34896
34898
  changed = true;
34897
- handleSettingsChange(key, mapped[key]);
34899
+ handleSettingsChangeRef.current(key, mapped[key]);
34898
34900
  }
34899
34901
  }
34900
34902
  if (changed) {
34901
34903
  syncingFromOptionsRef.current = true;
34902
34904
  }
34903
- }, [viewerOptions, handleSettingsChange]);
34905
+ }, [viewerOptions]);
34904
34906
  useEffect(() => {
34905
34907
  const current = optionsStore.getOptions();
34906
34908
  const mapped = viewerOptionsToPreferences(current);
Binary file
Binary file
@@ -64359,18 +64359,6 @@ var PptxHandlerRuntime67 = class _PptxHandlerRuntime30 extends PptxHandlerRuntim
64359
64359
  if (hasShapeProperties(el) && el.shapeStyle?.strokeWidth) {
64360
64360
  el.shapeStyle.strokeWidth *= avgScale;
64361
64361
  }
64362
- if (hasTextProperties(el)) {
64363
- if (el.textStyle?.fontSize) {
64364
- el.textStyle.fontSize *= Math.abs(scaleY);
64365
- }
64366
- if (el.textSegments) {
64367
- el.textSegments.forEach((seg) => {
64368
- if (seg.style.fontSize) {
64369
- seg.style.fontSize *= Math.abs(scaleY);
64370
- }
64371
- });
64372
- }
64373
- }
64374
64362
  return el;
64375
64363
  };
64376
64364
  this.unwrapAlternateContent(group);
@@ -98367,14 +98355,14 @@ function matchMorphElementsFull(fromSlide, toSlide) {
98367
98355
  }
98368
98356
  }
98369
98357
  for (const fromEl of fromSlide.elements) {
98370
- if (usedFrom.has(fromEl.id)) {
98358
+ if (usedFrom.has(fromEl.id) || !fromEl.shapeId) {
98371
98359
  continue;
98372
98360
  }
98373
98361
  for (const toEl of toSlide.elements) {
98374
98362
  if (usedTo.has(toEl.id)) {
98375
98363
  continue;
98376
98364
  }
98377
- if (fromEl.id === toEl.id) {
98365
+ if (toEl.shapeId && fromEl.shapeId === toEl.shapeId && fromEl.type === toEl.type) {
98378
98366
  pairs2.push({ fromElement: fromEl, toElement: toEl });
98379
98367
  usedFrom.add(fromEl.id);
98380
98368
  usedTo.add(toEl.id);
@@ -98615,6 +98603,30 @@ function buildStrokeInterpolationProps(fromElement, toElement) {
98615
98603
  toWidth
98616
98604
  };
98617
98605
  }
98606
+ function appearanceSignature(element) {
98607
+ const parts = [element.type];
98608
+ if (hasShapeProperties(element)) {
98609
+ const style = element.shapeStyle;
98610
+ parts.push(
98611
+ element.shapeType ?? "",
98612
+ style?.fillMode ?? "",
98613
+ style?.fillColor ?? "",
98614
+ style?.fillGradient ?? "",
98615
+ String(style?.fillOpacity ?? ""),
98616
+ style?.strokeColor ?? "",
98617
+ String(style?.strokeWidth ?? "")
98618
+ );
98619
+ }
98620
+ const image = element;
98621
+ parts.push(image.imagePath ?? "", image.svgPath ?? "");
98622
+ if (hasTextProperties(element)) {
98623
+ parts.push(element.text ?? "", element.textStyle?.color ?? "");
98624
+ }
98625
+ return parts.join("");
98626
+ }
98627
+ function morphPairNeedsCrossfade(fromElement, toElement) {
98628
+ return appearanceSignature(fromElement) !== appearanceSignature(toElement);
98629
+ }
98618
98630
  function generateMorphAnimations(pairs2, durationMs, _mode = "object") {
98619
98631
  const animations = [];
98620
98632
  for (let index = 0; index < pairs2.length; index++) {
@@ -98627,9 +98639,10 @@ function generateMorphAnimations(pairs2, durationMs, _mode = "object") {
98627
98639
  const dr = (fromElement.rotation ?? 0) - (toElement.rotation ?? 0);
98628
98640
  const fromOpacity = fromElement.opacity ?? 1;
98629
98641
  const toOpacity = toElement.opacity ?? 1;
98642
+ const crossfades = morphPairNeedsCrossfade(fromElement, toElement);
98630
98643
  const fromProps = [
98631
98644
  ` transform: translate(${dx}px, ${dy}px) scale(${sx}, ${sy}) rotate(${dr}deg);`,
98632
- ` opacity: ${fromOpacity};`
98645
+ ` opacity: ${crossfades ? 0 : fromOpacity};`
98633
98646
  ];
98634
98647
  const toProps = [
98635
98648
  " transform: translate(0, 0) scale(1, 1) rotate(0deg);",
@@ -98662,6 +98675,40 @@ ${toProps.join("\n")}
98662
98675
  }
98663
98676
  return animations;
98664
98677
  }
98678
+ function generateMorphGhostAnimations(pairs2, durationMs, startIndex) {
98679
+ const animations = [];
98680
+ for (let index = 0; index < pairs2.length; index++) {
98681
+ const { fromElement, toElement } = pairs2[index];
98682
+ const fadesOut = morphPairNeedsCrossfade(fromElement, toElement);
98683
+ const safeName = `pptx-morph-ghost-${startIndex + index}-${fromElement.id.replace(/[^a-zA-Z0-9]/gu, "")}`;
98684
+ const dx = toElement.x - fromElement.x;
98685
+ const dy = toElement.y - fromElement.y;
98686
+ const sx = Math.max(toElement.width, 1) / Math.max(fromElement.width, 1);
98687
+ const sy = Math.max(toElement.height, 1) / Math.max(fromElement.height, 1);
98688
+ const dr = (toElement.rotation ?? 0) - (fromElement.rotation ?? 0);
98689
+ const originX = fromElement.x + fromElement.width / 2;
98690
+ const originY = fromElement.y + fromElement.height / 2;
98691
+ const keyframes = `
98692
+ @keyframes ${safeName} {
98693
+ from {
98694
+ transform-origin: ${originX}px ${originY}px;
98695
+ transform: translate(0, 0) scale(1, 1) rotate(0deg);
98696
+ opacity: ${fromElement.opacity ?? 1};
98697
+ }
98698
+ to {
98699
+ transform-origin: ${originX}px ${originY}px;
98700
+ transform: translate(${dx}px, ${dy}px) scale(${sx}, ${sy}) rotate(${dr}deg);
98701
+ opacity: ${fadesOut ? 0 : fromElement.opacity ?? 1};
98702
+ }
98703
+ }`;
98704
+ animations.push({
98705
+ elementId: fromElement.id,
98706
+ animation: `${safeName} ${durationMs}ms ${MORPH_EASING} forwards`,
98707
+ keyframes
98708
+ });
98709
+ }
98710
+ return animations;
98711
+ }
98665
98712
  function generateUnmatchedFadeOutAnimations(elements, durationMs, startIndex) {
98666
98713
  return elements.map((el, i) => {
98667
98714
  const safeName = `pptx-morph-fadeout-${startIndex + i}-${el.id.replace(/[^a-zA-Z0-9]/gu, "")}`;
@@ -98739,16 +98786,18 @@ function generateFullMorphTransition(fromSlide, toSlide, durationMs, mode = "obj
98739
98786
  }
98740
98787
  }
98741
98788
  }
98789
+ const ghosts = generateMorphGhostAnimations(matchResult.pairs, durationMs, pairAnims.length);
98790
+ allAnimations.push(...ghosts);
98742
98791
  const fadeOuts = generateUnmatchedFadeOutAnimations(
98743
98792
  matchResult.unmatchedFrom,
98744
98793
  durationMs,
98745
- pairAnims.length
98794
+ pairAnims.length + ghosts.length
98746
98795
  );
98747
98796
  allAnimations.push(...fadeOuts);
98748
98797
  const fadeIns = generateUnmatchedFadeInAnimations(
98749
98798
  matchResult.unmatchedTo,
98750
98799
  durationMs,
98751
- pairAnims.length + fadeOuts.length
98800
+ pairAnims.length + ghosts.length + fadeOuts.length
98752
98801
  );
98753
98802
  allAnimations.push(...fadeIns);
98754
98803
  return allAnimations;
@@ -98771,7 +98820,8 @@ function buildMorphTransitionPlan(fromSlide, toSlide, durationMs, mode = "object
98771
98820
  return void 0;
98772
98821
  }
98773
98822
  const animations = generateFullMorphTransition(fromSlide, toSlide, durationMs, mode);
98774
- const outgoingIds = new Set(match.unmatchedFrom.map((element) => element.id));
98823
+ const outgoingElements = [...fromSlide.elements];
98824
+ const outgoingIds = new Set(outgoingElements.map((element) => element.id));
98775
98825
  const incomingAnimations = /* @__PURE__ */ new Map();
98776
98826
  const outgoingAnimations = /* @__PURE__ */ new Map();
98777
98827
  const keyframes = [];
@@ -98787,7 +98837,7 @@ function buildMorphTransitionPlan(fromSlide, toSlide, durationMs, mode = "object
98787
98837
  keyframesCss: keyframes.join("\n"),
98788
98838
  incomingAnimations,
98789
98839
  outgoingAnimations,
98790
- outgoingElements: match.unmatchedFrom,
98840
+ outgoingElements,
98791
98841
  durationMs
98792
98842
  };
98793
98843
  }
Binary file
@@ -1,4 +1,4 @@
1
- import { ThemePresets, PptxMarkdownConverter } from './chunk-34ZW32XK.mjs';
1
+ import { ThemePresets, PptxMarkdownConverter } from './chunk-EI456HZK.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';
Binary file