pptx-react-viewer 2.3.0 → 2.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (152) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/{AiChatPanel-PXZYHJUB.mjs → AiChatPanel-EMF3UYCE.mjs} +4 -5
  3. package/dist/AiChatPanel-EMF3UYCE.mjs.br +0 -0
  4. package/dist/AiChatPanel-EMF3UYCE.mjs.gz +0 -0
  5. package/dist/{AiChatPanel-HC3CE3TL.js → AiChatPanel-OHSLJNYG.js} +23 -24
  6. package/dist/AiChatPanel-OHSLJNYG.js.br +0 -0
  7. package/dist/AiChatPanel-OHSLJNYG.js.gz +0 -0
  8. package/dist/{Model3DScene-37QZRHV5.js → Model3DScene-ULHIJPMU.js} +2 -3
  9. package/dist/Model3DScene-ULHIJPMU.js.br +0 -0
  10. package/dist/Model3DScene-ULHIJPMU.js.gz +0 -0
  11. package/dist/{Model3DScene-ZG4HTMPX.mjs → Model3DScene-X6QJTWHV.mjs} +1 -2
  12. package/dist/Model3DScene-X6QJTWHV.mjs.br +0 -0
  13. package/dist/Model3DScene-X6QJTWHV.mjs.gz +0 -0
  14. package/dist/{PowerPointViewer-gmU5rc7K.d.ts → PowerPointViewer-Cjn1RgSz.d.ts} +2 -2
  15. package/dist/{PowerPointViewer-gmU5rc7K.d.ts.map → PowerPointViewer-Cjn1RgSz.d.ts.map} +1 -1
  16. package/dist/{SurfaceChart3DScene-QIREQ66D.js → SurfaceChart3DScene-K7Q5NYZ4.js} +2 -3
  17. package/dist/SurfaceChart3DScene-K7Q5NYZ4.js.br +0 -0
  18. package/dist/SurfaceChart3DScene-K7Q5NYZ4.js.gz +0 -0
  19. package/dist/{SurfaceChart3DScene-Z7R6DZXN.mjs → SurfaceChart3DScene-PRCKQJQQ.mjs} +1 -2
  20. package/dist/SurfaceChart3DScene-PRCKQJQQ.mjs.br +0 -0
  21. package/dist/SurfaceChart3DScene-PRCKQJQQ.mjs.gz +0 -0
  22. package/dist/audience-content-store-BMlth_3U.d.ts +386 -0
  23. package/dist/audience-content-store-BMlth_3U.d.ts.map +1 -0
  24. package/dist/{chunk-YIFO3WQO.js → chunk-25VSL2BB.js} +1 -0
  25. package/dist/chunk-25VSL2BB.js.br +0 -0
  26. package/dist/chunk-25VSL2BB.js.gz +0 -0
  27. package/dist/{chunk-L7JNCVTF.js → chunk-7Q7AEPO7.js} +384 -332
  28. package/dist/chunk-7Q7AEPO7.js.br +0 -0
  29. package/dist/chunk-7Q7AEPO7.js.gz +0 -0
  30. package/dist/{chunk-ZLSVW5GP.js → chunk-I4AFCPUC.js} +876 -882
  31. package/dist/chunk-I4AFCPUC.js.br +0 -0
  32. package/dist/chunk-I4AFCPUC.js.gz +0 -0
  33. package/dist/{chunk-J5A22DZ7.mjs → chunk-JSFUU2BB.mjs} +36 -42
  34. package/dist/chunk-JSFUU2BB.mjs.br +0 -0
  35. package/dist/chunk-JSFUU2BB.mjs.gz +0 -0
  36. package/dist/{chunk-I5LEMC5C.mjs → chunk-LIQGO45T.mjs} +74 -22
  37. package/dist/chunk-LIQGO45T.mjs.br +0 -0
  38. package/dist/chunk-LIQGO45T.mjs.gz +0 -0
  39. package/dist/{chunk-JFNMD6TM.mjs → chunk-LTEDT475.js} +48579 -31703
  40. package/dist/chunk-LTEDT475.js.br +0 -0
  41. package/dist/chunk-LTEDT475.js.gz +0 -0
  42. package/dist/{chunk-EUIFPDXZ.js → chunk-MJAEB43A.js} +3 -3
  43. package/dist/chunk-MJAEB43A.js.br +0 -0
  44. package/dist/chunk-MJAEB43A.js.gz +0 -0
  45. package/dist/{chunk-P7UVBRFO.js → chunk-NVH3RIN7.js} +282 -291
  46. package/dist/chunk-NVH3RIN7.js.br +0 -0
  47. package/dist/chunk-NVH3RIN7.js.gz +0 -0
  48. package/dist/{chunk-VOHTAUN4.mjs → chunk-TGVID6BB.mjs} +41 -50
  49. package/dist/chunk-TGVID6BB.mjs.br +0 -0
  50. package/dist/chunk-TGVID6BB.mjs.gz +0 -0
  51. package/dist/{chunk-3TB45PVK.js → chunk-VOV2N3NY.mjs} +48075 -32275
  52. package/dist/chunk-VOV2N3NY.mjs.br +0 -0
  53. package/dist/chunk-VOV2N3NY.mjs.gz +0 -0
  54. package/dist/{chunk-M5YR3QSB.mjs → chunk-WJKMTDXS.mjs} +1 -1
  55. package/dist/chunk-WJKMTDXS.mjs.br +0 -0
  56. package/dist/chunk-WJKMTDXS.mjs.gz +0 -0
  57. package/dist/{chunk-PZTPX3HK.mjs → chunk-Z6HIZWIQ.mjs} +1 -0
  58. package/dist/chunk-Z6HIZWIQ.mjs.br +0 -0
  59. package/dist/chunk-Z6HIZWIQ.mjs.gz +0 -0
  60. package/dist/i18n.js +4 -4
  61. package/dist/i18n.js.br +0 -0
  62. package/dist/i18n.js.gz +0 -0
  63. package/dist/i18n.mjs +1 -1
  64. package/dist/i18n.mjs.br +0 -0
  65. package/dist/i18n.mjs.gz +0 -0
  66. package/dist/index.d.ts +112 -87
  67. package/dist/index.js +39 -40
  68. package/dist/index.js.br +0 -0
  69. package/dist/index.js.gz +0 -0
  70. package/dist/index.mjs +6 -7
  71. package/dist/index.mjs.br +0 -0
  72. package/dist/index.mjs.gz +0 -0
  73. package/dist/internals.d.ts +563 -514
  74. package/dist/internals.d.ts.map +1 -1
  75. package/dist/internals.js +79 -81
  76. package/dist/internals.js.br +0 -0
  77. package/dist/internals.js.gz +0 -0
  78. package/dist/internals.mjs +4 -6
  79. package/dist/internals.mjs.br +0 -0
  80. package/dist/internals.mjs.gz +0 -0
  81. package/dist/pptx-viewer.css +1 -1
  82. package/dist/pptx-viewer.css.br +0 -0
  83. package/dist/pptx-viewer.css.gz +0 -0
  84. package/dist/{animation-timeline-eb5z0SHW.d.ts → types-DciBT90G.d.ts} +4 -3
  85. package/dist/types-DciBT90G.d.ts.map +1 -0
  86. package/dist/{useViewerBuildingBlocks-CjureTRf.d.ts → useViewerBuildingBlocks-DMDZRawe.d.ts} +4 -4
  87. package/dist/{useViewerBuildingBlocks-CjureTRf.d.ts.map → useViewerBuildingBlocks-DMDZRawe.d.ts.map} +1 -1
  88. package/dist/viewer/index.d.ts +112 -88
  89. package/dist/viewer/index.js +22 -24
  90. package/dist/viewer/index.js.br +0 -0
  91. package/dist/viewer/index.js.gz +0 -0
  92. package/dist/viewer/index.mjs +6 -8
  93. package/dist/viewer/index.mjs.br +0 -0
  94. package/dist/viewer/index.mjs.gz +0 -0
  95. package/package.json +4 -4
  96. package/dist/AiChatPanel-HC3CE3TL.js.br +0 -0
  97. package/dist/AiChatPanel-HC3CE3TL.js.gz +0 -0
  98. package/dist/AiChatPanel-PXZYHJUB.mjs.br +0 -0
  99. package/dist/AiChatPanel-PXZYHJUB.mjs.gz +0 -0
  100. package/dist/Model3DScene-37QZRHV5.js.br +0 -0
  101. package/dist/Model3DScene-37QZRHV5.js.gz +0 -0
  102. package/dist/Model3DScene-ZG4HTMPX.mjs.br +0 -0
  103. package/dist/Model3DScene-ZG4HTMPX.mjs.gz +0 -0
  104. package/dist/SurfaceChart3DScene-QIREQ66D.js.br +0 -0
  105. package/dist/SurfaceChart3DScene-QIREQ66D.js.gz +0 -0
  106. package/dist/SurfaceChart3DScene-Z7R6DZXN.mjs.br +0 -0
  107. package/dist/SurfaceChart3DScene-Z7R6DZXN.mjs.gz +0 -0
  108. package/dist/animation-timeline-eb5z0SHW.d.ts.map +0 -1
  109. package/dist/chunk-3TB45PVK.js.br +0 -0
  110. package/dist/chunk-3TB45PVK.js.gz +0 -0
  111. package/dist/chunk-4AAFZFGH.mjs +0 -27633
  112. package/dist/chunk-4AAFZFGH.mjs.br +0 -0
  113. package/dist/chunk-4AAFZFGH.mjs.gz +0 -0
  114. package/dist/chunk-EUIFPDXZ.js.br +0 -0
  115. package/dist/chunk-EUIFPDXZ.js.gz +0 -0
  116. package/dist/chunk-I5LEMC5C.mjs.br +0 -0
  117. package/dist/chunk-I5LEMC5C.mjs.gz +0 -0
  118. package/dist/chunk-IKBO6CZC.js +0 -2
  119. package/dist/chunk-IKBO6CZC.js.br +0 -3
  120. package/dist/chunk-IKBO6CZC.js.gz +0 -0
  121. package/dist/chunk-J5A22DZ7.mjs.br +0 -0
  122. package/dist/chunk-J5A22DZ7.mjs.gz +0 -0
  123. package/dist/chunk-JFNMD6TM.mjs.br +0 -0
  124. package/dist/chunk-JFNMD6TM.mjs.gz +0 -0
  125. package/dist/chunk-KDW3LLG5.js +0 -28067
  126. package/dist/chunk-KDW3LLG5.js.br +0 -0
  127. package/dist/chunk-KDW3LLG5.js.gz +0 -0
  128. package/dist/chunk-L7JNCVTF.js.br +0 -0
  129. package/dist/chunk-L7JNCVTF.js.gz +0 -0
  130. package/dist/chunk-M5YR3QSB.mjs.br +0 -0
  131. package/dist/chunk-M5YR3QSB.mjs.gz +0 -0
  132. package/dist/chunk-P7UVBRFO.js.br +0 -0
  133. package/dist/chunk-P7UVBRFO.js.gz +0 -0
  134. package/dist/chunk-PZTPX3HK.mjs.br +0 -0
  135. package/dist/chunk-PZTPX3HK.mjs.gz +0 -0
  136. package/dist/chunk-T5U6P2JH.mjs +0 -1
  137. package/dist/chunk-T5U6P2JH.mjs.br +0 -0
  138. package/dist/chunk-T5U6P2JH.mjs.gz +0 -0
  139. package/dist/chunk-VOHTAUN4.mjs.br +0 -0
  140. package/dist/chunk-VOHTAUN4.mjs.gz +0 -0
  141. package/dist/chunk-YIFO3WQO.js.br +0 -0
  142. package/dist/chunk-YIFO3WQO.js.gz +0 -0
  143. package/dist/chunk-ZLSVW5GP.js.br +0 -0
  144. package/dist/chunk-ZLSVW5GP.js.gz +0 -0
  145. package/dist/dist-FTEVZZPM.js +0 -2283
  146. package/dist/dist-FTEVZZPM.js.br +0 -0
  147. package/dist/dist-FTEVZZPM.js.gz +0 -0
  148. package/dist/dist-L7GZVBMG.mjs +0 -2
  149. package/dist/dist-L7GZVBMG.mjs.br +0 -0
  150. package/dist/dist-L7GZVBMG.mjs.gz +0 -0
  151. package/dist/index-CDCSXtK3.d.ts +0 -685
  152. package/dist/index-CDCSXtK3.d.ts.map +0 -1
Binary file
Binary file
@@ -1,6 +1,5 @@
1
- import { SHAPE_PRESET_DEFS, computeValueRangeForChart, getAnimationInitialStyle, cloneHistorySnapshot, isTemplateElement, clampCropValue, parseMediaCommand, normalizeHexColor, toCssWritingMode, toCssTextOrientation, toCssVerticalDirection, computeAutoFitTextStyle, resolveLineHeight, getKinsokuLineBreakStyles, buildTextBody3DSceneStyle, resolveParagraphRtl, resolveParagraphAlign, resolveCssTextAlign, colorWithOpacity, build3DExtrusionData, getResolvedShapeClipPath, normalizeStrokeDashType, buildCssGradientFromShapeStyle, buildShadowCssFromShapeStyle, buildInnerShadowCssFromShapeStyle, buildMultiLayerShadowCss, buildGlowBoxShadow, getCompoundLineBoxShadow, getSoftEdgeFilterId, getEffectDagFilter, buildPatternFillCss, buildReflectionCss, getCssBorderDashStyle, getCompoundLineBorderWidth, getSvgStrokeDasharray, svgLineCap, getCompoundLineOffsets, getCompoundLineWidths, computeSelectionRect, rectToCells, isCellInRect, buildChartViewModel, buildNotesPdfBytes, buildSlidesPdfBytes, buildPreviewAnimation, getRoundRectRadiusPx, substituteFieldText, resolveUnderlineDecorationStyle, hasDistinctScriptFonts, buildTextReflectionCss, getTextAlphaOpacity, buildTextRunFilterChain, buildTextShadowCss, TEXT_BUILD_ID_SEP, apply3dEffects, clampUnitInterval, 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, segmentByScript, resolveFontForScript, generateLogTicks, formatAxisValueWithUnits, getDisplayUnitLabel, hexToRgbChannels, chartPartToAttrs } from './chunk-4AAFZFGH.mjs';
2
- import { translationsEn } from './chunk-PZTPX3HK.mjs';
3
- import { hasShapeProperties, isImageLikeElement, hasTextProperties, isCalloutShape, getCalloutLeaderLineGeometry, buildCalloutLeaderLineSvgPath, getCalloutViewBoxBounds, getSubstituteFontFamily, evaluatePresetShape, customGeometryPathsToSvgSubpaths, ooxmlGradientAngleToCssDegrees } from './chunk-JFNMD6TM.mjs';
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, 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-VOV2N3NY.mjs';
4
3
  import { clsx } from 'clsx';
5
4
  import { twMerge } from 'tailwind-merge';
6
5
  import React6, { useState, useEffect, useMemo, Suspense, useRef, useCallback, useLayoutEffect } from 'react';
@@ -1510,7 +1509,7 @@ function buildAnimStyle(state) {
1510
1509
  }
1511
1510
  return Object.keys(style).length > 0 ? style : void 0;
1512
1511
  }
1513
- function wrapWithTextBuildAnimation(elementId, paraIndex, renderedSegments, paraSegments, subElementAnimStates) {
1512
+ function wrapWithTextBuildAnimation(elementId, paraIndex, renderedSegments, paraSegments, subElementAnimStates, renderPiece) {
1514
1513
  if (!subElementAnimStates || subElementAnimStates.size === 0) {
1515
1514
  return renderedSegments;
1516
1515
  }
@@ -1520,53 +1519,30 @@ function wrapWithTextBuildAnimation(elementId, paraIndex, renderedSegments, para
1520
1519
  const style = buildAnimStyle(paraState);
1521
1520
  return /* @__PURE__ */ jsx("span", { "data-anim-id": paraKey, style: { display: "inline", ...style }, children: renderedSegments }, paraKey);
1522
1521
  }
1523
- const firstWordKey = `${elementId}${TEXT_BUILD_ID_SEP}w${paraIndex}-0`;
1524
- if (subElementAnimStates.has(firstWordKey)) {
1525
- return wrapByWord(elementId, paraIndex, paraSegments, subElementAnimStates);
1526
- }
1527
- const firstCharKey = `${elementId}${TEXT_BUILD_ID_SEP}c${paraIndex}-0`;
1528
- if (subElementAnimStates.has(firstCharKey)) {
1529
- return wrapByChar(elementId, paraIndex, paraSegments, subElementAnimStates);
1522
+ const spec = buildTextBuildSpec(
1523
+ elementId,
1524
+ paraIndex,
1525
+ paraSegments.map((entry) => ({ text: entry.segment.text, style: entry })),
1526
+ subElementAnimStates
1527
+ );
1528
+ if (!spec?.spans) {
1529
+ return renderedSegments;
1530
1530
  }
1531
- return renderedSegments;
1532
- }
1533
- function wrapByWord(elementId, paraIndex, paraSegments, states) {
1534
- const fullText = paraSegments.map((e) => e.segment.text).join("");
1535
- const words = fullText.split(/(\s+)/);
1536
- let wordIdx = 0;
1537
- const nodes = [];
1538
- for (let i = 0; i < words.length; i++) {
1539
- const w = words[i];
1540
- if (!w) {
1541
- continue;
1542
- }
1543
- const isWhitespace = /^\s+$/.test(w);
1544
- if (isWhitespace) {
1545
- nodes.push(/* @__PURE__ */ jsx(React6.Fragment, { children: w }, `ws-${i}`));
1546
- continue;
1531
+ return spec.spans.map((span, index) => {
1532
+ const content = span.style && renderPiece ? renderPiece(span.style, span.text) : span.text;
1533
+ if (!span.animId) {
1534
+ return /* @__PURE__ */ jsx(React6.Fragment, { children: content }, `ws-${index}`);
1547
1535
  }
1548
- const key = `${elementId}${TEXT_BUILD_ID_SEP}w${paraIndex}-${wordIdx}`;
1549
- const state = states.get(key);
1550
- const style = buildAnimStyle(state);
1551
- nodes.push(
1552
- /* @__PURE__ */ jsx("span", { "data-anim-id": key, style: { display: "inline", ...style }, children: w }, key)
1553
- );
1554
- wordIdx++;
1555
- }
1556
- return nodes;
1557
- }
1558
- function wrapByChar(elementId, paraIndex, paraSegments, states) {
1559
- const fullText = paraSegments.map((e) => e.segment.text).join("");
1560
- const nodes = [];
1561
- for (let i = 0; i < fullText.length; i++) {
1562
- const key = `${elementId}${TEXT_BUILD_ID_SEP}c${paraIndex}-${i}`;
1563
- const state = states.get(key);
1564
- const style = buildAnimStyle(state);
1565
- nodes.push(
1566
- /* @__PURE__ */ jsx("span", { "data-anim-id": key, style: { display: "inline", ...style }, children: fullText[i] }, key)
1536
+ return /* @__PURE__ */ jsx(
1537
+ "span",
1538
+ {
1539
+ "data-anim-id": span.animId,
1540
+ style: textBuildSpanStyle(span),
1541
+ children: content
1542
+ },
1543
+ span.animId
1567
1544
  );
1568
- }
1569
- return nodes;
1545
+ });
1570
1546
  }
1571
1547
  var EPS = 0.01;
1572
1548
  var FALLBACK_STEP_PX = 48;
@@ -2214,7 +2190,22 @@ function renderTextSegments(element, fallbackColor, emptyFallback, findHighlight
2214
2190
  paraIndex,
2215
2191
  renderedSegments,
2216
2192
  paraSegments,
2217
- subElementAnimStates
2193
+ subElementAnimStates,
2194
+ // A staged build splits the paragraph but must not flatten it: each
2195
+ // piece is re-rendered through the SAME segment renderer, so it keeps
2196
+ // its run's font, size, colour and decoration while it animates.
2197
+ ({ segment, globalIndex }, text) => renderSingleSegment(
2198
+ element,
2199
+ { ...segment, text },
2200
+ globalIndex,
2201
+ fallbackColor,
2202
+ findHighlights,
2203
+ void 0,
2204
+ onHyperlinkClick,
2205
+ fieldContext,
2206
+ paraRtl,
2207
+ requireCtrlClick
2208
+ )
2218
2209
  );
2219
2210
  if (!needsWrapper) {
2220
2211
  return /* @__PURE__ */ jsxs(React6.Fragment, { children: [
@@ -6266,7 +6257,7 @@ function FailedToLoad() {
6266
6257
  var LazySurfaceChart3DScene = React6.lazy(
6267
6258
  async () => {
6268
6259
  try {
6269
- return await import('./SurfaceChart3DScene-Z7R6DZXN.mjs');
6260
+ return await import('./SurfaceChart3DScene-PRCKQJQQ.mjs');
6270
6261
  } catch {
6271
6262
  return { default: FailedToLoad };
6272
6263
  }
Binary file
Binary file