@aixa-transformation/pptx-viewer 2.0.27 → 2.0.30

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.
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var chunkDHNQHQ66_js = require('./chunk-DHNQHQ66.js');
4
- require('./chunk-HUD73YBT.js');
3
+ var chunkXCLYIGHM_js = require('./chunk-XCLYIGHM.js');
4
+ require('./chunk-N7OHVHBS.js');
5
5
  require('./chunk-QGM4M3NI.js');
6
6
  var react = require('react');
7
7
  var jsxRuntime = require('react/jsx-runtime');
@@ -15,7 +15,7 @@ function Model3DScene({ modelUrl, interactive, width, height }) {
15
15
  return;
16
16
  }
17
17
  let disposed = false;
18
- void chunkDHNQHQ66_js.mountModel3D(container, modelUrl, { width, height, interactive }).then((handle) => {
18
+ void chunkXCLYIGHM_js.mountModel3D(container, modelUrl, { width, height, interactive }).then((handle) => {
19
19
  if (disposed) {
20
20
  handle.dispose();
21
21
  } else {
@@ -1,5 +1,5 @@
1
- import { mountModel3D } from './chunk-45A3IISI.mjs';
2
- import './chunk-LTBO2ZJC.mjs';
1
+ import { mountModel3D } from './chunk-YVQPLQ3C.mjs';
2
+ import './chunk-JJ5MVLCK.mjs';
3
3
  import './chunk-6DZX6EAA.mjs';
4
4
  import { useRef, useEffect } from 'react';
5
5
  import { jsx } from 'react/jsx-runtime';
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var chunkDHNQHQ66_js = require('./chunk-DHNQHQ66.js');
4
- require('./chunk-HUD73YBT.js');
3
+ var chunkXCLYIGHM_js = require('./chunk-XCLYIGHM.js');
4
+ require('./chunk-N7OHVHBS.js');
5
5
  require('./chunk-QGM4M3NI.js');
6
6
  var react = require('react');
7
7
  var jsxRuntime = require('react/jsx-runtime');
@@ -26,7 +26,7 @@ function SurfaceChart3DScene({
26
26
  return;
27
27
  }
28
28
  let disposed = false;
29
- void chunkDHNQHQ66_js.mountSurfaceChart3D(container, {
29
+ void chunkXCLYIGHM_js.mountSurfaceChart3D(container, {
30
30
  cols,
31
31
  rows,
32
32
  heightMap,
@@ -1,5 +1,5 @@
1
- import { mountSurfaceChart3D } from './chunk-45A3IISI.mjs';
2
- import './chunk-LTBO2ZJC.mjs';
1
+ import { mountSurfaceChart3D } from './chunk-YVQPLQ3C.mjs';
2
+ import './chunk-JJ5MVLCK.mjs';
3
3
  import './chunk-6DZX6EAA.mjs';
4
4
  import { useRef, useEffect } from 'react';
5
5
  import { jsxs, jsx } from 'react/jsx-runtime';
@@ -1,7 +1,7 @@
1
- import { DEFAULT_STROKE_COLOR, getConnectorPathGeometry, buildLineShadowCss, buildLineGlowFilter, renderConnectorMarker, MIN_ELEMENT_SIZE, getShapeVisualStyle, getTextStyleForElement, DEFAULT_TEXT_COLOR, renderVectorShape, isConnectorOrLineElement, build3DExtrusionData, getImageRenderStyle, cn, getTextLayoutStyle, renderTableElement, renderMediaElement, shouldRenderFallbackLabel, SHAPE_PRESETS, ANIMATION_PRESET_OPTIONS, useReducedMotion, useViewerState, useViewerOptions, useIsMobile, useResizablePanels, useDerivedSlideState, useZoomViewport, useEditorHistory, usePresentationSetup, useTouchGestures, useViewerDialogs, useEditorOperations, useViewerIntegration, useLayoutSwitching, useYjsDocumentSync, useFollowMode, useBroadcastFollower, DEFAULT_FILL_COLOR, hasDagDuotoneEffect, renderDagDuotoneSvgFilter, getCropShapeClipPath, resolvePalette, resolveStyle, layoutToCategory, wrapChrome, isImageTiled, getImageTilingStyle, getDuotoneColors, getTextWarpStyle, renderTextSegments, buildReactChartViewModel, renderChartElement, buildTextBody3DSceneStyle, SLIDE_TRANSITION_OPTIONS, SLIDE_NAV_THUMBNAIL_WIDTH, scopeLayoutOptionsToActiveSlide, useToolbarVisibility, useKeyboardInsets, useModalDismissDrag, useCollaborativeState, styleShadow, styleStroke, colour, fitFontSize, smartArtNodeGroupProps, chevronPoints, SmartArtNodeText, contrastingTextColor, renderStepDownProcess, renderAlternatingFlow, renderDescendingProcess, renderPictureAccentList, renderVerticalBlockList, renderGroupedList, renderPyramidList, renderHorizontalPictureList, renderAccentProcess, renderVerticalChevronList, DEFAULT_TEXT_FONT_SIZE, DEFAULT_FONT_FAMILY, TOOLBAR_SECTIONS, useVirtualizedSlides, useSwipeNavigation, useSheetDismissDrag, detectTargetType, parseEmailUrl, parseSlideFromUrl, ACTION_VERB_MAP, SHORTCUT_REFERENCE_ITEMS as SHORTCUT_REFERENCE_ITEMS$1, buildTree, treeWidth, treeDepth, nodeOpacity, truncate, gearPath, resolveSmartArtDataPalette, HYPERLINK_COLOR, GRID_SIZE, startPreviewAnimation, stopPreviewAnimation } from './chunk-3VKZ7ZNY.mjs';
2
- import { normalizeHexColor, colorWithOpacity, normalizeStrokeDashType, getSvgStrokeDasharray, getCompoundLineOffsets, getCompoundLineWidths, svgLineCap, getElementTransform, isEditableTextElement, getAriaRole, getAriaLabel, getAriaRoleDescription, getImageEffectsOpacity, getImageEffectsFilter, getElementTransformWithoutRotation, ACTION_BUTTON_PRESETS, getElementLabel, RULER_THICKNESS, RULER_FONT_SIZE, EQUATION_TEMPLATES, convertLatexToOmml, convertOmmlToMathMl, sanitizeMathMl, DEFAULT_VIEWER_OPTIONS, buildUserFontFaceStyles, readStoredViewerPrefs, resolveThemeCatalogEntry, THEME_CATALOG, writeStoredViewerPrefs, openPptxFile, readBackstageRecentFile, viewerOptionsToPreferences, applyPreferenceToOptions, listAutosaveSnapshots, deleteAutosaveSnapshot, createBackstagePresentation, buildCssGradientFromShapeStyle, getComputedEffectStyle, getSoftEdgeSvgFilter, getGroupChildParentFill, revealedSmartArtNodeCount, buildSmartArtA11y, buildSummaryZoomView, getImageColorWashStyle, getPendingSelectionRestore, restoreSegmentSelection, getTextCompensationTransform, applyChartBuildReveal, formatAxisValue, hasPressureVariation, getInkReplayStyles, INK_REPLAY_KEYFRAMES, resolveInkColor, resolveInkWidth, resolveInkOpacity, pressuresToWidths, getContentPartReplayStyles, resolveOleType, getOleTypeColor, getOleTypeLabel, resolveGroupChildFill, shouldUseSvgWarp, buildPreviewElements, themeToCssVars, DEFAULT_INSERT_CHART_TYPE, hasCopyableFormat, printPropertiesFrameSlides, printPropertiesSlidesPerPage, VIEWER_OPTIONS_TABS, DEFAULT_QUICK_ACCESS_COMMAND_IDS, buildJoinCollaborationConfig, buildCreateCollaborationConfig, generateBroadcastRoomId, DEFAULT_BROADCAST_SERVER_URL, buildBroadcastViewerUrl, resolveTransportForServerUrl, resolveDrawingShapeNodeId, getImageSvgFilters, buildDuotoneCacheKey, getDuotoneCachedResult, applyDuotone, setDuotoneCachedResult, buildCacheKey, DEFAULT_COLOR_CHANGE_TOLERANCE, getCachedResult, applyColorChange, setCachedResult, findChartPartTarget, dragValueForPart, withChartPointValue, dragAnchorViewY, withChartTitle, computeSmartArtLayout, buildSmartArt3DModel, extractPathPoints, generatePressureCircles, isBrowserOpenableMime, formatBytes, getOleBadgeLabel, openUrlInNewTab, getWarpPath, getSlideBackgroundStyle, filterCommands, resolveTitleBarStatusKey, TITLE_BAR_CLASSES, TITLE_BAR_DEFAULT_FILE_KEY, shouldConfirmExternalHyperlink, safeOpenUrl, isPpactionUrl, parsePpactionUrl, formatVersionTimestamp, formatRelativeTime, scanAvailableFontFamilies, PRESETS, CATEGORIES, convertOmmlToLatex, clampPercent, HANDOUT_OPTIONS, TOOLBAR_TABS, SHORTCUT_REFERENCE_ITEMS, resolveViewerAddinRows, availableQuickAccessCommands, addQuickAccessCommand, removeQuickAccessCommand, moveQuickAccessCommand, activateModalFocus, buildCollaborationShareUrl, presentationInkPath, mobileElapsedSince, isFirstSlide, isLastSlide, formatMobileElapsed, mobileSlideCounter, formatElapsed, computeInlineEditorRect, findSmartArtNodeText, rebuildDrawingShapesIfCleared, shouldCommitSmartArtNodeText, groupIntoParagraphs, substituteFieldText, TAB_ROW_ACTION_CLASSES, listBackstageRecentFiles, BACKSTAGE_NAV, INSERT_CHART_TYPES, SLIDE_VIRTUALIZATION_THRESHOLD, getShapeAdjustmentHandleDescriptor, getSlideTransitionAnimations, SLIDE_TRANSITION_KEYFRAMES, formatSlideCounter, isUrlSafe, computeHandoutLayout, getPrintableArea, generateNoteLineCount, computeAllNotesPages, getNotesPrintableArea, QUICK_ACCESS_COMMAND_CATALOG, notesSegmentsToSpans, erasePresentationInkAt, movePresenterPointer, appendPresentationInkPoint, NOTES_FONT_SIZE_DEFAULT, formatTime, NOTES_FONT_SIZE_MIN, clampNotesFontSize, NOTES_FONT_SIZE_STEP, NOTES_FONT_SIZE_MAX, BACKSTAGE_TEMPLATES, formatBackstageDate, formatBackstageSize, DEFAULT_VIEWER_PROFILE, resolveProfileInitial, AVATAR_COLOR_SWATCHES, getConnectionSites, generateTicks, getCommentMarkerPosition, buildThemeColorGrid, THEME_COLOR_LABELS, buildSmartArtPresetData, getLocalStorageUsageSummary, saveViewerProfile, clearAllLocalViewerData, TABLE_STYLE_PRESETS, withFrameSlides, withSlidesPerPage, formatCommentTimestamp, DIRECTIONAL_PRESETS, computeMergeCellRight, computeMergeCellDown, computeSplitCell, DUOTONE_PRESETS, ARTISTIC_EFFECTS, LBL, SEL, FILL_MODE_OPTIONS, SECTION_HEADING, NUM, GRADIENT_TYPE_OPTIONS, PATTERN_OPTIONS } from './chunk-45A3IISI.mjs';
1
+ import { DEFAULT_STROKE_COLOR, getConnectorPathGeometry, buildLineShadowCss, buildLineGlowFilter, renderConnectorMarker, getShapeVisualStyle, getTextStyleForElement, DEFAULT_TEXT_COLOR, renderVectorShape, isConnectorOrLineElement, build3DExtrusionData, getImageRenderStyle, cn, getTextLayoutStyle, renderTableElement, renderMediaElement, shouldRenderFallbackLabel, SHAPE_PRESETS, ANIMATION_PRESET_OPTIONS, useReducedMotion, useViewerState, useViewerOptions, useIsMobile, useResizablePanels, useDerivedSlideState, useZoomViewport, useEditorHistory, usePresentationSetup, useTouchGestures, useViewerDialogs, useEditorOperations, useViewerIntegration, useLayoutSwitching, useYjsDocumentSync, useFollowMode, useBroadcastFollower, DEFAULT_FILL_COLOR, hasDagDuotoneEffect, renderDagDuotoneSvgFilter, getCropShapeClipPath, MIN_ELEMENT_SIZE, resolvePalette, resolveStyle, layoutToCategory, wrapChrome, isImageTiled, getImageTilingStyle, getDuotoneColors, getTextWarpStyle, renderTextSegments, buildReactChartViewModel, renderChartElement, buildTextBody3DSceneStyle, SLIDE_TRANSITION_OPTIONS, SLIDE_NAV_THUMBNAIL_WIDTH, scopeLayoutOptionsToActiveSlide, useToolbarVisibility, useKeyboardInsets, useModalDismissDrag, useCollaborativeState, styleShadow, styleStroke, colour, fitFontSize, smartArtNodeGroupProps, chevronPoints, SmartArtNodeText, contrastingTextColor, renderStepDownProcess, renderAlternatingFlow, renderDescendingProcess, renderPictureAccentList, renderVerticalBlockList, renderGroupedList, renderPyramidList, renderHorizontalPictureList, renderAccentProcess, renderVerticalChevronList, DEFAULT_TEXT_FONT_SIZE, DEFAULT_FONT_FAMILY, TOOLBAR_SECTIONS, useVirtualizedSlides, useSwipeNavigation, useSheetDismissDrag, detectTargetType, parseEmailUrl, parseSlideFromUrl, ACTION_VERB_MAP, SHORTCUT_REFERENCE_ITEMS as SHORTCUT_REFERENCE_ITEMS$1, buildTree, treeWidth, treeDepth, nodeOpacity, truncate, gearPath, resolveSmartArtDataPalette, HYPERLINK_COLOR, GRID_SIZE, startPreviewAnimation, stopPreviewAnimation } from './chunk-TYXOHBKR.mjs';
2
+ import { normalizeHexColor, colorWithOpacity, normalizeStrokeDashType, getSvgStrokeDasharray, getCompoundLineOffsets, getCompoundLineWidths, svgLineCap, getElementTransform, isEditableTextElement, getAriaRole, getAriaLabel, getAriaRoleDescription, getImageEffectsOpacity, getImageEffectsFilter, getElementTransformWithoutRotation, ACTION_BUTTON_PRESETS, getElementLabel, RULER_THICKNESS, RULER_FONT_SIZE, EQUATION_TEMPLATES, convertLatexToOmml, convertOmmlToMathMl, sanitizeMathMl, DEFAULT_VIEWER_OPTIONS, buildUserFontFaceStyles, readStoredViewerPrefs, resolveThemeCatalogEntry, THEME_CATALOG, writeStoredViewerPrefs, openPptxFile, readBackstageRecentFile, viewerOptionsToPreferences, applyPreferenceToOptions, listAutosaveSnapshots, deleteAutosaveSnapshot, createBackstagePresentation, buildCssGradientFromShapeStyle, getComputedEffectStyle, getSoftEdgeSvgFilter, getGroupChildParentFill, revealedSmartArtNodeCount, buildSmartArtA11y, buildSummaryZoomView, getImageColorWashStyle, getPendingSelectionRestore, restoreSegmentSelection, getTextCompensationTransform, applyChartBuildReveal, formatAxisValue, hasPressureVariation, getInkReplayStyles, INK_REPLAY_KEYFRAMES, resolveInkColor, resolveInkWidth, resolveInkOpacity, pressuresToWidths, getContentPartReplayStyles, resolveOleType, getOleTypeColor, getOleTypeLabel, resolveGroupChildFill, shouldUseSvgWarp, buildPreviewElements, themeToCssVars, DEFAULT_INSERT_CHART_TYPE, hasCopyableFormat, printPropertiesFrameSlides, printPropertiesSlidesPerPage, VIEWER_OPTIONS_TABS, DEFAULT_QUICK_ACCESS_COMMAND_IDS, buildJoinCollaborationConfig, buildCreateCollaborationConfig, generateBroadcastRoomId, DEFAULT_BROADCAST_SERVER_URL, buildBroadcastViewerUrl, resolveTransportForServerUrl, resolveDrawingShapeNodeId, getImageSvgFilters, buildDuotoneCacheKey, getDuotoneCachedResult, applyDuotone, setDuotoneCachedResult, buildCacheKey, DEFAULT_COLOR_CHANGE_TOLERANCE, getCachedResult, applyColorChange, setCachedResult, findChartPartTarget, dragValueForPart, withChartPointValue, dragAnchorViewY, withChartTitle, computeSmartArtLayout, buildSmartArt3DModel, extractPathPoints, generatePressureCircles, isBrowserOpenableMime, formatBytes, getOleBadgeLabel, openUrlInNewTab, getWarpPath, getSlideBackgroundStyle, filterCommands, resolveTitleBarStatusKey, TITLE_BAR_CLASSES, TITLE_BAR_DEFAULT_FILE_KEY, shouldConfirmExternalHyperlink, safeOpenUrl, isPpactionUrl, parsePpactionUrl, formatVersionTimestamp, formatRelativeTime, scanAvailableFontFamilies, PRESETS, CATEGORIES, convertOmmlToLatex, clampPercent, HANDOUT_OPTIONS, TOOLBAR_TABS, SHORTCUT_REFERENCE_ITEMS, resolveViewerAddinRows, availableQuickAccessCommands, addQuickAccessCommand, removeQuickAccessCommand, moveQuickAccessCommand, activateModalFocus, buildCollaborationShareUrl, presentationInkPath, mobileElapsedSince, isFirstSlide, isLastSlide, formatMobileElapsed, mobileSlideCounter, formatElapsed, computeInlineEditorRect, findSmartArtNodeText, rebuildDrawingShapesIfCleared, shouldCommitSmartArtNodeText, groupIntoParagraphs, substituteFieldText, TAB_ROW_ACTION_CLASSES, listBackstageRecentFiles, BACKSTAGE_NAV, INSERT_CHART_TYPES, SLIDE_VIRTUALIZATION_THRESHOLD, getShapeAdjustmentHandleDescriptor, getSlideTransitionAnimations, SLIDE_TRANSITION_KEYFRAMES, formatSlideCounter, isUrlSafe, computeHandoutLayout, getPrintableArea, generateNoteLineCount, computeAllNotesPages, getNotesPrintableArea, QUICK_ACCESS_COMMAND_CATALOG, notesSegmentsToSpans, erasePresentationInkAt, movePresenterPointer, appendPresentationInkPoint, NOTES_FONT_SIZE_DEFAULT, formatTime, NOTES_FONT_SIZE_MIN, clampNotesFontSize, NOTES_FONT_SIZE_STEP, NOTES_FONT_SIZE_MAX, BACKSTAGE_TEMPLATES, formatBackstageDate, formatBackstageSize, DEFAULT_VIEWER_PROFILE, resolveProfileInitial, AVATAR_COLOR_SWATCHES, getConnectionSites, generateTicks, getCommentMarkerPosition, buildThemeColorGrid, THEME_COLOR_LABELS, buildSmartArtPresetData, getLocalStorageUsageSummary, saveViewerProfile, clearAllLocalViewerData, TABLE_STYLE_PRESETS, withFrameSlides, withSlidesPerPage, formatCommentTimestamp, DIRECTIONAL_PRESETS, computeMergeCellRight, computeMergeCellDown, computeSplitCell, DUOTONE_PRESETS, ARTISTIC_EFFECTS, LBL, SEL, FILL_MODE_OPTIONS, SECTION_HEADING, NUM, GRADIENT_TYPE_OPTIONS, PATTERN_OPTIONS } from './chunk-YVQPLQ3C.mjs';
3
3
  import { LOCALE_CATALOG, translationsEn } from './chunk-2X72MOPZ.mjs';
4
- import { hasShapeProperties, hasTextProperties, isInkElement, SWITCHABLE_LAYOUT_TYPES, isImageLikeElement, getLinkedTextBoxSegments, getSubstituteFontFamily, themeColorSchemesEqual, setSmartArtNodeStyle, updateSmartArtNodeText, THEME_COLOR_SCHEME_KEYS, chartDataChangeType, chartDataUpdatePoint, chartDataAddCategory, chartDataRemoveCategory, chartDataAddSeries, chartDataRemoveSeries, setChartAxisLogScale, setChartAxisTitleStyle, setChartAxisGridlineStyle, setChartSeriesMarker, setChartSeriesChartType, setChartDataPointFill, setChartDataPointExplosion, setChartDataPointMarker, setChartDataPointLabel, getOleObjectTypeLabel, pptxActionToElementAction, applyThemeOverrideToSlide, COLOR_MAP_ALIAS_KEYS, DEFAULT_COLOR_MAP, addSmartArtNodeAsChild, removeSmartArtNode, elementActionToPptxAction, switchSmartArtLayout, addSmartArtNode, demoteSmartArtNode, promoteSmartArtNode, reorderSmartArtNode } from './chunk-LTBO2ZJC.mjs';
4
+ import { hasShapeProperties, hasTextProperties, isInkElement, SWITCHABLE_LAYOUT_TYPES, isImageLikeElement, getLinkedTextBoxSegments, getSubstituteFontFamily, themeColorSchemesEqual, setSmartArtNodeStyle, updateSmartArtNodeText, THEME_COLOR_SCHEME_KEYS, chartDataChangeType, chartDataUpdatePoint, chartDataAddCategory, chartDataRemoveCategory, chartDataAddSeries, chartDataRemoveSeries, setChartAxisLogScale, setChartAxisTitleStyle, setChartAxisGridlineStyle, setChartSeriesMarker, setChartSeriesChartType, setChartDataPointFill, setChartDataPointExplosion, setChartDataPointMarker, setChartDataPointLabel, getOleObjectTypeLabel, pptxActionToElementAction, applyThemeOverrideToSlide, COLOR_MAP_ALIAS_KEYS, DEFAULT_COLOR_MAP, addSmartArtNodeAsChild, removeSmartArtNode, elementActionToPptxAction, switchSmartArtLayout, addSmartArtNode, demoteSmartArtNode, promoteSmartArtNode, reorderSmartArtNode } from './chunk-JJ5MVLCK.mjs';
5
5
  import React18, { createContext, useMemo, useState, useCallback, forwardRef, useEffect, useRef, Suspense, useLayoutEffect, useContext, useDeferredValue } from 'react';
6
6
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
7
7
  import { useTranslation } from 'react-i18next';
@@ -1335,7 +1335,7 @@ function AccountPage() {
1335
1335
  return void 0;
1336
1336
  });
1337
1337
  };
1338
- const version = "2.0.27" ;
1338
+ const version = "2.0.30" ;
1339
1339
  return /* @__PURE__ */ jsxs("div", { className: "mt-8 max-w-[700px] space-y-6", children: [
1340
1340
  /* @__PURE__ */ jsxs("section", { className: cardClass, children: [
1341
1341
  /* @__PURE__ */ jsxs("h2", { className: "flex items-center gap-2 text-sm font-semibold", children: [
@@ -2617,8 +2617,14 @@ var ConnectorElementRenderer = React18.memo(
2617
2617
  style: {
2618
2618
  left: el.x,
2619
2619
  top: el.y,
2620
- width: Math.max(el.width, MIN_ELEMENT_SIZE),
2621
- height: Math.max(el.height, MIN_ELEMENT_SIZE),
2620
+ // Do not apply the editor's minimum resize-box size to the visual
2621
+ // connector canvas. A horizontal OOXML connector commonly has a
2622
+ // zero (or sub-pixel) height; expanding that canvas to 12px changes
2623
+ // the SVG aspect ratio and makes a straight PowerPoint line appear
2624
+ // diagonal and displaced. The transparent SVG stroke below already
2625
+ // provides a comfortably large interaction target.
2626
+ width: viewWidth,
2627
+ height: viewHeight,
2622
2628
  transform: getElementTransform(el),
2623
2629
  transformOrigin: "center",
2624
2630
  background: "transparent",
@@ -2883,7 +2889,8 @@ function getContainerStyle({
2883
2889
  const blurGrowVisible = Boolean(
2884
2890
  ss?.blurGrow && typeof ss.blurRadius === "number" && ss.blurRadius > 0
2885
2891
  );
2886
- const overflowValue = has3DExtrusion || blurGrowVisible ? "visible" : isImg ? "hidden" : void 0;
2892
+ const overflowValue = el.type === "table" || has3DExtrusion || blurGrowVisible ? "visible" : isImg ? "hidden" : void 0;
2893
+ const allowsUnclippedTextOverflow = hasTextProperties(el) && el.textStyle?.autoFitMode === "none" && el.textStyle?.vertOverflow !== "clip" && (!("shapeType" in el) || el.shapeType === void 0 || el.shapeType === "rect");
2887
2894
  return {
2888
2895
  left: isFullscreenMedia ? 0 : el.x,
2889
2896
  top: isFullscreenMedia ? 0 : el.y,
@@ -2901,6 +2908,10 @@ function getContainerStyle({
2901
2908
  transition: isFullscreenMedia ? "left 0.3s ease, top 0.3s ease, width 0.3s ease, height 0.3s ease" : void 0,
2902
2909
  borderColor: isFullscreenMedia ? "transparent" : void 0,
2903
2910
  ...shapeVisualStyle,
2911
+ // A rectangle clip-path is useful for painted shapes, but it must not
2912
+ // clip a:noAutofit text. PowerPoint allows that text to continue beyond
2913
+ // the placeholder boundary when vertOverflow is not `clip`.
2914
+ ...allowsUnclippedTextOverflow ? { overflow: "visible", clipPath: "none" } : {},
2904
2915
  // Editable-template affordance: a distinct amber dashed ring + slight
2905
2916
  // transparency so inherited master/layout shapes read as "template" while
2906
2917
  // edit-template mode is on. Applied after the shape style so it wins; never
@@ -3842,7 +3853,7 @@ function FailedToLoad() {
3842
3853
  var LazyModel3DScene = React18.lazy(
3843
3854
  async () => {
3844
3855
  try {
3845
- return await import('./Model3DScene-QPOSBRM4.mjs');
3856
+ return await import('./Model3DScene-OOLYRN3I.mjs');
3846
3857
  } catch {
3847
3858
  return { default: FailedToLoad };
3848
3859
  }
@@ -6184,6 +6195,10 @@ function ActionButtonGlyphOverlay({
6184
6195
  }
6185
6196
  );
6186
6197
  }
6198
+ function shouldRenderTextBody(isTextElement, hasActualText, promptText, isPresentationPassive) {
6199
+ if (!isTextElement) return Boolean(promptText) && !isPresentationPassive;
6200
+ return hasActualText || !promptText || !isPresentationPassive;
6201
+ }
6187
6202
  function renderTextElementBody(options) {
6188
6203
  const {
6189
6204
  el,
@@ -6214,12 +6229,22 @@ function renderTextElementBody(options) {
6214
6229
  ...scene3dStyle?.transformStyle ? { transformStyle: scene3dStyle.transformStyle } : {},
6215
6230
  ...isLinkedTextBox ? { overflow: "hidden" } : {}
6216
6231
  };
6232
+ const allowsNaturalVerticalOverflow = hasTextProperties(el) && el.textStyle?.autoFitMode === "none" && el.textStyle?.vertOverflow !== "clip" && (el.textStyle?.vAlign === void 0 || el.textStyle.vAlign === "top") && !isLinkedTextBox;
6233
+ const textBodySizeStyle = allowsNaturalVerticalOverflow ? { height: "auto", minHeight: "100%" } : void 0;
6217
6234
  const shapeType = "shapeType" in el ? el.shapeType : void 0;
6218
- const shouldRenderText = isTxtEl || hasTextProperties(el) && Boolean(el.promptText);
6235
+ const textProperties = hasTextProperties(el) ? el : void 0;
6236
+ const hasActualText = Boolean(textProperties?.text) || Boolean(textProperties?.textSegments?.length);
6237
+ const shouldRenderText = shouldRenderTextBody(
6238
+ isTxtEl,
6239
+ hasActualText,
6240
+ textProperties?.promptText,
6241
+ isPresentationPassive
6242
+ );
6243
+ if (!shouldRenderText) return null;
6219
6244
  return /* @__PURE__ */ jsxs(Fragment, { children: [
6220
6245
  vecShape,
6221
6246
  isActionButtonShape(shapeType) && /* @__PURE__ */ jsx(ActionButtonGlyphOverlay, { element: el }),
6222
- shouldRenderText && (useSvgWarp ? /* @__PURE__ */ jsx(
6247
+ useSvgWarp ? /* @__PURE__ */ jsx(
6223
6248
  "div",
6224
6249
  {
6225
6250
  className: cn(
@@ -6250,7 +6275,8 @@ function renderTextElementBody(options) {
6250
6275
  ...getTextLayoutStyle(el),
6251
6276
  ...txtS,
6252
6277
  ...getTextWarpStyle(txtSE),
6253
- ...transformStyle
6278
+ ...transformStyle,
6279
+ ...textBodySizeStyle
6254
6280
  },
6255
6281
  children: renderTextSegments(
6256
6282
  el,
@@ -6264,7 +6290,7 @@ function renderTextElementBody(options) {
6264
6290
  !isPresentationPassive
6265
6291
  )
6266
6292
  }
6267
- ))
6293
+ )
6268
6294
  ] });
6269
6295
  }
6270
6296
  function ZoomElementRenderer({
@@ -6665,7 +6691,9 @@ function StaticElementRendererImpl({
6665
6691
  element.type === "shape" && hasFill ? "#ffffff" : DEFAULT_TEXT_COLOR
6666
6692
  );
6667
6693
  const isImage = element.type === "picture" || element.type === "image";
6668
- const allowsTextOverflow = hasTextProperties(element) && element.textStyle?.vertOverflow !== "clip";
6694
+ const isTable = element.type === "table";
6695
+ const allowsTextOverflow = isTable || hasTextProperties(element) && element.textStyle?.vertOverflow !== "clip";
6696
+ const allowsUnclippedTextOverflow = hasTextProperties(element) && element.textStyle?.autoFitMode === "none" && element.textStyle?.vertOverflow !== "clip" && (!("shapeType" in element) || element.shapeType === void 0 || element.shapeType === "rect");
6669
6697
  return /* @__PURE__ */ jsxs(
6670
6698
  "div",
6671
6699
  {
@@ -6679,7 +6707,8 @@ function StaticElementRendererImpl({
6679
6707
  transform: positioned ? getElementTransform(element) : void 0,
6680
6708
  transformOrigin: "center",
6681
6709
  zIndex,
6682
- ...visualStyle
6710
+ ...visualStyle,
6711
+ ...allowsUnclippedTextOverflow || isTable ? { overflow: "visible", clipPath: "none" } : {}
6683
6712
  },
6684
6713
  children: [
6685
6714
  /* @__PURE__ */ jsx(ShapeEffectOverlay, { element }),
@@ -6719,7 +6748,10 @@ function StaticElementRendererImpl({
6719
6748
  onEditChange: noop,
6720
6749
  onCommit: noop,
6721
6750
  onCancel: noop,
6722
- isPresentationPassive: false,
6751
+ // Inherited master/layout and preview elements are read-only. Keeping
6752
+ // this passive prevents edit-time placeholder prompts and missing-media
6753
+ // diagnostics from leaking into the rendered slide.
6754
+ isPresentationPassive: STATIC_ELEMENTS_ARE_PRESENTATION_PASSIVE,
6723
6755
  slideElements: activeSlide?.elements,
6724
6756
  allSlides,
6725
6757
  sourceSlideIndex,
@@ -6734,6 +6766,7 @@ function StaticElementRendererImpl({
6734
6766
  }
6735
6767
  var StaticElementRenderer = React18.memo(StaticElementRendererImpl);
6736
6768
  StaticElementRenderer.displayName = "StaticElementRenderer";
6769
+ var STATIC_ELEMENTS_ARE_PRESENTATION_PASSIVE = true;
6737
6770
  function LayoutPreview({ layout }) {
6738
6771
  const width = Math.max(layout.previewWidth ?? 960, 1);
6739
6772
  const height = Math.max(layout.previewHeight ?? 540, 1);
@@ -34102,6 +34135,7 @@ var PowerPointViewer = forwardRef(
34102
34135
  const {
34103
34136
  content: incomingContent,
34104
34137
  singleSlideOnly = false,
34138
+ activeSlideIndex: controlledActiveSlideIndex,
34105
34139
  fonts = [],
34106
34140
  onUploadCustomFontPackage,
34107
34141
  filePath,
@@ -34249,6 +34283,16 @@ var PowerPointViewer = forwardRef(
34249
34283
  activeSlide,
34250
34284
  selectedElement
34251
34285
  } = state;
34286
+ useEffect(() => {
34287
+ if (controlledActiveSlideIndex == null || slides.length === 0) {
34288
+ return;
34289
+ }
34290
+ const requestedIndex = Number.isFinite(controlledActiveSlideIndex) ? Math.trunc(controlledActiveSlideIndex) : 0;
34291
+ const nextIndex = Math.min(Math.max(0, requestedIndex), slides.length - 1);
34292
+ if (activeSlideIndex !== nextIndex) {
34293
+ state.setActiveSlideIndex(nextIndex);
34294
+ }
34295
+ }, [controlledActiveSlideIndex, slides.length, activeSlideIndex, state.setActiveSlideIndex]);
34252
34296
  const settings = useMemo(
34253
34297
  () => ({
34254
34298
  autoSave: autosaveEnabled,