pptx-react-viewer 4.48.0 → 4.49.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 (43) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/dist/{chunk-5FAX7F3O.js → chunk-2ZXXHNNR.js} +218 -276
  3. package/dist/chunk-2ZXXHNNR.js.br +0 -0
  4. package/dist/chunk-2ZXXHNNR.js.gz +0 -0
  5. package/dist/{chunk-JKZNL6HP.js → chunk-ME5QRTVS.js} +33 -57
  6. package/dist/chunk-ME5QRTVS.js.br +0 -0
  7. package/dist/chunk-ME5QRTVS.js.gz +0 -0
  8. package/dist/{chunk-H7JRMKYC.mjs → chunk-YKLL2Z33.mjs} +100 -158
  9. package/dist/chunk-YKLL2Z33.mjs.br +0 -0
  10. package/dist/chunk-YKLL2Z33.mjs.gz +0 -0
  11. package/dist/{chunk-JHQHAO43.mjs → chunk-Z62JFXMZ.mjs} +34 -58
  12. package/dist/chunk-Z62JFXMZ.mjs.br +0 -0
  13. package/dist/chunk-Z62JFXMZ.mjs.gz +0 -0
  14. package/dist/index.js +22 -22
  15. package/dist/index.js.br +0 -0
  16. package/dist/index.js.gz +0 -0
  17. package/dist/index.mjs +2 -2
  18. package/dist/index.mjs.br +0 -0
  19. package/dist/index.mjs.gz +0 -0
  20. package/dist/internals.js +80 -80
  21. package/dist/internals.js.br +0 -0
  22. package/dist/internals.js.gz +0 -0
  23. package/dist/internals.mjs +1 -1
  24. package/dist/internals.mjs.br +0 -0
  25. package/dist/internals.mjs.gz +0 -0
  26. package/dist/pptx-viewer.css +1 -1
  27. package/dist/pptx-viewer.css.br +0 -0
  28. package/dist/pptx-viewer.css.gz +0 -0
  29. package/dist/viewer/index.js +17 -17
  30. package/dist/viewer/index.js.br +0 -0
  31. package/dist/viewer/index.js.gz +0 -0
  32. package/dist/viewer/index.mjs +2 -2
  33. package/dist/viewer/index.mjs.br +0 -0
  34. package/dist/viewer/index.mjs.gz +0 -0
  35. package/package.json +3 -3
  36. package/dist/chunk-5FAX7F3O.js.br +0 -0
  37. package/dist/chunk-5FAX7F3O.js.gz +0 -0
  38. package/dist/chunk-H7JRMKYC.mjs.br +0 -0
  39. package/dist/chunk-H7JRMKYC.mjs.gz +0 -0
  40. package/dist/chunk-JHQHAO43.mjs.br +0 -0
  41. package/dist/chunk-JHQHAO43.mjs.gz +0 -0
  42. package/dist/chunk-JKZNL6HP.js.br +0 -0
  43. package/dist/chunk-JKZNL6HP.js.gz +0 -0
@@ -1,6 +1,6 @@
1
- import { StaticElementRenderer, useModalDismissDrag, useToolbarVisibility, useViewerOptionsContext, InlineCollaborationContext, SlideBackgroundImageLayer, ElementRenderer, withDisplayName, useCollaboration, ResizeHandles, imgSrc, renderStrokeView, useViewerOptions, useReadOnlyRecommendationState, useCompatibilityToastsState, useReducedMotion, useViewerState, useIsMobile, useResizablePanels, useDerivedSlideState, useZoomViewport, useEditorHistory, usePresentationSetup, useTouchGestures, useViewerDialogs, useEditorOperations, useViewerIntegration, useViewPreferencesSync, useLayoutSwitching, Rendering3DFlagsContext, CollaborationProvider, ChartFormatContext, useChartFormatContext, safePrompt, scopeLayoutOptionsToActiveSlide, createReviewCommentsHost, ChartPartSelectionProvider, useKeyboardInsets, ViewerOptionsStoreContext, ViewerOptionsContext, useReportOnChange, useCollaborationDocumentSync, useFollowMode, useBroadcastFollower, useSheetDismissDrag, playAnimationSound, useVirtualizedSlides, useSwipeNavigation, PresentationTransitionOverlay, RemoteSelectionOverlay, CollaborationCursorOverlay, detectTargetType, parseEmailUrl, parseSlideFromUrl, ACTION_VERB_MAP, SmartArtRenderer, downloadBlob, useChartPartSelection, DUOTONE_PRESETS, getSlideTransitionAnimations, SLIDE_TRANSITION_KEYFRAMES, resolveSmartArtDataPalette } from './chunk-JHQHAO43.mjs';
1
+ import { StaticElementRenderer, useModalDismissDrag, useToolbarVisibility, useViewerOptionsContext, InlineCollaborationContext, SlideBackgroundImageLayer, ElementRenderer, withDisplayName, useCollaboration, ResizeHandles, imgSrc, renderStrokeView, useViewerOptions, useReadOnlyRecommendationState, useCompatibilityToastsState, useReducedMotion, useViewerState, useIsMobile, useResizablePanels, useDerivedSlideState, useZoomViewport, useEditorHistory, usePresentationSetup, useTouchGestures, useViewerDialogs, useEditorOperations, useViewerIntegration, useViewPreferencesSync, useLayoutSwitching, Rendering3DFlagsContext, CollaborationProvider, ChartFormatContext, useChartFormatContext, safePrompt, scopeLayoutOptionsToActiveSlide, createReviewCommentsHost, ChartPartSelectionProvider, useKeyboardInsets, ViewerOptionsStoreContext, ViewerOptionsContext, useReportOnChange, useCollaborationDocumentSync, useFollowMode, useBroadcastFollower, useSheetDismissDrag, playAnimationSound, useVirtualizedSlides, useSwipeNavigation, PresentationTransitionOverlay, RemoteSelectionOverlay, CollaborationCursorOverlay, detectTargetType, parseEmailUrl, parseSlideFromUrl, ACTION_VERB_MAP, SmartArtRenderer, downloadBlob, useChartPartSelection, DUOTONE_PRESETS, getSlideTransitionAnimations, SLIDE_TRANSITION_KEYFRAMES, resolveSmartArtDataPalette } from './chunk-Z62JFXMZ.mjs';
2
2
  import { cn, getShapeAdjustmentHandleDescriptors, isConnectorOrLineElement, TOOLBAR_SECTIONS, GRID_SIZE, getElementTransformWithoutRotation, getElementTransform, MIN_ELEMENT_SIZE, hasCopyableFormat, DEFAULT_SECTION_GROUP_ID, safeOpenUrl, isPpactionUrl, parsePpactionUrl, SHORTCUT_REFERENCE_ITEMS, isUrlSafe, computeHandoutLayout, getPrintableArea, generateNoteLineCount, normalizeHexColor, UNGROUPED_SECTION_ID, SLIDE_NAV_THUMBNAIL_WIDTH, SLIDE_TRANSITION_OPTIONS, getElementLabel, TABLE_STYLE_PRESETS, SHAPE_PRESETS, sanitizeGradientStops, formatCommentTimestamp, ANIMATION_PRESET_OPTIONS, clampCropValue, CONNECTOR_ARROW_OPTIONS, ARROW_SIZE_OPTIONS, DEFAULT_FILL_COLOR, startMotionPathPreview, startPreviewAnimation, stopPreviewAnimation, getPatternSvg, DEFAULT_STROKE_COLOR, STROKE_DASH_OPTIONS, openNativeEyeDropper } from './chunk-PFV626ED.mjs';
3
- import { ANIMATION_DIRECTION_LABEL_KEYS, buildQuickStylesGallery, buildSlideTemplateContent, SLIDE_TEMPLATES, homeLaunchers, attachRibbonOverflow, isPanelVisible, parentSelection, slideSpaceElement, isGroupMember, motionPathFor, setMotionPath, RULER_THICKNESS, shouldShowElementHandles, deviceStrokeStageStyle, activateModalFocus, visibleContextualTabs, resolveActiveRibbonTab, visibleRibbonAddIns, isDialogAvailable, resolveScreenTip, RIBBON_ADD_IN_TAB_ATTR, contextualTabLabelKey, RIBBON_CONTEXTUAL_TAB_ATTR, buildTabRowActionsState, isFeatureEnabled, TAB_ROW_ACTION_CLASSES, tabRowActionsAttributes, buildTitleBarState, backstageNavEntries, BACKSTAGE_NAV, listBackstageRecentFiles, BACKSTAGE_BACK_CLASSES, BACKSTAGE_NAV_CLASSES, DEFAULT_INSERT_CHART_KIND, 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, 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, getSlideBackgroundStyle, resolveCollaborationConfig, resolveViewerRootOptions, buildUserFontFaceStyles, readStoredViewerPrefs, resolveThemeCatalogEntry, THEME_CATALOG, writeStoredViewerPrefs, openPptxFile, readBackstageRecentFile, isEditingAllowed, resolveAutosaveActivation, viewerOptionsToPreferences, applyPreferenceToOptions, resolveHistoryDepth, attachViewerHyperlinks, shouldConfirmExternalHyperlink, applyAutoCorrect, resolveImageResolutionScale, resolveAutosaveIntervalMs, resolveAutosaveIntervalSeconds, saveFailureMessage, withSaveFailureToast, createSlidePackageClipboard, shouldShowAutosaveRecoveryPrompt, resolveOptionRootClasses, RIBBON_SCOPE_ATTR, resolve3DRenderingFlags, resolveSlideSizeSelection, EMPTY_RESOLVED_CUSTOMIZATION, getRegionRenderer, ViewerRegionHost, BACKSTAGE_TEMPLATES, formatBackstageDate, formatBackstageSize, customizeBackstageCards, backstageCardsFor, DEFAULT_VIEWER_PROFILE, resolveProfileInitial, AVATAR_COLOR_SWATCHES, clipboardHomeControls, slidesHomeControls, resolveInsertSlideLayout, 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, buildRecordRibbon, trackActiveComment, commentCounts, findCommentLocation, buildReviewRibbon, buildHelpRibbon, galleryTextLabel, pictureSizeHomeControls, chartSelectionHomeControls, dispatchChartSelectionRequest, buildFreeformShapeElement, buildLiveInkStrokeView, beginCropDrag, CONNECTOR_SITE_SNAP_PX, resolveConnectorEndpointUpdate, withConnectorEndpointUpdate, getShapeConnectionSites, FreeformToolSession, attachOverlayKeyboard, EditPointsSession, EDIT_POINTS_STYLE, themeToCssVars, createCustomizationController, resolveEffectiveHiddenActions, pruneExpiredAutosaveSnapshots, createDeckStyleHost, galleryDeckView, tableLayoutCells, resetChartFormatTarget, masterViewCrudActions, applyMasterViewCrudAction, masterViewCrudFailureKey, EDITOR_CHROME_CSS, ribbonCustomizationCss, applyMotionPathPreset, resetSlideLayoutPath, templateSchemeFromTheme, createBackstagePresentation, playFeedbackSound, shouldDiscardAutosaveOnSuccessfulSave, deleteAutosaveSnapshot, 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, MIN_TOUCH_TARGET_PX, getLocalStorageUsageSummary, saveViewerProfile, clearAllLocalViewerData, getSelectionTextStyleFlags, TEXT_DECORATION_FLAGS, dispatchCropRequest, applyRibbonGalleryItem, ribbonTransitionsDraftPatch, ribbonTransitionUpdates, ribbonTransitionsSoundChange, ribbonTransitionStockSoundUrl, playSlideTransitionPreview, playAnimationRibbonPreview, SLIDE_SHOW_OPTIONS, createViewerOptionsStore, subtitleSettingsFromOptions, subtitleSettingsLabels, isReviewCommentCommand, runReviewCommentCommand, hasTiltData, RULER_FONT_SIZE, toElementAxes, dragCropHandle, panCropImage, clientToSlidePoint, EDIT_POINTS_TARGET_ATTR, pushRecentColor, mruColorsPatch, shouldClearAutosaveCacheOnClose, clearAutosaveSnapshots, canCropElement, cropSessionChanged, cancelCropUpdate, startCropSession, editorThumbnailWidth, EDITOR_THUMBNAIL_WIDTH, masterViewBackgroundColor, resolvePresentationAction, isPresentationAdvanceClick, toggleBlackboard, visibleTemplateElements, PRESENT_TOOLBAR_CLASSES, resolveEditPointsAvailability, isCurrentLayout, EXPANDED_MAX_HEIGHT, statusBarState, 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, 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, createCollaborationStateReporter, buildCollaborationState, writeBackReport, computeAnchoredPopupPosition, updateSubtitleSettings, overlayPointerInput, cropModeKeyAction, 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, 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, dispatchStatusBarIntent, toggleSheet, describeElementChange, SMARTART_PREVIEW_ELEMENT_HEIGHT, SMARTART_PREVIEW_ELEMENT_WIDTH, buildSmartArtPreviewElement, sanitizeMathMl, compileEquationTemplateMathMl, 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, sectionAddAfterSlideIndex, masterViewPseudoSlide, PRESENTATION_ANIM_TRIGGER_ATTRIBUTE, applyTableStyleDelete, applyTableStyleMapChange, registerCustomFont, QUICK_ACCESS_COMMAND_CATALOG, handleReadingViewKey, editorThumbnailHeight, buildPreviewElements, deriveSlideFieldContext, hiddenSlideCue, HIDDEN_SLIDE_SLASH_GRADIENT, HIDDEN_SLIDE_LABEL_KEY, MERGE_SHAPES_MENU_ITEMS, hasMultipleSelectedTableCells, isElementLocked, mergeSlideTransition, slideBackgroundClearState, slideBackgroundClearPatch, effectiveDirection, TRIGGER_OPTIONS, effectiveTimingCurve, getAfterAnimationState, mapSlideSorterKey, isEditorTextInputTarget, clampSorterZoom, 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, 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, themeColorGridView, 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, 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, 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, themeColorGridCommit, buildTextWarpGallery, TEXT_WARP_PRESETS, 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, quickStyleShapeStyle, textWarpStyle, toggleText3dExtrusion, BEVEL_PRESETS, cropFit, cropFill, cropToAspectRatio } from 'ooxml-ui/pptx';
3
+ import { ANIMATION_DIRECTION_LABEL_KEYS, buildQuickStylesGallery, buildSlideTemplateContent, SLIDE_TEMPLATES, homeLaunchers, attachRibbonOverflow, isPanelVisible, parentSelection, slideSpaceElement, isGroupMember, motionPathFor, setMotionPath, RULER_THICKNESS, shouldShowElementHandles, deviceStrokeStageStyle, activateModalFocus, visibleContextualTabs, resolveActiveRibbonTab, visibleRibbonAddIns, isDialogAvailable, resolveScreenTip, RIBBON_ADD_IN_TAB_ATTR, contextualTabLabelKey, RIBBON_CONTEXTUAL_TAB_ATTR, buildTabRowActionsState, isFeatureEnabled, TAB_ROW_ACTION_CLASSES, tabRowActionsAttributes, buildTitleBarState, backstageNavEntries, BACKSTAGE_NAV, listBackstageRecentFiles, BACKSTAGE_BACK_CLASSES, BACKSTAGE_NAV_CLASSES, DEFAULT_INSERT_CHART_KIND, 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, 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, getSlideBackgroundStyle, resolveCollaborationConfig, resolveViewerRootOptions, buildUserFontFaceStyles, readStoredViewerPrefs, resolveThemeCatalogEntry, THEME_CATALOG, writeStoredViewerPrefs, openPptxFile, readBackstageRecentFile, isEditingAllowed, resolveAutosaveActivation, viewerOptionsToPreferences, applyPreferenceToOptions, resolveHistoryDepth, attachViewerHyperlinks, shouldConfirmExternalHyperlink, applyAutoCorrect, resolveImageResolutionScale, resolveAutosaveIntervalMs, resolveAutosaveIntervalSeconds, saveFailureMessage, withSaveFailureToast, createSlidePackageClipboard, shouldShowAutosaveRecoveryPrompt, resolveOptionRootClasses, RIBBON_SCOPE_ATTR, resolve3DRenderingFlags, resolveSlideSizeSelection, EMPTY_RESOLVED_CUSTOMIZATION, getRegionRenderer, ViewerRegionHost, BACKSTAGE_TEMPLATES, formatBackstageDate, formatBackstageSize, customizeBackstageCards, backstageCardsFor, DEFAULT_VIEWER_PROFILE, resolveProfileInitial, AVATAR_COLOR_SWATCHES, clipboardHomeControls, slidesHomeControls, resolveInsertSlideLayout, 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, buildRecordRibbon, trackActiveComment, commentCounts, findCommentLocation, buildReviewRibbon, buildHelpRibbon, galleryTextLabel, pictureSizeHomeControls, chartSelectionHomeControls, dispatchChartSelectionRequest, buildFreeformShapeElement, buildLiveInkStrokeView, beginCropDrag, CONNECTOR_SITE_SNAP_PX, resolveConnectorEndpointUpdate, withConnectorEndpointUpdate, getShapeConnectionSites, FreeformToolSession, attachOverlayKeyboard, EditPointsSession, EDIT_POINTS_STYLE, themeToCssVars, createCustomizationController, resolveEffectiveHiddenActions, pruneExpiredAutosaveSnapshots, createDeckStyleHost, galleryDeckView, tableLayoutCells, resetChartFormatTarget, masterViewCrudActions, applyMasterViewCrudAction, masterViewCrudFailureKey, EDITOR_CHROME_CSS, ribbonCustomizationCss, applyMotionPathPreset, resetSlideLayoutPath, templateSchemeFromTheme, createBackstagePresentation, playFeedbackSound, shouldDiscardAutosaveOnSuccessfulSave, deleteAutosaveSnapshot, dispatchReadOnlyBannerIntent, readOnlyBannerState, 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, MIN_TOUCH_TARGET_PX, getLocalStorageUsageSummary, saveViewerProfile, clearAllLocalViewerData, getSelectionTextStyleFlags, TEXT_DECORATION_FLAGS, dispatchCropRequest, applyRibbonGalleryItem, ribbonTransitionsDraftPatch, ribbonTransitionUpdates, ribbonTransitionsSoundChange, ribbonTransitionStockSoundUrl, playSlideTransitionPreview, playAnimationRibbonPreview, SLIDE_SHOW_OPTIONS, createViewerOptionsStore, subtitleSettingsFromOptions, subtitleSettingsLabels, isReviewCommentCommand, runReviewCommentCommand, hasTiltData, RULER_FONT_SIZE, toElementAxes, dragCropHandle, panCropImage, clientToSlidePoint, EDIT_POINTS_TARGET_ATTR, pushRecentColor, mruColorsPatch, shouldClearAutosaveCacheOnClose, clearAutosaveSnapshots, canCropElement, cropSessionChanged, cancelCropUpdate, startCropSession, editorThumbnailWidth, EDITOR_THUMBNAIL_WIDTH, masterViewBackgroundColor, resolvePresentationAction, isPresentationAdvanceClick, toggleBlackboard, visibleTemplateElements, PRESENT_TOOLBAR_CLASSES, resolveEditPointsAvailability, isCurrentLayout, EXPANDED_MAX_HEIGHT, statusBarState, statusBarViewMode, formatVersionTimestamp, formatRelativeTime, scanAvailableFontFamilies, PRESETS, CATEGORIES, convertOmmlToLatex, compileLatexEquation, convertLatexToOmml, EQUATION_TEMPLATES, resolveDefaultPrintSettings, HANDOUT_OPTIONS, bindPptxOptionsDialog, optionsBlockSlot, optionsPaneSlot, DEFAULT_QUICK_ACCESS_COMMAND_IDS, AI_OPTIONS_CATEGORY, 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, createCollaborationStateReporter, buildCollaborationState, writeBackReport, computeAnchoredPopupPosition, updateSubtitleSettings, overlayPointerInput, cropModeKeyAction, 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, 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, dispatchStatusBarIntent, toggleSheet, describeElementChange, SMARTART_PREVIEW_ELEMENT_HEIGHT, SMARTART_PREVIEW_ELEMENT_WIDTH, buildSmartArtPreviewElement, sanitizeMathMl, compileEquationTemplateMathMl, 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, sectionAddAfterSlideIndex, masterViewPseudoSlide, PRESENTATION_ANIM_TRIGGER_ATTRIBUTE, applyTableStyleDelete, applyTableStyleMapChange, registerCustomFont, QUICK_ACCESS_COMMAND_CATALOG, handleReadingViewKey, editorThumbnailHeight, buildPreviewElements, deriveSlideFieldContext, hiddenSlideCue, HIDDEN_SLIDE_SLASH_GRADIENT, HIDDEN_SLIDE_LABEL_KEY, MERGE_SHAPES_MENU_ITEMS, hasMultipleSelectedTableCells, isElementLocked, mergeSlideTransition, slideBackgroundClearState, slideBackgroundClearPatch, effectiveDirection, TRIGGER_OPTIONS, effectiveTimingCurve, getAfterAnimationState, mapSlideSorterKey, isEditorTextInputTarget, clampSorterZoom, 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, 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, themeColorGridView, 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, 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, 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, themeColorGridCommit, buildTextWarpGallery, TEXT_WARP_PRESETS, 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, quickStyleShapeStyle, textWarpStyle, 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
5
  import React107, { createContext, useContext, useMemo, useState, useRef, useCallback, useEffect, useLayoutEffect, forwardRef, useSyncExternalStore, useReducer, useId, Fragment as Fragment$1, useDeferredValue, Suspense, lazy } from 'react';
6
6
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
@@ -1673,7 +1673,7 @@ function AccountPage() {
1673
1673
  return void 0;
1674
1674
  });
1675
1675
  };
1676
- const version = "4.48.0" ;
1676
+ const version = "4.49.0" ;
1677
1677
  return /* @__PURE__ */ jsxs("div", { className: "mt-8 max-w-[700px] space-y-6", children: [
1678
1678
  /* @__PURE__ */ jsxs("section", { className: cardClass, children: [
1679
1679
  /* @__PURE__ */ jsxs("h2", { className: "flex items-center gap-2 text-sm font-semibold", children: [
@@ -8044,41 +8044,11 @@ function ExportProgressModal({
8044
8044
  onCancel
8045
8045
  }) {
8046
8046
  const { t } = useTranslation();
8047
- if (!isOpen) {
8048
- return null;
8049
- }
8050
- const clampedProgress = clampPercent(progress);
8051
- return /* @__PURE__ */ jsx(
8052
- "div",
8053
- {
8054
- style: { zIndex: 1200 },
8055
- className: "fixed inset-0 flex items-center justify-center bg-black/60 backdrop-blur-sm",
8056
- children: /* @__PURE__ */ jsxs("div", { className: "w-96 max-w-[calc(100%-2rem)] rounded-xl border border-border bg-background p-6 shadow-2xl", children: [
8057
- /* @__PURE__ */ jsx("h3", { className: "mb-4 text-sm font-semibold text-foreground", children: title }),
8058
- /* @__PURE__ */ jsx("div", { className: "mb-3 h-2.5 w-full overflow-hidden rounded-full bg-accent", children: /* @__PURE__ */ jsx(
8059
- "div",
8060
- {
8061
- className: "h-full rounded-full bg-primary transition-all duration-300 ease-out",
8062
- style: { width: `${clampedProgress}%` }
8063
- }
8064
- ) }),
8065
- /* @__PURE__ */ jsxs("div", { className: "mb-4 flex items-center justify-between text-xs text-muted-foreground", children: [
8066
- /* @__PURE__ */ jsx("span", { children: statusMessage ?? t("pptx.export.processing") }),
8067
- /* @__PURE__ */ jsxs("span", { className: "tabular-nums", children: [
8068
- clampedProgress,
8069
- "%"
8070
- ] })
8071
- ] }),
8072
- /* @__PURE__ */ jsx("div", { className: "flex justify-end", children: /* @__PURE__ */ jsx(
8073
- DialogFooter,
8074
- {
8075
- actions: [{ id: "cancel", label: t("pptx.export.cancel") }],
8076
- onAction: onCancel
8077
- }
8078
- ) })
8079
- ] })
8080
- }
8047
+ const ref = useWebControl(
8048
+ { open: isOpen, title, progress, status: statusMessage, translate: t },
8049
+ { "export-cancel": () => onCancel() }
8081
8050
  );
8051
+ return /* @__PURE__ */ jsx("pptx-ui-export-progress", { ref });
8082
8052
  }
8083
8053
  function StatusBar(p) {
8084
8054
  const { t } = useTranslation();
@@ -14915,6 +14885,24 @@ var AFTER_ANIMATION_OPTIONS = [
14915
14885
  { value: "hideAfterAnimation", labelKey: "pptx.animation.afterAnimation.hideAfterAnimation" },
14916
14886
  { value: "hideOnNextClick", labelKey: "pptx.animation.afterAnimation.hideOnNextClick" }
14917
14887
  ];
14888
+ var pushers = /* @__PURE__ */ new WeakMap();
14889
+ function pushCommittedColor(event) {
14890
+ const input = event.currentTarget;
14891
+ pushers.get(input)?.current(input.value);
14892
+ }
14893
+ function useRecentColorCommit() {
14894
+ const { pushColor } = useRecentColors();
14895
+ const pushRef = useRef(pushColor);
14896
+ useEffect(() => {
14897
+ pushRef.current = pushColor;
14898
+ }, [pushColor]);
14899
+ return useCallback((input) => {
14900
+ if (input) {
14901
+ pushers.set(input, pushRef);
14902
+ input.addEventListener("change", pushCommittedColor);
14903
+ }
14904
+ }, []);
14905
+ }
14918
14906
  function AfterAnimationRow({
14919
14907
  action,
14920
14908
  color,
@@ -14924,7 +14912,7 @@ function AfterAnimationRow({
14924
14912
  onColorChange
14925
14913
  }) {
14926
14914
  const { t } = useTranslation();
14927
- const { pushColor } = useRecentColors();
14915
+ const commitRecentColor = useRecentColorCommit();
14928
14916
  return /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-1", children: [
14929
14917
  /* @__PURE__ */ jsxs("label", { className: "flex flex-col gap-1", children: [
14930
14918
  /* @__PURE__ */ jsx("span", { className: "text-muted-foreground text-[11px]", children: t("pptx.animation.afterAnimation") }),
@@ -14948,10 +14936,8 @@ function AfterAnimationRow({
14948
14936
  type: "color",
14949
14937
  "aria-label": t("pptx.animation.afterAnimation.color"),
14950
14938
  value: color ?? "#808080",
14951
- onChange: (event) => {
14952
- onColorChange(event.target.value);
14953
- pushColor(event.target.value);
14954
- },
14939
+ ref: commitRecentColor,
14940
+ onChange: (event) => onColorChange(event.target.value),
14955
14941
  disabled: !canEdit,
14956
14942
  className: "h-6 w-10 rounded border border-border bg-transparent p-0"
14957
14943
  }
@@ -16404,7 +16390,7 @@ function ChartAxisStyleOptions({
16404
16390
  onSetGridlineStyle
16405
16391
  }) {
16406
16392
  const { t } = useTranslation();
16407
- const { pushColor } = useRecentColors();
16393
+ const commitRecentColor = useRecentColorCommit();
16408
16394
  const rows = SCALE_AXES.map((row) => ({
16409
16395
  ...row,
16410
16396
  axis: axes?.find((a) => a.axisType === row.type)
@@ -16504,10 +16490,8 @@ function ChartAxisStyleOptions({
16504
16490
  disabled: !canEdit,
16505
16491
  className: "h-6 w-8 cursor-pointer rounded border border-border bg-transparent",
16506
16492
  value: axis.fontColor ?? "#000000",
16507
- onChange: (e) => {
16508
- onSetTitleStyle(type, { fontColor: e.target.value });
16509
- pushColor(e.target.value);
16510
- }
16493
+ ref: commitRecentColor,
16494
+ onChange: (e) => onSetTitleStyle(type, { fontColor: e.target.value })
16511
16495
  }
16512
16496
  )
16513
16497
  ] })
@@ -16530,10 +16514,8 @@ function ChartAxisStyleOptions({
16530
16514
  title: t("pptx.chart.gridlineColor"),
16531
16515
  className: "h-6 w-8 cursor-pointer rounded border border-border bg-transparent",
16532
16516
  value: spPr?.strokeColor ?? "#d9d9d9",
16533
- onChange: (e) => {
16534
- onSetGridlineStyle(type, which, { color: e.target.value });
16535
- pushColor(e.target.value);
16536
- }
16517
+ ref: commitRecentColor,
16518
+ onChange: (e) => onSetGridlineStyle(type, which, { color: e.target.value })
16537
16519
  }
16538
16520
  ),
16539
16521
  /* @__PURE__ */ jsx(
@@ -16800,7 +16782,7 @@ function ChartDataPointMarkerOptions({
16800
16782
  onSetPointMarker
16801
16783
  }) {
16802
16784
  const { t } = useTranslation();
16803
- const { pushColor } = useRecentColors();
16785
+ const commitRecentColor = useRecentColorCommit();
16804
16786
  const [seriesIndex, setSeriesIndex] = useState(0);
16805
16787
  if (!MARKER_SUPPORTED_TYPES.has(chartType) || series.length === 0 || categories.length === 0) {
16806
16788
  return null;
@@ -16887,10 +16869,8 @@ function ChartDataPointMarkerOptions({
16887
16869
  title: t("pptx.chart.markerFill"),
16888
16870
  className: "h-6 w-8 cursor-pointer rounded border border-border bg-transparent",
16889
16871
  value: point2.marker.spPr?.fillColor ?? "#4472c4",
16890
- onChange: (e) => {
16891
- onSetPointMarker(seriesIndex, idx, { fillColor: e.target.value });
16892
- pushColor(e.target.value);
16893
- }
16872
+ ref: commitRecentColor,
16873
+ onChange: (e) => onSetPointMarker(seriesIndex, idx, { fillColor: e.target.value })
16894
16874
  }
16895
16875
  )
16896
16876
  ] })
@@ -16908,7 +16888,7 @@ function ChartDataPointOptions({
16908
16888
  onSetPointLabel
16909
16889
  }) {
16910
16890
  const { t } = useTranslation();
16911
- const { pushColor } = useRecentColors();
16891
+ const commitRecentColor = useRecentColorCommit();
16912
16892
  const [seriesIndex, setSeriesIndex] = useState(0);
16913
16893
  if (series.length === 0 || categories.length === 0) {
16914
16894
  return null;
@@ -16959,10 +16939,8 @@ function ChartDataPointOptions({
16959
16939
  title: t("pptx.chart.pointFill"),
16960
16940
  className: "h-6 w-8 cursor-pointer rounded border border-border bg-transparent",
16961
16941
  value: point2?.spPr?.fillColor ?? activeSeries.color ?? "#4472c4",
16962
- onChange: (e) => {
16963
- onSetPointFill(seriesIndex, idx, e.target.value);
16964
- pushColor(e.target.value);
16965
- }
16942
+ ref: commitRecentColor,
16943
+ onChange: (e) => onSetPointFill(seriesIndex, idx, e.target.value)
16966
16944
  }
16967
16945
  ),
16968
16946
  point2?.spPr?.fillColor && /* @__PURE__ */ jsx(
@@ -17249,7 +17227,7 @@ function ChartMarkerOptions({
17249
17227
  onSetMarker
17250
17228
  }) {
17251
17229
  const { t } = useTranslation();
17252
- const { pushColor } = useRecentColors();
17230
+ const commitRecentColor = useRecentColorCommit();
17253
17231
  if (!MARKER_SUPPORTED_TYPES.has(chartType) || series.length === 0) {
17254
17232
  return null;
17255
17233
  }
@@ -17308,10 +17286,8 @@ function ChartMarkerOptions({
17308
17286
  disabled: !canEdit,
17309
17287
  className: "h-6 w-8 cursor-pointer rounded border border-border bg-transparent",
17310
17288
  value: marker.spPr?.fillColor ?? "#4472c4",
17311
- onChange: (e) => {
17312
- onSetMarker(i, { fillColor: e.target.value });
17313
- pushColor(e.target.value);
17314
- }
17289
+ ref: commitRecentColor,
17290
+ onChange: (e) => onSetMarker(i, { fillColor: e.target.value })
17315
17291
  }
17316
17292
  )
17317
17293
  ] })
@@ -17330,19 +17306,15 @@ function DebouncedColorInput({
17330
17306
  const [local, setLocal] = useState(value);
17331
17307
  const commitRef = useRef(onCommit);
17332
17308
  commitRef.current = onCommit;
17333
- const { pushColor } = useRecentColors();
17309
+ const commitRecentColor = useRecentColorCommit();
17334
17310
  useEffect(() => {
17335
17311
  setLocal(value);
17336
17312
  }, [value]);
17337
- const handleChange = useCallback(
17338
- (e) => {
17339
- const next = e.target.value;
17340
- setLocal(next);
17341
- commitRef.current(next);
17342
- pushColor(next);
17343
- },
17344
- [pushColor]
17345
- );
17313
+ const handleChange = useCallback((e) => {
17314
+ const next = e.target.value;
17315
+ setLocal(next);
17316
+ commitRef.current(next);
17317
+ }, []);
17346
17318
  return /* @__PURE__ */ jsx(
17347
17319
  "input",
17348
17320
  {
@@ -17351,6 +17323,7 @@ function DebouncedColorInput({
17351
17323
  disabled,
17352
17324
  value: local,
17353
17325
  className,
17326
+ ref: commitRecentColor,
17354
17327
  onChange: handleChange
17355
17328
  }
17356
17329
  );
@@ -21080,7 +21053,7 @@ function EffectField({
21080
21053
  onUpdate
21081
21054
  }) {
21082
21055
  const { t } = useTranslation();
21083
- const { pushColor } = useRecentColors();
21056
+ const commitRecentColor = useRecentColorCommit();
21084
21057
  const fieldLabel = field.i18nKey ? t(field.i18nKey) : field.label;
21085
21058
  const val = field.read(style);
21086
21059
  const cls = `flex flex-col gap-1 ${field.span2 ? COL2 : ""}`;
@@ -21110,10 +21083,10 @@ function EffectField({
21110
21083
  {
21111
21084
  type: "color",
21112
21085
  value: String(val),
21086
+ ref: commitRecentColor,
21113
21087
  onChange: (e) => {
21114
21088
  const result = field.write(e.target.value, style);
21115
21089
  onUpdate(typeof result === "function" ? result(style) : result);
21116
- pushColor(e.target.value);
21117
21090
  },
21118
21091
  className: `h-8 ${SEL} px-1`
21119
21092
  }
@@ -21207,6 +21180,7 @@ function ColorPickerRow({
21207
21180
  }) {
21208
21181
  const { t } = useTranslation();
21209
21182
  const { pushColor } = useRecentColors();
21183
+ const commitRecentColor = useRecentColorCommit();
21210
21184
  const commit = (color, ref) => {
21211
21185
  onChange(color, ref);
21212
21186
  pushColor(color);
@@ -21226,7 +21200,8 @@ function ColorPickerRow({
21226
21200
  type: "color",
21227
21201
  value,
21228
21202
  disabled,
21229
- onChange: (e) => commit(e.target.value),
21203
+ ref: commitRecentColor,
21204
+ onChange: (e) => onChange(e.target.value),
21230
21205
  className: `h-8 flex-1 ${SEL} px-1 ${DIS}`
21231
21206
  }
21232
21207
  ),
@@ -21284,6 +21259,7 @@ function GradientStopRow({
21284
21259
  }) {
21285
21260
  const { t } = useTranslation();
21286
21261
  const { pushColor } = useRecentColors();
21262
+ const commitRecentColor = useRecentColorCommit();
21287
21263
  const patchStop = (patch) => {
21288
21264
  const next = allStops.map((s, i) => i === index ? { ...s, ...patch } : s);
21289
21265
  onUpdate(next);
@@ -21295,11 +21271,8 @@ function GradientStopRow({
21295
21271
  {
21296
21272
  type: "color",
21297
21273
  value: normalizeHexColor(stop2.color, "#3b82f6"),
21298
- onChange: (e) => {
21299
- const hex = normalizeHexColor(e.target.value, "#3b82f6");
21300
- patchStop({ color: hex, colorRef: void 0 });
21301
- pushColor(hex);
21302
- },
21274
+ ref: commitRecentColor,
21275
+ onChange: (e) => patchStop({ color: normalizeHexColor(e.target.value, "#3b82f6"), colorRef: void 0 }),
21303
21276
  className: "h-7 w-10 rounded border border-border bg-muted"
21304
21277
  }
21305
21278
  ),
@@ -21833,7 +21806,7 @@ function Text3DProperties({
21833
21806
  onUpdateTextStyle
21834
21807
  }) {
21835
21808
  const { t } = useTranslation();
21836
- const { pushColor } = useRecentColors();
21809
+ const commitRecentColor = useRecentColorCommit();
21837
21810
  const t3d = ts?.text3d;
21838
21811
  const hasExtrusion = Boolean(t3d?.extrusionHeight && t3d.extrusionHeight > 0);
21839
21812
  const update3d = (partial) => {
@@ -21880,10 +21853,8 @@ function Text3DProperties({
21880
21853
  {
21881
21854
  type: "color",
21882
21855
  value: normalizeHexColor(t3d?.extrusionColor, "#888888"),
21883
- onChange: (e) => {
21884
- update3d({ extrusionColor: e.target.value });
21885
- pushColor(e.target.value);
21886
- },
21856
+ ref: commitRecentColor,
21857
+ onChange: (e) => update3d({ extrusionColor: e.target.value }),
21887
21858
  className: COLOR_CLS
21888
21859
  }
21889
21860
  )
@@ -22049,7 +22020,7 @@ function AdvancedTextFormatting({
22049
22020
  numChange
22050
22021
  }) {
22051
22022
  const { t } = useTranslation();
22052
- const { pushColor } = useRecentColors();
22023
+ const commitRecentColor = useRecentColorCommit();
22053
22024
  return /* @__PURE__ */ jsxs("div", { className: "mt-2 rounded border border-border bg-card p-2 space-y-2", children: [
22054
22025
  /* @__PURE__ */ jsx("div", { className: "text-[11px] uppercase tracking-wide text-muted-foreground", children: t("pptx.textProperties.advancedTextHeading") }),
22055
22026
  /* @__PURE__ */ jsx("div", { className: "grid grid-cols-2 gap-2", children: BASELINE_TOGGLES.map(([label, baseline]) => /* @__PURE__ */ jsxs("label", { className: "inline-flex items-center gap-2 text-foreground", children: [
@@ -22071,10 +22042,8 @@ function AdvancedTextFormatting({
22071
22042
  {
22072
22043
  type: "color",
22073
22044
  value: normalizeHexColor(ts?.highlightColor, "#ffff00"),
22074
- onChange: (e) => {
22075
- onUpdateTextStyle({ highlightColor: e.target.value });
22076
- pushColor(e.target.value);
22077
- },
22045
+ ref: commitRecentColor,
22046
+ onChange: (e) => onUpdateTextStyle({ highlightColor: e.target.value }),
22078
22047
  disabled: !canEdit,
22079
22048
  className: COLOR_CLS2
22080
22049
  }
@@ -22105,10 +22074,8 @@ function AdvancedTextFormatting({
22105
22074
  {
22106
22075
  type: "color",
22107
22076
  value: ts?.underlineColor || ts?.color || "#000000",
22108
- onChange: (e) => {
22109
- onUpdateTextStyle({ underlineColor: e.target.value });
22110
- pushColor(e.target.value);
22111
- },
22077
+ ref: commitRecentColor,
22078
+ onChange: (e) => onUpdateTextStyle({ underlineColor: e.target.value }),
22112
22079
  className: COLOR_CLS2
22113
22080
  }
22114
22081
  )
@@ -22139,10 +22106,8 @@ function AdvancedTextFormatting({
22139
22106
  {
22140
22107
  type: "color",
22141
22108
  value: ts?.textOutlineColor || "#000000",
22142
- onChange: (e) => {
22143
- onUpdateTextStyle({ textOutlineColor: e.target.value });
22144
- pushColor(e.target.value);
22145
- },
22109
+ ref: commitRecentColor,
22110
+ onChange: (e) => onUpdateTextStyle({ textOutlineColor: e.target.value }),
22146
22111
  className: COLOR_CLS2
22147
22112
  }
22148
22113
  )
@@ -22329,7 +22294,7 @@ function TextEffectsPanel({
22329
22294
  numChange
22330
22295
  }) {
22331
22296
  const { t } = useTranslation();
22332
- const { pushColor } = useRecentColors();
22297
+ const commitRecentColor = useRecentColorCommit();
22333
22298
  const hasShadow = Boolean(
22334
22299
  ts?.textShadowColor || typeof ts?.textShadowBlur === "number" && ts.textShadowBlur > 0
22335
22300
  );
@@ -22375,10 +22340,8 @@ function TextEffectsPanel({
22375
22340
  {
22376
22341
  type: "color",
22377
22342
  value: normalizeHexColor(ts?.textShadowColor, "#000000"),
22378
- onChange: (e) => {
22379
- onUpdateTextStyle({ textShadowColor: e.target.value });
22380
- pushColor(e.target.value);
22381
- },
22343
+ ref: commitRecentColor,
22344
+ onChange: (e) => onUpdateTextStyle({ textShadowColor: e.target.value }),
22382
22345
  className: COLOR_CLS2
22383
22346
  }
22384
22347
  )
@@ -22482,10 +22445,8 @@ function TextEffectsPanel({
22482
22445
  {
22483
22446
  type: "color",
22484
22447
  value: normalizeHexColor(ts?.textGlowColor, "#ffff00"),
22485
- onChange: (e) => {
22486
- onUpdateTextStyle({ textGlowColor: e.target.value });
22487
- pushColor(e.target.value);
22488
- },
22448
+ ref: commitRecentColor,
22449
+ onChange: (e) => onUpdateTextStyle({ textGlowColor: e.target.value }),
22489
22450
  className: COLOR_CLS2
22490
22451
  }
22491
22452
  )
@@ -22979,7 +22940,7 @@ function SmartArtNodeStyleControls({
22979
22940
  canEdit,
22980
22941
  onChangeStyle
22981
22942
  }) {
22982
- const { pushColor } = useRecentColors();
22943
+ const commitRecentColor = useRecentColorCommit();
22983
22944
  const bold = Boolean(style?.bold);
22984
22945
  const italic = Boolean(style?.italic);
22985
22946
  return /* @__PURE__ */ jsxs(
@@ -22999,10 +22960,8 @@ function SmartArtNodeStyleControls({
22999
22960
  "aria-label": `Fill colour for ${label}`,
23000
22961
  className: "h-4 w-5 cursor-pointer rounded border border-border bg-transparent p-0 disabled:cursor-not-allowed",
23001
22962
  value: style?.fillColor ?? DEFAULT_FILL,
23002
- onChange: (e) => {
23003
- onChangeStyle(nodeId, { fillColor: e.target.value });
23004
- pushColor(e.target.value);
23005
- }
22963
+ ref: commitRecentColor,
22964
+ onChange: (e) => onChangeStyle(nodeId, { fillColor: e.target.value })
23006
22965
  }
23007
22966
  )
23008
22967
  ] }),
@@ -23016,10 +22975,8 @@ function SmartArtNodeStyleControls({
23016
22975
  "aria-label": `Font colour for ${label}`,
23017
22976
  className: "h-4 w-5 cursor-pointer rounded border border-border bg-transparent p-0 disabled:cursor-not-allowed",
23018
22977
  value: style?.fontColor ?? DEFAULT_FONT,
23019
- onChange: (e) => {
23020
- onChangeStyle(nodeId, { fontColor: e.target.value });
23021
- pushColor(e.target.value);
23022
- }
22978
+ ref: commitRecentColor,
22979
+ onChange: (e) => onChangeStyle(nodeId, { fontColor: e.target.value })
23023
22980
  }
23024
22981
  )
23025
22982
  ] }),
@@ -23607,7 +23564,7 @@ function TableCellPatternFill({
23607
23564
  onUpdateCellStyle
23608
23565
  }) {
23609
23566
  const { t } = useTranslation();
23610
- const { pushColor } = useRecentColors();
23567
+ const commitRecentColor = useRecentColorCommit();
23611
23568
  const translate = (key) => t(key);
23612
23569
  return /* @__PURE__ */ jsxs("div", { className: "space-y-1.5", children: [
23613
23570
  /* @__PURE__ */ jsxs("label", { className: "flex flex-col gap-0.5", children: [
@@ -23634,10 +23591,8 @@ function TableCellPatternFill({
23634
23591
  disabled: !canEdit,
23635
23592
  className: "w-full h-7 rounded border border-border bg-transparent cursor-pointer",
23636
23593
  value: cellStyle.patternFillForeground ?? "#000000",
23637
- onChange: (e) => {
23638
- onUpdateCellStyle({ patternFillForeground: e.target.value });
23639
- pushColor(e.target.value);
23640
- }
23594
+ ref: commitRecentColor,
23595
+ onChange: (e) => onUpdateCellStyle({ patternFillForeground: e.target.value })
23641
23596
  }
23642
23597
  )
23643
23598
  ] }),
@@ -23650,10 +23605,8 @@ function TableCellPatternFill({
23650
23605
  disabled: !canEdit,
23651
23606
  className: "w-full h-7 rounded border border-border bg-transparent cursor-pointer",
23652
23607
  value: cellStyle.patternFillBackground ?? "#FFFFFF",
23653
- onChange: (e) => {
23654
- onUpdateCellStyle({ patternFillBackground: e.target.value });
23655
- pushColor(e.target.value);
23656
- }
23608
+ ref: commitRecentColor,
23609
+ onChange: (e) => onUpdateCellStyle({ patternFillBackground: e.target.value })
23657
23610
  }
23658
23611
  )
23659
23612
  ] })
@@ -23754,7 +23707,7 @@ function GradientControls({
23754
23707
  onUpdateCellStyle
23755
23708
  }) {
23756
23709
  const { t } = useTranslation();
23757
- const { pushColor } = useRecentColors();
23710
+ const commitRecentColor = useRecentColorCommit();
23758
23711
  const stops = cellStyle.gradientFillStops ?? [];
23759
23712
  const gradType = cellStyle.gradientFillType ?? "linear";
23760
23713
  const updateStop = (index, patch) => {
@@ -23811,10 +23764,8 @@ function GradientControls({
23811
23764
  disabled: !canEdit,
23812
23765
  className: "h-6 w-6 rounded border border-border cursor-pointer",
23813
23766
  value: stop2.color,
23814
- onChange: (e) => {
23815
- updateStop(idx, { color: e.target.value });
23816
- pushColor(e.target.value);
23817
- }
23767
+ ref: commitRecentColor,
23768
+ onChange: (e) => updateStop(idx, { color: e.target.value })
23818
23769
  }
23819
23770
  ),
23820
23771
  /* @__PURE__ */ jsx(
@@ -33335,31 +33286,22 @@ function MobileChromeOverlay(props) {
33335
33286
  function ReadOnlyBanner(p) {
33336
33287
  const { t } = useTranslation();
33337
33288
  const ref = useWebControl(
33289
+ readOnlyBannerState(
33290
+ p.recommendation,
33291
+ {
33292
+ passwordPromptOpen: p.passwordPromptOpen ?? false,
33293
+ passwordError: p.passwordError ?? null,
33294
+ checkingPassword: p.checkingPassword ?? false
33295
+ },
33296
+ t
33297
+ ),
33338
33298
  {
33339
- kind: p.recommendation.kind ?? null,
33340
- messageKey: p.recommendation.messageKey,
33341
- passwordPromptOpen: p.passwordPromptOpen ?? false,
33342
- passwordError: p.passwordError ?? null,
33343
- checkingPassword: p.checkingPassword ?? false,
33344
- translate: t
33345
- },
33346
- {
33347
- "read-only-request": (event) => {
33348
- const intent = event.detail;
33349
- switch (intent.id) {
33350
- case "editAnyway":
33351
- p.onEditAnyway();
33352
- break;
33353
- case "dismiss":
33354
- p.onDismiss();
33355
- break;
33356
- case "cancelPassword":
33357
- p.onCancelPassword?.();
33358
- break;
33359
- case "submitPassword":
33360
- p.onSubmitPassword?.(intent.password);
33361
- }
33362
- }
33299
+ "read-only-request": (event) => dispatchReadOnlyBannerIntent(event, {
33300
+ editAnyway: p.onEditAnyway,
33301
+ dismiss: p.onDismiss,
33302
+ cancelPassword: p.onCancelPassword,
33303
+ submitPassword: p.onSubmitPassword
33304
+ })
33363
33305
  }
33364
33306
  );
33365
33307
  return /* @__PURE__ */ jsx("pptx-ui-read-only-banner", { ref });
Binary file
Binary file