pptx-react-viewer 4.39.0 → 4.40.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 (85) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/dist/{AiChatPanel-5O6PHRSH.mjs → AiChatPanel-IDP326YW.mjs} +1 -1
  3. package/dist/AiChatPanel-IDP326YW.mjs.br +0 -0
  4. package/dist/AiChatPanel-IDP326YW.mjs.gz +0 -0
  5. package/dist/{AiChatPanel-FNHDAKPB.js → AiChatPanel-KEVVVR7C.js} +9 -9
  6. package/dist/AiChatPanel-KEVVVR7C.js.br +0 -0
  7. package/dist/AiChatPanel-KEVVVR7C.js.gz +0 -0
  8. package/dist/{chunk-43TOUP5U.js → chunk-3PKYNJJG.js} +8 -14
  9. package/dist/chunk-3PKYNJJG.js.br +0 -0
  10. package/dist/chunk-3PKYNJJG.js.gz +0 -0
  11. package/dist/{chunk-5XBS7MCX.mjs → chunk-EQTNWM5Y.mjs} +16 -6
  12. package/dist/chunk-EQTNWM5Y.mjs.br +0 -0
  13. package/dist/chunk-EQTNWM5Y.mjs.gz +0 -0
  14. package/dist/{chunk-UC2VQORY.mjs → chunk-MNT2CXDI.mjs} +9 -15
  15. package/dist/chunk-MNT2CXDI.mjs.br +0 -0
  16. package/dist/chunk-MNT2CXDI.mjs.gz +0 -0
  17. package/dist/{chunk-TYULCCA6.mjs → chunk-MZKSWYSM.mjs} +247 -101
  18. package/dist/chunk-MZKSWYSM.mjs.br +0 -0
  19. package/dist/chunk-MZKSWYSM.mjs.gz +0 -0
  20. package/dist/{chunk-HOKZJLT5.js → chunk-QJ4X7Y7S.js} +258 -248
  21. package/dist/chunk-QJ4X7Y7S.js.br +0 -0
  22. package/dist/chunk-QJ4X7Y7S.js.gz +0 -0
  23. package/dist/{chunk-2LNWGZPT.js → chunk-WM7LBTSB.js} +1546 -1400
  24. package/dist/chunk-WM7LBTSB.js.br +0 -0
  25. package/dist/chunk-WM7LBTSB.js.gz +0 -0
  26. package/dist/i18n/de.cjs +321 -50
  27. package/dist/i18n/de.cjs.br +0 -0
  28. package/dist/i18n/de.cjs.gz +0 -0
  29. package/dist/i18n/de.mjs +321 -50
  30. package/dist/i18n/de.mjs.br +0 -0
  31. package/dist/i18n/de.mjs.gz +0 -0
  32. package/dist/i18n/es.cjs +326 -55
  33. package/dist/i18n/es.cjs.br +0 -0
  34. package/dist/i18n/es.cjs.gz +0 -0
  35. package/dist/i18n/es.mjs +326 -55
  36. package/dist/i18n/es.mjs.br +0 -0
  37. package/dist/i18n/es.mjs.gz +0 -0
  38. package/dist/i18n/fr.cjs +338 -67
  39. package/dist/i18n/fr.cjs.br +0 -0
  40. package/dist/i18n/fr.cjs.gz +0 -0
  41. package/dist/i18n/fr.mjs +338 -67
  42. package/dist/i18n/fr.mjs.br +0 -0
  43. package/dist/i18n/fr.mjs.gz +0 -0
  44. package/dist/i18n/zh-CN.cjs +330 -59
  45. package/dist/i18n/zh-CN.cjs.br +0 -0
  46. package/dist/i18n/zh-CN.cjs.gz +0 -0
  47. package/dist/i18n/zh-CN.mjs +330 -59
  48. package/dist/i18n/zh-CN.mjs.br +0 -0
  49. package/dist/i18n/zh-CN.mjs.gz +0 -0
  50. package/dist/index.js +24 -24
  51. package/dist/index.js.br +0 -0
  52. package/dist/index.js.gz +0 -0
  53. package/dist/index.mjs +3 -3
  54. package/dist/index.mjs.br +0 -0
  55. package/dist/index.mjs.gz +0 -0
  56. package/dist/internals.d.ts +19 -0
  57. package/dist/internals.js +81 -81
  58. package/dist/internals.js.br +0 -0
  59. package/dist/internals.js.gz +0 -0
  60. package/dist/internals.mjs +2 -2
  61. package/dist/internals.mjs.br +0 -0
  62. package/dist/internals.mjs.gz +0 -0
  63. package/dist/viewer/index.js +19 -19
  64. package/dist/viewer/index.js.br +0 -0
  65. package/dist/viewer/index.js.gz +0 -0
  66. package/dist/viewer/index.mjs +3 -3
  67. package/dist/viewer/index.mjs.br +0 -0
  68. package/dist/viewer/index.mjs.gz +0 -0
  69. package/package.json +3 -3
  70. package/dist/AiChatPanel-5O6PHRSH.mjs.br +0 -0
  71. package/dist/AiChatPanel-5O6PHRSH.mjs.gz +0 -0
  72. package/dist/AiChatPanel-FNHDAKPB.js.br +0 -0
  73. package/dist/AiChatPanel-FNHDAKPB.js.gz +0 -0
  74. package/dist/chunk-2LNWGZPT.js.br +0 -0
  75. package/dist/chunk-2LNWGZPT.js.gz +0 -0
  76. package/dist/chunk-43TOUP5U.js.br +0 -0
  77. package/dist/chunk-43TOUP5U.js.gz +0 -0
  78. package/dist/chunk-5XBS7MCX.mjs.br +0 -0
  79. package/dist/chunk-5XBS7MCX.mjs.gz +0 -0
  80. package/dist/chunk-HOKZJLT5.js.br +0 -0
  81. package/dist/chunk-HOKZJLT5.js.gz +0 -0
  82. package/dist/chunk-TYULCCA6.mjs.br +0 -0
  83. package/dist/chunk-TYULCCA6.mjs.gz +0 -0
  84. package/dist/chunk-UC2VQORY.mjs.br +0 -0
  85. package/dist/chunk-UC2VQORY.mjs.gz +0 -0
@@ -1,8 +1,8 @@
1
- import { useViewerOptions, useReadOnlyRecommendationState, useCompatibilityToastsState, useReducedMotion, useViewerState, useIsMobile, useResizablePanels, useDerivedSlideState, useZoomViewport, useEditorHistory, usePresentationSetup, useTouchGestures, useViewerDialogs, useEditorOperations, useViewerIntegration, useViewPreferencesSync, useLayoutSwitching, Rendering3DFlagsContext, CollaborationProvider, ChartFormatContext, useCollaboration, useCollaborationDocumentSync, useFollowMode, useBroadcastFollower, SlideBackgroundImageLayer, StaticElementRenderer, safePrompt, scopeLayoutOptionsToActiveSlide, createReviewCommentsHost, ChartPartSelectionProvider, useToolbarVisibility, useKeyboardInsets, useModalDismissDrag, ViewerOptionsStoreContext, ViewerOptionsContext, useViewerOptionsContext, useVirtualizedSlides, useSwipeNavigation, PresentationTransitionOverlay, RemoteSelectionOverlay, CollaborationCursorOverlay, useSheetDismissDrag, detectTargetType, parseEmailUrl, parseSlideFromUrl, ACTION_VERB_MAP, ElementRenderer, InlineCollaborationContext, useChartFormatContext, SmartArtRenderer, downloadBlob, playAnimationSound, ResizeHandles, imgSrc, renderStrokeView, useChartPartSelection, DUOTONE_PRESETS, getSlideTransitionAnimations, SLIDE_TRANSITION_KEYFRAMES, resolveSmartArtDataPalette } from './chunk-5XBS7MCX.mjs';
2
- import { ANIMATION_PRESET_OPTIONS, dist_exports, cn, SLIDE_NAV_THUMBNAIL_WIDTH, SLIDE_TRANSITION_OPTIONS, normalizeHexColor, hasCopyableFormat, DEFAULT_SECTION_GROUP_ID, safeOpenUrl, isPpactionUrl, parsePpactionUrl, SHORTCUT_REFERENCE_ITEMS, TOOLBAR_SECTIONS, isUrlSafe, computeHandoutLayout, getPrintableArea, generateNoteLineCount, UNGROUPED_SECTION_ID, getShapeAdjustmentHandleDescriptors, isConnectorOrLineElement, GRID_SIZE, getElementTransformWithoutRotation, getElementTransform, MIN_ELEMENT_SIZE, getElementLabel, TABLE_STYLE_PRESETS, SHAPE_PRESETS, sanitizeGradientStops, formatCommentTimestamp, clampCropValue, CONNECTOR_ARROW_OPTIONS, ARROW_SIZE_OPTIONS, DEFAULT_FILL_COLOR, startMotionPathPreview, startPreviewAnimation, stopPreviewAnimation, SHAPE_QUICK_STYLES, getPatternSvg, DEFAULT_STROKE_COLOR, STROKE_DASH_OPTIONS, openNativeEyeDropper } from './chunk-UC2VQORY.mjs';
3
- import { EMPTY_RESOLVED_CUSTOMIZATION, ANIMATION_DIRECTION_LABEL_KEYS, compileEquationTemplateMathMl, resolveViewerRootOptions, buildUserFontFaceStyles, readStoredViewerPrefs, resolveThemeCatalogEntry, THEME_CATALOG, writeStoredViewerPrefs, openPptxFile, readBackstageRecentFile, isFeatureEnabled, isDialogAvailable, isEditingAllowed, resolveAutosaveActivation, viewerOptionsToPreferences, applyPreferenceToOptions, resolveHistoryDepth, attachViewerHyperlinks, shouldConfirmExternalHyperlink, applyAutoCorrect, resolveImageResolutionScale, resolveAutosaveIntervalMs, resolveAutosaveIntervalSeconds, createSlidePackageClipboard, isPanelVisible, shouldShowAutosaveRecoveryPrompt, resolveOptionRootClasses, RIBBON_SCOPE_ATTR, resolve3DRenderingFlags, resolveSlideSizeSelection, RULER_THICKNESS, RULER_FONT_SIZE, editorThumbnailHeight, buildPreviewElements, deriveSlideFieldContext, deviceStrokeStageStyle, hiddenSlideCue, EDITOR_THUMBNAIL_WIDTH, HIDDEN_SLIDE_SLASH_GRADIENT, HIDDEN_SLIDE_LABEL_KEY, visibleTemplateElements, themeToCssVars, createCustomizationController, resolveEffectiveHiddenActions, listAutosaveSnapshots, resolveExpiredAutosaveSnapshots, deleteAutosaveSnapshot, tableLayoutCells, resetChartFormatTarget, masterViewCrudActions, applyMasterViewCrudAction, masterViewCrudFailureKey, EDITOR_CHROME_CSS, ribbonCustomizationCss, applyMotionPathPreset, resetSlideLayoutPath, DEFAULT_INSERT_CHART_KIND, templateSchemeFromTheme, createBackstagePresentation, playFeedbackSound, shouldDiscardAutosaveOnSuccessfulSave, buildFieldSubstitutionContext, setMasterViewBackgroundColor, canUseClipboard, runProgramNoticeStackStyle, observeElementHeight, printPropertiesFrameSlides, printPropertiesSlidesPerPage, PASTE_SPECIAL_OPTIONS, findCanvasElementNode, isHeaderFooterDateTextVisible, isHeaderFooterHeaderTextVisible, isHeaderFooterFooterTextVisible, getDensePanelTouchTargetPx, shouldStickyActionRow, buildJoinCollaborationConfig, buildCreateCollaborationConfig, generateBroadcastRoomId, DEFAULT_BROADCAST_SERVER_URL, buildBroadcastViewerUrl, resolveTransportForServerUrl, getSlideBackgroundStyle, pushRecentColor, mruColorsPatch, shouldClearAutosaveCacheOnClose, canCropElement, cropSessionChanged, cancelCropUpdate, startCropSession, homeLaunchers, attachRibbonOverflow, getRegionRenderer, ViewerRegionHost, editorThumbnailWidth, masterViewBackgroundColor, resolvePresentationAction, isPresentationAdvanceClick, toggleBlackboard, PRESENT_TOOLBAR_CLASSES, resolveEditPointsAvailability, isCurrentLayout, EXPANDED_MAX_HEIGHT, resolveStatusBarSave, statusBarViewMode, formatVersionTimestamp, formatRelativeTime, scanAvailableFontFamilies, PRESETS, CATEGORIES, convertOmmlToLatex, compileLatexEquation, convertLatexToOmml, EQUATION_TEMPLATES, clampPercent, resolveDefaultPrintSettings, HANDOUT_OPTIONS, bindPptxOptionsDialog, optionsBlockSlot, optionsPaneSlot, DEFAULT_QUICK_ACCESS_COMMAND_IDS, AI_OPTIONS_CATEGORY, activateModalFocus, buildCollaborationShareUrl, buildActiveSessionUsers, slideClipboardLabels, sorterPasteInsertAt, SORTER_MIN_ZOOM, SORTER_ZOOM_STEP, SORTER_MAX_ZOOM, canGoPrevious, formatSlideCounter, READING_VIEW_COUNTER_ATTR, canGoNext, READING_VIEW_ATTR, listenForOutlineViewDismiss, OUTLINE_LEVEL_ATTR, OUTLINE_SLIDE_ATTR, OUTLINE_ROW_ATTR, OUTLINE_VIEW_ATTR, mobileElapsedSince, nextPresentedSlide, presenterPrevDisabled, presenterNextDisabled, formatMobileElapsed, mobileSlideCounter, presenterPaneAdvancesOnClick, presenterTimerProgress, PRESENTER_CONSOLE_CLASSES, formatElapsed, cropModeKeyAction, buildTitleBarState, resolveScreenTip, visibleContextualTabs, resolveActiveRibbonTab, visibleRibbonAddIns, RIBBON_ADD_IN_TAB_ATTR, contextualTabLabelKey, RIBBON_CONTEXTUAL_TAB_ATTR, buildTabRowActionsState, TAB_ROW_ACTION_CLASSES, tabRowActionsAttributes, backstageNavEntries, BACKSTAGE_NAV, listBackstageRecentFiles, BACKSTAGE_BACK_CLASSES, BACKSTAGE_NAV_CLASSES, FREEFORM_TOOL_IDS, isDrawingToolVisible, textFontSizePtToPx, withHomeGalleries, drawingHomeControls, homeGalleryControls, homeGalleryApply, shapeOutlineChange, shapeFillChange, editingHomeControls, arrangeHomeControls, arrangePainterHomeControls, arrangeAlignAction, DESIGN_RIBBON_GROUPS, FIXED_TAB_GALLERIES, DESIGN_RIBBON_COMMANDS, designCommandState, CONTEXTUAL_TAB_GROUPS, editorThumbnailStep, resolveSlidePaneClick, SLIDE_VIRTUALIZATION_THRESHOLD, buildSectionContextMenuEntries, buildSlidePaneContextMenuEntries, slidePaneViewItems, isEditPointsEnabled, findReplacementAvailability, PRESENTATION_HIT_TEST_CSS, PRESENTATION_STAGE_ATTRIBUTE, buildStrokePathD, cursorForTool, annotationOverlayZIndex, presentationInkPath, resolveNotesSchematicBodyFontSizePx, PRESENTER_NAVIGATOR_LABEL_KEYS, getPresentationContextMenuSections, CONTEXT_MENU_PRESENTATION_LAYER, presentationViewItems, subtitleRecognitionLanguage, subtitleSettingsFromOptions, getSpeechRecognitionCtor, mergeCaptionResults, customizeContextMenuEntries, buildContextMenuEntries, contextMenuViewItems, customizeCanvasContextMenuEntries, buildCanvasContextMenuEntries, buildLayoutPreviewGeometry, scaleSlidesForSizeChange, slideSizeToCanvasPx, resolveSelectionPaneRename, themeEditorLabels, resolveNotesSegments, defaultRichEnabled, segmentsToEditorHtml, DEBOUNCE_MS, createPlainNotesSegments, parseSegmentsFromRichEditor, segmentsToPlainText, getCurrentParagraphIndex, segmentsToParagraphs, paragraphsToSegments, MAX_INDENT_LEVEL, INDENT_PX as INDENT_PX$1, buildNotesPrintHtml, MIN_TOUCH_TARGET_PX, toggleSheet, SMARTART_PREVIEW_ELEMENT_HEIGHT, SMARTART_PREVIEW_ELEMENT_WIDTH, buildSmartArtPreviewElement, sanitizeMathMl, computeAllNotesPages, getNotesPrintableArea, CUSTOM_FONT_ACCEPT, TOOLBAR_TABS, SHORTCUT_REFERENCE_ITEMS as SHORTCUT_REFERENCE_ITEMS$1, availableQuickAccessCommands, addQuickAccessCommand, removeQuickAccessCommand, moveQuickAccessCommand, resolveViewerAddinRows, createSlideSorterState, sorterSelectionIndexes, selectSorterSlide, applySorterAction, sorterGridColumns, sorterMenuContext, buildSlideSorterContextMenuEntries, slideSorterContextMenuLabel, openReadingView, applyReadingViewCommand, createPresentationKeyBuffer, readingViewFitScale, READING_VIEW_STAGE_ATTR, buildOutline, applyOutlineEdit, mapOutlineKey, notesSegmentsToSpans, erasePresentationInkAt, movePresenterPointer, appendPresentationInkPoint, presenterConsoleAction, presenterConsoleViewState, NOTES_FONT_SIZE_DEFAULT, formatTime, NOTES_FONT_SIZE_MIN, clampNotesFontSize, NOTES_FONT_SIZE_STEP, NOTES_FONT_SIZE_MAX, BACKSTAGE_TEMPLATES, formatBackstageDate, formatBackstageSize, customizeBackstageCards, backstageCardsFor, DEFAULT_VIEWER_PROFILE, resolveProfileInitial, AVATAR_COLOR_SWATCHES, clipboardHomeControls, slidesHomeControls, resolveInsertSlideLayout, SLIDE_TEMPLATES, resolveDefaultFontFamily, textFontSizePxToPt, getInlineEditorSelectionResult, selectedParagraphBulletKind, elementBulletKind, selectionBulletKind, fontPickerHomeControls, fontHomeControls, nextToggleValue, RIBBON_GROUP_ATTR, paragraphHomeAlign, paragraphHomeControls, paragraphHomeAction, arrangeShapeHomeControls, strokeWidthOf, canSetStrokeWidth, canUngroupSelection, canGroupSelection, buildRibbonGallery, readRibbonTransitionDraft, SLIDE_SHOW_COMMAND_GROUPS, RECORD_COMMAND_GROUPS, trackActiveComment, commentCounts, findCommentLocation, buildReviewRibbon, HELP_RIBBON_COMMANDS, galleryTextLabel, pictureSizeHomeControls, chartSelectionHomeControls, dispatchChartSelectionRequest, sectionAddAfterSlideIndex, masterViewPseudoSlide, PRESENTATION_ANIM_TRIGGER_ATTRIBUTE, parentSelection, slideSpaceElement, isGroupMember, motionPathFor, setMotionPath, shouldShowElementHandles, computeAnchoredPopupPosition, applyTableStyleDelete, applyTableStyleMapChange, registerCustomFont, QUICK_ACCESS_COMMAND_CATALOG, handleReadingViewKey, getLocalStorageUsageSummary, saveViewerProfile, clearAllLocalViewerData, buildSlideTemplateContent, getSelectionTextStyleFlags, TEXT_DECORATION_FLAGS, dispatchCropRequest, applyRibbonGalleryItem, ribbonTransitionsDraftPatch, ribbonTransitionUpdates, ribbonTransitionsSoundChange, ribbonTransitionStockSoundUrl, playSlideTransitionPreview, playAnimationRibbonPreview, SLIDE_SHOW_OPTIONS, createViewerOptionsStore, subtitleSettingsLabels, isReviewCommentCommand, runReviewCommentCommand, attachEditorImagePaste, authorConnectorBetweenSites, findEraserHitElementId, generateTicks, rulerDragToGuidePosition, resolveElementInteractivity, buildChartQuickActionsDescriptor, applyChartElementToggle, CHART_QUICK_ACTION_BUTTON_SIZE, applyChartStylePreset, hideChartSeries, restoreFilteredSeries, buildCropOverlay, CROP_HANDLE_ARIA_KEY, getActiveXControlOverlayView, buildCommentMarkers, COMMENT_MARKER_SIZE, collectConnectorSiteCandidates, getConnectorEndpointHandles, findConnectorSiteNear, motionPathToSvgD, motionPathEndPixel, isEditableMotionPath, setMotionPathEnd, canEditElementPoints, MERGE_SHAPES_MENU_ITEMS, hasMultipleSelectedTableCells, isElementLocked, mergeSlideTransition, slideBackgroundClearState, slideBackgroundClearPatch, effectiveDirection, TRIGGER_OPTIONS, effectiveTimingCurve, getAfterAnimationState, mapSlideSorterKey, isEditorTextInputTarget, clampSorterZoom, updateSubtitleSettings, buildFreeformShapeElement, buildLiveInkStrokeView, beginCropDrag, CONNECTOR_SITE_SNAP_PX, resolveConnectorEndpointUpdate, withConnectorEndpointUpdate, getShapeConnectionSites, FreeformToolSession, attachOverlayKeyboard, EditPointsSession, EDIT_POINTS_STYLE, elementLockTogglePatch, buildTableDataGrid, getDenseGridLayoutPlan, appendTableElementRow, removeLastTableElementRow, appendTableElementColumn, removeLastTableElementColumn, removeTableElementColumn, removeTableElementRow, setTableElementCellText, applyTableStylePreset, tableStyleAssignmentUpdate, evenColumnWidths, redistributeColumnWidth, evenRowHeights, inspectorNumber, patchChartData, collapseChartTitleRunsForEdit, chartGridlinesState, chartGridlinesPatch, seriesSecondaryAxisPatch, setChartCategoryLabel, setChartCellValue, addChartCategory, removeChartCategory, addChartSeries, removeChartSeries, setDataLabelsRangeCache, describeSmartArtBounds, canAddTopLevelNode, classifyExtraConnections, siblingIndex, siblingCount, canRemoveTopLevelNode, imageResetPatch, imageResetState, canInteractWithElement, buildOleObjectNamePatch, shouldShowAccessibilitySection, withFrameSlides, withSlidesPerPage, schemaLabel, THEME_COLOR_SLOT_LABEL_KEYS, SLIDE_SIZE_PRESETS, TRANSITION_ORIENTATION_TYPES, clampTransitionNumber, TRANSITION_SPEED_OPTIONS, TRANSITION_MORPH_OPTIONS, flattenTagCollections, resolveTemplateBackgroundRows, commentMentionQuery, matchCommentMentionAuthors, buildAnimationTimelineRows, clearMotionPath, setTrigger, setTriggerBookmark, getEffectSoundState, setEffectSound, setEffectStockSound, setAfterAnimation, setAfterAnimationColor, directionValuesFor, buildAnimationTimelineBars, motionPathPresetIdForPath, MOTION_PATH_FAMILIES, motionPathPresetsByFamily, motionPathPresetLabelKey, motionPathFamilyLabelKey, EFFECT_SOUND_CATALOGUE, listMediaBookmarkOptions, selectedBookmarkOptionValue, hasTiltData, toElementAxes, dragCropHandle, panCropImage, clientToSlidePoint, EDIT_POINTS_TARGET_ATTR, describeTableStyleEditor, TABLE_STYLE_EDITOR_PARTS, computeMergeCellRight, computeMergeCellDown, computeSplitCell, resolveDisplayedChartType, CHART_TYPE_OPTIONS, chartDataLabelsTogglePatch, BAR3D_SHAPE_OPTIONS, bar3DShapePatch, RADAR_STYLE_OPTIONS, radarStylePatch, SURFACE_WIREFRAME_OPTIONS, surfaceWireframePatch, isSeriesUsingSecondaryAxis, seriesColorClearState, listChartUserShapeRows, withChartUserShapeAdded, createDefaultChartUserShape, withChartUserShapeRowRemoved, withChartUserShapeRowTextUpdated, SMARTART_COLOR_SCHEME_LABEL_KEYS, SMARTART_STYLE_LABEL_KEYS, addSiblingAfter, removeEmptyNode, demote, promote, reorder, cropResetState, cropResetPatch, ARTISTIC_EFFECTS, mediaTrimEndSeconds, trimmedMediaDurationMs, mediaTrimEndAbsoluteMs, mediaTrimResetState, mediaTrimEndMsFromAbsoluteMs, mediaTrimResetPatch, buildOleEditDialogDescriptor, buildOleContentUpdatePatch, buildThemeColorSwatchGrid, themeColorSwatchRows, findSelectedThemeSwatch, themeSwatchCommit, getNonVisualDescriptionFields, resolveActionType, ELEMENT_ACTION_TYPE_OPTIONS, canCommitActionType, slideSizeFromPreset, withSlideSizeOrientation, TRANSITION_DIR_ARROWS, buildDirectionGrid, updateTagInCollections, deleteTagFromCollections, addTagToCollections, commentTextSegments, COMMENT_MENTION_CLASS, COMMENT_MENTION_ATTRIBUTE, insertCommentMention, reorderAnimationTimelineRows, applyAnimationTimelineOrder, getEffectSoundAsset, animationEffectLabel, overlayPointerInput, TABLE_STYLE_BORDER_SIDES, applyTableStyleFieldEdit, withCellStyle, LBL as LBL$1, SEL as SEL$1, FILL_MODE_OPTIONS as FILL_MODE_OPTIONS$1, SECTION_HEADING, NUM as NUM$1, getChartUserShapeGroupTransform, withChartUserShapeGroupChildAdded, createDefaultChartUserShapeGroupChild, withChartUserShapeRowUpdated, getChartUserShapeRowChartBox, withChartUserShapeRowFlipUpdated, withChartUserShapeRowRotationUpdated, withChartUserShapeRowChartBoxUpdated, smartArtLayoutSwitchPatch, rebuildDrawingShapesIfCleared, mediaTrimEndMsFromSeconds, validateMediaTrimRange, quickStyleSwatchCss, shapeQuickStyleLabel, OFFICE_COLOR_SWATCHES, officeColorSwatchLabel, PATTERN_PRESET_OPTIONS as PATTERN_PRESET_OPTIONS$1, COMPOUND_LINE_OPTIONS as COMPOUND_LINE_OPTIONS$1, LINE_JOIN_OPTIONS as LINE_JOIN_OPTIONS$1, LINE_CAP_OPTIONS as LINE_CAP_OPTIONS$1, TEXT_WARP_PRESETS, warpPreviewPath, text3dPtToEmu, text3dEmuToPt, MATERIAL_PRESETS, toSlideIndex, TABLE_STYLE_BORDER_SIDE_LABEL_KEYS, TABLE_STYLE_DASH_PRESETS, GRADIENT_TYPE_OPTIONS as GRADIENT_TYPE_OPTIONS$1, PATTERN_OPTIONS, FILL_PATTERN_LABEL_KEYS, toggleText3dExtrusion, BEVEL_PRESETS, cropFit, cropFill, cropToAspectRatio } from 'ooxml-ui/pptx';
1
+ import { useViewerOptions, useReadOnlyRecommendationState, useCompatibilityToastsState, useReducedMotion, useViewerState, useIsMobile, useResizablePanels, useDerivedSlideState, useZoomViewport, useEditorHistory, usePresentationSetup, useTouchGestures, useViewerDialogs, useEditorOperations, useViewerIntegration, useViewPreferencesSync, useLayoutSwitching, Rendering3DFlagsContext, CollaborationProvider, ChartFormatContext, useCollaboration, useCollaborationDocumentSync, useFollowMode, useBroadcastFollower, SlideBackgroundImageLayer, StaticElementRenderer, safePrompt, scopeLayoutOptionsToActiveSlide, createReviewCommentsHost, ChartPartSelectionProvider, useToolbarVisibility, useKeyboardInsets, useModalDismissDrag, ViewerOptionsStoreContext, ViewerOptionsContext, useViewerOptionsContext, useVirtualizedSlides, useSwipeNavigation, PresentationTransitionOverlay, RemoteSelectionOverlay, CollaborationCursorOverlay, useSheetDismissDrag, detectTargetType, parseEmailUrl, parseSlideFromUrl, ACTION_VERB_MAP, ElementRenderer, InlineCollaborationContext, useChartFormatContext, SmartArtRenderer, downloadBlob, playAnimationSound, ResizeHandles, imgSrc, renderStrokeView, useChartPartSelection, DUOTONE_PRESETS, getSlideTransitionAnimations, SLIDE_TRANSITION_KEYFRAMES, resolveSmartArtDataPalette } from './chunk-EQTNWM5Y.mjs';
2
+ import { ANIMATION_PRESET_OPTIONS, dist_exports, cn, SLIDE_NAV_THUMBNAIL_WIDTH, SLIDE_TRANSITION_OPTIONS, normalizeHexColor, hasCopyableFormat, DEFAULT_SECTION_GROUP_ID, safeOpenUrl, isPpactionUrl, parsePpactionUrl, SHORTCUT_REFERENCE_ITEMS, TOOLBAR_SECTIONS, isUrlSafe, computeHandoutLayout, getPrintableArea, generateNoteLineCount, UNGROUPED_SECTION_ID, getShapeAdjustmentHandleDescriptors, isConnectorOrLineElement, GRID_SIZE, getElementTransformWithoutRotation, getElementTransform, MIN_ELEMENT_SIZE, getElementLabel, TABLE_STYLE_PRESETS, SHAPE_PRESETS, sanitizeGradientStops, formatCommentTimestamp, clampCropValue, CONNECTOR_ARROW_OPTIONS, ARROW_SIZE_OPTIONS, DEFAULT_FILL_COLOR, startMotionPathPreview, startPreviewAnimation, stopPreviewAnimation, SHAPE_QUICK_STYLES, getPatternSvg, DEFAULT_STROKE_COLOR, STROKE_DASH_OPTIONS, openNativeEyeDropper } from './chunk-MNT2CXDI.mjs';
3
+ import { EMPTY_RESOLVED_CUSTOMIZATION, ANIMATION_DIRECTION_LABEL_KEYS, compileEquationTemplateMathMl, resolveViewerRootOptions, buildUserFontFaceStyles, readStoredViewerPrefs, resolveThemeCatalogEntry, THEME_CATALOG, writeStoredViewerPrefs, openPptxFile, readBackstageRecentFile, isFeatureEnabled, isDialogAvailable, isEditingAllowed, resolveAutosaveActivation, viewerOptionsToPreferences, applyPreferenceToOptions, resolveHistoryDepth, attachViewerHyperlinks, shouldConfirmExternalHyperlink, applyAutoCorrect, resolveImageResolutionScale, resolveAutosaveIntervalMs, resolveAutosaveIntervalSeconds, createSlidePackageClipboard, isPanelVisible, shouldShowAutosaveRecoveryPrompt, resolveOptionRootClasses, RIBBON_SCOPE_ATTR, resolve3DRenderingFlags, resolveSlideSizeSelection, RULER_THICKNESS, RULER_FONT_SIZE, editorThumbnailHeight, buildPreviewElements, deriveSlideFieldContext, deviceStrokeStageStyle, hiddenSlideCue, EDITOR_THUMBNAIL_WIDTH, HIDDEN_SLIDE_SLASH_GRADIENT, HIDDEN_SLIDE_LABEL_KEY, visibleTemplateElements, themeToCssVars, createCustomizationController, resolveEffectiveHiddenActions, listAutosaveSnapshots, resolveExpiredAutosaveSnapshots, deleteAutosaveSnapshot, createDeckStyleHost, galleryDeckView, tableLayoutCells, resetChartFormatTarget, masterViewCrudActions, applyMasterViewCrudAction, masterViewCrudFailureKey, EDITOR_CHROME_CSS, ribbonCustomizationCss, applyMotionPathPreset, resetSlideLayoutPath, DEFAULT_INSERT_CHART_KIND, templateSchemeFromTheme, createBackstagePresentation, playFeedbackSound, shouldDiscardAutosaveOnSuccessfulSave, buildFieldSubstitutionContext, setMasterViewBackgroundColor, canUseClipboard, runProgramNoticeStackStyle, observeElementHeight, printPropertiesFrameSlides, printPropertiesSlidesPerPage, PASTE_SPECIAL_OPTIONS, findCanvasElementNode, isHeaderFooterDateTextVisible, isHeaderFooterHeaderTextVisible, isHeaderFooterFooterTextVisible, getDensePanelTouchTargetPx, shouldStickyActionRow, buildJoinCollaborationConfig, buildCreateCollaborationConfig, generateBroadcastRoomId, DEFAULT_BROADCAST_SERVER_URL, buildBroadcastViewerUrl, resolveTransportForServerUrl, getSlideBackgroundStyle, pushRecentColor, mruColorsPatch, shouldClearAutosaveCacheOnClose, canCropElement, cropSessionChanged, cancelCropUpdate, startCropSession, homeLaunchers, attachRibbonOverflow, getRegionRenderer, ViewerRegionHost, editorThumbnailWidth, masterViewBackgroundColor, resolvePresentationAction, isPresentationAdvanceClick, toggleBlackboard, PRESENT_TOOLBAR_CLASSES, resolveEditPointsAvailability, isCurrentLayout, EXPANDED_MAX_HEIGHT, resolveStatusBarSave, statusBarViewMode, formatVersionTimestamp, formatRelativeTime, scanAvailableFontFamilies, PRESETS, CATEGORIES, convertOmmlToLatex, compileLatexEquation, convertLatexToOmml, EQUATION_TEMPLATES, clampPercent, resolveDefaultPrintSettings, HANDOUT_OPTIONS, bindPptxOptionsDialog, optionsBlockSlot, optionsPaneSlot, DEFAULT_QUICK_ACCESS_COMMAND_IDS, AI_OPTIONS_CATEGORY, activateModalFocus, buildCollaborationShareUrl, buildActiveSessionUsers, slideClipboardLabels, sorterPasteInsertAt, SORTER_MIN_ZOOM, SORTER_ZOOM_STEP, SORTER_MAX_ZOOM, canGoPrevious, formatSlideCounter, READING_VIEW_COUNTER_ATTR, canGoNext, READING_VIEW_ATTR, listenForOutlineViewDismiss, OUTLINE_LEVEL_ATTR, OUTLINE_SLIDE_ATTR, OUTLINE_ROW_ATTR, OUTLINE_VIEW_ATTR, mobileElapsedSince, nextPresentedSlide, presenterPrevDisabled, presenterNextDisabled, formatMobileElapsed, mobileSlideCounter, presenterPaneAdvancesOnClick, presenterTimerProgress, PRESENTER_CONSOLE_CLASSES, formatElapsed, cropModeKeyAction, buildTitleBarState, resolveScreenTip, visibleContextualTabs, resolveActiveRibbonTab, visibleRibbonAddIns, RIBBON_ADD_IN_TAB_ATTR, contextualTabLabelKey, RIBBON_CONTEXTUAL_TAB_ATTR, buildTabRowActionsState, TAB_ROW_ACTION_CLASSES, tabRowActionsAttributes, backstageNavEntries, BACKSTAGE_NAV, listBackstageRecentFiles, BACKSTAGE_BACK_CLASSES, BACKSTAGE_NAV_CLASSES, FREEFORM_TOOL_IDS, isDrawingToolVisible, textFontSizePtToPx, withHomeGalleries, drawingHomeControls, homeGalleryControls, homeGalleryApply, shapeOutlineChange, shapeFillChange, editingHomeControls, arrangeHomeControls, arrangePainterHomeControls, arrangeAlignAction, DESIGN_RIBBON_GROUPS, FIXED_TAB_GALLERIES, DESIGN_RIBBON_COMMANDS, designCommandState, CONTEXTUAL_TAB_GROUPS, editorThumbnailStep, resolveSlidePaneClick, SLIDE_VIRTUALIZATION_THRESHOLD, buildSectionContextMenuEntries, buildSlidePaneContextMenuEntries, slidePaneViewItems, isEditPointsEnabled, findReplacementAvailability, PRESENTATION_HIT_TEST_CSS, PRESENTATION_STAGE_ATTRIBUTE, buildStrokePathD, cursorForTool, annotationOverlayZIndex, presentationInkPath, resolveNotesSchematicBodyFontSizePx, PRESENTER_NAVIGATOR_LABEL_KEYS, getPresentationContextMenuSections, CONTEXT_MENU_PRESENTATION_LAYER, presentationViewItems, subtitleRecognitionLanguage, subtitleSettingsFromOptions, getSpeechRecognitionCtor, mergeCaptionResults, customizeContextMenuEntries, buildContextMenuEntries, contextMenuViewItems, customizeCanvasContextMenuEntries, buildCanvasContextMenuEntries, buildLayoutPreviewGeometry, scaleSlidesForSizeChange, slideSizeToCanvasPx, resolveSelectionPaneRename, themeEditorLabels, resolveNotesSegments, defaultRichEnabled, segmentsToEditorHtml, DEBOUNCE_MS, createPlainNotesSegments, parseSegmentsFromRichEditor, segmentsToPlainText, getCurrentParagraphIndex, segmentsToParagraphs, paragraphsToSegments, MAX_INDENT_LEVEL, INDENT_PX as INDENT_PX$1, buildNotesPrintHtml, MIN_TOUCH_TARGET_PX, toggleSheet, describeElementChange, SMARTART_PREVIEW_ELEMENT_HEIGHT, SMARTART_PREVIEW_ELEMENT_WIDTH, buildSmartArtPreviewElement, sanitizeMathMl, computeAllNotesPages, getNotesPrintableArea, CUSTOM_FONT_ACCEPT, TOOLBAR_TABS, SHORTCUT_REFERENCE_ITEMS as SHORTCUT_REFERENCE_ITEMS$1, availableQuickAccessCommands, addQuickAccessCommand, removeQuickAccessCommand, moveQuickAccessCommand, resolveViewerAddinRows, createSlideSorterState, sorterSelectionIndexes, selectSorterSlide, applySorterAction, sorterGridColumns, sorterMenuContext, buildSlideSorterContextMenuEntries, slideSorterContextMenuLabel, openReadingView, applyReadingViewCommand, createPresentationKeyBuffer, readingViewFitScale, READING_VIEW_STAGE_ATTR, buildOutline, applyOutlineEdit, mapOutlineKey, notesSegmentsToSpans, erasePresentationInkAt, movePresenterPointer, appendPresentationInkPoint, presenterConsoleAction, presenterConsoleViewState, NOTES_FONT_SIZE_DEFAULT, formatTime, NOTES_FONT_SIZE_MIN, clampNotesFontSize, NOTES_FONT_SIZE_STEP, NOTES_FONT_SIZE_MAX, BACKSTAGE_TEMPLATES, formatBackstageDate, formatBackstageSize, customizeBackstageCards, backstageCardsFor, DEFAULT_VIEWER_PROFILE, resolveProfileInitial, AVATAR_COLOR_SWATCHES, clipboardHomeControls, slidesHomeControls, resolveInsertSlideLayout, SLIDE_TEMPLATES, resolveDefaultFontFamily, textFontSizePxToPt, getInlineEditorSelectionResult, selectedParagraphBulletKind, elementBulletKind, selectionBulletKind, fontPickerHomeControls, fontHomeControls, nextToggleValue, RIBBON_GROUP_ATTR, paragraphHomeAlign, paragraphHomeControls, paragraphHomeAction, arrangeShapeHomeControls, strokeWidthOf, canSetStrokeWidth, canUngroupSelection, canGroupSelection, buildRibbonGallery, readRibbonTransitionDraft, SLIDE_SHOW_COMMAND_GROUPS, RECORD_COMMAND_GROUPS, trackActiveComment, commentCounts, findCommentLocation, buildReviewRibbon, HELP_RIBBON_COMMANDS, galleryTextLabel, pictureSizeHomeControls, chartSelectionHomeControls, dispatchChartSelectionRequest, sectionAddAfterSlideIndex, masterViewPseudoSlide, PRESENTATION_ANIM_TRIGGER_ATTRIBUTE, parentSelection, slideSpaceElement, isGroupMember, motionPathFor, setMotionPath, shouldShowElementHandles, computeAnchoredPopupPosition, applyTableStyleDelete, applyTableStyleMapChange, registerCustomFont, QUICK_ACCESS_COMMAND_CATALOG, handleReadingViewKey, getLocalStorageUsageSummary, saveViewerProfile, clearAllLocalViewerData, buildSlideTemplateContent, getSelectionTextStyleFlags, TEXT_DECORATION_FLAGS, dispatchCropRequest, applyRibbonGalleryItem, ribbonTransitionsDraftPatch, ribbonTransitionUpdates, ribbonTransitionsSoundChange, ribbonTransitionStockSoundUrl, playSlideTransitionPreview, playAnimationRibbonPreview, SLIDE_SHOW_OPTIONS, createViewerOptionsStore, subtitleSettingsLabels, isReviewCommentCommand, runReviewCommentCommand, attachEditorImagePaste, authorConnectorBetweenSites, findEraserHitElementId, generateTicks, rulerDragToGuidePosition, resolveElementInteractivity, buildChartQuickActionsDescriptor, applyChartElementToggle, CHART_QUICK_ACTION_BUTTON_SIZE, applyChartStylePreset, hideChartSeries, restoreFilteredSeries, buildCropOverlay, CROP_HANDLE_ARIA_KEY, getActiveXControlOverlayView, buildCommentMarkers, COMMENT_MARKER_SIZE, collectConnectorSiteCandidates, getConnectorEndpointHandles, findConnectorSiteNear, motionPathToSvgD, motionPathEndPixel, isEditableMotionPath, setMotionPathEnd, canEditElementPoints, MERGE_SHAPES_MENU_ITEMS, hasMultipleSelectedTableCells, isElementLocked, mergeSlideTransition, slideBackgroundClearState, slideBackgroundClearPatch, effectiveDirection, TRIGGER_OPTIONS, effectiveTimingCurve, getAfterAnimationState, mapSlideSorterKey, isEditorTextInputTarget, clampSorterZoom, updateSubtitleSettings, buildFreeformShapeElement, buildLiveInkStrokeView, beginCropDrag, CONNECTOR_SITE_SNAP_PX, resolveConnectorEndpointUpdate, withConnectorEndpointUpdate, getShapeConnectionSites, FreeformToolSession, attachOverlayKeyboard, EditPointsSession, EDIT_POINTS_STYLE, elementLockTogglePatch, buildTableDataGrid, getDenseGridLayoutPlan, appendTableElementRow, removeLastTableElementRow, appendTableElementColumn, removeLastTableElementColumn, removeTableElementColumn, removeTableElementRow, setTableElementCellText, applyTableStylePreset, tableStyleAssignmentUpdate, evenColumnWidths, redistributeColumnWidth, evenRowHeights, inspectorNumber, patchChartData, collapseChartTitleRunsForEdit, chartGridlinesState, chartGridlinesPatch, seriesSecondaryAxisPatch, setChartCategoryLabel, setChartCellValue, addChartCategory, removeChartCategory, addChartSeries, removeChartSeries, setDataLabelsRangeCache, describeSmartArtBounds, canAddTopLevelNode, classifyExtraConnections, siblingIndex, siblingCount, canRemoveTopLevelNode, imageResetPatch, imageResetState, canInteractWithElement, buildOleObjectNamePatch, shouldShowAccessibilitySection, withFrameSlides, withSlidesPerPage, schemaLabel, THEME_COLOR_SLOT_LABEL_KEYS, SLIDE_SIZE_PRESETS, TRANSITION_ORIENTATION_TYPES, clampTransitionNumber, TRANSITION_SPEED_OPTIONS, TRANSITION_MORPH_OPTIONS, flattenTagCollections, resolveTemplateBackgroundRows, commentMentionQuery, matchCommentMentionAuthors, buildAnimationTimelineRows, clearMotionPath, setTrigger, setTriggerBookmark, getEffectSoundState, setEffectSound, setEffectStockSound, setAfterAnimation, setAfterAnimationColor, directionValuesFor, buildAnimationTimelineBars, motionPathPresetIdForPath, MOTION_PATH_FAMILIES, motionPathPresetsByFamily, motionPathPresetLabelKey, motionPathFamilyLabelKey, EFFECT_SOUND_CATALOGUE, listMediaBookmarkOptions, selectedBookmarkOptionValue, hasTiltData, toElementAxes, dragCropHandle, panCropImage, clientToSlidePoint, EDIT_POINTS_TARGET_ATTR, describeTableStyleEditor, TABLE_STYLE_EDITOR_PARTS, computeMergeCellRight, computeMergeCellDown, computeSplitCell, resolveDisplayedChartType, CHART_TYPE_OPTIONS, chartDataLabelsTogglePatch, BAR3D_SHAPE_OPTIONS, bar3DShapePatch, RADAR_STYLE_OPTIONS, radarStylePatch, SURFACE_WIREFRAME_OPTIONS, surfaceWireframePatch, isSeriesUsingSecondaryAxis, seriesColorClearState, listChartUserShapeRows, withChartUserShapeAdded, createDefaultChartUserShape, withChartUserShapeRowRemoved, withChartUserShapeRowTextUpdated, SMARTART_COLOR_SCHEME_LABEL_KEYS, SMARTART_STYLE_LABEL_KEYS, addSiblingAfter, removeEmptyNode, demote, promote, reorder, cropResetState, cropResetPatch, ARTISTIC_EFFECTS, mediaTrimEndSeconds, trimmedMediaDurationMs, mediaTrimEndAbsoluteMs, mediaTrimResetState, mediaTrimEndMsFromAbsoluteMs, mediaTrimResetPatch, buildOleEditDialogDescriptor, buildOleContentUpdatePatch, buildThemeColorSwatchGrid, themeColorSwatchRows, findSelectedThemeSwatch, themeSwatchCommit, getNonVisualDescriptionFields, resolveActionType, ELEMENT_ACTION_TYPE_OPTIONS, canCommitActionType, slideSizeFromPreset, withSlideSizeOrientation, TRANSITION_DIR_ARROWS, buildDirectionGrid, updateTagInCollections, deleteTagFromCollections, addTagToCollections, commentTextSegments, COMMENT_MENTION_CLASS, COMMENT_MENTION_ATTRIBUTE, insertCommentMention, reorderAnimationTimelineRows, applyAnimationTimelineOrder, getEffectSoundAsset, animationEffectLabel, overlayPointerInput, TABLE_STYLE_BORDER_SIDES, applyTableStyleFieldEdit, withCellStyle, LBL as LBL$1, SEL as SEL$1, FILL_MODE_OPTIONS as FILL_MODE_OPTIONS$1, SECTION_HEADING, NUM as NUM$1, getChartUserShapeGroupTransform, withChartUserShapeGroupChildAdded, createDefaultChartUserShapeGroupChild, withChartUserShapeRowUpdated, getChartUserShapeRowChartBox, withChartUserShapeRowFlipUpdated, withChartUserShapeRowRotationUpdated, withChartUserShapeRowChartBoxUpdated, smartArtLayoutSwitchPatch, rebuildDrawingShapesIfCleared, mediaTrimEndMsFromSeconds, validateMediaTrimRange, quickStyleSwatchCss, shapeQuickStyleLabel, OFFICE_COLOR_SWATCHES, officeColorSwatchLabel, PATTERN_PRESET_OPTIONS as PATTERN_PRESET_OPTIONS$1, COMPOUND_LINE_OPTIONS as COMPOUND_LINE_OPTIONS$1, LINE_JOIN_OPTIONS as LINE_JOIN_OPTIONS$1, LINE_CAP_OPTIONS as LINE_CAP_OPTIONS$1, TEXT_WARP_PRESETS, warpPreviewPath, text3dPtToEmu, text3dEmuToPt, MATERIAL_PRESETS, toSlideIndex, TABLE_STYLE_BORDER_SIDE_LABEL_KEYS, TABLE_STYLE_DASH_PRESETS, GRADIENT_TYPE_OPTIONS as GRADIENT_TYPE_OPTIONS$1, PATTERN_OPTIONS, FILL_PATTERN_LABEL_KEYS, toggleText3dExtrusion, BEVEL_PRESETS, cropFit, cropFill, cropToAspectRatio } from 'ooxml-ui/pptx';
4
4
  export { THEME_CATALOG, defaultCssVars, defaultRadius, defaultThemeColors, resolveThemeCatalogEntry, themeToCssVars, vermilionDarkColors, vermilionDarkTheme, vermilionLightColors, vermilionLightTheme, vermilionRadius } from 'ooxml-ui/pptx';
5
- import React104, { createContext, lazy, forwardRef, useEffect, useState, useCallback, useMemo, useRef, useLayoutEffect, useSyncExternalStore, useId, useContext, useDeferredValue, Suspense, useReducer, Fragment as Fragment$1 } from 'react';
5
+ import React105, { createContext, lazy, forwardRef, useEffect, useState, useCallback, useMemo, useRef, useLayoutEffect, useSyncExternalStore, useId, useContext, useDeferredValue, Suspense, useReducer, Fragment as Fragment$1 } from 'react';
6
6
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
7
7
  import { useTranslation } from 'react-i18next';
8
8
  import { LuArrowDown, LuArrowUp, LuArrowRight, LuArrowLeft, LuArrowDownRight, LuArrowDownLeft, LuArrowUpRight, LuArrowUpLeft, LuMessageSquare, LuEyeOff, LuHistory, LuX, LuCalendarDays, LuClock, LuHash, LuFileText, LuText, LuCast, LuShieldCheck, LuPlus, LuPanelLeftClose, LuDownload, LuTrash2, LuCheck, LuLock, LuEye, LuType, LuLoader, LuShieldAlert, LuSignature, LuInfo, LuTriangleAlert, LuPrinter, LuPenTool, LuWifi, LuWifiOff, LuUsers, LuCopy, LuMinus, LuChevronLeft, LuChevronRight, LuPlay, LuPause, LuPanelLeft, LuPanelRight, LuSparkles, LuSettings, LuFolderOpen, LuPalette, LuSearch, LuCaseSensitive, LuChevronUp, LuChevronDown, LuReplace, LuGripVertical, LuLoaderCircle, LuUpload, LuGrid2X2, LuStickyNote, LuList, LuBug, LuClipboardCopy, LuPaintbrush, LuShapes, LuLayoutGrid, LuWand, LuPresentation, LuTextCursorInput, LuFile, LuEllipsis, LuUserRound, LuShare2, LuSave, LuFilePlus2, LuHouse, LuFileJson, LuBox, LuVideo, LuFileImage, LuDatabase, LuClock3, LuUser, LuHardDrive, LuLogIn, LuMove, LuCopyPlus, LuClipboardPaste, LuMonitor, LuRadio, LuCaptions, LuImage, LuFilter, LuLayers, LuSettings2, LuLockOpen, LuPencil, LuReply, LuMoveRight, LuRotateCw, LuScissors, LuBookmark, LuPipette } from 'react-icons/lu';
@@ -489,12 +489,6 @@ function SlideTemplateGalleryDialog({
489
489
  )
490
490
  ] });
491
491
  }
492
- var ViewerCustomizationContext = createContext(
493
- EMPTY_RESOLVED_CUSTOMIZATION
494
- );
495
- function useViewerCustomizationContext() {
496
- return useContext(ViewerCustomizationContext);
497
- }
498
492
  function useHostEvent(ref, type, handler) {
499
493
  useEffect(() => {
500
494
  const host = ref.current;
@@ -716,12 +710,19 @@ function DateTimeFieldDialog(p) {
716
710
  }
717
711
  );
718
712
  }
713
+ var ViewerCustomizationContext = createContext(
714
+ EMPTY_RESOLVED_CUSTOMIZATION
715
+ );
716
+ function useViewerCustomizationContext() {
717
+ return useContext(ViewerCustomizationContext);
718
+ }
719
719
  function InsertSection(p) {
720
720
  const { t } = useTranslation();
721
721
  const customization = useViewerCustomizationContext();
722
722
  const ref = useRef(null);
723
723
  const [datePickerOpen, setDatePickerOpen] = useState(false);
724
724
  const [templatesOpen, setTemplatesOpen] = useState(false);
725
+ const hosted = p.dialogHost;
725
726
  const templatesAvailable = Boolean(p.onInsertSlideFromTemplate) && isDialogAvailable(customization, "slideTemplates");
726
727
  const [chartKind, setChartKind] = useState(DEFAULT_INSERT_CHART_KIND);
727
728
  useEffect(() => {
@@ -786,7 +787,11 @@ function InsertSection(p) {
786
787
  break;
787
788
  }
788
789
  case "slideTemplates":
789
- setTemplatesOpen(true);
790
+ if (hosted) {
791
+ hosted.openSlideTemplates();
792
+ } else {
793
+ setTemplatesOpen(true);
794
+ }
790
795
  break;
791
796
  case "shapeType":
792
797
  p.onSetNewShapeType(intent.value);
@@ -808,7 +813,11 @@ function InsertSection(p) {
808
813
  break;
809
814
  case "field":
810
815
  if (intent.value === "datetime") {
811
- setDatePickerOpen(true);
816
+ if (hosted) {
817
+ hosted.openDateTime();
818
+ } else {
819
+ setDatePickerOpen(true);
820
+ }
812
821
  } else {
813
822
  p.onInsertField?.(intent.value);
814
823
  }
@@ -817,10 +826,10 @@ function InsertSection(p) {
817
826
  };
818
827
  host.addEventListener("insert-request", request);
819
828
  return () => host.removeEventListener("insert-request", request);
820
- }, [p]);
829
+ }, [p, hosted]);
821
830
  return /* @__PURE__ */ jsxs(Fragment, { children: [
822
831
  p.phone ? /* @__PURE__ */ jsx("pptx-ui-mobile-insert", { ref }) : /* @__PURE__ */ jsx("pptx-ui-ribbon-insert", { ref }),
823
- templatesAvailable && /* @__PURE__ */ jsx(
832
+ templatesAvailable && !hosted && /* @__PURE__ */ jsx(
824
833
  SlideTemplateGalleryDialog,
825
834
  {
826
835
  isOpen: templatesOpen,
@@ -829,7 +838,7 @@ function InsertSection(p) {
829
838
  scheme: p.templateScheme
830
839
  }
831
840
  ),
832
- datePickerOpen && p.onInsertField && /* @__PURE__ */ jsx(
841
+ datePickerOpen && !hosted && p.onInsertField && /* @__PURE__ */ jsx(
833
842
  DateTimeFieldDialog,
834
843
  {
835
844
  onClose: () => setDatePickerOpen(false),
@@ -927,43 +936,77 @@ function MobileSheet({
927
936
  function MobileInsertSheet(p) {
928
937
  const { t } = useTranslation();
929
938
  const close = () => p.onCloseMobileInsert?.();
930
- return /* @__PURE__ */ jsx(
931
- MobileSheet,
932
- {
933
- open: Boolean(p.isMobileInsertOpen) && !p.isThemeEditorOpen,
934
- onClose: close,
935
- autoHeight: true,
936
- title: t("pptx.mobileBar.insert"),
937
- children: /* @__PURE__ */ jsx("div", { className: "p-3", children: /* @__PURE__ */ jsx(
938
- InsertSection,
939
- {
940
- phone: true,
941
- onRequestHandled: close,
942
- canEdit: p.canEdit,
943
- newShapeType: p.newShapeType,
944
- onSetNewShapeType: p.onSetNewShapeType,
945
- onAddTextBox: p.onAddTextBox,
946
- onAddShape: p.onAddShape,
947
- onAddTable: p.onAddTable,
948
- onAddChart: p.onAddChart,
949
- onAddSmartArt: p.onAddSmartArt,
950
- onAddEquation: p.onAddEquation,
951
- onAddActionButton: p.onAddActionButton,
952
- onInsertField: p.onInsertField,
953
- onOpenHeaderFooter: p.onOpenHeaderFooter,
954
- onOpenImagePicker: p.onOpenImagePicker,
955
- onOpenMediaPicker: p.onOpenMediaPicker,
956
- hasSelection: Boolean(p.selectedElement),
957
- onOpenHyperlinkDialog: p.onOpenHyperlinkDialog,
958
- layoutOptions: p.layoutOptions,
959
- currentLayoutPath: p.currentLayoutPath,
960
- onInsertSlideFromLayout: p.onInsertSlideFromLayout,
961
- onToggleComments: p.onToggleComments,
962
- isCommentsPanelOpen: p.isCommentsPanelOpen
963
- }
964
- ) })
965
- }
939
+ const customization = useViewerCustomizationContext();
940
+ const [dateOpen, setDateOpen] = useState(false);
941
+ const [templatesOpen, setTemplatesOpen] = useState(false);
942
+ const dialogHost = useMemo(
943
+ () => ({
944
+ openDateTime: () => setDateOpen(true),
945
+ openSlideTemplates: () => setTemplatesOpen(true)
946
+ }),
947
+ []
966
948
  );
949
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
950
+ /* @__PURE__ */ jsx(
951
+ MobileSheet,
952
+ {
953
+ open: Boolean(p.isMobileInsertOpen) && !p.isThemeEditorOpen,
954
+ onClose: close,
955
+ autoHeight: true,
956
+ title: t("pptx.mobileBar.insert"),
957
+ children: /* @__PURE__ */ jsx("div", { className: "p-3", children: /* @__PURE__ */ jsx(
958
+ InsertSection,
959
+ {
960
+ phone: true,
961
+ onRequestHandled: close,
962
+ canEdit: p.canEdit,
963
+ newShapeType: p.newShapeType,
964
+ onSetNewShapeType: p.onSetNewShapeType,
965
+ onAddTextBox: p.onAddTextBox,
966
+ onAddShape: p.onAddShape,
967
+ onAddTable: p.onAddTable,
968
+ onAddChart: p.onAddChart,
969
+ onAddSmartArt: p.onAddSmartArt,
970
+ onAddEquation: p.onAddEquation,
971
+ onAddActionButton: p.onAddActionButton,
972
+ onInsertField: p.onInsertField,
973
+ onOpenHeaderFooter: p.onOpenHeaderFooter,
974
+ onOpenImagePicker: p.onOpenImagePicker,
975
+ onOpenMediaPicker: p.onOpenMediaPicker,
976
+ hasSelection: Boolean(p.selectedElement),
977
+ onOpenHyperlinkDialog: p.onOpenHyperlinkDialog,
978
+ layoutOptions: p.layoutOptions,
979
+ currentLayoutPath: p.currentLayoutPath,
980
+ onInsertSlideFromLayout: p.onInsertSlideFromLayout,
981
+ onInsertSlideFromTemplate: p.onInsertSlideFromTemplate,
982
+ templateScheme: p.templateScheme,
983
+ onToggleComments: p.onToggleComments,
984
+ isCommentsPanelOpen: p.isCommentsPanelOpen,
985
+ dialogHost
986
+ }
987
+ ) })
988
+ }
989
+ ),
990
+ p.onInsertSlideFromTemplate && isDialogAvailable(customization, "slideTemplates") && /* @__PURE__ */ jsx(
991
+ SlideTemplateGalleryDialog,
992
+ {
993
+ isOpen: templatesOpen,
994
+ onClose: () => setTemplatesOpen(false),
995
+ onInsert: (templateId) => p.onInsertSlideFromTemplate?.(templateId),
996
+ scheme: p.templateScheme
997
+ }
998
+ ),
999
+ dateOpen && p.onInsertField && /* @__PURE__ */ jsx(
1000
+ DateTimeFieldDialog,
1001
+ {
1002
+ onClose: () => setDateOpen(false),
1003
+ onInsert: (formatted) => {
1004
+ p.onInsertField?.("datetime", formatted);
1005
+ setDateOpen(false);
1006
+ }
1007
+ }
1008
+ )
1009
+ ] });
967
1010
  }
968
1011
  function AnimationsSection(p) {
969
1012
  const { t } = useTranslation();
@@ -1083,7 +1126,7 @@ function WebHomeControls({
1083
1126
  host.addEventListener("home-popup", listener);
1084
1127
  return () => host.removeEventListener("home-popup", listener);
1085
1128
  }, [onPopup]);
1086
- return React104.createElement(`pptx-ui-ribbon-home-${family}`, { ref });
1129
+ return React105.createElement(`pptx-ui-ribbon-home-${family}`, { ref });
1087
1130
  }
1088
1131
  function ShapeArrangeExtras(p) {
1089
1132
  const commands = useShapeFormatContext();
@@ -1243,7 +1286,8 @@ function useRibbonGalleryCommands() {
1243
1286
  function RibbonGallery({
1244
1287
  placement,
1245
1288
  chevronOnly = false,
1246
- tagControl = true
1289
+ tagControl = true,
1290
+ onCommand
1247
1291
  }) {
1248
1292
  const { t } = useTranslation();
1249
1293
  const ref = useRef(null);
@@ -1263,25 +1307,36 @@ function RibbonGallery({
1263
1307
  }, [descriptor, t, commands?.editable]);
1264
1308
  useEffect(() => {
1265
1309
  const host = ref.current;
1266
- if (!host) {
1310
+ if (!host || !commands) {
1267
1311
  return;
1268
1312
  }
1269
1313
  const pick = (event) => {
1270
- if (!commands?.editable) {
1314
+ if (!commands.editable) {
1271
1315
  return;
1272
1316
  }
1273
- const result = applyRibbonGalleryItem(
1274
- placement.gallery,
1275
- event.detail.itemId,
1276
- commands.context
1277
- );
1278
- if (result) {
1317
+ const { itemId, action } = event.detail;
1318
+ const result = applyRibbonGalleryItem(placement.gallery, itemId, commands.context, action);
1319
+ if (result?.kind === "command") {
1320
+ commands.endPreview?.();
1321
+ onCommand?.(result.command);
1322
+ } else if (result) {
1279
1323
  commands.dispatch(result);
1280
1324
  }
1281
1325
  };
1326
+ const preview = (event) => {
1327
+ const { itemId } = event.detail;
1328
+ commands.preview?.(applyRibbonGalleryItem(placement.gallery, itemId, commands.context));
1329
+ };
1330
+ const endPreview = () => commands.endPreview?.();
1282
1331
  host.addEventListener("gallery-pick", pick);
1283
- return () => host.removeEventListener("gallery-pick", pick);
1284
- }, [commands, placement.gallery]);
1332
+ host.addEventListener("gallery-preview", preview);
1333
+ host.addEventListener("gallery-preview-end", endPreview);
1334
+ return () => {
1335
+ host.removeEventListener("gallery-pick", pick);
1336
+ host.removeEventListener("gallery-preview", preview);
1337
+ host.removeEventListener("gallery-preview-end", endPreview);
1338
+ };
1339
+ }, [commands, placement.gallery, onCommand]);
1285
1340
  return /* @__PURE__ */ jsx(
1286
1341
  "pptx-ui-ribbon-gallery",
1287
1342
  {
@@ -1452,6 +1507,11 @@ function DesignSection(p) {
1452
1507
  RibbonGallery,
1453
1508
  {
1454
1509
  placement,
1510
+ onCommand: () => {
1511
+ if (!p.isInspectorPaneOpen) {
1512
+ p.onToggleInspector?.();
1513
+ }
1514
+ },
1455
1515
  icon: placement.gallery === "themeFonts" ? /* @__PURE__ */ jsx(LuType, {}) : /* @__PURE__ */ jsx(LuPalette, {})
1456
1516
  },
1457
1517
  placement.control
@@ -1602,7 +1662,7 @@ function AccountPage() {
1602
1662
  return void 0;
1603
1663
  });
1604
1664
  };
1605
- const version = "4.39.0" ;
1665
+ const version = "4.40.0" ;
1606
1666
  return /* @__PURE__ */ jsxs("div", { className: "mt-8 max-w-[700px] space-y-6", children: [
1607
1667
  /* @__PURE__ */ jsxs("section", { className: cardClass, children: [
1608
1668
  /* @__PURE__ */ jsxs("h2", { className: "flex items-center gap-2 text-sm font-semibold", children: [
@@ -5120,7 +5180,7 @@ function ChartQuickActionsOverlay({
5120
5180
  "data-export-ignore": "true",
5121
5181
  style: { position: "absolute", left: 0, top: 0, zIndex: 59 },
5122
5182
  onMouseDown: (e) => e.stopPropagation(),
5123
- children: descriptor.buttons.map((button) => /* @__PURE__ */ jsxs(React104.Fragment, { children: [
5183
+ children: descriptor.buttons.map((button) => /* @__PURE__ */ jsxs(React105.Fragment, { children: [
5124
5184
  /* @__PURE__ */ jsx(
5125
5185
  "button",
5126
5186
  {
@@ -5140,7 +5200,7 @@ function ChartQuickActionsOverlay({
5140
5200
  transformOrigin: "top left"
5141
5201
  },
5142
5202
  className: "flex items-center justify-center rounded bg-white border border-gray-300 shadow-sm hover:bg-gray-100 text-gray-700",
5143
- children: React104.createElement(ICONS3[button.id], { className: "size-3.5" })
5203
+ children: React105.createElement(ICONS3[button.id], { className: "size-3.5" })
5144
5204
  }
5145
5205
  ),
5146
5206
  open === button.id && button.id === "elements" && /* @__PURE__ */ jsxs(
@@ -6286,7 +6346,7 @@ function HorizontalRulerView({ ticks, widthPx, highlight }) {
6286
6346
  }
6287
6347
  );
6288
6348
  }
6289
- var HorizontalRuler = React104.memo(HorizontalRulerView);
6349
+ var HorizontalRuler = React105.memo(HorizontalRulerView);
6290
6350
  HorizontalRuler.displayName = "HorizontalRuler";
6291
6351
  function VerticalRulerView({ ticks, heightPx, highlight }) {
6292
6352
  return /* @__PURE__ */ jsxs(
@@ -6358,7 +6418,7 @@ function VerticalRulerView({ ticks, heightPx, highlight }) {
6358
6418
  }
6359
6419
  );
6360
6420
  }
6361
- var VerticalRuler = React104.memo(VerticalRulerView);
6421
+ var VerticalRuler = React105.memo(VerticalRulerView);
6362
6422
  VerticalRuler.displayName = "VerticalRuler";
6363
6423
  function Ruler({
6364
6424
  canvasSize,
@@ -8240,7 +8300,7 @@ function slideThumbnailPropsEqual(prev, next) {
8240
8300
  }
8241
8301
  return true;
8242
8302
  }
8243
- var SlideThumbnail = React104.memo(SlideThumbnailImpl, slideThumbnailPropsEqual);
8303
+ var SlideThumbnail = React105.memo(SlideThumbnailImpl, slideThumbnailPropsEqual);
8244
8304
  function tableCell(props) {
8245
8305
  const { selectedElement, tableEditorState } = props;
8246
8306
  if (selectedElement?.type !== "table" || tableEditorState === null) {
@@ -8937,7 +8997,7 @@ function LazyThumbnailInner({
8937
8997
  }
8938
8998
  ) });
8939
8999
  }
8940
- var LazyThumbnail = React104.memo(LazyThumbnailInner);
9000
+ var LazyThumbnail = React105.memo(LazyThumbnailInner);
8941
9001
  function declaredSectionFacts(groups, sectionId) {
8942
9002
  const declared = groups.filter((group) => group.id !== DEFAULT_SECTION_GROUP_ID && group.id !== UNGROUPED_SECTION_ID).map((group) => group.id);
8943
9003
  return {
@@ -9105,7 +9165,7 @@ function SlideItemInner({
9105
9165
  }
9106
9166
  );
9107
9167
  }
9108
- var SlideItem = React104.memo(SlideItemInner);
9168
+ var SlideItem = React105.memo(SlideItemInner);
9109
9169
  function useSlidePaneCallbacks(onMoveSlide, onRenameSection, onToggleSectionCollapse) {
9110
9170
  const [collapsedSections, setCollapsedSections] = useState({});
9111
9171
  const [renamingSectionId, setRenamingSectionId] = useState(null);
@@ -10518,7 +10578,7 @@ function arePropsEqual(prev, next) {
10518
10578
  }
10519
10579
  return true;
10520
10580
  }
10521
- var SlideCard = React104.memo(SlideCardImpl, arePropsEqual);
10581
+ var SlideCard = React105.memo(SlideCardImpl, arePropsEqual);
10522
10582
  var ICON_CLASS = "h-3.5 w-3.5 text-muted-foreground";
10523
10583
  function SorterContextMenu({
10524
10584
  x,
@@ -10943,7 +11003,7 @@ function SlideSorterOverlay({
10943
11003
  count: state.selectedSlideIds.length
10944
11004
  }) })
10945
11005
  ] }),
10946
- React104.createElement("pptx-ui-slide-clipboard", {
11006
+ React105.createElement("pptx-ui-slide-clipboard", {
10947
11007
  ref: (node) => {
10948
11008
  if (!node) {
10949
11009
  return;
@@ -11859,8 +11919,8 @@ function SlideNotesPanel({
11859
11919
  onHeightChange
11860
11920
  }) {
11861
11921
  const { t } = useTranslation();
11862
- const rootRef = React104.useRef(null);
11863
- React104.useEffect(() => {
11922
+ const rootRef = React105.useRef(null);
11923
+ React105.useEffect(() => {
11864
11924
  const el = rootRef.current;
11865
11925
  if (!el || !onHeightChange) {
11866
11926
  return void 0;
@@ -12356,7 +12416,7 @@ function SlideDiffRow({
12356
12416
  className: "flex items-start gap-2 rounded bg-muted/60 px-2 py-1.5 text-[11px]",
12357
12417
  children: [
12358
12418
  /* @__PURE__ */ jsx(ChangeKindIcon, { kind: change.kind }),
12359
- /* @__PURE__ */ jsx("span", { className: "text-foreground", children: change.description })
12419
+ /* @__PURE__ */ jsx("span", { className: "text-foreground", children: describeElementChange(change, t) })
12360
12420
  ]
12361
12421
  },
12362
12422
  `${change.elementId}-${change.kind}-${ci}`
@@ -13703,9 +13763,9 @@ function PresentationSubtitleBar({
13703
13763
  function renderNotesSegments(segments) {
13704
13764
  return notesSegmentsToSpans(segments).map((span) => {
13705
13765
  if (span.kind === "break") {
13706
- return React104.createElement("br", { key: span.key });
13766
+ return React105.createElement("br", { key: span.key });
13707
13767
  }
13708
- return React104.createElement(
13768
+ return React105.createElement(
13709
13769
  "span",
13710
13770
  { key: span.key, style: span.style },
13711
13771
  span.text
@@ -13881,7 +13941,7 @@ function scaledSlidePreviewPropsEqual(prev, next) {
13881
13941
  }
13882
13942
  return true;
13883
13943
  }
13884
- var ScaledSlidePreview = React104.memo(ScaledSlidePreviewImpl, scaledSlidePreviewPropsEqual);
13944
+ var ScaledSlidePreview = React105.memo(ScaledSlidePreviewImpl, scaledSlidePreviewPropsEqual);
13885
13945
  function PresenterNotesRail({
13886
13946
  slides,
13887
13947
  current,
@@ -15110,7 +15170,7 @@ function EffectSoundRow({
15110
15170
  onPickStock
15111
15171
  }) {
15112
15172
  const { t } = useTranslation();
15113
- const fileInputRef = React104.useRef(null);
15173
+ const fileInputRef = React105.useRef(null);
15114
15174
  const selectedValue = soundState.catalogueId ?? (soundState.hasSound ? CURRENT_VALUE : NONE_VALUE);
15115
15175
  const handleSelectChange = (event) => {
15116
15176
  const value = event.target.value;
@@ -18681,7 +18741,7 @@ function ConnectorArrowsSection({
18681
18741
  ["Start", "End"].map((end) => {
18682
18742
  const widthKey = end === "Start" ? "connectorStartArrowWidth" : "connectorEndArrowWidth";
18683
18743
  const lengthKey = end === "Start" ? "connectorStartArrowLength" : "connectorEndArrowLength";
18684
- return /* @__PURE__ */ jsxs(React104.Fragment, { children: [
18744
+ return /* @__PURE__ */ jsxs(React105.Fragment, { children: [
18685
18745
  /* @__PURE__ */ jsxs("label", { className: "flex flex-col gap-1", children: [
18686
18746
  /* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: t(END_LABEL_KEYS[end].width) }),
18687
18747
  /* @__PURE__ */ jsx(
@@ -21609,7 +21669,7 @@ function StrokeEffectsSection({
21609
21669
  ] }),
21610
21670
  EFFECT_CONFIGS.map((cfg) => {
21611
21671
  const on = cfg.isOn(style);
21612
- return /* @__PURE__ */ jsxs(React104.Fragment, { children: [
21672
+ return /* @__PURE__ */ jsxs(React105.Fragment, { children: [
21613
21673
  /* @__PURE__ */ jsxs("label", { className: `inline-flex items-center gap-2 text-foreground ${COL2}`, children: [
21614
21674
  /* @__PURE__ */ jsx(
21615
21675
  WebCheckbox,
@@ -22464,7 +22524,7 @@ function TextWarpGallery({
22464
22524
  onUpdateTextStyle
22465
22525
  }) {
22466
22526
  const { t } = useTranslation();
22467
- const [expanded, setExpanded] = React104.useState(false);
22527
+ const [expanded, setExpanded] = React105.useState(false);
22468
22528
  const currentPreset = ts?.textWarpPreset || "textNoShape";
22469
22529
  return /* @__PURE__ */ jsxs("div", { className: "mt-2 rounded border border-border bg-card p-2 space-y-2", children: [
22470
22530
  /* @__PURE__ */ jsxs(
@@ -23110,7 +23170,7 @@ function SmartArtStyleControls({
23110
23170
  onChangeStyle
23111
23171
  }) {
23112
23172
  const { t } = useTranslation();
23113
- const translate = React104.useCallback((key) => t(key), [t]);
23173
+ const translate = React105.useCallback((key) => t(key), [t]);
23114
23174
  return /* @__PURE__ */ jsxs(Fragment, { children: [
23115
23175
  /* @__PURE__ */ jsxs("label", { className: "flex flex-col gap-1 text-[11px]", children: [
23116
23176
  /* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: t("pptx.smartart.colorScheme") }),
@@ -23165,9 +23225,9 @@ function SmartArtPropertiesPanel({
23165
23225
  const nodes = smartArtData.nodes ?? [];
23166
23226
  const layout = smartArtData.resolvedLayoutType;
23167
23227
  const topLevelCount = nodes.filter((n) => !n.parentId).length;
23168
- const inputRefs = React104.useRef(/* @__PURE__ */ new Map());
23169
- const pendingFocusId = React104.useRef(null);
23170
- React104.useEffect(() => {
23228
+ const inputRefs = React105.useRef(/* @__PURE__ */ new Map());
23229
+ const pendingFocusId = React105.useRef(null);
23230
+ React105.useEffect(() => {
23171
23231
  const id = pendingFocusId.current;
23172
23232
  if (id) {
23173
23233
  inputRefs.current.get(id)?.focus();
@@ -24773,7 +24833,7 @@ function CommentBody({ text, mentions, className }) {
24773
24833
  index
24774
24834
  ) : (
24775
24835
  // eslint-disable-next-line react/no-array-index-key -- segments are positional
24776
- /* @__PURE__ */ jsx(React104.Fragment, { children: segment.text }, index)
24836
+ /* @__PURE__ */ jsx(React105.Fragment, { children: segment.text }, index)
24777
24837
  )
24778
24838
  ) });
24779
24839
  }
@@ -26290,7 +26350,7 @@ function PresentationPropertiesPanel({
26290
26350
  onUpdateTagCollections
26291
26351
  }) {
26292
26352
  const { t } = useTranslation();
26293
- const handleTransitionChange = React104.useCallback(
26353
+ const handleTransitionChange = React105.useCallback(
26294
26354
  (updates) => {
26295
26355
  onUpdateSlide({
26296
26356
  transition: mergeSlideTransition(activeSlide?.transition, updates)
@@ -29771,7 +29831,7 @@ function ViewerToolbarSection(props) {
29771
29831
  },
29772
29832
  [activeSlide, propertyHandlers]
29773
29833
  );
29774
- const scopedLayoutOptions = React104.useMemo(
29834
+ const scopedLayoutOptions = React105.useMemo(
29775
29835
  () => scopeLayoutOptionsToActiveSlide(s.layoutOptions, activeSlide),
29776
29836
  [s.layoutOptions, activeSlide]
29777
29837
  );
@@ -31718,7 +31778,7 @@ function useTableStyleMapHandlers(input) {
31718
31778
  var AiChatPanel = lazy(async () => {
31719
31779
  const [{ useChat }, { default: Panel }] = await Promise.all([
31720
31780
  import('@ai-sdk/react'),
31721
- import('./AiChatPanel-5O6PHRSH.mjs')
31781
+ import('./AiChatPanel-IDP326YW.mjs')
31722
31782
  ]);
31723
31783
  function BoundAiChatPanel(props) {
31724
31784
  return /* @__PURE__ */ jsx(Panel, { ...props, useChat });
@@ -34334,6 +34394,46 @@ function useChartFormatCommands(input) {
34334
34394
  [chart, editable, target, paneOpen, setTarget, openPane, closePane, applyChartData, reset]
34335
34395
  );
34336
34396
  }
34397
+ function useDeckStyleHost(input) {
34398
+ const latest = useRef(input);
34399
+ latest.current = input;
34400
+ return useMemo(
34401
+ () => createDeckStyleHost(() => {
34402
+ const current = latest.current;
34403
+ const write = (state) => {
34404
+ current.setSlides(state.slides);
34405
+ current.setTemplateElementsBySlideId(state.templateElementsBySlideId);
34406
+ current.setTheme(state.theme);
34407
+ };
34408
+ return {
34409
+ read: () => ({
34410
+ slides: current.slides,
34411
+ templateElementsBySlideId: current.templateElementsBySlideId,
34412
+ theme: current.theme,
34413
+ themeColorMap: current.themeColorMap
34414
+ }),
34415
+ show: write,
34416
+ hold: (on) => {
34417
+ if (current.heldDeckRef) {
34418
+ current.heldDeckRef.current = on ? {
34419
+ slides: current.slides,
34420
+ templateElementsBySlideId: current.templateElementsBySlideId
34421
+ } : void 0;
34422
+ }
34423
+ current.holdTracking(on);
34424
+ },
34425
+ handler: () => current.handlerRef.current,
34426
+ selectedSlideIds: () => current.selectedSlideIds,
34427
+ apply: (state) => {
34428
+ current.bumpHistory();
34429
+ write(state);
34430
+ current.markDirty();
34431
+ }
34432
+ };
34433
+ }),
34434
+ []
34435
+ );
34436
+ }
34337
34437
  function useLoadNotifications(input) {
34338
34438
  const { loading, error } = input;
34339
34439
  const latest = useRef(input);
@@ -34473,24 +34573,34 @@ function useRibbonGalleryCommands2(input) {
34473
34573
  updateElementById,
34474
34574
  updateThemeColorScheme,
34475
34575
  updateThemeFontScheme,
34476
- applyThemeData
34576
+ applyThemeData,
34577
+ activeSlide,
34578
+ deckStyle
34477
34579
  } = input;
34478
34580
  const handler = handlerRef.current;
34581
+ const deck = galleryDeckView(deckStyle?.held(), { theme, themeColorMap, activeSlide });
34479
34582
  const context = useMemo(
34480
34583
  () => ({
34481
34584
  element: selectedElement ?? null,
34482
- themeColorMap,
34483
- theme,
34484
- resolveStyleMatrix: handler ? (styleXml) => handler.resolveStyleMatrixReferences(styleXml) : void 0,
34485
- selectedTableCells: tableLayoutCells(tableEditorState)
34585
+ themeColorMap: deck.themeColorMap,
34586
+ theme: deck.theme,
34587
+ resolveStyleMatrix: handler ? (styleXml, effectSchemeId) => handler.resolveStyleMatrixReferences(styleXml, effectSchemeId) : void 0,
34588
+ selectedTableCells: tableLayoutCells(tableEditorState),
34589
+ activeSlide: deck.activeSlide ?? null,
34590
+ ...handler?.getThemeVariants().length ? { themeVariants: handler.getThemeVariants() } : {}
34486
34591
  }),
34487
- [selectedElement, themeColorMap, theme, handler, tableEditorState]
34592
+ [selectedElement, deck.themeColorMap, deck.theme, handler, tableEditorState, deck.activeSlide]
34488
34593
  );
34489
34594
  const dispatch = useCallback(
34490
34595
  (result) => {
34491
34596
  if (!editable) {
34492
34597
  return;
34493
34598
  }
34599
+ if (result.kind === "themeEffects" || result.kind === "backgroundStyle" || result.kind === "sequence") {
34600
+ void deckStyle?.commit(result);
34601
+ return;
34602
+ }
34603
+ deckStyle?.endPreview();
34494
34604
  switch (result.kind) {
34495
34605
  case "element":
34496
34606
  updateElementById(result.elementId, result.patch);
@@ -34505,9 +34615,28 @@ function useRibbonGalleryCommands2(input) {
34505
34615
  void updateThemeFontScheme(result.fontScheme);
34506
34616
  }
34507
34617
  },
34508
- [editable, updateElementById, updateThemeColorScheme, updateThemeFontScheme, applyThemeData]
34618
+ [
34619
+ editable,
34620
+ updateElementById,
34621
+ updateThemeColorScheme,
34622
+ updateThemeFontScheme,
34623
+ applyThemeData,
34624
+ deckStyle
34625
+ ]
34626
+ );
34627
+ const preview = useCallback(
34628
+ (result) => {
34629
+ if (editable) {
34630
+ deckStyle?.preview(result);
34631
+ }
34632
+ },
34633
+ [editable, deckStyle]
34634
+ );
34635
+ const endPreview = useCallback(() => deckStyle?.endPreview(), [deckStyle]);
34636
+ return useMemo(
34637
+ () => ({ context, editable, dispatch, preview, endPreview }),
34638
+ [context, editable, dispatch, preview, endPreview]
34509
34639
  );
34510
- return useMemo(() => ({ context, editable, dispatch }), [context, editable, dispatch]);
34511
34640
  }
34512
34641
  function useRunProgramNoticesState() {
34513
34642
  const [notices, setNotices] = useState([]);
@@ -35367,7 +35496,24 @@ ${url}`)
35367
35496
  }
35368
35497
  slidePackageClipboardRef.current.updateHost(slidePackageHost);
35369
35498
  useEffect(() => () => slidePackageClipboardRef.current?.dispose(), []);
35499
+ const galleryDeckStyle = useDeckStyleHost({
35500
+ slides,
35501
+ templateElementsBySlideId,
35502
+ theme: state.theme,
35503
+ themeColorMap: themeColorMapValue,
35504
+ handlerRef,
35505
+ selectedSlideIds: slides[activeSlideIndex] ? [slides[activeSlideIndex].id] : [],
35506
+ setSlides: state.setSlides,
35507
+ setTemplateElementsBySlideId: state.setTemplateElementsBySlideId,
35508
+ setTheme: state.setTheme,
35509
+ heldDeckRef: state.deckStyleHeldRef,
35510
+ holdTracking: history.holdTracking,
35511
+ bumpHistory: () => state.setPointerCommitNonce((n) => n + 1),
35512
+ markDirty: history.markDirty
35513
+ });
35370
35514
  const ribbonGalleries = useRibbonGalleryCommands2({
35515
+ deckStyle: galleryDeckStyle,
35516
+ activeSlide: slides[activeSlideIndex] ?? null,
35371
35517
  selectedElement,
35372
35518
  theme: state.theme,
35373
35519
  themeColorMap: themeColorMapValue,
@@ -35938,8 +36084,8 @@ ${url}`)
35938
36084
  /* @__PURE__ */ jsx(
35939
36085
  CollaborationDocumentSync,
35940
36086
  {
35941
- slides,
35942
- templateElementsBySlideId,
36087
+ slides: galleryDeckStyle.held()?.slides ?? slides,
36088
+ templateElementsBySlideId: galleryDeckStyle.held()?.templateElementsBySlideId ?? templateElementsBySlideId,
35943
36089
  setSlides: state.setSlides,
35944
36090
  content,
35945
36091
  loadVersion,