pptx-react-viewer 2.22.0 → 3.0.1

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 (107) hide show
  1. package/CHANGELOG.md +60 -0
  2. package/dist/{AiChatPanel-KDHDYBMP.mjs → AiChatPanel-DMBQPAGB.mjs} +3 -3
  3. package/dist/AiChatPanel-DMBQPAGB.mjs.br +0 -0
  4. package/dist/AiChatPanel-DMBQPAGB.mjs.gz +0 -0
  5. package/dist/{AiChatPanel-WVRT4OLF.js → AiChatPanel-NLIUZ5RI.js} +23 -23
  6. package/dist/AiChatPanel-NLIUZ5RI.js.br +0 -0
  7. package/dist/AiChatPanel-NLIUZ5RI.js.gz +0 -0
  8. package/dist/{Model3DScene-COI2CG35.js → Model3DScene-JNZN42TU.js} +2 -2
  9. package/dist/Model3DScene-JNZN42TU.js.br +0 -0
  10. package/dist/Model3DScene-JNZN42TU.js.gz +0 -0
  11. package/dist/{Model3DScene-I5SQKIZC.mjs → Model3DScene-ZO6U7YVU.mjs} +1 -1
  12. package/dist/Model3DScene-ZO6U7YVU.mjs.br +0 -0
  13. package/dist/Model3DScene-ZO6U7YVU.mjs.gz +0 -0
  14. package/dist/{SurfaceChart3DScene-6LTF5QPW.mjs → SurfaceChart3DScene-P6CVRWDQ.mjs} +1 -1
  15. package/dist/SurfaceChart3DScene-P6CVRWDQ.mjs.br +0 -0
  16. package/dist/SurfaceChart3DScene-P6CVRWDQ.mjs.gz +0 -0
  17. package/dist/{SurfaceChart3DScene-2N4TPYPU.js → SurfaceChart3DScene-PGD4ZCLI.js} +2 -2
  18. package/dist/SurfaceChart3DScene-PGD4ZCLI.js.br +0 -0
  19. package/dist/SurfaceChart3DScene-PGD4ZCLI.js.gz +0 -0
  20. package/dist/{chunk-YNHWNFE3.js → chunk-3MW6F3K7.js} +451 -399
  21. package/dist/chunk-3MW6F3K7.js.br +0 -0
  22. package/dist/chunk-3MW6F3K7.js.gz +0 -0
  23. package/dist/{chunk-KK6DOUES.js → chunk-54SDLPJY.js} +1275 -1248
  24. package/dist/chunk-54SDLPJY.js.br +0 -0
  25. package/dist/chunk-54SDLPJY.js.gz +0 -0
  26. package/dist/{chunk-TWU72BY4.mjs → chunk-BGAJLL4N.mjs} +70 -18
  27. package/dist/chunk-BGAJLL4N.mjs.br +0 -0
  28. package/dist/chunk-BGAJLL4N.mjs.gz +0 -0
  29. package/dist/{chunk-RJFKXPMU.mjs → chunk-OB4PKKIN.mjs} +1 -1
  30. package/dist/chunk-OB4PKKIN.mjs.br +0 -0
  31. package/dist/chunk-OB4PKKIN.mjs.gz +0 -0
  32. package/dist/{chunk-57TM4MV4.mjs → chunk-OXPD2UYI.mjs} +13085 -6709
  33. package/dist/chunk-OXPD2UYI.mjs.br +0 -0
  34. package/dist/chunk-OXPD2UYI.mjs.gz +0 -0
  35. package/dist/{chunk-7BZYDUNM.mjs → chunk-S6PFSR7I.mjs} +108 -255
  36. package/dist/chunk-S6PFSR7I.mjs.br +0 -0
  37. package/dist/chunk-S6PFSR7I.mjs.gz +0 -0
  38. package/dist/{chunk-34UAGEJM.js → chunk-SDOQKSKI.js} +13103 -6715
  39. package/dist/chunk-SDOQKSKI.js.br +0 -0
  40. package/dist/chunk-SDOQKSKI.js.gz +0 -0
  41. package/dist/{chunk-XIBTR7KJ.mjs → chunk-VGHEHM66.mjs} +254 -227
  42. package/dist/chunk-VGHEHM66.mjs.br +0 -0
  43. package/dist/chunk-VGHEHM66.mjs.gz +0 -0
  44. package/dist/{chunk-POP5IWYB.js → chunk-WFMSDYVQ.js} +3 -3
  45. package/dist/chunk-WFMSDYVQ.js.br +0 -0
  46. package/dist/chunk-WFMSDYVQ.js.gz +0 -0
  47. package/dist/{chunk-K7TFZ5MW.js → chunk-XMLPTDPM.js} +248 -396
  48. package/dist/chunk-XMLPTDPM.js.br +0 -0
  49. package/dist/chunk-XMLPTDPM.js.gz +0 -0
  50. package/dist/index.d.ts +475 -19
  51. package/dist/index.js +45 -45
  52. package/dist/index.js.br +0 -0
  53. package/dist/index.js.gz +0 -0
  54. package/dist/index.mjs +5 -5
  55. package/dist/index.mjs.br +0 -0
  56. package/dist/index.mjs.gz +0 -0
  57. package/dist/internals.d.ts +492 -21
  58. package/dist/internals.d.ts.map +1 -1
  59. package/dist/internals.js +78 -78
  60. package/dist/internals.js.br +0 -0
  61. package/dist/internals.js.gz +0 -0
  62. package/dist/internals.mjs +3 -3
  63. package/dist/internals.mjs.br +0 -0
  64. package/dist/internals.mjs.gz +0 -0
  65. package/dist/pptx-viewer.css +1 -1
  66. package/dist/pptx-viewer.css.br +0 -0
  67. package/dist/pptx-viewer.css.gz +0 -0
  68. package/dist/viewer/index.d.ts +472 -17
  69. package/dist/viewer/index.js +26 -26
  70. package/dist/viewer/index.js.br +0 -0
  71. package/dist/viewer/index.js.gz +0 -0
  72. package/dist/viewer/index.mjs +5 -5
  73. package/dist/viewer/index.mjs.br +0 -0
  74. package/dist/viewer/index.mjs.gz +0 -0
  75. package/package.json +2 -2
  76. package/dist/AiChatPanel-KDHDYBMP.mjs.br +0 -0
  77. package/dist/AiChatPanel-KDHDYBMP.mjs.gz +0 -0
  78. package/dist/AiChatPanel-WVRT4OLF.js.br +0 -0
  79. package/dist/AiChatPanel-WVRT4OLF.js.gz +0 -0
  80. package/dist/Model3DScene-COI2CG35.js.br +0 -0
  81. package/dist/Model3DScene-COI2CG35.js.gz +0 -0
  82. package/dist/Model3DScene-I5SQKIZC.mjs.br +0 -0
  83. package/dist/Model3DScene-I5SQKIZC.mjs.gz +0 -0
  84. package/dist/SurfaceChart3DScene-2N4TPYPU.js.br +0 -0
  85. package/dist/SurfaceChart3DScene-2N4TPYPU.js.gz +0 -0
  86. package/dist/SurfaceChart3DScene-6LTF5QPW.mjs.br +0 -0
  87. package/dist/SurfaceChart3DScene-6LTF5QPW.mjs.gz +0 -0
  88. package/dist/chunk-34UAGEJM.js.br +0 -0
  89. package/dist/chunk-34UAGEJM.js.gz +0 -0
  90. package/dist/chunk-57TM4MV4.mjs.br +0 -0
  91. package/dist/chunk-57TM4MV4.mjs.gz +0 -0
  92. package/dist/chunk-7BZYDUNM.mjs.br +0 -0
  93. package/dist/chunk-7BZYDUNM.mjs.gz +0 -0
  94. package/dist/chunk-K7TFZ5MW.js.br +0 -0
  95. package/dist/chunk-K7TFZ5MW.js.gz +0 -0
  96. package/dist/chunk-KK6DOUES.js.br +0 -0
  97. package/dist/chunk-KK6DOUES.js.gz +0 -0
  98. package/dist/chunk-POP5IWYB.js.br +0 -0
  99. package/dist/chunk-POP5IWYB.js.gz +0 -0
  100. package/dist/chunk-RJFKXPMU.mjs.br +0 -0
  101. package/dist/chunk-RJFKXPMU.mjs.gz +0 -0
  102. package/dist/chunk-TWU72BY4.mjs.br +0 -0
  103. package/dist/chunk-TWU72BY4.mjs.gz +0 -0
  104. package/dist/chunk-XIBTR7KJ.mjs.br +0 -0
  105. package/dist/chunk-XIBTR7KJ.mjs.gz +0 -0
  106. package/dist/chunk-YNHWNFE3.js.br +0 -0
  107. package/dist/chunk-YNHWNFE3.js.gz +0 -0
@@ -1,8 +1,8 @@
1
- import { computeFocusTargets, aiChangeAnimationCss, changeGhostStyle, createChatHistoryStore, toRenderableParts } from './chunk-RJFKXPMU.mjs';
2
- import { useReducedMotion, useViewerState, useViewerOptions, useIsMobile, useResizablePanels, useDerivedSlideState, useZoomViewport, useEditorHistory, usePresentationSetup, useTouchGestures, useViewerDialogs, useEditorOperations, useViewerIntegration, useLayoutSwitching, useYjsDocumentSync, useCollaborationLivePatch, useFollowMode, useBroadcastFollower, scopeLayoutOptionsToActiveSlide, useToolbarVisibility, useKeyboardInsets, useModalDismissDrag, useCollaborativeState, useVirtualizedSlides, useSwipeNavigation, useSheetDismissDrag, detectTargetType, parseEmailUrl, parseSlideFromUrl, ACTION_VERB_MAP } from './chunk-TWU72BY4.mjs';
3
- import { MIN_ELEMENT_SIZE, 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, DEFAULT_FILL_COLOR, hasDagDuotoneEffect, renderDagDuotoneSvgFilter, getCropShapeClipPath, getImageTilingStyle, getDuotoneColors, getTextWarpStyle, renderTextSegments, buildReactChartViewModel, renderChartElement, buildTextBody3DSceneStyle, SLIDE_NAV_THUMBNAIL_WIDTH, DEFAULT_TEXT_FONT_SIZE, DEFAULT_FONT_FAMILY, TOOLBAR_SECTIONS, DEFAULT_SECTION_GROUP_ID, SHORTCUT_REFERENCE_ITEMS as SHORTCUT_REFERENCE_ITEMS$1, HYPERLINK_COLOR, GRID_SIZE, CONNECTOR_ARROW_OPTIONS, ARROW_SIZE_OPTIONS, startMotionPathPreview, startPreviewAnimation, stopPreviewAnimation, THEME_COLOR_SWATCHES, STROKE_DASH_OPTIONS } from './chunk-7BZYDUNM.mjs';
1
+ import { computeFocusTargets, aiChangeAnimationCss, changeGhostStyle, createChatHistoryStore, toRenderableParts } from './chunk-OB4PKKIN.mjs';
2
+ import { useReducedMotion, useViewerState, useViewerOptions, useIsMobile, useResizablePanels, useDerivedSlideState, useZoomViewport, useEditorHistory, usePresentationSetup, useTouchGestures, useViewerDialogs, useEditorOperations, useViewerIntegration, useLayoutSwitching, useYjsDocumentSync, useCollaborationLivePatch, useFollowMode, useBroadcastFollower, scopeLayoutOptionsToActiveSlide, useToolbarVisibility, useKeyboardInsets, useModalDismissDrag, useCollaborativeState, useVirtualizedSlides, useSwipeNavigation, useSheetDismissDrag, detectTargetType, parseEmailUrl, parseSlideFromUrl, ACTION_VERB_MAP } from './chunk-BGAJLL4N.mjs';
3
+ import { MIN_ELEMENT_SIZE, 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, DEFAULT_FILL_COLOR, hasDagDuotoneEffect, renderDagDuotoneSvgFilter, getCropShapeClipPath, getImageTilingStyle, getDuotoneColors, getTextWarpStyle, renderTextSegments, buildReactChartViewModel, renderChartElement, buildTextBody3DSceneStyle, SLIDE_NAV_THUMBNAIL_WIDTH, DEFAULT_TEXT_FONT_SIZE, DEFAULT_FONT_FAMILY, TOOLBAR_SECTIONS, DEFAULT_SECTION_GROUP_ID, SHORTCUT_REFERENCE_ITEMS as SHORTCUT_REFERENCE_ITEMS$1, HYPERLINK_COLOR, GRID_SIZE, CONNECTOR_ARROW_OPTIONS, ARROW_SIZE_OPTIONS, startMotionPathPreview, startPreviewAnimation, stopPreviewAnimation, THEME_COLOR_SWATCHES, STROKE_DASH_OPTIONS } from './chunk-S6PFSR7I.mjs';
4
4
  import { LOCALE_CATALOG, translationsEn } from './chunk-L5MNLIQF.mjs';
5
- import { hasShapeProperties, normalizeHexColor, colorWithOpacity, normalizeStrokeDashType, getSvgStrokeDasharray, getCompoundLineOffsets, getCompoundLineWidths, svgLineCap, hasTextProperties, getElementTransform, getAriaRoleDescription, getAriaLabel, getAriaRole, resolveElementInteractivity, isEditableTextElement, isElementRendered, isElementActionable, getImageEffectsOpacity, getImageEffectsFilter, getElementTransformWithoutRotation, inlineElementPointerEvents, isHollowShapeElement, LINK_TOOLTIP_HOST_CLASS, ACTION_BUTTON_PRESETS, mediaTransportVisible, isInkElement, getGroupChildParentFill, getElementLabel, SWITCHABLE_LAYOUT_TYPES, DEFAULT_VIEWER_OPTIONS, compileEquationTemplateMathMl, buildUserFontFaceStyles, readStoredViewerPrefs, resolveThemeCatalogEntry, THEME_CATALOG, writeStoredViewerPrefs, openPptxFile, readBackstageRecentFile, resolveAutosaveActivation, viewerOptionsToPreferences, applyPreferenceToOptions, listAutosaveSnapshots, deleteAutosaveSnapshot, resolveAutosaveIntervalMs, resolveAutosaveIntervalSeconds, shouldShowAutosaveRecoveryPrompt, paintedStrokeWidth, buildCssGradientFromShapeStyle, ensureActionAffordanceStyles, resolveElementActionAffordance, actionAffordanceLabels, getComputedEffectStyle, getSoftEdgeSvgFilter, buildStrokeOutline, buildHollowHitOutline, strokeOutlineViewBox, revealedSmartArtNodeCount, buildSmartArtA11y, computeSmartArtLayout, flattenNodes, buildSummaryZoomView, isImageTiled, getImageColorWashStyle, isImageLikeElement, placeCaretAtEnd, getPendingSelectionRestore, restoreSegmentSelection, getTextCompensationTransform, resolveChartKind, ensureChartInteractionStyles, applyChartPartHighlight, applyChartBuildReveal, formatAxisValue, hasPressureVariation, getInkReplayStyles, INK_REPLAY_KEYFRAMES, resolveInkColor, resolveInkWidth, resolveInkOpacity, pressuresToWidths, getContentPartReplayStyles, resolveOleType, getOleTypeColor, getOleTypeLabel, filterRenderedElements, resolveGroupChildFill, isLinkedTextBox, getOverflowSegments, shouldUseSvgWarp, getTextBodyRotationTransform, RULER_THICKNESS, RULER_FONT_SIZE, buildPreviewElements, deriveSlideFieldContext, SLIDE_TRANSITION_OPTIONS, hiddenSlideCue, HIDDEN_SLIDE_SLASH_GRADIENT, HIDDEN_SLIDE_LABEL_KEY, themeToCssVars, applyMotionPathPreset, resetSlideLayoutPath, DEFAULT_INSERT_CHART_KIND, hasCopyableFormat, templateSchemeFromTheme, createBackstagePresentation, setMasterViewBackgroundColor, printPropertiesFrameSlides, printPropertiesSlidesPerPage, VIEWER_OPTIONS_TABS, DEFAULT_QUICK_ACCESS_COMMAND_IDS, buildJoinCollaborationConfig, buildCreateCollaborationConfig, generateBroadcastRoomId, DEFAULT_BROADCAST_SERVER_URL, buildBroadcastViewerUrl, resolveTransportForServerUrl, ACTION_INDICATOR_CLASS, ACTION_INDICATOR_ICON_PATH, LINK_TOOLTIP_CLASS, LINK_TOOLTIP_PANEL_CLASS, LINK_TOOLTIP_LABEL_CLASS, LINK_TOOLTIP_HINT_CLASS, DEFAULT_PALETTE2, resolvePalette, computeDrawingViewBox, projectDrawingShapes, styleShadowFilter, resolveDrawingShapeNodeId, buildChromeStyle, getImageSvgFilters, buildDuotoneCacheKey, getDuotoneCachedResult, applyDuotone, setDuotoneCachedResult, buildCacheKey, DEFAULT_COLOR_CHANGE_TOLERANCE, getCachedResult, applyColorChange, setCachedResult, findChartPartTarget, advanceChartValueDrag, beginChartValueDrag, buildSurfaceChart3DDataForElement, withChartTitle, buildSmartArt3DModel, extractPathPoints, generatePressureCircles, isBrowserOpenableMime, formatBytes, getOleBadgeLabel, openUrlInNewTab, getSubstituteFontFamily, getWarpPath, getSlideBackgroundStyle, filterCommands, resolveTitleBarStatusKey, TITLE_BAR_CLASSES, TITLE_BAR_DEFAULT_FILE_KEY, masterViewBackgroundColor, buildFieldSubstitutionContext, shouldConfirmExternalHyperlink, safeOpenUrl, isPpactionUrl, parsePpactionUrl, isPresentationAdvanceClick, toggleBlackboard, PRESENT_TOOLBAR_CLASSES, buildContextMenuEntries, themeColorSchemesEqual, EXPANDED_MAX_HEIGHT, STATUS_BAR_CLASSES, buildBarActions, formatVersionTimestamp, formatRelativeTime, scanAvailableFontFamilies, PRESETS, CATEGORIES, convertOmmlToLatex, compileLatexEquation, convertLatexToOmml, EQUATION_TEMPLATES, clampPercent, HANDOUT_OPTIONS, TOOLBAR_TABS, SHORTCUT_REFERENCE_ITEMS, resolveViewerAddinRows, availableQuickAccessCommands, addQuickAccessCommand, removeQuickAccessCommand, moveQuickAccessCommand, CUSTOM_FONT_ACCEPT, activateModalFocus, buildCollaborationShareUrl, buildActiveSessionUsers, SORTER_MIN_ZOOM, SORTER_ZOOM_STEP, SORTER_MAX_ZOOM, canGoPrevious, formatSlideCounter, READING_VIEW_COUNTER_ATTR, canGoNext, READING_VIEW_ATTR, OUTLINE_LEVEL_ATTR, OUTLINE_SLIDE_ATTR, OUTLINE_ROW_ATTR, OUTLINE_VIEW_ATTR, mobileElapsedSince, nextPresentedSlide, presenterPrevDisabled, presenterNextDisabled, formatMobileElapsed, mobileSlideCounter, presenterPaneAdvancesOnClick, presenterTimerProgress, PRESENTER_CONSOLE_CLASSES, formatElapsed, centeredSvgTextLines, computeInlineEditorRect, findSmartArtNodeText, setSmartArtNodeStyle, rebuildDrawingShapesIfCleared, shouldCommitSmartArtNodeText, updateSmartArtNodeText, groupIntoParagraphs, substituteFieldText, extraQuickAccessCommands, TAB_ROW_ACTION_CLASSES, listBackstageRecentFiles, BACKSTAGE_NAV, INSERT_CHART_TYPES, CHARACTER_SPACING_OPTIONS, RIBBON_SHAPE_SWATCHES, shapeFillChange, shapeOutlineChange, readRibbonTransitionDraft, ribbonTransitionUpdates, playSlideTransitionPreview, RIBBON_TRANSITION_PRESETS, DEFAULT_MOTION_PATH_PRESET_ID, SLIDE_SHOW_OPTIONS, slideShowOptionChange, readSlideShowOption, SLIDE_VIRTUALIZATION_THRESHOLD, PRESENTATION_HIT_TEST_CSS, PRESENTATION_STAGE_ATTRIBUTE, getSlideTransitionAnimations, MORPH_CROSSFADE_GROUP_STYLE, MORPH_CROSSFADE_HALF_STYLE, SLIDE_TRANSITION_KEYFRAMES, annotationOverlayZIndex, presentationInkPath, motionPathFor, setMotionPath, getShapeAdjustmentHandleDescriptors, PRESENTER_NAVIGATOR_LABEL_KEYS, PEN_COLORS, HIGHLIGHTER_COLORS, isBlackboardActive, slideSizeToCanvasPx, resolveSelectionPaneRename, PRESET_THEMES, normalizeSegments, createPlainNotesSegments, segmentsToEditorHtml, DEBOUNCE_MS, parseSegmentsFromRichEditor, segmentsToPlainText, getCurrentParagraphIndex, segmentsToParagraphs, paragraphsToSegments, MAX_INDENT_LEVEL, INDENT_PX, isUrlSafe, escapeHtml2, toggleSheet, sanitizeMathMl, computeHandoutLayout, getPrintableArea, generateNoteLineCount, computeAllNotesPages, getNotesPrintableArea, downloadBlob, clampOptionNumber, QUICK_ACCESS_COMMAND_CATALOG, registerCustomFont, openReadingView, applyReadingViewCommand, createPresentationKeyBuffer, readingViewFitScale, READING_VIEW_STAGE_ATTR, buildOutline, applyOutlineEdit, mapOutlineKey, notesSegmentsToSpans, erasePresentationInkAt, movePresenterPointer, appendPresentationInkPoint, PRESENTER_CONSOLE_CONTROLS, NOTES_FONT_SIZE_DEFAULT, formatTime, NOTES_FONT_SIZE_MIN, clampNotesFontSize, NOTES_FONT_SIZE_STEP, NOTES_FONT_SIZE_MAX, BACKSTAGE_TEMPLATES, formatBackstageDate, formatBackstageSize, backstageCardsFor, DEFAULT_VIEWER_PROFILE, resolveProfileInitial, AVATAR_COLOR_SWATCHES, resolveDefaultFontFamily, buildFontCatalog, ENTRANCE_PRESET_VALUES, EMPHASIS_PRESET_VALUES, EXIT_PRESET_VALUES, MOTION_PATH_FAMILIES, motionPathFamilyLabelKey, motionPathPresetsByFamily, motionPathPresetLabelKey, masterViewPseudoSlide, authorConnectorBetweenSites, generateTicks, rulerDragToGuidePosition, buildCommentMarkers, COMMENT_MARKER_SIZE, collectConnectorSiteCandidates, getConnectorEndpointHandles, findConnectorSiteNear, motionPathToSvgD, motionPathEndPixel, isEditableMotionPath, setMotionPathEnd, themeColorLabel, buildThemeColorGrid, THEME_COLOR_SCHEME_KEYS, COMMON_FONTS, buildSmartArtPresetData, handleReadingViewKey, getLocalStorageUsageSummary, saveViewerProfile, clearAllLocalViewerData, isCurrentLayout, SLIDE_TEMPLATES, CONNECTOR_SITE_SNAP_PX, resolveConnectorEndpointUpdate, withConnectorEndpointUpdate, getShapeConnectionSites, isElementLocked, mergeSlideTransition, mapSlideSorterKey, isEditorTextInputTarget, clampSorterZoom, buildLayoutPreviewGeometry, buildSlideTemplateContent, elementLockTogglePatch, buildTableDataGrid, appendTableElementRow, removeLastTableElementRow, appendTableElementColumn, removeLastTableElementColumn, removeTableElementColumn, removeTableElementRow, setTableElementCellText, TABLE_STYLE_PRESETS, applyTableStylePreset, evenColumnWidths, redistributeColumnWidth, evenRowHeights, patchChartData, setChartCategoryLabel, setChartCellValue, addChartCategory, removeChartCategory, addChartSeries, removeChartSeries, setChartAxisLogScale, setChartAxisTitleStyle, setChartAxisGridlineStyle, setChartSeriesMarker, setChartSeriesChartType, setChartDataPointFill, setChartDataPointExplosion, setChartDataPointMarker, setChartDataPointLabel, describeSmartArtBounds, canAddTopLevelNode, classifyExtraConnections, siblingIndex, siblingCount, canRemoveTopLevelNode, getOleObjectTypeLabel, sanitizeGradientStops, pptxActionToElementAction, withFrameSlides, withSlidesPerPage, applyThemeOverrideToSlide, COLOR_MAP_ALIAS_KEYS, DEFAULT_COLOR_MAP, schemaLabel, THEME_COLOR_SLOT_LABEL_KEYS, resolveSlideSizeSelection, SLIDE_SIZE_PRESETS, TRANSITION_VALID_DIRECTIONS, TRANSITION_ORIENTATION_TYPES, clampTransitionNumber, flattenTagCollections, resolveTemplateBackgroundRows, formatCommentTimestamp, clearMotionPath, DIRECTIONAL_PRESETS, buildAnimationTimelineBars, motionPathPresetIdForPath, computeMergeCellRight, computeMergeCellDown, computeSplitCell, SMARTART_COLOR_SCHEME_LABEL_KEYS, SMARTART_STYLE_LABEL_KEYS, addSmartArtNodeAsChild, removeSmartArtNode, addSiblingAfter, removeEmptyNode, demote, promote, reorder, clampCropValue, DUOTONE_PRESETS, ARTISTIC_EFFECTS, resolveActionType, ELEMENT_ACTION_TYPE_OPTIONS, toSlideIndex, elementActionToPptxAction, canCommitActionType, slideSizeFromPreset, withSlideSizeOrientation, TRANSITION_DIR_ARROWS, buildDirectionGrid, updateTagInCollections, deleteTagFromCollections, addTagToCollections, commentTextSegments, COMMENT_MENTION_CLASS, COMMENT_MENTION_ATTRIBUTE, reorderAnimationTo, animationEffectLabel, LBL, SEL, FILL_MODE_OPTIONS, SECTION_HEADING, NUM, switchSmartArtLayout, SHAPE_QUICK_STYLES, quickStyleSwatchCss, getPatternSvg, TEXT_WARP_PRESETS, warpPreviewPath, text3dPtToEmu, text3dEmuToPt, MATERIAL_PRESETS, GRADIENT_TYPE_OPTIONS, PATTERN_OPTIONS, FILL_PATTERN_LABEL_KEYS, openNativeEyeDropper, toggleText3dExtrusion, BEVEL_PRESETS } from './chunk-57TM4MV4.mjs';
5
+ import { hasShapeProperties, normalizeHexColor, colorWithOpacity, normalizeStrokeDashType, getSvgStrokeDasharray, getCompoundLineOffsets, getCompoundLineWidths, svgLineCap, hasTextProperties, getElementTransform, getAriaRoleDescription, getAriaLabel, getAriaRole, resolveElementInteractivity, isEditableTextElement, isElementRendered, isElementActionable, getImageEffectsOpacity, getImageEffectsFilter, inlineElementPointerEvents, isHollowShapeElement, LINK_TOOLTIP_HOST_CLASS, getElementTransformWithoutRotation, ACTION_BUTTON_PRESETS, mediaTransportVisible, isInkElement, getGroupChildParentFill, getElementLabel, SWITCHABLE_LAYOUT_TYPES, DEFAULT_VIEWER_OPTIONS, compileEquationTemplateMathMl, buildUserFontFaceStyles, readStoredViewerPrefs, resolveThemeCatalogEntry, THEME_CATALOG, writeStoredViewerPrefs, openPptxFile, readBackstageRecentFile, resolveAutosaveActivation, viewerOptionsToPreferences, applyPreferenceToOptions, listAutosaveSnapshots, deleteAutosaveSnapshot, resolveAutosaveIntervalMs, resolveAutosaveIntervalSeconds, shouldShowAutosaveRecoveryPrompt, paintedStrokeWidth, buildCssGradientFromShapeStyle, ensureActionAffordanceStyles, resolveElementActionAffordance, actionAffordanceLabels, getComputedEffectStyle, getSoftEdgeSvgFilter, buildStrokeOutline, buildHollowHitOutline, buildSubpathFillOverlay, isImageLikeElement, getComputedFillStyle, strokeOutlineViewBox, revealedSmartArtNodeCount, buildSmartArtA11y, computeSmartArtElementLayout, flattenNodes, buildSummaryZoomView, isImageTiled, getImageColorWashStyle, placeCaretAtEnd, getPendingSelectionRestore, restoreSegmentSelection, getTextCompensationTransform, resolveChartKind, ensureChartInteractionStyles, applyChartPartHighlight, applyChartBuildReveal, formatAxisValue, hasPressureVariation, getInkReplayStyles, INK_REPLAY_KEYFRAMES, resolveInkColor, resolveInkWidth, resolveInkOpacity, pressuresToWidths, getContentPartReplayStyles, resolveOleType, getOleTypeColor, getOleTypeLabel, filterRenderedElements, resolveGroupChildFill, isLinkedTextBox, getOverflowSegments, shouldUseSvgWarp, getTextBodyRotationTransform, RULER_THICKNESS, RULER_FONT_SIZE, buildPreviewElements, deriveSlideFieldContext, SLIDE_TRANSITION_OPTIONS, hiddenSlideCue, HIDDEN_SLIDE_SLASH_GRADIENT, HIDDEN_SLIDE_LABEL_KEY, themeToCssVars, applyMotionPathPreset, resetSlideLayoutPath, DEFAULT_INSERT_CHART_KIND, hasCopyableFormat, templateSchemeFromTheme, createBackstagePresentation, setMasterViewBackgroundColor, printPropertiesFrameSlides, printPropertiesSlidesPerPage, VIEWER_OPTIONS_TABS, DEFAULT_QUICK_ACCESS_COMMAND_IDS, buildJoinCollaborationConfig, buildCreateCollaborationConfig, generateBroadcastRoomId, DEFAULT_BROADCAST_SERVER_URL, buildBroadcastViewerUrl, resolveTransportForServerUrl, ACTION_INDICATOR_CLASS, ACTION_INDICATOR_ICON_PATH, LINK_TOOLTIP_CLASS, LINK_TOOLTIP_PANEL_CLASS, LINK_TOOLTIP_LABEL_CLASS, LINK_TOOLTIP_HINT_CLASS, DEFAULT_PALETTE2, resolvePalette, computeDrawingViewBox, projectDrawingShapes, styleShadowFilter, resolveDrawingShapeNodeId, buildChromeStyle, getImageSvgFilters, buildDuotoneCacheKey, getDuotoneCachedResult, applyDuotone, setDuotoneCachedResult, buildCacheKey, DEFAULT_COLOR_CHANGE_TOLERANCE, getCachedResult, applyColorChange, setCachedResult, findChartPartTarget, advanceChartValueDrag, beginChartValueDrag, buildSurfaceChart3DDataForElement, withChartTitle, buildSmartArt3DModel, extractPathPoints, generatePressureCircles, isBrowserOpenableMime, formatBytes, getOleBadgeLabel, openUrlInNewTab, getSubstituteFontFamily, getWarpPath, getSlideBackgroundStyle, filterCommands, resolveTitleBarStatusKey, TITLE_BAR_CLASSES, TITLE_BAR_DEFAULT_FILE_KEY, masterViewBackgroundColor, buildFieldSubstitutionContext, shouldConfirmExternalHyperlink, safeOpenUrl, isPpactionUrl, parsePpactionUrl, isPresentationAdvanceClick, toggleBlackboard, PRESENT_TOOLBAR_CLASSES, buildContextMenuEntries, themeColorSchemesEqual, EXPANDED_MAX_HEIGHT, STATUS_BAR_CLASSES, buildBarActions, formatVersionTimestamp, formatRelativeTime, scanAvailableFontFamilies, PRESETS, CATEGORIES, convertOmmlToLatex, compileLatexEquation, convertLatexToOmml, EQUATION_TEMPLATES, clampPercent, HANDOUT_OPTIONS, TOOLBAR_TABS, SHORTCUT_REFERENCE_ITEMS, resolveViewerAddinRows, availableQuickAccessCommands, addQuickAccessCommand, removeQuickAccessCommand, moveQuickAccessCommand, CUSTOM_FONT_ACCEPT, activateModalFocus, buildCollaborationShareUrl, buildActiveSessionUsers, SORTER_MIN_ZOOM, SORTER_ZOOM_STEP, SORTER_MAX_ZOOM, canGoPrevious, formatSlideCounter, READING_VIEW_COUNTER_ATTR, canGoNext, READING_VIEW_ATTR, OUTLINE_LEVEL_ATTR, OUTLINE_SLIDE_ATTR, OUTLINE_ROW_ATTR, OUTLINE_VIEW_ATTR, mobileElapsedSince, nextPresentedSlide, presenterPrevDisabled, presenterNextDisabled, formatMobileElapsed, mobileSlideCounter, presenterPaneAdvancesOnClick, presenterTimerProgress, PRESENTER_CONSOLE_CLASSES, formatElapsed, centeredSvgTextLines, computeInlineEditorRect, findSmartArtNodeText, setSmartArtNodeStyle, rebuildDrawingShapesIfCleared, shouldCommitSmartArtNodeText, updateSmartArtNodeText, groupIntoParagraphs, substituteFieldText, extraQuickAccessCommands, TAB_ROW_ACTION_CLASSES, listBackstageRecentFiles, BACKSTAGE_NAV, INSERT_CHART_TYPES, CHARACTER_SPACING_OPTIONS, RIBBON_SHAPE_SWATCHES, shapeFillChange, shapeOutlineChange, readRibbonTransitionDraft, ribbonTransitionUpdates, playSlideTransitionPreview, RIBBON_TRANSITION_PRESETS, DEFAULT_MOTION_PATH_PRESET_ID, SLIDE_SHOW_OPTIONS, slideShowOptionChange, readSlideShowOption, SLIDE_VIRTUALIZATION_THRESHOLD, PRESENTATION_HIT_TEST_CSS, PRESENTATION_STAGE_ATTRIBUTE, getSlideTransitionAnimations, MORPH_CROSSFADE_GROUP_STYLE, MORPH_CROSSFADE_HALF_STYLE, SLIDE_TRANSITION_KEYFRAMES, annotationOverlayZIndex, presentationInkPath, resolveNotesSchematicBodyFontSizePx, motionPathFor, setMotionPath, getShapeAdjustmentHandleDescriptors, PRESENTER_NAVIGATOR_LABEL_KEYS, PEN_COLORS, HIGHLIGHTER_COLORS, isBlackboardActive, slideSizeToCanvasPx, resolveSelectionPaneRename, PRESET_THEMES, resolveNotesSegments, segmentsToEditorHtml, DEBOUNCE_MS, createPlainNotesSegments, parseSegmentsFromRichEditor, segmentsToPlainText, getCurrentParagraphIndex, segmentsToParagraphs, paragraphsToSegments, MAX_INDENT_LEVEL, INDENT_PX, isUrlSafe, buildNotesPrintHtml, toggleSheet, sanitizeMathMl, computeHandoutLayout, getPrintableArea, generateNoteLineCount, computeAllNotesPages, getNotesPrintableArea, downloadBlob, clampOptionNumber, QUICK_ACCESS_COMMAND_CATALOG, registerCustomFont, openReadingView, applyReadingViewCommand, createPresentationKeyBuffer, readingViewFitScale, READING_VIEW_STAGE_ATTR, buildOutline, applyOutlineEdit, mapOutlineKey, notesSegmentsToSpans, erasePresentationInkAt, movePresenterPointer, appendPresentationInkPoint, PRESENTER_CONSOLE_CONTROLS, NOTES_FONT_SIZE_DEFAULT, formatTime, NOTES_FONT_SIZE_MIN, clampNotesFontSize, NOTES_FONT_SIZE_STEP, NOTES_FONT_SIZE_MAX, BACKSTAGE_TEMPLATES, formatBackstageDate, formatBackstageSize, backstageCardsFor, DEFAULT_VIEWER_PROFILE, resolveProfileInitial, AVATAR_COLOR_SWATCHES, resolveDefaultFontFamily, buildFontCatalog, ENTRANCE_PRESET_VALUES, EMPHASIS_PRESET_VALUES, EXIT_PRESET_VALUES, MOTION_PATH_FAMILIES, motionPathFamilyLabelKey, motionPathPresetsByFamily, motionPathPresetLabelKey, masterViewPseudoSlide, authorConnectorBetweenSites, generateTicks, rulerDragToGuidePosition, buildCommentMarkers, COMMENT_MARKER_SIZE, collectConnectorSiteCandidates, getConnectorEndpointHandles, findConnectorSiteNear, motionPathToSvgD, motionPathEndPixel, isEditableMotionPath, setMotionPathEnd, themeColorLabel, buildThemeColorGrid, THEME_COLOR_SCHEME_KEYS, COMMON_FONTS, buildSmartArtPresetData, handleReadingViewKey, getLocalStorageUsageSummary, saveViewerProfile, clearAllLocalViewerData, isCurrentLayout, SLIDE_TEMPLATES, CONNECTOR_SITE_SNAP_PX, resolveConnectorEndpointUpdate, withConnectorEndpointUpdate, getShapeConnectionSites, isElementLocked, mergeSlideTransition, mapSlideSorterKey, isEditorTextInputTarget, clampSorterZoom, buildLayoutPreviewGeometry, buildSlideTemplateContent, elementLockTogglePatch, buildTableDataGrid, appendTableElementRow, removeLastTableElementRow, appendTableElementColumn, removeLastTableElementColumn, removeTableElementColumn, removeTableElementRow, setTableElementCellText, TABLE_STYLE_PRESETS, applyTableStylePreset, evenColumnWidths, redistributeColumnWidth, evenRowHeights, patchChartData, setChartCategoryLabel, setChartCellValue, addChartCategory, removeChartCategory, addChartSeries, removeChartSeries, setChartAxisLogScale, setChartAxisTitleStyle, setChartAxisGridlineStyle, setChartSeriesMarker, setChartSeriesChartType, setChartDataPointFill, setChartDataPointExplosion, setChartDataPointMarker, setChartDataPointLabel, describeSmartArtBounds, canAddTopLevelNode, classifyExtraConnections, siblingIndex, siblingCount, canRemoveTopLevelNode, getOleObjectTypeLabel, sanitizeGradientStops, pptxActionToElementAction, withFrameSlides, withSlidesPerPage, applyThemeOverrideToSlide, COLOR_MAP_ALIAS_KEYS, DEFAULT_COLOR_MAP, schemaLabel, THEME_COLOR_SLOT_LABEL_KEYS, resolveSlideSizeSelection, SLIDE_SIZE_PRESETS, TRANSITION_VALID_DIRECTIONS, TRANSITION_ORIENTATION_TYPES, clampTransitionNumber, flattenTagCollections, resolveTemplateBackgroundRows, formatCommentTimestamp, clearMotionPath, DIRECTIONAL_PRESETS, buildAnimationTimelineBars, motionPathPresetIdForPath, computeMergeCellRight, computeMergeCellDown, computeSplitCell, CHART_TYPE_OPTIONS, SMARTART_COLOR_SCHEME_LABEL_KEYS, SMARTART_STYLE_LABEL_KEYS, addSmartArtNodeAsChild, removeSmartArtNode, addSiblingAfter, removeEmptyNode, demote, promote, reorder, clampCropValue, DUOTONE_PRESETS, ARTISTIC_EFFECTS, resolveActionType, ELEMENT_ACTION_TYPE_OPTIONS, toSlideIndex, elementActionToPptxAction, canCommitActionType, slideSizeFromPreset, withSlideSizeOrientation, TRANSITION_DIR_ARROWS, buildDirectionGrid, updateTagInCollections, deleteTagFromCollections, addTagToCollections, commentTextSegments, COMMENT_MENTION_CLASS, COMMENT_MENTION_ATTRIBUTE, reorderAnimationTo, animationEffectLabel, LBL, SEL, FILL_MODE_OPTIONS, SECTION_HEADING, NUM, switchSmartArtLayout, SHAPE_QUICK_STYLES, quickStyleSwatchCss, getPatternSvg, TEXT_WARP_PRESETS, warpPreviewPath, text3dPtToEmu, text3dEmuToPt, MATERIAL_PRESETS, GRADIENT_TYPE_OPTIONS, PATTERN_OPTIONS, FILL_PATTERN_LABEL_KEYS, openNativeEyeDropper, toggleText3dExtrusion, BEVEL_PRESETS } from './chunk-OXPD2UYI.mjs';
6
6
  import React15, { createContext, useMemo, useState, useCallback, lazy, forwardRef, useEffect, useRef, Suspense, useLayoutEffect, useContext, Fragment as Fragment$1, useDeferredValue } from 'react';
7
7
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
8
8
  import { useTranslation } from 'react-i18next';
@@ -485,7 +485,7 @@ function FailedToLoad() {
485
485
  var LazySurfaceChart3DScene = React15.lazy(
486
486
  async () => {
487
487
  try {
488
- return await import('./SurfaceChart3DScene-6LTF5QPW.mjs');
488
+ return await import('./SurfaceChart3DScene-P6CVRWDQ.mjs');
489
489
  } catch {
490
490
  return { default: FailedToLoad };
491
491
  }
@@ -1585,6 +1585,23 @@ function getContainerStyle({
1585
1585
  ...templateEditing ? { outline: "2px dashed rgb(217, 119, 6)", outlineOffset: "1px", opacity: opacity ?? 0.95 } : {}
1586
1586
  };
1587
1587
  }
1588
+ function getHandleHostStyle({
1589
+ el,
1590
+ isFullscreenMedia,
1591
+ zIndex
1592
+ }) {
1593
+ return {
1594
+ position: "absolute",
1595
+ left: isFullscreenMedia ? 0 : el.x,
1596
+ top: isFullscreenMedia ? 0 : el.y,
1597
+ width: isFullscreenMedia ? "100%" : Math.max(el.width, MIN_ELEMENT_SIZE),
1598
+ height: isFullscreenMedia ? "100%" : Math.max(el.height, MIN_ELEMENT_SIZE),
1599
+ transform: isFullscreenMedia ? "none" : getElementTransform(el),
1600
+ transformOrigin: "center",
1601
+ zIndex: isFullscreenMedia ? 21 : zIndex,
1602
+ pointerEvents: "none"
1603
+ };
1604
+ }
1588
1605
 
1589
1606
  // src/viewer/components/elements/element-shape-params.ts
1590
1607
  function shapeParams(element) {
@@ -1680,13 +1697,18 @@ function ShapeEffectOverlay({
1680
1697
  if (!hasShapeProperties(element)) {
1681
1698
  return null;
1682
1699
  }
1683
- const overlay = getComputedEffectStyle(element).fillOverlay;
1700
+ const fx = getComputedEffectStyle(element);
1701
+ const overlay = fx.fillOverlay;
1702
+ const reflection = fx.reflection;
1684
1703
  const softEdge = getSoftEdgeSvgFilter(element.shapeStyle, element.id);
1685
1704
  const strokeOutline = buildStrokeOutline(element);
1686
1705
  const hollowHit = buildHollowHitOutline(element);
1687
- if (!overlay && !softEdge && !strokeOutline && !hollowHit) {
1706
+ const subpathFill = buildSubpathFillOverlay(element);
1707
+ if (!overlay && !softEdge && !strokeOutline && !hollowHit && !subpathFill && !reflection) {
1688
1708
  return null;
1689
1709
  }
1710
+ const reflectionFill = reflection && !isImageLikeElement(element) ? getComputedFillStyle(element) : void 0;
1711
+ const reflectionImgSrc = reflection && isImageLikeElement(element) ? imgSrc(element) : void 0;
1690
1712
  const fillOverlayStyle = overlay ? {
1691
1713
  position: "absolute",
1692
1714
  inset: 0,
@@ -1695,6 +1717,17 @@ function ShapeEffectOverlay({
1695
1717
  pointerEvents: "none"
1696
1718
  } : void 0;
1697
1719
  return /* @__PURE__ */ jsxs(Fragment, { children: [
1720
+ subpathFill ? /* @__PURE__ */ jsx(
1721
+ "svg",
1722
+ {
1723
+ className: "pptx-react-subpath-fill",
1724
+ "aria-hidden": "true",
1725
+ viewBox: `0 0 ${subpathFill.viewBoxWidth} ${subpathFill.viewBoxHeight}`,
1726
+ preserveAspectRatio: "none",
1727
+ style: { position: "absolute", inset: 0, width: "100%", height: "100%" },
1728
+ children: subpathFill.paints.map((paint, idx) => /* @__PURE__ */ jsx("path", { d: paint.d, fill: paint.fill, stroke: "none" }, idx))
1729
+ }
1730
+ ) : null,
1698
1731
  softEdge ? /* @__PURE__ */ jsx(
1699
1732
  "svg",
1700
1733
  {
@@ -1765,6 +1798,36 @@ function ShapeEffectOverlay({
1765
1798
  }
1766
1799
  )
1767
1800
  }
1801
+ ) : null,
1802
+ reflection ? /* @__PURE__ */ jsx(
1803
+ "div",
1804
+ {
1805
+ className: "pptx-react-reflection",
1806
+ "aria-hidden": "true",
1807
+ style: reflection,
1808
+ children: reflectionImgSrc ? /* @__PURE__ */ jsx(
1809
+ "img",
1810
+ {
1811
+ src: reflectionImgSrc,
1812
+ alt: "",
1813
+ draggable: false,
1814
+ style: { width: "100%", height: "100%", ...getImageRenderStyle(element) }
1815
+ }
1816
+ ) : reflectionFill ? /* @__PURE__ */ jsx(
1817
+ "div",
1818
+ {
1819
+ style: {
1820
+ width: "100%",
1821
+ height: "100%",
1822
+ backgroundColor: reflectionFill.backgroundColor,
1823
+ backgroundImage: reflectionFill.backgroundImage,
1824
+ backgroundSize: reflectionFill.backgroundSize,
1825
+ backgroundPosition: reflectionFill.backgroundPosition,
1826
+ backgroundRepeat: reflectionFill.backgroundRepeat
1827
+ }
1828
+ }
1829
+ ) : null
1830
+ }
1768
1831
  ) : null
1769
1832
  ] });
1770
1833
  }
@@ -1916,135 +1979,144 @@ var ElementRenderer = React15.memo(
1916
1979
  onInlineEditCancel,
1917
1980
  onActionClick
1918
1981
  });
1919
- return /* @__PURE__ */ jsxs(
1920
- "div",
1921
- {
1922
- "data-pptx-element": "true",
1923
- "data-element-id": el.id,
1924
- "data-pptx-action": isActionable ? "click" : void 0,
1925
- role: ariaRole,
1926
- "aria-label": ariaLabel,
1927
- "aria-roledescription": ariaRoleDescription,
1928
- "aria-selected": isSelected ? true : void 0,
1929
- tabIndex: isFocusable ? 0 : -1,
1930
- className: cn(
1931
- "absolute",
1932
- "focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500",
1933
- cur,
1934
- // During a show this must stay EMPTY: `PRESENTATION_HIT_TEST_CSS`
1935
- // (injected by `PresentationStage`) owns hit-testing there, because
1936
- // it is the only form that can re-enable an action shape nested
1937
- // inside inert scenery - an inline `pointer-events: none` on the
1938
- // group could never do that, and React was the one binding that
1939
- // wrote it. Off the show stage the inline rule still applies.
1940
- inlineElementPointerEvents({
1941
- interactive: effectiveCanInteract || isActionable,
1942
- presenting: presenting === true
1943
- }) === "none" ? "pointer-events-none" : "",
1944
- // An unfilled, textless shape is a FRAME: PowerPoint hit-tests it on its
1945
- // outline only, so its interior must not swallow clicks meant for what it
1946
- // is drawn over. ShapeEffectOverlay paints a transparent
1947
- // pointer-events:stroke band that opts the outline back in.
1948
- isHollowShapeElement(el) ? "pointer-events-none" : "",
1949
- isFullscreenMedia ? "pointer-events-auto" : "",
1950
- selB,
1951
- // Shared class the tooltip's `:hover` rule keys off (see
1952
- // `ACTION_AFFORDANCE_CSS`), replacing React's Tailwind `group/link`
1953
- // so the four non-Tailwind bindings reveal it the same way.
1954
- actionAffordance.showLinkTooltip && LINK_TOOLTIP_HOST_CLASS
1955
- ),
1956
- style: getContainerStyle({
1957
- el,
1958
- isFullscreenMedia,
1959
- isImg: isImg || isModel3D,
1960
- zIndex,
1961
- opacity,
1962
- animationState,
1963
- shapeVisualStyle: ss,
1964
- has3DExtrusion: extrusionData.hasExtrusion,
1965
- templateEditing
1966
- }),
1967
- ...interactionProps,
1968
- children: [
1969
- renderDagDuotoneFilterForElement(el),
1970
- /* @__PURE__ */ jsx(ShapeEffectOverlay, { element: el }),
1971
- extrusionData.hasExtrusion && /* @__PURE__ */ jsx(Extrusion3DOverlay, { data: extrusionData }),
1972
- renderBody({
1982
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
1983
+ /* @__PURE__ */ jsxs(
1984
+ "div",
1985
+ {
1986
+ "data-pptx-element": "true",
1987
+ "data-element-id": el.id,
1988
+ "data-pptx-action": isActionable ? "click" : void 0,
1989
+ role: ariaRole,
1990
+ "aria-label": ariaLabel,
1991
+ "aria-roledescription": ariaRoleDescription,
1992
+ "aria-selected": isSelected ? true : void 0,
1993
+ tabIndex: isFocusable ? 0 : -1,
1994
+ className: cn(
1995
+ "absolute",
1996
+ "focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500",
1997
+ cur,
1998
+ // During a show this must stay EMPTY: `PRESENTATION_HIT_TEST_CSS`
1999
+ // (injected by `PresentationStage`) owns hit-testing there, because
2000
+ // it is the only form that can re-enable an action shape nested
2001
+ // inside inert scenery - an inline `pointer-events: none` on the
2002
+ // group could never do that, and React was the one binding that
2003
+ // wrote it. Off the show stage the inline rule still applies.
2004
+ inlineElementPointerEvents({
2005
+ interactive: effectiveCanInteract || isActionable,
2006
+ presenting: presenting === true
2007
+ }) === "none" ? "pointer-events-none" : "",
2008
+ // An unfilled, textless shape is a FRAME: PowerPoint hit-tests it on its
2009
+ // outline only, so its interior must not swallow clicks meant for what it
2010
+ // is drawn over. ShapeEffectOverlay paints a transparent
2011
+ // pointer-events:stroke band that opts the outline back in.
2012
+ isHollowShapeElement(el) ? "pointer-events-none" : "",
2013
+ isFullscreenMedia ? "pointer-events-auto" : "",
2014
+ selB,
2015
+ // Shared class the tooltip's `:hover` rule keys off (see
2016
+ // `ACTION_AFFORDANCE_CSS`), replacing React's Tailwind `group/link`
2017
+ // so the four non-Tailwind bindings reveal it the same way.
2018
+ actionAffordance.showLinkTooltip && LINK_TOOLTIP_HOST_CLASS
2019
+ ),
2020
+ style: getContainerStyle({
1973
2021
  el,
1974
- isImg,
1975
- isEditing: effectiveIsInlineEditing,
1976
- editText: inlineEditingText,
1977
- spellCheck: spellCheckEnabled,
1978
- txtSE,
1979
- txtS: ts,
1980
- vecShape: vs,
1981
- imgStyle: getImageRenderStyle(el),
1982
- imgFilter: getImageEffectsFilter(el),
1983
- imgOpacity: getImageEffectsOpacity(el),
1984
- imgAlt: imageAltText,
1985
- isTxtEl: isTxt,
1986
- media: mediaDataUrls,
1987
- tableSt: tableEditorState,
1988
- isSel: isSelected,
1989
- doInk,
1990
- doGrp,
1991
- renderGroupChild: (child, index) => /* @__PURE__ */ jsx(
1992
- StaticElementRenderer,
1993
- {
1994
- element: child,
1995
- activeSlide,
1996
- allSlides,
1997
- mediaDataUrls,
1998
- sourceSlideIndex,
1999
- zIndex: index,
2000
- animation: presentationElementStates?.get(child.id)?.cssAnimation,
2001
- exposeElementId: true,
2002
- parentGroupFill: getGroupChildParentFill(el),
2003
- onActionClick: el.actionClick ? void 0 : onActionClick,
2004
- actionRequiresModifier: effectiveCanInteract
2005
- },
2006
- child.id
2007
- ),
2008
- onEditChange: onInlineEditChange,
2009
- onCommit: onInlineEditCommit,
2010
- onCancel: onInlineEditCancel,
2011
- onCellSel: cellSelectHandler,
2012
- onCellCommit: cellCommitHandler,
2013
- onColResize: colResizeHandler,
2014
- onRowResize: rowResizeHandler,
2015
- findHl: findHighlights,
2016
- onHyperlinkClick,
2017
- isPresentationPassive,
2018
- handleMediaPlayStateChange,
2019
- presentationElementStates,
2020
- slideElements: activeSlide?.elements,
2021
- allSlides,
2022
- onZoomClick,
2023
- sourceSlideIndex,
2024
- fieldContext,
2025
- tableStyleContext,
2026
- canEditSmartArt,
2027
- onUpdateSmartArtElement: smartArtUpdateHandler,
2028
- canEditChart,
2029
- onUpdateChartElement: chartUpdateHandler,
2030
- onFormatText
2022
+ isFullscreenMedia,
2023
+ isImg: isImg || isModel3D,
2024
+ zIndex,
2025
+ opacity,
2026
+ animationState,
2027
+ shapeVisualStyle: ss,
2028
+ has3DExtrusion: extrusionData.hasExtrusion,
2029
+ templateEditing
2031
2030
  }),
2032
- /* @__PURE__ */ jsx(ActionAffordances, { affordance: actionAffordance }),
2033
- effectiveShowResizeHandles && !effectiveIsInlineEditing && /* @__PURE__ */ jsx(
2034
- ResizeHandles,
2035
- {
2036
- elementId: el.id,
2037
- adjustmentHandles: adjH,
2038
- onResizePointerDown,
2039
- onAdjustmentPointerDown,
2040
- rotation: el.rotation,
2041
- nonRotationTransform: getElementTransformWithoutRotation(el),
2042
- onRotate: allow.rotatable ? onRotate : void 0
2043
- }
2044
- )
2045
- ]
2046
- }
2047
- );
2031
+ ...interactionProps,
2032
+ children: [
2033
+ renderDagDuotoneFilterForElement(el),
2034
+ /* @__PURE__ */ jsx(ShapeEffectOverlay, { element: el }),
2035
+ extrusionData.hasExtrusion && /* @__PURE__ */ jsx(Extrusion3DOverlay, { data: extrusionData }),
2036
+ renderBody({
2037
+ el,
2038
+ isImg,
2039
+ isEditing: effectiveIsInlineEditing,
2040
+ editText: inlineEditingText,
2041
+ spellCheck: spellCheckEnabled,
2042
+ txtSE,
2043
+ txtS: ts,
2044
+ vecShape: vs,
2045
+ imgStyle: getImageRenderStyle(el),
2046
+ imgFilter: getImageEffectsFilter(el),
2047
+ imgOpacity: getImageEffectsOpacity(el),
2048
+ imgAlt: imageAltText,
2049
+ isTxtEl: isTxt,
2050
+ media: mediaDataUrls,
2051
+ tableSt: tableEditorState,
2052
+ isSel: isSelected,
2053
+ doInk,
2054
+ doGrp,
2055
+ renderGroupChild: (child, index) => /* @__PURE__ */ jsx(
2056
+ StaticElementRenderer,
2057
+ {
2058
+ element: child,
2059
+ activeSlide,
2060
+ allSlides,
2061
+ mediaDataUrls,
2062
+ sourceSlideIndex,
2063
+ zIndex: index,
2064
+ animation: presentationElementStates?.get(child.id)?.cssAnimation,
2065
+ exposeElementId: true,
2066
+ parentGroupFill: getGroupChildParentFill(el),
2067
+ onActionClick: el.actionClick ? void 0 : onActionClick,
2068
+ actionRequiresModifier: effectiveCanInteract
2069
+ },
2070
+ child.id
2071
+ ),
2072
+ onEditChange: onInlineEditChange,
2073
+ onCommit: onInlineEditCommit,
2074
+ onCancel: onInlineEditCancel,
2075
+ onCellSel: cellSelectHandler,
2076
+ onCellCommit: cellCommitHandler,
2077
+ onColResize: colResizeHandler,
2078
+ onRowResize: rowResizeHandler,
2079
+ findHl: findHighlights,
2080
+ onHyperlinkClick,
2081
+ isPresentationPassive,
2082
+ handleMediaPlayStateChange,
2083
+ presentationElementStates,
2084
+ slideElements: activeSlide?.elements,
2085
+ allSlides,
2086
+ onZoomClick,
2087
+ sourceSlideIndex,
2088
+ fieldContext,
2089
+ tableStyleContext,
2090
+ canEditSmartArt,
2091
+ onUpdateSmartArtElement: smartArtUpdateHandler,
2092
+ canEditChart,
2093
+ onUpdateChartElement: chartUpdateHandler,
2094
+ onFormatText
2095
+ }),
2096
+ /* @__PURE__ */ jsx(ActionAffordances, { affordance: actionAffordance })
2097
+ ]
2098
+ }
2099
+ ),
2100
+ effectiveShowResizeHandles && !effectiveIsInlineEditing && // A SIBLING of the shape's own (possibly clip-path'd) container, not a
2101
+ // child: `clip-path` excludes every descendant from hit-testing, not
2102
+ // just paint, so a handle measured onto a preset vertex outside the
2103
+ // shape's silhouette (see `getHandleHostStyle`) would be unclickable
2104
+ // if nested inside it. `pointerEvents: 'none'` on the host keeps every
2105
+ // non-handle pixel click-through to whatever is actually under it.
2106
+ /* @__PURE__ */ jsx("div", { style: getHandleHostStyle({ el, isFullscreenMedia, zIndex }), children: /* @__PURE__ */ jsx(
2107
+ ResizeHandles,
2108
+ {
2109
+ elementId: el.id,
2110
+ adjustmentHandles: adjH,
2111
+ onResizePointerDown,
2112
+ onAdjustmentPointerDown,
2113
+ rotation: el.rotation,
2114
+ nonRotationTransform: getElementTransformWithoutRotation(el),
2115
+ onRotate: allow.rotatable ? onRotate : void 0,
2116
+ forcePointerEvents: true
2117
+ }
2118
+ ) })
2119
+ ] });
2048
2120
  }
2049
2121
  );
2050
2122
  function renderPressureStroke(pathD, widths, baseWidth, color, opacity, keyPrefix) {
@@ -2606,7 +2678,7 @@ function FailedToLoad2() {
2606
2678
  var LazyModel3DScene = React15.lazy(
2607
2679
  async () => {
2608
2680
  try {
2609
- return await import('./Model3DScene-I5SQKIZC.mjs');
2681
+ return await import('./Model3DScene-ZO6U7YVU.mjs');
2610
2682
  } catch {
2611
2683
  return { default: FailedToLoad2 };
2612
2684
  }
@@ -3575,17 +3647,13 @@ function SmartArtRendererImpl({
3575
3647
  }
3576
3648
  );
3577
3649
  } else {
3578
- const layout = computeSmartArtLayout(
3650
+ const layout = computeSmartArtElementLayout(
3651
+ smartArtData,
3579
3652
  revealedNodes,
3580
3653
  { width: element.width, height: element.height },
3581
3654
  palette,
3582
3655
  style,
3583
- element.id,
3584
- smartArtData.resolvedLayoutType,
3585
- smartArtData.layout,
3586
- void 0,
3587
- smartArtData.layoutDefinition,
3588
- smartArtData.presLayoutVars
3656
+ element.id
3589
3657
  );
3590
3658
  const nodeIds = flattenNodes(revealedNodes).map((n) => n.id);
3591
3659
  content = /* @__PURE__ */ jsx(SmartArtLayoutSvg, { layout, nodeIds, nodeLabels });
@@ -3690,20 +3758,19 @@ function SmartArt3DRenderer({
3690
3758
  if (element.type !== "smartArt" || !element.smartArtData) {
3691
3759
  return null;
3692
3760
  }
3693
- const { nodes, resolvedLayoutType, layout, chrome } = element.smartArtData;
3761
+ const { nodes, chrome } = element.smartArtData;
3694
3762
  if (nodes.length === 0) {
3695
3763
  return null;
3696
3764
  }
3697
3765
  const palette = resolvePalette2(element);
3698
3766
  const style = resolveStyle(element);
3699
- const layoutResult = computeSmartArtLayout(
3767
+ const layoutResult = computeSmartArtElementLayout(
3768
+ element.smartArtData,
3700
3769
  nodes,
3701
3770
  { width: element.width, height: element.height },
3702
3771
  palette,
3703
3772
  style,
3704
- element.id,
3705
- resolvedLayoutType,
3706
- layout
3773
+ element.id
3707
3774
  );
3708
3775
  return buildSmartArt3DModel(layoutResult, {
3709
3776
  background: chrome?.backgroundColor,
@@ -5805,7 +5872,7 @@ function AccountPage() {
5805
5872
  return void 0;
5806
5873
  });
5807
5874
  };
5808
- const version = "2.21.1" ;
5875
+ const version = "3.0.0" ;
5809
5876
  return /* @__PURE__ */ jsxs("div", { className: "mt-8 max-w-[700px] space-y-6", children: [
5810
5877
  /* @__PURE__ */ jsxs("section", { className: cardClass, children: [
5811
5878
  /* @__PURE__ */ jsxs("h2", { className: "flex items-center gap-2 text-sm font-semibold", children: [
@@ -14060,6 +14127,10 @@ function NotesMasterCanvas({
14060
14127
  }, [canvasSize.width, canvasSize.height, pageWidth, pageHeight]);
14061
14128
  const scaledWidth = pageWidth * scale;
14062
14129
  const scaledHeight = pageHeight * scale;
14130
+ const bodyFontSize = useMemo(
14131
+ () => resolveNotesSchematicBodyFontSizePx(notesMaster?.notesStyle, scale),
14132
+ [notesMaster?.notesStyle, scale]
14133
+ );
14063
14134
  const placeholders = useMemo(() => {
14064
14135
  if (!notesMaster?.placeholders) {
14065
14136
  return [
@@ -14125,13 +14196,14 @@ function NotesMasterCanvas({
14125
14196
  return /* @__PURE__ */ jsx(
14126
14197
  "div",
14127
14198
  {
14199
+ "data-region": ph.type,
14128
14200
  className: "absolute overflow-auto border border-solid border-gray-200 p-2",
14129
14201
  style: {
14130
14202
  left: pos.x * scaledWidth,
14131
14203
  top: pos.y * scaledHeight,
14132
14204
  width: pos.w * scaledWidth,
14133
14205
  height: pos.h * scaledHeight,
14134
- fontSize: Math.max(8, Math.min(11, scaledWidth * 0.015)),
14206
+ fontSize: bodyFontSize,
14135
14207
  lineHeight: 1.4,
14136
14208
  color: "#374151",
14137
14209
  whiteSpace: "pre-wrap"
@@ -15594,7 +15666,8 @@ function renderRichNotesSegments(segments) {
15594
15666
  }
15595
15667
  function NotesPrintDialog({
15596
15668
  slides,
15597
- onClose
15669
+ onClose,
15670
+ notesStyle
15598
15671
  }) {
15599
15672
  const { t } = useTranslation();
15600
15673
  const printFrameRef = useRef(null);
@@ -15605,57 +15678,12 @@ function NotesPrintDialog({
15605
15678
  }
15606
15679
  const doc = iframe.contentWindow.document;
15607
15680
  doc.open();
15608
- doc.write(`<!DOCTYPE html><html><head><style>
15609
- body { font-family: Arial, sans-serif; margin: 0; padding: 20px; color: #222; }
15610
- .slide-page { page-break-after: always; margin-bottom: 40px; }
15611
- .slide-page:last-child { page-break-after: auto; }
15612
- .slide-header { font-size: 14px; font-weight: bold; margin-bottom: 12px; color: #555; }
15613
- .slide-thumb { width: 100%; max-width: 600px; aspect-ratio: 16/9; background: #f0f0f0;
15614
- border: 1px solid #ccc; display: flex; align-items: center; justify-content: center;
15615
- color: #999; font-size: 24px; margin-bottom: 16px; }
15616
- .notes-text { font-size: 12px; line-height: 1.6; white-space: pre-wrap; }
15617
- .notes-text .bullet { margin-right: 6px; }
15618
- .notes-text .para { margin: 2px 0; }
15619
- @media print { body { padding: 0; } }
15620
- </style></head><body>`);
15621
- for (const slide of slides) {
15622
- const segs = getSlideNotesSegments(slide);
15623
- const paras = segmentsToParagraphs(segs);
15624
- doc.write(`<div class="slide-page">`);
15625
- doc.write(
15626
- `<div class="slide-header">${escapeHtml2(t("pptx.notes.slideN", { n: slide.slideNumber }))}</div>`
15627
- );
15628
- doc.write(
15629
- `<div class="slide-thumb">${escapeHtml2(t("pptx.notes.slideN", { n: slide.slideNumber }))}</div>`
15630
- );
15631
- doc.write(`<div class="notes-text">`);
15632
- let numCounter = 0;
15633
- for (const para of paras) {
15634
- if (para.bulletType === "numbered") {
15635
- numCounter++;
15636
- } else {
15637
- numCounter = 0;
15638
- }
15639
- const indent = para.indentLevel * 24;
15640
- let prefix = "";
15641
- if (para.bulletType === "bullet") {
15642
- prefix = "\u2022 ";
15643
- } else if (para.bulletType === "numbered") {
15644
- prefix = `${numCounter}. `;
15645
- }
15646
- const text = para.segments.filter((s) => !s.isParagraphBreak).map((s) => escapeHtml2(s.text)).join("");
15647
- doc.write(
15648
- `<div class="para" style="padding-left:${indent}px">${escapeHtml2(prefix)}${text}</div>`
15649
- );
15650
- }
15651
- doc.write(`</div></div>`);
15652
- }
15653
- doc.write(`</body></html>`);
15681
+ doc.write(buildNotesPrintHtml(slides, (n) => t("pptx.notes.slideN", { n }), notesStyle));
15654
15682
  doc.close();
15655
15683
  setTimeout(() => {
15656
15684
  iframe.contentWindow?.print();
15657
15685
  }, 200);
15658
- }, [slides, t]);
15686
+ }, [slides, t, notesStyle]);
15659
15687
  return /* @__PURE__ */ jsx("div", { className: "fixed inset-0 z-50 flex items-center justify-center bg-black/60", children: /* @__PURE__ */ jsxs("div", { className: "bg-background border border-border rounded-lg shadow-xl w-[640px] max-h-[80vh] flex flex-col max-md:fixed max-md:inset-x-0 max-md:bottom-0 max-md:top-auto max-md:w-full max-md:max-w-none max-md:max-h-[88dvh] max-md:rounded-t-2xl max-md:rounded-b-none max-md:border-x-0 max-md:border-b-0 max-md:pb-[max(env(safe-area-inset-bottom),0px)]", children: [
15660
15688
  /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between px-4 py-3 border-b border-border", children: [
15661
15689
  /* @__PURE__ */ jsx("span", { className: "text-sm font-medium text-foreground", children: t("pptx.notes.printNotes") }),
@@ -15670,7 +15698,7 @@ function NotesPrintDialog({
15670
15698
  )
15671
15699
  ] }),
15672
15700
  /* @__PURE__ */ jsx("div", { className: "flex-1 overflow-y-auto p-4 space-y-4", children: slides.map((slide) => {
15673
- const segs = getSlideNotesSegments(slide);
15701
+ const segs = resolveNotesSegments(slide, notesStyle);
15674
15702
  const hasText = segmentsToPlainText(segs).trim().length > 0;
15675
15703
  return /* @__PURE__ */ jsxs("div", { className: "border border-border/50 rounded p-3", children: [
15676
15704
  /* @__PURE__ */ jsx("div", { className: "text-xs font-medium text-muted-foreground mb-2", children: t("pptx.notes.slideN", { n: slide.slideNumber }) }),
@@ -15698,9 +15726,6 @@ function NotesPrintDialog({
15698
15726
  )
15699
15727
  ] }) });
15700
15728
  }
15701
- function getSlideNotesSegments(slide) {
15702
- return slide.notesSegments && slide.notesSegments.length > 0 ? slide.notesSegments : createPlainNotesSegments(slide.notes ?? "");
15703
- }
15704
15729
  function HyperlinkPopover({
15705
15730
  initialText,
15706
15731
  onInsert,
@@ -15921,11 +15946,12 @@ function useSlideNotes({
15921
15946
  isExpanded,
15922
15947
  canEdit,
15923
15948
  onToggle,
15924
- onUpdateNotes
15949
+ onUpdateNotes,
15950
+ notesStyle
15925
15951
  }) {
15926
15952
  const initialSegments = useMemo(
15927
- () => activeSlide?.notesSegments && activeSlide.notesSegments.length > 0 ? normalizeSegments(activeSlide.notesSegments) : createPlainNotesSegments(activeSlide?.notes ?? ""),
15928
- [activeSlide?.notes, activeSlide?.notesSegments]
15953
+ () => resolveNotesSegments(activeSlide, notesStyle),
15954
+ [activeSlide, notesStyle]
15929
15955
  );
15930
15956
  const [draft, setDraft] = useState(activeSlide?.notes ?? "");
15931
15957
  const [draftSegments, setDraftSegments] = useState(initialSegments);
@@ -15938,16 +15964,18 @@ function useSlideNotes({
15938
15964
  const savedSelectionRef = useRef(null);
15939
15965
  const isInternalInputRef = useRef(false);
15940
15966
  const lastSavedTextRef = useRef(null);
15967
+ const activeSlideRef = useRef(activeSlide);
15968
+ activeSlideRef.current = activeSlide;
15941
15969
  useEffect(() => {
15942
15970
  const nextText = activeSlide?.notes ?? "";
15943
15971
  if (nextText === lastSavedTextRef.current) {
15944
15972
  return;
15945
15973
  }
15946
- const nextSegments = activeSlide?.notesSegments && activeSlide.notesSegments.length > 0 ? normalizeSegments(activeSlide.notesSegments) : createPlainNotesSegments(nextText);
15974
+ const nextSegments = resolveNotesSegments(activeSlideRef.current, notesStyle);
15947
15975
  setDraft(nextText);
15948
15976
  setDraftSegments(nextSegments);
15949
15977
  setIsRichEditEnabled(nextSegments.length > 0);
15950
- }, [activeSlide?.id, activeSlide?.notes, activeSlide?.notesSegments]);
15978
+ }, [activeSlide?.id, activeSlide?.notes, activeSlide?.notesSegments, notesStyle]);
15951
15979
  useEffect(() => {
15952
15980
  if (!isRichEditEnabled || !isExpanded || !canEdit || !richEditorRef.current) {
15953
15981
  return;
@@ -16174,7 +16202,8 @@ function SlideNotesPanel({
16174
16202
  canEdit,
16175
16203
  onToggle,
16176
16204
  onUpdateNotes,
16177
- panelHeight
16205
+ panelHeight,
16206
+ notesStyle
16178
16207
  }) {
16179
16208
  const { t } = useTranslation();
16180
16209
  const {
@@ -16207,7 +16236,8 @@ function SlideNotesPanel({
16207
16236
  isExpanded,
16208
16237
  canEdit,
16209
16238
  onToggle,
16210
- onUpdateNotes
16239
+ onUpdateNotes,
16240
+ notesStyle
16211
16241
  });
16212
16242
  const hasNotes = draft.trim().length > 0;
16213
16243
  const slideLabel = activeSlide ? t("pptx.notes.slideN", { n: activeSlide.slideNumber }) : t("pptx.notes.noSlide");
@@ -16328,7 +16358,14 @@ function SlideNotesPanel({
16328
16358
  ]
16329
16359
  }
16330
16360
  ),
16331
- showPrintDialog && allSlides && /* @__PURE__ */ jsx(NotesPrintDialog, { slides: allSlides, onClose: () => setShowPrintDialog(false) })
16361
+ showPrintDialog && allSlides && /* @__PURE__ */ jsx(
16362
+ NotesPrintDialog,
16363
+ {
16364
+ slides: allSlides,
16365
+ onClose: () => setShowPrintDialog(false),
16366
+ notesStyle
16367
+ }
16368
+ )
16332
16369
  ]
16333
16370
  }
16334
16371
  )
@@ -20176,19 +20213,6 @@ var CARD2 = "rounded border border-border bg-card p-2 space-y-2";
20176
20213
  var INPUT2 = "flex-1 bg-muted border border-border rounded px-1.5 py-0.5 w-full";
20177
20214
  var BTN2 = "rounded bg-muted hover:bg-accent px-2 py-1 text-[11px] transition-colors";
20178
20215
  var CELL_INPUT = "bg-muted border border-border rounded px-1 py-0.5 text-[11px] w-full text-center";
20179
- var CHART_TYPE_OPTIONS = [
20180
- { value: "bar", labelKey: "pptx.chart.typeBar" },
20181
- { value: "line", labelKey: "pptx.chart.typeLine" },
20182
- { value: "pie", labelKey: "pptx.chart.typePie" },
20183
- { value: "doughnut", labelKey: "pptx.chart.typeDoughnut" },
20184
- { value: "area", labelKey: "pptx.chart.typeArea" },
20185
- { value: "scatter", labelKey: "pptx.chart.typeScatter" },
20186
- { value: "bubble", labelKey: "pptx.chart.typeBubble" },
20187
- { value: "radar", labelKey: "pptx.chart.typeRadar" },
20188
- { value: "stock", labelKey: "pptx.chart.typeStock" },
20189
- { value: "waterfall", labelKey: "pptx.chart.typeWaterfall" },
20190
- { value: "combo", labelKey: "pptx.chart.typeCombo" }
20191
- ];
20192
20216
  var GROUPING_OPTIONS = [
20193
20217
  { value: "clustered", labelKey: "pptx.chart.groupingClustered" },
20194
20218
  { value: "stacked", labelKey: "pptx.chart.groupingStacked" },
@@ -32194,7 +32218,8 @@ function ViewerBottomPanels({
32194
32218
  onSetMode,
32195
32219
  onToggleSlideSorter,
32196
32220
  hideStatusBar = false,
32197
- hiddenActions
32221
+ hiddenActions,
32222
+ notesStyle
32198
32223
  }) {
32199
32224
  const { isHidden } = useToolbarVisibility(hiddenActions);
32200
32225
  return /* @__PURE__ */ jsxs(Fragment, { children: [
@@ -32208,7 +32233,8 @@ function ViewerBottomPanels({
32208
32233
  canEdit,
32209
32234
  onToggle: onToggleNotes,
32210
32235
  onUpdateNotes,
32211
- panelHeight: notesPanelHeight
32236
+ panelHeight: notesPanelHeight,
32237
+ notesStyle
32212
32238
  }
32213
32239
  ),
32214
32240
  !hideStatusBar && /* @__PURE__ */ jsx(
@@ -34546,7 +34572,7 @@ ${url}`)) {
34546
34572
  var AiChatPanel = lazy(async () => {
34547
34573
  const [{ useChat }, { default: Panel }] = await Promise.all([
34548
34574
  import('@ai-sdk/react'),
34549
- import('./AiChatPanel-KDHDYBMP.mjs')
34575
+ import('./AiChatPanel-DMBQPAGB.mjs')
34550
34576
  ]);
34551
34577
  function BoundAiChatPanel(props) {
34552
34578
  return /* @__PURE__ */ jsx(Panel, { ...props, useChat });
@@ -37842,7 +37868,7 @@ var PowerPointViewer = forwardRef(
37842
37868
  mode,
37843
37869
  activeLayout: state.activeLayout,
37844
37870
  activeMaster: state.activeMaster,
37845
- presentationGridSpacing: state.presentationProperties.gridSpacing
37871
+ documentGridSpacing: state.viewProperties?.gridSpacing
37846
37872
  });
37847
37873
  const activeCustomShow = state.customShows.find((show) => show.id === state.activeCustomShowId) ?? null;
37848
37874
  const hasActivePointerInteraction = useCallback(
@@ -38236,7 +38262,8 @@ var PowerPointViewer = forwardRef(
38236
38262
  onSetMode: handleSetMode,
38237
38263
  onToggleSlideSorter: () => state.setShowSlideSorter((p) => !p),
38238
38264
  hideStatusBar: isMobile,
38239
- hiddenActions
38265
+ hiddenActions,
38266
+ notesStyle: state.notesMaster?.notesStyle
38240
38267
  }
38241
38268
  ),
38242
38269
  mode !== "present" && isMobile && /* @__PURE__ */ jsx(