pptx-react-viewer 2.8.0 → 2.10.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-UXPHPUQV.mjs → AiChatPanel-35CHYS5N.mjs} +4 -4
  3. package/dist/AiChatPanel-35CHYS5N.mjs.br +0 -0
  4. package/dist/AiChatPanel-35CHYS5N.mjs.gz +0 -0
  5. package/dist/{AiChatPanel-GTCK35EI.js → AiChatPanel-KTMWRUD5.js} +23 -23
  6. package/dist/AiChatPanel-KTMWRUD5.js.br +0 -0
  7. package/dist/AiChatPanel-KTMWRUD5.js.gz +0 -0
  8. package/dist/{Model3DScene-HDUHTKPF.mjs → Model3DScene-2VMN3B65.mjs} +1 -1
  9. package/dist/Model3DScene-2VMN3B65.mjs.br +0 -0
  10. package/dist/Model3DScene-2VMN3B65.mjs.gz +0 -0
  11. package/dist/{Model3DScene-USPBP3KE.js → Model3DScene-TMNUKCL6.js} +2 -2
  12. package/dist/Model3DScene-TMNUKCL6.js.br +0 -0
  13. package/dist/Model3DScene-TMNUKCL6.js.gz +0 -0
  14. package/dist/{SurfaceChart3DScene-7SLM73XC.mjs → SurfaceChart3DScene-GKRDDN2U.mjs} +1 -1
  15. package/dist/{SurfaceChart3DScene-7SLM73XC.mjs.br → SurfaceChart3DScene-GKRDDN2U.mjs.br} +0 -0
  16. package/dist/SurfaceChart3DScene-GKRDDN2U.mjs.gz +0 -0
  17. package/dist/{SurfaceChart3DScene-NZ3K5CC6.js → SurfaceChart3DScene-KPNP3QD5.js} +2 -2
  18. package/dist/SurfaceChart3DScene-KPNP3QD5.js.br +0 -0
  19. package/dist/SurfaceChart3DScene-KPNP3QD5.js.gz +0 -0
  20. package/dist/{chunk-KGXDCDA5.js → chunk-A7HLINZU.js} +414 -472
  21. package/dist/chunk-A7HLINZU.js.br +0 -0
  22. package/dist/chunk-A7HLINZU.js.gz +0 -0
  23. package/dist/{chunk-AHPZGUL7.mjs → chunk-FY2AFXKP.mjs} +140 -174
  24. package/dist/chunk-FY2AFXKP.mjs.br +0 -0
  25. package/dist/chunk-FY2AFXKP.mjs.gz +0 -0
  26. package/dist/{chunk-MZJMOEEX.js → chunk-H74UXL4Q.js} +2914 -832
  27. package/dist/chunk-H74UXL4Q.js.br +0 -0
  28. package/dist/chunk-H74UXL4Q.js.gz +0 -0
  29. package/dist/{chunk-SMW4QYGK.js → chunk-IJVDNQLG.js} +374 -407
  30. package/dist/chunk-IJVDNQLG.js.br +0 -0
  31. package/dist/chunk-IJVDNQLG.js.gz +0 -0
  32. package/dist/{chunk-SOBKYMMR.js → chunk-JWMXOYSX.js} +5739 -3092
  33. package/dist/chunk-JWMXOYSX.js.br +0 -0
  34. package/dist/chunk-JWMXOYSX.js.gz +0 -0
  35. package/dist/{chunk-TJ5QMUUJ.mjs → chunk-LCG7WBAG.mjs} +4245 -1598
  36. package/dist/chunk-LCG7WBAG.mjs.br +0 -0
  37. package/dist/chunk-LCG7WBAG.mjs.gz +0 -0
  38. package/dist/{chunk-PVCUYPU7.mjs → chunk-LXTKPSIG.mjs} +1 -1
  39. package/dist/chunk-LXTKPSIG.mjs.br +0 -0
  40. package/dist/chunk-LXTKPSIG.mjs.gz +0 -0
  41. package/dist/{chunk-25VSL2BB.js → chunk-MMK4K3QI.js} +260 -17
  42. package/dist/chunk-MMK4K3QI.js.br +0 -0
  43. package/dist/chunk-MMK4K3QI.js.gz +0 -0
  44. package/dist/{chunk-OIH753PJ.mjs → chunk-OHPF2HTP.mjs} +102 -160
  45. package/dist/chunk-OHPF2HTP.mjs.br +0 -0
  46. package/dist/chunk-OHPF2HTP.mjs.gz +0 -0
  47. package/dist/{chunk-Z6HIZWIQ.mjs → chunk-SL3XPERE.mjs} +260 -17
  48. package/dist/chunk-SL3XPERE.mjs.br +0 -0
  49. package/dist/chunk-SL3XPERE.mjs.gz +0 -0
  50. package/dist/{chunk-VFLBLJ4G.js → chunk-SPJR6MPI.js} +3 -3
  51. package/dist/chunk-SPJR6MPI.js.br +0 -0
  52. package/dist/chunk-SPJR6MPI.js.gz +0 -0
  53. package/dist/{chunk-VH2QF5CT.mjs → chunk-TJ55KUWH.mjs} +2829 -824
  54. package/dist/chunk-TJ55KUWH.mjs.br +0 -0
  55. package/dist/chunk-TJ55KUWH.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 +36 -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 +48 -1
  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/{useViewerBuildingBlocks-DMDZRawe.d.ts → useViewerBuildingBlocks-CpUwhBD5.d.ts} +17 -2
  81. package/dist/useViewerBuildingBlocks-CpUwhBD5.d.ts.map +1 -0
  82. package/dist/viewer/index.d.ts +21 -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-GTCK35EI.js.br +0 -0
  91. package/dist/AiChatPanel-GTCK35EI.js.gz +0 -0
  92. package/dist/AiChatPanel-UXPHPUQV.mjs.br +0 -0
  93. package/dist/AiChatPanel-UXPHPUQV.mjs.gz +0 -0
  94. package/dist/Model3DScene-HDUHTKPF.mjs.br +0 -0
  95. package/dist/Model3DScene-HDUHTKPF.mjs.gz +0 -0
  96. package/dist/Model3DScene-USPBP3KE.js.br +0 -0
  97. package/dist/Model3DScene-USPBP3KE.js.gz +0 -0
  98. package/dist/SurfaceChart3DScene-7SLM73XC.mjs.gz +0 -0
  99. package/dist/SurfaceChart3DScene-NZ3K5CC6.js.br +0 -0
  100. package/dist/SurfaceChart3DScene-NZ3K5CC6.js.gz +0 -0
  101. package/dist/chunk-25VSL2BB.js.br +0 -0
  102. package/dist/chunk-25VSL2BB.js.gz +0 -0
  103. package/dist/chunk-AHPZGUL7.mjs.br +0 -0
  104. package/dist/chunk-AHPZGUL7.mjs.gz +0 -0
  105. package/dist/chunk-KGXDCDA5.js.br +0 -0
  106. package/dist/chunk-KGXDCDA5.js.gz +0 -0
  107. package/dist/chunk-MZJMOEEX.js.br +0 -0
  108. package/dist/chunk-MZJMOEEX.js.gz +0 -0
  109. package/dist/chunk-OIH753PJ.mjs.br +0 -0
  110. package/dist/chunk-OIH753PJ.mjs.gz +0 -0
  111. package/dist/chunk-PVCUYPU7.mjs.br +0 -0
  112. package/dist/chunk-PVCUYPU7.mjs.gz +0 -0
  113. package/dist/chunk-SMW4QYGK.js.br +0 -0
  114. package/dist/chunk-SMW4QYGK.js.gz +0 -0
  115. package/dist/chunk-SOBKYMMR.js.br +0 -0
  116. package/dist/chunk-SOBKYMMR.js.gz +0 -0
  117. package/dist/chunk-TJ5QMUUJ.mjs.br +0 -0
  118. package/dist/chunk-TJ5QMUUJ.mjs.gz +0 -0
  119. package/dist/chunk-VFLBLJ4G.js.br +0 -0
  120. package/dist/chunk-VFLBLJ4G.js.gz +0 -0
  121. package/dist/chunk-VH2QF5CT.mjs.br +0 -0
  122. package/dist/chunk-VH2QF5CT.mjs.gz +0 -0
  123. package/dist/chunk-Z6HIZWIQ.mjs.br +0 -0
  124. package/dist/chunk-Z6HIZWIQ.mjs.gz +0 -0
  125. package/dist/useViewerBuildingBlocks-DMDZRawe.d.ts.map +0 -1
Binary file
Binary file
@@ -1,5 +1,5 @@
1
- import { translationsEn } from './chunk-Z6HIZWIQ.mjs';
2
- import { SHAPE_PRESET_DEFS, computeValueRangeForChart, getAnimationInitialStyle, cloneHistorySnapshot, hasShapeProperties, isTemplateElement, isImageLikeElement, clampCropValue, parseMediaCommand, hasTextProperties, normalizeHexColor, toCssWritingMode, toCssTextOrientation, toCssVerticalDirection, computeAutoFitTextStyle, resolveLineHeight, getKinsokuLineBreakStyles, buildTextBody3DSceneStyle, resolveParagraphRtl, resolveParagraphAlign, resolveCssTextAlign, resolveParagraphStrutFontSize, colorWithOpacity, build3DExtrusionData, getResolvedShapeClipPath, normalizeStrokeDashType, buildCssGradientFromShapeStyle, buildShadowCssFromShapeStyle, buildInnerShadowCssFromShapeStyle, buildMultiLayerShadowCss, buildGlowBoxShadow, getCompoundLineBoxShadow, getSoftEdgeFilterId, getEffectDagFilter, buildPatternFillCss, buildReflectionCss, getCssBorderDashStyle, getCompoundLineBorderWidth, getSvgStrokeDasharray, isCalloutShape, getCalloutLeaderLineGeometry, buildCalloutLeaderLineSvgPath, getCalloutViewBoxBounds, svgLineCap, getCompoundLineOffsets, getCompoundLineWidths, computeSelectionRect, rectToCells, isCellInRect, buildChartViewModel, buildNotesPdfBytes, buildSlidesPdfBytes, buildPreviewAnimation, getRoundRectRadiusPx, substituteFieldText, resolveUnderlineDecorationStyle, getSubstituteFontFamily, hasDistinctScriptFonts, buildTextReflectionCss, getTextAlphaOpacity, buildTextRunFilterChain, buildTextShadowCss, TEXT_BUILD_ID_SEP, buildTextBuildSpec, textBuildSpanStyle, evaluatePresetShape, apply3dEffects, clampUnitInterval, customGeometryPathsToSvgSubpaths, computeColumnBoundaries, parseDrawingColor, parseDrawingColorOpacity, getCellDiagonalBorders, getPatternSvg, ooxmlDashToCssBorderStyle, cell3DBevelCss, getChartStylePalette, computeLayout, valueToY, formatAxisValue, computeLayoutOptions, splitSeriesByAxis, computeValueRange, getSecondaryValueAxis, seriesColor, paletteColor, resolveRegionCode, normalizeValue, sequentialColorScale, convertOmmlToMathMl, sanitizeMathMl, buildTextFillCss, resolvePictureBullet, computeResizedColumnWidths, computeResizedRowHeight, DEFAULT_ROW_HEIGHT, resolveFontRefIdx, tintColor2, shadeColor2, ooxmlGradientAngleToCssDegrees, segmentByScript, resolveFontForScript, generateLogTicks, formatAxisValueWithUnits, getDisplayUnitLabel, hexToRgbChannels, chartPartToAttrs } from './chunk-VH2QF5CT.mjs';
1
+ import { translationsEn } from './chunk-SL3XPERE.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, 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-TJ55KUWH.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';
@@ -25,7 +25,6 @@ var DEFAULT_CANVAS_WIDTH = 1280;
25
25
  var DEFAULT_CANVAS_HEIGHT = 720;
26
26
  var MIN_ELEMENT_SIZE = 12;
27
27
  var EMU_PER_PX = 9525;
28
- var DEFAULT_BODY_INSET_LR_PX = 91440 / 9525;
29
28
  var DEFAULT_BODY_INSET_TB_PX = 45720 / 9525;
30
29
  var DEFAULT_TEXT_COLOR = "#111827";
31
30
  var DEFAULT_FILL_COLOR = "#3b82f6";
@@ -38,8 +37,6 @@ var DEFAULT_TABLE_COLUMNS = 3;
38
37
  var SHAPE_ADJUSTMENT_MIN = 0;
39
38
  var SHAPE_ADJUSTMENT_MAX = 5e4;
40
39
  var DEFAULT_ROUND_RECT_ADJUSTMENT = 16667;
41
- var MIN_ZOOM_SCALE = 0.2;
42
- var MAX_ZOOM_SCALE = 5;
43
40
  var ZOOM_TO_SELECTION_PADDING = 96;
44
41
  var GRID_SIZE = 8;
45
42
  var SLIDE_NAV_THUMBNAIL_WIDTH = 156;
@@ -60,48 +57,25 @@ var TOOLBAR_SECTIONS = [
60
57
  { id: "view", labelKey: "pptx.ribbon.tab.view" },
61
58
  { id: "help", labelKey: "pptx.ribbon.tab.help" }
62
59
  ];
63
- var SHORTCUT_REFERENCE_ITEMS = [
64
- { actionKey: "pptx.toolbar.undo", shortcut: "Ctrl/Cmd+Z" },
65
- { actionKey: "pptx.toolbar.redo", shortcut: "Ctrl/Cmd+Shift+Z or Ctrl/Cmd+Y" },
66
- { actionKey: "pptx.shortcuts.action.copyElement", shortcut: "Ctrl/Cmd+C" },
67
- { actionKey: "pptx.shortcuts.action.cutElement", shortcut: "Ctrl/Cmd+X" },
68
- { actionKey: "pptx.shortcuts.action.pasteElement", shortcut: "Ctrl/Cmd+V" },
69
- { actionKey: "pptx.shortcuts.action.duplicateElement", shortcut: "Ctrl/Cmd+D" },
70
- { actionKey: "pptx.shortcuts.action.deleteElement", shortcut: "Delete / Backspace" },
71
- { actionKey: "pptx.shortcuts.action.nudgeElement", shortcut: "Arrow keys" },
72
- { actionKey: "pptx.shortcuts.action.nudgeElementLarge", shortcut: "Shift+Arrow keys" },
73
- { actionKey: "pptx.shortcuts.action.zoomCanvas", shortcut: "Ctrl/Cmd+Mouse wheel" },
74
- { actionKey: "pptx.shortcuts.action.commitTextEdit", shortcut: "Ctrl/Cmd+Enter" },
75
- { actionKey: "pptx.shortcuts.action.cancelTextEdit", shortcut: "Escape" }
60
+ var SHORTCUT_REFERENCE_ITEMS = VIEWER_SHORTCUT_REFERENCE;
61
+
62
+ // src/viewer/constants/theme.ts
63
+ var THEME_COLOR_SWATCHES = [
64
+ "#000000",
65
+ "#FFFFFF",
66
+ "#1F497D",
67
+ "#EEECE1",
68
+ "#4472C4",
69
+ "#ED7D31",
70
+ "#A5A5A5",
71
+ "#FFC000",
72
+ "#5B9BD5",
73
+ "#70AD47",
74
+ "#0563C1",
75
+ "#954F72"
76
76
  ];
77
77
 
78
78
  // src/viewer/constants/transitions-animations.ts
79
- var SLIDE_TRANSITION_OPTIONS = [
80
- { value: "none", label: "None", i18nKey: "pptx.transition.none" },
81
- { value: "cut", label: "Cut", i18nKey: "pptx.ribbon.transition.cut" },
82
- { value: "fade", label: "Fade", i18nKey: "pptx.ribbon.transition.fade" },
83
- { value: "push", label: "Push", i18nKey: "pptx.ribbon.transition.push" },
84
- { value: "wipe", label: "Wipe", i18nKey: "pptx.ribbon.transition.wipe" },
85
- { value: "split", label: "Split", i18nKey: "pptx.ribbon.transition.split" },
86
- { value: "randomBar", label: "Random Bars", i18nKey: "pptx.transitionPresets.randomBars" },
87
- { value: "blinds", label: "Blinds", i18nKey: "pptx.transitionPresets.blinds" },
88
- { value: "checker", label: "Checker", i18nKey: "pptx.transitionPresets.checker" },
89
- { value: "circle", label: "Circle", i18nKey: "pptx.transitionPresets.circle" },
90
- { value: "comb", label: "Comb", i18nKey: "pptx.transitionPresets.comb" },
91
- { value: "cover", label: "Cover", i18nKey: "pptx.ribbon.transition.cover" },
92
- { value: "diamond", label: "Diamond", i18nKey: "pptx.transitionPresets.diamond" },
93
- { value: "dissolve", label: "Dissolve", i18nKey: "pptx.transitionPresets.dissolve" },
94
- { value: "plus", label: "Plus", i18nKey: "pptx.transitionPresets.plus" },
95
- { value: "pull", label: "Pull", i18nKey: "pptx.transitionPresets.pull" },
96
- { value: "random", label: "Random", i18nKey: "pptx.transitionPresets.random" },
97
- { value: "strips", label: "Strips", i18nKey: "pptx.transitionPresets.strips" },
98
- { value: "uncover", label: "Uncover", i18nKey: "pptx.ribbon.transition.uncover" },
99
- { value: "wedge", label: "Wedge", i18nKey: "pptx.transitionPresets.wedge" },
100
- { value: "wheel", label: "Wheel", i18nKey: "pptx.transitionPresets.wheel" },
101
- { value: "zoom", label: "Zoom", i18nKey: "pptx.transitionPresets.zoom" },
102
- { value: "newsflash", label: "Newsflash", i18nKey: "pptx.transitionPresets.newsflash" },
103
- { value: "morph", label: "Morph", i18nKey: "pptx.transitionPresets.morph" }
104
- ];
105
79
  var ANIMATION_PRESET_OPTIONS = [
106
80
  { value: "fadeIn", label: "Fade In", i18nKey: "pptx.animation.preset.fadeIn" },
107
81
  { value: "flyIn", label: "Fly In", i18nKey: "pptx.animation.preset.flyIn" },
@@ -138,6 +112,47 @@ var SHAPE_PRESETS = SHAPE_PRESET_DEFS.map(
138
112
  })
139
113
  );
140
114
 
115
+ // src/viewer/constants/connectors-strokes.ts
116
+ var CONNECTOR_ARROW_OPTIONS = [
117
+ { value: "none", label: "None", i18nKey: "pptx.arrowhead.none" },
118
+ { value: "triangle", label: "Triangle", i18nKey: "pptx.arrowhead.triangle" },
119
+ { value: "stealth", label: "Stealth", i18nKey: "pptx.arrowhead.stealth" },
120
+ { value: "diamond", label: "Diamond", i18nKey: "pptx.arrowhead.diamond" },
121
+ { value: "oval", label: "Oval", i18nKey: "pptx.arrowhead.oval" },
122
+ { value: "arrow", label: "Open Arrow", i18nKey: "pptx.arrowhead.openArrow" }
123
+ ];
124
+ var ARROW_SIZE_OPTIONS = [
125
+ { value: "sm", label: "Small", i18nKey: "pptx.connectorOptions.sizeSmall" },
126
+ { value: "med", label: "Medium", i18nKey: "pptx.connectorOptions.sizeMedium" },
127
+ { value: "lg", label: "Large", i18nKey: "pptx.connectorOptions.sizeLarge" }
128
+ ];
129
+ var STROKE_DASH_OPTIONS = [
130
+ { value: "solid", label: "Solid", i18nKey: "pptx.stroke.dashSolid" },
131
+ { value: "dot", label: "Dot", i18nKey: "pptx.stroke.dashDot" },
132
+ { value: "dash", label: "Dash", i18nKey: "pptx.stroke.dashDash" },
133
+ { value: "dashDot", label: "Dash Dot", i18nKey: "pptx.stroke.dashDashDot" },
134
+ { value: "lgDash", label: "Long Dash", i18nKey: "pptx.connectorOptions.dashLongDash" },
135
+ { value: "lgDashDot", label: "Long Dash Dot", i18nKey: "pptx.connectorOptions.dashLongDashDot" },
136
+ {
137
+ value: "lgDashDotDot",
138
+ label: "Long Dash Dot Dot",
139
+ i18nKey: "pptx.connectorOptions.dashLongDashDotDot"
140
+ },
141
+ { value: "sysDot", label: "System Dot", i18nKey: "pptx.stroke.dashSysDot" },
142
+ { value: "sysDash", label: "System Dash", i18nKey: "pptx.stroke.dashSysDash" },
143
+ {
144
+ value: "sysDashDot",
145
+ label: "System Dash Dot",
146
+ i18nKey: "pptx.connectorOptions.dashSysDashDot"
147
+ },
148
+ {
149
+ value: "sysDashDotDot",
150
+ label: "System Dash Dot Dot",
151
+ i18nKey: "pptx.connectorOptions.dashSysDashDotDot"
152
+ },
153
+ { value: "custom", label: "Custom", i18nKey: "pptx.documentProperties.tabs.custom" }
154
+ ];
155
+
141
156
  // src/viewer/utils/shape-types.tsx
142
157
  function getShapeType(shapeType) {
143
158
  if (!shapeType) {
@@ -708,50 +723,11 @@ function registerMediaElement(elementId, el) {
708
723
  }
709
724
  };
710
725
  }
711
- function executeMediaCommand(command) {
712
- const el = registry.get(command.targetId);
713
- if (!el) {
714
- return false;
715
- }
716
- const parsed = parseMediaCommand(command.command);
717
- if (!parsed) {
718
- return false;
719
- }
720
- const safePlay = () => {
721
- void el.play().catch(() => {
722
- });
723
- };
724
- const safeSeek = (seconds) => {
725
- try {
726
- el.currentTime = seconds;
727
- } catch {
728
- }
729
- };
730
- switch (parsed.verb) {
731
- case "playFrom":
732
- safeSeek(parsed.seekSeconds ?? 0);
733
- safePlay();
734
- return true;
735
- case "play":
736
- safePlay();
737
- return true;
738
- case "pause":
739
- el.pause();
740
- return true;
741
- case "stop":
742
- el.pause();
743
- safeSeek(0);
744
- return true;
745
- case "togglePlay":
746
- if (el.paused) {
747
- safePlay();
748
- } else {
749
- el.pause();
750
- }
751
- return true;
752
- default:
753
- return false;
754
- }
726
+ function executeMediaCommand(command, frameRoot) {
727
+ return runMediaCommand(
728
+ command,
729
+ (targetId) => registry.get(targetId) ?? findMediaElementByElementId(targetId, frameRoot?.())
730
+ );
755
731
  }
756
732
  function PresentationMediaController({
757
733
  element,
@@ -1165,76 +1141,7 @@ function renderMediaElement(element, mediaDataUrls, options) {
1165
1141
 
1166
1142
  // src/viewer/utils/text-utils.tsx
1167
1143
  function getTextStyleForElement(element, fallbackColor) {
1168
- if (!hasTextProperties(element)) {
1169
- return { color: fallbackColor };
1170
- }
1171
- const textDecorationTokens = [];
1172
- if (element.textStyle?.underline || element.textStyle?.hyperlink) {
1173
- textDecorationTokens.push("underline");
1174
- }
1175
- if (element.textStyle?.strikethrough) {
1176
- textDecorationTokens.push("line-through");
1177
- }
1178
- const isDoubleStrike = element.textStyle?.strikethrough && element.textStyle?.strikeType === "dblStrike";
1179
- const textDecorationStyle = isDoubleStrike ? "double" : void 0;
1180
- const hasItalicRuns = element.textStyle?.italic || Boolean(element.textSegments?.some((segment) => segment.style?.italic));
1181
- const isRtl = element.textStyle?.rtl === true;
1182
- const resolvedTextColor = element.textStyle?.hyperlink ? normalizeHexColor(element.textStyle?.color, HYPERLINK_COLOR) : normalizeHexColor(element.textStyle?.color, fallbackColor);
1183
- const bodyTop = element.textStyle?.bodyInsetTop ?? DEFAULT_BODY_INSET_TB_PX;
1184
- const bodyBottom = element.textStyle?.bodyInsetBottom ?? DEFAULT_BODY_INSET_TB_PX;
1185
- const bodyLeft = element.textStyle?.bodyInsetLeft ?? DEFAULT_BODY_INSET_LR_PX;
1186
- const bodyRight = element.textStyle?.bodyInsetRight ?? DEFAULT_BODY_INSET_LR_PX;
1187
- const hasParagraphIndents = (element.paragraphIndents?.length ?? 0) > 0;
1188
- const bodyIndent = hasParagraphIndents ? 0 : element.textStyle?.paragraphIndent || 0;
1189
- const bodyMarginLeft = hasParagraphIndents ? 0 : element.textStyle?.paragraphMarginLeft || 0;
1190
- const bodyMarginRight = hasParagraphIndents ? 0 : element.textStyle?.paragraphMarginRight || 0;
1191
- const writingMode = toCssWritingMode(element.textStyle?.textDirection);
1192
- const textOrientation = toCssTextOrientation(element.textStyle?.textDirection);
1193
- const verticalDirection = toCssVerticalDirection(element.textStyle?.textDirection);
1194
- const resolvedDirection = verticalDirection || (isRtl ? "rtl" : "ltr");
1195
- const resolvedUnicodeBidi = isRtl ? "plaintext" : void 0;
1196
- const hasSegments = (element.textSegments?.length ?? 0) > 0;
1197
- return {
1198
- color: resolvedTextColor,
1199
- backgroundColor: !hasSegments && element.textStyle?.highlightColor ? normalizeHexColor(element.textStyle.highlightColor, void 0) : void 0,
1200
- textAlign: (() => {
1201
- const a = element.textStyle?.align;
1202
- if (a === "justLow" || a === "dist" || a === "thaiDist") {
1203
- return "justify";
1204
- }
1205
- return a || (isRtl ? "right" : "left");
1206
- })(),
1207
- direction: resolvedDirection,
1208
- unicodeBidi: resolvedUnicodeBidi,
1209
- fontSize: element.textStyle?.fontSize || DEFAULT_TEXT_FONT_SIZE,
1210
- fontWeight: element.textStyle?.bold ? 700 : 400,
1211
- fontStyle: element.textStyle?.italic ? "italic" : "normal",
1212
- textDecorationLine: textDecorationTokens.length > 0 ? textDecorationTokens.join(" ") : "none",
1213
- textDecorationStyle,
1214
- fontFamily: element.textStyle?.fontFamily || DEFAULT_FONT_FAMILY,
1215
- lineHeight: resolveLineHeight(element.textStyle, hasItalicRuns),
1216
- paddingTop: bodyTop + (hasItalicRuns ? 1 : 0),
1217
- paddingBottom: bodyBottom + (hasItalicRuns ? 1 : 0),
1218
- paddingLeft: bodyLeft + bodyMarginLeft,
1219
- paddingRight: bodyRight + bodyMarginRight,
1220
- textIndent: bodyIndent,
1221
- overflow: "visible",
1222
- writingMode,
1223
- textOrientation,
1224
- ...element.textStyle?.textWrap === "none" ? { whiteSpace: "nowrap", overflow: "visible" } : {},
1225
- // Auto-fit: use OOXML-provided fontScale/lnSpcReduction when available,
1226
- // otherwise fall back to heuristic estimation. The pure font-scale maths
1227
- // now lives in pptx-viewer-shared (computeAutoFitTextStyle).
1228
- ...computeAutoFitTextStyle({
1229
- textStyle: element.textStyle,
1230
- text: element.text ?? "",
1231
- width: element.width,
1232
- height: element.height,
1233
- bodyInsetVertical: bodyTop + bodyBottom,
1234
- hasItalicRuns,
1235
- defaultFontSize: DEFAULT_TEXT_FONT_SIZE
1236
- })
1237
- };
1144
+ return buildTextBlockStyle(element, { fallbackColor });
1238
1145
  }
1239
1146
 
1240
1147
  // src/viewer/utils/text-layout.tsx
@@ -1891,7 +1798,7 @@ function renderSingleSegment(element, segment, segmentIndex, fallbackColor, find
1891
1798
  const letterSpacing = typeof segmentStyle.characterSpacing === "number" && segmentStyle.characterSpacing !== 0 ? `${segmentStyle.characterSpacing / 100 * (96 / 72)}px` : void 0;
1892
1799
  const textFillStyles = buildTextFillCss2(segmentStyle);
1893
1800
  const rawFontSize = segmentStyle.fontSize || element.textStyle?.fontSize || DEFAULT_TEXT_FONT_SIZE;
1894
- const autoFitScale = element.textStyle?.autoFitFontScale !== void 0 && element.textStyle.autoFitFontScale > 0 && element.textStyle.autoFitFontScale < 1 ? element.textStyle.autoFitFontScale : 1;
1801
+ const autoFitScale = resolveAutoFitFontScale(element.textStyle);
1895
1802
  const baseFontSize = rawFontSize * autoFitScale;
1896
1803
  const baselineShift = baselineFraction !== 0 ? `${baselineFraction * baseFontSize}px` : void 0;
1897
1804
  const baseFontSizePt = baseFontSize * (72 / 96);
@@ -2443,6 +2350,19 @@ function getStrokeOnlyPresetPaths(element) {
2443
2350
  }
2444
2351
 
2445
2352
  // src/viewer/utils/shape-visual-style.ts
2353
+ function getGradientTilingCss(style) {
2354
+ if (!style || style.fillMode !== "gradient") {
2355
+ return void 0;
2356
+ }
2357
+ const isStructuredLinear = (style.fillGradientType || "linear") === "linear" && sanitizeGradientStops(style.fillGradientStops).length > 0;
2358
+ if (isStructuredLinear) {
2359
+ const flip = getGradientTileFlipCss(style.fillGradientFlip);
2360
+ if (flip) {
2361
+ return flip;
2362
+ }
2363
+ }
2364
+ return getGradientTileRectCss(style.fillGradientTileRect);
2365
+ }
2446
2366
  function getShapeVisualStyle(element, hasFill, fillColor, strokeWidth, strokeColor, animatesFill, animatesStroke) {
2447
2367
  if (!hasShapeProperties(element)) {
2448
2368
  return {};
@@ -2454,12 +2374,18 @@ function getShapeVisualStyle(element, hasFill, fillColor, strokeWidth, strokeCol
2454
2374
  const fillOpacity = element.shapeStyle?.fillOpacity;
2455
2375
  const strokeOpacity = element.shapeStyle?.strokeOpacity;
2456
2376
  const strokeDash = normalizeStrokeDashType(element.shapeStyle?.strokeDash);
2457
- const fillGradient = buildCssGradientFromShapeStyle(element.shapeStyle) || element.shapeStyle?.fillGradient;
2377
+ const fillGradient = buildCssGradientFromShapeStyle(element.shapeStyle, {
2378
+ rotation: element.rotation,
2379
+ width: element.width,
2380
+ height: element.height
2381
+ }) || element.shapeStyle?.fillGradient;
2458
2382
  const shadowCss = buildShadowCssFromShapeStyle(element.shapeStyle);
2459
2383
  const innerShadowCss = buildInnerShadowCssFromShapeStyle(element.shapeStyle);
2460
2384
  const resolvedFillColor = colorWithOpacity(fillColor, fillOpacity);
2461
2385
  const resolvedStrokeColor = colorWithOpacity(strokeColor, strokeOpacity);
2462
2386
  const ss = element.shapeStyle;
2387
+ const gradientTiling = getGradientTilingCss(ss);
2388
+ const paintsGradientOutline = suppressesCssBorder(element);
2463
2389
  const hasFillOverlayColor = Boolean(
2464
2390
  ss?.dagFillOverlayColor && ss.dagFillOverlayColor !== "transparent"
2465
2391
  );
@@ -2539,8 +2465,8 @@ function getShapeVisualStyle(element, hasFill, fillColor, strokeWidth, strokeCol
2539
2465
  // `getComputedFillStyle` (image -> gradient -> pattern -> solid).
2540
2466
  backgroundColor: imageFillUrl ? "transparent" : patternFill ? patternFill.backgroundColor : hasFill && !fillGradient ? resolvedFillColor : "transparent",
2541
2467
  backgroundImage: imageFillUrl ? `url(${imageFillUrl})` : patternFill ? patternFill.backgroundImage : hasFill && fillGradient ? fillGradient : void 0,
2542
- backgroundRepeat: imageFillUrl ? imageFillMode === "tile" ? "repeat" : "no-repeat" : patternFill ? "repeat" : hasFill && fillGradient ? "no-repeat" : void 0,
2543
- backgroundSize: imageFillUrl ? imageFillMode === "tile" ? "auto" : "100% 100%" : patternFill ? "auto" : hasFill && fillGradient ? "100% 100%" : void 0,
2468
+ backgroundRepeat: imageFillUrl ? imageFillMode === "tile" ? "repeat" : "no-repeat" : patternFill ? "repeat" : hasFill && fillGradient ? gradientTiling?.backgroundRepeat ?? "no-repeat" : void 0,
2469
+ backgroundSize: imageFillUrl ? imageFillMode === "tile" ? "auto" : "100% 100%" : patternFill ? "auto" : hasFill && fillGradient ? gradientTiling?.backgroundSize ?? "100% 100%" : void 0,
2544
2470
  // The container always carries a 1px border (transparent unless the shape
2545
2471
  // has a stroke or is hovered) and `box-sizing: border-box`, so the default
2546
2472
  // `background-origin: padding-box` sizes the paint 2px smaller than the
@@ -2549,7 +2475,7 @@ function getShapeVisualStyle(element, hasFill, fillColor, strokeWidth, strokeCol
2549
2475
  // edge - a fade-to-transparent overlay grew a hard opaque line down its
2550
2476
  // side. Paint from the border box so the fill matches the shape outline.
2551
2477
  backgroundOrigin: "border-box",
2552
- backgroundPosition: imageFillUrl ? "center" : void 0,
2478
+ backgroundPosition: imageFillUrl ? "center" : hasFill && fillGradient ? gradientTiling?.backgroundPosition : void 0,
2553
2479
  boxShadow: combinedBoxShadow,
2554
2480
  WebkitBoxReflect: reflectCss,
2555
2481
  filter: filterParts.length > 0 ? filterParts.join(" ") : void 0,
@@ -2567,9 +2493,13 @@ function getShapeVisualStyle(element, hasFill, fillColor, strokeWidth, strokeCol
2567
2493
  // two adjacent 40px buttons rendered with a 2px gap PowerPoint does not
2568
2494
  // draw. The affordance is an `outline` instead (see `ElementRenderer`),
2569
2495
  // which paints in the same place without taking part in layout.
2570
- borderWidth: strokeWidth > 0 ? getCompoundLineBorderWidth(ss?.compoundLine, strokeWidth) : 0,
2571
- borderColor: strokeWidth > 0 ? resolvedStrokeColor : void 0,
2572
- borderStyle: strokeWidth > 0 ? getCssBorderDashStyle(strokeDash, ss?.compoundLine) : void 0,
2496
+ // A gradient outline is painted by `ShapeEffectOverlay` as a stroked SVG
2497
+ // path following the shape's geometry, because a CSS border can only take
2498
+ // one colour. Keeping the border too would draw the parser's averaged
2499
+ // solid underneath the gradient.
2500
+ borderWidth: strokeWidth > 0 && !paintsGradientOutline ? getCompoundLineBorderWidth(ss?.compoundLine, strokeWidth) : 0,
2501
+ borderColor: strokeWidth > 0 && !paintsGradientOutline ? resolvedStrokeColor : void 0,
2502
+ borderStyle: strokeWidth > 0 && !paintsGradientOutline ? getCssBorderDashStyle(strokeDash, ss?.compoundLine) : void 0,
2573
2503
  strokeLinejoin: lineJoinCss,
2574
2504
  strokeMiterlimit: miterLimitCss,
2575
2505
  strokeLinecap: ss?.lineCap === "rnd" ? "round" : ss?.lineCap === "sq" ? "square" : ss?.lineCap === "flat" ? "butt" : void 0
@@ -2807,21 +2737,49 @@ function strokeStrands(d, keyBase, ctx) {
2807
2737
  `${keyBase}-s${idx}`
2808
2738
  ));
2809
2739
  }
2810
- function renderCustomGeometryVector(pathData, pathWidth, pathHeight, structuredPaths, shapeStyle, hasFill, fillColor, fillOpacity, strokePaint, strokeWidth, dashArray, animatesFill = false) {
2740
+ function gradientDefs(gradient) {
2741
+ if (!gradient) {
2742
+ return null;
2743
+ }
2744
+ const stops = gradient.stops.map((stop, idx) => /* @__PURE__ */ jsx(
2745
+ "stop",
2746
+ {
2747
+ offset: stop.offset,
2748
+ stopColor: stop.color,
2749
+ stopOpacity: typeof stop.opacity === "number" ? stop.opacity : void 0
2750
+ },
2751
+ idx
2752
+ ));
2753
+ return /* @__PURE__ */ jsx("defs", { children: gradient.kind === "radial" ? /* @__PURE__ */ jsx("radialGradient", { id: gradient.id, cx: gradient.cx, cy: gradient.cy, r: gradient.r, children: stops }) : /* @__PURE__ */ jsx(
2754
+ "linearGradient",
2755
+ {
2756
+ id: gradient.id,
2757
+ x1: gradient.x1,
2758
+ y1: gradient.y1,
2759
+ x2: gradient.x2,
2760
+ y2: gradient.y2,
2761
+ children: stops
2762
+ }
2763
+ ) });
2764
+ }
2765
+ function renderCustomGeometryVector(pathData, pathWidth, pathHeight, structuredPaths, shapeStyle, hasFill, fillColor, fillOpacity, strokePaint, strokeWidth, dashArray, animatesFill = false, gradient) {
2811
2766
  const ctx = strokeContext(shapeStyle, strokePaint, strokeWidth, dashArray);
2812
2767
  const subpaths = structuredPaths && structuredPaths.length > 0 ? customGeometryPathsToSvgSubpaths(structuredPaths, pathWidth, pathHeight) : void 0;
2813
2768
  const needsPerSubpath = subpaths !== void 0 && subpaths.some((sp) => sp.fillMode && sp.fillMode !== "norm" || sp.stroke === false);
2769
+ const gradientPaint = gradient ? svgGradientFillRef(gradient) : void 0;
2814
2770
  const nodes = [];
2815
2771
  if (subpaths && needsPerSubpath) {
2816
2772
  const paints = buildCustomSubpathPaints(subpaths, hasFill, fillColor, fillOpacity);
2817
2773
  paints.forEach((paint, idx) => {
2818
2774
  if (paint.fill !== "none") {
2775
+ const mode = subpaths[idx]?.fillMode;
2776
+ const useGradient = gradientPaint && (mode === void 0 || mode === "norm");
2819
2777
  nodes.push(
2820
2778
  /* @__PURE__ */ jsx(
2821
2779
  "path",
2822
2780
  {
2823
2781
  d: paint.d,
2824
- fill: animatesFill ? "inherit" : paint.fill,
2782
+ fill: animatesFill ? "inherit" : useGradient ? gradientPaint : paint.fill,
2825
2783
  stroke: "none",
2826
2784
  vectorEffect: "non-scaling-stroke"
2827
2785
  },
@@ -2840,7 +2798,7 @@ function renderCustomGeometryVector(pathData, pathWidth, pathHeight, structuredP
2840
2798
  "path",
2841
2799
  {
2842
2800
  d: pathData,
2843
- fill: animatesFill ? "inherit" : colorWithOpacity(fillColor, fillOpacity),
2801
+ fill: animatesFill ? "inherit" : gradientPaint ?? colorWithOpacity(fillColor, fillOpacity),
2844
2802
  stroke: "none",
2845
2803
  vectorEffect: "non-scaling-stroke"
2846
2804
  },
@@ -2852,13 +2810,16 @@ function renderCustomGeometryVector(pathData, pathWidth, pathHeight, structuredP
2852
2810
  nodes.push(...strokeStrands(pathData, "agg", ctx));
2853
2811
  }
2854
2812
  }
2855
- return /* @__PURE__ */ jsx(
2813
+ return /* @__PURE__ */ jsxs(
2856
2814
  "svg",
2857
2815
  {
2858
2816
  viewBox: `0 0 ${pathWidth} ${pathHeight}`,
2859
2817
  className: "w-full h-full pointer-events-none",
2860
2818
  preserveAspectRatio: "none",
2861
- children: nodes
2819
+ children: [
2820
+ animatesFill ? null : gradientDefs(gradient),
2821
+ nodes
2822
+ ]
2862
2823
  }
2863
2824
  );
2864
2825
  }
@@ -2965,7 +2926,12 @@ function renderVectorShape(element, hasFill, fillColor, strokeWidth, strokeColor
2965
2926
  strokePaint,
2966
2927
  strokeWidth,
2967
2928
  dashArray,
2968
- Boolean(animatesFill)
2929
+ Boolean(animatesFill),
2930
+ // A freeform's `a:gradFill` needs a real SVG paint server: the
2931
+ // container's `background-image` is suppressed for custom geometry, so
2932
+ // without this the shape fell back to the parser's representative solid
2933
+ // and lost every fade (issue #132).
2934
+ buildSvgGradientDef(element.shapeStyle, element.id)
2969
2935
  );
2970
2936
  }
2971
2937
  if (isCalloutShape(normalizedType)) {
@@ -6287,7 +6253,7 @@ function FailedToLoad() {
6287
6253
  var LazySurfaceChart3DScene = React6.lazy(
6288
6254
  async () => {
6289
6255
  try {
6290
- return await import('./SurfaceChart3DScene-7SLM73XC.mjs');
6256
+ return await import('./SurfaceChart3DScene-GKRDDN2U.mjs');
6291
6257
  } catch {
6292
6258
  return { default: FailedToLoad };
6293
6259
  }
@@ -8063,4 +8029,4 @@ function stopPreviewAnimation() {
8063
8029
  activePreview = null;
8064
8030
  }
8065
8031
 
8066
- export { ANIMATION_PRESET_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, MAX_ZOOM_SCALE, MIN_ELEMENT_SIZE, MIN_ZOOM_SCALE, SHAPE_PRESETS, SHORTCUT_REFERENCE_ITEMS, SLIDE_NAV_THUMBNAIL_WIDTH, SLIDE_TRANSITION_OPTIONS, SmartArtNodeText, 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 };
8032
+ 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 };
Binary file
Binary file