pptx-react-viewer 2.18.0 → 2.19.1
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.
- package/CHANGELOG.md +712 -0
- package/dist/{AiChatPanel-SSSBERWJ.mjs → AiChatPanel-GRAIPSG3.mjs} +4 -4
- package/dist/AiChatPanel-GRAIPSG3.mjs.br +0 -0
- package/dist/AiChatPanel-GRAIPSG3.mjs.gz +0 -0
- package/dist/{AiChatPanel-UN5DHPZY.js → AiChatPanel-JSTZ6W7R.js} +24 -24
- package/dist/AiChatPanel-JSTZ6W7R.js.br +0 -0
- package/dist/AiChatPanel-JSTZ6W7R.js.gz +0 -0
- package/dist/{Model3DScene-LYEESYAI.mjs → Model3DScene-FXDA7OII.mjs} +1 -1
- package/dist/Model3DScene-FXDA7OII.mjs.br +0 -0
- package/dist/Model3DScene-FXDA7OII.mjs.gz +0 -0
- package/dist/{Model3DScene-4RPYKC2I.js → Model3DScene-WLRZXJHN.js} +2 -2
- package/dist/Model3DScene-WLRZXJHN.js.br +0 -0
- package/dist/Model3DScene-WLRZXJHN.js.gz +0 -0
- package/dist/{PowerPointViewer-Cf4YHjdF.d.ts → PowerPointViewer-DVFkeluD.d.ts} +2 -2
- package/dist/PowerPointViewer-DVFkeluD.d.ts.map +1 -0
- package/dist/{audience-content-store-CyS0oP6t.d.ts → audience-content-store-ChVOSdBh.d.ts} +2 -2
- package/dist/{audience-content-store-CyS0oP6t.d.ts.map → audience-content-store-ChVOSdBh.d.ts.map} +1 -1
- package/dist/{chunk-QUB5OSKY.mjs → chunk-5ZQ3ZQ3M.mjs} +71 -125
- package/dist/chunk-5ZQ3ZQ3M.mjs.br +0 -0
- package/dist/chunk-5ZQ3ZQ3M.mjs.gz +0 -0
- package/dist/{chunk-O7FTUUXP.mjs → chunk-B55E3KXL.mjs} +210 -92
- package/dist/chunk-B55E3KXL.mjs.br +0 -0
- package/dist/chunk-B55E3KXL.mjs.gz +0 -0
- package/dist/{chunk-7XF6S4AM.mjs → chunk-KQGS6A5J.mjs} +1 -1
- package/dist/chunk-KQGS6A5J.mjs.br +0 -0
- package/dist/chunk-KQGS6A5J.mjs.gz +0 -0
- package/dist/{chunk-ASKYZ5ZY.js → chunk-LMTUC7U7.js} +440 -494
- package/dist/chunk-LMTUC7U7.js.br +0 -0
- package/dist/chunk-LMTUC7U7.js.gz +0 -0
- package/dist/{chunk-RTUGI4HQ.js → chunk-MVKRI3CZ.js} +9 -0
- package/dist/chunk-MVKRI3CZ.js.br +0 -0
- package/dist/chunk-MVKRI3CZ.js.gz +0 -0
- package/dist/{chunk-4LWGAVAP.js → chunk-PIJAFM4B.js} +197 -2425
- package/dist/chunk-PIJAFM4B.js.br +0 -0
- package/dist/chunk-PIJAFM4B.js.gz +0 -0
- package/dist/{chunk-GODW6RNR.mjs → chunk-PNR3J26S.mjs} +1173 -1051
- package/dist/chunk-PNR3J26S.mjs.br +0 -0
- package/dist/chunk-PNR3J26S.mjs.gz +0 -0
- package/dist/{chunk-MAVLV56S.js → chunk-SCGIXXN5.js} +3 -3
- package/dist/chunk-SCGIXXN5.js.br +0 -0
- package/dist/chunk-SCGIXXN5.js.gz +0 -0
- package/dist/{chunk-SNL6LBRX.mjs → chunk-SQJBFMEX.mjs} +9 -0
- package/dist/chunk-SQJBFMEX.mjs.br +0 -0
- package/dist/chunk-SQJBFMEX.mjs.gz +0 -0
- package/dist/{chunk-WVDM36ZM.js → chunk-T7BIRNE4.js} +1185 -1067
- package/dist/chunk-T7BIRNE4.js.br +0 -0
- package/dist/chunk-T7BIRNE4.js.gz +0 -0
- package/dist/{chunk-ICZDMFF2.js → chunk-TPC65IB2.js} +1219 -1101
- package/dist/chunk-TPC65IB2.js.br +0 -0
- package/dist/chunk-TPC65IB2.js.gz +0 -0
- package/dist/{chunk-BZOL6FXF.mjs → chunk-WGXQXHCS.mjs} +52 -2280
- package/dist/chunk-WGXQXHCS.mjs.br +0 -0
- package/dist/chunk-WGXQXHCS.mjs.gz +0 -0
- package/dist/i18n.js +4 -4
- package/dist/i18n.js.br +0 -0
- package/dist/i18n.js.gz +0 -0
- package/dist/i18n.mjs +1 -1
- package/dist/i18n.mjs.br +0 -0
- package/dist/i18n.mjs.gz +0 -0
- package/dist/index.d.ts +38 -1
- package/dist/index.js +47 -47
- package/dist/index.js.br +0 -0
- package/dist/index.js.gz +0 -0
- package/dist/index.mjs +6 -6
- package/dist/index.mjs.br +0 -0
- package/dist/index.mjs.gz +0 -0
- package/dist/internals.d.ts +102 -15
- package/dist/internals.d.ts.map +1 -1
- package/dist/internals.js +79 -79
- package/dist/internals.js.br +0 -0
- package/dist/internals.js.gz +0 -0
- package/dist/internals.mjs +4 -4
- package/dist/internals.mjs.br +0 -0
- package/dist/internals.mjs.gz +0 -0
- package/dist/{types-C_CTI-QE.d.ts → types-TCH6icpi.d.ts} +23 -1
- package/dist/{types-C_CTI-QE.d.ts.map → types-TCH6icpi.d.ts.map} +1 -1
- package/dist/{useViewerBuildingBlocks-DItilDbP.d.ts → useViewerBuildingBlocks-BKb0qs1j.d.ts} +20 -4
- package/dist/{useViewerBuildingBlocks-DItilDbP.d.ts.map → useViewerBuildingBlocks-BKb0qs1j.d.ts.map} +1 -1
- package/dist/viewer/index.d.ts +38 -1
- package/dist/viewer/index.js +27 -27
- package/dist/viewer/index.js.br +0 -0
- package/dist/viewer/index.js.gz +0 -0
- package/dist/viewer/index.mjs +6 -6
- package/dist/viewer/index.mjs.br +0 -0
- package/dist/viewer/index.mjs.gz +0 -0
- package/package.json +1 -1
- package/dist/AiChatPanel-SSSBERWJ.mjs.br +0 -0
- package/dist/AiChatPanel-SSSBERWJ.mjs.gz +0 -0
- package/dist/AiChatPanel-UN5DHPZY.js.br +0 -0
- package/dist/AiChatPanel-UN5DHPZY.js.gz +0 -0
- package/dist/Model3DScene-4RPYKC2I.js.br +0 -0
- package/dist/Model3DScene-4RPYKC2I.js.gz +0 -0
- package/dist/Model3DScene-LYEESYAI.mjs.br +0 -0
- package/dist/Model3DScene-LYEESYAI.mjs.gz +0 -0
- package/dist/PowerPointViewer-Cf4YHjdF.d.ts.map +0 -1
- package/dist/SurfaceChart3DScene-ACPKCWLJ.js +0 -78
- package/dist/SurfaceChart3DScene-ACPKCWLJ.js.br +0 -0
- package/dist/SurfaceChart3DScene-ACPKCWLJ.js.gz +0 -0
- package/dist/SurfaceChart3DScene-JR62SOYO.mjs +0 -76
- package/dist/SurfaceChart3DScene-JR62SOYO.mjs.br +0 -0
- package/dist/SurfaceChart3DScene-JR62SOYO.mjs.gz +0 -0
- package/dist/chunk-4LWGAVAP.js.br +0 -0
- package/dist/chunk-4LWGAVAP.js.gz +0 -0
- package/dist/chunk-7XF6S4AM.mjs.br +0 -0
- package/dist/chunk-7XF6S4AM.mjs.gz +0 -0
- package/dist/chunk-ASKYZ5ZY.js.br +0 -0
- package/dist/chunk-ASKYZ5ZY.js.gz +0 -0
- package/dist/chunk-BZOL6FXF.mjs.br +0 -0
- package/dist/chunk-BZOL6FXF.mjs.gz +0 -0
- package/dist/chunk-GODW6RNR.mjs.br +0 -0
- package/dist/chunk-GODW6RNR.mjs.gz +0 -0
- package/dist/chunk-ICZDMFF2.js.br +0 -0
- package/dist/chunk-ICZDMFF2.js.gz +0 -0
- package/dist/chunk-MAVLV56S.js.br +0 -0
- package/dist/chunk-MAVLV56S.js.gz +0 -0
- package/dist/chunk-O7FTUUXP.mjs.br +0 -0
- package/dist/chunk-O7FTUUXP.mjs.gz +0 -0
- package/dist/chunk-QUB5OSKY.mjs.br +0 -0
- package/dist/chunk-QUB5OSKY.mjs.gz +0 -0
- package/dist/chunk-RTUGI4HQ.js.br +0 -0
- package/dist/chunk-RTUGI4HQ.js.gz +0 -0
- package/dist/chunk-SNL6LBRX.mjs.br +0 -0
- package/dist/chunk-SNL6LBRX.mjs.gz +0 -0
- package/dist/chunk-WVDM36ZM.js.br +0 -0
- package/dist/chunk-WVDM36ZM.js.gz +0 -0
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { computeFocusTargets, aiChangeAnimationCss, changeGhostStyle, createChatHistoryStore, toRenderableParts } from './chunk-
|
|
2
|
-
import { useReducedMotion, useViewerState, useViewerOptions, useIsMobile, useResizablePanels, useDerivedSlideState, useZoomViewport, useEditorHistory, usePresentationSetup, useTouchGestures, useViewerDialogs, useEditorOperations, useViewerIntegration, useLayoutSwitching, useYjsDocumentSync, useCollaborationLivePatch, useFollowMode, useBroadcastFollower, scopeLayoutOptionsToActiveSlide, useToolbarVisibility, useKeyboardInsets, useModalDismissDrag, useCollaborativeState, useVirtualizedSlides, useSwipeNavigation, useSheetDismissDrag, detectTargetType, parseEmailUrl, parseSlideFromUrl, ACTION_VERB_MAP, downloadBlob } from './chunk-
|
|
3
|
-
import { MIN_ELEMENT_SIZE, DEFAULT_STROKE_COLOR, getConnectorPathGeometry, buildLineShadowCss, buildLineGlowFilter, renderConnectorMarker, getShapeVisualStyle, getTextStyleForElement, DEFAULT_TEXT_COLOR, renderVectorShape, isConnectorOrLineElement, build3DExtrusionData, getImageRenderStyle, cn, getTextLayoutStyle, renderTableElement, renderMediaElement, shouldRenderFallbackLabel, SHAPE_PRESETS, ANIMATION_PRESET_OPTIONS, DEFAULT_FILL_COLOR, hasDagDuotoneEffect, renderDagDuotoneSvgFilter, getCropShapeClipPath, getImageTilingStyle, getDuotoneColors, getTextWarpStyle, renderTextSegments, buildReactChartViewModel, renderChartElement, buildTextBody3DSceneStyle, SLIDE_NAV_THUMBNAIL_WIDTH, DEFAULT_TEXT_FONT_SIZE, DEFAULT_FONT_FAMILY, TOOLBAR_SECTIONS, DEFAULT_SECTION_GROUP_ID, SHORTCUT_REFERENCE_ITEMS as SHORTCUT_REFERENCE_ITEMS$1, HYPERLINK_COLOR, GRID_SIZE, CONNECTOR_ARROW_OPTIONS, ARROW_SIZE_OPTIONS, startMotionPathPreview, startPreviewAnimation, stopPreviewAnimation, THEME_COLOR_SWATCHES, STROKE_DASH_OPTIONS } from './chunk-
|
|
4
|
-
import { LOCALE_CATALOG, translationsEn } from './chunk-
|
|
5
|
-
import { hasShapeProperties, normalizeHexColor, colorWithOpacity, normalizeStrokeDashType, getSvgStrokeDasharray, getCompoundLineOffsets, getCompoundLineWidths, svgLineCap, hasTextProperties, getElementTransform, getAriaRoleDescription, getAriaLabel, getAriaRole, resolveElementInteractivity, isEditableTextElement, isElementRendered, isElementActionable, getImageEffectsOpacity, getImageEffectsFilter, getElementTransformWithoutRotation, inlineElementPointerEvents, isHollowShapeElement, LINK_TOOLTIP_HOST_CLASS, ACTION_BUTTON_PRESETS, mediaTransportVisible, isInkElement, getGroupChildParentFill, getElementLabel, SWITCHABLE_LAYOUT_TYPES, DEFAULT_VIEWER_OPTIONS, compileEquationTemplateMathMl, buildUserFontFaceStyles, readStoredViewerPrefs, resolveThemeCatalogEntry, THEME_CATALOG, writeStoredViewerPrefs, openPptxFile, readBackstageRecentFile, viewerOptionsToPreferences, applyPreferenceToOptions, listAutosaveSnapshots, deleteAutosaveSnapshot, resolveAutosaveIntervalSeconds, paintedStrokeWidth, buildCssGradientFromShapeStyle, ensureActionAffordanceStyles, resolveElementActionAffordance, actionAffordanceLabels, getComputedEffectStyle, getSoftEdgeSvgFilter, buildStrokeOutline, buildHollowHitOutline, strokeOutlineViewBox, revealedSmartArtNodeCount, buildSmartArtA11y, computeSmartArtLayout, flattenNodes, buildSummaryZoomView, isImageTiled, getImageColorWashStyle, isImageLikeElement, placeCaretAtEnd, getPendingSelectionRestore, restoreSegmentSelection, getTextCompensationTransform, applyChartBuildReveal, formatAxisValue, hasPressureVariation, getInkReplayStyles, INK_REPLAY_KEYFRAMES, resolveInkColor, resolveInkWidth, resolveInkOpacity, pressuresToWidths, getContentPartReplayStyles, resolveOleType, getOleTypeColor, getOleTypeLabel, filterRenderedElements, resolveGroupChildFill, isLinkedTextBox, getOverflowSegments, shouldUseSvgWarp, getTextBodyRotationTransform, RULER_THICKNESS, RULER_FONT_SIZE, buildPreviewElements, deriveSlideFieldContext, SLIDE_TRANSITION_OPTIONS, hiddenSlideCue, HIDDEN_SLIDE_SLASH_GRADIENT, HIDDEN_SLIDE_LABEL_KEY, themeToCssVars, applyMotionPathPreset, resetSlideLayoutPath, DEFAULT_INSERT_CHART_KIND, hasCopyableFormat, templateSchemeFromTheme, createBackstagePresentation, setMasterViewBackgroundColor, printPropertiesFrameSlides, printPropertiesSlidesPerPage, VIEWER_OPTIONS_TABS, DEFAULT_QUICK_ACCESS_COMMAND_IDS, buildJoinCollaborationConfig, buildCreateCollaborationConfig, generateBroadcastRoomId, DEFAULT_BROADCAST_SERVER_URL, buildBroadcastViewerUrl, resolveTransportForServerUrl, ACTION_INDICATOR_CLASS, ACTION_INDICATOR_ICON_PATH, LINK_TOOLTIP_CLASS, LINK_TOOLTIP_PANEL_CLASS, LINK_TOOLTIP_LABEL_CLASS, LINK_TOOLTIP_HINT_CLASS, DEFAULT_PALETTE2, resolvePalette, computeDrawingViewBox, projectDrawingShapes, styleShadowFilter, resolveDrawingShapeNodeId, getImageSvgFilters, buildDuotoneCacheKey, getDuotoneCachedResult, applyDuotone, setDuotoneCachedResult, buildCacheKey, DEFAULT_COLOR_CHANGE_TOLERANCE, getCachedResult, applyColorChange, setCachedResult, findChartPartTarget, dragValueForPart, withChartPointValue, dragAnchorViewY, withChartTitle, buildSmartArt3DModel, extractPathPoints, generatePressureCircles, isBrowserOpenableMime, formatBytes, getOleBadgeLabel, openUrlInNewTab, getSubstituteFontFamily, getWarpPath, getSlideBackgroundStyle, filterCommands, resolveTitleBarStatusKey, TITLE_BAR_CLASSES, TITLE_BAR_DEFAULT_FILE_KEY, masterViewBackgroundColor, buildFieldSubstitutionContext, shouldConfirmExternalHyperlink, safeOpenUrl, isPpactionUrl, parsePpactionUrl, isPresentationAdvanceClick, toggleBlackboard, PRESENT_TOOLBAR_CLASSES, buildContextMenuEntries, themeColorSchemesEqual, EXPANDED_MAX_HEIGHT, STATUS_BAR_CLASSES, formatVersionTimestamp, formatRelativeTime, scanAvailableFontFamilies, PRESETS, CATEGORIES, convertOmmlToLatex, compileLatexEquation, convertLatexToOmml, EQUATION_TEMPLATES, clampPercent, HANDOUT_OPTIONS, TOOLBAR_TABS, SHORTCUT_REFERENCE_ITEMS, resolveViewerAddinRows, availableQuickAccessCommands, addQuickAccessCommand, removeQuickAccessCommand, moveQuickAccessCommand, CUSTOM_FONT_ACCEPT, activateModalFocus, buildCollaborationShareUrl, SORTER_MIN_ZOOM, SORTER_ZOOM_STEP, SORTER_MAX_ZOOM, canGoPrevious, formatSlideCounter, READING_VIEW_COUNTER_ATTR, canGoNext, READING_VIEW_ATTR, OUTLINE_LEVEL_ATTR, OUTLINE_SLIDE_ATTR, OUTLINE_ROW_ATTR, OUTLINE_VIEW_ATTR, mobileElapsedSince, nextPresentedSlide, presenterPrevDisabled, presenterNextDisabled, formatMobileElapsed, mobileSlideCounter, presenterPaneAdvancesOnClick, presenterTimerProgress, PRESENTER_CONSOLE_CLASSES, formatElapsed, centeredSvgTextLines, computeInlineEditorRect, findSmartArtNodeText, setSmartArtNodeStyle, rebuildDrawingShapesIfCleared, shouldCommitSmartArtNodeText, updateSmartArtNodeText, groupIntoParagraphs, substituteFieldText, extraQuickAccessCommands, TAB_ROW_ACTION_CLASSES, listBackstageRecentFiles, BACKSTAGE_NAV, INSERT_CHART_TYPES, CHARACTER_SPACING_OPTIONS, RIBBON_SHAPE_SWATCHES, shapeFillChange, shapeOutlineChange, readRibbonTransitionDraft, ribbonTransitionUpdates, playSlideTransitionPreview, RIBBON_TRANSITION_PRESETS, DEFAULT_MOTION_PATH_PRESET_ID, SLIDE_SHOW_OPTIONS, slideShowOptionChange, readSlideShowOption, SLIDE_VIRTUALIZATION_THRESHOLD, PRESENTATION_HIT_TEST_CSS, PRESENTATION_STAGE_ATTRIBUTE, getSlideTransitionAnimations, SLIDE_TRANSITION_KEYFRAMES, annotationOverlayZIndex, presentationInkPath, motionPathFor, setMotionPath, getShapeAdjustmentHandleDescriptors, PRESENTER_NAVIGATOR_LABEL_KEYS, PEN_COLORS, HIGHLIGHTER_COLORS, isBlackboardActive, slideSizeToCanvasPx, resolveSelectionPaneRename, PRESET_THEMES, normalizeSegments, createPlainNotesSegments, segmentsToEditorHtml, DEBOUNCE_MS, parseSegmentsFromRichEditor, segmentsToPlainText, getCurrentParagraphIndex, segmentsToParagraphs, paragraphsToSegments, MAX_INDENT_LEVEL, INDENT_PX, isUrlSafe, escapeHtml2, sanitizeMathMl, computeHandoutLayout, getPrintableArea, generateNoteLineCount, computeAllNotesPages, getNotesPrintableArea, QUICK_ACCESS_COMMAND_CATALOG, registerCustomFont, openReadingView, applyReadingViewCommand, createPresentationKeyBuffer, readingViewFitScale, READING_VIEW_STAGE_ATTR, buildOutline, applyOutlineEdit, mapOutlineKey, notesSegmentsToSpans, erasePresentationInkAt, movePresenterPointer, appendPresentationInkPoint, PRESENTER_CONSOLE_CONTROLS, NOTES_FONT_SIZE_DEFAULT, formatTime, NOTES_FONT_SIZE_MIN, clampNotesFontSize, NOTES_FONT_SIZE_STEP, NOTES_FONT_SIZE_MAX, BACKSTAGE_TEMPLATES, formatBackstageDate, formatBackstageSize, backstageCardsFor, DEFAULT_VIEWER_PROFILE, resolveProfileInitial, AVATAR_COLOR_SWATCHES, resolveDefaultFontFamily, buildFontCatalog, ENTRANCE_PRESET_VALUES, EMPHASIS_PRESET_VALUES, EXIT_PRESET_VALUES, MOTION_PATH_FAMILIES, motionPathFamilyLabelKey, motionPathPresetsByFamily, motionPathPresetLabelKey, masterViewPseudoSlide, authorConnectorBetweenSites, generateTicks, rulerDragToGuidePosition, getCommentMarkerPosition, collectConnectorSiteCandidates, getConnectorEndpointHandles, findConnectorSiteNear, motionPathToSvgD, motionPathEndPixel, isEditableMotionPath, setMotionPathEnd, themeColorLabel, buildThemeColorGrid, THEME_COLOR_SCHEME_KEYS, COMMON_FONTS, buildSmartArtPresetData, handleReadingViewKey, getLocalStorageUsageSummary, saveViewerProfile, clearAllLocalViewerData, isCurrentLayout, SLIDE_TEMPLATES, CONNECTOR_SITE_SNAP_PX, resolveConnectorEndpointUpdate, withConnectorEndpointUpdate, getShapeConnectionSites, isElementLocked, mergeSlideTransition, mapSlideSorterKey, isEditorTextInputTarget, clampSorterZoom, buildLayoutPreviewGeometry, buildSlideTemplateContent, elementLockTogglePatch, buildTableDataGrid, appendTableElementRow, removeLastTableElementRow, appendTableElementColumn, removeLastTableElementColumn, removeTableElementColumn, removeTableElementRow, setTableElementCellText, TABLE_STYLE_PRESETS, chartDataChangeType, setChartCategoryLabel, setChartCellValue, addChartCategory, removeChartCategory, addChartSeries, removeChartSeries, setChartAxisLogScale, setChartAxisTitleStyle, setChartAxisGridlineStyle, setChartSeriesMarker, setChartSeriesChartType, setChartDataPointFill, setChartDataPointExplosion, setChartDataPointMarker, setChartDataPointLabel, getOleObjectTypeLabel, sanitizeGradientStops, pptxActionToElementAction, withFrameSlides, withSlidesPerPage, applyThemeOverrideToSlide, COLOR_MAP_ALIAS_KEYS, DEFAULT_COLOR_MAP, schemaLabel, THEME_COLOR_SLOT_LABEL_KEYS, resolveSlideSizeSelection, SLIDE_SIZE_PRESETS, TRANSITION_VALID_DIRECTIONS, TRANSITION_ORIENTATION_TYPES, clampTransitionNumber, flattenTagCollections, formatCommentTimestamp, clearMotionPath, DIRECTIONAL_PRESETS, motionPathPresetIdForPath, computeMergeCellRight, computeMergeCellDown, computeSplitCell, SMARTART_COLOR_SCHEME_LABEL_KEYS, SMARTART_STYLE_LABEL_KEYS, addSmartArtNodeAsChild, removeSmartArtNode, clampCropValue, DUOTONE_PRESETS, ARTISTIC_EFFECTS, resolveActionType, ELEMENT_ACTION_TYPE_OPTIONS, toSlideIndex, elementActionToPptxAction, canCommitActionType, slideSizeFromPreset, withSlideSizeOrientation, TRANSITION_DIR_ARROWS, buildDirectionGrid, updateTagInCollections, deleteTagFromCollections, addTagToCollections, commentTextSegments, COMMENT_MENTION_CLASS, COMMENT_MENTION_ATTRIBUTE, animationEffectLabel, LBL, SEL, FILL_MODE_OPTIONS, SECTION_HEADING, NUM, switchSmartArtLayout, addSmartArtNode, demoteSmartArtNode, promoteSmartArtNode, reorderSmartArtNode, SHAPE_QUICK_STYLES, quickStyleSwatchCss, getPatternSvg, TEXT_WARP_PRESETS, warpPreviewPath, text3dPtToEmu, text3dEmuToPt, MATERIAL_PRESETS, GRADIENT_TYPE_OPTIONS, PATTERN_OPTIONS, FILL_PATTERN_LABEL_KEYS, openNativeEyeDropper, toggleText3dExtrusion, BEVEL_PRESETS } from './chunk-
|
|
1
|
+
import { computeFocusTargets, aiChangeAnimationCss, changeGhostStyle, createChatHistoryStore, toRenderableParts } from './chunk-KQGS6A5J.mjs';
|
|
2
|
+
import { useReducedMotion, useViewerState, useViewerOptions, useIsMobile, useResizablePanels, useDerivedSlideState, useZoomViewport, useEditorHistory, usePresentationSetup, useTouchGestures, useViewerDialogs, useEditorOperations, useViewerIntegration, useLayoutSwitching, useYjsDocumentSync, useCollaborationLivePatch, useFollowMode, useBroadcastFollower, scopeLayoutOptionsToActiveSlide, useToolbarVisibility, useKeyboardInsets, useModalDismissDrag, useCollaborativeState, useVirtualizedSlides, useSwipeNavigation, useSheetDismissDrag, detectTargetType, parseEmailUrl, parseSlideFromUrl, ACTION_VERB_MAP, downloadBlob } from './chunk-5ZQ3ZQ3M.mjs';
|
|
3
|
+
import { MIN_ELEMENT_SIZE, DEFAULT_STROKE_COLOR, getConnectorPathGeometry, buildLineShadowCss, buildLineGlowFilter, renderConnectorMarker, getShapeVisualStyle, getTextStyleForElement, DEFAULT_TEXT_COLOR, renderVectorShape, isConnectorOrLineElement, build3DExtrusionData, getImageRenderStyle, cn, getTextLayoutStyle, renderTableElement, renderMediaElement, shouldRenderFallbackLabel, SHAPE_PRESETS, ANIMATION_PRESET_OPTIONS, DEFAULT_FILL_COLOR, hasDagDuotoneEffect, renderDagDuotoneSvgFilter, getCropShapeClipPath, getImageTilingStyle, getDuotoneColors, getTextWarpStyle, renderTextSegments, buildReactChartViewModel, renderChartElement, buildTextBody3DSceneStyle, SLIDE_NAV_THUMBNAIL_WIDTH, DEFAULT_TEXT_FONT_SIZE, DEFAULT_FONT_FAMILY, TOOLBAR_SECTIONS, DEFAULT_SECTION_GROUP_ID, SHORTCUT_REFERENCE_ITEMS as SHORTCUT_REFERENCE_ITEMS$1, HYPERLINK_COLOR, GRID_SIZE, CONNECTOR_ARROW_OPTIONS, ARROW_SIZE_OPTIONS, startMotionPathPreview, startPreviewAnimation, stopPreviewAnimation, THEME_COLOR_SWATCHES, STROKE_DASH_OPTIONS } from './chunk-WGXQXHCS.mjs';
|
|
4
|
+
import { LOCALE_CATALOG, translationsEn } from './chunk-SQJBFMEX.mjs';
|
|
5
|
+
import { hasShapeProperties, normalizeHexColor, colorWithOpacity, normalizeStrokeDashType, getSvgStrokeDasharray, getCompoundLineOffsets, getCompoundLineWidths, svgLineCap, hasTextProperties, getElementTransform, getAriaRoleDescription, getAriaLabel, getAriaRole, resolveElementInteractivity, isEditableTextElement, isElementRendered, isElementActionable, getImageEffectsOpacity, getImageEffectsFilter, getElementTransformWithoutRotation, inlineElementPointerEvents, isHollowShapeElement, LINK_TOOLTIP_HOST_CLASS, ACTION_BUTTON_PRESETS, mediaTransportVisible, isInkElement, getGroupChildParentFill, getElementLabel, SWITCHABLE_LAYOUT_TYPES, DEFAULT_VIEWER_OPTIONS, compileEquationTemplateMathMl, buildUserFontFaceStyles, readStoredViewerPrefs, resolveThemeCatalogEntry, THEME_CATALOG, writeStoredViewerPrefs, openPptxFile, readBackstageRecentFile, resolveAutosaveActivation, viewerOptionsToPreferences, applyPreferenceToOptions, listAutosaveSnapshots, deleteAutosaveSnapshot, resolveAutosaveIntervalMs, resolveAutosaveIntervalSeconds, shouldShowAutosaveRecoveryPrompt, paintedStrokeWidth, buildCssGradientFromShapeStyle, ensureActionAffordanceStyles, resolveElementActionAffordance, actionAffordanceLabels, getComputedEffectStyle, getSoftEdgeSvgFilter, buildStrokeOutline, buildHollowHitOutline, strokeOutlineViewBox, revealedSmartArtNodeCount, buildSmartArtA11y, computeSmartArtLayout, flattenNodes, buildSummaryZoomView, isImageTiled, getImageColorWashStyle, isImageLikeElement, placeCaretAtEnd, getPendingSelectionRestore, restoreSegmentSelection, getTextCompensationTransform, ensureChartInteractionStyles, applyChartBuildReveal, formatAxisValue, hasPressureVariation, getInkReplayStyles, INK_REPLAY_KEYFRAMES, resolveInkColor, resolveInkWidth, resolveInkOpacity, pressuresToWidths, getContentPartReplayStyles, resolveOleType, getOleTypeColor, getOleTypeLabel, filterRenderedElements, resolveGroupChildFill, isLinkedTextBox, getOverflowSegments, shouldUseSvgWarp, getTextBodyRotationTransform, RULER_THICKNESS, RULER_FONT_SIZE, buildPreviewElements, deriveSlideFieldContext, SLIDE_TRANSITION_OPTIONS, hiddenSlideCue, HIDDEN_SLIDE_SLASH_GRADIENT, HIDDEN_SLIDE_LABEL_KEY, themeToCssVars, applyMotionPathPreset, resetSlideLayoutPath, DEFAULT_INSERT_CHART_KIND, hasCopyableFormat, templateSchemeFromTheme, createBackstagePresentation, setMasterViewBackgroundColor, printPropertiesFrameSlides, printPropertiesSlidesPerPage, VIEWER_OPTIONS_TABS, DEFAULT_QUICK_ACCESS_COMMAND_IDS, buildJoinCollaborationConfig, buildCreateCollaborationConfig, generateBroadcastRoomId, DEFAULT_BROADCAST_SERVER_URL, buildBroadcastViewerUrl, resolveTransportForServerUrl, ACTION_INDICATOR_CLASS, ACTION_INDICATOR_ICON_PATH, LINK_TOOLTIP_CLASS, LINK_TOOLTIP_PANEL_CLASS, LINK_TOOLTIP_LABEL_CLASS, LINK_TOOLTIP_HINT_CLASS, DEFAULT_PALETTE2, resolvePalette, computeDrawingViewBox, projectDrawingShapes, styleShadowFilter, resolveDrawingShapeNodeId, getImageSvgFilters, buildDuotoneCacheKey, getDuotoneCachedResult, applyDuotone, setDuotoneCachedResult, buildCacheKey, DEFAULT_COLOR_CHANGE_TOLERANCE, getCachedResult, applyColorChange, setCachedResult, findChartPartTarget, dragValueForPart, withChartPointValue, dragAnchorViewY, withChartTitle, buildSmartArt3DModel, extractPathPoints, generatePressureCircles, isBrowserOpenableMime, formatBytes, getOleBadgeLabel, openUrlInNewTab, getSubstituteFontFamily, getWarpPath, getSlideBackgroundStyle, filterCommands, resolveTitleBarStatusKey, TITLE_BAR_CLASSES, TITLE_BAR_DEFAULT_FILE_KEY, masterViewBackgroundColor, buildFieldSubstitutionContext, shouldConfirmExternalHyperlink, safeOpenUrl, isPpactionUrl, parsePpactionUrl, isPresentationAdvanceClick, toggleBlackboard, PRESENT_TOOLBAR_CLASSES, buildContextMenuEntries, themeColorSchemesEqual, EXPANDED_MAX_HEIGHT, STATUS_BAR_CLASSES, formatVersionTimestamp, formatRelativeTime, scanAvailableFontFamilies, PRESETS, CATEGORIES, convertOmmlToLatex, compileLatexEquation, convertLatexToOmml, EQUATION_TEMPLATES, clampPercent, HANDOUT_OPTIONS, TOOLBAR_TABS, SHORTCUT_REFERENCE_ITEMS, resolveViewerAddinRows, availableQuickAccessCommands, addQuickAccessCommand, removeQuickAccessCommand, moveQuickAccessCommand, CUSTOM_FONT_ACCEPT, activateModalFocus, buildCollaborationShareUrl, SORTER_MIN_ZOOM, SORTER_ZOOM_STEP, SORTER_MAX_ZOOM, canGoPrevious, formatSlideCounter, READING_VIEW_COUNTER_ATTR, canGoNext, READING_VIEW_ATTR, OUTLINE_LEVEL_ATTR, OUTLINE_SLIDE_ATTR, OUTLINE_ROW_ATTR, OUTLINE_VIEW_ATTR, mobileElapsedSince, nextPresentedSlide, presenterPrevDisabled, presenterNextDisabled, formatMobileElapsed, mobileSlideCounter, presenterPaneAdvancesOnClick, presenterTimerProgress, PRESENTER_CONSOLE_CLASSES, formatElapsed, centeredSvgTextLines, computeInlineEditorRect, findSmartArtNodeText, setSmartArtNodeStyle, rebuildDrawingShapesIfCleared, shouldCommitSmartArtNodeText, updateSmartArtNodeText, groupIntoParagraphs, substituteFieldText, extraQuickAccessCommands, TAB_ROW_ACTION_CLASSES, listBackstageRecentFiles, BACKSTAGE_NAV, INSERT_CHART_TYPES, CHARACTER_SPACING_OPTIONS, RIBBON_SHAPE_SWATCHES, shapeFillChange, shapeOutlineChange, readRibbonTransitionDraft, ribbonTransitionUpdates, playSlideTransitionPreview, RIBBON_TRANSITION_PRESETS, DEFAULT_MOTION_PATH_PRESET_ID, SLIDE_SHOW_OPTIONS, slideShowOptionChange, readSlideShowOption, SLIDE_VIRTUALIZATION_THRESHOLD, PRESENTATION_HIT_TEST_CSS, PRESENTATION_STAGE_ATTRIBUTE, getSlideTransitionAnimations, SLIDE_TRANSITION_KEYFRAMES, annotationOverlayZIndex, presentationInkPath, motionPathFor, setMotionPath, getShapeAdjustmentHandleDescriptors, PRESENTER_NAVIGATOR_LABEL_KEYS, PEN_COLORS, HIGHLIGHTER_COLORS, isBlackboardActive, slideSizeToCanvasPx, resolveSelectionPaneRename, PRESET_THEMES, normalizeSegments, createPlainNotesSegments, segmentsToEditorHtml, DEBOUNCE_MS, parseSegmentsFromRichEditor, segmentsToPlainText, getCurrentParagraphIndex, segmentsToParagraphs, paragraphsToSegments, MAX_INDENT_LEVEL, INDENT_PX, isUrlSafe, escapeHtml2, sanitizeMathMl, computeHandoutLayout, getPrintableArea, generateNoteLineCount, computeAllNotesPages, getNotesPrintableArea, QUICK_ACCESS_COMMAND_CATALOG, registerCustomFont, openReadingView, applyReadingViewCommand, createPresentationKeyBuffer, readingViewFitScale, READING_VIEW_STAGE_ATTR, buildOutline, applyOutlineEdit, mapOutlineKey, notesSegmentsToSpans, erasePresentationInkAt, movePresenterPointer, appendPresentationInkPoint, PRESENTER_CONSOLE_CONTROLS, NOTES_FONT_SIZE_DEFAULT, formatTime, NOTES_FONT_SIZE_MIN, clampNotesFontSize, NOTES_FONT_SIZE_STEP, NOTES_FONT_SIZE_MAX, BACKSTAGE_TEMPLATES, formatBackstageDate, formatBackstageSize, backstageCardsFor, DEFAULT_VIEWER_PROFILE, resolveProfileInitial, AVATAR_COLOR_SWATCHES, resolveDefaultFontFamily, buildFontCatalog, ENTRANCE_PRESET_VALUES, EMPHASIS_PRESET_VALUES, EXIT_PRESET_VALUES, MOTION_PATH_FAMILIES, motionPathFamilyLabelKey, motionPathPresetsByFamily, motionPathPresetLabelKey, masterViewPseudoSlide, authorConnectorBetweenSites, generateTicks, rulerDragToGuidePosition, getCommentMarkerPosition, collectConnectorSiteCandidates, getConnectorEndpointHandles, findConnectorSiteNear, motionPathToSvgD, motionPathEndPixel, isEditableMotionPath, setMotionPathEnd, themeColorLabel, buildThemeColorGrid, THEME_COLOR_SCHEME_KEYS, COMMON_FONTS, buildSmartArtPresetData, handleReadingViewKey, getLocalStorageUsageSummary, saveViewerProfile, clearAllLocalViewerData, isCurrentLayout, SLIDE_TEMPLATES, CONNECTOR_SITE_SNAP_PX, resolveConnectorEndpointUpdate, withConnectorEndpointUpdate, getShapeConnectionSites, isElementLocked, mergeSlideTransition, mapSlideSorterKey, isEditorTextInputTarget, clampSorterZoom, buildLayoutPreviewGeometry, buildSlideTemplateContent, elementLockTogglePatch, buildTableDataGrid, appendTableElementRow, removeLastTableElementRow, appendTableElementColumn, removeLastTableElementColumn, removeTableElementColumn, removeTableElementRow, setTableElementCellText, TABLE_STYLE_PRESETS, chartDataChangeType, setChartCategoryLabel, setChartCellValue, addChartCategory, removeChartCategory, addChartSeries, removeChartSeries, setChartAxisLogScale, setChartAxisTitleStyle, setChartAxisGridlineStyle, setChartSeriesMarker, setChartSeriesChartType, setChartDataPointFill, setChartDataPointExplosion, setChartDataPointMarker, setChartDataPointLabel, getOleObjectTypeLabel, sanitizeGradientStops, pptxActionToElementAction, withFrameSlides, withSlidesPerPage, applyThemeOverrideToSlide, COLOR_MAP_ALIAS_KEYS, DEFAULT_COLOR_MAP, schemaLabel, THEME_COLOR_SLOT_LABEL_KEYS, resolveSlideSizeSelection, SLIDE_SIZE_PRESETS, TRANSITION_VALID_DIRECTIONS, TRANSITION_ORIENTATION_TYPES, clampTransitionNumber, flattenTagCollections, formatCommentTimestamp, clearMotionPath, DIRECTIONAL_PRESETS, motionPathPresetIdForPath, computeMergeCellRight, computeMergeCellDown, computeSplitCell, SMARTART_COLOR_SCHEME_LABEL_KEYS, SMARTART_STYLE_LABEL_KEYS, addSmartArtNodeAsChild, removeSmartArtNode, clampCropValue, DUOTONE_PRESETS, ARTISTIC_EFFECTS, resolveActionType, ELEMENT_ACTION_TYPE_OPTIONS, toSlideIndex, elementActionToPptxAction, canCommitActionType, slideSizeFromPreset, withSlideSizeOrientation, TRANSITION_DIR_ARROWS, buildDirectionGrid, updateTagInCollections, deleteTagFromCollections, addTagToCollections, commentTextSegments, COMMENT_MENTION_CLASS, COMMENT_MENTION_ATTRIBUTE, animationEffectLabel, LBL, SEL, FILL_MODE_OPTIONS, SECTION_HEADING, NUM, switchSmartArtLayout, addSmartArtNode, demoteSmartArtNode, promoteSmartArtNode, reorderSmartArtNode, SHAPE_QUICK_STYLES, quickStyleSwatchCss, getPatternSvg, TEXT_WARP_PRESETS, warpPreviewPath, text3dPtToEmu, text3dEmuToPt, MATERIAL_PRESETS, GRADIENT_TYPE_OPTIONS, PATTERN_OPTIONS, FILL_PATTERN_LABEL_KEYS, openNativeEyeDropper, toggleText3dExtrusion, BEVEL_PRESETS } from './chunk-PNR3J26S.mjs';
|
|
6
6
|
import React14, { createContext, useMemo, useState, useCallback, lazy, forwardRef, useEffect, useRef, Suspense, useLayoutEffect, useContext, Fragment as Fragment$1, useDeferredValue } from 'react';
|
|
7
7
|
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
8
8
|
import { useTranslation } from 'react-i18next';
|
|
9
|
-
import { LuRotateCw, LuMessageSquare, LuEyeOff, LuSettings, LuX, LuCalendarDays, LuHash, LuText, LuCast, LuSave, LuUndo, LuRedo, LuSearch, LuShieldCheck, LuPlus, LuPanelLeftClose, LuStickyNote, LuMonitor, LuColumns2, LuPresentation, LuMinus, LuLayers, LuSettings2, LuClock, LuDownload,
|
|
9
|
+
import { LuRotateCw, LuMessageSquare, LuEyeOff, LuHistory, LuTrash2, LuSettings, LuX, LuCalendarDays, LuHash, LuText, LuCast, LuSave, LuUndo, LuRedo, LuSearch, LuShieldCheck, LuPlus, LuPanelLeftClose, LuStickyNote, LuMonitor, LuColumns2, LuPresentation, LuMinus, LuLayers, LuSettings2, LuClock, LuDownload, LuCheck, LuLock, LuEye, LuFileText, LuType, LuLoader, LuShieldAlert, LuSignature, LuInfo, LuTriangleAlert, LuPrinter, LuPenTool, LuBug, LuChevronUp, LuChevronDown, LuUpload, LuWifi, LuWifiOff, LuUsers, LuCopy, LuChevronLeft, LuChevronRight, LuPlay, LuPause, LuZoomOut, LuZoomIn, LuSpellCheck, LuFileDown, LuMenu, LuSparkles, LuShare2, LuPanelLeft, LuPanelRight, LuArrowLeft, LuFolderOpen, LuClipboardPaste, LuScissors, LuPaintbrush, LuSquare, LuImage, LuVideo, LuDatabase, LuAArrowUp, LuAArrowDown, LuRemoveFormatting, LuHighlighter, LuList, LuListOrdered, LuIndentDecrease, LuIndentIncrease, LuReplace, LuMousePointer2, LuShapes, LuPaintBucket, LuPenLine, LuPalette, LuPencil, LuStar, LuMoveRight, LuMousePointerClick, LuClock3, LuMonitorPlay, LuListVideo, LuCaptions, LuCamera, LuEraser, LuRotateCcw, LuCircleHelp, LuBookOpen, LuLanguages, LuGlobe, LuGitCompare, LuMessageSquarePlus, LuLockKeyhole, LuPanelTop, LuLayoutGrid, LuGrid3X3, LuPipette, LuRuler, LuMaximize2, LuCode, LuCaseSensitive, LuTimer, LuGripVertical, LuLoaderCircle, LuBold, LuItalic, LuUnderline, LuStrikethrough, LuLink, LuGrid2X2, LuCopyPlus, LuScan, LuMonitorOff, LuCirclePlay, LuCirclePause, LuArrowLeftRight, LuClipboardCopy, LuWand, LuTextCursorInput, LuFile, LuEllipsis, LuUserRound, LuFilePlus2, LuHouse, LuPackage, LuFileJson, LuBox, LuFileImage, LuUser, LuHardDrive, LuLogIn, LuLayoutTemplate, LuFolderPlus, LuAlignLeft, LuAlignCenter, LuAlignRight, LuAlignJustify, LuColumns3, LuSpline, LuAlignHorizontalSpaceAround, LuAlignVerticalSpaceAround, LuGroup, LuUngroup, LuMove, LuRadio, LuLockOpen, LuArrowDown, LuArrowUp, LuArrowRight, LuReply, LuBookmark } from 'react-icons/lu';
|
|
10
10
|
|
|
11
11
|
var ViewerThemeContext = createContext(void 0);
|
|
12
12
|
function ViewerThemeProvider({ theme, children }) {
|
|
@@ -479,23 +479,6 @@ function useChartPartSelection() {
|
|
|
479
479
|
return useContext(ChartPartSelectionContext);
|
|
480
480
|
}
|
|
481
481
|
var DRAG_THRESHOLD_PX = 3;
|
|
482
|
-
var STYLE_ELEMENT_ID = "pptx-chart-interaction-styles";
|
|
483
|
-
var INTERACTION_CSS = `
|
|
484
|
-
.pptx-chart-interactive svg [data-chart-part] { pointer-events: auto; cursor: pointer; }
|
|
485
|
-
.pptx-chart-interactive svg [data-chart-part]:hover { filter: brightness(1.12); }
|
|
486
|
-
.pptx-chart-interactive svg [data-chart-part='title'] { cursor: text; }
|
|
487
|
-
.pptx-chart-interactive svg .pptx-chart-part-selected { filter: drop-shadow(0 0 2.5px #3b82f6); }
|
|
488
|
-
.pptx-chart-interactive svg .pptx-chart-part-selected:hover { filter: drop-shadow(0 0 2.5px #3b82f6) brightness(1.12); }
|
|
489
|
-
`;
|
|
490
|
-
function ensureInteractionStyles() {
|
|
491
|
-
if (typeof document === "undefined" || document.getElementById(STYLE_ELEMENT_ID)) {
|
|
492
|
-
return;
|
|
493
|
-
}
|
|
494
|
-
const style = document.createElement("style");
|
|
495
|
-
style.id = STYLE_ELEMENT_ID;
|
|
496
|
-
style.textContent = INTERACTION_CSS;
|
|
497
|
-
document.head.appendChild(style);
|
|
498
|
-
}
|
|
499
482
|
function ChartElementView({
|
|
500
483
|
element,
|
|
501
484
|
editable,
|
|
@@ -514,12 +497,15 @@ function ChartElementView({
|
|
|
514
497
|
() => canEdit ? buildReactChartViewModel(element) : null,
|
|
515
498
|
[canEdit, element]
|
|
516
499
|
);
|
|
517
|
-
useEffect(
|
|
500
|
+
useEffect(ensureChartInteractionStyles, []);
|
|
518
501
|
useEffect(() => {
|
|
502
|
+
if (!onUpdateElement) {
|
|
503
|
+
return;
|
|
504
|
+
}
|
|
519
505
|
if (!canEdit && selection?.elementId === element.id) {
|
|
520
506
|
setSelection(null);
|
|
521
507
|
}
|
|
522
|
-
}, [canEdit, selection, element.id, setSelection]);
|
|
508
|
+
}, [canEdit, selection, element.id, setSelection, onUpdateElement]);
|
|
523
509
|
useEffect(() => {
|
|
524
510
|
const root = wrapperRef.current;
|
|
525
511
|
if (!root) {
|
|
@@ -2588,7 +2574,7 @@ function FailedToLoad() {
|
|
|
2588
2574
|
var LazyModel3DScene = React14.lazy(
|
|
2589
2575
|
async () => {
|
|
2590
2576
|
try {
|
|
2591
|
-
return await import('./Model3DScene-
|
|
2577
|
+
return await import('./Model3DScene-FXDA7OII.mjs');
|
|
2592
2578
|
} catch {
|
|
2593
2579
|
return { default: FailedToLoad };
|
|
2594
2580
|
}
|
|
@@ -5546,6 +5532,7 @@ function TransitionsSection(p) {
|
|
|
5546
5532
|
/* @__PURE__ */ jsx(
|
|
5547
5533
|
"select",
|
|
5548
5534
|
{
|
|
5535
|
+
"aria-label": t("pptx.ribbon.sound"),
|
|
5549
5536
|
className: "w-24 px-1.5 py-1 rounded border border-border bg-muted text-xs text-foreground disabled:opacity-50",
|
|
5550
5537
|
defaultValue: "none",
|
|
5551
5538
|
disabled: true,
|
|
@@ -5589,6 +5576,7 @@ function TransitionsSection(p) {
|
|
|
5589
5576
|
"input",
|
|
5590
5577
|
{
|
|
5591
5578
|
type: "checkbox",
|
|
5579
|
+
"aria-label": t("pptx.ribbon.afterDuration"),
|
|
5592
5580
|
disabled: !canEdit,
|
|
5593
5581
|
checked: draft.advanceAfter,
|
|
5594
5582
|
onChange: (e) => commit({ advanceAfter: e.target.checked }),
|
|
@@ -5600,6 +5588,7 @@ function TransitionsSection(p) {
|
|
|
5600
5588
|
"input",
|
|
5601
5589
|
{
|
|
5602
5590
|
type: "text",
|
|
5591
|
+
"aria-label": t("pptx.ribbon.advanceAfterSeconds"),
|
|
5603
5592
|
value: advanceBuffer ?? draft.advanceAfterText,
|
|
5604
5593
|
onChange: (e) => {
|
|
5605
5594
|
setAdvanceBuffer(e.target.value);
|
|
@@ -5786,7 +5775,7 @@ function AccountPage() {
|
|
|
5786
5775
|
return void 0;
|
|
5787
5776
|
});
|
|
5788
5777
|
};
|
|
5789
|
-
const version = "2.
|
|
5778
|
+
const version = "2.19.0" ;
|
|
5790
5779
|
return /* @__PURE__ */ jsxs("div", { className: "mt-8 max-w-[700px] space-y-6", children: [
|
|
5791
5780
|
/* @__PURE__ */ jsxs("section", { className: cardClass, children: [
|
|
5792
5781
|
/* @__PURE__ */ jsxs("h2", { className: "flex items-center gap-2 text-sm font-semibold", children: [
|
|
@@ -14683,31 +14672,17 @@ var MAX_ZOOM = SORTER_MAX_ZOOM;
|
|
|
14683
14672
|
var DEFAULT_ZOOM = 100;
|
|
14684
14673
|
var ZOOM_STEP = SORTER_ZOOM_STEP;
|
|
14685
14674
|
function useKeyboardShortcuts(params) {
|
|
14686
|
-
const
|
|
14687
|
-
|
|
14688
|
-
activeSlideIndex,
|
|
14689
|
-
canEdit,
|
|
14690
|
-
selectedSlideIds,
|
|
14691
|
-
selectedIndexes,
|
|
14692
|
-
contextMenu,
|
|
14693
|
-
setContextMenu,
|
|
14694
|
-
setSelectedSlideIds,
|
|
14695
|
-
setZoom,
|
|
14696
|
-
onClose,
|
|
14697
|
-
handleDeleteSelected,
|
|
14698
|
-
handleCopySelected,
|
|
14699
|
-
handlePaste,
|
|
14700
|
-
handleDuplicateSelected,
|
|
14701
|
-
handleSelectAll
|
|
14702
|
-
} = params;
|
|
14675
|
+
const paramsRef = useRef(params);
|
|
14676
|
+
paramsRef.current = params;
|
|
14703
14677
|
useEffect(() => {
|
|
14704
14678
|
const handleKeyDown = (e) => {
|
|
14705
|
-
|
|
14706
|
-
|
|
14679
|
+
const current = paramsRef.current;
|
|
14680
|
+
if (current.contextMenu) {
|
|
14681
|
+
current.setContextMenu(null);
|
|
14707
14682
|
}
|
|
14708
14683
|
const { action } = mapSlideSorterKey(e, {
|
|
14709
|
-
canEdit,
|
|
14710
|
-
hasMultiSelection: selectedSlideIds.length > 1,
|
|
14684
|
+
canEdit: current.canEdit,
|
|
14685
|
+
hasMultiSelection: current.selectedSlideIds.length > 1,
|
|
14711
14686
|
isTextInputTarget: isEditorTextInputTarget(e.target)
|
|
14712
14687
|
});
|
|
14713
14688
|
if (action === null) {
|
|
@@ -14716,65 +14691,49 @@ function useKeyboardShortcuts(params) {
|
|
|
14716
14691
|
switch (action) {
|
|
14717
14692
|
case "collapseSelection": {
|
|
14718
14693
|
e.stopPropagation();
|
|
14719
|
-
const activeSlide = slides[activeSlideIndex];
|
|
14720
|
-
setSelectedSlideIds(activeSlide?.id ? [activeSlide.id] : []);
|
|
14694
|
+
const activeSlide = current.slides[current.activeSlideIndex];
|
|
14695
|
+
current.setSelectedSlideIds(activeSlide?.id ? [activeSlide.id] : []);
|
|
14721
14696
|
return;
|
|
14722
14697
|
}
|
|
14723
14698
|
case "close":
|
|
14724
14699
|
e.stopPropagation();
|
|
14725
|
-
onClose();
|
|
14700
|
+
current.onClose();
|
|
14726
14701
|
return;
|
|
14727
14702
|
case "delete":
|
|
14728
14703
|
e.preventDefault();
|
|
14729
|
-
if (selectedIndexes.length > 0) {
|
|
14730
|
-
handleDeleteSelected();
|
|
14704
|
+
if (current.selectedIndexes.length > 0) {
|
|
14705
|
+
current.handleDeleteSelected();
|
|
14731
14706
|
}
|
|
14732
14707
|
return;
|
|
14733
14708
|
case "copy":
|
|
14734
14709
|
e.preventDefault();
|
|
14735
|
-
handleCopySelected();
|
|
14710
|
+
current.handleCopySelected();
|
|
14736
14711
|
return;
|
|
14737
14712
|
case "paste":
|
|
14738
14713
|
e.preventDefault();
|
|
14739
|
-
handlePaste();
|
|
14714
|
+
current.handlePaste();
|
|
14740
14715
|
return;
|
|
14741
14716
|
case "duplicate":
|
|
14742
14717
|
e.preventDefault();
|
|
14743
|
-
handleDuplicateSelected();
|
|
14718
|
+
current.handleDuplicateSelected();
|
|
14744
14719
|
return;
|
|
14745
14720
|
case "selectAll":
|
|
14746
14721
|
e.preventDefault();
|
|
14747
|
-
handleSelectAll();
|
|
14722
|
+
current.handleSelectAll();
|
|
14748
14723
|
return;
|
|
14749
14724
|
case "zoomIn":
|
|
14750
14725
|
e.preventDefault();
|
|
14751
|
-
setZoom((z) => clampSorterZoom(z + ZOOM_STEP));
|
|
14726
|
+
current.setZoom((z) => clampSorterZoom(z + ZOOM_STEP));
|
|
14752
14727
|
return;
|
|
14753
14728
|
case "zoomOut":
|
|
14754
14729
|
e.preventDefault();
|
|
14755
|
-
setZoom((z) => clampSorterZoom(z - ZOOM_STEP));
|
|
14730
|
+
current.setZoom((z) => clampSorterZoom(z - ZOOM_STEP));
|
|
14756
14731
|
break;
|
|
14757
14732
|
}
|
|
14758
14733
|
};
|
|
14759
14734
|
window.addEventListener("keydown", handleKeyDown);
|
|
14760
14735
|
return () => window.removeEventListener("keydown", handleKeyDown);
|
|
14761
|
-
}, [
|
|
14762
|
-
onClose,
|
|
14763
|
-
canEdit,
|
|
14764
|
-
selectedSlideIds,
|
|
14765
|
-
selectedIndexes,
|
|
14766
|
-
activeSlideIndex,
|
|
14767
|
-
slides,
|
|
14768
|
-
contextMenu,
|
|
14769
|
-
setContextMenu,
|
|
14770
|
-
setSelectedSlideIds,
|
|
14771
|
-
setZoom,
|
|
14772
|
-
handleDeleteSelected,
|
|
14773
|
-
handleCopySelected,
|
|
14774
|
-
handlePaste,
|
|
14775
|
-
handleDuplicateSelected,
|
|
14776
|
-
handleSelectAll
|
|
14777
|
-
]);
|
|
14736
|
+
}, []);
|
|
14778
14737
|
}
|
|
14779
14738
|
|
|
14780
14739
|
// src/viewer/components/slide-sorter/useSlideSorterState.ts
|
|
@@ -19387,6 +19346,7 @@ function MotionPathRow({
|
|
|
19387
19346
|
/* @__PURE__ */ jsxs(
|
|
19388
19347
|
"select",
|
|
19389
19348
|
{
|
|
19349
|
+
"aria-label": t("pptx.animation.motionPath.label"),
|
|
19390
19350
|
value: isCustom ? "custom" : presetId ?? "none",
|
|
19391
19351
|
onChange: (event) => onChange(event.target.value),
|
|
19392
19352
|
disabled: !canEdit,
|
|
@@ -19836,6 +19796,7 @@ function AnimationPanel({
|
|
|
19836
19796
|
/* @__PURE__ */ jsxs(
|
|
19837
19797
|
"select",
|
|
19838
19798
|
{
|
|
19799
|
+
"aria-label": t("pptx.animation.entrance"),
|
|
19839
19800
|
value: selectedElementAnimation?.entrance ?? "none",
|
|
19840
19801
|
onChange: handleEntranceChange,
|
|
19841
19802
|
disabled: !canEdit,
|
|
@@ -19852,6 +19813,7 @@ function AnimationPanel({
|
|
|
19852
19813
|
/* @__PURE__ */ jsxs(
|
|
19853
19814
|
"select",
|
|
19854
19815
|
{
|
|
19816
|
+
"aria-label": t("pptx.animation.emphasis"),
|
|
19855
19817
|
value: selectedElementAnimation?.emphasis ?? "none",
|
|
19856
19818
|
onChange: handleEmphasisChange,
|
|
19857
19819
|
disabled: !canEdit,
|
|
@@ -19868,6 +19830,7 @@ function AnimationPanel({
|
|
|
19868
19830
|
/* @__PURE__ */ jsxs(
|
|
19869
19831
|
"select",
|
|
19870
19832
|
{
|
|
19833
|
+
"aria-label": t("pptx.animation.exit"),
|
|
19871
19834
|
value: selectedElementAnimation?.exit ?? "none",
|
|
19872
19835
|
onChange: handleExitChange,
|
|
19873
19836
|
disabled: !canEdit,
|
|
@@ -19915,6 +19878,7 @@ function AnimationPanel({
|
|
|
19915
19878
|
/* @__PURE__ */ jsx(
|
|
19916
19879
|
"select",
|
|
19917
19880
|
{
|
|
19881
|
+
"aria-label": t("pptx.animation.sequence"),
|
|
19918
19882
|
value: selectedElementAnimation?.sequence ?? "asOne",
|
|
19919
19883
|
onChange: handleSequenceChange,
|
|
19920
19884
|
disabled: !canEdit,
|
|
@@ -19929,6 +19893,7 @@ function AnimationPanel({
|
|
|
19929
19893
|
/* @__PURE__ */ jsx(
|
|
19930
19894
|
"select",
|
|
19931
19895
|
{
|
|
19896
|
+
"aria-label": t("pptx.animation.trigger"),
|
|
19932
19897
|
value: selectedElementAnimation?.trigger ?? "onClick",
|
|
19933
19898
|
onChange: handleTriggerChange,
|
|
19934
19899
|
disabled: !canEdit,
|
|
@@ -19942,6 +19907,7 @@ function AnimationPanel({
|
|
|
19942
19907
|
/* @__PURE__ */ jsxs(
|
|
19943
19908
|
"select",
|
|
19944
19909
|
{
|
|
19910
|
+
"aria-label": t("pptx.animation.trigger.shapeLabel"),
|
|
19945
19911
|
value: selectedElementAnimation?.triggerShapeId ?? "",
|
|
19946
19912
|
onChange: handleTriggerShapeChange,
|
|
19947
19913
|
disabled: !canEdit,
|
|
@@ -19990,6 +19956,7 @@ function AnimationPanel({
|
|
|
19990
19956
|
/* @__PURE__ */ jsx(
|
|
19991
19957
|
"select",
|
|
19992
19958
|
{
|
|
19959
|
+
"aria-label": t("pptx.animation.timingCurve"),
|
|
19993
19960
|
value: selectedElementAnimation?.timingCurve ?? "ease",
|
|
19994
19961
|
onChange: handleTimingCurveChange,
|
|
19995
19962
|
disabled: !canEdit,
|
|
@@ -20019,6 +19986,7 @@ function AnimationPanel({
|
|
|
20019
19986
|
/* @__PURE__ */ jsx(
|
|
20020
19987
|
"select",
|
|
20021
19988
|
{
|
|
19989
|
+
"aria-label": t("pptx.animation.repeatUntil"),
|
|
20022
19990
|
value: selectedElementAnimation?.repeatMode ?? "none",
|
|
20023
19991
|
onChange: handleRepeatModeChange,
|
|
20024
19992
|
disabled: !canEdit,
|
|
@@ -20378,6 +20346,7 @@ function ChartAxisOptions({ axes, canEdit, onUpdateAxis }) {
|
|
|
20378
20346
|
/* @__PURE__ */ jsx(
|
|
20379
20347
|
"select",
|
|
20380
20348
|
{
|
|
20349
|
+
"aria-label": t("pptx.chart.displayUnits"),
|
|
20381
20350
|
disabled: !canEdit,
|
|
20382
20351
|
className: INPUT2,
|
|
20383
20352
|
value: axis.displayUnits ?? "",
|
|
@@ -20425,6 +20394,7 @@ function ChartAxisOptions({ axes, canEdit, onUpdateAxis }) {
|
|
|
20425
20394
|
/* @__PURE__ */ jsx(
|
|
20426
20395
|
"select",
|
|
20427
20396
|
{
|
|
20397
|
+
"aria-label": t("pptx.chart.tickLabels"),
|
|
20428
20398
|
disabled: !canEdit,
|
|
20429
20399
|
className: INPUT2,
|
|
20430
20400
|
value: axis.tickLblPos ?? "nextTo",
|
|
@@ -20829,6 +20799,7 @@ function ChartDataLabelOptions({
|
|
|
20829
20799
|
/* @__PURE__ */ jsx(
|
|
20830
20800
|
"select",
|
|
20831
20801
|
{
|
|
20802
|
+
"aria-label": t("pptx.chart.labelPosition"),
|
|
20832
20803
|
disabled: !canEdit,
|
|
20833
20804
|
className: INPUT2,
|
|
20834
20805
|
value: labels.position ?? "",
|
|
@@ -20864,6 +20835,7 @@ function ChartDataPointMarkerOptions({
|
|
|
20864
20835
|
/* @__PURE__ */ jsx(
|
|
20865
20836
|
"select",
|
|
20866
20837
|
{
|
|
20838
|
+
"aria-label": t("pptx.chart.series"),
|
|
20867
20839
|
disabled: !canEdit,
|
|
20868
20840
|
className: "flex-1 bg-muted border border-border rounded px-1.5 py-0.5 w-full",
|
|
20869
20841
|
value: Math.min(seriesIndex, series.length - 1),
|
|
@@ -20969,6 +20941,7 @@ function ChartDataPointOptions({
|
|
|
20969
20941
|
/* @__PURE__ */ jsx(
|
|
20970
20942
|
"select",
|
|
20971
20943
|
{
|
|
20944
|
+
"aria-label": t("pptx.chart.series"),
|
|
20972
20945
|
disabled: !canEdit,
|
|
20973
20946
|
className: INPUT2,
|
|
20974
20947
|
value: Math.min(seriesIndex, series.length - 1),
|
|
@@ -21082,6 +21055,7 @@ function ChartDisplayOptions({ style, canEdit, onUpdateStyle }) {
|
|
|
21082
21055
|
/* @__PURE__ */ jsx(
|
|
21083
21056
|
"select",
|
|
21084
21057
|
{
|
|
21058
|
+
"aria-label": t("pptx.chart.legendPosition"),
|
|
21085
21059
|
disabled: !canEdit,
|
|
21086
21060
|
className: INPUT2,
|
|
21087
21061
|
value: style.legendPosition ?? "b",
|
|
@@ -21453,6 +21427,7 @@ function ChartTypeSelector({
|
|
|
21453
21427
|
/* @__PURE__ */ jsx(
|
|
21454
21428
|
"select",
|
|
21455
21429
|
{
|
|
21430
|
+
"aria-label": t("pptx.chart.type"),
|
|
21456
21431
|
disabled: !canEdit,
|
|
21457
21432
|
className: INPUT2,
|
|
21458
21433
|
value: chartType,
|
|
@@ -21468,6 +21443,7 @@ function ChartTypeSelector({
|
|
|
21468
21443
|
/* @__PURE__ */ jsx(
|
|
21469
21444
|
"select",
|
|
21470
21445
|
{
|
|
21446
|
+
"aria-label": t("pptx.chart.grouping"),
|
|
21471
21447
|
disabled: !canEdit,
|
|
21472
21448
|
className: INPUT2,
|
|
21473
21449
|
value: grouping ?? "clustered",
|
|
@@ -21820,6 +21796,7 @@ function ConnectorArrowsSection({
|
|
|
21820
21796
|
/* @__PURE__ */ jsx(
|
|
21821
21797
|
"select",
|
|
21822
21798
|
{
|
|
21799
|
+
"aria-label": t(END_LABEL_KEYS[end].arrow),
|
|
21823
21800
|
value: selectedShapeStyle?.[key] || "none",
|
|
21824
21801
|
onChange: (e) => {
|
|
21825
21802
|
onUpdateShapeStyle({
|
|
@@ -21843,6 +21820,7 @@ function ConnectorArrowsSection({
|
|
|
21843
21820
|
/* @__PURE__ */ jsx(
|
|
21844
21821
|
"select",
|
|
21845
21822
|
{
|
|
21823
|
+
"aria-label": t(END_LABEL_KEYS[end].width),
|
|
21846
21824
|
value: selectedShapeStyle?.[widthKey] || "med",
|
|
21847
21825
|
onChange: (e) => {
|
|
21848
21826
|
onUpdateShapeStyle({
|
|
@@ -21861,6 +21839,7 @@ function ConnectorArrowsSection({
|
|
|
21861
21839
|
/* @__PURE__ */ jsx(
|
|
21862
21840
|
"select",
|
|
21863
21841
|
{
|
|
21842
|
+
"aria-label": t(END_LABEL_KEYS[end].length),
|
|
21864
21843
|
value: selectedShapeStyle?.[lengthKey] || "med",
|
|
21865
21844
|
onChange: (e) => {
|
|
21866
21845
|
onUpdateShapeStyle({
|
|
@@ -23053,6 +23032,7 @@ function MediaPlaybackBookmarks({
|
|
|
23053
23032
|
/* @__PURE__ */ jsxs(
|
|
23054
23033
|
"select",
|
|
23055
23034
|
{
|
|
23035
|
+
"aria-label": t("pptx.media.speed"),
|
|
23056
23036
|
disabled: !canEdit,
|
|
23057
23037
|
className: `${INPUT4} text-[11px] max-w-[100px]`,
|
|
23058
23038
|
value: element.playbackSpeed ?? 1,
|
|
@@ -23128,6 +23108,7 @@ function MediaPlaybackBookmarks({
|
|
|
23128
23108
|
/* @__PURE__ */ jsxs(
|
|
23129
23109
|
"select",
|
|
23130
23110
|
{
|
|
23111
|
+
"aria-label": t("pptx.media.startTrigger"),
|
|
23131
23112
|
disabled: !canEdit,
|
|
23132
23113
|
className: "text-[11px] bg-transparent border border-border rounded px-1 py-0.5",
|
|
23133
23114
|
value: element.autoPlay ? "auto" : "onClick",
|
|
@@ -24127,14 +24108,36 @@ var safeNum = (raw, fallback) => {
|
|
|
24127
24108
|
const n = Number(raw);
|
|
24128
24109
|
return Number.isFinite(n) ? n : fallback;
|
|
24129
24110
|
};
|
|
24130
|
-
|
|
24111
|
+
function SelectRow({
|
|
24112
|
+
label,
|
|
24113
|
+
value,
|
|
24114
|
+
span2,
|
|
24115
|
+
options,
|
|
24116
|
+
onChange
|
|
24117
|
+
}) {
|
|
24131
24118
|
const { t } = useTranslation();
|
|
24132
24119
|
return /* @__PURE__ */ jsxs("label", { className: `flex flex-col gap-1 ${span2 ? COL2 : ""}`, children: [
|
|
24133
24120
|
/* @__PURE__ */ jsx("span", { className: LBL2, children: label }),
|
|
24134
|
-
/* @__PURE__ */ jsx(
|
|
24121
|
+
/* @__PURE__ */ jsx(
|
|
24122
|
+
"select",
|
|
24123
|
+
{
|
|
24124
|
+
"aria-label": label,
|
|
24125
|
+
value,
|
|
24126
|
+
onChange: (e) => onChange(e.target.value),
|
|
24127
|
+
className: SEL2,
|
|
24128
|
+
children: options.map((o) => /* @__PURE__ */ jsx("option", { value: o.value, children: o.i18nKey ? t(o.i18nKey) : o.label }, o.value))
|
|
24129
|
+
}
|
|
24130
|
+
)
|
|
24135
24131
|
] });
|
|
24136
|
-
}
|
|
24137
|
-
|
|
24132
|
+
}
|
|
24133
|
+
function ColorPickerRow({
|
|
24134
|
+
label,
|
|
24135
|
+
value,
|
|
24136
|
+
disabled,
|
|
24137
|
+
prefix,
|
|
24138
|
+
recentColors,
|
|
24139
|
+
onChange
|
|
24140
|
+
}) {
|
|
24138
24141
|
const { t } = useTranslation();
|
|
24139
24142
|
const handleEyedropper = async () => {
|
|
24140
24143
|
const color = await openNativeEyeDropper();
|
|
@@ -24200,8 +24203,14 @@ var ColorPickerRow = ({ label, value, disabled, prefix, recentColors, onChange }
|
|
|
24200
24203
|
))
|
|
24201
24204
|
] })
|
|
24202
24205
|
] });
|
|
24203
|
-
}
|
|
24204
|
-
|
|
24206
|
+
}
|
|
24207
|
+
function GradientStopRow({
|
|
24208
|
+
stop,
|
|
24209
|
+
index,
|
|
24210
|
+
total,
|
|
24211
|
+
onUpdate,
|
|
24212
|
+
allStops
|
|
24213
|
+
}) {
|
|
24205
24214
|
const { t } = useTranslation();
|
|
24206
24215
|
const patchStop = (patch) => {
|
|
24207
24216
|
const next = allStops.map((s, i) => i === index ? { ...s, ...patch } : s);
|
|
@@ -24259,8 +24268,12 @@ var GradientStopRow = ({ stop, index, total, onUpdate, allStops }) => {
|
|
|
24259
24268
|
] })
|
|
24260
24269
|
] })
|
|
24261
24270
|
] });
|
|
24262
|
-
}
|
|
24263
|
-
|
|
24271
|
+
}
|
|
24272
|
+
function EffectField({
|
|
24273
|
+
field,
|
|
24274
|
+
style,
|
|
24275
|
+
onUpdate
|
|
24276
|
+
}) {
|
|
24264
24277
|
const { t } = useTranslation();
|
|
24265
24278
|
const fieldLabel = field.i18nKey ? t(field.i18nKey) : field.label;
|
|
24266
24279
|
const val = field.read(style);
|
|
@@ -24271,6 +24284,7 @@ var EffectField = ({ field, style, onUpdate }) => {
|
|
|
24271
24284
|
/* @__PURE__ */ jsx(
|
|
24272
24285
|
"select",
|
|
24273
24286
|
{
|
|
24287
|
+
"aria-label": fieldLabel,
|
|
24274
24288
|
value: String(val),
|
|
24275
24289
|
onChange: (e) => {
|
|
24276
24290
|
const result = field.write(e.target.value, style);
|
|
@@ -24354,7 +24368,7 @@ var EffectField = ({ field, style, onUpdate }) => {
|
|
|
24354
24368
|
}
|
|
24355
24369
|
)
|
|
24356
24370
|
] });
|
|
24357
|
-
}
|
|
24371
|
+
}
|
|
24358
24372
|
function FillAdvancedControls({
|
|
24359
24373
|
style,
|
|
24360
24374
|
gradientStops,
|
|
@@ -24632,6 +24646,7 @@ function StrokeEffectsSection({
|
|
|
24632
24646
|
/* @__PURE__ */ jsx(
|
|
24633
24647
|
"select",
|
|
24634
24648
|
{
|
|
24649
|
+
"aria-label": t("pptx.strokeEffects.strokeDash"),
|
|
24635
24650
|
value: style?.strokeDash || "solid",
|
|
24636
24651
|
onChange: (e) => onUpdateShapeStyle({
|
|
24637
24652
|
strokeDash: e.target.value
|
|
@@ -24917,6 +24932,7 @@ function Text3DProperties({
|
|
|
24917
24932
|
/* @__PURE__ */ jsx(
|
|
24918
24933
|
"select",
|
|
24919
24934
|
{
|
|
24935
|
+
"aria-label": t("pptx.text3d.material"),
|
|
24920
24936
|
value: t3d?.presetMaterial ?? "",
|
|
24921
24937
|
onChange: (e) => {
|
|
24922
24938
|
const v = e.target.value;
|
|
@@ -24949,6 +24965,7 @@ function BevelSection({
|
|
|
24949
24965
|
/* @__PURE__ */ jsx(
|
|
24950
24966
|
"select",
|
|
24951
24967
|
{
|
|
24968
|
+
"aria-label": t("pptx.text3d.bevelType"),
|
|
24952
24969
|
value: bevelType ?? "none",
|
|
24953
24970
|
onChange: (e) => onTypeChange(e.target.value),
|
|
24954
24971
|
className: INPUT_CLS2,
|
|
@@ -25073,6 +25090,7 @@ function AdvancedTextFormatting({
|
|
|
25073
25090
|
/* @__PURE__ */ jsx(
|
|
25074
25091
|
"select",
|
|
25075
25092
|
{
|
|
25093
|
+
"aria-label": t("pptx.textProperties.underlineStyle"),
|
|
25076
25094
|
value: ts?.underlineStyle || "sng",
|
|
25077
25095
|
disabled: !canEdit,
|
|
25078
25096
|
onChange: (e) => onUpdateTextStyle({
|
|
@@ -26630,6 +26648,7 @@ function TableCellPatternFill({
|
|
|
26630
26648
|
/* @__PURE__ */ jsx(
|
|
26631
26649
|
"select",
|
|
26632
26650
|
{
|
|
26651
|
+
"aria-label": t("pptx.table.patternPreset"),
|
|
26633
26652
|
disabled: !canEdit,
|
|
26634
26653
|
className: SEL,
|
|
26635
26654
|
value: cellStyle.patternFillPreset ?? "ltDnDiag",
|
|
@@ -26704,6 +26723,7 @@ function TableCellAdvancedFill({
|
|
|
26704
26723
|
/* @__PURE__ */ jsx(
|
|
26705
26724
|
"select",
|
|
26706
26725
|
{
|
|
26726
|
+
"aria-label": t("pptx.table.fillMode"),
|
|
26707
26727
|
disabled: !canEdit,
|
|
26708
26728
|
className: SEL,
|
|
26709
26729
|
value: fillMode,
|
|
@@ -26779,6 +26799,7 @@ function GradientControls({
|
|
|
26779
26799
|
/* @__PURE__ */ jsx(
|
|
26780
26800
|
"select",
|
|
26781
26801
|
{
|
|
26802
|
+
"aria-label": t("pptx.table.gradientType"),
|
|
26782
26803
|
disabled: !canEdit,
|
|
26783
26804
|
className: SEL,
|
|
26784
26805
|
value: gradType,
|
|
@@ -28114,6 +28135,7 @@ function SlideSizeCard({
|
|
|
28114
28135
|
/* @__PURE__ */ jsxs(
|
|
28115
28136
|
"select",
|
|
28116
28137
|
{
|
|
28138
|
+
"aria-label": t("pptx.slideSize.presets"),
|
|
28117
28139
|
"data-pptx-slide-size-preset": true,
|
|
28118
28140
|
disabled: presetDisabled,
|
|
28119
28141
|
className: INPUT,
|
|
@@ -28131,6 +28153,7 @@ function SlideSizeCard({
|
|
|
28131
28153
|
/* @__PURE__ */ jsxs(
|
|
28132
28154
|
"select",
|
|
28133
28155
|
{
|
|
28156
|
+
"aria-label": t("pptx.slideSize.orientation"),
|
|
28134
28157
|
"data-pptx-slide-size-orientation": true,
|
|
28135
28158
|
disabled: presetDisabled,
|
|
28136
28159
|
className: INPUT,
|
|
@@ -28195,6 +28218,7 @@ function PresentationSettingsCard({
|
|
|
28195
28218
|
/* @__PURE__ */ jsxs(
|
|
28196
28219
|
"select",
|
|
28197
28220
|
{
|
|
28221
|
+
"aria-label": t("pptx.presentationSettings.showType"),
|
|
28198
28222
|
disabled: !canEdit,
|
|
28199
28223
|
className: cn(INPUT, "w-28"),
|
|
28200
28224
|
value: presentationProperties.showType ?? "presented",
|
|
@@ -28286,6 +28310,7 @@ function ThemeSelectorCard({
|
|
|
28286
28310
|
/* @__PURE__ */ jsx(
|
|
28287
28311
|
"select",
|
|
28288
28312
|
{
|
|
28313
|
+
"aria-label": t("pptx.documentProperties.themeHeading"),
|
|
28289
28314
|
disabled: themeOptions.length === 0,
|
|
28290
28315
|
className: INPUT,
|
|
28291
28316
|
value: selectedThemePath,
|
|
@@ -34636,7 +34661,7 @@ ${url}`)) {
|
|
|
34636
34661
|
var AiChatPanel = lazy(async () => {
|
|
34637
34662
|
const [{ useChat }, { default: Panel }] = await Promise.all([
|
|
34638
34663
|
import('@ai-sdk/react'),
|
|
34639
|
-
import('./AiChatPanel-
|
|
34664
|
+
import('./AiChatPanel-GRAIPSG3.mjs')
|
|
34640
34665
|
]);
|
|
34641
34666
|
function BoundAiChatPanel(props) {
|
|
34642
34667
|
return /* @__PURE__ */ jsx(Panel, { ...props, useChat });
|
|
@@ -34849,6 +34874,7 @@ function ThemeColorSchemeEditor({
|
|
|
34849
34874
|
/* @__PURE__ */ jsxs(
|
|
34850
34875
|
"select",
|
|
34851
34876
|
{
|
|
34877
|
+
"aria-label": t("pptx.themeEditor.headingFont"),
|
|
34852
34878
|
className: THEME_EDITOR_INPUT,
|
|
34853
34879
|
disabled: !canEdit,
|
|
34854
34880
|
value: COMMON_FONTS.includes(majorFont) ? majorFont : "__custom__",
|
|
@@ -34869,6 +34895,7 @@ function ThemeColorSchemeEditor({
|
|
|
34869
34895
|
/* @__PURE__ */ jsxs(
|
|
34870
34896
|
"select",
|
|
34871
34897
|
{
|
|
34898
|
+
"aria-label": t("pptx.themeEditor.bodyFont"),
|
|
34872
34899
|
className: THEME_EDITOR_INPUT,
|
|
34873
34900
|
disabled: !canEdit,
|
|
34874
34901
|
value: COMMON_FONTS.includes(minorFont) ? minorFont : "__custom__",
|
|
@@ -35921,6 +35948,69 @@ function ViewerMainContent(props) {
|
|
|
35921
35948
|
)
|
|
35922
35949
|
] }) });
|
|
35923
35950
|
}
|
|
35951
|
+
function AutosaveRecoveryDialog({
|
|
35952
|
+
prompt,
|
|
35953
|
+
onRestore,
|
|
35954
|
+
onDiscard
|
|
35955
|
+
}) {
|
|
35956
|
+
const { t } = useTranslation();
|
|
35957
|
+
if (!prompt) {
|
|
35958
|
+
return null;
|
|
35959
|
+
}
|
|
35960
|
+
const title = t(prompt.titleKey);
|
|
35961
|
+
const when = t(prompt.ageKey, prompt.ageParams);
|
|
35962
|
+
return /* @__PURE__ */ jsx(
|
|
35963
|
+
"div",
|
|
35964
|
+
{
|
|
35965
|
+
style: { zIndex: 1200 },
|
|
35966
|
+
className: "fixed inset-0 flex items-center justify-center bg-black/50",
|
|
35967
|
+
"data-pptx-autosave-recovery": "true",
|
|
35968
|
+
children: /* @__PURE__ */ jsxs(
|
|
35969
|
+
"div",
|
|
35970
|
+
{
|
|
35971
|
+
role: "dialog",
|
|
35972
|
+
"aria-modal": "true",
|
|
35973
|
+
"aria-label": title,
|
|
35974
|
+
className: "bg-background border border-border rounded-lg shadow-xl w-[440px] max-w-[90vw] p-6",
|
|
35975
|
+
children: [
|
|
35976
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3 mb-3", children: [
|
|
35977
|
+
/* @__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" }) }),
|
|
35978
|
+
/* @__PURE__ */ jsx("h2", { className: "text-base font-semibold text-foreground", children: title })
|
|
35979
|
+
] }),
|
|
35980
|
+
/* @__PURE__ */ jsx("p", { className: "text-sm text-muted-foreground", children: t(prompt.messageKey, prompt.messageParams) }),
|
|
35981
|
+
/* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground mt-2", children: t("pptx.autosave.recovery.savedLabel", { when }) }),
|
|
35982
|
+
/* @__PURE__ */ jsxs("div", { className: "flex justify-end gap-2 mt-6", children: [
|
|
35983
|
+
/* @__PURE__ */ jsxs(
|
|
35984
|
+
"button",
|
|
35985
|
+
{
|
|
35986
|
+
type: "button",
|
|
35987
|
+
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",
|
|
35988
|
+
onClick: onDiscard,
|
|
35989
|
+
children: [
|
|
35990
|
+
/* @__PURE__ */ jsx(LuTrash2, { className: "w-4 h-4" }),
|
|
35991
|
+
t(prompt.discardKey)
|
|
35992
|
+
]
|
|
35993
|
+
}
|
|
35994
|
+
),
|
|
35995
|
+
/* @__PURE__ */ jsxs(
|
|
35996
|
+
"button",
|
|
35997
|
+
{
|
|
35998
|
+
type: "button",
|
|
35999
|
+
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",
|
|
36000
|
+
onClick: onRestore,
|
|
36001
|
+
children: [
|
|
36002
|
+
/* @__PURE__ */ jsx(LuHistory, { className: "w-4 h-4" }),
|
|
36003
|
+
t(prompt.restoreKey)
|
|
36004
|
+
]
|
|
36005
|
+
}
|
|
36006
|
+
)
|
|
36007
|
+
] })
|
|
36008
|
+
]
|
|
36009
|
+
}
|
|
36010
|
+
)
|
|
36011
|
+
}
|
|
36012
|
+
);
|
|
36013
|
+
}
|
|
35924
36014
|
var ToggleRow = ({ checked, onChange, icon, label }) => /* @__PURE__ */ jsxs("label", { className: "flex items-center gap-2.5 cursor-pointer group select-none", children: [
|
|
35925
36015
|
/* @__PURE__ */ jsxs("span", { className: "relative flex items-center justify-center w-4 h-4", children: [
|
|
35926
36016
|
/* @__PURE__ */ jsx(
|
|
@@ -37609,6 +37699,8 @@ var PowerPointViewer = forwardRef(
|
|
|
37609
37699
|
filePath,
|
|
37610
37700
|
fileName,
|
|
37611
37701
|
canEdit = false,
|
|
37702
|
+
autosave: hostAutosave,
|
|
37703
|
+
autosaveIntervalMs: hostAutosaveIntervalMs,
|
|
37612
37704
|
onContentChange,
|
|
37613
37705
|
onDirtyChange,
|
|
37614
37706
|
onActiveSlideChange,
|
|
@@ -37729,6 +37821,12 @@ var PowerPointViewer = forwardRef(
|
|
|
37729
37821
|
const [isSettingsOpen, setIsSettingsOpen] = useState(false);
|
|
37730
37822
|
const [isHeaderFooterOpen, setIsHeaderFooterOpen] = useState(false);
|
|
37731
37823
|
const [autosaveEnabled, setAutosaveEnabled] = useState(true);
|
|
37824
|
+
const autosaveActivation = resolveAutosaveActivation({
|
|
37825
|
+
hostAutosave,
|
|
37826
|
+
userEnabled: autosaveEnabled,
|
|
37827
|
+
canEdit,
|
|
37828
|
+
filePath
|
|
37829
|
+
});
|
|
37732
37830
|
const [isShareDialogOpen, setIsShareDialogOpen] = useState(false);
|
|
37733
37831
|
const { reducedMotion, toggleReducedMotion } = useReducedMotion();
|
|
37734
37832
|
const state = useViewerState({ content, canEdit });
|
|
@@ -38010,6 +38108,7 @@ var PowerPointViewer = forwardRef(
|
|
|
38010
38108
|
handleEnterPresenterView,
|
|
38011
38109
|
handleEnterRehearsalMode,
|
|
38012
38110
|
autosaveStatus,
|
|
38111
|
+
recovery,
|
|
38013
38112
|
isEncryptedDialogOpen,
|
|
38014
38113
|
setIsEncryptedDialogOpen,
|
|
38015
38114
|
handlerRef,
|
|
@@ -38026,10 +38125,14 @@ var PowerPointViewer = forwardRef(
|
|
|
38026
38125
|
gridSpacingPx,
|
|
38027
38126
|
content,
|
|
38028
38127
|
filePath,
|
|
38029
|
-
autosaveEnabled,
|
|
38030
|
-
|
|
38031
|
-
//
|
|
38032
|
-
|
|
38128
|
+
autosaveEnabled: autosaveActivation.active,
|
|
38129
|
+
autosaveAllowed: hostAutosave !== false,
|
|
38130
|
+
// Host prop first (an explicit policy), else File > Options > Save >
|
|
38131
|
+
// "Save AutoRecover information every N minutes", else the shared 120s.
|
|
38132
|
+
autosaveIntervalMs: resolveAutosaveIntervalMs({
|
|
38133
|
+
hostIntervalMs: hostAutosaveIntervalMs,
|
|
38134
|
+
optionsIntervalSeconds: resolveAutosaveIntervalSeconds(viewerOptions)
|
|
38135
|
+
}),
|
|
38033
38136
|
canEdit,
|
|
38034
38137
|
mode,
|
|
38035
38138
|
slides,
|
|
@@ -38162,8 +38265,12 @@ var PowerPointViewer = forwardRef(
|
|
|
38162
38265
|
onOpenRecentFile: handleOpenRecentFile,
|
|
38163
38266
|
fileName,
|
|
38164
38267
|
autosaveStatus,
|
|
38165
|
-
autosaveEnabled,
|
|
38166
|
-
onToggleAutosave: () =>
|
|
38268
|
+
autosaveEnabled: autosaveActivation.active,
|
|
38269
|
+
onToggleAutosave: () => {
|
|
38270
|
+
if (autosaveActivation.toggleAvailable) {
|
|
38271
|
+
setAutosaveEnabled((p) => !p);
|
|
38272
|
+
}
|
|
38273
|
+
},
|
|
38167
38274
|
hiddenActions,
|
|
38168
38275
|
aiEnabled: Boolean(ai),
|
|
38169
38276
|
isAiPanelOpen: aiPanel.isOpen,
|
|
@@ -38281,6 +38388,17 @@ var PowerPointViewer = forwardRef(
|
|
|
38281
38388
|
onDiscardAnnotations: handleDiscardAnnotations
|
|
38282
38389
|
}
|
|
38283
38390
|
),
|
|
38391
|
+
/* @__PURE__ */ jsx(
|
|
38392
|
+
AutosaveRecoveryDialog,
|
|
38393
|
+
{
|
|
38394
|
+
prompt: shouldShowAutosaveRecoveryPrompt({
|
|
38395
|
+
prompt: recovery.prompt,
|
|
38396
|
+
presenting: mode === "present"
|
|
38397
|
+
}) ? recovery.prompt : null,
|
|
38398
|
+
onRestore: recovery.restore,
|
|
38399
|
+
onDiscard: recovery.discard
|
|
38400
|
+
}
|
|
38401
|
+
),
|
|
38284
38402
|
/* @__PURE__ */ jsx(
|
|
38285
38403
|
SettingsDialog,
|
|
38286
38404
|
{
|