pptx-react-viewer 3.2.0 → 3.4.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 (166) hide show
  1. package/CHANGELOG.md +53 -0
  2. package/dist/{AiChatPanel-TKBVSYD2.js → AiChatPanel-3Q4STA5E.js} +29 -28
  3. package/dist/AiChatPanel-3Q4STA5E.js.br +0 -0
  4. package/dist/AiChatPanel-3Q4STA5E.js.gz +0 -0
  5. package/dist/{AiChatPanel-C3E7NLX3.mjs → AiChatPanel-NQZBZIRM.mjs} +9 -8
  6. package/dist/AiChatPanel-NQZBZIRM.mjs.br +0 -0
  7. package/dist/AiChatPanel-NQZBZIRM.mjs.gz +0 -0
  8. package/dist/{Area3DChartScene-7YCFWEGX.mjs → Area3DChartScene-7PARQDOZ.mjs} +1 -1
  9. package/dist/Area3DChartScene-7PARQDOZ.mjs.br +3 -0
  10. package/dist/Area3DChartScene-7PARQDOZ.mjs.gz +0 -0
  11. package/dist/{Area3DChartScene-3A3CXKN3.js → Area3DChartScene-THLG74CM.js} +2 -2
  12. package/dist/Area3DChartScene-THLG74CM.js.br +0 -0
  13. package/dist/Area3DChartScene-THLG74CM.js.gz +0 -0
  14. package/dist/{Bar3DChartScene-BDUENAWJ.js → Bar3DChartScene-OLZ2V56I.js} +2 -2
  15. package/dist/Bar3DChartScene-OLZ2V56I.js.br +2 -0
  16. package/dist/Bar3DChartScene-OLZ2V56I.js.gz +0 -0
  17. package/dist/{Bar3DChartScene-7CNSJ35X.mjs → Bar3DChartScene-QUU6RUXM.mjs} +1 -1
  18. package/dist/Bar3DChartScene-QUU6RUXM.mjs.br +0 -0
  19. package/dist/Bar3DChartScene-QUU6RUXM.mjs.gz +0 -0
  20. package/dist/{Line3DChartScene-R352CZ5U.js → Line3DChartScene-2VZS52IB.js} +2 -2
  21. package/dist/Line3DChartScene-2VZS52IB.js.br +0 -0
  22. package/dist/Line3DChartScene-2VZS52IB.js.gz +0 -0
  23. package/dist/{Line3DChartScene-SMTHK6MD.mjs → Line3DChartScene-D77ORA4K.mjs} +1 -1
  24. package/dist/Line3DChartScene-D77ORA4K.mjs.br +3 -0
  25. package/dist/Line3DChartScene-D77ORA4K.mjs.gz +0 -0
  26. package/dist/{Model3DScene-Y4SGFQYW.js → Model3DScene-3WCALTXO.js} +2 -2
  27. package/dist/Model3DScene-3WCALTXO.js.br +0 -0
  28. package/dist/Model3DScene-3WCALTXO.js.gz +0 -0
  29. package/dist/{Model3DScene-AUVJXXPV.mjs → Model3DScene-ZEGWNILH.mjs} +1 -1
  30. package/dist/Model3DScene-ZEGWNILH.mjs.br +0 -0
  31. package/dist/Model3DScene-ZEGWNILH.mjs.gz +0 -0
  32. package/dist/{PieChart3DScene-TK2VT4RS.js → PieChart3DScene-7C3ACGKN.js} +2 -2
  33. package/dist/PieChart3DScene-7C3ACGKN.js.br +0 -0
  34. package/dist/PieChart3DScene-7C3ACGKN.js.gz +0 -0
  35. package/dist/{PieChart3DScene-UD7GRH55.mjs → PieChart3DScene-DGD4PZVV.mjs} +1 -1
  36. package/dist/PieChart3DScene-DGD4PZVV.mjs.br +0 -0
  37. package/dist/PieChart3DScene-DGD4PZVV.mjs.gz +0 -0
  38. package/dist/PowerPointViewer-Cl6jBPNw.d.ts.map +1 -1
  39. package/dist/{SurfaceChart3DScene-TXY6UZSW.mjs → SurfaceChart3DScene-QGH3OLJV.mjs} +1 -1
  40. package/dist/SurfaceChart3DScene-QGH3OLJV.mjs.br +0 -0
  41. package/dist/SurfaceChart3DScene-QGH3OLJV.mjs.gz +0 -0
  42. package/dist/{SurfaceChart3DScene-ERFXZW2O.js → SurfaceChart3DScene-SJPQGGGE.js} +2 -2
  43. package/dist/SurfaceChart3DScene-SJPQGGGE.js.br +0 -0
  44. package/dist/SurfaceChart3DScene-SJPQGGGE.js.gz +0 -0
  45. package/dist/{chunk-RRAL4Y7V.js → chunk-7E6SM42A.js} +2604 -2024
  46. package/dist/chunk-7E6SM42A.js.br +0 -0
  47. package/dist/chunk-7E6SM42A.js.gz +0 -0
  48. package/dist/{chunk-G7UBIKAG.mjs → chunk-B7WAGQW4.mjs} +5383 -873
  49. package/dist/chunk-B7WAGQW4.mjs.br +0 -0
  50. package/dist/chunk-B7WAGQW4.mjs.gz +0 -0
  51. package/dist/{chunk-RX6FE24O.mjs → chunk-C4WTQIC6.mjs} +302 -61
  52. package/dist/chunk-C4WTQIC6.mjs.br +0 -0
  53. package/dist/chunk-C4WTQIC6.mjs.gz +0 -0
  54. package/dist/{chunk-Q52HT4EZ.js → chunk-KY6JQJXK.js} +307 -63
  55. package/dist/chunk-KY6JQJXK.js.br +0 -0
  56. package/dist/chunk-KY6JQJXK.js.gz +0 -0
  57. package/dist/{chunk-PPNXPEEZ.mjs → chunk-L5MRKDRM.mjs} +1514 -934
  58. package/dist/chunk-L5MRKDRM.mjs.br +0 -0
  59. package/dist/chunk-L5MRKDRM.mjs.gz +0 -0
  60. package/dist/{chunk-UHR7EYFM.mjs → chunk-MSUUPLQ7.mjs} +718 -435
  61. package/dist/chunk-MSUUPLQ7.mjs.br +0 -0
  62. package/dist/chunk-MSUUPLQ7.mjs.gz +0 -0
  63. package/dist/{chunk-FJDZ7AEE.js → chunk-PCW2KT7Z.js} +5446 -879
  64. package/dist/chunk-PCW2KT7Z.js.br +0 -0
  65. package/dist/chunk-PCW2KT7Z.js.gz +0 -0
  66. package/dist/{chunk-FMEEIS6L.mjs → chunk-SFMATKNJ.mjs} +13 -114
  67. package/dist/chunk-SFMATKNJ.mjs.br +0 -0
  68. package/dist/chunk-SFMATKNJ.mjs.gz +0 -0
  69. package/dist/{chunk-ARQGUUYU.js → chunk-TJNG5VEK.js} +1114 -826
  70. package/dist/chunk-TJNG5VEK.js.br +0 -0
  71. package/dist/chunk-TJNG5VEK.js.gz +0 -0
  72. package/dist/{chunk-ALO4ZOHQ.js → chunk-UNIJUD5C.js} +45 -1
  73. package/dist/chunk-UNIJUD5C.js.br +0 -0
  74. package/dist/chunk-UNIJUD5C.js.gz +0 -0
  75. package/dist/{chunk-B6UIVRFA.js → chunk-XBTHWXNO.js} +177 -279
  76. package/dist/chunk-XBTHWXNO.js.br +0 -0
  77. package/dist/chunk-XBTHWXNO.js.gz +0 -0
  78. package/dist/{chunk-RHSA5BW5.mjs → chunk-XWUMM2TX.mjs} +45 -1
  79. package/dist/chunk-XWUMM2TX.mjs.br +0 -0
  80. package/dist/chunk-XWUMM2TX.mjs.gz +0 -0
  81. package/dist/i18n.js +4 -4
  82. package/dist/i18n.js.br +0 -0
  83. package/dist/i18n.js.gz +0 -0
  84. package/dist/i18n.mjs +1 -1
  85. package/dist/i18n.mjs.br +0 -0
  86. package/dist/i18n.mjs.gz +0 -0
  87. package/dist/index.d.ts +7 -0
  88. package/dist/index.js +47 -47
  89. package/dist/index.js.br +0 -0
  90. package/dist/index.js.gz +0 -0
  91. package/dist/index.mjs +6 -6
  92. package/dist/index.mjs.br +0 -0
  93. package/dist/index.mjs.gz +0 -0
  94. package/dist/internals.d.ts +176 -5
  95. package/dist/internals.d.ts.map +1 -1
  96. package/dist/internals.js +79 -79
  97. package/dist/internals.js.br +0 -0
  98. package/dist/internals.js.gz +0 -0
  99. package/dist/internals.mjs +4 -4
  100. package/dist/internals.mjs.br +0 -0
  101. package/dist/internals.mjs.gz +0 -0
  102. package/dist/pptx-viewer.css +1 -1
  103. package/dist/pptx-viewer.css.br +0 -0
  104. package/dist/pptx-viewer.css.gz +0 -0
  105. package/dist/{useViewerBuildingBlocks-X1L8BjsQ.d.ts → useViewerBuildingBlocks-f6oNGKMX.d.ts} +8 -1
  106. package/dist/useViewerBuildingBlocks-f6oNGKMX.d.ts.map +1 -0
  107. package/dist/viewer/index.js +27 -27
  108. package/dist/viewer/index.js.br +0 -0
  109. package/dist/viewer/index.js.gz +0 -0
  110. package/dist/viewer/index.mjs +6 -6
  111. package/dist/viewer/index.mjs.br +0 -0
  112. package/dist/viewer/index.mjs.gz +0 -0
  113. package/package.json +1 -1
  114. package/dist/AiChatPanel-C3E7NLX3.mjs.br +0 -0
  115. package/dist/AiChatPanel-C3E7NLX3.mjs.gz +0 -0
  116. package/dist/AiChatPanel-TKBVSYD2.js.br +0 -0
  117. package/dist/AiChatPanel-TKBVSYD2.js.gz +0 -0
  118. package/dist/Area3DChartScene-3A3CXKN3.js.br +0 -0
  119. package/dist/Area3DChartScene-3A3CXKN3.js.gz +0 -0
  120. package/dist/Area3DChartScene-7YCFWEGX.mjs.br +0 -3
  121. package/dist/Area3DChartScene-7YCFWEGX.mjs.gz +0 -0
  122. package/dist/Bar3DChartScene-7CNSJ35X.mjs.br +0 -0
  123. package/dist/Bar3DChartScene-7CNSJ35X.mjs.gz +0 -0
  124. package/dist/Bar3DChartScene-BDUENAWJ.js.br +0 -0
  125. package/dist/Bar3DChartScene-BDUENAWJ.js.gz +0 -0
  126. package/dist/Line3DChartScene-R352CZ5U.js.br +0 -0
  127. package/dist/Line3DChartScene-R352CZ5U.js.gz +0 -0
  128. package/dist/Line3DChartScene-SMTHK6MD.mjs.br +0 -3
  129. package/dist/Line3DChartScene-SMTHK6MD.mjs.gz +0 -0
  130. package/dist/Model3DScene-AUVJXXPV.mjs.br +0 -0
  131. package/dist/Model3DScene-AUVJXXPV.mjs.gz +0 -0
  132. package/dist/Model3DScene-Y4SGFQYW.js.br +0 -0
  133. package/dist/Model3DScene-Y4SGFQYW.js.gz +0 -0
  134. package/dist/PieChart3DScene-TK2VT4RS.js.br +0 -0
  135. package/dist/PieChart3DScene-TK2VT4RS.js.gz +0 -0
  136. package/dist/PieChart3DScene-UD7GRH55.mjs.br +0 -0
  137. package/dist/PieChart3DScene-UD7GRH55.mjs.gz +0 -0
  138. package/dist/SurfaceChart3DScene-ERFXZW2O.js.br +0 -0
  139. package/dist/SurfaceChart3DScene-ERFXZW2O.js.gz +0 -0
  140. package/dist/SurfaceChart3DScene-TXY6UZSW.mjs.br +0 -0
  141. package/dist/SurfaceChart3DScene-TXY6UZSW.mjs.gz +0 -0
  142. package/dist/chunk-ALO4ZOHQ.js.br +0 -0
  143. package/dist/chunk-ALO4ZOHQ.js.gz +0 -0
  144. package/dist/chunk-ARQGUUYU.js.br +0 -0
  145. package/dist/chunk-ARQGUUYU.js.gz +0 -0
  146. package/dist/chunk-B6UIVRFA.js.br +0 -0
  147. package/dist/chunk-B6UIVRFA.js.gz +0 -0
  148. package/dist/chunk-FJDZ7AEE.js.br +0 -0
  149. package/dist/chunk-FJDZ7AEE.js.gz +0 -0
  150. package/dist/chunk-FMEEIS6L.mjs.br +0 -0
  151. package/dist/chunk-FMEEIS6L.mjs.gz +0 -0
  152. package/dist/chunk-G7UBIKAG.mjs.br +0 -0
  153. package/dist/chunk-G7UBIKAG.mjs.gz +0 -0
  154. package/dist/chunk-PPNXPEEZ.mjs.br +0 -0
  155. package/dist/chunk-PPNXPEEZ.mjs.gz +0 -0
  156. package/dist/chunk-Q52HT4EZ.js.br +0 -0
  157. package/dist/chunk-Q52HT4EZ.js.gz +0 -0
  158. package/dist/chunk-RHSA5BW5.mjs.br +0 -0
  159. package/dist/chunk-RHSA5BW5.mjs.gz +0 -0
  160. package/dist/chunk-RRAL4Y7V.js.br +0 -0
  161. package/dist/chunk-RRAL4Y7V.js.gz +0 -0
  162. package/dist/chunk-RX6FE24O.mjs.br +0 -0
  163. package/dist/chunk-RX6FE24O.mjs.gz +0 -0
  164. package/dist/chunk-UHR7EYFM.mjs.br +0 -0
  165. package/dist/chunk-UHR7EYFM.mjs.gz +0 -0
  166. package/dist/useViewerBuildingBlocks-X1L8BjsQ.d.ts.map +0 -1
Binary file
Binary file
@@ -1,5 +1,5 @@
1
- import { SHAPE_PRESET_DEFS, VIEWER_SHORTCUT_REFERENCE, getAnimationInitialStyle, cloneHistorySnapshot, hasShapeProperties, getImageFitStyle, getComputedFillStyle, isImageLikeElement, getImageTilingStyle, runMediaCommand, findMediaElementByElementId, mediaPlaybackAttributes, buildTextBlockStyle, hasTextProperties, toCssWritingMode, toCssTextOrientation, toCssVerticalDirection, buildTextBodyLayoutStyle, buildTextBody3DSceneStyle, buildParagraphs, colorWithOpacity, normalizeHexColor, build3DExtrusionData, getComputedEffectStyle, getComputedStrokeStyle, getAnimationColorBaseStyle, isStrokeOnlyPresetElement, resolveShapeGeometry, normalizeStrokeDashType, getSvgStrokeDasharray, buildSvgGradientDef, buildStrokeOutline, getPresetShapeVectorGeometry, isWedgeCalloutPresetShape, svgGradientFillRef, isCalloutShape, getCalloutLeaderLineGeometry, buildCalloutLeaderLineSvgPath, getCalloutViewBoxBounds, svgLineCap, getCompoundLineOffsets, getCompoundLineWidths, computeSelectionRect, DEFAULT_FONT_FAMILY, cellStyleToCss, rectToCells, isCellInRect, tableContainerCss, buildChartViewModel, resolveChartKind, chartPreserveAspectRatio, buildNotesPdfBytes, buildSlidesPdfBytes, buildPreviewAnimation, buildMotionPathPreview, mediaFallbackVisual, registerPersistentAudio, resolveAutoFitFontScale, resolveFontKerning, getSubstituteFontFamily, parsePanoseString, resolveScriptFontSet, hasDistinctScriptFonts, nestedTextDecorationStyle, pieceLetterSpacing, resolveMetricTrackingPx, hollowTextFillStyle, buildTabContext, TEXT_BUILD_ID_SEP, buildTextBuildSpec, textBuildSpanStyle, apply3dEffects, clampUnitInterval, customGeometryPathsToSvgSubpaths, buildSubpathPaints, computeColumnBoundaries, getTableCellBandStyle, parseDrawingColor, parseDrawingColorOpacity, getCellDiagonalBorders, cellRunStyle, getChartStylePalette, computeChartLegendLayout, mediaFallbackIcon, mediaFallbackLabelKey, MEDIA_CHROME_ATTRIBUTE, convertOmmlToMathMl, sanitizeMathMl, tableCellCss, computeResizedColumnWidths, computeResizedRowHeight, DEFAULT_ROW_HEIGHT, ooxmlGradientAngleToCssDegrees, buildRectPathGradient, buildRunTabLines, chartPartToAttrs, splitRunForMetrics, splitRunByScriptFont } from './chunk-G7UBIKAG.mjs';
2
- import { translationsEn } from './chunk-RHSA5BW5.mjs';
1
+ import { SHAPE_PRESET_DEFS, VIEWER_SHORTCUT_REFERENCE, STROKE_DASH_OPTIONS, getAnimationInitialStyle, cloneHistorySnapshot, hasShapeProperties, getImageFitStyle, getComputedFillStyle, isImageLikeElement, getCropShapeClipPath, getImageTilingStyle, mediaPlaybackAttributes, buildTextBlockStyle, hasTextProperties, toCssWritingMode, toCssTextOrientation, toCssVerticalDirection, buildTextBodyLayoutStyle, buildTextBody3DSceneStyle, buildParagraphs, colorWithOpacity, normalizeHexColor, hexToRgbUnit, build3DExtrusionData, getComputedEffectStyle, getComputedStrokeStyle, getAnimationColorBaseStyle, isStrokeOnlyPresetElement, resolveShapeGeometry, normalizeStrokeDashType, getSvgStrokeDasharray, buildSvgGradientDef, buildStrokeOutline, getPresetShapeVectorGeometry, isWedgeCalloutPresetShape, svgGradientFillRef, isCalloutShape, getCalloutLeaderLineGeometry, buildCalloutLeaderLineSvgPath, getCalloutViewBoxBounds, svgLineCap, getCompoundLineOffsets, getCompoundLineWidths, computeSelectionRect, DEFAULT_FONT_FAMILY, cellStyleToCss, rectToCells, isCellInRect, tableContainerCss, buildChartViewModel, resolveChartKind, chartPreserveAspectRatio, buildNotesPdfBytes, buildSlidesPdfBytes, buildPreviewAnimation, buildMotionPathPreview, mediaFallbackVisual, registerCrossSlideAudio, resolveAutoFitFontScale, resolveFontKerning, getSubstituteFontFamily, parsePanoseString, resolveScriptFontSet, hasDistinctScriptFonts, nestedTextDecorationStyle, pieceLetterSpacing, resolveMetricTrackingPx, hollowTextFillStyle, buildTabContext, TEXT_BUILD_ID_SEP, buildTextBuildSpec, textBuildSpanStyle, apply3dEffects, clampUnitInterval, customGeometryPathsToSvgSubpaths, buildSubpathPaints, computeColumnBoundaries, getTableCellBandStyle, parseDrawingColor, parseDrawingColorOpacity, getCellDiagonalBorders, cellRunStyle, getChartStylePalette, computeChartLegendLayout, mediaFallbackIcon, mediaFallbackLabelKey, MEDIA_CHROME_ATTRIBUTE, convertOmmlToMathMl, sanitizeMathMl, tableCellCss, computeResizedColumnWidths, computeResizedRowHeight, DEFAULT_ROW_HEIGHT, ooxmlGradientAngleToCssDegrees, buildRectPathGradient, buildRunTabLines, chartPartToAttrs, splitRunForMetrics, splitRunByScriptFont } from './chunk-B7WAGQW4.mjs';
2
+ import { translationsEn } from './chunk-XWUMM2TX.mjs';
3
3
  import { clsx } from 'clsx';
4
4
  import { twMerge } from 'tailwind-merge';
5
5
  import React6, { useRef, useState, useEffect, useCallback, useMemo, useLayoutEffect } from 'react';
@@ -124,32 +124,7 @@ var ARROW_SIZE_OPTIONS = [
124
124
  { value: "med", label: "Medium", i18nKey: "pptx.connectorOptions.sizeMedium" },
125
125
  { value: "lg", label: "Large", i18nKey: "pptx.connectorOptions.sizeLarge" }
126
126
  ];
127
- var STROKE_DASH_OPTIONS = [
128
- { value: "solid", label: "Solid", i18nKey: "pptx.stroke.dashSolid" },
129
- { value: "dot", label: "Dot", i18nKey: "pptx.stroke.dashDot" },
130
- { value: "dash", label: "Dash", i18nKey: "pptx.stroke.dashDash" },
131
- { value: "dashDot", label: "Dash Dot", i18nKey: "pptx.stroke.dashDashDot" },
132
- { value: "lgDash", label: "Long Dash", i18nKey: "pptx.connectorOptions.dashLongDash" },
133
- { value: "lgDashDot", label: "Long Dash Dot", i18nKey: "pptx.connectorOptions.dashLongDashDot" },
134
- {
135
- value: "lgDashDotDot",
136
- label: "Long Dash Dot Dot",
137
- i18nKey: "pptx.connectorOptions.dashLongDashDotDot"
138
- },
139
- { value: "sysDot", label: "System Dot", i18nKey: "pptx.stroke.dashSysDot" },
140
- { value: "sysDash", label: "System Dash", i18nKey: "pptx.stroke.dashSysDash" },
141
- {
142
- value: "sysDashDot",
143
- label: "System Dash Dot",
144
- i18nKey: "pptx.connectorOptions.dashSysDashDot"
145
- },
146
- {
147
- value: "sysDashDotDot",
148
- label: "System Dash Dot Dot",
149
- i18nKey: "pptx.connectorOptions.dashSysDashDotDot"
150
- },
151
- { value: "custom", label: "Custom", i18nKey: "pptx.documentProperties.tabs.custom" }
152
- ];
127
+ var STROKE_DASH_OPTIONS2 = STROKE_DASH_OPTIONS;
153
128
 
154
129
  // src/viewer/utils/shape-types.tsx
155
130
  function getShapeType(shapeType) {
@@ -290,7 +265,7 @@ function getImageSurfaceMaskStyle(element) {
290
265
  return {
291
266
  overflow: "hidden",
292
267
  borderRadius: mask?.borderRadius,
293
- clipPath: mask?.clipPath ?? getCropShapeClipPath(element)
268
+ clipPath: mask?.clipPath ?? getCropShapeClipPath2(element)
294
269
  };
295
270
  }
296
271
  function getImageSurfaceStyle(element) {
@@ -306,24 +281,11 @@ function getImageSurfaceStyle(element) {
306
281
  backgroundPosition: fill?.backgroundPosition
307
282
  };
308
283
  }
309
- var CROP_SHAPE_CLIP_PATHS = {
310
- ellipse: "ellipse(50% 50% at 50% 50%)",
311
- roundedRect: "inset(0 round 12%)",
312
- triangle: "polygon(50% 0%, 0% 100%, 100% 100%)",
313
- diamond: "polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%)",
314
- pentagon: "polygon(50% 0%, 100% 38%, 82% 100%, 18% 100%, 0% 38%)",
315
- hexagon: "polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%)",
316
- star: "polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%)"
317
- };
318
- function getCropShapeClipPath(element) {
284
+ function getCropShapeClipPath2(element) {
319
285
  if (!isImageLikeElement(element)) {
320
286
  return void 0;
321
287
  }
322
- const shape = element.cropShape;
323
- if (!shape || shape === "none") {
324
- return void 0;
325
- }
326
- return CROP_SHAPE_CLIP_PATHS[shape];
288
+ return getCropShapeClipPath(element.cropShape, element.width, element.height);
327
289
  }
328
290
  function getImageTilingStyle2(element) {
329
291
  return getImageTilingStyle(element);
@@ -511,27 +473,6 @@ function AudioWithMetadata({
511
473
  }
512
474
  ) });
513
475
  }
514
-
515
- // src/viewer/utils/media-element-registry.ts
516
- var registry = /* @__PURE__ */ new Map();
517
- function registerMediaElement(elementId, el) {
518
- if (!elementId) {
519
- return () => {
520
- };
521
- }
522
- registry.set(elementId, el);
523
- return () => {
524
- if (registry.get(elementId) === el) {
525
- registry.delete(elementId);
526
- }
527
- };
528
- }
529
- function executeMediaCommand(command, frameRoot) {
530
- return runMediaCommand(
531
- command,
532
- (targetId) => registry.get(targetId) ?? findMediaElementByElementId(targetId, frameRoot?.())
533
- );
534
- }
535
476
  function PresentationMediaController({
536
477
  element,
537
478
  isPresentationMode,
@@ -562,18 +503,7 @@ function PresentationMediaController({
562
503
  }
563
504
  };
564
505
  }, []);
565
- useEffect(() => {
566
- const el = mediaRef.current;
567
- if (!el) {
568
- return;
569
- }
570
- return registerMediaElement(element.id, el);
571
- }, [element.id]);
572
- const {
573
- loop: shouldLoop,
574
- volume: playbackVolume,
575
- playbackRate
576
- } = mediaPlaybackAttributes({
506
+ const { volume: playbackVolume, playbackRate } = mediaPlaybackAttributes({
577
507
  loop: element.loop,
578
508
  volume: element.volume,
579
509
  playbackSpeed: element.playbackSpeed
@@ -708,15 +638,7 @@ function PresentationMediaController({
708
638
  }
709
639
  if (element.playAcrossSlides && element.mediaType === "audio") {
710
640
  const dataUrl = element.mediaData ?? resolvedDataUrl;
711
- if (dataUrl) {
712
- registerPersistentAudio(
713
- element.id,
714
- dataUrl,
715
- element.mediaMimeType,
716
- shouldLoop,
717
- playbackVolume,
718
- trimStartSec
719
- );
641
+ if (registerCrossSlideAudio(element, dataUrl)) {
720
642
  return;
721
643
  }
722
644
  }
@@ -732,19 +654,7 @@ function PresentationMediaController({
732
654
  });
733
655
  }, 100);
734
656
  return () => window.clearTimeout(timer);
735
- }, [
736
- isPresentationMode,
737
- shouldAutoPlay,
738
- element.playAcrossSlides,
739
- element.mediaType,
740
- element.mediaData,
741
- element.mediaMimeType,
742
- element.id,
743
- resolvedDataUrl,
744
- shouldLoop,
745
- playbackVolume,
746
- trimStartSec
747
- ]);
657
+ }, [isPresentationMode, shouldAutoPlay, element, resolvedDataUrl, trimStartSec]);
748
658
  const wrapperStyle = hideWhenNotPlaying ? {
749
659
  opacity: isMediaPlaying ? 1 : 0,
750
660
  transition: "opacity 0.3s ease",
@@ -1572,14 +1482,14 @@ function renderRubyOrText(run, baseContent) {
1572
1482
  /* @__PURE__ */ jsx("rp", { children: ")" })
1573
1483
  ] });
1574
1484
  }
1575
- function renderTextSegments(element, fallbackColor, emptyFallback, findHighlights, onHyperlinkClick, fieldContext, subElementAnimStates, segmentOverrides, requireCtrlClick) {
1485
+ function renderTextSegments(element, fallbackColor, emptyFallback, findHighlights, onHyperlinkClick, fieldContext, subElementAnimStates, segmentOverrides, requireCtrlClick, placeholderPrompt) {
1576
1486
  if (!hasTextProperties(element)) {
1577
1487
  return emptyFallback || null;
1578
1488
  }
1579
1489
  const segments = segmentOverrides ?? element.textSegments;
1580
1490
  if (!segments || segments.length === 0) {
1581
- if (!element.text && element.promptText) {
1582
- return /* @__PURE__ */ jsx("span", { style: { opacity: 0.5, color: "#888888", pointerEvents: "none" }, children: element.promptText });
1491
+ if (placeholderPrompt) {
1492
+ return /* @__PURE__ */ jsx("span", { style: placeholderPrompt.style, children: placeholderPrompt.text });
1583
1493
  }
1584
1494
  return element.text || emptyFallback || "";
1585
1495
  }
@@ -1704,17 +1614,6 @@ function renderBulletMarker(para, paraIndex, elementId) {
1704
1614
  `${elementId}-para-${paraIndex}-bullet`
1705
1615
  );
1706
1616
  }
1707
- function hexToRgbUnit(hex) {
1708
- const clean = hex.replace("#", "");
1709
- const r = parseInt(clean.substring(0, 2), 16) / 255;
1710
- const g = parseInt(clean.substring(2, 4), 16) / 255;
1711
- const b = parseInt(clean.substring(4, 6), 16) / 255;
1712
- return {
1713
- r: Number.isFinite(r) ? r : 0,
1714
- g: Number.isFinite(g) ? g : 0,
1715
- b: Number.isFinite(b) ? b : 0
1716
- };
1717
- }
1718
1617
  function getDuotoneColors(element) {
1719
1618
  if (!isImageLikeElement(element)) {
1720
1619
  return void 0;
@@ -3964,4 +3863,4 @@ function stopPreviewAnimation() {
3964
3863
  activePreview = null;
3965
3864
  }
3966
3865
 
3967
- export { ANIMATION_PRESET_OPTIONS, ARROW_SIZE_OPTIONS, CONNECTOR_ARROW_OPTIONS, DEFAULT_CANVAS_HEIGHT, DEFAULT_CANVAS_WIDTH, DEFAULT_FILL_COLOR, DEFAULT_FONT_FAMILY2 as DEFAULT_FONT_FAMILY, DEFAULT_SECTION_GROUP_ID, DEFAULT_STROKE_COLOR, DEFAULT_TABLE_COLUMNS, DEFAULT_TABLE_ROWS, DEFAULT_TEXT_COLOR, DEFAULT_TEXT_FONT_SIZE, GRID_SIZE, HYPERLINK_COLOR, MIN_ELEMENT_SIZE, SHAPE_PRESETS, SHORTCUT_REFERENCE_ITEMS, SLIDE_NAV_THUMBNAIL_WIDTH, STROKE_DASH_OPTIONS, THEME_COLOR_SWATCHES, TOOLBAR_SECTIONS, UNGROUPED_SECTION_ID, ZOOM_TO_SELECTION_PADDING, build3DExtrusionData2 as build3DExtrusionData, buildLineGlowFilter, buildLineShadowCss, buildNotesPdf, buildPdfFromImageData, buildReactChartViewModel, buildTextBody3DSceneStyle2 as buildTextBody3DSceneStyle, cloneHistorySnapshot2 as cloneHistorySnapshot, cn, executeMediaCommand, getAnimationInitialStyle2 as getAnimationInitialStyle, getConnectorPathGeometry, getCropShapeClipPath, getDuotoneColors, getImageRenderStyle, getImageSurfaceMaskStyle, getImageSurfaceStyle, getImageTilingStyle2 as getImageTilingStyle, getShapeVisualStyle, getTextLayoutStyle, getTextStyleForElement, getTextWarpStyle, hasDagDuotoneEffect, isConnectorOrLineElement, renderChartElement, renderConnectorMarker, renderDagDuotoneSvgFilter, renderMediaElement, renderTableElement, renderTextSegments, renderVectorShape, shouldRenderFallbackLabel, startMotionPathPreview, startPreviewAnimation, stopPreviewAnimation };
3866
+ export { ANIMATION_PRESET_OPTIONS, ARROW_SIZE_OPTIONS, CONNECTOR_ARROW_OPTIONS, DEFAULT_CANVAS_HEIGHT, DEFAULT_CANVAS_WIDTH, DEFAULT_FILL_COLOR, DEFAULT_FONT_FAMILY2 as DEFAULT_FONT_FAMILY, DEFAULT_SECTION_GROUP_ID, DEFAULT_STROKE_COLOR, DEFAULT_TABLE_COLUMNS, DEFAULT_TABLE_ROWS, DEFAULT_TEXT_COLOR, DEFAULT_TEXT_FONT_SIZE, GRID_SIZE, HYPERLINK_COLOR, MIN_ELEMENT_SIZE, SHAPE_PRESETS, SHORTCUT_REFERENCE_ITEMS, SLIDE_NAV_THUMBNAIL_WIDTH, STROKE_DASH_OPTIONS2 as STROKE_DASH_OPTIONS, THEME_COLOR_SWATCHES, TOOLBAR_SECTIONS, UNGROUPED_SECTION_ID, ZOOM_TO_SELECTION_PADDING, build3DExtrusionData2 as build3DExtrusionData, buildLineGlowFilter, buildLineShadowCss, buildNotesPdf, buildPdfFromImageData, buildReactChartViewModel, buildTextBody3DSceneStyle2 as buildTextBody3DSceneStyle, cloneHistorySnapshot2 as cloneHistorySnapshot, cn, getAnimationInitialStyle2 as getAnimationInitialStyle, getConnectorPathGeometry, getCropShapeClipPath2 as getCropShapeClipPath, getDuotoneColors, getImageRenderStyle, getImageSurfaceMaskStyle, getImageSurfaceStyle, getImageTilingStyle2 as getImageTilingStyle, getShapeVisualStyle, getTextLayoutStyle, getTextStyleForElement, getTextWarpStyle, hasDagDuotoneEffect, isConnectorOrLineElement, renderChartElement, renderConnectorMarker, renderDagDuotoneSvgFilter, renderMediaElement, renderTableElement, renderTextSegments, renderVectorShape, shouldRenderFallbackLabel, startMotionPathPreview, startPreviewAnimation, stopPreviewAnimation };
Binary file
Binary file