pptx-react-viewer 4.33.1 → 4.34.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 (65) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/dist/{chunk-2OIJUZD5.mjs → chunk-LGZOY6W6.mjs} +51 -6
  3. package/dist/chunk-LGZOY6W6.mjs.br +0 -0
  4. package/dist/chunk-LGZOY6W6.mjs.gz +0 -0
  5. package/dist/{chunk-JHYNVFFS.js → chunk-LNL6PAGZ.js} +1167 -1049
  6. package/dist/chunk-LNL6PAGZ.js.br +0 -0
  7. package/dist/chunk-LNL6PAGZ.js.gz +0 -0
  8. package/dist/{chunk-GSMY5BTO.mjs → chunk-OWXES7IA.mjs} +167 -49
  9. package/dist/chunk-OWXES7IA.mjs.br +0 -0
  10. package/dist/chunk-OWXES7IA.mjs.gz +0 -0
  11. package/dist/{chunk-TVSTM5J5.js → chunk-XXGYLCRT.js} +50 -5
  12. package/dist/chunk-XXGYLCRT.js.br +0 -0
  13. package/dist/chunk-XXGYLCRT.js.gz +0 -0
  14. package/dist/i18n/de.cjs +9 -0
  15. package/dist/i18n/de.cjs.br +0 -0
  16. package/dist/i18n/de.cjs.gz +0 -0
  17. package/dist/i18n/de.mjs +9 -0
  18. package/dist/i18n/de.mjs.br +0 -0
  19. package/dist/i18n/de.mjs.gz +0 -0
  20. package/dist/i18n/es.cjs +9 -0
  21. package/dist/i18n/es.cjs.br +0 -0
  22. package/dist/i18n/es.cjs.gz +0 -0
  23. package/dist/i18n/es.mjs +9 -0
  24. package/dist/i18n/es.mjs.br +0 -0
  25. package/dist/i18n/es.mjs.gz +0 -0
  26. package/dist/i18n/fr.cjs +9 -0
  27. package/dist/i18n/fr.cjs.br +0 -0
  28. package/dist/i18n/fr.cjs.gz +0 -0
  29. package/dist/i18n/fr.mjs +9 -0
  30. package/dist/i18n/fr.mjs.br +0 -0
  31. package/dist/i18n/fr.mjs.gz +0 -0
  32. package/dist/i18n/zh-CN.cjs +9 -0
  33. package/dist/i18n/zh-CN.cjs.br +0 -0
  34. package/dist/i18n/zh-CN.cjs.gz +0 -0
  35. package/dist/i18n/zh-CN.mjs +9 -0
  36. package/dist/i18n/zh-CN.mjs.br +0 -0
  37. package/dist/i18n/zh-CN.mjs.gz +0 -0
  38. package/dist/index.js +22 -22
  39. package/dist/index.js.br +0 -0
  40. package/dist/index.js.gz +0 -0
  41. package/dist/index.mjs +2 -2
  42. package/dist/index.mjs.br +0 -0
  43. package/dist/index.mjs.gz +0 -0
  44. package/dist/internals.d.ts +8 -1
  45. package/dist/internals.js +80 -80
  46. package/dist/internals.js.br +0 -0
  47. package/dist/internals.js.gz +0 -0
  48. package/dist/internals.mjs +1 -1
  49. package/dist/internals.mjs.br +0 -0
  50. package/dist/internals.mjs.gz +0 -0
  51. package/dist/viewer/index.js +17 -17
  52. package/dist/viewer/index.js.br +0 -0
  53. package/dist/viewer/index.js.gz +0 -0
  54. package/dist/viewer/index.mjs +2 -2
  55. package/dist/viewer/index.mjs.br +0 -0
  56. package/dist/viewer/index.mjs.gz +0 -0
  57. package/package.json +3 -3
  58. package/dist/chunk-2OIJUZD5.mjs.br +0 -0
  59. package/dist/chunk-2OIJUZD5.mjs.gz +0 -0
  60. package/dist/chunk-GSMY5BTO.mjs.br +0 -0
  61. package/dist/chunk-GSMY5BTO.mjs.gz +0 -0
  62. package/dist/chunk-JHYNVFFS.js.br +0 -0
  63. package/dist/chunk-JHYNVFFS.js.gz +0 -0
  64. package/dist/chunk-TVSTM5J5.js.br +0 -0
  65. package/dist/chunk-TVSTM5J5.js.gz +0 -0
Binary file
Binary file
@@ -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, useCollaboration, useCollaborationDocumentSync, useFollowMode, useBroadcastFollower, SlideBackgroundImageLayer, StaticElementRenderer, safePrompt, scopeLayoutOptionsToActiveSlide, ChartPartSelectionProvider, useToolbarVisibility, useKeyboardInsets, useModalDismissDrag, ViewerOptionsStoreContext, ViewerOptionsContext, useViewerOptionsContext, useVirtualizedSlides, useSwipeNavigation, PresentationTransitionOverlay, RemoteSelectionOverlay, CollaborationCursorOverlay, useSheetDismissDrag, detectTargetType, parseEmailUrl, parseSlideFromUrl, ACTION_VERB_MAP, ElementRenderer, InlineCollaborationContext, SmartArtRenderer, downloadBlob, playAnimationSound, ResizeHandles, imgSrc, renderStrokeView, useChartPartSelection, DUOTONE_PRESETS, getSlideTransitionAnimations, SLIDE_TRANSITION_KEYFRAMES, resolveSmartArtDataPalette } from './chunk-2OIJUZD5.mjs';
1
+ import { useViewerOptions, useReadOnlyRecommendationState, useCompatibilityToastsState, useReducedMotion, useViewerState, useIsMobile, useResizablePanels, useDerivedSlideState, useZoomViewport, useEditorHistory, usePresentationSetup, useTouchGestures, useViewerDialogs, useEditorOperations, useViewerIntegration, useViewPreferencesSync, useLayoutSwitching, Rendering3DFlagsContext, CollaborationProvider, useCollaboration, useCollaborationDocumentSync, useFollowMode, useBroadcastFollower, SlideBackgroundImageLayer, StaticElementRenderer, safePrompt, scopeLayoutOptionsToActiveSlide, ChartPartSelectionProvider, useToolbarVisibility, useKeyboardInsets, useModalDismissDrag, ViewerOptionsStoreContext, ViewerOptionsContext, useViewerOptionsContext, useVirtualizedSlides, useSwipeNavigation, PresentationTransitionOverlay, RemoteSelectionOverlay, CollaborationCursorOverlay, useSheetDismissDrag, detectTargetType, parseEmailUrl, parseSlideFromUrl, ACTION_VERB_MAP, ElementRenderer, InlineCollaborationContext, SmartArtRenderer, downloadBlob, playAnimationSound, ResizeHandles, imgSrc, renderStrokeView, useChartPartSelection, DUOTONE_PRESETS, getSlideTransitionAnimations, SLIDE_TRANSITION_KEYFRAMES, resolveSmartArtDataPalette } from './chunk-LGZOY6W6.mjs';
2
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 as SHORTCUT_REFERENCE_ITEMS$1, 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-K4UXDQZ6.mjs';
3
- import { EMPTY_RESOLVED_CUSTOMIZATION, ANIMATION_DIRECTION_LABEL_KEYS, compileEquationTemplateMathMl, resolveViewerRootOptions, buildUserFontFaceStyles, readStoredViewerPrefs, resolveThemeCatalogEntry, THEME_CATALOG, writeStoredViewerPrefs, openPptxFile, readBackstageRecentFile, isFeatureEnabled, isDialogAvailable, resolveAutosaveActivation, viewerOptionsToPreferences, applyPreferenceToOptions, resolveHistoryDepth, attachViewerHyperlinks, shouldConfirmExternalHyperlink, applyAutoCorrect, resolveImageResolutionScale, resolveAutosaveIntervalMs, resolveAutosaveIntervalSeconds, 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, masterViewCrudActions, applyMasterViewCrudAction, masterViewCrudFailureKey, EDITOR_CHROME_CSS, ribbonCustomizationCss, applyMotionPathPreset, resetSlideLayoutPath, DEFAULT_INSERT_CHART_KIND, templateSchemeFromTheme, createBackstagePresentation, playFeedbackSound, shouldDiscardAutosaveOnSuccessfulSave, setMasterViewBackgroundColor, canUseClipboard, runProgramNoticeStackStyle, printPropertiesFrameSlides, printPropertiesSlidesPerPage, PASTE_SPECIAL_OPTIONS, findCanvasElementNode, getDensePanelTouchTargetPx, shouldStickyActionRow, customizeOptionsTabs, VIEWER_OPTIONS_TABS, isOptionsPageVisible, DEFAULT_QUICK_ACCESS_COMMAND_IDS, isHeaderFooterDateTextVisible, isHeaderFooterHeaderTextVisible, isHeaderFooterFooterTextVisible, buildJoinCollaborationConfig, buildCreateCollaborationConfig, generateBroadcastRoomId, DEFAULT_BROADCAST_SERVER_URL, buildBroadcastViewerUrl, resolveTransportForServerUrl, getSlideBackgroundStyle, pushRecentColor, mruColorsPatch, shouldClearAutosaveCacheOnClose, canCropElement, cropSessionChanged, cancelCropUpdate, startCropSession, homeLaunchers, attachRibbonOverflow, editorThumbnailWidth, masterViewBackgroundColor, buildFieldSubstitutionContext, resolvePresentationAction, isPresentationAdvanceClick, toggleBlackboard, PRESENT_TOOLBAR_CLASSES, resolveEditPointsAvailability, isCurrentLayout, observeElementHeight, EXPANDED_MAX_HEIGHT, resolveStatusBarSave, statusBarViewMode, formatVersionTimestamp, formatRelativeTime, scanAvailableFontFamilies, PRESETS, CATEGORIES, convertOmmlToLatex, compileLatexEquation, convertLatexToOmml, EQUATION_TEMPLATES, clampPercent, resolveDefaultPrintSettings, 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, cropModeKeyAction, buildTitleBarState, resolveScreenTip, visibleContextualTabs, resolveActiveRibbonTab, visibleRibbonAddIns, RIBBON_ADD_IN_TAB_ATTR, contextualTabLabelKey, RIBBON_CONTEXTUAL_TAB_ATTR, buildTabRowActionsState, TAB_ROW_ACTION_CLASSES, tabRowActionsAttributes, customizeBackstageNav, 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, DESIGN_RIBBON_COMMANDS, designCommandState, FIXED_TAB_GALLERIES, CONTEXTUAL_TAB_GROUPS, editorThumbnailStep, resolveSlidePaneClick, SLIDE_VIRTUALIZATION_THRESHOLD, buildSectionContextMenuEntries, buildSlidePaneContextMenuEntries, slidePaneViewItems, isEditPointsEnabled, 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, clampOptionNumber, QUICK_ACCESS_COMMAND_CATALOG, registerCustomFont, createSlideSorterState, sorterSelectionIndexes, selectSorterSlide, applySorterAction, slideSorterPasteIndexes, 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, resolveDefaultFontFamily, textFontSizePxToPt, getInlineEditorSelectionResult, selectedParagraphBulletKind, elementBulletKind, selectionBulletKind, fontPickerHomeControls, fontHomeControls, nextToggleValue, RIBBON_GROUP_ATTR, paragraphHomeAlign, paragraphHomeControls, paragraphHomeAction, arrangeShapeHomeControls, strokeWidthOf, canSetStrokeWidth, canUngroupSelection, canGroupSelection, parseCropValue, buildRibbonGallery, readRibbonTransitionDraft, SLIDE_SHOW_COMMAND_GROUPS, RECORD_COMMAND_GROUPS, buildReviewRibbon, HELP_RIBBON_COMMANDS, galleryTextLabel, sectionAddAfterSlideIndex, masterViewPseudoSlide, PRESENTATION_ANIM_TRIGGER_ATTRIBUTE, parentSelection, slideSpaceElement, isGroupMember, motionPathFor, setMotionPath, shouldShowElementHandles, computeAnchoredPopupPosition, applyTableStyleDelete, applyTableStyleMapChange, handleReadingViewKey, getLocalStorageUsageSummary, saveViewerProfile, clearAllLocalViewerData, SLIDE_TEMPLATES, getSelectionTextStyleFlags, TEXT_DECORATION_FLAGS, applyRibbonGalleryItem, ribbonTransitionsDraftPatch, ribbonTransitionUpdates, ribbonTransitionsSoundChange, ribbonTransitionStockSoundUrl, playSlideTransitionPreview, playAnimationRibbonPreview, SLIDE_SHOW_OPTIONS, createViewerOptionsStore, subtitleSettingsLabels, 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, mapSlideSorterKey, isEditorTextInputTarget, clampSorterZoom, buildSlideTemplateContent, 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, 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, OFFICE_COLOR_SWATCHES, 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';
3
+ import { EMPTY_RESOLVED_CUSTOMIZATION, ANIMATION_DIRECTION_LABEL_KEYS, compileEquationTemplateMathMl, resolveViewerRootOptions, buildUserFontFaceStyles, readStoredViewerPrefs, resolveThemeCatalogEntry, THEME_CATALOG, writeStoredViewerPrefs, openPptxFile, readBackstageRecentFile, isFeatureEnabled, isDialogAvailable, 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, masterViewCrudActions, applyMasterViewCrudAction, masterViewCrudFailureKey, EDITOR_CHROME_CSS, ribbonCustomizationCss, applyMotionPathPreset, resetSlideLayoutPath, DEFAULT_INSERT_CHART_KIND, templateSchemeFromTheme, createBackstagePresentation, playFeedbackSound, shouldDiscardAutosaveOnSuccessfulSave, setMasterViewBackgroundColor, canUseClipboard, runProgramNoticeStackStyle, printPropertiesFrameSlides, printPropertiesSlidesPerPage, PASTE_SPECIAL_OPTIONS, findCanvasElementNode, getDensePanelTouchTargetPx, shouldStickyActionRow, customizeOptionsTabs, VIEWER_OPTIONS_TABS, isOptionsPageVisible, DEFAULT_QUICK_ACCESS_COMMAND_IDS, isHeaderFooterDateTextVisible, isHeaderFooterHeaderTextVisible, isHeaderFooterFooterTextVisible, buildJoinCollaborationConfig, buildCreateCollaborationConfig, generateBroadcastRoomId, DEFAULT_BROADCAST_SERVER_URL, buildBroadcastViewerUrl, resolveTransportForServerUrl, getSlideBackgroundStyle, pushRecentColor, mruColorsPatch, shouldClearAutosaveCacheOnClose, canCropElement, cropSessionChanged, cancelCropUpdate, startCropSession, homeLaunchers, attachRibbonOverflow, editorThumbnailWidth, masterViewBackgroundColor, buildFieldSubstitutionContext, resolvePresentationAction, isPresentationAdvanceClick, toggleBlackboard, PRESENT_TOOLBAR_CLASSES, resolveEditPointsAvailability, isCurrentLayout, observeElementHeight, EXPANDED_MAX_HEIGHT, resolveStatusBarSave, statusBarViewMode, formatVersionTimestamp, formatRelativeTime, scanAvailableFontFamilies, PRESETS, CATEGORIES, convertOmmlToLatex, compileLatexEquation, convertLatexToOmml, EQUATION_TEMPLATES, clampPercent, resolveDefaultPrintSettings, HANDOUT_OPTIONS, TOOLBAR_TABS, SHORTCUT_REFERENCE_ITEMS, resolveViewerAddinRows, availableQuickAccessCommands, addQuickAccessCommand, removeQuickAccessCommand, moveQuickAccessCommand, CUSTOM_FONT_ACCEPT, activateModalFocus, buildCollaborationShareUrl, buildActiveSessionUsers, slideClipboardLabels, sorterPasteInsertAt, 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, cropModeKeyAction, buildTitleBarState, resolveScreenTip, visibleContextualTabs, resolveActiveRibbonTab, visibleRibbonAddIns, RIBBON_ADD_IN_TAB_ATTR, contextualTabLabelKey, RIBBON_CONTEXTUAL_TAB_ATTR, buildTabRowActionsState, TAB_ROW_ACTION_CLASSES, tabRowActionsAttributes, customizeBackstageNav, 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, DESIGN_RIBBON_COMMANDS, designCommandState, FIXED_TAB_GALLERIES, 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, clampOptionNumber, QUICK_ACCESS_COMMAND_CATALOG, registerCustomFont, 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, resolveDefaultFontFamily, textFontSizePxToPt, getInlineEditorSelectionResult, selectedParagraphBulletKind, elementBulletKind, selectionBulletKind, fontPickerHomeControls, fontHomeControls, nextToggleValue, RIBBON_GROUP_ATTR, paragraphHomeAlign, paragraphHomeControls, paragraphHomeAction, arrangeShapeHomeControls, strokeWidthOf, canSetStrokeWidth, canUngroupSelection, canGroupSelection, parseCropValue, buildRibbonGallery, readRibbonTransitionDraft, SLIDE_SHOW_COMMAND_GROUPS, RECORD_COMMAND_GROUPS, buildReviewRibbon, HELP_RIBBON_COMMANDS, galleryTextLabel, sectionAddAfterSlideIndex, masterViewPseudoSlide, PRESENTATION_ANIM_TRIGGER_ATTRIBUTE, parentSelection, slideSpaceElement, isGroupMember, motionPathFor, setMotionPath, shouldShowElementHandles, computeAnchoredPopupPosition, applyTableStyleDelete, applyTableStyleMapChange, handleReadingViewKey, getLocalStorageUsageSummary, saveViewerProfile, clearAllLocalViewerData, SLIDE_TEMPLATES, getSelectionTextStyleFlags, TEXT_DECORATION_FLAGS, applyRibbonGalleryItem, ribbonTransitionsDraftPatch, ribbonTransitionUpdates, ribbonTransitionsSoundChange, ribbonTransitionStockSoundUrl, playSlideTransitionPreview, playAnimationRibbonPreview, SLIDE_SHOW_OPTIONS, createViewerOptionsStore, subtitleSettingsLabels, 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, mapSlideSorterKey, isEditorTextInputTarget, clampSorterZoom, buildSlideTemplateContent, 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, OFFICE_COLOR_SWATCHES, 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 React99, { createContext, lazy, forwardRef, useEffect, useState, useCallback, useMemo, useRef, useLayoutEffect, useSyncExternalStore, useId, useContext, useDeferredValue, Suspense, useReducer, Fragment as Fragment$1 } from 'react';
5
+ import React100, { 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, LuSettings, LuX, LuCalendarDays, LuClock, LuHash, LuFileText, LuText, LuCast, LuShieldCheck, LuPlus, LuPanelLeftClose, LuDownload, LuTrash2, LuCheck, LuLock, LuEye, LuType, LuLoader, LuShieldAlert, LuSignature, LuInfo, LuTriangleAlert, LuPrinter, LuPenTool, LuBug, LuChevronUp, LuChevronDown, LuUpload, LuWifi, LuWifiOff, LuUsers, LuCopy, LuMinus, LuChevronLeft, LuChevronRight, LuPlay, LuPause, LuPanelLeft, LuPanelRight, LuSparkles, LuFolderOpen, LuPalette, LuSearch, LuCaseSensitive, LuReplace, LuGripVertical, LuLoaderCircle, LuGrid2X2, LuStickyNote, LuList, 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';
@@ -713,7 +713,7 @@ function WebHomeControls({
713
713
  host.addEventListener("home-popup", listener);
714
714
  return () => host.removeEventListener("home-popup", listener);
715
715
  }, [onPopup]);
716
- return React99.createElement(`pptx-ui-ribbon-home-${family}`, { ref });
716
+ return React100.createElement(`pptx-ui-ribbon-home-${family}`, { ref });
717
717
  }
718
718
  function ShapeArrangeExtras(p) {
719
719
  const commands = useShapeFormatContext();
@@ -1210,7 +1210,7 @@ function AccountPage() {
1210
1210
  return void 0;
1211
1211
  });
1212
1212
  };
1213
- const version = "4.33.1" ;
1213
+ const version = "4.34.0" ;
1214
1214
  return /* @__PURE__ */ jsxs("div", { className: "mt-8 max-w-[700px] space-y-6", children: [
1215
1215
  /* @__PURE__ */ jsxs("section", { className: cardClass, children: [
1216
1216
  /* @__PURE__ */ jsxs("h2", { className: "flex items-center gap-2 text-sm font-semibold", children: [
@@ -3472,7 +3472,7 @@ function DrawingGroup(p) {
3472
3472
  pushColor(String(value));
3473
3473
  break;
3474
3474
  case "home.drawing.shapeOutline":
3475
- onUpdateElementStyle?.(shapeOutlineChange(String(value), intent?.ref));
3475
+ onUpdateElementStyle?.(shapeOutlineChange(String(value), intent?.ref, style ?? {}));
3476
3476
  pushColor(String(value));
3477
3477
  break;
3478
3478
  default:
@@ -3491,7 +3491,8 @@ function DrawingGroup(p) {
3491
3491
  onAddShape,
3492
3492
  onUpdateElementStyle,
3493
3493
  pushColor,
3494
- commands
3494
+ commands,
3495
+ style
3495
3496
  ]
3496
3497
  );
3497
3498
  return /* @__PURE__ */ jsxs(Fragment, { children: [
@@ -4885,7 +4886,7 @@ function ChartQuickActionsOverlay({
4885
4886
  "data-export-ignore": "true",
4886
4887
  style: { position: "absolute", left: 0, top: 0, zIndex: 59 },
4887
4888
  onMouseDown: (e) => e.stopPropagation(),
4888
- children: descriptor.buttons.map((button) => /* @__PURE__ */ jsxs(React99.Fragment, { children: [
4889
+ children: descriptor.buttons.map((button) => /* @__PURE__ */ jsxs(React100.Fragment, { children: [
4889
4890
  /* @__PURE__ */ jsx(
4890
4891
  "button",
4891
4892
  {
@@ -4905,7 +4906,7 @@ function ChartQuickActionsOverlay({
4905
4906
  transformOrigin: "top left"
4906
4907
  },
4907
4908
  className: "flex items-center justify-center rounded bg-white border border-gray-300 shadow-sm hover:bg-gray-100 text-gray-700",
4908
- children: React99.createElement(ICONS3[button.id], { className: "size-3.5" })
4909
+ children: React100.createElement(ICONS3[button.id], { className: "size-3.5" })
4909
4910
  }
4910
4911
  ),
4911
4912
  open === button.id && button.id === "elements" && /* @__PURE__ */ jsxs(
@@ -6051,7 +6052,7 @@ function HorizontalRulerView({ ticks, widthPx, highlight }) {
6051
6052
  }
6052
6053
  );
6053
6054
  }
6054
- var HorizontalRuler = React99.memo(HorizontalRulerView);
6055
+ var HorizontalRuler = React100.memo(HorizontalRulerView);
6055
6056
  HorizontalRuler.displayName = "HorizontalRuler";
6056
6057
  function VerticalRulerView({ ticks, heightPx, highlight }) {
6057
6058
  return /* @__PURE__ */ jsxs(
@@ -6123,7 +6124,7 @@ function VerticalRulerView({ ticks, heightPx, highlight }) {
6123
6124
  }
6124
6125
  );
6125
6126
  }
6126
- var VerticalRuler = React99.memo(VerticalRulerView);
6127
+ var VerticalRuler = React100.memo(VerticalRulerView);
6127
6128
  VerticalRuler.displayName = "VerticalRuler";
6128
6129
  function Ruler({
6129
6130
  canvasSize,
@@ -8005,7 +8006,7 @@ function slideThumbnailPropsEqual(prev, next) {
8005
8006
  }
8006
8007
  return true;
8007
8008
  }
8008
- var SlideThumbnail = React99.memo(SlideThumbnailImpl, slideThumbnailPropsEqual);
8009
+ var SlideThumbnail = React100.memo(SlideThumbnailImpl, slideThumbnailPropsEqual);
8009
8010
  function tableCell(props) {
8010
8011
  const { selectedElement, tableEditorState } = props;
8011
8012
  if (selectedElement?.type !== "table" || tableEditorState === null) {
@@ -8229,6 +8230,12 @@ function FindReplacePanel({
8229
8230
  findQuery,
8230
8231
  replaceQuery,
8231
8232
  findMatchCase,
8233
+ findIncludeNotes = false,
8234
+ findIncludeChartTitles = true,
8235
+ findIncludeChartData = false,
8236
+ onSetFindIncludeChartTitles,
8237
+ onSetFindIncludeChartData,
8238
+ onSetFindIncludeNotes,
8232
8239
  findResults,
8233
8240
  findResultIndex,
8234
8241
  onSetFindQuery,
@@ -8247,7 +8254,7 @@ function FindReplacePanel({
8247
8254
  }, []);
8248
8255
  useEffect(() => {
8249
8256
  onPerformFind();
8250
- }, [findQuery, findMatchCase]);
8257
+ }, [findQuery, findMatchCase, findIncludeNotes, findIncludeChartTitles, findIncludeChartData]);
8251
8258
  const handleSearchKeyDown = useCallback(
8252
8259
  (event) => {
8253
8260
  if (event.key === "Escape") {
@@ -8273,9 +8280,43 @@ function FindReplacePanel({
8273
8280
  [onClose, onReplace]
8274
8281
  );
8275
8282
  const hasResults = findResults.length > 0;
8283
+ const availability = findReplacementAvailability(findResults, findResultIndex);
8276
8284
  const matchCountLabel = hasResults ? t("pptx.findReplace.matchCount", { current: findResultIndex + 1, total: findResults.length }) : findQuery.length > 0 ? t("pptx.findReplace.noMatches") : "";
8277
8285
  return /* @__PURE__ */ jsxs("div", { className: "absolute top-2 right-2 z-40 bg-popover border border-border rounded-lg shadow-lg p-3 text-xs text-foreground w-80 backdrop-blur", children: [
8286
+ /* @__PURE__ */ jsxs("label", { children: [
8287
+ /* @__PURE__ */ jsx(
8288
+ WebCheckbox,
8289
+ {
8290
+ "aria-label": t("pptx.findReplace.includeChartTitles"),
8291
+ checked: findIncludeChartTitles,
8292
+ onChange: (event) => onSetFindIncludeChartTitles?.(event.target.checked)
8293
+ }
8294
+ ),
8295
+ t("pptx.findReplace.includeChartTitles")
8296
+ ] }),
8297
+ /* @__PURE__ */ jsxs("label", { children: [
8298
+ /* @__PURE__ */ jsx(
8299
+ WebCheckbox,
8300
+ {
8301
+ "aria-label": t("pptx.findReplace.includeChartData"),
8302
+ checked: findIncludeChartData,
8303
+ onChange: (event) => onSetFindIncludeChartData?.(event.target.checked)
8304
+ }
8305
+ ),
8306
+ t("pptx.findReplace.includeChartData")
8307
+ ] }),
8278
8308
  /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between mb-2", children: [
8309
+ /* @__PURE__ */ jsxs("label", { children: [
8310
+ /* @__PURE__ */ jsx(
8311
+ WebCheckbox,
8312
+ {
8313
+ "aria-label": t("pptx.findReplace.includeNotes"),
8314
+ checked: findIncludeNotes,
8315
+ onChange: (event) => onSetFindIncludeNotes?.(event.target.checked)
8316
+ }
8317
+ ),
8318
+ t("pptx.findReplace.includeNotes")
8319
+ ] }),
8279
8320
  /* @__PURE__ */ jsxs("span", { className: "font-semibold text-sm inline-flex items-center gap-1.5", children: [
8280
8321
  /* @__PURE__ */ jsx(LuSearch, { className: ic2 }),
8281
8322
  t("pptx.findReplace.title")
@@ -8361,6 +8402,9 @@ function FindReplacePanel({
8361
8402
  }
8362
8403
  )
8363
8404
  ] }) }),
8405
+ availability.hasReadOnly && /* @__PURE__ */ jsx("p", { role: "status", children: t(
8406
+ findIncludeChartData ? "pptx.findReplace.readOnlyChartText" : "pptx.findReplace.readOnlyChartTitle"
8407
+ ) }),
8364
8408
  /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1.5", children: [
8365
8409
  /* @__PURE__ */ jsx(
8366
8410
  "button",
@@ -8368,7 +8412,7 @@ function FindReplacePanel({
8368
8412
  type: "button",
8369
8413
  className: btnAction,
8370
8414
  onClick: onReplace,
8371
- disabled: !hasResults,
8415
+ disabled: !availability.current,
8372
8416
  title: t("pptx.findReplace.replaceCurrent"),
8373
8417
  children: t("pptx.findReplace.replace")
8374
8418
  }
@@ -8379,7 +8423,7 @@ function FindReplacePanel({
8379
8423
  type: "button",
8380
8424
  className: btnAction,
8381
8425
  onClick: onReplaceAll,
8382
- disabled: !hasResults,
8426
+ disabled: !availability.all,
8383
8427
  title: t("pptx.findReplace.replaceAllMatches"),
8384
8428
  children: t("pptx.findReplace.replaceAll")
8385
8429
  }
@@ -8648,7 +8692,7 @@ function LazyThumbnailInner({
8648
8692
  }
8649
8693
  ) });
8650
8694
  }
8651
- var LazyThumbnail = React99.memo(LazyThumbnailInner);
8695
+ var LazyThumbnail = React100.memo(LazyThumbnailInner);
8652
8696
  function declaredSectionFacts(groups, sectionId) {
8653
8697
  const declared = groups.filter((group) => group.id !== DEFAULT_SECTION_GROUP_ID && group.id !== UNGROUPED_SECTION_ID).map((group) => group.id);
8654
8698
  return {
@@ -8816,7 +8860,7 @@ function SlideItemInner({
8816
8860
  }
8817
8861
  );
8818
8862
  }
8819
- var SlideItem = React99.memo(SlideItemInner);
8863
+ var SlideItem = React100.memo(SlideItemInner);
8820
8864
  function useSlidePaneCallbacks(onMoveSlide, onRenameSection, onToggleSectionCollapse) {
8821
8865
  const [collapsedSections, setCollapsedSections] = useState({});
8822
8866
  const [renamingSectionId, setRenamingSectionId] = useState(null);
@@ -10229,7 +10273,7 @@ function arePropsEqual(prev, next) {
10229
10273
  }
10230
10274
  return true;
10231
10275
  }
10232
- var SlideCard = React99.memo(SlideCardImpl, arePropsEqual);
10276
+ var SlideCard = React100.memo(SlideCardImpl, arePropsEqual);
10233
10277
  var ICON_CLASS = "h-3.5 w-3.5 text-muted-foreground";
10234
10278
  function SorterContextMenu({
10235
10279
  x,
@@ -10384,6 +10428,7 @@ function useKeyboardShortcuts(params) {
10384
10428
  function useSlideSorterState(params) {
10385
10429
  const {
10386
10430
  slides,
10431
+ templateElementsBySlideId,
10387
10432
  activeSlideIndex,
10388
10433
  canEdit,
10389
10434
  sectionGroups,
@@ -10391,6 +10436,7 @@ function useSlideSorterState(params) {
10391
10436
  onMoveSlide,
10392
10437
  onDeleteSlides,
10393
10438
  onDuplicateSlides,
10439
+ onPasteSlides,
10394
10440
  onToggleHideSlides,
10395
10441
  onClose
10396
10442
  } = params;
@@ -10458,22 +10504,29 @@ function useSlideSorterState(params) {
10458
10504
  closeContextMenu();
10459
10505
  }, [selectedIndexes, onDuplicateSlides, closeContextMenu]);
10460
10506
  const handleCopySelected = useCallback(() => {
10461
- setSorter((previous) => ({
10462
- ...previous,
10463
- clipboardIds: sorterSelectionIndexes(previous, slides).map((i) => slides[i].id)
10464
- }));
10507
+ setSorter(
10508
+ (previous) => applySorterAction(
10509
+ previous,
10510
+ slides,
10511
+ "copy",
10512
+ activeSlideIndex,
10513
+ slides,
10514
+ templateElementsBySlideId
10515
+ ).state
10516
+ );
10465
10517
  closeContextMenu();
10466
- }, [slides, closeContextMenu]);
10518
+ }, [slides, activeSlideIndex, templateElementsBySlideId, closeContextMenu]);
10467
10519
  const handlePaste = useCallback(() => {
10468
10520
  if (clipboardSlideIds.length === 0) {
10469
10521
  return;
10470
10522
  }
10471
- const indexes = slideSorterPasteIndexes(clipboardSlideIds, slides);
10472
- if (indexes.length > 0) {
10473
- onDuplicateSlides(indexes);
10523
+ const result = applySorterAction(sorter, slides, "paste", activeSlideIndex);
10524
+ if (result.paste) {
10525
+ onPasteSlides(result.paste);
10526
+ setSorter(result.state);
10474
10527
  }
10475
10528
  closeContextMenu();
10476
- }, [clipboardSlideIds, slides, onDuplicateSlides, closeContextMenu]);
10529
+ }, [clipboardSlideIds, sorter, slides, activeSlideIndex, onPasteSlides, closeContextMenu]);
10477
10530
  const handleToggleHideSelected = useCallback(() => {
10478
10531
  if (selectedIndexes.length === 0) {
10479
10532
  return;
@@ -10578,6 +10631,7 @@ function useSlideSorterState(params) {
10578
10631
  }
10579
10632
  function SlideSorterOverlay({
10580
10633
  slides,
10634
+ templateElementsBySlideId,
10581
10635
  activeSlideIndex,
10582
10636
  canvasSize,
10583
10637
  canEdit,
@@ -10586,12 +10640,16 @@ function SlideSorterOverlay({
10586
10640
  onMoveSlide,
10587
10641
  onDeleteSlides,
10588
10642
  onDuplicateSlides,
10643
+ onPasteSlides,
10644
+ onCopySystemSlides,
10645
+ onPasteSystemSlides,
10589
10646
  onToggleHideSlides,
10590
10647
  onClose
10591
10648
  }) {
10592
10649
  const { t } = useTranslation();
10593
10650
  const state = useSlideSorterState({
10594
10651
  slides,
10652
+ templateElementsBySlideId,
10595
10653
  activeSlideIndex,
10596
10654
  canEdit,
10597
10655
  sectionGroups,
@@ -10599,6 +10657,7 @@ function SlideSorterOverlay({
10599
10657
  onMoveSlide,
10600
10658
  onDeleteSlides,
10601
10659
  onDuplicateSlides,
10660
+ onPasteSlides,
10602
10661
  onToggleHideSlides,
10603
10662
  onClose
10604
10663
  });
@@ -10639,6 +10698,18 @@ function SlideSorterOverlay({
10639
10698
  count: state.selectedSlideIds.length
10640
10699
  }) })
10641
10700
  ] }),
10701
+ React100.createElement("pptx-ui-slide-clipboard", {
10702
+ ref: (node) => {
10703
+ if (!node) {
10704
+ return;
10705
+ }
10706
+ node.labels = slideClipboardLabels((key) => t(key));
10707
+ node.copyAction = onCopySystemSlides ? () => onCopySystemSlides(state.selectedIndexes) : void 0;
10708
+ node.pasteAction = canEdit && onPasteSystemSlides ? () => onPasteSystemSlides(
10709
+ sorterPasteInsertAt(state.selectedIndexes, activeSlideIndex, slides.length)
10710
+ ) : void 0;
10711
+ }
10712
+ }),
10642
10713
  /* @__PURE__ */ jsx(
10643
10714
  "button",
10644
10715
  {
@@ -11542,8 +11613,8 @@ function SlideNotesPanel({
11542
11613
  onHeightChange
11543
11614
  }) {
11544
11615
  const { t } = useTranslation();
11545
- const rootRef = React99.useRef(null);
11546
- React99.useEffect(() => {
11616
+ const rootRef = React100.useRef(null);
11617
+ React100.useEffect(() => {
11547
11618
  const el = rootRef.current;
11548
11619
  if (!el || !onHeightChange) {
11549
11620
  return void 0;
@@ -13386,9 +13457,9 @@ function PresentationSubtitleBar({
13386
13457
  function renderNotesSegments(segments) {
13387
13458
  return notesSegmentsToSpans(segments).map((span) => {
13388
13459
  if (span.kind === "break") {
13389
- return React99.createElement("br", { key: span.key });
13460
+ return React100.createElement("br", { key: span.key });
13390
13461
  }
13391
- return React99.createElement(
13462
+ return React100.createElement(
13392
13463
  "span",
13393
13464
  { key: span.key, style: span.style },
13394
13465
  span.text
@@ -13564,7 +13635,7 @@ function scaledSlidePreviewPropsEqual(prev, next) {
13564
13635
  }
13565
13636
  return true;
13566
13637
  }
13567
- var ScaledSlidePreview = React99.memo(ScaledSlidePreviewImpl, scaledSlidePreviewPropsEqual);
13638
+ var ScaledSlidePreview = React100.memo(ScaledSlidePreviewImpl, scaledSlidePreviewPropsEqual);
13568
13639
  function PresenterNotesRail({
13569
13640
  slides,
13570
13641
  current,
@@ -14792,7 +14863,7 @@ function EffectSoundRow({
14792
14863
  onPickStock
14793
14864
  }) {
14794
14865
  const { t } = useTranslation();
14795
- const fileInputRef = React99.useRef(null);
14866
+ const fileInputRef = React100.useRef(null);
14796
14867
  const selectedValue = soundState.catalogueId ?? (soundState.hasSound ? CURRENT_VALUE : NONE_VALUE);
14797
14868
  const handleSelectChange = (event) => {
14798
14869
  const value = event.target.value;
@@ -18364,7 +18435,7 @@ function ConnectorArrowsSection({
18364
18435
  ["Start", "End"].map((end) => {
18365
18436
  const widthKey = end === "Start" ? "connectorStartArrowWidth" : "connectorEndArrowWidth";
18366
18437
  const lengthKey = end === "Start" ? "connectorStartArrowLength" : "connectorEndArrowLength";
18367
- return /* @__PURE__ */ jsxs(React99.Fragment, { children: [
18438
+ return /* @__PURE__ */ jsxs(React100.Fragment, { children: [
18368
18439
  /* @__PURE__ */ jsxs("label", { className: "flex flex-col gap-1", children: [
18369
18440
  /* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: t(END_LABEL_KEYS[end].width) }),
18370
18441
  /* @__PURE__ */ jsx(
@@ -21289,7 +21360,7 @@ function StrokeEffectsSection({
21289
21360
  ] }),
21290
21361
  EFFECT_CONFIGS.map((cfg) => {
21291
21362
  const on = cfg.isOn(style);
21292
- return /* @__PURE__ */ jsxs(React99.Fragment, { children: [
21363
+ return /* @__PURE__ */ jsxs(React100.Fragment, { children: [
21293
21364
  /* @__PURE__ */ jsxs("label", { className: `inline-flex items-center gap-2 text-foreground ${COL2}`, children: [
21294
21365
  /* @__PURE__ */ jsx(
21295
21366
  WebCheckbox,
@@ -22144,7 +22215,7 @@ function TextWarpGallery({
22144
22215
  onUpdateTextStyle
22145
22216
  }) {
22146
22217
  const { t } = useTranslation();
22147
- const [expanded, setExpanded] = React99.useState(false);
22218
+ const [expanded, setExpanded] = React100.useState(false);
22148
22219
  const currentPreset = ts?.textWarpPreset || "textNoShape";
22149
22220
  return /* @__PURE__ */ jsxs("div", { className: "mt-2 rounded border border-border bg-card p-2 space-y-2", children: [
22150
22221
  /* @__PURE__ */ jsxs(
@@ -22248,7 +22319,7 @@ function ShapeTextPanels({
22248
22319
  canEdit,
22249
22320
  onUpdateShapeStyle: onUpdateElementStyle,
22250
22321
  onSetFillColor: (hex, ref) => onUpdateElementStyle({ fillColor: hex, fillMode: "solid", fillColorRef: ref }),
22251
- onSetStrokeColor: (hex, ref) => onUpdateElementStyle({ strokeColor: hex, strokeColorRef: ref })
22322
+ onSetStrokeColor: (hex, ref) => onUpdateElementStyle(shapeOutlineChange(hex, ref, selectedElement.shapeStyle ?? {}))
22252
22323
  }
22253
22324
  )
22254
22325
  ] }),
@@ -22787,7 +22858,7 @@ function SmartArtStyleControls({
22787
22858
  onChangeStyle
22788
22859
  }) {
22789
22860
  const { t } = useTranslation();
22790
- const translate = React99.useCallback((key) => t(key), [t]);
22861
+ const translate = React100.useCallback((key) => t(key), [t]);
22791
22862
  return /* @__PURE__ */ jsxs(Fragment, { children: [
22792
22863
  /* @__PURE__ */ jsxs("label", { className: "flex flex-col gap-1 text-[11px]", children: [
22793
22864
  /* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: t("pptx.smartart.colorScheme") }),
@@ -22842,9 +22913,9 @@ function SmartArtPropertiesPanel({
22842
22913
  const nodes = smartArtData.nodes ?? [];
22843
22914
  const layout = smartArtData.resolvedLayoutType;
22844
22915
  const topLevelCount = nodes.filter((n) => !n.parentId).length;
22845
- const inputRefs = React99.useRef(/* @__PURE__ */ new Map());
22846
- const pendingFocusId = React99.useRef(null);
22847
- React99.useEffect(() => {
22916
+ const inputRefs = React100.useRef(/* @__PURE__ */ new Map());
22917
+ const pendingFocusId = React100.useRef(null);
22918
+ React100.useEffect(() => {
22848
22919
  const id = pendingFocusId.current;
22849
22920
  if (id) {
22850
22921
  inputRefs.current.get(id)?.focus();
@@ -23343,7 +23414,7 @@ function TableCellAdvancedFill({
23343
23414
  className: NUM$1,
23344
23415
  min: 0,
23345
23416
  max: 200,
23346
- value: cellStyle[key] ?? 0,
23417
+ value: inspectorNumber(cellStyle[key], 0),
23347
23418
  onChange: (e) => onUpdateCellStyle({
23348
23419
  [key]: Number(e.target.value)
23349
23420
  })
@@ -23399,7 +23470,7 @@ function GradientControls({
23399
23470
  className: NUM$1,
23400
23471
  min: 0,
23401
23472
  max: 360,
23402
- value: cellStyle.gradientFillAngle ?? 90,
23473
+ value: inspectorNumber(cellStyle.gradientFillAngle, 90),
23403
23474
  onChange: (e) => onUpdateCellStyle({
23404
23475
  gradientFillAngle: Number(e.target.value)
23405
23476
  })
@@ -23522,7 +23593,7 @@ function TableCellFormattingPanel({
23522
23593
  className: INPUT2,
23523
23594
  min: 6,
23524
23595
  max: 200,
23525
- value: cs.fontSize ?? 14,
23596
+ value: inspectorNumber(cs.fontSize, 14),
23526
23597
  onChange: (e) => updateCellStyle({ fontSize: Number(e.target.value) })
23527
23598
  }
23528
23599
  )
@@ -23643,7 +23714,7 @@ function TableCellFormattingPanel({
23643
23714
  className: cn(INPUT2, "w-14"),
23644
23715
  min: 0,
23645
23716
  max: 10,
23646
- value: cs[widthKey] ?? 1,
23717
+ value: inspectorNumber(cs[widthKey], 1),
23647
23718
  onChange: (e) => updateCellStyle({ [widthKey]: Number(e.target.value) })
23648
23719
  }
23649
23720
  )
@@ -24133,7 +24204,7 @@ function TablePropertiesPanel({
24133
24204
  className: INPUT2,
24134
24205
  min: 16,
24135
24206
  max: 500,
24136
- value: row.height ?? 32,
24207
+ value: inspectorNumber(row.height, 32),
24137
24208
  onChange: (e) => {
24138
24209
  const newRows = td.rows.map(
24139
24210
  (r, i) => i === ri ? { ...r, height: Number(e.target.value) } : r
@@ -24450,7 +24521,7 @@ function CommentBody({ text, mentions, className }) {
24450
24521
  index
24451
24522
  ) : (
24452
24523
  // eslint-disable-next-line react/no-array-index-key -- segments are positional
24453
- /* @__PURE__ */ jsx(React99.Fragment, { children: segment.text }, index)
24524
+ /* @__PURE__ */ jsx(React100.Fragment, { children: segment.text }, index)
24454
24525
  )
24455
24526
  ) });
24456
24527
  }
@@ -25966,7 +26037,7 @@ function PresentationPropertiesPanel({
25966
26037
  onUpdateTagCollections
25967
26038
  }) {
25968
26039
  const { t } = useTranslation();
25969
- const handleTransitionChange = React99.useCallback(
26040
+ const handleTransitionChange = React100.useCallback(
25970
26041
  (updates) => {
25971
26042
  onUpdateSlide({
25972
26043
  transition: mergeSlideTransition(activeSlide?.transition, updates)
@@ -28900,6 +28971,7 @@ function ViewerOverlays({
28900
28971
  showReadingView,
28901
28972
  showOutlineView,
28902
28973
  templateElements,
28974
+ templateElementsBySlideId,
28903
28975
  accessibilityIssues,
28904
28976
  slides,
28905
28977
  activeSlideIndex,
@@ -28912,6 +28984,9 @@ function ViewerOverlays({
28912
28984
  onMoveSlide,
28913
28985
  onDeleteSlides,
28914
28986
  onDuplicateSlides,
28987
+ onPasteSlides,
28988
+ onCopySystemSlides,
28989
+ onPasteSystemSlides,
28915
28990
  onToggleHideSlides,
28916
28991
  onCloseSorter,
28917
28992
  onCloseReadingView,
@@ -28942,6 +29017,7 @@ function ViewerOverlays({
28942
29017
  SlideSorterOverlay,
28943
29018
  {
28944
29019
  slides,
29020
+ templateElementsBySlideId,
28945
29021
  activeSlideIndex,
28946
29022
  canvasSize,
28947
29023
  canEdit,
@@ -28950,6 +29026,9 @@ function ViewerOverlays({
28950
29026
  onMoveSlide,
28951
29027
  onDeleteSlides,
28952
29028
  onDuplicateSlides,
29029
+ onPasteSlides,
29030
+ onCopySystemSlides,
29031
+ onPasteSystemSlides,
28953
29032
  onToggleHideSlides,
28954
29033
  onClose: onCloseSorter
28955
29034
  }
@@ -29349,7 +29428,7 @@ function ViewerToolbarSection(props) {
29349
29428
  },
29350
29429
  [activeSlide, propertyHandlers]
29351
29430
  );
29352
- const scopedLayoutOptions = React99.useMemo(
29431
+ const scopedLayoutOptions = React100.useMemo(
29353
29432
  () => scopeLayoutOptionsToActiveSlide(s.layoutOptions, activeSlide),
29354
29433
  [s.layoutOptions, activeSlide]
29355
29434
  );
@@ -30978,6 +31057,12 @@ ${url}`)) {
30978
31057
  findQuery: findReplace.findQuery,
30979
31058
  replaceQuery: findReplace.replaceQuery,
30980
31059
  findMatchCase: findReplace.findMatchCase,
31060
+ findIncludeNotes: findReplace.findIncludeNotes,
31061
+ findIncludeChartTitles: findReplace.findIncludeChartTitles,
31062
+ findIncludeChartData: findReplace.findIncludeChartData,
31063
+ onSetFindIncludeChartTitles: findReplace.setFindIncludeChartTitles,
31064
+ onSetFindIncludeChartData: findReplace.setFindIncludeChartData,
31065
+ onSetFindIncludeNotes: findReplace.setFindIncludeNotes,
30981
31066
  findResults: findReplace.findResults,
30982
31067
  findResultIndex: findReplace.findResultIndex,
30983
31068
  onSetFindQuery: findReplace.setFindQuery,
@@ -35067,6 +35152,35 @@ ${url}`)
35067
35152
  customizationApi: custom.api,
35068
35153
  customization: customizationResolved
35069
35154
  });
35155
+ const slidePackageClipboardRef = useRef(null);
35156
+ const slidePackageHost = {
35157
+ getSnapshot: () => handlerRef.current ? {
35158
+ handler: handlerRef.current,
35159
+ slides: state.slides,
35160
+ templateElementsBySlideId: state.templateElementsBySlideId,
35161
+ allowExternalImages: viewerOptions.trust.allowExternalContent,
35162
+ editable: canEdit
35163
+ } : null,
35164
+ commit: (result) => {
35165
+ history.commitSlides(result.slides);
35166
+ handlerRef.current = result.handler;
35167
+ actionSoundHandlerRef.current = result.handler;
35168
+ state.setTemplateElementsBySlideId(result.templateElementsBySlideId);
35169
+ state.setSlideMasters(result.data.slideMasters ?? []);
35170
+ state.setLayoutOptions(result.data.layoutOptions ?? []);
35171
+ state.setThemeOptions(result.data.themeOptions ?? []);
35172
+ for (const [path, url] of result.mediaUrls) {
35173
+ state.mediaDataUrls.set(path, url);
35174
+ }
35175
+ state.setActiveSlideIndex(result.insertAt);
35176
+ history.markDirty();
35177
+ }
35178
+ };
35179
+ if (!slidePackageClipboardRef.current) {
35180
+ slidePackageClipboardRef.current = createSlidePackageClipboard(slidePackageHost);
35181
+ }
35182
+ slidePackageClipboardRef.current.updateHost(slidePackageHost);
35183
+ useEffect(() => () => slidePackageClipboardRef.current?.dispose(), []);
35070
35184
  const ribbonGalleries = useRibbonGalleryCommands2({
35071
35185
  selectedElement,
35072
35186
  theme: state.theme,
@@ -35544,6 +35658,7 @@ ${url}`)
35544
35658
  showReadingView: state.showReadingView,
35545
35659
  showOutlineView: state.showOutlineView,
35546
35660
  templateElements: state.templateElements,
35661
+ templateElementsBySlideId: state.templateElementsBySlideId,
35547
35662
  accessibilityIssues: state.accessibilityIssues,
35548
35663
  slides,
35549
35664
  activeSlideIndex,
@@ -35559,6 +35674,9 @@ ${url}`)
35559
35674
  onMoveSlide: editorOps.slideOps.handleMoveSlide,
35560
35675
  onDeleteSlides: editorOps.slideOps.handleDeleteSlides,
35561
35676
  onDuplicateSlides: editorOps.slideOps.handleDuplicateSlides,
35677
+ onPasteSlides: editorOps.slideOps.handlePasteSlides,
35678
+ onCopySystemSlides: (indexes) => slidePackageClipboardRef.current.copy(indexes),
35679
+ onPasteSystemSlides: (insertAt) => slidePackageClipboardRef.current.paste(insertAt),
35562
35680
  onToggleHideSlides: editorOps.slideOps.handleToggleHideSlides,
35563
35681
  onCloseSorter: () => state.setShowSlideSorter(false),
35564
35682
  onCloseReadingView: (slideIndex) => {
Binary file
Binary file