pptx-react-viewer 4.1.0 → 4.1.2

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 (138) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/dist/{AiChatPanel-C3ACRWOY.mjs → AiChatPanel-3MBRZW26.mjs} +3 -3
  3. package/dist/AiChatPanel-3MBRZW26.mjs.br +0 -0
  4. package/dist/AiChatPanel-3MBRZW26.mjs.gz +0 -0
  5. package/dist/{AiChatPanel-GQNSKMP6.js → AiChatPanel-H5OF3KBZ.js} +24 -24
  6. package/dist/AiChatPanel-H5OF3KBZ.js.br +0 -0
  7. package/dist/AiChatPanel-H5OF3KBZ.js.gz +0 -0
  8. package/dist/{Area3DChartScene-4TPNRYXS.mjs → Area3DChartScene-4NQEW5KF.mjs} +1 -1
  9. package/dist/{Area3DChartScene-4TPNRYXS.mjs.br → Area3DChartScene-4NQEW5KF.mjs.br} +0 -0
  10. package/dist/Area3DChartScene-4NQEW5KF.mjs.gz +0 -0
  11. package/dist/{Area3DChartScene-3I6KB2DN.js → Area3DChartScene-VN5RQBRM.js} +2 -2
  12. package/dist/Area3DChartScene-VN5RQBRM.js.br +0 -0
  13. package/dist/Area3DChartScene-VN5RQBRM.js.gz +0 -0
  14. package/dist/{Bar3DChartScene-ZSCATOYF.js → Bar3DChartScene-AKC3DWD5.js} +2 -2
  15. package/dist/Bar3DChartScene-AKC3DWD5.js.br +0 -0
  16. package/dist/Bar3DChartScene-AKC3DWD5.js.gz +0 -0
  17. package/dist/{Bar3DChartScene-V45IUIT7.mjs → Bar3DChartScene-HDRJUZ3U.mjs} +1 -1
  18. package/dist/{Bar3DChartScene-V45IUIT7.mjs.br → Bar3DChartScene-HDRJUZ3U.mjs.br} +0 -0
  19. package/dist/Bar3DChartScene-HDRJUZ3U.mjs.gz +0 -0
  20. package/dist/{Line3DChartScene-DK55LQ2D.js → Line3DChartScene-3FMVK4VO.js} +2 -2
  21. package/dist/Line3DChartScene-3FMVK4VO.js.br +0 -0
  22. package/dist/Line3DChartScene-3FMVK4VO.js.gz +0 -0
  23. package/dist/{Line3DChartScene-DCQJEZK6.mjs → Line3DChartScene-IVR5DJS6.mjs} +1 -1
  24. package/dist/{Line3DChartScene-DCQJEZK6.mjs.br → Line3DChartScene-IVR5DJS6.mjs.br} +0 -0
  25. package/dist/Line3DChartScene-IVR5DJS6.mjs.gz +0 -0
  26. package/dist/{Model3DScene-SA5XMR2D.mjs → Model3DScene-RTRR7W5G.mjs} +1 -1
  27. package/dist/Model3DScene-RTRR7W5G.mjs.br +0 -0
  28. package/dist/Model3DScene-RTRR7W5G.mjs.gz +0 -0
  29. package/dist/{Model3DScene-2WNP4XBP.js → Model3DScene-ZDQ6L7IA.js} +2 -2
  30. package/dist/Model3DScene-ZDQ6L7IA.js.br +0 -0
  31. package/dist/Model3DScene-ZDQ6L7IA.js.gz +0 -0
  32. package/dist/{PieChart3DScene-Q75D66HS.js → PieChart3DScene-KTA4QWWO.js} +2 -2
  33. package/dist/PieChart3DScene-KTA4QWWO.js.br +0 -0
  34. package/dist/PieChart3DScene-KTA4QWWO.js.gz +0 -0
  35. package/dist/{PieChart3DScene-HC2ZWL42.mjs → PieChart3DScene-PV7CLRBQ.mjs} +1 -1
  36. package/dist/PieChart3DScene-PV7CLRBQ.mjs.br +0 -0
  37. package/dist/PieChart3DScene-PV7CLRBQ.mjs.gz +0 -0
  38. package/dist/{SurfaceChart3DScene-JRMX4PN5.mjs → SurfaceChart3DScene-3XRDIWM3.mjs} +1 -1
  39. package/dist/{SurfaceChart3DScene-JRMX4PN5.mjs.br → SurfaceChart3DScene-3XRDIWM3.mjs.br} +0 -0
  40. package/dist/SurfaceChart3DScene-3XRDIWM3.mjs.gz +0 -0
  41. package/dist/{SurfaceChart3DScene-ODS5E6ZG.js → SurfaceChart3DScene-LGKTU3KM.js} +2 -2
  42. package/dist/SurfaceChart3DScene-LGKTU3KM.js.br +0 -0
  43. package/dist/SurfaceChart3DScene-LGKTU3KM.js.gz +0 -0
  44. package/dist/{chunk-MQHMMB6V.js → chunk-2YZHPPKB.js} +5 -5
  45. package/dist/chunk-2YZHPPKB.js.br +0 -0
  46. package/dist/chunk-2YZHPPKB.js.gz +0 -0
  47. package/dist/{chunk-25CABWCR.mjs → chunk-5HWRX5WI.mjs} +20 -14
  48. package/dist/chunk-5HWRX5WI.mjs.br +0 -0
  49. package/dist/chunk-5HWRX5WI.mjs.gz +0 -0
  50. package/dist/{chunk-Q6QJOD56.mjs → chunk-7YLUB3VE.mjs} +84 -112
  51. package/dist/chunk-7YLUB3VE.mjs.br +0 -0
  52. package/dist/{chunk-Q6QJOD56.mjs.gz → chunk-7YLUB3VE.mjs.gz} +0 -0
  53. package/dist/{chunk-SK2CZQ6P.js → chunk-FRSFVE2I.js} +84 -112
  54. package/dist/chunk-FRSFVE2I.js.br +0 -0
  55. package/dist/{chunk-SK2CZQ6P.js.gz → chunk-FRSFVE2I.js.gz} +0 -0
  56. package/dist/{chunk-NR4MQJM5.js → chunk-HFSWAAY4.js} +1076 -1070
  57. package/dist/chunk-HFSWAAY4.js.br +0 -0
  58. package/dist/chunk-HFSWAAY4.js.gz +0 -0
  59. package/dist/{chunk-GRAARMUW.mjs → chunk-KLIZF4F6.mjs} +1 -1
  60. package/dist/chunk-KLIZF4F6.mjs.br +0 -0
  61. package/dist/chunk-KLIZF4F6.mjs.gz +0 -0
  62. package/dist/{chunk-WLWAYLL6.mjs → chunk-LP52C4PZ.mjs} +1 -1
  63. package/dist/chunk-LP52C4PZ.mjs.br +0 -0
  64. package/dist/chunk-LP52C4PZ.mjs.gz +0 -0
  65. package/dist/{chunk-PUALTXTU.js → chunk-MEAT7XDZ.js} +173 -173
  66. package/dist/chunk-MEAT7XDZ.js.br +0 -0
  67. package/dist/chunk-MEAT7XDZ.js.gz +0 -0
  68. package/dist/{chunk-A6JKOHSV.js → chunk-OHYMOFAS.js} +845 -803
  69. package/dist/chunk-OHYMOFAS.js.br +0 -0
  70. package/dist/chunk-OHYMOFAS.js.gz +0 -0
  71. package/dist/{chunk-3B6YIH4K.mjs → chunk-P4SKGHBS.mjs} +60 -18
  72. package/dist/chunk-P4SKGHBS.mjs.br +0 -0
  73. package/dist/chunk-P4SKGHBS.mjs.gz +0 -0
  74. package/dist/index.js +47 -47
  75. package/dist/index.js.br +0 -0
  76. package/dist/index.js.gz +0 -0
  77. package/dist/index.mjs +5 -5
  78. package/dist/index.mjs.br +0 -0
  79. package/dist/index.mjs.gz +0 -0
  80. package/dist/internals.d.ts +5 -0
  81. package/dist/internals.js +104 -104
  82. package/dist/internals.js.br +0 -0
  83. package/dist/internals.js.gz +0 -0
  84. package/dist/internals.mjs +3 -3
  85. package/dist/internals.mjs.br +0 -0
  86. package/dist/internals.mjs.gz +0 -0
  87. package/dist/pptx-viewer.css +1 -1
  88. package/dist/pptx-viewer.css.br +0 -0
  89. package/dist/pptx-viewer.css.gz +0 -0
  90. package/dist/viewer/index.js +26 -26
  91. package/dist/viewer/index.js.br +0 -0
  92. package/dist/viewer/index.js.gz +0 -0
  93. package/dist/viewer/index.mjs +5 -5
  94. package/dist/viewer/index.mjs.br +0 -0
  95. package/dist/viewer/index.mjs.gz +0 -0
  96. package/package.json +2 -2
  97. package/dist/AiChatPanel-C3ACRWOY.mjs.br +0 -0
  98. package/dist/AiChatPanel-C3ACRWOY.mjs.gz +0 -0
  99. package/dist/AiChatPanel-GQNSKMP6.js.br +0 -0
  100. package/dist/AiChatPanel-GQNSKMP6.js.gz +0 -0
  101. package/dist/Area3DChartScene-3I6KB2DN.js.br +0 -0
  102. package/dist/Area3DChartScene-3I6KB2DN.js.gz +0 -0
  103. package/dist/Area3DChartScene-4TPNRYXS.mjs.gz +0 -0
  104. package/dist/Bar3DChartScene-V45IUIT7.mjs.gz +0 -0
  105. package/dist/Bar3DChartScene-ZSCATOYF.js.br +0 -0
  106. package/dist/Bar3DChartScene-ZSCATOYF.js.gz +0 -0
  107. package/dist/Line3DChartScene-DCQJEZK6.mjs.gz +0 -0
  108. package/dist/Line3DChartScene-DK55LQ2D.js.br +0 -0
  109. package/dist/Line3DChartScene-DK55LQ2D.js.gz +0 -0
  110. package/dist/Model3DScene-2WNP4XBP.js.br +0 -0
  111. package/dist/Model3DScene-2WNP4XBP.js.gz +0 -0
  112. package/dist/Model3DScene-SA5XMR2D.mjs.br +0 -0
  113. package/dist/Model3DScene-SA5XMR2D.mjs.gz +0 -0
  114. package/dist/PieChart3DScene-HC2ZWL42.mjs.br +0 -0
  115. package/dist/PieChart3DScene-HC2ZWL42.mjs.gz +0 -0
  116. package/dist/PieChart3DScene-Q75D66HS.js.br +0 -0
  117. package/dist/PieChart3DScene-Q75D66HS.js.gz +0 -0
  118. package/dist/SurfaceChart3DScene-JRMX4PN5.mjs.gz +0 -0
  119. package/dist/SurfaceChart3DScene-ODS5E6ZG.js.br +0 -0
  120. package/dist/SurfaceChart3DScene-ODS5E6ZG.js.gz +0 -0
  121. package/dist/chunk-25CABWCR.mjs.br +0 -0
  122. package/dist/chunk-25CABWCR.mjs.gz +0 -0
  123. package/dist/chunk-3B6YIH4K.mjs.br +0 -0
  124. package/dist/chunk-3B6YIH4K.mjs.gz +0 -0
  125. package/dist/chunk-A6JKOHSV.js.br +0 -0
  126. package/dist/chunk-A6JKOHSV.js.gz +0 -0
  127. package/dist/chunk-GRAARMUW.mjs.br +0 -0
  128. package/dist/chunk-GRAARMUW.mjs.gz +0 -0
  129. package/dist/chunk-MQHMMB6V.js.br +0 -0
  130. package/dist/chunk-MQHMMB6V.js.gz +0 -0
  131. package/dist/chunk-NR4MQJM5.js.br +0 -0
  132. package/dist/chunk-NR4MQJM5.js.gz +0 -0
  133. package/dist/chunk-PUALTXTU.js.br +0 -0
  134. package/dist/chunk-PUALTXTU.js.gz +0 -0
  135. package/dist/chunk-Q6QJOD56.mjs.br +0 -0
  136. package/dist/chunk-SK2CZQ6P.js.br +0 -0
  137. package/dist/chunk-WLWAYLL6.mjs.br +0 -0
  138. package/dist/chunk-WLWAYLL6.mjs.gz +0 -0
@@ -1,7 +1,7 @@
1
- import { computeFocusTargets, deckDataFieldChanged, aiChangeAnimationCss, changeGhostStyle, createChatHistoryStore, collectStoredChats, exportAiChatLogs, applyElementUpdate } from './chunk-GRAARMUW.mjs';
2
- import { useViewerOptions, useReadOnlyRecommendationState, useCompatibilityToastsState, useReducedMotion, useViewerState, useIsMobile, useResizablePanels, useDerivedSlideState, useZoomViewport, useEditorHistory, usePresentationSetup, useTouchGestures, useViewerDialogs, useEditorOperations, useViewerIntegration, useViewPreferencesSync, useLayoutSwitching, LoadingState, ViewerOptionsContext, SmartArt3DContext, SurfaceChart3DContext, BarChart3DContext, LineChart3DContext, AreaChart3DContext, PieChart3DContext, CollaborationProvider, useCollaboration, useCollaborationDocumentSync, useFollowMode, useBroadcastFollower, SlideBackgroundImageLayer, StaticElementRenderer, safePrompt, scopeLayoutOptionsToActiveSlide, ChartPartSelectionProvider, useToolbarVisibility, useKeyboardInsets, useModalDismissDrag, useViewerOptionsContext, useVirtualizedSlides, useSwipeNavigation, PresentationTransitionOverlay, RemoteSelectionOverlay, CollaborationCursorOverlay, useSheetDismissDrag, detectTargetType, parseEmailUrl, parseSlideFromUrl, ACTION_VERB_MAP, ElementRenderer, InlineCollaborationContext, SmartArtRenderer, playAnimationSound, ResizeHandles, renderStrokeView, useChartPartSelection, resolveSmartArtDataPalette } from './chunk-3B6YIH4K.mjs';
3
- import { SHAPE_PRESETS, ANIMATION_PRESET_OPTIONS, cn, SLIDE_NAV_THUMBNAIL_WIDTH, TOOLBAR_SECTIONS, DEFAULT_SECTION_GROUP_ID, SHORTCUT_REFERENCE_ITEMS as SHORTCUT_REFERENCE_ITEMS$1, isConnectorOrLineElement, GRID_SIZE, MIN_ELEMENT_SIZE, CONNECTOR_ARROW_OPTIONS, ARROW_SIZE_OPTIONS, DEFAULT_FILL_COLOR, startMotionPathPreview, startPreviewAnimation, stopPreviewAnimation, DEFAULT_STROKE_COLOR, STROKE_DASH_OPTIONS } from './chunk-WLWAYLL6.mjs';
4
- import { SWITCHABLE_LAYOUT_TYPES, compileEquationTemplateMathMl, buildUserFontFaceStyles, readStoredViewerPrefs, resolveThemeCatalogEntry, THEME_CATALOG, writeStoredViewerPrefs, openPptxFile, readBackstageRecentFile, resolveAutosaveActivation, buildThemeColorMap, viewerOptionsToPreferences, applyPreferenceToOptions, resolveHistoryDepth, applyAutoCorrect, resolveImageResolutionScale, resolveAutosaveIntervalMs, resolveAutosaveIntervalSeconds, shouldShowAutosaveRecoveryPrompt, resolveOptionRootClasses, resolve3DRenderingFlags, resolveSlideSizeSelection, RULER_THICKNESS, RULER_FONT_SIZE, buildPreviewElements, deriveSlideFieldContext, SLIDE_TRANSITION_OPTIONS, hiddenSlideCue, HIDDEN_SLIDE_SLASH_GRADIENT, HIDDEN_SLIDE_LABEL_KEY, visibleTemplateElements, normalizeHexColor, themeToCssVars, listAutosaveSnapshots, resolveExpiredAutosaveSnapshots, deleteAutosaveSnapshot, masterViewCrudActions, applyMasterViewCrudAction, masterViewCrudFailureKey, applyMotionPathPreset, resetSlideLayoutPath, DEFAULT_INSERT_CHART_KIND, hasCopyableFormat, templateSchemeFromTheme, createBackstagePresentation, playFeedbackSound, shouldDiscardAutosaveOnSuccessfulSave, setMasterViewBackgroundColor, canUseClipboard, runProgramNoticeStackStyle, compatToastStackStyle, printPropertiesFrameSlides, printPropertiesSlidesPerPage, getDensePanelTouchTargetPx, shouldStickyActionRow, VIEWER_OPTIONS_TABS, DEFAULT_QUICK_ACCESS_COMMAND_IDS, isHeaderFooterDateTextVisible, isHeaderFooterHeaderTextVisible, isHeaderFooterFooterTextVisible, buildJoinCollaborationConfig, buildCreateCollaborationConfig, generateBroadcastRoomId, DEFAULT_BROADCAST_SERVER_URL, buildBroadcastViewerUrl, resolveTransportForServerUrl, getSlideBackgroundStyle, pushRecentColor, mruColorsPatch, shouldClearAutosaveCacheOnClose, filterCommands, resolveTitleBarStatusKey, TITLE_BAR_CLASSES, TITLE_BAR_DEFAULT_FILE_KEY, resolveScreenTip, masterViewBackgroundColor, buildFieldSubstitutionContext, shouldConfirmExternalHyperlink, safeOpenUrl, resolvePresentationAction, isPpactionUrl, parsePpactionUrl, isPresentationAdvanceClick, toggleBlackboard, PRESENT_TOOLBAR_CLASSES, buildContextMenuEntries, themeColorSchemesEqual, observeElementHeight, EXPANDED_MAX_HEIGHT, STATUS_BAR_CLASSES, buildBarActions, formatVersionTimestamp, formatRelativeTime, scanAvailableFontFamilies, PRESETS, CATEGORIES, convertOmmlToLatex, compileLatexEquation, convertLatexToOmml, EQUATION_TEMPLATES, clampPercent2, 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, extraQuickAccessCommands, TAB_ROW_ACTION_CLASSES, listBackstageRecentFiles, BACKSTAGE_NAV, hasTextProperties, COMMON_FONT_SIZES, textFontSizePtToPx, INSERT_CHART_TYPES, ACTION_BUTTON_PRESETS, CHARACTER_SPACING_OPTIONS, OFFICE_COLOR_SWATCHES, hasShapeProperties, shapeFillChange, shapeOutlineChange, readRibbonTransitionDraft, ribbonTransitionUpdates, playSlideTransitionPreview, RIBBON_TRANSITION_PRESETS, transitionSoundOptions, transitionSoundSelectedValue, DEFAULT_MOTION_PATH_PRESET_ID, SLIDE_SHOW_OPTIONS, slideShowOptionChange, readSlideShowOption, SLIDE_VIRTUALIZATION_THRESHOLD, PRESENTATION_HIT_TEST_CSS, PRESENTATION_STAGE_ATTRIBUTE, buildStrokePathD, cursorForTool, annotationOverlayZIndex, presentationInkPath, resolveNotesSchematicBodyFontSizePx, PRESENTER_NAVIGATOR_LABEL_KEYS, PEN_COLORS, HIGHLIGHTER_COLORS, isBlackboardActive, scaleSlidesForSizeChange, slideSizeToCanvasPx, resolveSelectionPaneRename, PRESET_THEMES, resolveNotesSegments, segmentsToEditorHtml, DEBOUNCE_MS, createPlainNotesSegments, parseSegmentsFromRichEditor, segmentsToPlainText, getCurrentParagraphIndex, segmentsToParagraphs, paragraphsToSegments, MAX_INDENT_LEVEL, INDENT_PX, isUrlSafe, buildNotesPrintHtml, MIN_TOUCH_TARGET_PX, toggleSheet, SMARTART_PREVIEW_ELEMENT_HEIGHT, SMARTART_PREVIEW_ELEMENT_WIDTH, buildSmartArtPreviewElement, sanitizeMathMl, computeHandoutLayout, getPrintableArea, generateNoteLineCount, computeAllNotesPages, getNotesPrintableArea, downloadBlob, clampOptionNumber, QUICK_ACCESS_COMMAND_CATALOG, registerCustomFont, openReadingView, applyReadingViewCommand, createPresentationKeyBuffer, readingViewFitScale, READING_VIEW_STAGE_ATTR, buildOutline, applyOutlineEdit, mapOutlineKey, notesSegmentsToSpans, erasePresentationInkAt, movePresenterPointer, appendPresentationInkPoint, PRESENTER_CONSOLE_CONTROLS, NOTES_FONT_SIZE_DEFAULT, formatTime, NOTES_FONT_SIZE_MIN, clampNotesFontSize, NOTES_FONT_SIZE_STEP, NOTES_FONT_SIZE_MAX, BACKSTAGE_TEMPLATES, formatBackstageDate, formatBackstageSize, backstageCardsFor, DEFAULT_VIEWER_PROFILE, resolveProfileInitial, AVATAR_COLOR_SWATCHES, resolveDefaultFontFamily, textFontSizePxToPt, buildFontCatalog, getSelectionTextStyleFlags, getInlineEditorSelectionResult, selectedParagraphBulletKind, elementBulletKind, selectionBulletKind, TEXT_DECORATION_FLAGS, nextToggleValue, buildThemeColorSwatchGrid, themeColorSwatchRows, findSelectedThemeSwatch, themeSwatchCommit, RIBBON_SHAPE_SWATCHES, canGroupSelection, canUngroupSelection, canSetStrokeWidth, strokeWidthOf, readSoundFileAsDataUrl, applyTransitionSoundFile, TRANSITION_SOUND_OTHER_VALUE, TRANSITION_SOUND_NONE_VALUE, clearTransitionSound, applyTransitionStockSound, transitionStockSoundId, getEffectSoundAsset, ENTRANCE_PRESET_VALUES, EMPHASIS_PRESET_VALUES, EXIT_PRESET_VALUES, MOTION_PATH_FAMILIES, motionPathFamilyLabelKey, motionPathPresetsByFamily, motionPathPresetLabelKey, masterViewPseudoSlide, motionPathFor, setMotionPath, getShapeAdjustmentHandleDescriptors, shouldShowElementHandles, hasMultipleSelectedTableCells, applyTableStyleDelete, applyTableStyleMapChange, themeColorLabel, buildThemeColorGrid, THEME_COLOR_SCHEME_KEYS, COMMON_FONTS, handleReadingViewKey, getLocalStorageUsageSummary, saveViewerProfile, clearAllLocalViewerData, isCurrentLayout, SLIDE_TEMPLATES, computeAnchoredPopupPosition, attachEditorImagePaste, authorConnectorBetweenSites, findEraserHitElementId, generateTicks, rulerDragToGuidePosition, resolveElementInteractivity, getElementTransformWithoutRotation, getElementTransform, buildChartQuickActionsDescriptor, applyChartElementToggle, CHART_QUICK_ACTION_BUTTON_SIZE, applyChartStylePreset, hideChartSeries, restoreFilteredSeries, getActiveXControlOverlayView, buildCommentMarkers, COMMENT_MARKER_SIZE, collectConnectorSiteCandidates, getConnectorEndpointHandles, findConnectorSiteNear, motionPathToSvgD, motionPathEndPixel, isEditableMotionPath, setMotionPathEnd, isElementLocked, isImageLikeElement, mergeSlideTransition, getElementLabel, mapSlideSorterKey, isEditorTextInputTarget, clampSorterZoom, buildLayoutPreviewGeometry, buildSlideTemplateContent, buildFreeformShapeElement, buildLiveInkStrokeView, CONNECTOR_SITE_SNAP_PX, resolveConnectorEndpointUpdate, withConnectorEndpointUpdate, getShapeConnectionSites, elementLockTogglePatch, buildTableDataGrid, getDenseGridLayoutPlan, appendTableElementRow, removeLastTableElementRow, appendTableElementColumn, removeLastTableElementColumn, removeTableElementColumn, removeTableElementRow, setTableElementCellText, TABLE_STYLE_PRESETS, applyTableStylePreset, tableStyleAssignmentUpdate, evenColumnWidths, redistributeColumnWidth, evenRowHeights, patchChartData, collapseChartTitleRunsForEdit, chartGridlinesState, chartGridlinesPatch, seriesSecondaryAxisPatch, setChartCategoryLabel, setChartCellValue, addChartCategory, removeChartCategory, addChartSeries, removeChartSeries, setDataLabelsRangeCache, setChartAxisLogScale, setChartAxisTitleStyle, setChartAxisGridlineStyle, setChartSeriesMarker, setChartSeriesChartType, setChartDataPointFill, setChartDataPointExplosion, setChartDataPointMarker, setChartDataPointLabel, describeSmartArtBounds, canAddTopLevelNode, classifyExtraConnections, siblingIndex, siblingCount, canRemoveTopLevelNode, canInteractWithElement, buildOleObjectNamePatch, getOleObjectTypeLabel, sanitizeGradientStops, shouldShowAccessibilitySection, pptxActionToElementAction, withFrameSlides, withSlidesPerPage, applyThemeOverrideToSlide, COLOR_MAP_ALIAS_KEYS, DEFAULT_COLOR_MAP, schemaLabel, THEME_COLOR_SLOT_LABEL_KEYS, SLIDE_SIZE_PRESETS, TRANSITION_VALID_DIRECTIONS, TRANSITION_ORIENTATION_TYPES, clampTransitionNumber, TRANSITION_SPEED_OPTIONS, TRANSITION_MORPH_OPTIONS, flattenTagCollections, resolveTemplateBackgroundRows, formatCommentTimestamp, commentMentionQuery, matchCommentMentionAuthors, buildAnimationTimelineRows, clearMotionPath, getEffectSoundState, setEffectSound, setEffectStockSound, setAfterAnimation, setAfterAnimationColor, DIRECTIONAL_PRESETS, buildAnimationTimelineBars, motionPathPresetIdForPath, EFFECT_SOUND_CATALOGUE, hasTiltData, normalizeTableStyleGuid, describeTableStyleEditor, TABLE_STYLE_EDITOR_PARTS, computeMergeCellRight, computeMergeCellDown, computeSplitCell, updateMergeAttrsInRawXml, resolveDisplayedChartType, CHART_TYPE_OPTIONS, BAR3D_SHAPE_OPTIONS, bar3DShapePatch, RADAR_STYLE_OPTIONS, radarStylePatch, SURFACE_WIREFRAME_OPTIONS, surfaceWireframePatch, isSeriesUsingSecondaryAxis, listChartUserShapeRows, withChartUserShapeAdded, createDefaultChartUserShape, withChartUserShapeRowRemoved, withChartUserShapeRowTextUpdated, SMARTART_COLOR_SCHEME_LABEL_KEYS, SMARTART_STYLE_LABEL_KEYS, addSmartArtNodeAsChild, setSmartArtNodeStyle, removeSmartArtNode, addSiblingAfter, removeEmptyNode, demote, promote, updateSmartArtNodeText, reorder, clampCropValue, DUOTONE_PRESETS, ARTISTIC_EFFECTS, mediaTrimEndSeconds, trimmedMediaDurationMs, mediaTrimEndAbsoluteMs, mediaTrimEndMsFromAbsoluteMs, buildOleEditDialogDescriptor, buildOleContentUpdatePatch, applyOleSheetCellEdit, getOleSheetGrid, applyOleDocumentParagraphEdit, getOleDocumentParagraphs, applyOleNestedDeckElementTextEdit, getOleNestedDeckDetail, replaceOleFile, getNonVisualDescriptionFields, resolveActionType, ELEMENT_ACTION_TYPE_OPTIONS, elementActionToPptxAction, canCommitActionType, slideSizeFromPreset, withSlideSizeOrientation, TRANSITION_DIR_ARROWS, buildDirectionGrid, getSlideTransitionAnimations, SLIDE_TRANSITION_KEYFRAMES, updateTagInCollections, deleteTagFromCollections, addTagToCollections, commentTextSegments, COMMENT_MENTION_CLASS, COMMENT_MENTION_ATTRIBUTE, insertCommentMention, reorderAnimationTimelineRows, applyAnimationTimelineOrder, animationEffectLabel, TABLE_STYLE_BORDER_SIDES, applyTableStyleFieldEdit, createTableStyleEntry, addTableStyleToMap, deleteTableStyleFromMap, LBL, SEL, FILL_MODE_OPTIONS, SECTION_HEADING, NUM, getChartUserShapeGroupTransform, withChartUserShapeGroupChildAdded, createDefaultChartUserShapeGroupChild, withChartUserShapeRowUpdated, getChartUserShapeRowChartBox, withChartUserShapeRowFlipUpdated, withChartUserShapeRowRotationUpdated, withChartUserShapeRowChartBoxUpdated, switchSmartArtLayout, rebuildDrawingShapesIfCleared, mediaTrimEndMsFromSeconds, validateMediaTrimRange, SHAPE_QUICK_STYLES, quickStyleSwatchCss, PATTERN_PRESET_OPTIONS, getPatternSvg, COMPOUND_LINE_OPTIONS, LINE_JOIN_OPTIONS, LINE_CAP_OPTIONS, TEXT_WARP_PRESETS, warpPreviewPath, text3dPtToEmu, text3dEmuToPt, MATERIAL_PRESETS, toSlideIndex, TABLE_STYLE_BORDER_SIDE_LABEL_KEYS, TABLE_STYLE_DASH_PRESETS, GRADIENT_TYPE_OPTIONS, PATTERN_OPTIONS, FILL_PATTERN_LABEL_KEYS, openNativeEyeDropper, toggleText3dExtrusion, BEVEL_PRESETS } from './chunk-Q6QJOD56.mjs';
1
+ import { computeFocusTargets, deckDataFieldChanged, aiChangeAnimationCss, changeGhostStyle, createChatHistoryStore, collectStoredChats, exportAiChatLogs, applyElementUpdate } from './chunk-KLIZF4F6.mjs';
2
+ import { useViewerOptions, useReadOnlyRecommendationState, useCompatibilityToastsState, useReducedMotion, useViewerState, useIsMobile, useResizablePanels, useDerivedSlideState, useZoomViewport, useEditorHistory, usePresentationSetup, useTouchGestures, useViewerDialogs, useEditorOperations, useViewerIntegration, useViewPreferencesSync, useLayoutSwitching, LoadingState, ViewerOptionsContext, SmartArt3DContext, SurfaceChart3DContext, BarChart3DContext, LineChart3DContext, AreaChart3DContext, PieChart3DContext, CollaborationProvider, useCollaboration, useCollaborationDocumentSync, useFollowMode, useBroadcastFollower, SlideBackgroundImageLayer, StaticElementRenderer, safePrompt, scopeLayoutOptionsToActiveSlide, ChartPartSelectionProvider, useToolbarVisibility, useKeyboardInsets, useModalDismissDrag, useViewerOptionsContext, useVirtualizedSlides, useSwipeNavigation, PresentationTransitionOverlay, RemoteSelectionOverlay, CollaborationCursorOverlay, useSheetDismissDrag, detectTargetType, parseEmailUrl, parseSlideFromUrl, ACTION_VERB_MAP, ElementRenderer, InlineCollaborationContext, SmartArtRenderer, playAnimationSound, ResizeHandles, renderStrokeView, useChartPartSelection, resolveSmartArtDataPalette } from './chunk-P4SKGHBS.mjs';
3
+ import { SHAPE_PRESETS, ANIMATION_PRESET_OPTIONS, cn, SLIDE_NAV_THUMBNAIL_WIDTH, TOOLBAR_SECTIONS, DEFAULT_SECTION_GROUP_ID, SHORTCUT_REFERENCE_ITEMS as SHORTCUT_REFERENCE_ITEMS$1, isConnectorOrLineElement, GRID_SIZE, MIN_ELEMENT_SIZE, CONNECTOR_ARROW_OPTIONS, ARROW_SIZE_OPTIONS, DEFAULT_FILL_COLOR, startMotionPathPreview, startPreviewAnimation, stopPreviewAnimation, DEFAULT_STROKE_COLOR, STROKE_DASH_OPTIONS } from './chunk-LP52C4PZ.mjs';
4
+ import { SWITCHABLE_LAYOUT_TYPES, compileEquationTemplateMathMl, buildUserFontFaceStyles, readStoredViewerPrefs, resolveThemeCatalogEntry, THEME_CATALOG, writeStoredViewerPrefs, openPptxFile, readBackstageRecentFile, resolveAutosaveActivation, buildThemeColorMap, viewerOptionsToPreferences, applyPreferenceToOptions, resolveHistoryDepth, applyAutoCorrect, resolveImageResolutionScale, resolveAutosaveIntervalMs, resolveAutosaveIntervalSeconds, shouldShowAutosaveRecoveryPrompt, resolveOptionRootClasses, resolve3DRenderingFlags, resolveSlideSizeSelection, RULER_THICKNESS, RULER_FONT_SIZE, buildPreviewElements, deriveSlideFieldContext, SLIDE_TRANSITION_OPTIONS, hiddenSlideCue, HIDDEN_SLIDE_SLASH_GRADIENT, HIDDEN_SLIDE_LABEL_KEY, visibleTemplateElements, normalizeHexColor, themeToCssVars, listAutosaveSnapshots, resolveExpiredAutosaveSnapshots, deleteAutosaveSnapshot, masterViewCrudActions, applyMasterViewCrudAction, masterViewCrudFailureKey, applyMotionPathPreset, resetSlideLayoutPath, DEFAULT_INSERT_CHART_KIND, hasCopyableFormat, templateSchemeFromTheme, createBackstagePresentation, playFeedbackSound, shouldDiscardAutosaveOnSuccessfulSave, setMasterViewBackgroundColor, canUseClipboard, runProgramNoticeStackStyle, compatToastStackStyle, printPropertiesFrameSlides, printPropertiesSlidesPerPage, getDensePanelTouchTargetPx, shouldStickyActionRow, VIEWER_OPTIONS_TABS, DEFAULT_QUICK_ACCESS_COMMAND_IDS, isHeaderFooterDateTextVisible, isHeaderFooterHeaderTextVisible, isHeaderFooterFooterTextVisible, buildJoinCollaborationConfig, buildCreateCollaborationConfig, generateBroadcastRoomId, DEFAULT_BROADCAST_SERVER_URL, buildBroadcastViewerUrl, resolveTransportForServerUrl, getSlideBackgroundStyle, pushRecentColor, mruColorsPatch, shouldClearAutosaveCacheOnClose, filterCommands, resolveTitleBarStatusKey, TITLE_BAR_CLASSES, TITLE_BAR_DEFAULT_FILE_KEY, resolveScreenTip, masterViewBackgroundColor, buildFieldSubstitutionContext, shouldConfirmExternalHyperlink, safeOpenUrl, resolvePresentationAction, isPpactionUrl, parsePpactionUrl, isPresentationAdvanceClick, toggleBlackboard, PRESENT_TOOLBAR_CLASSES, buildContextMenuEntries, themeColorSchemesEqual, observeElementHeight, EXPANDED_MAX_HEIGHT, STATUS_BAR_CLASSES, buildBarActions, formatVersionTimestamp, formatRelativeTime, scanAvailableFontFamilies, PRESETS, CATEGORIES, convertOmmlToLatex, compileLatexEquation, convertLatexToOmml, EQUATION_TEMPLATES, clampPercent2, 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, extraQuickAccessCommands, TAB_ROW_ACTION_CLASSES, listBackstageRecentFiles, BACKSTAGE_NAV, hasTextProperties, COMMON_FONT_SIZES, textFontSizePtToPx, INSERT_CHART_TYPES, ACTION_BUTTON_PRESETS, CHARACTER_SPACING_OPTIONS, OFFICE_COLOR_SWATCHES, hasShapeProperties, shapeFillChange, shapeOutlineChange, readRibbonTransitionDraft, ribbonTransitionUpdates, playSlideTransitionPreview, RIBBON_TRANSITION_PRESETS, transitionSoundOptions, transitionSoundSelectedValue, DEFAULT_MOTION_PATH_PRESET_ID, SLIDE_SHOW_OPTIONS, slideShowOptionChange, readSlideShowOption, SLIDE_VIRTUALIZATION_THRESHOLD, PRESENTATION_HIT_TEST_CSS, PRESENTATION_STAGE_ATTRIBUTE, buildStrokePathD, cursorForTool, annotationOverlayZIndex, presentationInkPath, resolveNotesSchematicBodyFontSizePx, PRESENTER_NAVIGATOR_LABEL_KEYS, PEN_COLORS, HIGHLIGHTER_COLORS, isBlackboardActive, scaleSlidesForSizeChange, slideSizeToCanvasPx, resolveSelectionPaneRename, PRESET_THEMES, resolveNotesSegments, segmentsToEditorHtml, DEBOUNCE_MS, createPlainNotesSegments, parseSegmentsFromRichEditor, segmentsToPlainText, getCurrentParagraphIndex, segmentsToParagraphs, paragraphsToSegments, MAX_INDENT_LEVEL, INDENT_PX, isUrlSafe, buildNotesPrintHtml, MIN_TOUCH_TARGET_PX, toggleSheet, SMARTART_PREVIEW_ELEMENT_HEIGHT, SMARTART_PREVIEW_ELEMENT_WIDTH, buildSmartArtPreviewElement, sanitizeMathMl, computeHandoutLayout, getPrintableArea, generateNoteLineCount, computeAllNotesPages, getNotesPrintableArea, downloadBlob, clampOptionNumber, QUICK_ACCESS_COMMAND_CATALOG, registerCustomFont, openReadingView, applyReadingViewCommand, createPresentationKeyBuffer, readingViewFitScale, READING_VIEW_STAGE_ATTR, buildOutline, applyOutlineEdit, mapOutlineKey, notesSegmentsToSpans, erasePresentationInkAt, movePresenterPointer, appendPresentationInkPoint, PRESENTER_CONSOLE_CONTROLS, NOTES_FONT_SIZE_DEFAULT, formatTime, NOTES_FONT_SIZE_MIN, clampNotesFontSize, NOTES_FONT_SIZE_STEP, NOTES_FONT_SIZE_MAX, BACKSTAGE_TEMPLATES, formatBackstageDate, formatBackstageSize, backstageCardsFor, DEFAULT_VIEWER_PROFILE, resolveProfileInitial, AVATAR_COLOR_SWATCHES, resolveDefaultFontFamily, textFontSizePxToPt, buildFontCatalog, getSelectionTextStyleFlags, getInlineEditorSelectionResult, selectedParagraphBulletKind, elementBulletKind, selectionBulletKind, TEXT_DECORATION_FLAGS, nextToggleValue, buildThemeColorSwatchGrid, themeColorSwatchRows, findSelectedThemeSwatch, themeSwatchCommit, RIBBON_SHAPE_SWATCHES, canGroupSelection, canUngroupSelection, canSetStrokeWidth, strokeWidthOf, readSoundFileAsDataUrl, applyTransitionSoundFile, TRANSITION_SOUND_OTHER_VALUE, TRANSITION_SOUND_NONE_VALUE, clearTransitionSound, applyTransitionStockSound, transitionStockSoundId, getEffectSoundAsset, ENTRANCE_PRESET_VALUES, EMPHASIS_PRESET_VALUES, EXIT_PRESET_VALUES, MOTION_PATH_FAMILIES, motionPathFamilyLabelKey, motionPathPresetsByFamily, motionPathPresetLabelKey, masterViewPseudoSlide, motionPathFor, setMotionPath, getShapeAdjustmentHandleDescriptors, shouldShowElementHandles, hasMultipleSelectedTableCells, applyTableStyleDelete, applyTableStyleMapChange, themeColorLabel, buildThemeColorGrid, THEME_COLOR_SCHEME_KEYS, COMMON_FONTS, handleReadingViewKey, getLocalStorageUsageSummary, saveViewerProfile, clearAllLocalViewerData, isCurrentLayout, SLIDE_TEMPLATES, computeAnchoredPopupPosition, attachEditorImagePaste, authorConnectorBetweenSites, findEraserHitElementId, generateTicks, rulerDragToGuidePosition, resolveElementInteractivity, getElementTransformWithoutRotation, getElementTransform, buildChartQuickActionsDescriptor, applyChartElementToggle, CHART_QUICK_ACTION_BUTTON_SIZE, applyChartStylePreset, hideChartSeries, restoreFilteredSeries, getActiveXControlOverlayView, buildCommentMarkers, COMMENT_MARKER_SIZE, collectConnectorSiteCandidates, getConnectorEndpointHandles, findConnectorSiteNear, motionPathToSvgD, motionPathEndPixel, isEditableMotionPath, setMotionPathEnd, isElementLocked, isImageLikeElement, mergeSlideTransition, getElementLabel, mapSlideSorterKey, isEditorTextInputTarget, clampSorterZoom, buildLayoutPreviewGeometry, buildSlideTemplateContent, buildFreeformShapeElement, buildLiveInkStrokeView, CONNECTOR_SITE_SNAP_PX, resolveConnectorEndpointUpdate, withConnectorEndpointUpdate, getShapeConnectionSites, elementLockTogglePatch, buildTableDataGrid, getDenseGridLayoutPlan, appendTableElementRow, removeLastTableElementRow, appendTableElementColumn, removeLastTableElementColumn, removeTableElementColumn, removeTableElementRow, setTableElementCellText, TABLE_STYLE_PRESETS, applyTableStylePreset, tableStyleAssignmentUpdate, evenColumnWidths, redistributeColumnWidth, evenRowHeights, patchChartData, collapseChartTitleRunsForEdit, chartGridlinesState, chartGridlinesPatch, seriesSecondaryAxisPatch, setChartCategoryLabel, setChartCellValue, addChartCategory, removeChartCategory, addChartSeries, removeChartSeries, setDataLabelsRangeCache, setChartAxisLogScale, setChartAxisTitleStyle, setChartAxisGridlineStyle, setChartSeriesMarker, setChartSeriesChartType, setChartDataPointFill, setChartDataPointExplosion, setChartDataPointMarker, setChartDataPointLabel, describeSmartArtBounds, canAddTopLevelNode, classifyExtraConnections, siblingIndex, siblingCount, canRemoveTopLevelNode, canInteractWithElement, buildOleObjectNamePatch, getOleObjectTypeLabel, sanitizeGradientStops, shouldShowAccessibilitySection, pptxActionToElementAction, withFrameSlides, withSlidesPerPage, applyThemeOverrideToSlide, COLOR_MAP_ALIAS_KEYS, DEFAULT_COLOR_MAP, schemaLabel, THEME_COLOR_SLOT_LABEL_KEYS, SLIDE_SIZE_PRESETS, TRANSITION_VALID_DIRECTIONS, TRANSITION_ORIENTATION_TYPES, clampTransitionNumber, TRANSITION_SPEED_OPTIONS, TRANSITION_MORPH_OPTIONS, flattenTagCollections, resolveTemplateBackgroundRows, formatCommentTimestamp, commentMentionQuery, matchCommentMentionAuthors, buildAnimationTimelineRows, clearMotionPath, getEffectSoundState, setEffectSound, setEffectStockSound, setAfterAnimation, setAfterAnimationColor, DIRECTIONAL_PRESETS, buildAnimationTimelineBars, motionPathPresetIdForPath, EFFECT_SOUND_CATALOGUE, hasTiltData, normalizeTableStyleGuid, describeTableStyleEditor, TABLE_STYLE_EDITOR_PARTS, computeMergeCellRight, computeMergeCellDown, computeSplitCell, updateMergeAttrsInRawXml, resolveDisplayedChartType, CHART_TYPE_OPTIONS, BAR3D_SHAPE_OPTIONS, bar3DShapePatch, RADAR_STYLE_OPTIONS, radarStylePatch, SURFACE_WIREFRAME_OPTIONS, surfaceWireframePatch, isSeriesUsingSecondaryAxis, listChartUserShapeRows, withChartUserShapeAdded, createDefaultChartUserShape, withChartUserShapeRowRemoved, withChartUserShapeRowTextUpdated, SMARTART_COLOR_SCHEME_LABEL_KEYS, SMARTART_STYLE_LABEL_KEYS, addSmartArtNodeAsChild, setSmartArtNodeStyle, removeSmartArtNode, addSiblingAfter, removeEmptyNode, demote, promote, updateSmartArtNodeText, reorder, clampCropValue, DUOTONE_PRESETS, ARTISTIC_EFFECTS, mediaTrimEndSeconds, trimmedMediaDurationMs, mediaTrimEndAbsoluteMs, mediaTrimEndMsFromAbsoluteMs, buildOleEditDialogDescriptor, buildOleContentUpdatePatch, applyOleSheetCellEdit, getOleSheetGrid, applyOleDocumentParagraphEdit, getOleDocumentParagraphs, applyOleNestedDeckElementTextEdit, getOleNestedDeckDetail, replaceOleFile, getNonVisualDescriptionFields, resolveActionType, ELEMENT_ACTION_TYPE_OPTIONS, elementActionToPptxAction, canCommitActionType, slideSizeFromPreset, withSlideSizeOrientation, TRANSITION_DIR_ARROWS, buildDirectionGrid, getSlideTransitionAnimations, SLIDE_TRANSITION_KEYFRAMES, updateTagInCollections, deleteTagFromCollections, addTagToCollections, commentTextSegments, COMMENT_MENTION_CLASS, COMMENT_MENTION_ATTRIBUTE, insertCommentMention, reorderAnimationTimelineRows, applyAnimationTimelineOrder, animationEffectLabel, TABLE_STYLE_BORDER_SIDES, applyTableStyleFieldEdit, createTableStyleEntry, addTableStyleToMap, deleteTableStyleFromMap, LBL, SEL, FILL_MODE_OPTIONS, SECTION_HEADING, NUM, getChartUserShapeGroupTransform, withChartUserShapeGroupChildAdded, createDefaultChartUserShapeGroupChild, withChartUserShapeRowUpdated, getChartUserShapeRowChartBox, withChartUserShapeRowFlipUpdated, withChartUserShapeRowRotationUpdated, withChartUserShapeRowChartBoxUpdated, switchSmartArtLayout, rebuildDrawingShapesIfCleared, mediaTrimEndMsFromSeconds, validateMediaTrimRange, SHAPE_QUICK_STYLES, quickStyleSwatchCss, PATTERN_PRESET_OPTIONS, getPatternSvg, COMPOUND_LINE_OPTIONS, LINE_JOIN_OPTIONS, LINE_CAP_OPTIONS, TEXT_WARP_PRESETS, warpPreviewPath, text3dPtToEmu, text3dEmuToPt, MATERIAL_PRESETS, toSlideIndex, TABLE_STYLE_BORDER_SIDE_LABEL_KEYS, TABLE_STYLE_DASH_PRESETS, GRADIENT_TYPE_OPTIONS, PATTERN_OPTIONS, FILL_PATTERN_LABEL_KEYS, openNativeEyeDropper, toggleText3dExtrusion, BEVEL_PRESETS } from './chunk-7YLUB3VE.mjs';
5
5
  import { LOCALE_CATALOG, ALIGNMENT_LABEL_KEYS } from './chunk-PC7H3C5W.mjs';
6
6
  import React4, { createContext, lazy, forwardRef, useEffect, useState, useCallback, useMemo, useRef, useId, Fragment as Fragment$1, useDeferredValue, Suspense, useContext, useSyncExternalStore, useLayoutEffect } from 'react';
7
7
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
@@ -1599,7 +1599,7 @@ function AccountPage() {
1599
1599
  return void 0;
1600
1600
  });
1601
1601
  };
1602
- const version = "4.0.0" ;
1602
+ const version = "4.1.1" ;
1603
1603
  return /* @__PURE__ */ jsxs("div", { className: "mt-8 max-w-[700px] space-y-6", children: [
1604
1604
  /* @__PURE__ */ jsxs("section", { className: cardClass, children: [
1605
1605
  /* @__PURE__ */ jsxs("h2", { className: "flex items-center gap-2 text-sm font-semibold", children: [
@@ -32827,7 +32827,7 @@ function useTableStyleMapHandlers(input) {
32827
32827
  var AiChatPanel = lazy(async () => {
32828
32828
  const [{ useChat }, { default: Panel }] = await Promise.all([
32829
32829
  import('@ai-sdk/react'),
32830
- import('./AiChatPanel-C3ACRWOY.mjs')
32830
+ import('./AiChatPanel-3MBRZW26.mjs')
32831
32831
  ]);
32832
32832
  function BoundAiChatPanel(props) {
32833
32833
  return /* @__PURE__ */ jsx(Panel, { ...props, useChat });
@@ -34138,7 +34138,8 @@ function ViewerMainContent(props) {
34138
34138
  function AutosaveRecoveryDialog({
34139
34139
  prompt,
34140
34140
  onRestore,
34141
- onDiscard
34141
+ onDiscard,
34142
+ busy = false
34142
34143
  }) {
34143
34144
  const { t } = useTranslation();
34144
34145
  if (!prompt) {
@@ -34150,7 +34151,7 @@ function AutosaveRecoveryDialog({
34150
34151
  "div",
34151
34152
  {
34152
34153
  style: { zIndex: 1200 },
34153
- className: "fixed inset-0 flex items-center justify-center bg-black/50",
34154
+ className: "fixed inset-0 flex items-center justify-center bg-black/50 p-4",
34154
34155
  "data-pptx-autosave-recovery": "true",
34155
34156
  children: /* @__PURE__ */ jsxs(
34156
34157
  "div",
@@ -34158,21 +34159,23 @@ function AutosaveRecoveryDialog({
34158
34159
  role: "dialog",
34159
34160
  "aria-modal": "true",
34160
34161
  "aria-label": title,
34161
- className: "bg-background border border-border rounded-lg shadow-xl w-[440px] max-w-[90vw] p-6",
34162
+ "aria-busy": busy,
34163
+ className: "bg-background border border-border rounded-lg shadow-xl w-[440px] max-w-full max-h-[calc(100dvh-2rem)] overflow-y-auto p-6",
34162
34164
  children: [
34163
34165
  /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3 mb-3", children: [
34164
34166
  /* @__PURE__ */ jsx("div", { className: "flex items-center justify-center w-10 h-10 rounded-full bg-primary/10", children: /* @__PURE__ */ jsx(LuHistory, { className: "w-5 h-5 text-primary" }) }),
34165
34167
  /* @__PURE__ */ jsx("h2", { className: "text-base font-semibold text-foreground", children: title })
34166
34168
  ] }),
34167
- /* @__PURE__ */ jsx("p", { className: "text-sm text-muted-foreground", children: t(prompt.messageKey, prompt.messageParams) }),
34169
+ /* @__PURE__ */ jsx("p", { className: "text-sm text-muted-foreground [overflow-wrap:anywhere]", children: t(prompt.messageKey, prompt.messageParams) }),
34168
34170
  /* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground mt-2", children: t("pptx.autosave.recovery.savedLabel", { when }) }),
34169
- /* @__PURE__ */ jsxs("div", { className: "flex justify-end gap-2 mt-6", children: [
34171
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-wrap justify-end gap-2 mt-6", children: [
34170
34172
  /* @__PURE__ */ jsxs(
34171
34173
  "button",
34172
34174
  {
34173
34175
  type: "button",
34174
- className: "inline-flex items-center gap-1.5 px-4 py-2 text-sm font-medium rounded-md border border-border bg-background text-foreground hover:bg-accent transition-colors",
34176
+ className: "inline-flex items-center gap-1.5 px-4 py-2 text-sm font-medium rounded-md border border-border bg-background text-foreground hover:bg-accent transition-colors disabled:cursor-not-allowed disabled:opacity-50",
34175
34177
  onClick: onDiscard,
34178
+ disabled: busy,
34176
34179
  children: [
34177
34180
  /* @__PURE__ */ jsx(LuTrash2, { className: "w-4 h-4" }),
34178
34181
  t(prompt.discardKey)
@@ -34183,8 +34186,9 @@ function AutosaveRecoveryDialog({
34183
34186
  "button",
34184
34187
  {
34185
34188
  type: "button",
34186
- className: "inline-flex items-center gap-1.5 px-4 py-2 text-sm font-medium rounded-md bg-primary text-white hover:bg-primary/90 transition-colors",
34189
+ className: "inline-flex items-center gap-1.5 px-4 py-2 text-sm font-medium rounded-md bg-primary text-white hover:bg-primary/90 transition-colors disabled:cursor-not-allowed disabled:opacity-50",
34187
34190
  onClick: onRestore,
34191
+ disabled: busy,
34188
34192
  children: [
34189
34193
  /* @__PURE__ */ jsx(LuHistory, { className: "w-4 h-4" }),
34190
34194
  t(prompt.restoreKey)
@@ -36631,6 +36635,7 @@ var PowerPointViewer = forwardRef(
36631
36635
  gridSpacingPx,
36632
36636
  content,
36633
36637
  filePath,
36638
+ fileName,
36634
36639
  autosaveEnabled: autosaveActivation.active,
36635
36640
  autosaveAllowed: hostAutosave !== false,
36636
36641
  // Host prop first (an explicit policy), else File > Options > Save >
@@ -37034,7 +37039,8 @@ var PowerPointViewer = forwardRef(
37034
37039
  presenting: mode === "present"
37035
37040
  }) ? recovery.prompt : null,
37036
37041
  onRestore: recovery.restore,
37037
- onDiscard: recovery.discard
37042
+ onDiscard: recovery.discard,
37043
+ busy: recovery.discarding
37038
37044
  }
37039
37045
  ),
37040
37046
  /* @__PURE__ */ jsx(
Binary file
Binary file
@@ -196750,117 +196750,6 @@ async function saveAutosaveSnapshot(filePath, data) {
196750
196750
  return putAutosaveRecord(filePath, data);
196751
196751
  }
196752
196752
  }
196753
- var AUTOSAVE_RECOVERY_WINDOW_MS = 24 * 60 * 60 * 1e3;
196754
- var CONSUMED_KEY = "pptx-viewer-recovery-consumed";
196755
- function markAutosaveSnapshotConsumed(timestamp) {
196756
- try {
196757
- if (typeof sessionStorage === "undefined" || !Number.isFinite(timestamp)) {
196758
- return;
196759
- }
196760
- const previous = consumedAutosaveSnapshotTimestamp();
196761
- if (timestamp > previous) {
196762
- sessionStorage.setItem(CONSUMED_KEY, String(timestamp));
196763
- }
196764
- } catch {
196765
- }
196766
- }
196767
- function consumedAutosaveSnapshotTimestamp() {
196768
- try {
196769
- if (typeof sessionStorage === "undefined") {
196770
- return 0;
196771
- }
196772
- const raw = sessionStorage.getItem(CONSUMED_KEY);
196773
- const value = raw === null ? Number.NaN : Number(raw);
196774
- return Number.isFinite(value) ? value : 0;
196775
- } catch {
196776
- return 0;
196777
- }
196778
- }
196779
- function shouldProbeAutosaveRecovery(input) {
196780
- return !input.alreadyChecked && input.autosaveAllowed && Boolean(input.filePath) && !input.loading && !input.error && input.slideCount > 0;
196781
- }
196782
- function formatSnapshotSize(bytes) {
196783
- if (!Number.isFinite(bytes) || bytes <= 0) {
196784
- return "0 KB";
196785
- }
196786
- if (bytes < 1024 * 1024) {
196787
- return `${Math.max(1, Math.round(bytes / 1024))} KB`;
196788
- }
196789
- return `${(bytes / (1024 * 1024)).toFixed(1)} MB`;
196790
- }
196791
- function ageKeyFor(ageMinutes) {
196792
- if (ageMinutes < 1) {
196793
- return { key: "pptx.autosave.justNow", count: 0 };
196794
- }
196795
- if (ageMinutes === 1) {
196796
- return { key: "pptx.autosave.oneMinAgo", count: 1 };
196797
- }
196798
- if (ageMinutes < 60) {
196799
- return { key: "pptx.autosave.minutesAgo", count: ageMinutes };
196800
- }
196801
- return { key: "pptx.autosave.recovery.hoursAgo", count: Math.floor(ageMinutes / 60) };
196802
- }
196803
- function autosaveRecoveryPrompt(input) {
196804
- const record2 = input.record;
196805
- if (!record2 || record2.size <= 0 || !record2.key) {
196806
- return null;
196807
- }
196808
- const age = input.now - record2.timestamp;
196809
- if (!Number.isFinite(age) || age < 0 || age >= AUTOSAVE_RECOVERY_WINDOW_MS) {
196810
- return null;
196811
- }
196812
- if (record2.timestamp <= (input.consumedTimestamp ?? 0)) {
196813
- return null;
196814
- }
196815
- const ageMinutes = Math.floor(age / 6e4);
196816
- const relative = ageKeyFor(ageMinutes);
196817
- return {
196818
- filePath: record2.key,
196819
- timestamp: record2.timestamp,
196820
- size: record2.size,
196821
- ageMinutes,
196822
- titleKey: "pptx.autosave.recovery.title",
196823
- messageKey: "pptx.autosave.recovery.message",
196824
- messageParams: { file: record2.key, size: formatSnapshotSize(record2.size) },
196825
- ageKey: relative.key,
196826
- ageParams: { count: relative.count },
196827
- restoreKey: "pptx.autosave.recovery.restore",
196828
- discardKey: "pptx.autosave.recovery.discard"
196829
- };
196830
- }
196831
- function shouldShowAutosaveRecoveryPrompt(input) {
196832
- return Boolean(input.prompt) && !input.presenting;
196833
- }
196834
- async function probeAutosaveRecovery(filePath, now = Date.now()) {
196835
- if (typeof indexedDB === "undefined") {
196836
- return null;
196837
- }
196838
- try {
196839
- const record2 = await getAutosaveSnapshot(filePath);
196840
- const prompt = autosaveRecoveryPrompt({
196841
- record: record2 ? { key: record2.key, timestamp: record2.timestamp, size: record2.size } : void 0,
196842
- now,
196843
- consumedTimestamp: consumedAutosaveSnapshotTimestamp()
196844
- });
196845
- if (!prompt || !record2) {
196846
- return null;
196847
- }
196848
- return { prompt, record: record2 };
196849
- } catch {
196850
- return null;
196851
- }
196852
- }
196853
- function acceptAutosaveRecovery(record2) {
196854
- markAutosaveSnapshotConsumed(record2.timestamp);
196855
- return record2.data instanceof Uint8Array ? record2.data : new Uint8Array(record2.data);
196856
- }
196857
- async function discardAutosaveRecovery(record2) {
196858
- markAutosaveSnapshotConsumed(record2.timestamp);
196859
- try {
196860
- await deleteAutosaveSnapshot(record2.key);
196861
- } catch {
196862
- }
196863
- }
196864
196753
  function secureRandomBytes(length) {
196865
196754
  const bytes = new Uint8Array(length);
196866
196755
  if (typeof crypto !== "undefined" && typeof crypto.getRandomValues === "function") {
@@ -197059,7 +196948,6 @@ async function restoreSessionDeck() {
197059
196948
  const snapshot = await getAutosaveSnapshot(deck.fileName);
197060
196949
  const bytes = snapshot ? toBytes(snapshot.data) : null;
197061
196950
  if (snapshot && bytes && bytes.byteLength > 0 && snapshot.timestamp > deck.timestamp) {
197062
- markAutosaveSnapshotConsumed(snapshot.timestamp);
197063
196951
  return { fileName: deck.fileName, data: bytes, timestamp: snapshot.timestamp };
197064
196952
  }
197065
196953
  } catch {
@@ -203519,6 +203407,90 @@ function resolveAutosaveIntervalMs(input) {
203519
203407
  }
203520
203408
  return AUTOSAVE_DEFAULT_INTERVAL_MS;
203521
203409
  }
203410
+ var AUTOSAVE_RECOVERY_WINDOW_MS = 24 * 60 * 60 * 1e3;
203411
+ function shouldProbeAutosaveRecovery(input) {
203412
+ return !input.alreadyChecked && input.autosaveAllowed && Boolean(input.filePath) && !input.loading && !input.error && input.slideCount > 0;
203413
+ }
203414
+ function formatSnapshotSize(bytes) {
203415
+ if (!Number.isFinite(bytes) || bytes <= 0) {
203416
+ return "0 KB";
203417
+ }
203418
+ if (bytes < 1024 * 1024) {
203419
+ return `${Math.max(1, Math.round(bytes / 1024))} KB`;
203420
+ }
203421
+ return `${(bytes / (1024 * 1024)).toFixed(1)} MB`;
203422
+ }
203423
+ function ageKeyFor(ageMinutes) {
203424
+ if (ageMinutes < 1) {
203425
+ return { key: "pptx.autosave.justNow", count: 0 };
203426
+ }
203427
+ if (ageMinutes === 1) {
203428
+ return { key: "pptx.autosave.oneMinAgo", count: 1 };
203429
+ }
203430
+ if (ageMinutes < 60) {
203431
+ return { key: "pptx.autosave.minutesAgo", count: ageMinutes };
203432
+ }
203433
+ return { key: "pptx.autosave.recovery.hoursAgo", count: Math.floor(ageMinutes / 60) };
203434
+ }
203435
+ function autosaveRecoveryPrompt(input) {
203436
+ const record2 = input.record;
203437
+ if (!record2 || record2.size <= 0 || !record2.key) {
203438
+ return null;
203439
+ }
203440
+ const age = input.now - record2.timestamp;
203441
+ if (!Number.isFinite(age) || age < 0 || age >= AUTOSAVE_RECOVERY_WINDOW_MS) {
203442
+ return null;
203443
+ }
203444
+ const ageMinutes = Math.floor(age / 6e4);
203445
+ const relative = ageKeyFor(ageMinutes);
203446
+ return {
203447
+ filePath: record2.key,
203448
+ timestamp: record2.timestamp,
203449
+ size: record2.size,
203450
+ ageMinutes,
203451
+ titleKey: "pptx.autosave.recovery.title",
203452
+ messageKey: "pptx.autosave.recovery.message",
203453
+ messageParams: {
203454
+ file: input.displayName?.trim() || record2.key,
203455
+ size: formatSnapshotSize(record2.size)
203456
+ },
203457
+ ageKey: relative.key,
203458
+ ageParams: { count: relative.count },
203459
+ restoreKey: "pptx.autosave.recovery.restore",
203460
+ discardKey: "pptx.autosave.recovery.discard"
203461
+ };
203462
+ }
203463
+ function shouldShowAutosaveRecoveryPrompt(input) {
203464
+ return Boolean(input.prompt) && !input.presenting;
203465
+ }
203466
+ async function probeAutosaveRecovery(filePath, now = Date.now(), displayName) {
203467
+ if (typeof indexedDB === "undefined") {
203468
+ return null;
203469
+ }
203470
+ try {
203471
+ const record2 = await getAutosaveSnapshot(filePath);
203472
+ const prompt = autosaveRecoveryPrompt({
203473
+ record: record2 ? { key: record2.key, timestamp: record2.timestamp, size: record2.size } : void 0,
203474
+ now,
203475
+ displayName
203476
+ });
203477
+ if (!prompt || !record2) {
203478
+ return null;
203479
+ }
203480
+ return { prompt, record: record2 };
203481
+ } catch {
203482
+ return null;
203483
+ }
203484
+ }
203485
+ function acceptAutosaveRecovery(record2) {
203486
+ return record2.data instanceof Uint8Array ? record2.data : new Uint8Array(record2.data);
203487
+ }
203488
+ async function discardAutosaveRecovery(record2) {
203489
+ try {
203490
+ await deleteAutosaveSnapshot(record2.key);
203491
+ } catch {
203492
+ }
203493
+ }
203522
203494
  var BACKSTAGE_NAV = [
203523
203495
  { id: "home", label: "Home", labelKey: "pptx.backstage.nav.home" },
203524
203496
  { id: "new", label: "New", labelKey: "pptx.backstage.nav.new" },
Binary file
@@ -196757,117 +196757,6 @@ async function saveAutosaveSnapshot(filePath, data) {
196757
196757
  return putAutosaveRecord(filePath, data);
196758
196758
  }
196759
196759
  }
196760
- var AUTOSAVE_RECOVERY_WINDOW_MS = 24 * 60 * 60 * 1e3;
196761
- var CONSUMED_KEY = "pptx-viewer-recovery-consumed";
196762
- function markAutosaveSnapshotConsumed(timestamp) {
196763
- try {
196764
- if (typeof sessionStorage === "undefined" || !Number.isFinite(timestamp)) {
196765
- return;
196766
- }
196767
- const previous = consumedAutosaveSnapshotTimestamp();
196768
- if (timestamp > previous) {
196769
- sessionStorage.setItem(CONSUMED_KEY, String(timestamp));
196770
- }
196771
- } catch {
196772
- }
196773
- }
196774
- function consumedAutosaveSnapshotTimestamp() {
196775
- try {
196776
- if (typeof sessionStorage === "undefined") {
196777
- return 0;
196778
- }
196779
- const raw = sessionStorage.getItem(CONSUMED_KEY);
196780
- const value = raw === null ? Number.NaN : Number(raw);
196781
- return Number.isFinite(value) ? value : 0;
196782
- } catch {
196783
- return 0;
196784
- }
196785
- }
196786
- function shouldProbeAutosaveRecovery(input) {
196787
- return !input.alreadyChecked && input.autosaveAllowed && Boolean(input.filePath) && !input.loading && !input.error && input.slideCount > 0;
196788
- }
196789
- function formatSnapshotSize(bytes) {
196790
- if (!Number.isFinite(bytes) || bytes <= 0) {
196791
- return "0 KB";
196792
- }
196793
- if (bytes < 1024 * 1024) {
196794
- return `${Math.max(1, Math.round(bytes / 1024))} KB`;
196795
- }
196796
- return `${(bytes / (1024 * 1024)).toFixed(1)} MB`;
196797
- }
196798
- function ageKeyFor(ageMinutes) {
196799
- if (ageMinutes < 1) {
196800
- return { key: "pptx.autosave.justNow", count: 0 };
196801
- }
196802
- if (ageMinutes === 1) {
196803
- return { key: "pptx.autosave.oneMinAgo", count: 1 };
196804
- }
196805
- if (ageMinutes < 60) {
196806
- return { key: "pptx.autosave.minutesAgo", count: ageMinutes };
196807
- }
196808
- return { key: "pptx.autosave.recovery.hoursAgo", count: Math.floor(ageMinutes / 60) };
196809
- }
196810
- function autosaveRecoveryPrompt(input) {
196811
- const record2 = input.record;
196812
- if (!record2 || record2.size <= 0 || !record2.key) {
196813
- return null;
196814
- }
196815
- const age = input.now - record2.timestamp;
196816
- if (!Number.isFinite(age) || age < 0 || age >= AUTOSAVE_RECOVERY_WINDOW_MS) {
196817
- return null;
196818
- }
196819
- if (record2.timestamp <= (input.consumedTimestamp ?? 0)) {
196820
- return null;
196821
- }
196822
- const ageMinutes = Math.floor(age / 6e4);
196823
- const relative = ageKeyFor(ageMinutes);
196824
- return {
196825
- filePath: record2.key,
196826
- timestamp: record2.timestamp,
196827
- size: record2.size,
196828
- ageMinutes,
196829
- titleKey: "pptx.autosave.recovery.title",
196830
- messageKey: "pptx.autosave.recovery.message",
196831
- messageParams: { file: record2.key, size: formatSnapshotSize(record2.size) },
196832
- ageKey: relative.key,
196833
- ageParams: { count: relative.count },
196834
- restoreKey: "pptx.autosave.recovery.restore",
196835
- discardKey: "pptx.autosave.recovery.discard"
196836
- };
196837
- }
196838
- function shouldShowAutosaveRecoveryPrompt(input) {
196839
- return Boolean(input.prompt) && !input.presenting;
196840
- }
196841
- async function probeAutosaveRecovery(filePath, now = Date.now()) {
196842
- if (typeof indexedDB === "undefined") {
196843
- return null;
196844
- }
196845
- try {
196846
- const record2 = await getAutosaveSnapshot(filePath);
196847
- const prompt = autosaveRecoveryPrompt({
196848
- record: record2 ? { key: record2.key, timestamp: record2.timestamp, size: record2.size } : void 0,
196849
- now,
196850
- consumedTimestamp: consumedAutosaveSnapshotTimestamp()
196851
- });
196852
- if (!prompt || !record2) {
196853
- return null;
196854
- }
196855
- return { prompt, record: record2 };
196856
- } catch {
196857
- return null;
196858
- }
196859
- }
196860
- function acceptAutosaveRecovery(record2) {
196861
- markAutosaveSnapshotConsumed(record2.timestamp);
196862
- return record2.data instanceof Uint8Array ? record2.data : new Uint8Array(record2.data);
196863
- }
196864
- async function discardAutosaveRecovery(record2) {
196865
- markAutosaveSnapshotConsumed(record2.timestamp);
196866
- try {
196867
- await deleteAutosaveSnapshot(record2.key);
196868
- } catch {
196869
- }
196870
- }
196871
196760
  function secureRandomBytes(length) {
196872
196761
  const bytes = new Uint8Array(length);
196873
196762
  if (typeof crypto !== "undefined" && typeof crypto.getRandomValues === "function") {
@@ -197066,7 +196955,6 @@ async function restoreSessionDeck() {
197066
196955
  const snapshot = await getAutosaveSnapshot(deck.fileName);
197067
196956
  const bytes = snapshot ? toBytes(snapshot.data) : null;
197068
196957
  if (snapshot && bytes && bytes.byteLength > 0 && snapshot.timestamp > deck.timestamp) {
197069
- markAutosaveSnapshotConsumed(snapshot.timestamp);
197070
196958
  return { fileName: deck.fileName, data: bytes, timestamp: snapshot.timestamp };
197071
196959
  }
197072
196960
  } catch {
@@ -203526,6 +203414,90 @@ function resolveAutosaveIntervalMs(input) {
203526
203414
  }
203527
203415
  return AUTOSAVE_DEFAULT_INTERVAL_MS;
203528
203416
  }
203417
+ var AUTOSAVE_RECOVERY_WINDOW_MS = 24 * 60 * 60 * 1e3;
203418
+ function shouldProbeAutosaveRecovery(input) {
203419
+ return !input.alreadyChecked && input.autosaveAllowed && Boolean(input.filePath) && !input.loading && !input.error && input.slideCount > 0;
203420
+ }
203421
+ function formatSnapshotSize(bytes) {
203422
+ if (!Number.isFinite(bytes) || bytes <= 0) {
203423
+ return "0 KB";
203424
+ }
203425
+ if (bytes < 1024 * 1024) {
203426
+ return `${Math.max(1, Math.round(bytes / 1024))} KB`;
203427
+ }
203428
+ return `${(bytes / (1024 * 1024)).toFixed(1)} MB`;
203429
+ }
203430
+ function ageKeyFor(ageMinutes) {
203431
+ if (ageMinutes < 1) {
203432
+ return { key: "pptx.autosave.justNow", count: 0 };
203433
+ }
203434
+ if (ageMinutes === 1) {
203435
+ return { key: "pptx.autosave.oneMinAgo", count: 1 };
203436
+ }
203437
+ if (ageMinutes < 60) {
203438
+ return { key: "pptx.autosave.minutesAgo", count: ageMinutes };
203439
+ }
203440
+ return { key: "pptx.autosave.recovery.hoursAgo", count: Math.floor(ageMinutes / 60) };
203441
+ }
203442
+ function autosaveRecoveryPrompt(input) {
203443
+ const record2 = input.record;
203444
+ if (!record2 || record2.size <= 0 || !record2.key) {
203445
+ return null;
203446
+ }
203447
+ const age = input.now - record2.timestamp;
203448
+ if (!Number.isFinite(age) || age < 0 || age >= AUTOSAVE_RECOVERY_WINDOW_MS) {
203449
+ return null;
203450
+ }
203451
+ const ageMinutes = Math.floor(age / 6e4);
203452
+ const relative = ageKeyFor(ageMinutes);
203453
+ return {
203454
+ filePath: record2.key,
203455
+ timestamp: record2.timestamp,
203456
+ size: record2.size,
203457
+ ageMinutes,
203458
+ titleKey: "pptx.autosave.recovery.title",
203459
+ messageKey: "pptx.autosave.recovery.message",
203460
+ messageParams: {
203461
+ file: input.displayName?.trim() || record2.key,
203462
+ size: formatSnapshotSize(record2.size)
203463
+ },
203464
+ ageKey: relative.key,
203465
+ ageParams: { count: relative.count },
203466
+ restoreKey: "pptx.autosave.recovery.restore",
203467
+ discardKey: "pptx.autosave.recovery.discard"
203468
+ };
203469
+ }
203470
+ function shouldShowAutosaveRecoveryPrompt(input) {
203471
+ return Boolean(input.prompt) && !input.presenting;
203472
+ }
203473
+ async function probeAutosaveRecovery(filePath, now = Date.now(), displayName) {
203474
+ if (typeof indexedDB === "undefined") {
203475
+ return null;
203476
+ }
203477
+ try {
203478
+ const record2 = await getAutosaveSnapshot(filePath);
203479
+ const prompt = autosaveRecoveryPrompt({
203480
+ record: record2 ? { key: record2.key, timestamp: record2.timestamp, size: record2.size } : void 0,
203481
+ now,
203482
+ displayName
203483
+ });
203484
+ if (!prompt || !record2) {
203485
+ return null;
203486
+ }
203487
+ return { prompt, record: record2 };
203488
+ } catch {
203489
+ return null;
203490
+ }
203491
+ }
203492
+ function acceptAutosaveRecovery(record2) {
203493
+ return record2.data instanceof Uint8Array ? record2.data : new Uint8Array(record2.data);
203494
+ }
203495
+ async function discardAutosaveRecovery(record2) {
203496
+ try {
203497
+ await deleteAutosaveSnapshot(record2.key);
203498
+ } catch {
203499
+ }
203500
+ }
203529
203501
  var BACKSTAGE_NAV = [
203530
203502
  { id: "home", label: "Home", labelKey: "pptx.backstage.nav.home" },
203531
203503
  { id: "new", label: "New", labelKey: "pptx.backstage.nav.new" },
Binary file