pptx-react-viewer 2.22.0 → 3.0.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 (107) hide show
  1. package/CHANGELOG.md +16 -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-TWU72BY4.mjs → chunk-BGAJLL4N.mjs} +70 -18
  24. package/dist/chunk-BGAJLL4N.mjs.br +0 -0
  25. package/dist/chunk-BGAJLL4N.mjs.gz +0 -0
  26. package/dist/{chunk-XIBTR7KJ.mjs → chunk-H2ONCGFZ.mjs} +101 -100
  27. package/dist/chunk-H2ONCGFZ.mjs.br +0 -0
  28. package/dist/chunk-H2ONCGFZ.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-KK6DOUES.js → chunk-RSEZYBKT.js} +1131 -1130
  36. package/dist/chunk-RSEZYBKT.js.br +0 -0
  37. package/dist/chunk-RSEZYBKT.js.gz +0 -0
  38. package/dist/{chunk-7BZYDUNM.mjs → chunk-S6PFSR7I.mjs} +108 -255
  39. package/dist/chunk-S6PFSR7I.mjs.br +0 -0
  40. package/dist/chunk-S6PFSR7I.mjs.gz +0 -0
  41. package/dist/{chunk-34UAGEJM.js → chunk-SDOQKSKI.js} +13103 -6715
  42. package/dist/chunk-SDOQKSKI.js.br +0 -0
  43. package/dist/chunk-SDOQKSKI.js.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, 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, 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
  }
@@ -1680,13 +1680,18 @@ function ShapeEffectOverlay({
1680
1680
  if (!hasShapeProperties(element)) {
1681
1681
  return null;
1682
1682
  }
1683
- const overlay = getComputedEffectStyle(element).fillOverlay;
1683
+ const fx = getComputedEffectStyle(element);
1684
+ const overlay = fx.fillOverlay;
1685
+ const reflection = fx.reflection;
1684
1686
  const softEdge = getSoftEdgeSvgFilter(element.shapeStyle, element.id);
1685
1687
  const strokeOutline = buildStrokeOutline(element);
1686
1688
  const hollowHit = buildHollowHitOutline(element);
1687
- if (!overlay && !softEdge && !strokeOutline && !hollowHit) {
1689
+ const subpathFill = buildSubpathFillOverlay(element);
1690
+ if (!overlay && !softEdge && !strokeOutline && !hollowHit && !subpathFill && !reflection) {
1688
1691
  return null;
1689
1692
  }
1693
+ const reflectionFill = reflection && !isImageLikeElement(element) ? getComputedFillStyle(element) : void 0;
1694
+ const reflectionImgSrc = reflection && isImageLikeElement(element) ? imgSrc(element) : void 0;
1690
1695
  const fillOverlayStyle = overlay ? {
1691
1696
  position: "absolute",
1692
1697
  inset: 0,
@@ -1695,6 +1700,17 @@ function ShapeEffectOverlay({
1695
1700
  pointerEvents: "none"
1696
1701
  } : void 0;
1697
1702
  return /* @__PURE__ */ jsxs(Fragment, { children: [
1703
+ subpathFill ? /* @__PURE__ */ jsx(
1704
+ "svg",
1705
+ {
1706
+ className: "pptx-react-subpath-fill",
1707
+ "aria-hidden": "true",
1708
+ viewBox: `0 0 ${subpathFill.viewBoxWidth} ${subpathFill.viewBoxHeight}`,
1709
+ preserveAspectRatio: "none",
1710
+ style: { position: "absolute", inset: 0, width: "100%", height: "100%" },
1711
+ children: subpathFill.paints.map((paint, idx) => /* @__PURE__ */ jsx("path", { d: paint.d, fill: paint.fill, stroke: "none" }, idx))
1712
+ }
1713
+ ) : null,
1698
1714
  softEdge ? /* @__PURE__ */ jsx(
1699
1715
  "svg",
1700
1716
  {
@@ -1765,6 +1781,36 @@ function ShapeEffectOverlay({
1765
1781
  }
1766
1782
  )
1767
1783
  }
1784
+ ) : null,
1785
+ reflection ? /* @__PURE__ */ jsx(
1786
+ "div",
1787
+ {
1788
+ className: "pptx-react-reflection",
1789
+ "aria-hidden": "true",
1790
+ style: reflection,
1791
+ children: reflectionImgSrc ? /* @__PURE__ */ jsx(
1792
+ "img",
1793
+ {
1794
+ src: reflectionImgSrc,
1795
+ alt: "",
1796
+ draggable: false,
1797
+ style: { width: "100%", height: "100%", ...getImageRenderStyle(element) }
1798
+ }
1799
+ ) : reflectionFill ? /* @__PURE__ */ jsx(
1800
+ "div",
1801
+ {
1802
+ style: {
1803
+ width: "100%",
1804
+ height: "100%",
1805
+ backgroundColor: reflectionFill.backgroundColor,
1806
+ backgroundImage: reflectionFill.backgroundImage,
1807
+ backgroundSize: reflectionFill.backgroundSize,
1808
+ backgroundPosition: reflectionFill.backgroundPosition,
1809
+ backgroundRepeat: reflectionFill.backgroundRepeat
1810
+ }
1811
+ }
1812
+ ) : null
1813
+ }
1768
1814
  ) : null
1769
1815
  ] });
1770
1816
  }
@@ -2606,7 +2652,7 @@ function FailedToLoad2() {
2606
2652
  var LazyModel3DScene = React15.lazy(
2607
2653
  async () => {
2608
2654
  try {
2609
- return await import('./Model3DScene-I5SQKIZC.mjs');
2655
+ return await import('./Model3DScene-ZO6U7YVU.mjs');
2610
2656
  } catch {
2611
2657
  return { default: FailedToLoad2 };
2612
2658
  }
@@ -3575,17 +3621,13 @@ function SmartArtRendererImpl({
3575
3621
  }
3576
3622
  );
3577
3623
  } else {
3578
- const layout = computeSmartArtLayout(
3624
+ const layout = computeSmartArtElementLayout(
3625
+ smartArtData,
3579
3626
  revealedNodes,
3580
3627
  { width: element.width, height: element.height },
3581
3628
  palette,
3582
3629
  style,
3583
- element.id,
3584
- smartArtData.resolvedLayoutType,
3585
- smartArtData.layout,
3586
- void 0,
3587
- smartArtData.layoutDefinition,
3588
- smartArtData.presLayoutVars
3630
+ element.id
3589
3631
  );
3590
3632
  const nodeIds = flattenNodes(revealedNodes).map((n) => n.id);
3591
3633
  content = /* @__PURE__ */ jsx(SmartArtLayoutSvg, { layout, nodeIds, nodeLabels });
@@ -3690,20 +3732,19 @@ function SmartArt3DRenderer({
3690
3732
  if (element.type !== "smartArt" || !element.smartArtData) {
3691
3733
  return null;
3692
3734
  }
3693
- const { nodes, resolvedLayoutType, layout, chrome } = element.smartArtData;
3735
+ const { nodes, chrome } = element.smartArtData;
3694
3736
  if (nodes.length === 0) {
3695
3737
  return null;
3696
3738
  }
3697
3739
  const palette = resolvePalette2(element);
3698
3740
  const style = resolveStyle(element);
3699
- const layoutResult = computeSmartArtLayout(
3741
+ const layoutResult = computeSmartArtElementLayout(
3742
+ element.smartArtData,
3700
3743
  nodes,
3701
3744
  { width: element.width, height: element.height },
3702
3745
  palette,
3703
3746
  style,
3704
- element.id,
3705
- resolvedLayoutType,
3706
- layout
3747
+ element.id
3707
3748
  );
3708
3749
  return buildSmartArt3DModel(layoutResult, {
3709
3750
  background: chrome?.backgroundColor,
@@ -5805,7 +5846,7 @@ function AccountPage() {
5805
5846
  return void 0;
5806
5847
  });
5807
5848
  };
5808
- const version = "2.21.1" ;
5849
+ const version = "2.22.0" ;
5809
5850
  return /* @__PURE__ */ jsxs("div", { className: "mt-8 max-w-[700px] space-y-6", children: [
5810
5851
  /* @__PURE__ */ jsxs("section", { className: cardClass, children: [
5811
5852
  /* @__PURE__ */ jsxs("h2", { className: "flex items-center gap-2 text-sm font-semibold", children: [
@@ -14060,6 +14101,10 @@ function NotesMasterCanvas({
14060
14101
  }, [canvasSize.width, canvasSize.height, pageWidth, pageHeight]);
14061
14102
  const scaledWidth = pageWidth * scale;
14062
14103
  const scaledHeight = pageHeight * scale;
14104
+ const bodyFontSize = useMemo(
14105
+ () => resolveNotesSchematicBodyFontSizePx(notesMaster?.notesStyle, scale),
14106
+ [notesMaster?.notesStyle, scale]
14107
+ );
14063
14108
  const placeholders = useMemo(() => {
14064
14109
  if (!notesMaster?.placeholders) {
14065
14110
  return [
@@ -14125,13 +14170,14 @@ function NotesMasterCanvas({
14125
14170
  return /* @__PURE__ */ jsx(
14126
14171
  "div",
14127
14172
  {
14173
+ "data-region": ph.type,
14128
14174
  className: "absolute overflow-auto border border-solid border-gray-200 p-2",
14129
14175
  style: {
14130
14176
  left: pos.x * scaledWidth,
14131
14177
  top: pos.y * scaledHeight,
14132
14178
  width: pos.w * scaledWidth,
14133
14179
  height: pos.h * scaledHeight,
14134
- fontSize: Math.max(8, Math.min(11, scaledWidth * 0.015)),
14180
+ fontSize: bodyFontSize,
14135
14181
  lineHeight: 1.4,
14136
14182
  color: "#374151",
14137
14183
  whiteSpace: "pre-wrap"
@@ -15594,7 +15640,8 @@ function renderRichNotesSegments(segments) {
15594
15640
  }
15595
15641
  function NotesPrintDialog({
15596
15642
  slides,
15597
- onClose
15643
+ onClose,
15644
+ notesStyle
15598
15645
  }) {
15599
15646
  const { t } = useTranslation();
15600
15647
  const printFrameRef = useRef(null);
@@ -15605,57 +15652,12 @@ function NotesPrintDialog({
15605
15652
  }
15606
15653
  const doc = iframe.contentWindow.document;
15607
15654
  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>`);
15655
+ doc.write(buildNotesPrintHtml(slides, (n) => t("pptx.notes.slideN", { n }), notesStyle));
15654
15656
  doc.close();
15655
15657
  setTimeout(() => {
15656
15658
  iframe.contentWindow?.print();
15657
15659
  }, 200);
15658
- }, [slides, t]);
15660
+ }, [slides, t, notesStyle]);
15659
15661
  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
15662
  /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between px-4 py-3 border-b border-border", children: [
15661
15663
  /* @__PURE__ */ jsx("span", { className: "text-sm font-medium text-foreground", children: t("pptx.notes.printNotes") }),
@@ -15670,7 +15672,7 @@ function NotesPrintDialog({
15670
15672
  )
15671
15673
  ] }),
15672
15674
  /* @__PURE__ */ jsx("div", { className: "flex-1 overflow-y-auto p-4 space-y-4", children: slides.map((slide) => {
15673
- const segs = getSlideNotesSegments(slide);
15675
+ const segs = resolveNotesSegments(slide, notesStyle);
15674
15676
  const hasText = segmentsToPlainText(segs).trim().length > 0;
15675
15677
  return /* @__PURE__ */ jsxs("div", { className: "border border-border/50 rounded p-3", children: [
15676
15678
  /* @__PURE__ */ jsx("div", { className: "text-xs font-medium text-muted-foreground mb-2", children: t("pptx.notes.slideN", { n: slide.slideNumber }) }),
@@ -15698,9 +15700,6 @@ function NotesPrintDialog({
15698
15700
  )
15699
15701
  ] }) });
15700
15702
  }
15701
- function getSlideNotesSegments(slide) {
15702
- return slide.notesSegments && slide.notesSegments.length > 0 ? slide.notesSegments : createPlainNotesSegments(slide.notes ?? "");
15703
- }
15704
15703
  function HyperlinkPopover({
15705
15704
  initialText,
15706
15705
  onInsert,
@@ -15921,11 +15920,12 @@ function useSlideNotes({
15921
15920
  isExpanded,
15922
15921
  canEdit,
15923
15922
  onToggle,
15924
- onUpdateNotes
15923
+ onUpdateNotes,
15924
+ notesStyle
15925
15925
  }) {
15926
15926
  const initialSegments = useMemo(
15927
- () => activeSlide?.notesSegments && activeSlide.notesSegments.length > 0 ? normalizeSegments(activeSlide.notesSegments) : createPlainNotesSegments(activeSlide?.notes ?? ""),
15928
- [activeSlide?.notes, activeSlide?.notesSegments]
15927
+ () => resolveNotesSegments(activeSlide, notesStyle),
15928
+ [activeSlide, notesStyle]
15929
15929
  );
15930
15930
  const [draft, setDraft] = useState(activeSlide?.notes ?? "");
15931
15931
  const [draftSegments, setDraftSegments] = useState(initialSegments);
@@ -15938,16 +15938,18 @@ function useSlideNotes({
15938
15938
  const savedSelectionRef = useRef(null);
15939
15939
  const isInternalInputRef = useRef(false);
15940
15940
  const lastSavedTextRef = useRef(null);
15941
+ const activeSlideRef = useRef(activeSlide);
15942
+ activeSlideRef.current = activeSlide;
15941
15943
  useEffect(() => {
15942
15944
  const nextText = activeSlide?.notes ?? "";
15943
15945
  if (nextText === lastSavedTextRef.current) {
15944
15946
  return;
15945
15947
  }
15946
- const nextSegments = activeSlide?.notesSegments && activeSlide.notesSegments.length > 0 ? normalizeSegments(activeSlide.notesSegments) : createPlainNotesSegments(nextText);
15948
+ const nextSegments = resolveNotesSegments(activeSlideRef.current, notesStyle);
15947
15949
  setDraft(nextText);
15948
15950
  setDraftSegments(nextSegments);
15949
15951
  setIsRichEditEnabled(nextSegments.length > 0);
15950
- }, [activeSlide?.id, activeSlide?.notes, activeSlide?.notesSegments]);
15952
+ }, [activeSlide?.id, activeSlide?.notes, activeSlide?.notesSegments, notesStyle]);
15951
15953
  useEffect(() => {
15952
15954
  if (!isRichEditEnabled || !isExpanded || !canEdit || !richEditorRef.current) {
15953
15955
  return;
@@ -16174,7 +16176,8 @@ function SlideNotesPanel({
16174
16176
  canEdit,
16175
16177
  onToggle,
16176
16178
  onUpdateNotes,
16177
- panelHeight
16179
+ panelHeight,
16180
+ notesStyle
16178
16181
  }) {
16179
16182
  const { t } = useTranslation();
16180
16183
  const {
@@ -16207,7 +16210,8 @@ function SlideNotesPanel({
16207
16210
  isExpanded,
16208
16211
  canEdit,
16209
16212
  onToggle,
16210
- onUpdateNotes
16213
+ onUpdateNotes,
16214
+ notesStyle
16211
16215
  });
16212
16216
  const hasNotes = draft.trim().length > 0;
16213
16217
  const slideLabel = activeSlide ? t("pptx.notes.slideN", { n: activeSlide.slideNumber }) : t("pptx.notes.noSlide");
@@ -16328,7 +16332,14 @@ function SlideNotesPanel({
16328
16332
  ]
16329
16333
  }
16330
16334
  ),
16331
- showPrintDialog && allSlides && /* @__PURE__ */ jsx(NotesPrintDialog, { slides: allSlides, onClose: () => setShowPrintDialog(false) })
16335
+ showPrintDialog && allSlides && /* @__PURE__ */ jsx(
16336
+ NotesPrintDialog,
16337
+ {
16338
+ slides: allSlides,
16339
+ onClose: () => setShowPrintDialog(false),
16340
+ notesStyle
16341
+ }
16342
+ )
16332
16343
  ]
16333
16344
  }
16334
16345
  )
@@ -20176,19 +20187,6 @@ var CARD2 = "rounded border border-border bg-card p-2 space-y-2";
20176
20187
  var INPUT2 = "flex-1 bg-muted border border-border rounded px-1.5 py-0.5 w-full";
20177
20188
  var BTN2 = "rounded bg-muted hover:bg-accent px-2 py-1 text-[11px] transition-colors";
20178
20189
  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
20190
  var GROUPING_OPTIONS = [
20193
20191
  { value: "clustered", labelKey: "pptx.chart.groupingClustered" },
20194
20192
  { value: "stacked", labelKey: "pptx.chart.groupingStacked" },
@@ -32194,7 +32192,8 @@ function ViewerBottomPanels({
32194
32192
  onSetMode,
32195
32193
  onToggleSlideSorter,
32196
32194
  hideStatusBar = false,
32197
- hiddenActions
32195
+ hiddenActions,
32196
+ notesStyle
32198
32197
  }) {
32199
32198
  const { isHidden } = useToolbarVisibility(hiddenActions);
32200
32199
  return /* @__PURE__ */ jsxs(Fragment, { children: [
@@ -32208,7 +32207,8 @@ function ViewerBottomPanels({
32208
32207
  canEdit,
32209
32208
  onToggle: onToggleNotes,
32210
32209
  onUpdateNotes,
32211
- panelHeight: notesPanelHeight
32210
+ panelHeight: notesPanelHeight,
32211
+ notesStyle
32212
32212
  }
32213
32213
  ),
32214
32214
  !hideStatusBar && /* @__PURE__ */ jsx(
@@ -34546,7 +34546,7 @@ ${url}`)) {
34546
34546
  var AiChatPanel = lazy(async () => {
34547
34547
  const [{ useChat }, { default: Panel }] = await Promise.all([
34548
34548
  import('@ai-sdk/react'),
34549
- import('./AiChatPanel-KDHDYBMP.mjs')
34549
+ import('./AiChatPanel-DMBQPAGB.mjs')
34550
34550
  ]);
34551
34551
  function BoundAiChatPanel(props) {
34552
34552
  return /* @__PURE__ */ jsx(Panel, { ...props, useChat });
@@ -37842,7 +37842,7 @@ var PowerPointViewer = forwardRef(
37842
37842
  mode,
37843
37843
  activeLayout: state.activeLayout,
37844
37844
  activeMaster: state.activeMaster,
37845
- presentationGridSpacing: state.presentationProperties.gridSpacing
37845
+ documentGridSpacing: state.viewProperties?.gridSpacing
37846
37846
  });
37847
37847
  const activeCustomShow = state.customShows.find((show) => show.id === state.activeCustomShowId) ?? null;
37848
37848
  const hasActivePointerInteraction = useCallback(
@@ -38236,7 +38236,8 @@ var PowerPointViewer = forwardRef(
38236
38236
  onSetMode: handleSetMode,
38237
38237
  onToggleSlideSorter: () => state.setShowSlideSorter((p) => !p),
38238
38238
  hideStatusBar: isMobile,
38239
- hiddenActions
38239
+ hiddenActions,
38240
+ notesStyle: state.notesMaster?.notesStyle
38240
38241
  }
38241
38242
  ),
38242
38243
  mode !== "present" && isMobile && /* @__PURE__ */ jsx(
Binary file
Binary file
@@ -1,4 +1,4 @@
1
- import { ThemePresets, PptxMarkdownConverter } from './chunk-57TM4MV4.mjs';
1
+ import { ThemePresets, PptxMarkdownConverter } from './chunk-OXPD2UYI.mjs';
2
2
  import { __export } from './chunk-XGB3TDIC.mjs';
3
3
  import * as mcp from 'pptx-viewer-mcp';
4
4
  import * as mcpSchemas from 'pptx-viewer-mcp/schemas';
Binary file
Binary file