pptx-react-viewer 2.9.0 → 2.11.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 (125) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/dist/{AiChatPanel-6W6ZBAGU.mjs → AiChatPanel-EX2TBRJM.mjs} +4 -4
  3. package/dist/AiChatPanel-EX2TBRJM.mjs.br +0 -0
  4. package/dist/AiChatPanel-EX2TBRJM.mjs.gz +0 -0
  5. package/dist/{AiChatPanel-MALC32TM.js → AiChatPanel-PJPSDMN4.js} +23 -23
  6. package/dist/AiChatPanel-PJPSDMN4.js.br +0 -0
  7. package/dist/AiChatPanel-PJPSDMN4.js.gz +0 -0
  8. package/dist/{Model3DScene-57HZ4NVD.mjs → Model3DScene-TTQFV7OS.mjs} +1 -1
  9. package/dist/Model3DScene-TTQFV7OS.mjs.br +0 -0
  10. package/dist/Model3DScene-TTQFV7OS.mjs.gz +0 -0
  11. package/dist/{Model3DScene-76R2YXSO.js → Model3DScene-UCBPTEAY.js} +2 -2
  12. package/dist/Model3DScene-UCBPTEAY.js.br +0 -0
  13. package/dist/Model3DScene-UCBPTEAY.js.gz +0 -0
  14. package/dist/{SurfaceChart3DScene-JGOQNHSU.mjs → SurfaceChart3DScene-5SZCRHZI.mjs} +1 -1
  15. package/dist/{SurfaceChart3DScene-JGOQNHSU.mjs.br → SurfaceChart3DScene-5SZCRHZI.mjs.br} +0 -0
  16. package/dist/SurfaceChart3DScene-5SZCRHZI.mjs.gz +0 -0
  17. package/dist/{SurfaceChart3DScene-2QZZTBV4.js → SurfaceChart3DScene-ADKCYYOQ.js} +2 -2
  18. package/dist/SurfaceChart3DScene-ADKCYYOQ.js.br +0 -0
  19. package/dist/SurfaceChart3DScene-ADKCYYOQ.js.gz +0 -0
  20. package/dist/{chunk-D6SHCB4V.js → chunk-4J7SPY64.js} +338 -324
  21. package/dist/chunk-4J7SPY64.js.br +0 -0
  22. package/dist/chunk-4J7SPY64.js.gz +0 -0
  23. package/dist/{chunk-CD434OFE.mjs → chunk-53NXKDMZ.mjs} +48 -0
  24. package/dist/chunk-53NXKDMZ.mjs.br +0 -0
  25. package/dist/chunk-53NXKDMZ.mjs.gz +0 -0
  26. package/dist/{chunk-L47Y62L6.mjs → chunk-C2UWTH42.mjs} +1168 -118
  27. package/dist/chunk-C2UWTH42.mjs.br +0 -0
  28. package/dist/chunk-C2UWTH42.mjs.gz +0 -0
  29. package/dist/{chunk-6UXRNLHD.js → chunk-E367QIKR.js} +2526 -1738
  30. package/dist/chunk-E367QIKR.js.br +0 -0
  31. package/dist/chunk-E367QIKR.js.gz +0 -0
  32. package/dist/{chunk-4FO4JMTN.mjs → chunk-HK2UERUX.mjs} +17 -3
  33. package/dist/chunk-HK2UERUX.mjs.br +0 -0
  34. package/dist/chunk-HK2UERUX.mjs.gz +0 -0
  35. package/dist/{chunk-IKISUZKE.js → chunk-HMQVOPQH.js} +1210 -118
  36. package/dist/chunk-HMQVOPQH.js.br +0 -0
  37. package/dist/chunk-HMQVOPQH.js.gz +0 -0
  38. package/dist/{chunk-NQLVK23T.mjs → chunk-L2CM5EUD.mjs} +885 -97
  39. package/dist/chunk-L2CM5EUD.mjs.br +0 -0
  40. package/dist/chunk-L2CM5EUD.mjs.gz +0 -0
  41. package/dist/{chunk-34BUZNKO.js → chunk-MM5RMRSP.js} +278 -291
  42. package/dist/chunk-MM5RMRSP.js.br +0 -0
  43. package/dist/chunk-MM5RMRSP.js.gz +0 -0
  44. package/dist/{chunk-2JDWFMIK.js → chunk-N6IHR6PS.js} +48 -0
  45. package/dist/chunk-N6IHR6PS.js.br +0 -0
  46. package/dist/chunk-N6IHR6PS.js.gz +0 -0
  47. package/dist/{chunk-JPTO6P5K.mjs → chunk-RJEY2KZH.mjs} +34 -48
  48. package/dist/chunk-RJEY2KZH.mjs.br +0 -0
  49. package/dist/chunk-RJEY2KZH.mjs.gz +0 -0
  50. package/dist/{chunk-6OLS3EJW.mjs → chunk-UZVRM6LD.mjs} +1 -1
  51. package/dist/chunk-UZVRM6LD.mjs.br +0 -0
  52. package/dist/chunk-UZVRM6LD.mjs.gz +0 -0
  53. package/dist/{chunk-YEM2VOAP.js → chunk-VNP627O5.js} +3 -3
  54. package/dist/chunk-VNP627O5.js.br +0 -0
  55. package/dist/chunk-VNP627O5.js.gz +0 -0
  56. package/dist/i18n.js +4 -4
  57. package/dist/i18n.js.br +0 -0
  58. package/dist/i18n.js.gz +0 -0
  59. package/dist/i18n.mjs +1 -1
  60. package/dist/i18n.mjs.br +0 -0
  61. package/dist/i18n.mjs.gz +0 -0
  62. package/dist/index.d.ts +26 -3
  63. package/dist/index.d.ts.map +1 -1
  64. package/dist/index.js +36 -36
  65. package/dist/index.js.br +0 -0
  66. package/dist/index.js.gz +0 -0
  67. package/dist/index.mjs +6 -6
  68. package/dist/index.mjs.br +0 -0
  69. package/dist/index.mjs.gz +0 -0
  70. package/dist/internals.d.ts +30 -2
  71. package/dist/internals.d.ts.map +1 -1
  72. package/dist/internals.js +79 -79
  73. package/dist/internals.js.br +0 -0
  74. package/dist/internals.js.gz +0 -0
  75. package/dist/internals.mjs +4 -4
  76. package/dist/internals.mjs.br +0 -0
  77. package/dist/internals.mjs.gz +0 -0
  78. package/dist/pptx-viewer.css +1 -1
  79. package/dist/pptx-viewer.css.br +0 -0
  80. package/dist/pptx-viewer.css.gz +0 -0
  81. package/dist/{useViewerBuildingBlocks-C59NY1qZ.d.ts → useViewerBuildingBlocks-Rqxm0pRS.d.ts} +19 -5
  82. package/dist/useViewerBuildingBlocks-Rqxm0pRS.d.ts.map +1 -0
  83. package/dist/viewer/index.js +22 -22
  84. package/dist/viewer/index.js.br +0 -0
  85. package/dist/viewer/index.js.gz +0 -0
  86. package/dist/viewer/index.mjs +6 -6
  87. package/dist/viewer/index.mjs.br +0 -0
  88. package/dist/viewer/index.mjs.gz +0 -0
  89. package/package.json +1 -1
  90. package/dist/AiChatPanel-6W6ZBAGU.mjs.br +0 -0
  91. package/dist/AiChatPanel-6W6ZBAGU.mjs.gz +0 -0
  92. package/dist/AiChatPanel-MALC32TM.js.br +0 -0
  93. package/dist/AiChatPanel-MALC32TM.js.gz +0 -0
  94. package/dist/Model3DScene-57HZ4NVD.mjs.br +0 -0
  95. package/dist/Model3DScene-57HZ4NVD.mjs.gz +0 -0
  96. package/dist/Model3DScene-76R2YXSO.js.br +0 -0
  97. package/dist/Model3DScene-76R2YXSO.js.gz +0 -0
  98. package/dist/SurfaceChart3DScene-2QZZTBV4.js.br +0 -0
  99. package/dist/SurfaceChart3DScene-2QZZTBV4.js.gz +0 -0
  100. package/dist/SurfaceChart3DScene-JGOQNHSU.mjs.gz +0 -0
  101. package/dist/chunk-2JDWFMIK.js.br +0 -0
  102. package/dist/chunk-2JDWFMIK.js.gz +0 -0
  103. package/dist/chunk-34BUZNKO.js.br +0 -0
  104. package/dist/chunk-34BUZNKO.js.gz +0 -0
  105. package/dist/chunk-4FO4JMTN.mjs.br +0 -0
  106. package/dist/chunk-4FO4JMTN.mjs.gz +0 -0
  107. package/dist/chunk-6OLS3EJW.mjs.br +0 -0
  108. package/dist/chunk-6OLS3EJW.mjs.gz +0 -0
  109. package/dist/chunk-6UXRNLHD.js.br +0 -0
  110. package/dist/chunk-6UXRNLHD.js.gz +0 -0
  111. package/dist/chunk-CD434OFE.mjs.br +0 -0
  112. package/dist/chunk-CD434OFE.mjs.gz +0 -0
  113. package/dist/chunk-D6SHCB4V.js.br +0 -0
  114. package/dist/chunk-D6SHCB4V.js.gz +0 -0
  115. package/dist/chunk-IKISUZKE.js.br +0 -0
  116. package/dist/chunk-IKISUZKE.js.gz +0 -0
  117. package/dist/chunk-JPTO6P5K.mjs.br +0 -0
  118. package/dist/chunk-JPTO6P5K.mjs.gz +0 -0
  119. package/dist/chunk-L47Y62L6.mjs.br +0 -0
  120. package/dist/chunk-L47Y62L6.mjs.gz +0 -0
  121. package/dist/chunk-NQLVK23T.mjs.br +0 -0
  122. package/dist/chunk-NQLVK23T.mjs.gz +0 -0
  123. package/dist/chunk-YEM2VOAP.js.br +0 -0
  124. package/dist/chunk-YEM2VOAP.js.gz +0 -0
  125. package/dist/useViewerBuildingBlocks-C59NY1qZ.d.ts.map +0 -1
Binary file
Binary file
@@ -1962,6 +1962,48 @@ var translationsEn = {
1962
1962
  "pptx.animation.sequence.byParagraph": "By Paragraph",
1963
1963
  "pptx.animation.sequence.byWord": "By Word",
1964
1964
  "pptx.animation.sequence.byLetter": "By Letter",
1965
+ // Motion-path authoring: the gallery families/presets, the panel row, and
1966
+ // the on-canvas path editor handles.
1967
+ "pptx.animation.motionPath": "Motion Paths",
1968
+ "pptx.animation.motionPath.family.lines": "Lines",
1969
+ "pptx.animation.motionPath.family.arcs": "Arcs",
1970
+ "pptx.animation.motionPath.family.turns": "Turns",
1971
+ "pptx.animation.motionPath.family.shapes": "Shapes",
1972
+ "pptx.animation.motionPath.family.loops": "Loops",
1973
+ "pptx.animation.motionPath.preset.lineRight": "Right",
1974
+ "pptx.animation.motionPath.preset.lineLeft": "Left",
1975
+ "pptx.animation.motionPath.preset.lineDown": "Down",
1976
+ "pptx.animation.motionPath.preset.lineUp": "Up",
1977
+ "pptx.animation.motionPath.preset.lineDiagonalUpRight": "Diagonal Up Right",
1978
+ "pptx.animation.motionPath.preset.lineDiagonalDownRight": "Diagonal Down Right",
1979
+ "pptx.animation.motionPath.preset.lineDiagonalUpLeft": "Diagonal Up Left",
1980
+ "pptx.animation.motionPath.preset.lineDiagonalDownLeft": "Diagonal Down Left",
1981
+ "pptx.animation.motionPath.preset.arcUp": "Arc Up",
1982
+ "pptx.animation.motionPath.preset.arcDown": "Arc Down",
1983
+ "pptx.animation.motionPath.preset.arcRight": "Arc Right",
1984
+ "pptx.animation.motionPath.preset.arcLeft": "Arc Left",
1985
+ "pptx.animation.motionPath.preset.turnUp": "Turn Up",
1986
+ "pptx.animation.motionPath.preset.turnDown": "Turn Down",
1987
+ "pptx.animation.motionPath.preset.turnRight": "Turn Right",
1988
+ "pptx.animation.motionPath.preset.turnLeft": "Turn Left",
1989
+ "pptx.animation.motionPath.preset.sCurve": "S Curve",
1990
+ "pptx.animation.motionPath.preset.zigzag": "Zigzag",
1991
+ "pptx.animation.motionPath.preset.circle": "Circle",
1992
+ "pptx.animation.motionPath.preset.square": "Square",
1993
+ "pptx.animation.motionPath.preset.triangle": "Triangle",
1994
+ "pptx.animation.motionPath.preset.diamond": "Diamond",
1995
+ "pptx.animation.motionPath.preset.hexagon": "Hexagon",
1996
+ "pptx.animation.motionPath.preset.loopDeLoop": "Loop de Loop",
1997
+ "pptx.animation.motionPath.preset.figureEight": "Figure 8",
1998
+ "pptx.animation.motionPath.preset.spiral": "Spiral",
1999
+ "pptx.animation.motionPath.label": "Motion Path",
2000
+ "pptx.animation.motionPath.custom": "Custom Path",
2001
+ "pptx.animation.motionPath.none": "No motion path",
2002
+ "pptx.animation.motionPath.remove": "Remove motion path",
2003
+ "pptx.animation.motionPath.editHint": "Drag the end point on the slide to retarget the path",
2004
+ "pptx.animation.motionPath.endHandle": "Motion path end point",
2005
+ "pptx.animation.motionPath.overlay": "Motion path preview",
2006
+ "pptx.animations.motionPathGalleryAria": "Motion Paths: Lines, Arcs, Turns, Shapes, and Loops",
1965
2007
  // --- 2026-07-03 missing-key sweep: keys used by Vue/Angular with no
1966
2008
  // existing dictionary entry (React has 0 such gaps and is the ground-
1967
2009
  // truth reference these were derived from). Appended flat rather than
@@ -2119,6 +2161,11 @@ var translationsEn = {
2119
2161
  "pptx.view.masterViews": "Master Views",
2120
2162
  "pptx.view.normal": "Normal",
2121
2163
  "pptx.view.presentationViews": "Presentation Views",
2164
+ "pptx.view.outlineView": "Outline View",
2165
+ "pptx.view.outlineViewTooltip": "Outline view: edit the deck as indented text",
2166
+ "pptx.outline.titleLine": "Slide title",
2167
+ "pptx.outline.bodyLine": "Outline line",
2168
+ "pptx.outline.hint": "Tab and Shift+Tab change the level. Enter adds a line; on a title it adds a slide.",
2122
2169
  "pptx.view.readingView": "Reading View",
2123
2170
  "pptx.view.selection": "Selection",
2124
2171
  "pptx.view.slideMasterTooltip": "Edit slide masters and layouts",
@@ -2499,6 +2546,7 @@ var translationsEn = {
2499
2546
  "pptx.tableDataEditor.addRowLabel": "+ Row",
2500
2547
  "pptx.tableDataEditor.addRowTitle": "Add row below last",
2501
2548
  "pptx.tableDataEditor.ariaLabel": "Table data editor",
2549
+ "pptx.tableDataEditor.cellAriaLabel": "Row {{row}}, column {{column}}",
2502
2550
  "pptx.tableDataEditor.removeColumnLabel": "- Col",
2503
2551
  "pptx.tableDataEditor.removeColumnN": "Remove column {{number}}",
2504
2552
  "pptx.tableDataEditor.removeColumnTitle": "Remove last column",
Binary file
Binary file
@@ -1,5 +1,5 @@
1
- import { translationsEn } from './chunk-CD434OFE.mjs';
2
- import { SHAPE_PRESET_DEFS, computeValueRangeForChart, VIEWER_SHORTCUT_REFERENCE, getAnimationInitialStyle, cloneHistorySnapshot, hasShapeProperties, isTemplateElement, isImageLikeElement, clampCropValue, parseMediaCommand, buildTextBlockStyle, hasTextProperties, toCssWritingMode, toCssTextOrientation, toCssVerticalDirection, getKinsokuLineBreakStyles, buildTextBody3DSceneStyle, resolveParagraphRtl, resolveParagraphAlign, resolveCssTextAlign, resolveParagraphStrutFontSize, colorWithOpacity, normalizeHexColor, build3DExtrusionData, getResolvedShapeClipPath, normalizeStrokeDashType, buildCssGradientFromShapeStyle, buildShadowCssFromShapeStyle, buildInnerShadowCssFromShapeStyle, suppressesCssBorder, buildMultiLayerShadowCss, buildGlowBoxShadow, getCompoundLineBoxShadow, getSoftEdgeFilterId, getEffectDagFilter, buildPatternFillCss, buildReflectionCss, getCssBorderDashStyle, getCompoundLineBorderWidth, getSvgStrokeDasharray, buildSvgGradientDef, isCalloutShape, getCalloutLeaderLineGeometry, buildCalloutLeaderLineSvgPath, getCalloutViewBoxBounds, svgLineCap, getCompoundLineOffsets, getCompoundLineWidths, computeSelectionRect, rectToCells, isCellInRect, buildChartViewModel, buildNotesPdfBytes, buildSlidesPdfBytes, buildPreviewAnimation, getRoundRectRadiusPx, substituteFieldText, resolveUnderlineDecorationStyle, resolveAutoFitFontScale, getSubstituteFontFamily, hasDistinctScriptFonts, buildTextReflectionCss, getTextAlphaOpacity, buildTextRunFilterChain, buildTextShadowCss, TEXT_BUILD_ID_SEP, buildTextBuildSpec, textBuildSpanStyle, evaluatePresetShape, sanitizeGradientStops, getGradientTileFlipCss, getGradientTileRectCss, apply3dEffects, clampUnitInterval, customGeometryPathsToSvgSubpaths, svgGradientFillRef, 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-L47Y62L6.mjs';
1
+ import { translationsEn } from './chunk-53NXKDMZ.mjs';
2
+ import { SHAPE_PRESET_DEFS, computeValueRangeForChart, VIEWER_SHORTCUT_REFERENCE, getAnimationInitialStyle, cloneHistorySnapshot, hasShapeProperties, isTemplateElement, isImageLikeElement, clampCropValue, runMediaCommand, findMediaElementByElementId, buildTextBlockStyle, hasTextProperties, toCssWritingMode, toCssTextOrientation, toCssVerticalDirection, getKinsokuLineBreakStyles, buildTextBody3DSceneStyle, resolveParagraphRtl, resolveParagraphAlign, resolveCssTextAlign, resolveParagraphStrutFontSize, colorWithOpacity, normalizeHexColor, build3DExtrusionData, getResolvedShapeClipPath, normalizeStrokeDashType, buildCssGradientFromShapeStyle, buildShadowCssFromShapeStyle, buildInnerShadowCssFromShapeStyle, suppressesCssBorder, buildMultiLayerShadowCss, buildGlowBoxShadow, getCompoundLineBoxShadow, getSoftEdgeFilterId, getEffectDagFilter, buildPatternFillCss, buildReflectionCss, getCssBorderDashStyle, getCompoundLineBorderWidth, getSvgStrokeDasharray, buildSvgGradientDef, isCalloutShape, getCalloutLeaderLineGeometry, buildCalloutLeaderLineSvgPath, getCalloutViewBoxBounds, svgLineCap, getCompoundLineOffsets, getCompoundLineWidths, computeSelectionRect, rectToCells, isCellInRect, buildChartViewModel, buildNotesPdfBytes, buildSlidesPdfBytes, buildPreviewAnimation, buildMotionPathPreview, getRoundRectRadiusPx, substituteFieldText, resolveUnderlineDecorationStyle, resolveAutoFitFontScale, getSubstituteFontFamily, hasDistinctScriptFonts, buildTextReflectionCss, getTextAlphaOpacity, buildTextRunFilterChain, buildTextShadowCss, TEXT_BUILD_ID_SEP, buildTextBuildSpec, textBuildSpanStyle, evaluatePresetShape, sanitizeGradientStops, getGradientTileFlipCss, getGradientTileRectCss, apply3dEffects, clampUnitInterval, customGeometryPathsToSvgSubpaths, svgGradientFillRef, 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-C2UWTH42.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';
@@ -723,50 +723,11 @@ function registerMediaElement(elementId, el) {
723
723
  }
724
724
  };
725
725
  }
726
- function executeMediaCommand(command) {
727
- const el = registry.get(command.targetId);
728
- if (!el) {
729
- return false;
730
- }
731
- const parsed = parseMediaCommand(command.command);
732
- if (!parsed) {
733
- return false;
734
- }
735
- const safePlay = () => {
736
- void el.play().catch(() => {
737
- });
738
- };
739
- const safeSeek = (seconds) => {
740
- try {
741
- el.currentTime = seconds;
742
- } catch {
743
- }
744
- };
745
- switch (parsed.verb) {
746
- case "playFrom":
747
- safeSeek(parsed.seekSeconds ?? 0);
748
- safePlay();
749
- return true;
750
- case "play":
751
- safePlay();
752
- return true;
753
- case "pause":
754
- el.pause();
755
- return true;
756
- case "stop":
757
- el.pause();
758
- safeSeek(0);
759
- return true;
760
- case "togglePlay":
761
- if (el.paused) {
762
- safePlay();
763
- } else {
764
- el.pause();
765
- }
766
- return true;
767
- default:
768
- return false;
769
- }
726
+ function executeMediaCommand(command, frameRoot) {
727
+ return runMediaCommand(
728
+ command,
729
+ (targetId) => registry.get(targetId) ?? findMediaElementByElementId(targetId, frameRoot?.())
730
+ );
770
731
  }
771
732
  function PresentationMediaController({
772
733
  element,
@@ -6292,7 +6253,7 @@ function FailedToLoad() {
6292
6253
  var LazySurfaceChart3DScene = React6.lazy(
6293
6254
  async () => {
6294
6255
  try {
6295
- return await import('./SurfaceChart3DScene-JGOQNHSU.mjs');
6256
+ return await import('./SurfaceChart3DScene-5SZCRHZI.mjs');
6296
6257
  } catch {
6297
6258
  return { default: FailedToLoad };
6298
6259
  }
@@ -8025,6 +7986,31 @@ function startPreviewAnimation(elementId, preset, options) {
8025
7986
  if (!descriptor) {
8026
7987
  return;
8027
7988
  }
7989
+ playDescriptor(elementId, descriptor);
7990
+ }
7991
+ function startMotionPathPreview(elementId, path, options) {
7992
+ stopPreviewAnimation();
7993
+ const domEl = document.querySelector(`[data-element-id="${elementId}"]`);
7994
+ if (!domEl) {
7995
+ return;
7996
+ }
7997
+ const stage = domEl.offsetParent;
7998
+ const descriptor = buildMotionPathPreview({
7999
+ path,
8000
+ slideWidth: stage?.offsetWidth || DEFAULT_PREVIEW_SLIDE_WIDTH,
8001
+ slideHeight: stage?.offsetHeight || DEFAULT_PREVIEW_SLIDE_HEIGHT,
8002
+ durationMs: options?.durationMs,
8003
+ delayMs: options?.delayMs,
8004
+ timingCurve: options?.timingCurve
8005
+ });
8006
+ if (!descriptor) {
8007
+ return;
8008
+ }
8009
+ playDescriptor(elementId, descriptor);
8010
+ }
8011
+ var DEFAULT_PREVIEW_SLIDE_WIDTH = 1280;
8012
+ var DEFAULT_PREVIEW_SLIDE_HEIGHT = 720;
8013
+ function playDescriptor(elementId, descriptor) {
8028
8014
  const domEl = document.querySelector(`[data-element-id="${elementId}"]`);
8029
8015
  if (!domEl) {
8030
8016
  return;
@@ -8068,4 +8054,4 @@ function stopPreviewAnimation() {
8068
8054
  activePreview = null;
8069
8055
  }
8070
8056
 
8071
- export { ANIMATION_PRESET_OPTIONS, ARROW_SIZE_OPTIONS, CONNECTOR_ARROW_OPTIONS, DEFAULT_CANVAS_HEIGHT, DEFAULT_CANVAS_WIDTH, DEFAULT_FILL_COLOR, DEFAULT_FONT_FAMILY, DEFAULT_STROKE_COLOR, DEFAULT_TABLE_COLUMNS, DEFAULT_TABLE_ROWS, DEFAULT_TEXT_COLOR, DEFAULT_TEXT_FONT_SIZE, EMU_PER_PX, GRID_SIZE, HYPERLINK_COLOR, MIN_ELEMENT_SIZE, SHAPE_PRESETS, SHORTCUT_REFERENCE_ITEMS, SLIDE_NAV_THUMBNAIL_WIDTH, STROKE_DASH_OPTIONS, SmartArtNodeText, THEME_COLOR_SWATCHES, TOOLBAR_SECTIONS, UNGROUPED_SECTION_ID, ZOOM_TO_SELECTION_PADDING, build3DExtrusionData2 as build3DExtrusionData, buildLineGlowFilter, buildLineShadowCss, buildNotesPdf, buildPdfFromImageData, buildReactChartViewModel, buildSaveSlides, buildTextBody3DSceneStyle2 as buildTextBody3DSceneStyle, buildTree, chevronPoints, cloneHistorySnapshot2 as cloneHistorySnapshot, cn, colour, executeMediaCommand, fitFontSize, gearPath, getAnimationInitialStyle2 as getAnimationInitialStyle, getConnectorPathGeometry, getCropShapeClipPath, getDuotoneColors, getImageRenderStyle, getImageTilingStyle, getShapeVisualStyle, getTextLayoutStyle, getTextStyleForElement, getTextWarpStyle, hasDagDuotoneEffect, isConnectorOrLineElement, isImageTiled, layoutToCategory, nodeOpacity, partitionTemplateElements, renderAccentProcess, renderAlternatingFlow, renderChartElement, renderConnectorMarker, renderDagDuotoneSvgFilter, renderDescendingProcess, renderGroupedList, renderHorizontalPictureList, renderMediaElement, renderPictureAccentList, renderPyramidList, renderStepDownProcess, renderTableElement, renderTextSegments, renderVectorShape, renderVerticalBlockList, renderVerticalChevronList, resolvePalette, resolveSmartArtDataPalette, resolveStyle, shouldRenderFallbackLabel, smartArtNodeGroupProps, startPreviewAnimation, stopAllPersistentAudio, stopPreviewAnimation, styleShadow, styleStroke, treeDepth, treeWidth, truncate, wrapChrome };
8057
+ export { ANIMATION_PRESET_OPTIONS, ARROW_SIZE_OPTIONS, CONNECTOR_ARROW_OPTIONS, DEFAULT_CANVAS_HEIGHT, DEFAULT_CANVAS_WIDTH, DEFAULT_FILL_COLOR, DEFAULT_FONT_FAMILY, DEFAULT_STROKE_COLOR, DEFAULT_TABLE_COLUMNS, DEFAULT_TABLE_ROWS, DEFAULT_TEXT_COLOR, DEFAULT_TEXT_FONT_SIZE, EMU_PER_PX, GRID_SIZE, HYPERLINK_COLOR, MIN_ELEMENT_SIZE, SHAPE_PRESETS, SHORTCUT_REFERENCE_ITEMS, SLIDE_NAV_THUMBNAIL_WIDTH, STROKE_DASH_OPTIONS, SmartArtNodeText, THEME_COLOR_SWATCHES, TOOLBAR_SECTIONS, UNGROUPED_SECTION_ID, ZOOM_TO_SELECTION_PADDING, build3DExtrusionData2 as build3DExtrusionData, buildLineGlowFilter, buildLineShadowCss, buildNotesPdf, buildPdfFromImageData, buildReactChartViewModel, buildSaveSlides, buildTextBody3DSceneStyle2 as buildTextBody3DSceneStyle, buildTree, chevronPoints, cloneHistorySnapshot2 as cloneHistorySnapshot, cn, colour, executeMediaCommand, fitFontSize, gearPath, getAnimationInitialStyle2 as getAnimationInitialStyle, getConnectorPathGeometry, getCropShapeClipPath, getDuotoneColors, getImageRenderStyle, getImageTilingStyle, getShapeVisualStyle, getTextLayoutStyle, getTextStyleForElement, getTextWarpStyle, hasDagDuotoneEffect, isConnectorOrLineElement, isImageTiled, layoutToCategory, nodeOpacity, partitionTemplateElements, renderAccentProcess, renderAlternatingFlow, renderChartElement, renderConnectorMarker, renderDagDuotoneSvgFilter, renderDescendingProcess, renderGroupedList, renderHorizontalPictureList, renderMediaElement, renderPictureAccentList, renderPyramidList, renderStepDownProcess, renderTableElement, renderTextSegments, renderVectorShape, renderVerticalBlockList, renderVerticalChevronList, resolvePalette, resolveSmartArtDataPalette, resolveStyle, shouldRenderFallbackLabel, smartArtNodeGroupProps, startMotionPathPreview, startPreviewAnimation, stopAllPersistentAudio, stopPreviewAnimation, styleShadow, styleStroke, treeDepth, treeWidth, truncate, wrapChrome };
Binary file
Binary file
@@ -1,4 +1,4 @@
1
- import { ThemePresets, PptxMarkdownConverter } from './chunk-L47Y62L6.mjs';
1
+ import { ThemePresets, PptxMarkdownConverter } from './chunk-C2UWTH42.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
Binary file
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkIKISUZKE_js = require('./chunk-IKISUZKE.js');
3
+ var chunkHMQVOPQH_js = require('./chunk-HMQVOPQH.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 chunkIKISUZKE_js.PptxMarkdownConverter(
14882
+ const converter = new chunkHMQVOPQH_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(chunkIKISUZKE_js.ThemePresets)
15473
+ availablePresets: Object.keys(chunkHMQVOPQH_js.ThemePresets)
15474
15474
  };
15475
15475
  };
15476
15476
  var readExecutors = {
Binary file
Binary file
package/dist/i18n.js CHANGED
@@ -1,19 +1,19 @@
1
1
  'use strict';
2
2
 
3
- var chunk2JDWFMIK_js = require('./chunk-2JDWFMIK.js');
3
+ var chunkN6IHR6PS_js = require('./chunk-N6IHR6PS.js');
4
4
  require('./chunk-4VNS5WPM.js');
5
5
 
6
6
 
7
7
 
8
8
  Object.defineProperty(exports, "LOCALE_CATALOG", {
9
9
  enumerable: true,
10
- get: function () { return chunk2JDWFMIK_js.LOCALE_CATALOG; }
10
+ get: function () { return chunkN6IHR6PS_js.LOCALE_CATALOG; }
11
11
  });
12
12
  Object.defineProperty(exports, "keyToLabel", {
13
13
  enumerable: true,
14
- get: function () { return chunk2JDWFMIK_js.keyToLabel; }
14
+ get: function () { return chunkN6IHR6PS_js.keyToLabel; }
15
15
  });
16
16
  Object.defineProperty(exports, "translationsEn", {
17
17
  enumerable: true,
18
- get: function () { return chunk2JDWFMIK_js.translationsEn; }
18
+ get: function () { return chunkN6IHR6PS_js.translationsEn; }
19
19
  });
package/dist/i18n.js.br CHANGED
Binary file
package/dist/i18n.js.gz CHANGED
Binary file
package/dist/i18n.mjs CHANGED
@@ -1,2 +1,2 @@
1
- export { LOCALE_CATALOG, keyToLabel, translationsEn } from './chunk-CD434OFE.mjs';
1
+ export { LOCALE_CATALOG, keyToLabel, translationsEn } from './chunk-53NXKDMZ.mjs';
2
2
  import './chunk-XGB3TDIC.mjs';
package/dist/i18n.mjs.br CHANGED
Binary file
package/dist/i18n.mjs.gz CHANGED
Binary file
package/dist/index.d.ts CHANGED
@@ -8621,6 +8621,15 @@ interface ElementAnimationState {
8621
8621
  */
8622
8622
  animatesStroke?: boolean;
8623
8623
  }
8624
+ //#endregion
8625
+ //#region src/render/motion-path-authoring.d.ts
8626
+ /**
8627
+ * The bucket a ribbon gallery click targets. Widens the three preset buckets
8628
+ * with `motionPath` so a binding's single "apply animation" callback can carry
8629
+ * a motion-path preset id too, instead of every binding growing a second
8630
+ * callback threaded through the same six components.
8631
+ */
8632
+ type AnimationApplyGroup = 'entrance' | 'emphasis' | 'exit' | 'motionPath';
8624
8633
  /** The unit system used for ruler display. */
8625
8634
  type RulerUnit = 'inches' | 'centimetres';
8626
8635
  //#endregion
@@ -9442,8 +9451,12 @@ interface ToolbarProps {
9442
9451
  onToggleInspector: () => void;
9443
9452
  /** Opens the inspector pane and switches to the properties tab (for animation panel). */
9444
9453
  onOpenAnimationPanel: () => void;
9445
- /** Adds an animation preset to the selected element. */
9446
- onAddAnimation?: (preset: string, group: 'entrance' | 'emphasis' | 'exit') => void;
9454
+ /**
9455
+ * Adds an animation to the selected element. For the three preset buckets
9456
+ * `preset` is a `PptxAnimationPreset`; for `motionPath` it is a motion-path
9457
+ * catalogue id.
9458
+ */
9459
+ onAddAnimation?: (preset: string, group: AnimationApplyGroup) => void;
9447
9460
  /** Removes all animations from the selected element. */
9448
9461
  onRemoveAnimation?: () => void;
9449
9462
  onToggleCompactToolbar: () => void;
@@ -9525,6 +9538,10 @@ interface ToolbarProps {
9525
9538
  onOpenSettings?: () => void;
9526
9539
  onRunAccessibilityCheck: () => void;
9527
9540
  onToggleSlideSorter: () => void;
9541
+ /** Enter PowerPoint's Reading View (full window, not the fullscreen show). */
9542
+ onOpenReadingView: () => void;
9543
+ /** Enter PowerPoint's Outline view: the deck as editable indented text. */
9544
+ onOpenOutlineView: () => void;
9528
9545
  onUpdateTextStyle: (updates: Partial<TextStyle>) => void;
9529
9546
  /** Rewrite the selected text's characters (PowerPoint's Aa "Change Case" dropdown). */
9530
9547
  onTransformTextCase: (mode: ChangeCaseMode) => void;
@@ -9703,6 +9720,12 @@ interface SlideCanvasProps {
9703
9720
  onMoveGuide?: (guideId: string, position: number) => void;
9704
9721
  onDeleteGuide?: (guideId: string) => void;
9705
9722
  onCreateGuideFromRuler?: (axis: 'h' | 'v', positionPx: number) => void;
9723
+ /**
9724
+ * Commits the slide's animation list after an on-canvas motion-path edit
9725
+ * (dragging the path's end handle). Absent means the path is drawn but
9726
+ * read-only.
9727
+ */
9728
+ onUpdateSlideAnimations?: (animations: PptxElementAnimation[]) => void;
9706
9729
  /** When true, shows connection sites on shapes and enables connector drawing. */
9707
9730
  connectorCreationMode?: boolean;
9708
9731
  /** Called when a new connector is created between two shapes. */
@@ -9794,7 +9817,7 @@ declare function useViewerBuildingBlocks(input: UseViewerBuildingBlocksInput): V
9794
9817
  declare function Toolbar(p: ToolbarProps): React$1__default.ReactElement;
9795
9818
  //#endregion
9796
9819
  //#region src/viewer/components/SlideCanvas.d.ts
9797
- declare function SlideCanvas({ activeSlide, templateElements, canvasSize, zoom, mode, canEdit, editTemplateMode, selectedElementIdSet, selectedElement, inlineEditingElementId, inlineEditingText, spellCheckEnabled, mediaDataUrls, tableEditorState, marqueeSelectionState, snapLines, showGrid, gridSpacingPx, showRulers, rulerUnit, guides, presentationElementStates, presentationKeyframesCss, onClick, onDoubleClick, onMouseDown, onContextMenu, onCanvasMouseDown, onResizePointerDown, onAdjustmentPointerDown, onRotate, onInlineEditChange, onInlineEditCommit, onInlineEditCancel, onTableCellSelect, onCommitCellEdit, onUpdateSmartArtElement, onFormatText, onResizeTableColumns, onResizeTableRow, findResults, findResultIndex, activeSlideIndex, activeTool, drawingColor, drawingWidth, isDrawingRef, onAddInkElement, onAddFreeformShape, onEraseInkElement, onActionClick, onHyperlinkClick, comments, showCommentMarkers, onCommentMarkerClick, onMoveGuide, onDeleteGuide, onCreateGuideFromRuler, connectorCreationMode, onCreateConnector, allSlides, onZoomClick, sourceSlideIndex, fieldContext, tableStyleContext, collaborationOverlay, aiActive }: SlideCanvasProps): React$1.JSX.Element;
9820
+ declare function SlideCanvas({ activeSlide, templateElements, canvasSize, zoom, mode, canEdit, editTemplateMode, selectedElementIdSet, selectedElement, inlineEditingElementId, inlineEditingText, spellCheckEnabled, mediaDataUrls, tableEditorState, marqueeSelectionState, snapLines, showGrid, gridSpacingPx, showRulers, rulerUnit, guides, presentationElementStates, presentationKeyframesCss, onClick, onDoubleClick, onMouseDown, onContextMenu, onCanvasMouseDown, onResizePointerDown, onAdjustmentPointerDown, onRotate, onInlineEditChange, onInlineEditCommit, onInlineEditCancel, onTableCellSelect, onCommitCellEdit, onUpdateSmartArtElement, onFormatText, onResizeTableColumns, onResizeTableRow, findResults, findResultIndex, activeSlideIndex, activeTool, drawingColor, drawingWidth, isDrawingRef, onAddInkElement, onAddFreeformShape, onEraseInkElement, onActionClick, onHyperlinkClick, comments, showCommentMarkers, onCommentMarkerClick, onMoveGuide, onDeleteGuide, onCreateGuideFromRuler, connectorCreationMode, onCreateConnector, onUpdateSlideAnimations, allSlides, onZoomClick, sourceSlideIndex, fieldContext, tableStyleContext, collaborationOverlay, aiActive }: SlideCanvasProps): React$1.JSX.Element;
9798
9821
  //#endregion
9799
9822
  //#region src/lib/canvas-export.d.ts
9800
9823
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../src/viewer/components/Toolbar.tsx","../src/viewer/components/SlideCanvas.tsx","../src/lib/canvas-export.ts"],"mappings":";;;;;;;;iBA4BgB,QAAQ,GAAG,eAAe,MAAM;;;iBCRhC,cACf,aACA,kBACA,YACA,MACA,MACA,SACA,kBACA,sBACA,iBACA,wBACA,mBACA,mBACA,eACA,kBACA,uBACA,WACA,UACA,eACA,YACA,WACA,QACA,2BACA,0BACA,SACA,eACA,aACA,eACA,mBACA,qBACA,yBACA,UACA,oBACA,oBACA,oBACA,mBACA,kBACA,yBACA,cACA,sBACA,kBACA,aACA,iBACA,kBACA,YACA,cACA,cACA,cACA,iBACA,oBACA,mBACA,eACA,kBACA,UACA,oBACA,sBACA,aACA,eACA,wBACA,uBACA,mBACA,WACA,aACA,kBACA,cACA,mBACA,sBACA,YACE,mCAAgB,IAAA;;;;;;;;;;;;;;;;;;;iBCrDG,eACrB,SAAS,aACT,UAAS,QAAQ,WACf,QAAQ"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../src/viewer/components/Toolbar.tsx","../src/viewer/components/SlideCanvas.tsx","../src/lib/canvas-export.ts"],"mappings":";;;;;;;;iBA4BgB,QAAQ,GAAG,eAAe,MAAM;;;iBCJhC,cACf,aACA,kBACA,YACA,MACA,MACA,SACA,kBACA,sBACA,iBACA,wBACA,mBACA,mBACA,eACA,kBACA,uBACA,WACA,UACA,eACA,YACA,WACA,QACA,2BACA,0BACA,SACA,eACA,aACA,eACA,mBACA,qBACA,yBACA,UACA,oBACA,oBACA,oBACA,mBACA,kBACA,yBACA,cACA,sBACA,kBACA,aACA,iBACA,kBACA,YACA,cACA,cACA,cACA,iBACA,oBACA,mBACA,eACA,kBACA,UACA,oBACA,sBACA,aACA,eACA,wBACA,uBACA,mBACA,yBACA,WACA,aACA,kBACA,cACA,mBACA,sBACA,YACE,mCAAgB,IAAA;;;;;;;;;;;;;;;;;;;iBC1DG,eACrB,SAAS,aACT,UAAS,QAAQ,WACf,QAAQ"}
package/dist/index.js CHANGED
@@ -1,132 +1,132 @@
1
1
  'use strict';
2
2
 
3
- var chunk6UXRNLHD_js = require('./chunk-6UXRNLHD.js');
4
- require('./chunk-YEM2VOAP.js');
5
- var chunkD6SHCB4V_js = require('./chunk-D6SHCB4V.js');
6
- var chunk34BUZNKO_js = require('./chunk-34BUZNKO.js');
7
- var chunk2JDWFMIK_js = require('./chunk-2JDWFMIK.js');
8
- var chunkIKISUZKE_js = require('./chunk-IKISUZKE.js');
3
+ var chunkE367QIKR_js = require('./chunk-E367QIKR.js');
4
+ require('./chunk-VNP627O5.js');
5
+ var chunk4J7SPY64_js = require('./chunk-4J7SPY64.js');
6
+ var chunkMM5RMRSP_js = require('./chunk-MM5RMRSP.js');
7
+ var chunkN6IHR6PS_js = require('./chunk-N6IHR6PS.js');
8
+ var chunkHMQVOPQH_js = require('./chunk-HMQVOPQH.js');
9
9
  require('./chunk-4VNS5WPM.js');
10
10
 
11
11
 
12
12
 
13
13
  Object.defineProperty(exports, "PowerPointViewer", {
14
14
  enumerable: true,
15
- get: function () { return chunk6UXRNLHD_js.PowerPointViewer; }
15
+ get: function () { return chunkE367QIKR_js.PowerPointViewer; }
16
16
  });
17
17
  Object.defineProperty(exports, "SlideCanvas", {
18
18
  enumerable: true,
19
- get: function () { return chunk6UXRNLHD_js.SlideCanvas; }
19
+ get: function () { return chunkE367QIKR_js.SlideCanvas; }
20
20
  });
21
21
  Object.defineProperty(exports, "Toolbar", {
22
22
  enumerable: true,
23
- get: function () { return chunk6UXRNLHD_js.Toolbar; }
23
+ get: function () { return chunkE367QIKR_js.Toolbar; }
24
24
  });
25
25
  Object.defineProperty(exports, "ViewerThemeProvider", {
26
26
  enumerable: true,
27
- get: function () { return chunk6UXRNLHD_js.ViewerThemeProvider; }
27
+ get: function () { return chunkE367QIKR_js.ViewerThemeProvider; }
28
28
  });
29
29
  Object.defineProperty(exports, "useViewerTheme", {
30
30
  enumerable: true,
31
- get: function () { return chunk6UXRNLHD_js.useViewerTheme; }
31
+ get: function () { return chunkE367QIKR_js.useViewerTheme; }
32
32
  });
33
33
  Object.defineProperty(exports, "renderToCanvas", {
34
34
  enumerable: true,
35
- get: function () { return chunkD6SHCB4V_js.renderToCanvas; }
35
+ get: function () { return chunk4J7SPY64_js.renderToCanvas; }
36
36
  });
37
37
  Object.defineProperty(exports, "useViewerBuildingBlocks", {
38
38
  enumerable: true,
39
- get: function () { return chunkD6SHCB4V_js.useViewerBuildingBlocks; }
39
+ get: function () { return chunk4J7SPY64_js.useViewerBuildingBlocks; }
40
40
  });
41
41
  Object.defineProperty(exports, "getAnimationInitialStyle", {
42
42
  enumerable: true,
43
- get: function () { return chunk34BUZNKO_js.getAnimationInitialStyle; }
43
+ get: function () { return chunkMM5RMRSP_js.getAnimationInitialStyle; }
44
44
  });
45
45
  Object.defineProperty(exports, "LOCALE_CATALOG", {
46
46
  enumerable: true,
47
- get: function () { return chunk2JDWFMIK_js.LOCALE_CATALOG; }
47
+ get: function () { return chunkN6IHR6PS_js.LOCALE_CATALOG; }
48
48
  });
49
49
  Object.defineProperty(exports, "AVATAR_COLOR_SWATCHES", {
50
50
  enumerable: true,
51
- get: function () { return chunkIKISUZKE_js.AVATAR_COLOR_SWATCHES; }
51
+ get: function () { return chunkHMQVOPQH_js.AVATAR_COLOR_SWATCHES; }
52
52
  });
53
53
  Object.defineProperty(exports, "DEFAULT_VIEWER_PROFILE", {
54
54
  enumerable: true,
55
- get: function () { return chunkIKISUZKE_js.DEFAULT_VIEWER_PROFILE; }
55
+ get: function () { return chunkHMQVOPQH_js.DEFAULT_VIEWER_PROFILE; }
56
56
  });
57
57
  Object.defineProperty(exports, "THEME_CATALOG", {
58
58
  enumerable: true,
59
- get: function () { return chunkIKISUZKE_js.THEME_CATALOG; }
59
+ get: function () { return chunkHMQVOPQH_js.THEME_CATALOG; }
60
60
  });
61
61
  Object.defineProperty(exports, "VIEWER_PREFS_STORAGE_KEY", {
62
62
  enumerable: true,
63
- get: function () { return chunkIKISUZKE_js.VIEWER_PREFS_STORAGE_KEY; }
63
+ get: function () { return chunkHMQVOPQH_js.VIEWER_PREFS_STORAGE_KEY; }
64
64
  });
65
65
  Object.defineProperty(exports, "clearAllLocalViewerData", {
66
66
  enumerable: true,
67
- get: function () { return chunkIKISUZKE_js.clearAllLocalViewerData; }
67
+ get: function () { return chunkHMQVOPQH_js.clearAllLocalViewerData; }
68
68
  });
69
69
  Object.defineProperty(exports, "clearStoredViewerPrefs", {
70
70
  enumerable: true,
71
- get: function () { return chunkIKISUZKE_js.clearStoredViewerPrefs; }
71
+ get: function () { return chunkHMQVOPQH_js.clearStoredViewerPrefs; }
72
72
  });
73
73
  Object.defineProperty(exports, "defaultCssVars", {
74
74
  enumerable: true,
75
- get: function () { return chunkIKISUZKE_js.defaultCssVars; }
75
+ get: function () { return chunkHMQVOPQH_js.defaultCssVars; }
76
76
  });
77
77
  Object.defineProperty(exports, "defaultRadius", {
78
78
  enumerable: true,
79
- get: function () { return chunkIKISUZKE_js.defaultRadius; }
79
+ get: function () { return chunkHMQVOPQH_js.defaultRadius; }
80
80
  });
81
81
  Object.defineProperty(exports, "defaultThemeColors", {
82
82
  enumerable: true,
83
- get: function () { return chunkIKISUZKE_js.defaultThemeColors; }
83
+ get: function () { return chunkHMQVOPQH_js.defaultThemeColors; }
84
84
  });
85
85
  Object.defineProperty(exports, "getLocalStorageUsageSummary", {
86
86
  enumerable: true,
87
- get: function () { return chunkIKISUZKE_js.getLocalStorageUsageSummary; }
87
+ get: function () { return chunkHMQVOPQH_js.getLocalStorageUsageSummary; }
88
88
  });
89
89
  Object.defineProperty(exports, "readStoredViewerPrefs", {
90
90
  enumerable: true,
91
- get: function () { return chunkIKISUZKE_js.readStoredViewerPrefs; }
91
+ get: function () { return chunkHMQVOPQH_js.readStoredViewerPrefs; }
92
92
  });
93
93
  Object.defineProperty(exports, "resolveProfileInitial", {
94
94
  enumerable: true,
95
- get: function () { return chunkIKISUZKE_js.resolveProfileInitial; }
95
+ get: function () { return chunkHMQVOPQH_js.resolveProfileInitial; }
96
96
  });
97
97
  Object.defineProperty(exports, "resolveThemeCatalogEntry", {
98
98
  enumerable: true,
99
- get: function () { return chunkIKISUZKE_js.resolveThemeCatalogEntry; }
99
+ get: function () { return chunkHMQVOPQH_js.resolveThemeCatalogEntry; }
100
100
  });
101
101
  Object.defineProperty(exports, "saveViewerProfile", {
102
102
  enumerable: true,
103
- get: function () { return chunkIKISUZKE_js.saveViewerProfile; }
103
+ get: function () { return chunkHMQVOPQH_js.saveViewerProfile; }
104
104
  });
105
105
  Object.defineProperty(exports, "themeToCssVars", {
106
106
  enumerable: true,
107
- get: function () { return chunkIKISUZKE_js.themeToCssVars; }
107
+ get: function () { return chunkHMQVOPQH_js.themeToCssVars; }
108
108
  });
109
109
  Object.defineProperty(exports, "vermilionDarkColors", {
110
110
  enumerable: true,
111
- get: function () { return chunkIKISUZKE_js.vermilionDarkColors; }
111
+ get: function () { return chunkHMQVOPQH_js.vermilionDarkColors; }
112
112
  });
113
113
  Object.defineProperty(exports, "vermilionDarkTheme", {
114
114
  enumerable: true,
115
- get: function () { return chunkIKISUZKE_js.vermilionDarkTheme; }
115
+ get: function () { return chunkHMQVOPQH_js.vermilionDarkTheme; }
116
116
  });
117
117
  Object.defineProperty(exports, "vermilionLightColors", {
118
118
  enumerable: true,
119
- get: function () { return chunkIKISUZKE_js.vermilionLightColors; }
119
+ get: function () { return chunkHMQVOPQH_js.vermilionLightColors; }
120
120
  });
121
121
  Object.defineProperty(exports, "vermilionLightTheme", {
122
122
  enumerable: true,
123
- get: function () { return chunkIKISUZKE_js.vermilionLightTheme; }
123
+ get: function () { return chunkHMQVOPQH_js.vermilionLightTheme; }
124
124
  });
125
125
  Object.defineProperty(exports, "vermilionRadius", {
126
126
  enumerable: true,
127
- get: function () { return chunkIKISUZKE_js.vermilionRadius; }
127
+ get: function () { return chunkHMQVOPQH_js.vermilionRadius; }
128
128
  });
129
129
  Object.defineProperty(exports, "writeStoredViewerPrefs", {
130
130
  enumerable: true,
131
- get: function () { return chunkIKISUZKE_js.writeStoredViewerPrefs; }
131
+ get: function () { return chunkHMQVOPQH_js.writeStoredViewerPrefs; }
132
132
  });
package/dist/index.js.br CHANGED
Binary file
package/dist/index.js.gz CHANGED
Binary file
package/dist/index.mjs CHANGED
@@ -1,7 +1,7 @@
1
- export { PowerPointViewer, SlideCanvas, Toolbar, ViewerThemeProvider, useViewerTheme } from './chunk-NQLVK23T.mjs';
2
- import './chunk-6OLS3EJW.mjs';
3
- export { renderToCanvas, useViewerBuildingBlocks } from './chunk-4FO4JMTN.mjs';
4
- export { getAnimationInitialStyle } from './chunk-JPTO6P5K.mjs';
5
- export { LOCALE_CATALOG } from './chunk-CD434OFE.mjs';
6
- export { AVATAR_COLOR_SWATCHES, DEFAULT_VIEWER_PROFILE, THEME_CATALOG, VIEWER_PREFS_STORAGE_KEY, clearAllLocalViewerData, clearStoredViewerPrefs, defaultCssVars, defaultRadius, defaultThemeColors, getLocalStorageUsageSummary, readStoredViewerPrefs, resolveProfileInitial, resolveThemeCatalogEntry, saveViewerProfile, themeToCssVars, vermilionDarkColors, vermilionDarkTheme, vermilionLightColors, vermilionLightTheme, vermilionRadius, writeStoredViewerPrefs } from './chunk-L47Y62L6.mjs';
1
+ export { PowerPointViewer, SlideCanvas, Toolbar, ViewerThemeProvider, useViewerTheme } from './chunk-L2CM5EUD.mjs';
2
+ import './chunk-UZVRM6LD.mjs';
3
+ export { renderToCanvas, useViewerBuildingBlocks } from './chunk-HK2UERUX.mjs';
4
+ export { getAnimationInitialStyle } from './chunk-RJEY2KZH.mjs';
5
+ export { LOCALE_CATALOG } from './chunk-53NXKDMZ.mjs';
6
+ export { AVATAR_COLOR_SWATCHES, DEFAULT_VIEWER_PROFILE, THEME_CATALOG, VIEWER_PREFS_STORAGE_KEY, clearAllLocalViewerData, clearStoredViewerPrefs, defaultCssVars, defaultRadius, defaultThemeColors, getLocalStorageUsageSummary, readStoredViewerPrefs, resolveProfileInitial, resolveThemeCatalogEntry, saveViewerProfile, themeToCssVars, vermilionDarkColors, vermilionDarkTheme, vermilionLightColors, vermilionLightTheme, vermilionRadius, writeStoredViewerPrefs } from './chunk-C2UWTH42.mjs';
7
7
  import './chunk-XGB3TDIC.mjs';
package/dist/index.mjs.br CHANGED
Binary file
package/dist/index.mjs.gz CHANGED
Binary file
@@ -8465,6 +8465,15 @@ interface ElementAnimationState {
8465
8465
  */
8466
8466
  animatesStroke?: boolean;
8467
8467
  }
8468
+ //#endregion
8469
+ //#region src/render/motion-path-authoring.d.ts
8470
+ /**
8471
+ * The bucket a ribbon gallery click targets. Widens the three preset buckets
8472
+ * with `motionPath` so a binding's single "apply animation" callback can carry
8473
+ * a motion-path preset id too, instead of every binding growing a second
8474
+ * callback threaded through the same six components.
8475
+ */
8476
+ type AnimationApplyGroup = 'entrance' | 'emphasis' | 'exit' | 'motionPath';
8468
8477
  /** The unit system used for ruler display. */
8469
8478
  type RulerUnit = 'inches' | 'centimetres';
8470
8479
  //#endregion
@@ -9199,8 +9208,12 @@ interface ToolbarProps {
9199
9208
  onToggleInspector: () => void;
9200
9209
  /** Opens the inspector pane and switches to the properties tab (for animation panel). */
9201
9210
  onOpenAnimationPanel: () => void;
9202
- /** Adds an animation preset to the selected element. */
9203
- onAddAnimation?: (preset: string, group: 'entrance' | 'emphasis' | 'exit') => void;
9211
+ /**
9212
+ * Adds an animation to the selected element. For the three preset buckets
9213
+ * `preset` is a `PptxAnimationPreset`; for `motionPath` it is a motion-path
9214
+ * catalogue id.
9215
+ */
9216
+ onAddAnimation?: (preset: string, group: AnimationApplyGroup) => void;
9204
9217
  /** Removes all animations from the selected element. */
9205
9218
  onRemoveAnimation?: () => void;
9206
9219
  onToggleCompactToolbar: () => void;
@@ -9282,6 +9295,10 @@ interface ToolbarProps {
9282
9295
  onOpenSettings?: () => void;
9283
9296
  onRunAccessibilityCheck: () => void;
9284
9297
  onToggleSlideSorter: () => void;
9298
+ /** Enter PowerPoint's Reading View (full window, not the fullscreen show). */
9299
+ onOpenReadingView: () => void;
9300
+ /** Enter PowerPoint's Outline view: the deck as editable indented text. */
9301
+ onOpenOutlineView: () => void;
9285
9302
  onUpdateTextStyle: (updates: Partial<TextStyle>) => void;
9286
9303
  /** Rewrite the selected text's characters (PowerPoint's Aa "Change Case" dropdown). */
9287
9304
  onTransformTextCase: (mode: ChangeCaseMode) => void;
@@ -9460,6 +9477,12 @@ interface SlideCanvasProps {
9460
9477
  onMoveGuide?: (guideId: string, position: number) => void;
9461
9478
  onDeleteGuide?: (guideId: string) => void;
9462
9479
  onCreateGuideFromRuler?: (axis: 'h' | 'v', positionPx: number) => void;
9480
+ /**
9481
+ * Commits the slide's animation list after an on-canvas motion-path edit
9482
+ * (dragging the path's end handle). Absent means the path is drawn but
9483
+ * read-only.
9484
+ */
9485
+ onUpdateSlideAnimations?: (animations: PptxElementAnimation[]) => void;
9463
9486
  /** When true, shows connection sites on shapes and enables connector drawing. */
9464
9487
  connectorCreationMode?: boolean;
9465
9488
  /** Called when a new connector is created between two shapes. */
@@ -10609,6 +10632,11 @@ interface ViewerUIState {
10609
10632
  setSidebarPanelMode: React.Dispatch<React.SetStateAction<string>>;
10610
10633
  showSlideSorter: boolean;
10611
10634
  setShowSlideSorter: React.Dispatch<React.SetStateAction<boolean>>;
10635
+ showReadingView: boolean;
10636
+ setShowReadingView: React.Dispatch<React.SetStateAction<boolean>>;
10637
+ /** PowerPoint's Outline view: the deck as editable indented text. */
10638
+ showOutlineView: boolean;
10639
+ setShowOutlineView: React.Dispatch<React.SetStateAction<boolean>>;
10612
10640
  isShortcutHelpOpen: boolean;
10613
10641
  setIsShortcutHelpOpen: React.Dispatch<React.SetStateAction<boolean>>;
10614
10642
  isAccessibilityPanelOpen: boolean;