pptx-react-viewer 2.12.0 → 2.13.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 (122) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/dist/{AiChatPanel-CS4CONUO.mjs → AiChatPanel-4YS6DEIT.mjs} +4 -4
  3. package/dist/AiChatPanel-4YS6DEIT.mjs.br +0 -0
  4. package/dist/AiChatPanel-4YS6DEIT.mjs.gz +0 -0
  5. package/dist/{AiChatPanel-JIXSOZXN.js → AiChatPanel-DEI3EQFM.js} +23 -23
  6. package/dist/AiChatPanel-DEI3EQFM.js.br +0 -0
  7. package/dist/AiChatPanel-DEI3EQFM.js.gz +0 -0
  8. package/dist/{Model3DScene-RWFPSN6B.mjs → Model3DScene-JSNQCKCJ.mjs} +1 -1
  9. package/dist/Model3DScene-JSNQCKCJ.mjs.br +0 -0
  10. package/dist/Model3DScene-JSNQCKCJ.mjs.gz +0 -0
  11. package/dist/{Model3DScene-5KMJ4JL6.js → Model3DScene-X4W7GZVY.js} +2 -2
  12. package/dist/Model3DScene-X4W7GZVY.js.br +0 -0
  13. package/dist/Model3DScene-X4W7GZVY.js.gz +0 -0
  14. package/dist/{SurfaceChart3DScene-2GZQM3LN.mjs → SurfaceChart3DScene-3MSU74YH.mjs} +1 -1
  15. package/dist/{SurfaceChart3DScene-2GZQM3LN.mjs.br → SurfaceChart3DScene-3MSU74YH.mjs.br} +0 -0
  16. package/dist/SurfaceChart3DScene-3MSU74YH.mjs.gz +0 -0
  17. package/dist/{SurfaceChart3DScene-BIOKIETC.js → SurfaceChart3DScene-IZLUWT27.js} +2 -2
  18. package/dist/SurfaceChart3DScene-IZLUWT27.js.br +0 -0
  19. package/dist/SurfaceChart3DScene-IZLUWT27.js.gz +0 -0
  20. package/dist/{chunk-QGHC65C4.mjs → chunk-4TD7EINA.mjs} +1071 -375
  21. package/dist/chunk-4TD7EINA.mjs.br +0 -0
  22. package/dist/chunk-4TD7EINA.mjs.gz +0 -0
  23. package/dist/{chunk-AOED5MFM.mjs → chunk-6KRNQ2KF.mjs} +13 -12
  24. package/dist/chunk-6KRNQ2KF.mjs.br +0 -0
  25. package/dist/chunk-6KRNQ2KF.mjs.gz +0 -0
  26. package/dist/{chunk-3GNSGGY2.js → chunk-BXAK3JFM.js} +13 -0
  27. package/dist/chunk-BXAK3JFM.js.br +0 -0
  28. package/dist/chunk-BXAK3JFM.js.gz +0 -0
  29. package/dist/{chunk-PJUQQF3I.js → chunk-EFSQW6S5.js} +1091 -376
  30. package/dist/chunk-EFSQW6S5.js.br +0 -0
  31. package/dist/chunk-EFSQW6S5.js.gz +0 -0
  32. package/dist/{chunk-ZIXSSQAZ.js → chunk-G2LZT5SV.js} +3 -3
  33. package/dist/chunk-G2LZT5SV.js.br +0 -0
  34. package/dist/chunk-G2LZT5SV.js.gz +0 -0
  35. package/dist/{chunk-CEUHGUZ4.mjs → chunk-HRLF4REI.mjs} +54 -28
  36. package/dist/chunk-HRLF4REI.mjs.br +0 -0
  37. package/dist/chunk-HRLF4REI.mjs.gz +0 -0
  38. package/dist/{chunk-2VUHJNWM.js → chunk-IDW5UPXW.js} +292 -266
  39. package/dist/chunk-IDW5UPXW.js.br +0 -0
  40. package/dist/chunk-IDW5UPXW.js.gz +0 -0
  41. package/dist/{chunk-PTGTFXPU.js → chunk-RWIQHVZQ.js} +341 -340
  42. package/dist/chunk-RWIQHVZQ.js.br +0 -0
  43. package/dist/chunk-RWIQHVZQ.js.gz +0 -0
  44. package/dist/{chunk-SP7U34QM.js → chunk-SHZ3GWOD.js} +2004 -1943
  45. package/dist/chunk-SHZ3GWOD.js.br +0 -0
  46. package/dist/chunk-SHZ3GWOD.js.gz +0 -0
  47. package/dist/{chunk-ECDKYPQ2.mjs → chunk-TEXIGSA6.mjs} +13 -0
  48. package/dist/chunk-TEXIGSA6.mjs.br +0 -0
  49. package/dist/chunk-TEXIGSA6.mjs.gz +0 -0
  50. package/dist/{chunk-EJRHYYKE.mjs → chunk-WEU5EMKK.mjs} +1 -1
  51. package/dist/chunk-WEU5EMKK.mjs.br +0 -0
  52. package/dist/chunk-WEU5EMKK.mjs.gz +0 -0
  53. package/dist/{chunk-BJQSHVYH.mjs → chunk-YA7VFYTW.mjs} +271 -210
  54. package/dist/chunk-YA7VFYTW.mjs.br +0 -0
  55. package/dist/chunk-YA7VFYTW.mjs.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 +18 -0
  63. package/dist/index.js +36 -36
  64. package/dist/index.js.br +0 -0
  65. package/dist/index.js.gz +0 -0
  66. package/dist/index.mjs +6 -6
  67. package/dist/index.mjs.br +0 -0
  68. package/dist/index.mjs.gz +0 -0
  69. package/dist/internals.d.ts +18 -0
  70. package/dist/internals.d.ts.map +1 -1
  71. package/dist/internals.js +79 -79
  72. package/dist/internals.js.br +0 -0
  73. package/dist/internals.js.gz +0 -0
  74. package/dist/internals.mjs +4 -4
  75. package/dist/internals.mjs.br +0 -0
  76. package/dist/internals.mjs.gz +0 -0
  77. package/dist/pptx-viewer.css +1 -1
  78. package/dist/pptx-viewer.css.br +0 -0
  79. package/dist/pptx-viewer.css.gz +0 -0
  80. package/dist/viewer/index.d.ts +18 -0
  81. package/dist/viewer/index.js +22 -22
  82. package/dist/viewer/index.js.br +0 -0
  83. package/dist/viewer/index.js.gz +0 -0
  84. package/dist/viewer/index.mjs +6 -6
  85. package/dist/viewer/index.mjs.br +0 -0
  86. package/dist/viewer/index.mjs.gz +0 -0
  87. package/package.json +1 -1
  88. package/dist/AiChatPanel-CS4CONUO.mjs.br +0 -0
  89. package/dist/AiChatPanel-CS4CONUO.mjs.gz +0 -0
  90. package/dist/AiChatPanel-JIXSOZXN.js.br +0 -0
  91. package/dist/AiChatPanel-JIXSOZXN.js.gz +0 -0
  92. package/dist/Model3DScene-5KMJ4JL6.js.br +0 -0
  93. package/dist/Model3DScene-5KMJ4JL6.js.gz +0 -0
  94. package/dist/Model3DScene-RWFPSN6B.mjs.br +0 -0
  95. package/dist/Model3DScene-RWFPSN6B.mjs.gz +0 -0
  96. package/dist/SurfaceChart3DScene-2GZQM3LN.mjs.gz +0 -0
  97. package/dist/SurfaceChart3DScene-BIOKIETC.js.br +0 -0
  98. package/dist/SurfaceChart3DScene-BIOKIETC.js.gz +0 -0
  99. package/dist/chunk-2VUHJNWM.js.br +0 -0
  100. package/dist/chunk-2VUHJNWM.js.gz +0 -0
  101. package/dist/chunk-3GNSGGY2.js.br +0 -0
  102. package/dist/chunk-3GNSGGY2.js.gz +0 -0
  103. package/dist/chunk-AOED5MFM.mjs.br +0 -0
  104. package/dist/chunk-AOED5MFM.mjs.gz +0 -0
  105. package/dist/chunk-BJQSHVYH.mjs.br +0 -0
  106. package/dist/chunk-BJQSHVYH.mjs.gz +0 -0
  107. package/dist/chunk-CEUHGUZ4.mjs.br +0 -0
  108. package/dist/chunk-CEUHGUZ4.mjs.gz +0 -0
  109. package/dist/chunk-ECDKYPQ2.mjs.br +0 -0
  110. package/dist/chunk-ECDKYPQ2.mjs.gz +0 -0
  111. package/dist/chunk-EJRHYYKE.mjs.br +0 -0
  112. package/dist/chunk-EJRHYYKE.mjs.gz +0 -0
  113. package/dist/chunk-PJUQQF3I.js.br +0 -0
  114. package/dist/chunk-PJUQQF3I.js.gz +0 -0
  115. package/dist/chunk-PTGTFXPU.js.br +0 -0
  116. package/dist/chunk-PTGTFXPU.js.gz +0 -0
  117. package/dist/chunk-QGHC65C4.mjs.br +0 -0
  118. package/dist/chunk-QGHC65C4.mjs.gz +0 -0
  119. package/dist/chunk-SP7U34QM.js.br +0 -0
  120. package/dist/chunk-SP7U34QM.js.gz +0 -0
  121. package/dist/chunk-ZIXSSQAZ.js.br +0 -0
  122. package/dist/chunk-ZIXSSQAZ.js.gz +0 -0
Binary file
Binary file
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkPJUQQF3I_js = require('./chunk-PJUQQF3I.js');
3
+ var chunkEFSQW6S5_js = require('./chunk-EFSQW6S5.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 chunkPJUQQF3I_js.PptxMarkdownConverter(
14882
+ const converter = new chunkEFSQW6S5_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(chunkPJUQQF3I_js.ThemePresets)
15473
+ availablePresets: Object.keys(chunkEFSQW6S5_js.ThemePresets)
15474
15474
  };
15475
15475
  };
15476
15476
  var readExecutors = {
Binary file
Binary file
@@ -1,5 +1,5 @@
1
- import { translationsEn } from './chunk-ECDKYPQ2.mjs';
2
- import { SHAPE_PRESET_DEFS, computeValueRangeForChart, VIEWER_SHORTCUT_REFERENCE, getAnimationInitialStyle, cloneHistorySnapshot, hasShapeProperties, isTemplateElement, getImageFitStyle, isImageLikeElement, 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-QGHC65C4.mjs';
1
+ import { translationsEn } from './chunk-TEXIGSA6.mjs';
2
+ import { SHAPE_PRESET_DEFS, computeValueRangeForChart, VIEWER_SHORTCUT_REFERENCE, getAnimationInitialStyle, cloneHistorySnapshot, hasShapeProperties, isTemplateElement, getImageFitStyle, isImageLikeElement, runMediaCommand, findMediaElementByElementId, mediaPlaybackAttributes, 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, parsePanoseString, 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, chartAreaFill, 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-4TD7EINA.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';
@@ -616,7 +616,8 @@ function VideoWithMetadata({
616
616
  shouldLoop,
617
617
  shouldAutoPlay,
618
618
  isFullScreen,
619
- isPresentationMode
619
+ isPresentationMode,
620
+ showTransport
620
621
  }) {
621
622
  useMediaMetadataExtraction(mediaRef, element);
622
623
  const captionTracks = element.captionTracks ?? [];
@@ -625,7 +626,7 @@ function VideoWithMetadata({
625
626
  {
626
627
  ref: mediaRef,
627
628
  className: `w-full h-full pointer-events-auto ${isFullScreen ? "object-cover" : "object-contain"}`,
628
- controls: !isPresentationMode,
629
+ controls: showTransport,
629
630
  preload: "metadata",
630
631
  playsInline: true,
631
632
  autoPlay: shouldAutoPlay,
@@ -650,7 +651,7 @@ function AudioWithMetadata({
650
651
  mediaMimeType,
651
652
  shouldLoop,
652
653
  shouldAutoPlay,
653
- isPresentationMode
654
+ showTransport
654
655
  }) {
655
656
  useMediaMetadataExtraction(mediaRef, element);
656
657
  return /* @__PURE__ */ jsx("div", { className: "w-full h-full flex items-center justify-center p-2 pointer-events-auto", children: /* @__PURE__ */ jsx(
@@ -658,7 +659,7 @@ function AudioWithMetadata({
658
659
  {
659
660
  ref: mediaRef,
660
661
  className: "w-full",
661
- controls: !isPresentationMode,
662
+ controls: showTransport,
662
663
  preload: "metadata",
663
664
  autoPlay: shouldAutoPlay,
664
665
  loop: shouldLoop,
@@ -724,19 +725,23 @@ function PresentationMediaController({
724
725
  }
725
726
  return registerMediaElement(element.id, el);
726
727
  }, [element.id]);
728
+ const { volume: playbackVolume, playbackRate } = mediaPlaybackAttributes({
729
+ loop: element.loop,
730
+ volume: element.volume,
731
+ playbackSpeed: element.playbackSpeed
732
+ });
727
733
  useEffect(() => {
728
734
  const el = mediaRef.current;
729
735
  if (el) {
730
- el.volume = Math.max(0, Math.min(1, volume));
736
+ el.volume = playbackVolume;
731
737
  }
732
- }, [volume]);
733
- const playbackSpeed = element.playbackSpeed ?? 1;
738
+ }, [playbackVolume]);
734
739
  useEffect(() => {
735
740
  const el = mediaRef.current;
736
741
  if (el) {
737
- el.playbackRate = Math.max(0.25, Math.min(4, playbackSpeed));
742
+ el.playbackRate = playbackRate;
738
743
  }
739
- }, [playbackSpeed]);
744
+ }, [playbackRate]);
740
745
  useEffect(() => {
741
746
  const el = mediaRef.current;
742
747
  if (!el) {
@@ -927,10 +932,11 @@ function renderMediaElement(element, mediaDataUrls, options) {
927
932
  const dataUrl = element.mediaData ?? (mediaPath ? mediaDataUrls.get(mediaPath) : void 0);
928
933
  const trimFragment = buildTrimFragment(element);
929
934
  const posterUrl = element.posterFrameData ?? void 0;
930
- const shouldLoop = element.loop === true;
935
+ const shouldLoop = mediaPlaybackAttributes(element).loop;
931
936
  const shouldAutoPlay = options?.autoPlay === true || element.autoPlay === true;
932
937
  const isFullScreen = options?.fullScreen === true;
933
938
  const isPresentationMode = options?.isPresentationMode === true;
939
+ const showTransport = options?.showTransport ?? !isPresentationMode;
934
940
  if (isPresentationMode && shouldAutoPlay && element.playAcrossSlides && element.mediaType === "audio" && dataUrl && !element.mediaData) {
935
941
  const trimStartSec = element.trimStartMs !== void 0 ? element.trimStartMs / 1e3 : 0;
936
942
  registerPersistentAudio(
@@ -999,7 +1005,8 @@ function renderMediaElement(element, mediaDataUrls, options) {
999
1005
  shouldLoop,
1000
1006
  shouldAutoPlay,
1001
1007
  isFullScreen,
1002
- isPresentationMode
1008
+ isPresentationMode,
1009
+ showTransport
1003
1010
  }
1004
1011
  )
1005
1012
  }
@@ -1068,7 +1075,7 @@ function renderMediaElement(element, mediaDataUrls, options) {
1068
1075
  mediaMimeType,
1069
1076
  shouldLoop,
1070
1077
  shouldAutoPlay,
1071
- isPresentationMode
1078
+ showTransport
1072
1079
  }
1073
1080
  )
1074
1081
  }
@@ -1763,12 +1770,25 @@ function renderSingleSegment(element, segment, segmentIndex, fallbackColor, find
1763
1770
  const baseFontSizePt = baseFontSize * (72 / 96);
1764
1771
  const fontKerning = typeof segmentStyle.kerning === "number" ? segmentStyle.kerning === 0 ? "none" : baseFontSizePt >= segmentStyle.kerning / 100 ? "normal" : "none" : void 0;
1765
1772
  const rawFontFamily = segmentStyle.fontFamily || element.textStyle?.fontFamily;
1766
- const baseFontFamily = rawFontFamily ? getSubstituteFontFamily(rawFontFamily) : DEFAULT_FONT_FAMILY;
1773
+ const baseFontFamily = rawFontFamily ? getSubstituteFontFamily(
1774
+ rawFontFamily,
1775
+ parsePanoseString(segmentStyle.latinFontPanose ?? element.textStyle?.latinFontPanose)
1776
+ ) : DEFAULT_FONT_FAMILY;
1777
+ const scriptFont = (name, panose) => name ? getSubstituteFontFamily(name, parsePanoseString(panose)) : baseFontFamily;
1767
1778
  const scriptFonts = {
1768
1779
  latin: baseFontFamily,
1769
- eastAsia: segmentStyle.eastAsiaFont || element.textStyle?.eastAsiaFont || baseFontFamily,
1770
- complexScript: segmentStyle.complexScriptFont || element.textStyle?.complexScriptFont || baseFontFamily,
1771
- symbol: segmentStyle.symbolFont || element.textStyle?.symbolFont || baseFontFamily
1780
+ eastAsia: scriptFont(
1781
+ segmentStyle.eastAsiaFont || element.textStyle?.eastAsiaFont,
1782
+ segmentStyle.eastAsiaFontPanose ?? element.textStyle?.eastAsiaFontPanose
1783
+ ),
1784
+ complexScript: scriptFont(
1785
+ segmentStyle.complexScriptFont || element.textStyle?.complexScriptFont,
1786
+ segmentStyle.complexScriptFontPanose ?? element.textStyle?.complexScriptFontPanose
1787
+ ),
1788
+ symbol: scriptFont(
1789
+ segmentStyle.symbolFont || element.textStyle?.symbolFont,
1790
+ segmentStyle.symbolFontPanose ?? element.textStyle?.symbolFontPanose
1791
+ )
1772
1792
  };
1773
1793
  const needsScriptFonts = hasDistinctScriptFonts(scriptFonts);
1774
1794
  const spanStyle = {
@@ -2537,8 +2557,8 @@ function getConnectorAdjustment(element, key, fallback) {
2537
2557
  return clampUnitInterval(fallback);
2538
2558
  }
2539
2559
  function getConnectorPathGeometry(element) {
2540
- const width = Math.max(element.width, 1);
2541
- const height = Math.max(element.height, 1);
2560
+ const width = Math.max(element.width, 0);
2561
+ const height = Math.max(element.height, 0);
2542
2562
  const normalizedType = (element.shapeType || "").toLowerCase();
2543
2563
  const mapX = (value) => value;
2544
2564
  const mapY = (value) => value;
@@ -4550,7 +4570,7 @@ function renderChartViewModel(elementId, vm, preserveAspectRatio = "none") {
4550
4570
  viewBox: `0 0 ${vm.svgWidth} ${vm.svgHeight}`,
4551
4571
  preserveAspectRatio,
4552
4572
  children: [
4553
- /* @__PURE__ */ jsx("rect", { x: 0, y: 0, width: vm.svgWidth, height: vm.svgHeight, fill: "#0f172a11" }),
4573
+ vm.areaFill && /* @__PURE__ */ jsx("rect", { x: 0, y: 0, width: vm.svgWidth, height: vm.svgHeight, fill: vm.areaFill }),
4554
4574
  vm.title && /* @__PURE__ */ jsx(
4555
4575
  "text",
4556
4576
  {
@@ -6101,6 +6121,7 @@ function renderChartDataTable(elementId, chartData, svgWidth) {
6101
6121
  }
6102
6122
  function renderStockChart(element, chartData, categoryLabels) {
6103
6123
  const style = chartData.style;
6124
+ const areaFill = chartAreaFill(chartData);
6104
6125
  const legendPos = style?.legendPosition || "b";
6105
6126
  const range = computeValueRangeForChart(chartData.series, chartData.axes);
6106
6127
  const layout = computeLayout(element.width, element.height, style, true, legendPos);
@@ -6185,7 +6206,7 @@ function renderStockChart(element, chartData, categoryLabels) {
6185
6206
  viewBox: `0 0 ${layout.svgWidth} ${layout.svgHeight}`,
6186
6207
  preserveAspectRatio: "none",
6187
6208
  children: [
6188
- /* @__PURE__ */ jsx("rect", { x: 0, y: 0, width: layout.svgWidth, height: layout.svgHeight, fill: "#0f172a11" }),
6209
+ areaFill && /* @__PURE__ */ jsx("rect", { x: 0, y: 0, width: layout.svgWidth, height: layout.svgHeight, fill: areaFill }),
6189
6210
  renderChrome(element.id, chartData, layout, range, categoryLabels, {
6190
6211
  categoryAxisStyle: "bar"
6191
6212
  }),
@@ -6212,7 +6233,7 @@ function FailedToLoad() {
6212
6233
  var LazySurfaceChart3DScene = React6.lazy(
6213
6234
  async () => {
6214
6235
  try {
6215
- return await import('./SurfaceChart3DScene-2GZQM3LN.mjs');
6236
+ return await import('./SurfaceChart3DScene-3MSU74YH.mjs');
6216
6237
  } catch {
6217
6238
  return { default: FailedToLoad };
6218
6239
  }
@@ -6355,6 +6376,7 @@ function darkenRgb(r, g, b, factor) {
6355
6376
  }
6356
6377
  function renderIsometricSurfaceChart(element, chartData, categoryLabels) {
6357
6378
  const style = chartData.style;
6379
+ const areaFill = chartAreaFill(chartData);
6358
6380
  const legendPos = style?.legendPosition || "b";
6359
6381
  const layout = computeLayout(element.width, element.height, style, false, legendPos);
6360
6382
  const range = computeValueRangeForChart(chartData.series, chartData.axes);
@@ -6436,7 +6458,7 @@ function renderIsometricSurfaceChart(element, chartData, categoryLabels) {
6436
6458
  viewBox: `0 0 ${layout.svgWidth} ${layout.svgHeight}`,
6437
6459
  preserveAspectRatio: "xMidYMid meet",
6438
6460
  children: [
6439
- /* @__PURE__ */ jsx("rect", { x: 0, y: 0, width: layout.svgWidth, height: layout.svgHeight, fill: "#0f172a11" }),
6461
+ areaFill && /* @__PURE__ */ jsx("rect", { x: 0, y: 0, width: layout.svgWidth, height: layout.svgHeight, fill: areaFill }),
6440
6462
  renderTitle(element.id, style, chartData.title, layout.svgWidth),
6441
6463
  renderLegend(element.id, style, chartData.series, layout),
6442
6464
  polygons
@@ -6446,6 +6468,7 @@ function renderIsometricSurfaceChart(element, chartData, categoryLabels) {
6446
6468
  }
6447
6469
  function renderFlatSurfaceChart(element, chartData, categoryLabels) {
6448
6470
  const style = chartData.style;
6471
+ const areaFill = chartAreaFill(chartData);
6449
6472
  const legendPos = style?.legendPosition || "b";
6450
6473
  const layout = computeLayout(element.width, element.height, style, true, legendPos);
6451
6474
  const range = computeValueRangeForChart(chartData.series, chartData.axes);
@@ -6482,7 +6505,7 @@ function renderFlatSurfaceChart(element, chartData, categoryLabels) {
6482
6505
  viewBox: `0 0 ${layout.svgWidth} ${layout.svgHeight}`,
6483
6506
  preserveAspectRatio: "none",
6484
6507
  children: [
6485
- /* @__PURE__ */ jsx("rect", { x: 0, y: 0, width: layout.svgWidth, height: layout.svgHeight, fill: "#0f172a11" }),
6508
+ areaFill && /* @__PURE__ */ jsx("rect", { x: 0, y: 0, width: layout.svgWidth, height: layout.svgHeight, fill: areaFill }),
6486
6509
  renderChrome(element.id, chartData, layout, range, categoryLabels, {
6487
6510
  categoryAxisStyle: "bar"
6488
6511
  }),
@@ -6510,6 +6533,7 @@ function renderSurfaceChart(element, chartData, categoryLabels) {
6510
6533
  }
6511
6534
  function renderTreemapChart(element, chartData, categoryLabels) {
6512
6535
  const style = chartData.style;
6536
+ const areaFill = chartAreaFill(chartData);
6513
6537
  const legendPos = style?.legendPosition || "b";
6514
6538
  const layout = computeLayout(element.width, element.height, style, false, legendPos);
6515
6539
  const allValues = chartData.series.flatMap((s) => s.values);
@@ -6575,7 +6599,7 @@ function renderTreemapChart(element, chartData, categoryLabels) {
6575
6599
  viewBox: `0 0 ${layout.svgWidth} ${layout.svgHeight}`,
6576
6600
  preserveAspectRatio: "none",
6577
6601
  children: [
6578
- /* @__PURE__ */ jsx("rect", { x: 0, y: 0, width: layout.svgWidth, height: layout.svgHeight, fill: "#0f172a11" }),
6602
+ areaFill && /* @__PURE__ */ jsx("rect", { x: 0, y: 0, width: layout.svgWidth, height: layout.svgHeight, fill: areaFill }),
6579
6603
  renderTitle(element.id, style, chartData.title, layout.svgWidth),
6580
6604
  renderLegend(element.id, style, chartData.series, layout),
6581
6605
  rects
@@ -6585,6 +6609,7 @@ function renderTreemapChart(element, chartData, categoryLabels) {
6585
6609
  }
6586
6610
  function renderWaterfallChart(element, chartData, categoryLabels) {
6587
6611
  const style = chartData.style;
6612
+ const areaFill = chartAreaFill(chartData);
6588
6613
  const legendPos = style?.legendPosition || "b";
6589
6614
  const values = chartData.series[0]?.values ?? [];
6590
6615
  const range = computeValueRangeForChart(chartData.series, chartData.axes);
@@ -6664,7 +6689,7 @@ function renderWaterfallChart(element, chartData, categoryLabels) {
6664
6689
  viewBox: `0 0 ${layout.svgWidth} ${layout.svgHeight}`,
6665
6690
  preserveAspectRatio: "none",
6666
6691
  children: [
6667
- /* @__PURE__ */ jsx("rect", { x: 0, y: 0, width: layout.svgWidth, height: layout.svgHeight, fill: "#0f172a11" }),
6692
+ areaFill && /* @__PURE__ */ jsx("rect", { x: 0, y: 0, width: layout.svgWidth, height: layout.svgHeight, fill: areaFill }),
6668
6693
  renderChrome(element.id, chartData, layout, range, categoryLabels, {
6669
6694
  categoryAxisStyle: "bar"
6670
6695
  }),
@@ -6676,6 +6701,7 @@ function renderWaterfallChart(element, chartData, categoryLabels) {
6676
6701
  }
6677
6702
  function renderComboChart(element, chartData, categoryLabels) {
6678
6703
  const style = chartData.style;
6704
+ const areaFill = chartAreaFill(chartData);
6679
6705
  const legendPos = style?.legendPosition || "b";
6680
6706
  const layoutOpts = computeLayoutOptions(
6681
6707
  chartData.axes,
@@ -6795,7 +6821,7 @@ function renderComboChart(element, chartData, categoryLabels) {
6795
6821
  viewBox: `0 0 ${layout.svgWidth} ${layout.svgHeight}`,
6796
6822
  preserveAspectRatio: "none",
6797
6823
  children: [
6798
- /* @__PURE__ */ jsx("rect", { x: 0, y: 0, width: layout.svgWidth, height: layout.svgHeight, fill: "#0f172a11" }),
6824
+ areaFill && /* @__PURE__ */ jsx("rect", { x: 0, y: 0, width: layout.svgWidth, height: layout.svgHeight, fill: areaFill }),
6799
6825
  renderChrome(
6800
6826
  element.id,
6801
6827
  chartData,
Binary file
Binary file