pptx-react-viewer 2.6.2 → 2.6.3

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 (95) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/dist/{AiChatPanel-5IAXQYGH.mjs → AiChatPanel-XT26Z3KM.mjs} +3 -3
  3. package/dist/AiChatPanel-XT26Z3KM.mjs.br +0 -0
  4. package/dist/AiChatPanel-XT26Z3KM.mjs.gz +0 -0
  5. package/dist/{AiChatPanel-IC2Q3H3N.js → AiChatPanel-Y4XJ4THX.js} +22 -22
  6. package/dist/AiChatPanel-Y4XJ4THX.js.br +0 -0
  7. package/dist/AiChatPanel-Y4XJ4THX.js.gz +0 -0
  8. package/dist/{Model3DScene-UEU7L4QY.mjs → Model3DScene-IQDJJZAM.mjs} +1 -1
  9. package/dist/{Model3DScene-UEU7L4QY.mjs.br → Model3DScene-IQDJJZAM.mjs.br} +0 -0
  10. package/dist/Model3DScene-IQDJJZAM.mjs.gz +0 -0
  11. package/dist/{Model3DScene-GOFY2PQS.js → Model3DScene-OBG67YKJ.js} +2 -2
  12. package/dist/{Model3DScene-GOFY2PQS.js.br → Model3DScene-OBG67YKJ.js.br} +0 -0
  13. package/dist/Model3DScene-OBG67YKJ.js.gz +0 -0
  14. package/dist/{SurfaceChart3DScene-KCJUDJUK.mjs → SurfaceChart3DScene-KFIHKHEB.mjs} +1 -1
  15. package/dist/{SurfaceChart3DScene-KCJUDJUK.mjs.br → SurfaceChart3DScene-KFIHKHEB.mjs.br} +0 -0
  16. package/dist/SurfaceChart3DScene-KFIHKHEB.mjs.gz +0 -0
  17. package/dist/{SurfaceChart3DScene-5TILKZMY.js → SurfaceChart3DScene-OJR7PBUU.js} +2 -2
  18. package/dist/SurfaceChart3DScene-OJR7PBUU.js.br +0 -0
  19. package/dist/SurfaceChart3DScene-OJR7PBUU.js.gz +0 -0
  20. package/dist/{chunk-XROVGBFQ.js → chunk-5ZI2ZG5E.js} +236 -236
  21. package/dist/chunk-5ZI2ZG5E.js.br +0 -0
  22. package/dist/chunk-5ZI2ZG5E.js.gz +0 -0
  23. package/dist/{chunk-TMU7Z3CU.js → chunk-6W4AEXA3.js} +843 -843
  24. package/dist/chunk-6W4AEXA3.js.br +0 -0
  25. package/dist/chunk-6W4AEXA3.js.gz +0 -0
  26. package/dist/{chunk-UV5R7IQY.mjs → chunk-77XK7DJE.mjs} +2 -2
  27. package/dist/chunk-77XK7DJE.mjs.br +0 -0
  28. package/dist/chunk-77XK7DJE.mjs.gz +0 -0
  29. package/dist/{chunk-IGYK3NK5.js → chunk-AH5DPIY2.js} +3 -3
  30. package/dist/chunk-AH5DPIY2.js.br +0 -0
  31. package/dist/chunk-AH5DPIY2.js.gz +0 -0
  32. package/dist/{chunk-Y6H2RSLB.mjs → chunk-FV5GXJ4L.mjs} +14 -1
  33. package/dist/chunk-FV5GXJ4L.mjs.br +0 -0
  34. package/dist/{chunk-Y6H2RSLB.mjs.gz → chunk-FV5GXJ4L.mjs.gz} +0 -0
  35. package/dist/{chunk-G7PJSVUS.js → chunk-HHQRYCLW.js} +14 -1
  36. package/dist/chunk-HHQRYCLW.js.br +0 -0
  37. package/dist/{chunk-G7PJSVUS.js.gz → chunk-HHQRYCLW.js.gz} +0 -0
  38. package/dist/{chunk-MQYNBEOY.mjs → chunk-I6XL525L.mjs} +10 -4
  39. package/dist/chunk-I6XL525L.mjs.br +0 -0
  40. package/dist/chunk-I6XL525L.mjs.gz +0 -0
  41. package/dist/{chunk-W27U3GQS.js → chunk-JPACC7ZB.js} +323 -317
  42. package/dist/chunk-JPACC7ZB.js.br +0 -0
  43. package/dist/chunk-JPACC7ZB.js.gz +0 -0
  44. package/dist/{chunk-Y4TIW2MM.mjs → chunk-KYAV5V7C.mjs} +1 -1
  45. package/dist/chunk-KYAV5V7C.mjs.br +0 -0
  46. package/dist/chunk-KYAV5V7C.mjs.gz +0 -0
  47. package/dist/{chunk-LJPRMPNA.mjs → chunk-V6HOH4XZ.mjs} +7 -7
  48. package/dist/chunk-V6HOH4XZ.mjs.br +0 -0
  49. package/dist/chunk-V6HOH4XZ.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.js +78 -78
  57. package/dist/internals.js.br +0 -0
  58. package/dist/internals.js.gz +0 -0
  59. package/dist/internals.mjs +3 -3
  60. package/dist/internals.mjs.br +0 -0
  61. package/dist/internals.mjs.gz +0 -0
  62. package/dist/viewer/index.js +21 -21
  63. package/dist/viewer/index.js.br +0 -0
  64. package/dist/viewer/index.js.gz +0 -0
  65. package/dist/viewer/index.mjs +5 -5
  66. package/dist/viewer/index.mjs.br +0 -0
  67. package/dist/viewer/index.mjs.gz +0 -0
  68. package/package.json +1 -1
  69. package/dist/AiChatPanel-5IAXQYGH.mjs.br +0 -0
  70. package/dist/AiChatPanel-5IAXQYGH.mjs.gz +0 -0
  71. package/dist/AiChatPanel-IC2Q3H3N.js.br +0 -0
  72. package/dist/AiChatPanel-IC2Q3H3N.js.gz +0 -0
  73. package/dist/Model3DScene-GOFY2PQS.js.gz +0 -0
  74. package/dist/Model3DScene-UEU7L4QY.mjs.gz +0 -0
  75. package/dist/SurfaceChart3DScene-5TILKZMY.js.br +0 -0
  76. package/dist/SurfaceChart3DScene-5TILKZMY.js.gz +0 -0
  77. package/dist/SurfaceChart3DScene-KCJUDJUK.mjs.gz +0 -0
  78. package/dist/chunk-G7PJSVUS.js.br +0 -0
  79. package/dist/chunk-IGYK3NK5.js.br +0 -0
  80. package/dist/chunk-IGYK3NK5.js.gz +0 -0
  81. package/dist/chunk-LJPRMPNA.mjs.br +0 -0
  82. package/dist/chunk-LJPRMPNA.mjs.gz +0 -0
  83. package/dist/chunk-MQYNBEOY.mjs.br +0 -0
  84. package/dist/chunk-MQYNBEOY.mjs.gz +0 -0
  85. package/dist/chunk-TMU7Z3CU.js.br +0 -0
  86. package/dist/chunk-TMU7Z3CU.js.gz +0 -0
  87. package/dist/chunk-UV5R7IQY.mjs.br +0 -0
  88. package/dist/chunk-UV5R7IQY.mjs.gz +0 -0
  89. package/dist/chunk-W27U3GQS.js.br +0 -0
  90. package/dist/chunk-W27U3GQS.js.gz +0 -0
  91. package/dist/chunk-XROVGBFQ.js.br +0 -0
  92. package/dist/chunk-XROVGBFQ.js.gz +0 -0
  93. package/dist/chunk-Y4TIW2MM.mjs.br +0 -0
  94. package/dist/chunk-Y4TIW2MM.mjs.gz +0 -0
  95. package/dist/chunk-Y6H2RSLB.mjs.br +0 -0
Binary file
Binary file
@@ -1,5 +1,5 @@
1
1
  import { translationsEn } from './chunk-Z6HIZWIQ.mjs';
2
- import { SHAPE_PRESET_DEFS, computeValueRangeForChart, getAnimationInitialStyle, cloneHistorySnapshot, hasShapeProperties, isTemplateElement, isImageLikeElement, clampCropValue, parseMediaCommand, hasTextProperties, normalizeHexColor, toCssWritingMode, toCssTextOrientation, toCssVerticalDirection, computeAutoFitTextStyle, resolveLineHeight, getKinsokuLineBreakStyles, buildTextBody3DSceneStyle, resolveParagraphRtl, resolveParagraphAlign, resolveCssTextAlign, resolveParagraphStrutFontSize, colorWithOpacity, build3DExtrusionData, getResolvedShapeClipPath, normalizeStrokeDashType, buildCssGradientFromShapeStyle, buildShadowCssFromShapeStyle, buildInnerShadowCssFromShapeStyle, buildMultiLayerShadowCss, buildGlowBoxShadow, getCompoundLineBoxShadow, getSoftEdgeFilterId, getEffectDagFilter, buildPatternFillCss, buildReflectionCss, getCssBorderDashStyle, getCompoundLineBorderWidth, getSvgStrokeDasharray, isCalloutShape, getCalloutLeaderLineGeometry, buildCalloutLeaderLineSvgPath, getCalloutViewBoxBounds, svgLineCap, getCompoundLineOffsets, getCompoundLineWidths, computeSelectionRect, rectToCells, isCellInRect, buildChartViewModel, buildNotesPdfBytes, buildSlidesPdfBytes, buildPreviewAnimation, getRoundRectRadiusPx, substituteFieldText, resolveUnderlineDecorationStyle, getSubstituteFontFamily, hasDistinctScriptFonts, buildTextReflectionCss, getTextAlphaOpacity, buildTextRunFilterChain, buildTextShadowCss, TEXT_BUILD_ID_SEP, buildTextBuildSpec, textBuildSpanStyle, evaluatePresetShape, apply3dEffects, clampUnitInterval, customGeometryPathsToSvgSubpaths, computeColumnBoundaries, parseDrawingColor, parseDrawingColorOpacity, getCellDiagonalBorders, getPatternSvg, ooxmlDashToCssBorderStyle, cell3DBevelCss, getChartStylePalette, computeLayout, valueToY, formatAxisValue, computeLayoutOptions, splitSeriesByAxis, computeValueRange, getSecondaryValueAxis, seriesColor, paletteColor, resolveRegionCode, normalizeValue, sequentialColorScale, convertOmmlToMathMl, sanitizeMathMl, buildTextFillCss, resolvePictureBullet, computeResizedColumnWidths, computeResizedRowHeight, DEFAULT_ROW_HEIGHT, resolveFontRefIdx, tintColor2, shadeColor2, ooxmlGradientAngleToCssDegrees, segmentByScript, resolveFontForScript, generateLogTicks, formatAxisValueWithUnits, getDisplayUnitLabel, hexToRgbChannels, chartPartToAttrs } from './chunk-Y6H2RSLB.mjs';
2
+ import { SHAPE_PRESET_DEFS, computeValueRangeForChart, getAnimationInitialStyle, cloneHistorySnapshot, hasShapeProperties, isTemplateElement, isImageLikeElement, clampCropValue, parseMediaCommand, hasTextProperties, normalizeHexColor, toCssWritingMode, toCssTextOrientation, toCssVerticalDirection, computeAutoFitTextStyle, resolveLineHeight, getKinsokuLineBreakStyles, buildTextBody3DSceneStyle, resolveParagraphRtl, resolveParagraphAlign, resolveCssTextAlign, resolveParagraphStrutFontSize, colorWithOpacity, build3DExtrusionData, getResolvedShapeClipPath, normalizeStrokeDashType, buildCssGradientFromShapeStyle, buildShadowCssFromShapeStyle, buildInnerShadowCssFromShapeStyle, buildMultiLayerShadowCss, buildGlowBoxShadow, getCompoundLineBoxShadow, getSoftEdgeFilterId, getEffectDagFilter, buildPatternFillCss, buildReflectionCss, getCssBorderDashStyle, getCompoundLineBorderWidth, getSvgStrokeDasharray, isCalloutShape, getCalloutLeaderLineGeometry, buildCalloutLeaderLineSvgPath, getCalloutViewBoxBounds, svgLineCap, getCompoundLineOffsets, getCompoundLineWidths, computeSelectionRect, rectToCells, isCellInRect, buildChartViewModel, buildNotesPdfBytes, buildSlidesPdfBytes, buildPreviewAnimation, getRoundRectRadiusPx, substituteFieldText, resolveUnderlineDecorationStyle, getSubstituteFontFamily, hasDistinctScriptFonts, buildTextReflectionCss, getTextAlphaOpacity, buildTextRunFilterChain, buildTextShadowCss, TEXT_BUILD_ID_SEP, buildTextBuildSpec, textBuildSpanStyle, evaluatePresetShape, apply3dEffects, clampUnitInterval, customGeometryPathsToSvgSubpaths, computeColumnBoundaries, parseDrawingColor, parseDrawingColorOpacity, getCellDiagonalBorders, getPatternSvg, ooxmlDashToCssBorderStyle, cell3DBevelCss, getChartStylePalette, computeLayout, valueToY, formatAxisValue, computeLayoutOptions, splitSeriesByAxis, computeValueRange, getSecondaryValueAxis, seriesColor, paletteColor, resolveRegionCode, normalizeValue, sequentialColorScale, convertOmmlToMathMl, sanitizeMathMl, buildTextFillCss, resolvePictureBullet, computeResizedColumnWidths, computeResizedRowHeight, DEFAULT_ROW_HEIGHT, resolveFontRefIdx, tintColor2, shadeColor2, ooxmlGradientAngleToCssDegrees, segmentByScript, resolveFontForScript, generateLogTicks, formatAxisValueWithUnits, getDisplayUnitLabel, hexToRgbChannels, chartPartToAttrs } from './chunk-FV5GXJ4L.mjs';
3
3
  import { clsx } from 'clsx';
4
4
  import { twMerge } from 'tailwind-merge';
5
5
  import React6, { useState, useEffect, useMemo, Suspense, useRef, useCallback, useLayoutEffect } from 'react';
@@ -6277,7 +6277,7 @@ function FailedToLoad() {
6277
6277
  var LazySurfaceChart3DScene = React6.lazy(
6278
6278
  async () => {
6279
6279
  try {
6280
- return await import('./SurfaceChart3DScene-KCJUDJUK.mjs');
6280
+ return await import('./SurfaceChart3DScene-KFIHKHEB.mjs');
6281
6281
  } catch {
6282
6282
  return { default: FailedToLoad };
6283
6283
  }
Binary file
Binary file
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkG7PJSVUS_js = require('./chunk-G7PJSVUS.js');
3
+ var chunkHHQRYCLW_js = require('./chunk-HHQRYCLW.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 chunkG7PJSVUS_js.PptxMarkdownConverter(
14882
+ const converter = new chunkHHQRYCLW_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(chunkG7PJSVUS_js.ThemePresets)
15473
+ availablePresets: Object.keys(chunkHHQRYCLW_js.ThemePresets)
15474
15474
  };
15475
15475
  };
15476
15476
  var readExecutors = {
Binary file
Binary file
@@ -98258,6 +98258,7 @@ function interpolateOutline(from, to, t) {
98258
98258
  }
98259
98259
  var MORPH_EASING = "cubic-bezier(0.4, 0, 0.2, 1)";
98260
98260
  var PROXIMITY_THRESHOLD = 300;
98261
+ var PROXIMITY_SIZE_RATIO_LIMIT = 2;
98261
98262
  var GEOMETRY_MORPH_STEPS = 8;
98262
98263
  function shouldGeometryMorph(pair) {
98263
98264
  const fromType = pair.fromElement.shapeType;
@@ -98383,6 +98384,11 @@ function matchMorphElementsFull(fromSlide, toSlide) {
98383
98384
  if (fromEl.type !== toEl.type) {
98384
98385
  continue;
98385
98386
  }
98387
+ const widthRatio = Math.max(fromEl.width, toEl.width, 1) / Math.max(Math.min(fromEl.width, toEl.width), 1);
98388
+ const heightRatio = Math.max(fromEl.height, toEl.height, 1) / Math.max(Math.min(fromEl.height, toEl.height), 1);
98389
+ if (widthRatio > PROXIMITY_SIZE_RATIO_LIMIT || heightRatio > PROXIMITY_SIZE_RATIO_LIMIT) {
98390
+ continue;
98391
+ }
98386
98392
  const dx = fromEl.x - toEl.x;
98387
98393
  const dy = fromEl.y - toEl.y;
98388
98394
  const dist2 = Math.sqrt(dx * dx + dy * dy);
@@ -101204,6 +101210,7 @@ var INSTANT = {
101204
101210
  outgoingOnTop: true
101205
101211
  };
101206
101212
  var DEFAULT_TRANSITION_DURATION_MS = 1e3;
101213
+ var DEFAULT_MORPH_DURATION_MS = 2e3;
101207
101214
  var EASE = "ease-in-out";
101208
101215
  var P14_TRANSITION_KEYFRAMES = `
101209
101216
  /* \u2500\u2500 Conveyor (translate X with staggered timing) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */
@@ -102411,7 +102418,13 @@ function resolveTransitionDurationMs(transition) {
102411
102418
  if (!transition || transition.type === "none" || transition.type === "cut") {
102412
102419
  return 0;
102413
102420
  }
102414
- return typeof transition.durationMs === "number" && transition.durationMs > 0 ? transition.durationMs : DEFAULT_TRANSITION_DURATION_MS;
102421
+ if (typeof transition.durationMs === "number" && transition.durationMs > 0) {
102422
+ return transition.durationMs;
102423
+ }
102424
+ if (transition.type === "morph") {
102425
+ return DEFAULT_MORPH_DURATION_MS;
102426
+ }
102427
+ return DEFAULT_TRANSITION_DURATION_MS;
102415
102428
  }
102416
102429
  function colour(index, palette) {
102417
102430
  return palette[index % palette.length];
Binary file
@@ -98265,6 +98265,7 @@ function interpolateOutline(from, to, t) {
98265
98265
  }
98266
98266
  var MORPH_EASING = "cubic-bezier(0.4, 0, 0.2, 1)";
98267
98267
  var PROXIMITY_THRESHOLD = 300;
98268
+ var PROXIMITY_SIZE_RATIO_LIMIT = 2;
98268
98269
  var GEOMETRY_MORPH_STEPS = 8;
98269
98270
  function shouldGeometryMorph(pair) {
98270
98271
  const fromType = pair.fromElement.shapeType;
@@ -98390,6 +98391,11 @@ function matchMorphElementsFull(fromSlide, toSlide) {
98390
98391
  if (fromEl.type !== toEl.type) {
98391
98392
  continue;
98392
98393
  }
98394
+ const widthRatio = Math.max(fromEl.width, toEl.width, 1) / Math.max(Math.min(fromEl.width, toEl.width), 1);
98395
+ const heightRatio = Math.max(fromEl.height, toEl.height, 1) / Math.max(Math.min(fromEl.height, toEl.height), 1);
98396
+ if (widthRatio > PROXIMITY_SIZE_RATIO_LIMIT || heightRatio > PROXIMITY_SIZE_RATIO_LIMIT) {
98397
+ continue;
98398
+ }
98393
98399
  const dx = fromEl.x - toEl.x;
98394
98400
  const dy = fromEl.y - toEl.y;
98395
98401
  const dist2 = Math.sqrt(dx * dx + dy * dy);
@@ -101211,6 +101217,7 @@ var INSTANT = {
101211
101217
  outgoingOnTop: true
101212
101218
  };
101213
101219
  var DEFAULT_TRANSITION_DURATION_MS = 1e3;
101220
+ var DEFAULT_MORPH_DURATION_MS = 2e3;
101214
101221
  var EASE = "ease-in-out";
101215
101222
  var P14_TRANSITION_KEYFRAMES = `
101216
101223
  /* \u2500\u2500 Conveyor (translate X with staggered timing) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */
@@ -102418,7 +102425,13 @@ function resolveTransitionDurationMs(transition) {
102418
102425
  if (!transition || transition.type === "none" || transition.type === "cut") {
102419
102426
  return 0;
102420
102427
  }
102421
- return typeof transition.durationMs === "number" && transition.durationMs > 0 ? transition.durationMs : DEFAULT_TRANSITION_DURATION_MS;
102428
+ if (typeof transition.durationMs === "number" && transition.durationMs > 0) {
102429
+ return transition.durationMs;
102430
+ }
102431
+ if (transition.type === "morph") {
102432
+ return DEFAULT_MORPH_DURATION_MS;
102433
+ }
102434
+ return DEFAULT_TRANSITION_DURATION_MS;
102422
102435
  }
102423
102436
  function colour(index, palette) {
102424
102437
  return palette[index % palette.length];
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-UV5R7IQY.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-77XK7DJE.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-Y6H2RSLB.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-FV5GXJ4L.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';
@@ -2006,8 +2006,14 @@ function useSlideNavigation(input) {
2006
2006
  scheduleAutoAdvanceForSlide,
2007
2007
  presentationTimersRef,
2008
2008
  setTransitionOverlay,
2009
- // Direct jumps (action buttons, zoom tiles) are transition-less.
2010
- playTransition: false
2009
+ // A jump ENTERS the target slide, so PowerPoint plays that slide's
2010
+ // transition exactly as it does for a forward advance - hyperlinks,
2011
+ // action buttons, Home/End and "type a number + Enter" all animate.
2012
+ // Suppressing it here is why a deck navigated by clicking its own
2013
+ // on-slide links (this is how the issue #131 reporter drives their
2014
+ // wheel menu) appeared to have no morph at all, while the same
2015
+ // transition played fine on PageDown.
2016
+ playTransition: true
2011
2017
  });
2012
2018
  },
2013
2019
  [
Binary file
Binary file