pptx-react-viewer 3.5.4 → 3.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +25 -0
- package/dist/{AiChatPanel-CCJNQGER.mjs → AiChatPanel-L5QGWVZK.mjs} +4 -4
- package/dist/AiChatPanel-L5QGWVZK.mjs.br +0 -0
- package/dist/AiChatPanel-L5QGWVZK.mjs.gz +0 -0
- package/dist/{AiChatPanel-LPZWDNVU.js → AiChatPanel-M3AHKYPS.js} +25 -25
- package/dist/AiChatPanel-M3AHKYPS.js.br +0 -0
- package/dist/AiChatPanel-M3AHKYPS.js.gz +0 -0
- package/dist/{Area3DChartScene-P6YM6ZL7.mjs → Area3DChartScene-AE2XYKDW.mjs} +1 -1
- package/dist/Area3DChartScene-AE2XYKDW.mjs.br +1 -0
- package/dist/Area3DChartScene-AE2XYKDW.mjs.gz +0 -0
- package/dist/{Area3DChartScene-LJCWBNQ3.js → Area3DChartScene-ZQLQK6L4.js} +2 -2
- package/dist/Area3DChartScene-ZQLQK6L4.js.br +0 -0
- package/dist/Area3DChartScene-ZQLQK6L4.js.gz +0 -0
- package/dist/{Bar3DChartScene-DIVOJURZ.mjs → Bar3DChartScene-FQV62XOI.mjs} +1 -1
- package/dist/Bar3DChartScene-FQV62XOI.mjs.br +2 -0
- package/dist/Bar3DChartScene-FQV62XOI.mjs.gz +0 -0
- package/dist/{Bar3DChartScene-7DNQ4X5T.js → Bar3DChartScene-TZ6ADFBS.js} +2 -2
- package/dist/Bar3DChartScene-TZ6ADFBS.js.br +0 -0
- package/dist/Bar3DChartScene-TZ6ADFBS.js.gz +0 -0
- package/dist/{Line3DChartScene-UF6DHP36.js → Line3DChartScene-5CKPAX63.js} +2 -2
- package/dist/Line3DChartScene-5CKPAX63.js.br +0 -0
- package/dist/Line3DChartScene-5CKPAX63.js.gz +0 -0
- package/dist/{Line3DChartScene-ZZVNUKIJ.mjs → Line3DChartScene-FEUY3PCE.mjs} +1 -1
- package/dist/Line3DChartScene-FEUY3PCE.mjs.br +1 -0
- package/dist/Line3DChartScene-FEUY3PCE.mjs.gz +0 -0
- package/dist/{Model3DScene-C7MZ22DH.js → Model3DScene-BLXEALM6.js} +2 -2
- package/dist/Model3DScene-BLXEALM6.js.br +0 -0
- package/dist/Model3DScene-BLXEALM6.js.gz +0 -0
- package/dist/{Model3DScene-XXMAAKBR.mjs → Model3DScene-V3DHIISV.mjs} +1 -1
- package/dist/Model3DScene-V3DHIISV.mjs.br +0 -0
- package/dist/Model3DScene-V3DHIISV.mjs.gz +0 -0
- package/dist/{PieChart3DScene-N2Y25VG5.js → PieChart3DScene-GHHT3PDV.js} +2 -2
- package/dist/PieChart3DScene-GHHT3PDV.js.br +0 -0
- package/dist/PieChart3DScene-GHHT3PDV.js.gz +0 -0
- package/dist/{PieChart3DScene-7LX3IL2Q.mjs → PieChart3DScene-VZI2VARG.mjs} +1 -1
- package/dist/{PieChart3DScene-7LX3IL2Q.mjs.br → PieChart3DScene-VZI2VARG.mjs.br} +0 -0
- package/dist/PieChart3DScene-VZI2VARG.mjs.gz +0 -0
- package/dist/PowerPointViewer-Cl6jBPNw.d.ts.map +1 -1
- package/dist/{SurfaceChart3DScene-ADA7NUIW.mjs → SurfaceChart3DScene-T36E2HBA.mjs} +1 -1
- package/dist/SurfaceChart3DScene-T36E2HBA.mjs.br +0 -0
- package/dist/SurfaceChart3DScene-T36E2HBA.mjs.gz +0 -0
- package/dist/{SurfaceChart3DScene-WXJHYOGJ.js → SurfaceChart3DScene-WWIMQ65D.js} +2 -2
- package/dist/SurfaceChart3DScene-WWIMQ65D.js.br +0 -0
- package/dist/SurfaceChart3DScene-WWIMQ65D.js.gz +0 -0
- package/dist/{chunk-UOMFINNJ.js → chunk-3EJFZ7TE.js} +33 -5
- package/dist/chunk-3EJFZ7TE.js.br +0 -0
- package/dist/chunk-3EJFZ7TE.js.gz +0 -0
- package/dist/{chunk-YQOK4E2A.js → chunk-DCNHUEWQ.js} +35917 -23497
- package/dist/chunk-DCNHUEWQ.js.br +0 -0
- package/dist/chunk-DCNHUEWQ.js.gz +0 -0
- package/dist/{chunk-JCJ3EPG6.mjs → chunk-FGTMS7LR.mjs} +14 -23
- package/dist/chunk-FGTMS7LR.mjs.br +0 -0
- package/dist/chunk-FGTMS7LR.mjs.gz +0 -0
- package/dist/{chunk-U52MKWVA.mjs → chunk-JANUSAEK.mjs} +189 -225
- package/dist/chunk-JANUSAEK.mjs.br +0 -0
- package/dist/chunk-JANUSAEK.mjs.gz +0 -0
- package/dist/{chunk-NM652EZS.mjs → chunk-NV55GU5V.mjs} +35881 -23494
- package/dist/chunk-NV55GU5V.mjs.br +0 -0
- package/dist/chunk-NV55GU5V.mjs.gz +0 -0
- package/dist/{chunk-2FMQ7M3L.js → chunk-OBE4TB76.js} +494 -575
- package/dist/chunk-OBE4TB76.js.br +0 -0
- package/dist/chunk-OBE4TB76.js.gz +0 -0
- package/dist/{chunk-EVVWCF2M.mjs → chunk-PC62KGU3.mjs} +67 -148
- package/dist/chunk-PC62KGU3.mjs.br +0 -0
- package/dist/chunk-PC62KGU3.mjs.gz +0 -0
- package/dist/{chunk-HHJZK26I.js → chunk-TUSALM3A.js} +1603 -1310
- package/dist/chunk-TUSALM3A.js.br +0 -0
- package/dist/chunk-TUSALM3A.js.gz +0 -0
- package/dist/{chunk-IWQSAKPM.mjs → chunk-TXY2E7VQ.mjs} +445 -152
- package/dist/chunk-TXY2E7VQ.mjs.br +0 -0
- package/dist/chunk-TXY2E7VQ.mjs.gz +0 -0
- package/dist/{chunk-UTMTXJGM.js → chunk-VIFDZIVX.js} +375 -412
- package/dist/chunk-VIFDZIVX.js.br +0 -0
- package/dist/chunk-VIFDZIVX.js.gz +0 -0
- package/dist/{chunk-UTIMT5CZ.js → chunk-W24OJ7H5.js} +14 -23
- package/dist/chunk-W24OJ7H5.js.br +0 -0
- package/dist/chunk-W24OJ7H5.js.gz +0 -0
- package/dist/{chunk-IVPT3U5C.mjs → chunk-WKODF5ZU.mjs} +29 -1
- package/dist/chunk-WKODF5ZU.mjs.br +0 -0
- package/dist/chunk-WKODF5ZU.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 +1012 -45
- 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 +1023 -45
- 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/{useViewerBuildingBlocks-f6oNGKMX.d.ts → useViewerBuildingBlocks-C8F_4Pzb.d.ts} +3 -1
- package/dist/useViewerBuildingBlocks-C8F_4Pzb.d.ts.map +1 -0
- package/dist/viewer/index.d.ts +933 -45
- 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 +2 -2
- package/dist/AiChatPanel-CCJNQGER.mjs.br +0 -0
- package/dist/AiChatPanel-CCJNQGER.mjs.gz +0 -0
- package/dist/AiChatPanel-LPZWDNVU.js.br +0 -0
- package/dist/AiChatPanel-LPZWDNVU.js.gz +0 -0
- package/dist/Area3DChartScene-LJCWBNQ3.js.br +0 -0
- package/dist/Area3DChartScene-LJCWBNQ3.js.gz +0 -0
- package/dist/Area3DChartScene-P6YM6ZL7.mjs.br +0 -0
- package/dist/Area3DChartScene-P6YM6ZL7.mjs.gz +0 -0
- package/dist/Bar3DChartScene-7DNQ4X5T.js.br +0 -1
- package/dist/Bar3DChartScene-7DNQ4X5T.js.gz +0 -0
- package/dist/Bar3DChartScene-DIVOJURZ.mjs.br +0 -0
- package/dist/Bar3DChartScene-DIVOJURZ.mjs.gz +0 -0
- package/dist/Line3DChartScene-UF6DHP36.js.br +0 -0
- package/dist/Line3DChartScene-UF6DHP36.js.gz +0 -0
- package/dist/Line3DChartScene-ZZVNUKIJ.mjs.br +0 -0
- package/dist/Line3DChartScene-ZZVNUKIJ.mjs.gz +0 -0
- package/dist/Model3DScene-C7MZ22DH.js.br +0 -0
- package/dist/Model3DScene-C7MZ22DH.js.gz +0 -0
- package/dist/Model3DScene-XXMAAKBR.mjs.br +0 -0
- package/dist/Model3DScene-XXMAAKBR.mjs.gz +0 -0
- package/dist/PieChart3DScene-7LX3IL2Q.mjs.gz +0 -0
- package/dist/PieChart3DScene-N2Y25VG5.js.br +0 -0
- package/dist/PieChart3DScene-N2Y25VG5.js.gz +0 -0
- package/dist/SurfaceChart3DScene-ADA7NUIW.mjs.br +0 -0
- package/dist/SurfaceChart3DScene-ADA7NUIW.mjs.gz +0 -0
- package/dist/SurfaceChart3DScene-WXJHYOGJ.js.br +0 -0
- package/dist/SurfaceChart3DScene-WXJHYOGJ.js.gz +0 -0
- package/dist/chunk-2FMQ7M3L.js.br +0 -0
- package/dist/chunk-2FMQ7M3L.js.gz +0 -0
- package/dist/chunk-EVVWCF2M.mjs.br +0 -0
- package/dist/chunk-EVVWCF2M.mjs.gz +0 -0
- package/dist/chunk-HHJZK26I.js.br +0 -0
- package/dist/chunk-HHJZK26I.js.gz +0 -0
- package/dist/chunk-IVPT3U5C.mjs.br +0 -0
- package/dist/chunk-IVPT3U5C.mjs.gz +0 -0
- package/dist/chunk-IWQSAKPM.mjs.br +0 -0
- package/dist/chunk-IWQSAKPM.mjs.gz +0 -0
- package/dist/chunk-JCJ3EPG6.mjs.br +0 -0
- package/dist/chunk-JCJ3EPG6.mjs.gz +0 -0
- package/dist/chunk-NM652EZS.mjs.br +0 -0
- package/dist/chunk-NM652EZS.mjs.gz +0 -0
- package/dist/chunk-U52MKWVA.mjs.br +0 -0
- package/dist/chunk-U52MKWVA.mjs.gz +0 -0
- package/dist/chunk-UOMFINNJ.js.br +0 -0
- package/dist/chunk-UOMFINNJ.js.gz +0 -0
- package/dist/chunk-UTIMT5CZ.js.br +0 -0
- package/dist/chunk-UTIMT5CZ.js.gz +0 -0
- package/dist/chunk-UTMTXJGM.js.br +0 -0
- package/dist/chunk-UTMTXJGM.js.gz +0 -0
- package/dist/chunk-YQOK4E2A.js.br +0 -0
- package/dist/chunk-YQOK4E2A.js.gz +0 -0
- package/dist/useViewerBuildingBlocks-f6oNGKMX.d.ts.map +0 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { computeFocusTargets, aiChangeAnimationCss, changeGhostStyle, createChatHistoryStore, collectStoredChats, exportAiChatLogs, applyElementUpdate } from './chunk-
|
|
2
|
-
import { useViewerOptions, useReadOnlyRecommendationState, useCompatibilityToastsState, useReducedMotion, useViewerState, useIsMobile, useResizablePanels, useDerivedSlideState, useZoomViewport, useEditorHistory, usePresentationSetup, useTouchGestures, useViewerDialogs, useEditorOperations, useViewerIntegration, useViewPreferencesSync, useLayoutSwitching, ViewerOptionsContext, useYjsDocumentSync, useCollaborationLivePatch, useFollowMode, useBroadcastFollower, safePrompt, scopeLayoutOptionsToActiveSlide, useToolbarVisibility, useKeyboardInsets, useModalDismissDrag, useCollaborativeState, useViewerOptionsContext, useVirtualizedSlides, useSwipeNavigation, useSheetDismissDrag, detectTargetType, parseEmailUrl, parseSlideFromUrl, ACTION_VERB_MAP, syncSelectionHandleOverlay } from './chunk-
|
|
3
|
-
import { MIN_ELEMENT_SIZE, DEFAULT_STROKE_COLOR, getConnectorPathGeometry, buildLineShadowCss, buildLineGlowFilter, renderConnectorMarker, getShapeVisualStyle, getTextStyleForElement, DEFAULT_TEXT_COLOR, renderVectorShape, isConnectorOrLineElement, build3DExtrusionData, getImageRenderStyle, cn, getImageSurfaceStyle, getTextLayoutStyle, renderTableElement, renderMediaElement, shouldRenderFallbackLabel, SHAPE_PRESETS, ANIMATION_PRESET_OPTIONS, DEFAULT_FILL_COLOR, hasDagDuotoneEffect, renderDagDuotoneSvgFilter, getImageSurfaceMaskStyle, 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,
|
|
4
|
-
import { hasShapeProperties, normalizeHexColor, colorWithOpacity, normalizeStrokeDashType, getSvgStrokeDasharray, getCompoundLineOffsets, getCompoundLineWidths, svgLineCap, hasTextProperties, getElementTransform, getAriaRoleDescription, getAriaLabel, getAriaRole, resolveElementInteractivity, isEditableTextElement, isElementRendered, isElementActionable, getImageEffectsOpacity, getImageEffectsFilter, inlineElementPointerEvents, isHollowShapeElement, LINK_TOOLTIP_HOST_CLASS, ACTION_BUTTON_PRESETS, mediaTransportVisible, isInkElement, getGroupChildParentFill, getElementLabel, SWITCHABLE_LAYOUT_TYPES, compileEquationTemplateMathMl, buildUserFontFaceStyles, readStoredViewerPrefs, resolveThemeCatalogEntry, THEME_CATALOG, writeStoredViewerPrefs, openPptxFile, readBackstageRecentFile, resolveAutosaveActivation, viewerOptionsToPreferences, applyPreferenceToOptions, listAutosaveSnapshots, deleteAutosaveSnapshot, resolveExpiredAutosaveSnapshots, resolveHistoryDepth, applyAutoCorrect, resolveImageResolutionScale, resolveAutosaveIntervalMs, resolveAutosaveIntervalSeconds, shouldShowAutosaveRecoveryPrompt, resolveOptionRootClasses, resolve3DRenderingFlags, paintedStrokeWidth, buildCssGradientFromShapeStyle, ensureActionAffordanceStyles, resolveElementActionAffordance, actionAffordanceLabels, getComputedEffectStyle, getSoftEdgeSvgFilter, buildStrokeOutline, buildHollowHitOutline, buildSubpathFillOverlay, isImageLikeElement, getComputedFillStyle, strokeOutlineViewBox, revealedSmartArtNodeCount, buildSmartArtA11y, computeSmartArtElementLayout, flattenNodes, buildSummaryZoomView, isImageTiled, getImageColorWashStyle, readEditableText, placeCaretAtEnd, getPendingSelectionRestore, restoreSegmentSelection, getTextCompensationTransform, resolveChartKind, ensureChartInteractionStyles, applyChartPartHighlight, applyChartBuildReveal, formatAxisValue, hasPressureVariation, getInkReplayStyles, INK_REPLAY_KEYFRAMES, resolveInkColor, resolveInkWidth, resolveInkOpacity, pressuresToWidths, getContentPartReplayStyles, resolveOleType, getOleAriaLabel, getOleTypeColor, getOleTypeLabel, filterRenderedElements, resolveGroupChildFill, isLinkedTextBox, getOverflowSegments, shouldUseSvgWarp, getTextBodyRotationTransform, placeholderPromptDescriptor, isWedgeCalloutPresetShape, RULER_THICKNESS, RULER_FONT_SIZE, buildPreviewElements, deriveSlideFieldContext, SLIDE_TRANSITION_OPTIONS, hiddenSlideCue, HIDDEN_SLIDE_SLASH_GRADIENT, HIDDEN_SLIDE_LABEL_KEY, visibleTemplateElements, themeToCssVars, shouldClearAutosaveCacheOnClose, masterViewCrudActions, applyMasterViewCrudAction, masterViewCrudFailureKey, applyMotionPathPreset, resetSlideLayoutPath, DEFAULT_INSERT_CHART_KIND, hasCopyableFormat, templateSchemeFromTheme, createBackstagePresentation, playFeedbackSound, shouldDiscardAutosaveOnSuccessfulSave, setMasterViewBackgroundColor, compatToastStackStyle, printPropertiesFrameSlides, printPropertiesSlidesPerPage, VIEWER_OPTIONS_TABS, DEFAULT_QUICK_ACCESS_COMMAND_IDS, isHeaderFooterDateTextVisible, isHeaderFooterHeaderTextVisible, isHeaderFooterFooterTextVisible, buildJoinCollaborationConfig, buildCreateCollaborationConfig, generateBroadcastRoomId, DEFAULT_BROADCAST_SERVER_URL, buildBroadcastViewerUrl, resolveTransportForServerUrl, elementIdSelector, 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, buildChromeStyle, modelDataToBlobUrl, getImageSvgFilters, buildDuotoneCacheKey, getDuotoneCachedResult, applyDuotone, setDuotoneCachedResult, buildCacheKey, DEFAULT_COLOR_CHANGE_TOLERANCE, getCachedResult, applyColorChange, setCachedResult, getInlineEditorSelection, findChartPartTarget, advanceChartValueDrag, beginChartValueDrag, buildSurfaceChart3DDataForElement, buildBarChart3DDataForElement, buildLineChart3DDataForElement, buildAreaChart3DDataForElement, buildPieChart3DDataForElement, withChartTitle, buildSmartArt3DModel, extractPathPoints, generatePressureCircles, generateNibMarks, isBrowserOpenableMime, formatBytes, getOleDisplayName, getOleBadgeLabel, openUrlInNewTab, getSubstituteFontFamily, getWarpPath, getSlideBackgroundStyle, pushRecentColor, mruColorsPatch, 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, 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, centeredSvgTextLines, computeInlineEditorRect, findSmartArtNodeText, setSmartArtNodeStyle, rebuildDrawingShapesIfCleared, shouldCommitSmartArtNodeText, updateSmartArtNodeText, groupIntoParagraphs, substituteFieldText, extraQuickAccessCommands, TAB_ROW_ACTION_CLASSES, listBackstageRecentFiles, BACKSTAGE_NAV, COMMON_FONT_SIZES, textFontSizePtToPx, INSERT_CHART_TYPES, CHARACTER_SPACING_OPTIONS, shapeFillChange, shapeOutlineChange, readRibbonTransitionDraft, ribbonTransitionUpdates, readSoundFileAsDataUrl, applyTransitionSoundFile, 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, getSlideTransitionAnimations, MORPH_CROSSFADE_GROUP_STYLE, MORPH_CROSSFADE_HALF_STYLE, SLIDE_TRANSITION_KEYFRAMES, buildStrokePathD, cursorForTool, annotationOverlayZIndex, presentationInkPath, resolveNotesSchematicBodyFontSizePx, motionPathFor, setMotionPath, getShapeAdjustmentHandleDescriptors, shouldShowElementHandles, 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, 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, RIBBON_SHAPE_SWATCHES, canGroupSelection, canUngroupSelection, canSetStrokeWidth, strokeWidthOf, TRANSITION_SOUND_OTHER_VALUE, TRANSITION_SOUND_NONE_VALUE, clearTransitionSound, ENTRANCE_PRESET_VALUES, EMPHASIS_PRESET_VALUES, EXIT_PRESET_VALUES, MOTION_PATH_FAMILIES, motionPathFamilyLabelKey, motionPathPresetsByFamily, motionPathPresetLabelKey, masterViewPseudoSlide, authorConnectorBetweenSites, findEraserHitElementId, generateTicks, rulerDragToGuidePosition, getElementTransformWithoutRotation, getActiveXControlOverlayView, buildCommentMarkers, COMMENT_MARKER_SIZE, collectConnectorSiteCandidates, getConnectorEndpointHandles, findConnectorSiteNear, motionPathToSvgD, motionPathEndPixel, isEditableMotionPath, setMotionPathEnd, themeColorLabel, buildThemeColorGrid, THEME_COLOR_SCHEME_KEYS, COMMON_FONTS, handleReadingViewKey, getLocalStorageUsageSummary, saveViewerProfile, clearAllLocalViewerData, isCurrentLayout, SLIDE_TEMPLATES, computeAnchoredPopupPosition, 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, applyTableStylePreset, evenColumnWidths, redistributeColumnWidth, evenRowHeights, patchChartData, chartGridlinesState, chartGridlinesPatch, seriesSecondaryAxisPatch, setChartCategoryLabel, setChartCellValue, addChartCategory, removeChartCategory, addChartSeries, removeChartSeries, setChartAxisLogScale, setChartAxisTitleStyle, setChartAxisGridlineStyle, setChartSeriesMarker, setChartSeriesChartType, setChartDataPointFill, setChartDataPointExplosion, setChartDataPointMarker, setChartDataPointLabel, describeSmartArtBounds, canAddTopLevelNode, classifyExtraConnections, siblingIndex, siblingCount, canRemoveTopLevelNode, buildOleObjectNamePatch, 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, TRANSITION_SPEED_OPTIONS, TRANSITION_MORPH_OPTIONS, flattenTagCollections, resolveTemplateBackgroundRows, formatCommentTimestamp, commentMentionQuery, matchCommentMentionAuthors, buildAnimationTimelineRows, clearMotionPath, getEffectSoundState, setEffectSound, setAfterAnimation, setAfterAnimationColor, DIRECTIONAL_PRESETS, buildAnimationTimelineBars, motionPathPresetIdForPath, computeMergeCellRight, computeMergeCellDown, computeSplitCell, CHART_TYPE_OPTIONS, BAR3D_SHAPE_OPTIONS, bar3DShapePatch, RADAR_STYLE_OPTIONS, radarStylePatch, SURFACE_WIREFRAME_OPTIONS, surfaceWireframePatch, isSeriesUsingSecondaryAxis, SMARTART_COLOR_SCHEME_LABEL_KEYS, SMARTART_STYLE_LABEL_KEYS, addSmartArtNodeAsChild, removeSmartArtNode, addSiblingAfter, removeEmptyNode, demote, promote, reorder, clampCropValue, DUOTONE_PRESETS, ARTISTIC_EFFECTS, resolveActionType, ELEMENT_ACTION_TYPE_OPTIONS, elementActionToPptxAction, canCommitActionType, slideSizeFromPreset, withSlideSizeOrientation, TRANSITION_DIR_ARROWS, buildDirectionGrid, updateTagInCollections, deleteTagFromCollections, addTagToCollections, commentTextSegments, COMMENT_MENTION_CLASS, COMMENT_MENTION_ATTRIBUTE, insertCommentMention, reorderAnimationTimelineRows, applyAnimationTimelineOrder, animationEffectLabel, LBL, SEL, FILL_MODE_OPTIONS, SECTION_HEADING, NUM, switchSmartArtLayout, 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, GRADIENT_TYPE_OPTIONS, PATTERN_OPTIONS, FILL_PATTERN_LABEL_KEYS, openNativeEyeDropper, toggleText3dExtrusion, BEVEL_PRESETS } from './chunk-NM652EZS.mjs';
|
|
5
|
-
import { LOCALE_CATALOG, translationsEn } from './chunk-
|
|
1
|
+
import { computeFocusTargets, aiChangeAnimationCss, changeGhostStyle, createChatHistoryStore, collectStoredChats, exportAiChatLogs, applyElementUpdate } from './chunk-WKODF5ZU.mjs';
|
|
2
|
+
import { useViewerOptions, useReadOnlyRecommendationState, useCompatibilityToastsState, useReducedMotion, useViewerState, useIsMobile, useResizablePanels, useDerivedSlideState, useZoomViewport, useEditorHistory, usePresentationSetup, useTouchGestures, useViewerDialogs, useEditorOperations, useViewerIntegration, useViewPreferencesSync, useLayoutSwitching, ViewerOptionsContext, useYjsDocumentSync, useCollaborationLivePatch, useFollowMode, useBroadcastFollower, safePrompt, scopeLayoutOptionsToActiveSlide, useToolbarVisibility, useKeyboardInsets, useModalDismissDrag, useCollaborativeState, useViewerOptionsContext, useVirtualizedSlides, useSwipeNavigation, useSheetDismissDrag, detectTargetType, parseEmailUrl, parseSlideFromUrl, ACTION_VERB_MAP, syncSelectionHandleOverlay } from './chunk-PC62KGU3.mjs';
|
|
3
|
+
import { MIN_ELEMENT_SIZE, DEFAULT_STROKE_COLOR, getConnectorPathGeometry, buildLineShadowCss, buildLineGlowFilter, renderConnectorMarker, getShapeVisualStyle, getTextStyleForElement, DEFAULT_TEXT_COLOR, renderVectorShape, isConnectorOrLineElement, build3DExtrusionData, getImageRenderStyle, cn, getImageSurfaceStyle, getTextLayoutStyle, renderTableElement, renderMediaElement, shouldRenderFallbackLabel, SHAPE_PRESETS, ANIMATION_PRESET_OPTIONS, DEFAULT_FILL_COLOR, hasDagDuotoneEffect, renderDagDuotoneSvgFilter, getImageSurfaceMaskStyle, 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, STROKE_DASH_OPTIONS } from './chunk-JANUSAEK.mjs';
|
|
4
|
+
import { hasShapeProperties, normalizeHexColor, colorWithOpacity, normalizeStrokeDashType, getSvgStrokeDasharray, getCompoundLineOffsets, getCompoundLineWidths, svgLineCap, hasTextProperties, connectorWrapperTransform, getAriaRoleDescription, getAriaLabel, getAriaRole, resolveElementInteractivity, isEditableTextElement, isElementRendered, resolveElementAriaAttributes, getImageEffectsOpacity, getImageEffectsFilter, inlineElementPointerEvents, isHollowShapeElement, LINK_TOOLTIP_HOST_CLASS, ACTION_BUTTON_PRESETS, mediaTransportVisible, isInkElement, getGroupChildParentFill, getElementLabel, SWITCHABLE_LAYOUT_TYPES, compileEquationTemplateMathMl, buildUserFontFaceStyles, readStoredViewerPrefs, resolveThemeCatalogEntry, THEME_CATALOG, writeStoredViewerPrefs, openPptxFile, readBackstageRecentFile, resolveAutosaveActivation, buildThemeColorMap, viewerOptionsToPreferences, applyPreferenceToOptions, listAutosaveSnapshots, deleteAutosaveSnapshot, resolveExpiredAutosaveSnapshots, resolveHistoryDepth, applyAutoCorrect, resolveImageResolutionScale, resolveAutosaveIntervalMs, resolveAutosaveIntervalSeconds, shouldShowAutosaveRecoveryPrompt, resolveOptionRootClasses, resolve3DRenderingFlags, paintedStrokeWidth, buildCssGradientFromShapeStyle, ensureActionAffordanceStyles, resolveElementActionAffordance, actionAffordanceLabels, resolveElementHighlightClick, applyHighlightClickStyle, getComputedEffectStyle, getSoftEdgeSvgFilter, buildStrokeOutline, buildHollowHitOutline, buildSubpathFillOverlay, isImageLikeElement, getComputedFillStyle, strokeOutlineViewBox, getElementTransform, resolveRevealedSmartArtNodes, resolveRevealedDrawingShapes, buildSmartArtA11y, canDrillDown, computeSmartArtElementLayout, flattenNodes, buildSummaryZoomView, isImageTiled, getImageColorWashStyle, readEditableText, placeCaretAtEnd, getPendingSelectionRestore, restoreSegmentSelection, getTextCompensationTransform, resolveChartKind, ensureChartInteractionStyles, applyChartPartHighlight, resolveRevealedChartData, formatAxisValue, hasPressureVariation, getInkReplayStyles, INK_REPLAY_KEYFRAMES, resolveInkColor, resolveInkWidth, resolveInkOpacity, pressuresToWidths, getContentPartReplayStyles, resolveOleType, getOleAriaLabel, getOleTypeColor, getOleTypeLabel, filterRenderedElements, resolveGroupChildFill, isLinkedTextBox, getOverflowSegments, shouldUseSvgWarp, getTextBodyRotationTransform, placeholderPromptDescriptor, isWedgeCalloutPresetShape, isElementActionable, RULER_THICKNESS, RULER_FONT_SIZE, buildPreviewElements, deriveSlideFieldContext, SLIDE_TRANSITION_OPTIONS, hiddenSlideCue, HIDDEN_SLIDE_SLASH_GRADIENT, HIDDEN_SLIDE_LABEL_KEY, visibleTemplateElements, themeToCssVars, shouldClearAutosaveCacheOnClose, masterViewCrudActions, applyMasterViewCrudAction, masterViewCrudFailureKey, applyMotionPathPreset, resetSlideLayoutPath, DEFAULT_INSERT_CHART_KIND, hasCopyableFormat, templateSchemeFromTheme, createBackstagePresentation, playFeedbackSound, shouldDiscardAutosaveOnSuccessfulSave, setMasterViewBackgroundColor, compatToastStackStyle, printPropertiesFrameSlides, printPropertiesSlidesPerPage, VIEWER_OPTIONS_TABS, DEFAULT_QUICK_ACCESS_COMMAND_IDS, isHeaderFooterDateTextVisible, isHeaderFooterHeaderTextVisible, isHeaderFooterFooterTextVisible, buildJoinCollaborationConfig, buildCreateCollaborationConfig, generateBroadcastRoomId, DEFAULT_BROADCAST_SERVER_URL, buildBroadcastViewerUrl, resolveTransportForServerUrl, elementIdSelector, 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, resolveRevealedDrawingShapeNodeIds, styleShadowFilter, buildChromeStyle, modelDataToBlobUrl, getImageSvgFilters, buildDuotoneCacheKey, getDuotoneCachedResult, applyDuotone, setDuotoneCachedResult, buildCacheKey, DEFAULT_COLOR_CHANGE_TOLERANCE, getCachedResult, applyColorChange, setCachedResult, getInlineEditorSelection, findChartPartTarget, advanceChartValueDrag, beginChartValueDrag, buildSurfaceChart3DDataForElement, buildBarChart3DDataForElement, buildLineChart3DDataForElement, buildAreaChart3DDataForElement, buildPieChart3DDataForElement, withChartTitle, buildSmartArt3DModel, collectCoherent3DOffNodeIds, extractPathPoints, generatePressureCircles, generateNibMarks, isBrowserOpenableMime, formatBytes, getOleDisplayName, getOleBadgeLabel, openUrlInNewTab, getSubstituteFontFamily, getWarpPath, getSlideBackgroundStyle, pushRecentColor, mruColorsPatch, 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, 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, centeredSvgTextLines, computeInlineEditorRect, findSmartArtNodeText, setSmartArtNodeStyle, rebuildDrawingShapesIfCleared, shouldCommitSmartArtNodeText, updateSmartArtNodeText, groupIntoParagraphs, substituteFieldText, extraQuickAccessCommands, TAB_ROW_ACTION_CLASSES, listBackstageRecentFiles, BACKSTAGE_NAV, COMMON_FONT_SIZES, textFontSizePtToPx, INSERT_CHART_TYPES, CHARACTER_SPACING_OPTIONS, OFFICE_COLOR_SWATCHES, shapeFillChange, shapeOutlineChange, readRibbonTransitionDraft, ribbonTransitionUpdates, readSoundFileAsDataUrl, applyTransitionSoundFile, 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, getSlideTransitionAnimations, MORPH_CROSSFADE_GROUP_STYLE, MORPH_CROSSFADE_HALF_STYLE, SLIDE_TRANSITION_KEYFRAMES, buildStrokePathD, cursorForTool, annotationOverlayZIndex, presentationInkPath, resolveNotesSchematicBodyFontSizePx, motionPathFor, setMotionPath, getShapeAdjustmentHandleDescriptors, shouldShowElementHandles, 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, 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, buildThemeColorSwatchGrid, themeColorSwatchRows, findSelectedThemeSwatch, themeSwatchCommit, RIBBON_SHAPE_SWATCHES, canGroupSelection, canUngroupSelection, canSetStrokeWidth, strokeWidthOf, TRANSITION_SOUND_OTHER_VALUE, TRANSITION_SOUND_NONE_VALUE, clearTransitionSound, ENTRANCE_PRESET_VALUES, EMPHASIS_PRESET_VALUES, EXIT_PRESET_VALUES, MOTION_PATH_FAMILIES, motionPathFamilyLabelKey, motionPathPresetsByFamily, motionPathPresetLabelKey, masterViewPseudoSlide, authorConnectorBetweenSites, findEraserHitElementId, generateTicks, rulerDragToGuidePosition, getElementTransformWithoutRotation, getActiveXControlOverlayView, buildCommentMarkers, COMMENT_MARKER_SIZE, collectConnectorSiteCandidates, getConnectorEndpointHandles, findConnectorSiteNear, motionPathToSvgD, motionPathEndPixel, isEditableMotionPath, setMotionPathEnd, themeColorLabel, buildThemeColorGrid, THEME_COLOR_SCHEME_KEYS, COMMON_FONTS, handleReadingViewKey, getLocalStorageUsageSummary, saveViewerProfile, clearAllLocalViewerData, isCurrentLayout, SLIDE_TEMPLATES, computeAnchoredPopupPosition, 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, applyTableStylePreset, evenColumnWidths, redistributeColumnWidth, evenRowHeights, patchChartData, chartGridlinesState, chartGridlinesPatch, seriesSecondaryAxisPatch, setChartCategoryLabel, setChartCellValue, addChartCategory, removeChartCategory, addChartSeries, removeChartSeries, setChartAxisLogScale, setChartAxisTitleStyle, setChartAxisGridlineStyle, setChartSeriesMarker, setChartSeriesChartType, setChartDataPointFill, setChartDataPointExplosion, setChartDataPointMarker, setChartDataPointLabel, describeSmartArtBounds, canAddTopLevelNode, classifyExtraConnections, siblingIndex, siblingCount, canRemoveTopLevelNode, canInteractWithElement, buildOleObjectNamePatch, 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, TRANSITION_SPEED_OPTIONS, TRANSITION_MORPH_OPTIONS, flattenTagCollections, resolveTemplateBackgroundRows, formatCommentTimestamp, commentMentionQuery, matchCommentMentionAuthors, buildAnimationTimelineRows, clearMotionPath, getEffectSoundState, setEffectSound, setAfterAnimation, setAfterAnimationColor, DIRECTIONAL_PRESETS, buildAnimationTimelineBars, motionPathPresetIdForPath, computeMergeCellRight, computeMergeCellDown, computeSplitCell, CHART_TYPE_OPTIONS, BAR3D_SHAPE_OPTIONS, bar3DShapePatch, RADAR_STYLE_OPTIONS, radarStylePatch, SURFACE_WIREFRAME_OPTIONS, surfaceWireframePatch, isSeriesUsingSecondaryAxis, listChartUserShapeDescriptors, withChartUserShapeAdded, createDefaultChartUserShape, withChartUserShapeRemoved, withChartUserShapeUpdated, SMARTART_COLOR_SCHEME_LABEL_KEYS, SMARTART_STYLE_LABEL_KEYS, addSmartArtNodeAsChild, removeSmartArtNode, addSiblingAfter, removeEmptyNode, demote, promote, reorder, clampCropValue, DUOTONE_PRESETS, ARTISTIC_EFFECTS, mediaTrimEndSeconds, trimmedMediaDurationMs, mediaTrimEndAbsoluteMs, mediaTrimEndMsFromAbsoluteMs, resolveActionType, ELEMENT_ACTION_TYPE_OPTIONS, elementActionToPptxAction, canCommitActionType, slideSizeFromPreset, withSlideSizeOrientation, TRANSITION_DIR_ARROWS, buildDirectionGrid, updateTagInCollections, deleteTagFromCollections, addTagToCollections, commentTextSegments, COMMENT_MENTION_CLASS, COMMENT_MENTION_ATTRIBUTE, insertCommentMention, reorderAnimationTimelineRows, applyAnimationTimelineOrder, animationEffectLabel, LBL, SEL, FILL_MODE_OPTIONS, SECTION_HEADING, NUM, switchSmartArtLayout, 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, GRADIENT_TYPE_OPTIONS, PATTERN_OPTIONS, FILL_PATTERN_LABEL_KEYS, openNativeEyeDropper, toggleText3dExtrusion, BEVEL_PRESETS } from './chunk-NV55GU5V.mjs';
|
|
5
|
+
import { LOCALE_CATALOG, translationsEn } from './chunk-FGTMS7LR.mjs';
|
|
6
6
|
import React19, { 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';
|
|
@@ -514,7 +514,7 @@ function FailedToLoad() {
|
|
|
514
514
|
var LazyArea3DChartScene = React19.lazy(
|
|
515
515
|
async () => {
|
|
516
516
|
try {
|
|
517
|
-
return await import('./Area3DChartScene-
|
|
517
|
+
return await import('./Area3DChartScene-AE2XYKDW.mjs');
|
|
518
518
|
} catch {
|
|
519
519
|
return { default: FailedToLoad };
|
|
520
520
|
}
|
|
@@ -570,7 +570,7 @@ function FailedToLoad2() {
|
|
|
570
570
|
var LazyBar3DChartScene = React19.lazy(
|
|
571
571
|
async () => {
|
|
572
572
|
try {
|
|
573
|
-
return await import('./Bar3DChartScene-
|
|
573
|
+
return await import('./Bar3DChartScene-FQV62XOI.mjs');
|
|
574
574
|
} catch {
|
|
575
575
|
return { default: FailedToLoad2 };
|
|
576
576
|
}
|
|
@@ -626,7 +626,7 @@ function FailedToLoad3() {
|
|
|
626
626
|
var LazyLine3DChartScene = React19.lazy(
|
|
627
627
|
async () => {
|
|
628
628
|
try {
|
|
629
|
-
return await import('./Line3DChartScene-
|
|
629
|
+
return await import('./Line3DChartScene-FEUY3PCE.mjs');
|
|
630
630
|
} catch {
|
|
631
631
|
return { default: FailedToLoad3 };
|
|
632
632
|
}
|
|
@@ -682,7 +682,7 @@ function FailedToLoad4() {
|
|
|
682
682
|
var LazyPieChart3DScene = React19.lazy(
|
|
683
683
|
async () => {
|
|
684
684
|
try {
|
|
685
|
-
return await import('./PieChart3DScene-
|
|
685
|
+
return await import('./PieChart3DScene-VZI2VARG.mjs');
|
|
686
686
|
} catch {
|
|
687
687
|
return { default: FailedToLoad4 };
|
|
688
688
|
}
|
|
@@ -738,7 +738,7 @@ function FailedToLoad5() {
|
|
|
738
738
|
var LazySurfaceChart3DScene = React19.lazy(
|
|
739
739
|
async () => {
|
|
740
740
|
try {
|
|
741
|
-
return await import('./SurfaceChart3DScene-
|
|
741
|
+
return await import('./SurfaceChart3DScene-T36E2HBA.mjs');
|
|
742
742
|
} catch {
|
|
743
743
|
return { default: FailedToLoad5 };
|
|
744
744
|
}
|
|
@@ -898,7 +898,7 @@ function ChartElementView({
|
|
|
898
898
|
}
|
|
899
899
|
};
|
|
900
900
|
const handleDoubleClick = (e) => {
|
|
901
|
-
if (!canEdit) {
|
|
901
|
+
if (!canEdit || !canDrillDown(element)) {
|
|
902
902
|
return;
|
|
903
903
|
}
|
|
904
904
|
const target = e.target;
|
|
@@ -923,8 +923,7 @@ function ChartElementView({
|
|
|
923
923
|
setTitleDraft(null);
|
|
924
924
|
};
|
|
925
925
|
const baseChartData = previewData ?? element.chartData;
|
|
926
|
-
const
|
|
927
|
-
const revealedChartData = chartBuild && baseChartData ? applyChartBuildReveal(baseChartData, chartBuild) : baseChartData;
|
|
926
|
+
const revealedChartData = baseChartData ? resolveRevealedChartData(baseChartData, animationState) : baseChartData;
|
|
928
927
|
const renderedElement = revealedChartData === element.chartData ? element : { ...element, chartData: revealedChartData };
|
|
929
928
|
return /* @__PURE__ */ jsxs(
|
|
930
929
|
"div",
|
|
@@ -1559,7 +1558,7 @@ var ConnectorElementRenderer = React19.memo(
|
|
|
1559
1558
|
top: el.y,
|
|
1560
1559
|
width: boxWidth,
|
|
1561
1560
|
height: boxHeight,
|
|
1562
|
-
transform:
|
|
1561
|
+
transform: connectorWrapperTransform(el),
|
|
1563
1562
|
transformOrigin: "center",
|
|
1564
1563
|
background: "transparent",
|
|
1565
1564
|
border: "none",
|
|
@@ -1738,6 +1737,8 @@ function getElementInteractionProps({
|
|
|
1738
1737
|
onActionClick
|
|
1739
1738
|
}) {
|
|
1740
1739
|
const hasHoverAction = Boolean(element.actionHover);
|
|
1740
|
+
const highlight = resolveElementHighlightClick(element.actionClick, element.actionHover);
|
|
1741
|
+
const hoverLeaveStyle = highlight.hover?.leaveStyle;
|
|
1741
1742
|
return {
|
|
1742
1743
|
onKeyDown: (event) => {
|
|
1743
1744
|
if (event.key === "Enter" && isEditableText && canInteract && !isInlineEditing) {
|
|
@@ -1764,30 +1765,26 @@ function getElementInteractionProps({
|
|
|
1764
1765
|
}
|
|
1765
1766
|
event.stopPropagation();
|
|
1766
1767
|
event.preventDefault();
|
|
1767
|
-
if (
|
|
1768
|
+
if (highlight.click) {
|
|
1768
1769
|
const target = event.currentTarget;
|
|
1769
|
-
|
|
1770
|
-
target
|
|
1770
|
+
const { style, clearStyle, durationMs } = highlight.click;
|
|
1771
|
+
applyHighlightClickStyle(target, style);
|
|
1771
1772
|
window.setTimeout(() => {
|
|
1772
|
-
target
|
|
1773
|
-
|
|
1774
|
-
}, 320);
|
|
1773
|
+
applyHighlightClickStyle(target, clearStyle);
|
|
1774
|
+
}, durationMs);
|
|
1775
1775
|
}
|
|
1776
1776
|
onActionClick(element.id, element.actionClick);
|
|
1777
1777
|
},
|
|
1778
1778
|
onMouseEnter: (event) => {
|
|
1779
|
-
if (
|
|
1780
|
-
|
|
1781
|
-
target.style.filter = "brightness(1.15)";
|
|
1782
|
-
target.style.outline = "2px solid rgba(59, 130, 246, 0.5)";
|
|
1779
|
+
if (highlight.hover) {
|
|
1780
|
+
applyHighlightClickStyle(event.currentTarget, highlight.hover.enterStyle);
|
|
1783
1781
|
}
|
|
1784
1782
|
if (isPresentationPassive && element.actionHover && onActionClick && (element.actionHover.url || element.actionHover.targetSlideIndex !== void 0)) {
|
|
1785
1783
|
onActionClick(element.id, element.actionHover);
|
|
1786
1784
|
}
|
|
1787
1785
|
},
|
|
1788
|
-
onMouseLeave: hasHoverAction &&
|
|
1789
|
-
event.currentTarget
|
|
1790
|
-
event.currentTarget.style.outline = "";
|
|
1786
|
+
onMouseLeave: hasHoverAction && hoverLeaveStyle ? (event) => {
|
|
1787
|
+
applyHighlightClickStyle(event.currentTarget, hoverLeaveStyle);
|
|
1791
1788
|
} : void 0,
|
|
1792
1789
|
title: canInteract && element.actionClick ? void 0 : element.actionClick?.tooltip || element.actionHover?.tooltip || void 0
|
|
1793
1790
|
};
|
|
@@ -1935,6 +1932,9 @@ function renderOutlinePaint(paint) {
|
|
|
1935
1932
|
}
|
|
1936
1933
|
);
|
|
1937
1934
|
}
|
|
1935
|
+
if (paint.kind === "rectPath") {
|
|
1936
|
+
return /* @__PURE__ */ jsx("pattern", { id: paint.id, patternUnits: "objectBoundingBox", width: 1, height: 1, children: /* @__PURE__ */ jsx("image", { href: paint.href, x: 0, y: 0, width: 1, height: 1, preserveAspectRatio: "none" }) });
|
|
1937
|
+
}
|
|
1938
1938
|
const stops = paint.stops.map((stop, idx) => /* @__PURE__ */ jsx(
|
|
1939
1939
|
"stop",
|
|
1940
1940
|
{
|
|
@@ -2246,18 +2246,16 @@ var ElementRenderer = React19.memo(
|
|
|
2246
2246
|
const canEditChart = effectiveCanInteract;
|
|
2247
2247
|
const hasAction = Boolean(el.actionClick && onActionClick);
|
|
2248
2248
|
const isZoom = el.type === "zoom" && Boolean(onZoomClick);
|
|
2249
|
-
const
|
|
2249
|
+
const aria = resolveElementAriaAttributes(el, {
|
|
2250
2250
|
hasActionHandler: Boolean(onActionClick),
|
|
2251
2251
|
hasHyperlinkHandler: Boolean(onHyperlinkClick),
|
|
2252
2252
|
hasZoomHandler: Boolean(onZoomClick)
|
|
2253
2253
|
});
|
|
2254
|
+
const isActionable = aria.actionable;
|
|
2254
2255
|
const selB = isSelected ? `outline-1 -outline-offset-1 outline-${selClr} ring-2 ring-${selClr}/50` : showHoverBorder ? "outline-1 -outline-offset-1 outline-transparent hover:outline-primary/40" : "";
|
|
2255
2256
|
const cur = effectiveIsInlineEditing ? "cursor-text" : effectiveCanInteract ? !allow.movable ? "cursor-default" : "cursor-move" : hasAction || isZoom ? "cursor-pointer" : "";
|
|
2256
2257
|
const isPresentationPassive = presenting === true;
|
|
2257
2258
|
const isFullscreenMedia = el.type === "media" && Boolean(el.fullScreen) && isPresentationPassive && isMediaPlaying;
|
|
2258
|
-
const ariaRole = getAriaRole(el, { actionable: isActionable });
|
|
2259
|
-
const ariaLabel = getAriaLabel(el);
|
|
2260
|
-
const ariaRoleDescription = getAriaRoleDescription(el);
|
|
2261
2259
|
const isFocusable = effectiveCanInteract || isActionable;
|
|
2262
2260
|
const interactionProps = getElementInteractionProps({
|
|
2263
2261
|
element: el,
|
|
@@ -2275,9 +2273,10 @@ var ElementRenderer = React19.memo(
|
|
|
2275
2273
|
"data-pptx-element": "true",
|
|
2276
2274
|
"data-element-id": el.id,
|
|
2277
2275
|
"data-pptx-action": isActionable ? "click" : void 0,
|
|
2278
|
-
role:
|
|
2279
|
-
"aria-label":
|
|
2280
|
-
"aria-roledescription":
|
|
2276
|
+
role: aria.role,
|
|
2277
|
+
"aria-label": aria.label,
|
|
2278
|
+
"aria-roledescription": aria.roleDescription,
|
|
2279
|
+
"aria-hidden": aria.hidden ? true : void 0,
|
|
2281
2280
|
"aria-selected": isSelected ? true : void 0,
|
|
2282
2281
|
tabIndex: isFocusable ? 0 : -1,
|
|
2283
2282
|
className: cn(
|
|
@@ -3029,7 +3028,7 @@ function FailedToLoad6() {
|
|
|
3029
3028
|
var LazyModel3DScene = React19.lazy(
|
|
3030
3029
|
async () => {
|
|
3031
3030
|
try {
|
|
3032
|
-
return await import('./Model3DScene-
|
|
3031
|
+
return await import('./Model3DScene-V3DHIISV.mjs');
|
|
3033
3032
|
} catch {
|
|
3034
3033
|
return { default: FailedToLoad6 };
|
|
3035
3034
|
}
|
|
@@ -3736,13 +3735,15 @@ function shapeBody(shape) {
|
|
|
3736
3735
|
function DrawingShapeRenderer({
|
|
3737
3736
|
elementId,
|
|
3738
3737
|
shapes,
|
|
3738
|
+
allShapes = shapes,
|
|
3739
3739
|
style,
|
|
3740
3740
|
palette,
|
|
3741
3741
|
nodes,
|
|
3742
3742
|
nodeLabels
|
|
3743
3743
|
}) {
|
|
3744
|
-
const viewBox = computeDrawingViewBox(
|
|
3744
|
+
const viewBox = computeDrawingViewBox(allShapes);
|
|
3745
3745
|
const rendered = projectDrawingShapes(elementId, shapes, viewBox, palette, style);
|
|
3746
|
+
const nodeIds = nodes ? resolveRevealedDrawingShapeNodeIds(allShapes, shapes, nodes) : void 0;
|
|
3746
3747
|
const shadow = styleShadowFilter(style);
|
|
3747
3748
|
return /* @__PURE__ */ jsx(
|
|
3748
3749
|
"svg",
|
|
@@ -3752,7 +3753,7 @@ function DrawingShapeRenderer({
|
|
|
3752
3753
|
preserveAspectRatio: "xMidYMid meet",
|
|
3753
3754
|
"data-testid": "smartart-drawing-shapes",
|
|
3754
3755
|
children: rendered.map((shape, i) => {
|
|
3755
|
-
const nodeId =
|
|
3756
|
+
const nodeId = nodeIds?.[i];
|
|
3756
3757
|
const nodeLabel = nodeId ? nodeLabels?.get(nodeId) : void 0;
|
|
3757
3758
|
const groupProps = nodeId ? smartArtNodeGroupProps(nodeId, shadow, nodeLabel) : { style: { filter: shadow } };
|
|
3758
3759
|
return /* @__PURE__ */ jsxs("g", { ...groupProps, children: [
|
|
@@ -3917,14 +3918,12 @@ function SmartArtRendererImpl({
|
|
|
3917
3918
|
}
|
|
3918
3919
|
const smartArtData = element.smartArtData;
|
|
3919
3920
|
const { nodes, drawingShapes, chrome } = smartArtData;
|
|
3920
|
-
const
|
|
3921
|
-
|
|
3922
|
-
|
|
3923
|
-
|
|
3924
|
-
|
|
3925
|
-
|
|
3926
|
-
Math.ceil(shownNodeCount / Math.max(nodes.length, 1) * drawingShapes.length)
|
|
3927
|
-
) : drawingShapes;
|
|
3921
|
+
const { nodes: revealedNodes } = resolveRevealedSmartArtNodes(
|
|
3922
|
+
nodes,
|
|
3923
|
+
animationState,
|
|
3924
|
+
smartArtData.presLayoutVars
|
|
3925
|
+
);
|
|
3926
|
+
const revealedShapes = drawingShapes && drawingShapes.length > 0 ? resolveRevealedDrawingShapes(drawingShapes, nodes, animationState) : drawingShapes;
|
|
3928
3927
|
if (nodes.length === 0) {
|
|
3929
3928
|
return /* @__PURE__ */ jsx(
|
|
3930
3929
|
"div",
|
|
@@ -3938,7 +3937,7 @@ function SmartArtRendererImpl({
|
|
|
3938
3937
|
const style = resolveStyle(element);
|
|
3939
3938
|
const a11y = buildSmartArtA11y(smartArtData);
|
|
3940
3939
|
const nodeLabels = new Map(a11y.nodes.map((n) => [n.id, n.label]));
|
|
3941
|
-
const editable = canEdit && Boolean(onUpdateElement);
|
|
3940
|
+
const editable = canEdit && Boolean(onUpdateElement) && canDrillDown(element);
|
|
3942
3941
|
const handleCommitNodeText = (nodeId, text) => {
|
|
3943
3942
|
if (!onUpdateElement || !shouldCommitSmartArtNodeText(smartArtData, nodeId, text)) {
|
|
3944
3943
|
return;
|
|
@@ -3980,6 +3979,7 @@ function SmartArtRendererImpl({
|
|
|
3980
3979
|
{
|
|
3981
3980
|
elementId: element.id,
|
|
3982
3981
|
shapes: revealedShapes,
|
|
3982
|
+
allShapes: drawingShapes,
|
|
3983
3983
|
style,
|
|
3984
3984
|
palette,
|
|
3985
3985
|
nodes,
|
|
@@ -4043,6 +4043,28 @@ function arePropsEqual(prev, next) {
|
|
|
4043
4043
|
if (prevBuild?.kind !== nextBuild?.kind || prevBuild?.mode !== nextBuild?.mode || prevBuild?.progress !== nextBuild?.progress) {
|
|
4044
4044
|
return false;
|
|
4045
4045
|
}
|
|
4046
|
+
return sameDiagramReveal(prev.animationState?.diagramReveal, next.animationState?.diagramReveal);
|
|
4047
|
+
}
|
|
4048
|
+
function sameDiagramReveal(prev, next) {
|
|
4049
|
+
if (prev === next) {
|
|
4050
|
+
return true;
|
|
4051
|
+
}
|
|
4052
|
+
if (!prev || !next) {
|
|
4053
|
+
return false;
|
|
4054
|
+
}
|
|
4055
|
+
if (prev.mode !== next.mode || prev.descriptor.background !== next.descriptor.background) {
|
|
4056
|
+
return false;
|
|
4057
|
+
}
|
|
4058
|
+
const prevIds = prev.descriptor.nodeIds;
|
|
4059
|
+
const nextIds = next.descriptor.nodeIds;
|
|
4060
|
+
if (prevIds.size !== nextIds.size) {
|
|
4061
|
+
return false;
|
|
4062
|
+
}
|
|
4063
|
+
for (const id of prevIds) {
|
|
4064
|
+
if (!nextIds.has(id)) {
|
|
4065
|
+
return false;
|
|
4066
|
+
}
|
|
4067
|
+
}
|
|
4046
4068
|
return true;
|
|
4047
4069
|
}
|
|
4048
4070
|
var SmartArtRenderer = React19.memo(SmartArtRendererImpl, arePropsEqual);
|
|
@@ -4114,7 +4136,8 @@ function SmartArt3DRenderer({
|
|
|
4114
4136
|
);
|
|
4115
4137
|
return buildSmartArt3DModel(layoutResult, {
|
|
4116
4138
|
background: chrome?.backgroundColor,
|
|
4117
|
-
spatial: true
|
|
4139
|
+
spatial: true,
|
|
4140
|
+
coherent3DOffNodeIds: collectCoherent3DOffNodeIds(nodes)
|
|
4118
4141
|
});
|
|
4119
4142
|
}, [element]);
|
|
4120
4143
|
const svgFallback = /* @__PURE__ */ jsx(SmartArtRenderer, { element, className });
|
|
@@ -5722,7 +5745,7 @@ var ATXT = [
|
|
|
5722
5745
|
];
|
|
5723
5746
|
function ShapeArrangeExtras(p) {
|
|
5724
5747
|
const { t } = useTranslation();
|
|
5725
|
-
const canGroup = canGroupSelection(p.canEdit, p.selectedCount);
|
|
5748
|
+
const canGroup = canGroupSelection(p.canEdit, p.selectedCount, p.selectionGroupable);
|
|
5726
5749
|
const canUngroup = canUngroupSelection(p.canEdit, p.selectedElement);
|
|
5727
5750
|
const canStrokeWidth = canSetStrokeWidth(p.canEdit, p.selectedElement);
|
|
5728
5751
|
const strokeWidth = strokeWidthOf(p.selectedElement);
|
|
@@ -5854,6 +5877,7 @@ function ArrangeSection(p) {
|
|
|
5854
5877
|
canEdit: p.canEdit,
|
|
5855
5878
|
selectedElement: p.selectedElement,
|
|
5856
5879
|
selectedCount: p.selectedCount,
|
|
5880
|
+
selectionGroupable: p.selectionGroupable,
|
|
5857
5881
|
onGroupElements: p.onGroupElements,
|
|
5858
5882
|
onUngroupElement: p.onUngroupElement,
|
|
5859
5883
|
onUpdateElementStyle: p.onUpdateElementStyle
|
|
@@ -6309,7 +6333,7 @@ function AccountPage() {
|
|
|
6309
6333
|
return void 0;
|
|
6310
6334
|
});
|
|
6311
6335
|
};
|
|
6312
|
-
const version = "3.
|
|
6336
|
+
const version = "3.6.0" ;
|
|
6313
6337
|
return /* @__PURE__ */ jsxs("div", { className: "mt-8 max-w-[700px] space-y-6", children: [
|
|
6314
6338
|
/* @__PURE__ */ jsxs("section", { className: cardClass, children: [
|
|
6315
6339
|
/* @__PURE__ */ jsxs("h2", { className: "flex items-center gap-2 text-sm font-semibold", children: [
|
|
@@ -8190,6 +8214,52 @@ function RecentColorsRow({
|
|
|
8190
8214
|
}
|
|
8191
8215
|
);
|
|
8192
8216
|
}
|
|
8217
|
+
var ThemeColorMapContext = createContext(void 0);
|
|
8218
|
+
var ThemeColorMapProvider = ThemeColorMapContext.Provider;
|
|
8219
|
+
function useThemeColorMap() {
|
|
8220
|
+
return useContext(ThemeColorMapContext);
|
|
8221
|
+
}
|
|
8222
|
+
function ThemeColorSwatchGrid({
|
|
8223
|
+
prefix,
|
|
8224
|
+
disabled,
|
|
8225
|
+
selectedRef,
|
|
8226
|
+
selectedHex,
|
|
8227
|
+
onPick
|
|
8228
|
+
}) {
|
|
8229
|
+
const { t } = useTranslation();
|
|
8230
|
+
const themeColorMap = useThemeColorMap();
|
|
8231
|
+
const columns = useMemo(() => buildThemeColorSwatchGrid(themeColorMap), [themeColorMap]);
|
|
8232
|
+
const rows = useMemo(() => themeColorSwatchRows(columns), [columns]);
|
|
8233
|
+
const selected = useMemo(
|
|
8234
|
+
() => findSelectedThemeSwatch(columns, selectedRef, selectedHex),
|
|
8235
|
+
[columns, selectedRef, selectedHex]
|
|
8236
|
+
);
|
|
8237
|
+
if (columns.length === 0) {
|
|
8238
|
+
return null;
|
|
8239
|
+
}
|
|
8240
|
+
return /* @__PURE__ */ jsxs("div", { className: "mt-1", children: [
|
|
8241
|
+
/* @__PURE__ */ jsx("div", { className: "text-[10px] text-muted-foreground mb-1", children: t("pptx.colorPicker.themeColors") }),
|
|
8242
|
+
/* @__PURE__ */ jsx("div", { className: "flex flex-col gap-0.5", children: rows.map((row, rowIndex) => (
|
|
8243
|
+
// eslint-disable-next-line react/no-array-index-key
|
|
8244
|
+
/* @__PURE__ */ jsx("div", { className: "flex gap-0.5", children: row.map(
|
|
8245
|
+
(swatch, colIndex) => swatch ? /* @__PURE__ */ jsx(
|
|
8246
|
+
"button",
|
|
8247
|
+
{
|
|
8248
|
+
type: "button",
|
|
8249
|
+
disabled,
|
|
8250
|
+
"data-pptx-compact": true,
|
|
8251
|
+
title: swatch.label,
|
|
8252
|
+
"aria-label": swatch.label,
|
|
8253
|
+
className: `h-4 w-4 rounded-sm border transition-transform hover:scale-110 disabled:opacity-40 disabled:cursor-not-allowed ${selected === swatch ? "border-primary ring-1 ring-primary" : "border-border"}`,
|
|
8254
|
+
style: { backgroundColor: swatch.hex },
|
|
8255
|
+
onClick: () => onPick(themeSwatchCommit(swatch))
|
|
8256
|
+
},
|
|
8257
|
+
`${prefix}-theme-${swatch.ref.scheme}-${rowIndex}`
|
|
8258
|
+
) : /* @__PURE__ */ jsx("div", { className: "h-4 w-4" }, `${prefix}-theme-empty-${rowIndex}-${colIndex}`)
|
|
8259
|
+
) }, `${prefix}-theme-row-${rowIndex}`)
|
|
8260
|
+
)) })
|
|
8261
|
+
] });
|
|
8262
|
+
}
|
|
8193
8263
|
var LINE_SPACING_OPTIONS = [
|
|
8194
8264
|
{ label: "1.0", value: 1 },
|
|
8195
8265
|
{ label: "1.15", value: 1.15 },
|
|
@@ -8362,18 +8432,6 @@ function getEffectiveTextStyle(element, tableEditorState) {
|
|
|
8362
8432
|
}
|
|
8363
8433
|
return void 0;
|
|
8364
8434
|
}
|
|
8365
|
-
var FONT_COLOR_PRESETS = [
|
|
8366
|
-
"#000000",
|
|
8367
|
-
"#ffffff",
|
|
8368
|
-
"#ff0000",
|
|
8369
|
-
"#00aa00",
|
|
8370
|
-
"#0000ff",
|
|
8371
|
-
"#ff8800",
|
|
8372
|
-
"#8800cc",
|
|
8373
|
-
"#00cccc",
|
|
8374
|
-
"#ff69b4",
|
|
8375
|
-
"#808080"
|
|
8376
|
-
];
|
|
8377
8435
|
var HIGHLIGHT_COLOR_PRESETS = [
|
|
8378
8436
|
"#ffff00",
|
|
8379
8437
|
"#00ff00",
|
|
@@ -8395,6 +8453,7 @@ function TextSection(p) {
|
|
|
8395
8453
|
const canFormat = isTextEl || isTable;
|
|
8396
8454
|
const effectiveTs = getEffectiveTextStyle(p.selectedElement, p.tableEditorState);
|
|
8397
8455
|
const currentColor = isTextEl && p.selectedElement && hasTextProperties(p.selectedElement) ? p.selectedElement.textSegments?.[0]?.style?.color ?? p.selectedElement.textStyle?.color ?? "#000000" : effectiveTs?.color ?? "#000000";
|
|
8456
|
+
const currentColorThemeRef = isTextEl && p.selectedElement && hasTextProperties(p.selectedElement) ? p.selectedElement.textSegments?.[0]?.style?.colorRef ?? p.selectedElement.textStyle?.colorRef : void 0;
|
|
8398
8457
|
const currentHighlight = isTextEl && p.selectedElement && hasTextProperties(p.selectedElement) ? p.selectedElement.textSegments?.[0]?.style?.highlightColor ?? p.selectedElement.textStyle?.highlightColor ?? "#ffff00" : "#ffff00";
|
|
8399
8458
|
const colorInputRef = useRef(null);
|
|
8400
8459
|
const highlightInputRef = useRef(null);
|
|
@@ -8404,11 +8463,11 @@ function TextSection(p) {
|
|
|
8404
8463
|
const highlightMenuRef = useRef(null);
|
|
8405
8464
|
const { pushColor } = useRecentColors();
|
|
8406
8465
|
const handleColorChange = useCallback(
|
|
8407
|
-
(color) => {
|
|
8466
|
+
(color, ref) => {
|
|
8408
8467
|
if (!canFormat) {
|
|
8409
8468
|
return;
|
|
8410
8469
|
}
|
|
8411
|
-
p.onUpdateTextStyle({ color });
|
|
8470
|
+
p.onUpdateTextStyle({ color, colorRef: ref });
|
|
8412
8471
|
pushColor(color);
|
|
8413
8472
|
},
|
|
8414
8473
|
[canFormat, p, pushColor]
|
|
@@ -8739,19 +8798,31 @@ function TextSection(p) {
|
|
|
8739
8798
|
]
|
|
8740
8799
|
}
|
|
8741
8800
|
),
|
|
8742
|
-
/* @__PURE__ */ jsx(RibbonMenu, { anchorRef: fontColorRef, className: "hidden group-hover:block pt-1", children: /* @__PURE__ */ jsxs("div", { className: "rounded-lg border border-border bg-popover backdrop-blur-lg shadow-2xl p-2 w-
|
|
8743
|
-
/* @__PURE__ */ jsx(
|
|
8801
|
+
/* @__PURE__ */ jsx(RibbonMenu, { anchorRef: fontColorRef, className: "hidden group-hover:block pt-1", children: /* @__PURE__ */ jsxs("div", { className: "rounded-lg border border-border bg-popover backdrop-blur-lg shadow-2xl p-2 w-48", children: [
|
|
8802
|
+
/* @__PURE__ */ jsx(
|
|
8803
|
+
ThemeColorSwatchGrid,
|
|
8804
|
+
{
|
|
8805
|
+
prefix: "font-color",
|
|
8806
|
+
disabled: !canMut,
|
|
8807
|
+
selectedRef: currentColorThemeRef,
|
|
8808
|
+
selectedHex: currentColor,
|
|
8809
|
+
onPick: (c) => handleColorChange(c.hex, c.ref)
|
|
8810
|
+
}
|
|
8811
|
+
),
|
|
8812
|
+
/* @__PURE__ */ jsx("div", { className: "text-[10px] text-muted-foreground mt-1 mb-1", children: t("pptx.colorPicker.standardColors") }),
|
|
8813
|
+
/* @__PURE__ */ jsx("div", { className: "grid grid-cols-5 gap-1.5 mb-2", children: OFFICE_COLOR_SWATCHES.map((c) => /* @__PURE__ */ jsx(
|
|
8744
8814
|
"button",
|
|
8745
8815
|
{
|
|
8746
8816
|
type: "button",
|
|
8747
|
-
"aria-label": c,
|
|
8817
|
+
"aria-label": c.label,
|
|
8818
|
+
title: c.label,
|
|
8748
8819
|
"data-pptx-compact": true,
|
|
8749
|
-
className: `w-5 h-5 rounded-full border transition-transform hover:scale-125 ${currentColor?.toLowerCase() === c ? "border-primary ring-1 ring-primary" : "border-border"}`,
|
|
8750
|
-
style: { backgroundColor: c },
|
|
8820
|
+
className: `w-5 h-5 rounded-full border transition-transform hover:scale-125 ${currentColor?.toLowerCase() === c.hex ? "border-primary ring-1 ring-primary" : "border-border"}`,
|
|
8821
|
+
style: { backgroundColor: c.hex },
|
|
8751
8822
|
onMouseDown: (e) => e.preventDefault(),
|
|
8752
|
-
onClick: () => handleColorChange(c)
|
|
8823
|
+
onClick: () => handleColorChange(c.hex)
|
|
8753
8824
|
},
|
|
8754
|
-
c
|
|
8825
|
+
c.hex
|
|
8755
8826
|
)) }),
|
|
8756
8827
|
/* @__PURE__ */ jsx(
|
|
8757
8828
|
"button",
|
|
@@ -9367,6 +9438,7 @@ function MobileSectionBody({
|
|
|
9367
9438
|
canEdit: p.canEdit,
|
|
9368
9439
|
selectedElement: p.selectedElement,
|
|
9369
9440
|
selectedCount: p.selectedCount,
|
|
9441
|
+
selectionGroupable: p.selectionGroupable,
|
|
9370
9442
|
onAlignElements: p.onAlignElements,
|
|
9371
9443
|
onDistributeElements: p.onDistributeElements,
|
|
9372
9444
|
canDistribute: p.canDistribute,
|
|
@@ -9636,12 +9708,29 @@ function ShapeColorPopover({
|
|
|
9636
9708
|
onToggle,
|
|
9637
9709
|
disabled,
|
|
9638
9710
|
swatchAriaLabel,
|
|
9711
|
+
selectedRef,
|
|
9712
|
+
selectedHex,
|
|
9639
9713
|
onApply,
|
|
9640
9714
|
onClose
|
|
9641
9715
|
}) {
|
|
9716
|
+
const { t } = useTranslation();
|
|
9642
9717
|
return /* @__PURE__ */ jsxs("div", { className: "relative", ref: anchorRef, children: [
|
|
9643
9718
|
/* @__PURE__ */ jsx("button", { type: "button", disabled, className: pill, title, onClick: onToggle, children: icon }),
|
|
9644
9719
|
open && /* @__PURE__ */ jsx(RibbonMenu, { anchorRef, className: "pt-1", children: /* @__PURE__ */ jsxs("div", { className: "rounded-lg border border-border bg-popover backdrop-blur-lg shadow-2xl p-2", children: [
|
|
9720
|
+
/* @__PURE__ */ jsx(
|
|
9721
|
+
ThemeColorSwatchGrid,
|
|
9722
|
+
{
|
|
9723
|
+
prefix,
|
|
9724
|
+
disabled,
|
|
9725
|
+
selectedRef,
|
|
9726
|
+
selectedHex,
|
|
9727
|
+
onPick: (c) => {
|
|
9728
|
+
onApply(c.hex, c.ref);
|
|
9729
|
+
onClose();
|
|
9730
|
+
}
|
|
9731
|
+
}
|
|
9732
|
+
),
|
|
9733
|
+
/* @__PURE__ */ jsx("div", { className: "mt-1 text-[10px] text-muted-foreground mb-1", children: t("pptx.colorPicker.standardColors") }),
|
|
9645
9734
|
/* @__PURE__ */ jsx("div", { className: "grid grid-cols-6 gap-1", children: RIBBON_SHAPE_SWATCHES.map((c) => /* @__PURE__ */ jsx(
|
|
9646
9735
|
"button",
|
|
9647
9736
|
{
|
|
@@ -9676,6 +9765,7 @@ var TOP_SHAPES = SHAPE_PRESETS.slice(0, 12);
|
|
|
9676
9765
|
function DrawingGroup(p) {
|
|
9677
9766
|
const { t } = useTranslation();
|
|
9678
9767
|
const { pushColor } = useRecentColors();
|
|
9768
|
+
const selectedShapeStyle = p.selectedElement && hasShapeProperties(p.selectedElement) ? p.selectedElement.shapeStyle : void 0;
|
|
9679
9769
|
const [shapesOpen, setShapesOpen] = useState(false);
|
|
9680
9770
|
const [arrangeOpen, setArrangeOpen] = useState(false);
|
|
9681
9771
|
const [fillOpen, setFillOpen] = useState(false);
|
|
@@ -9848,8 +9938,10 @@ function DrawingGroup(p) {
|
|
|
9848
9938
|
onToggle: () => setFillOpen((v) => !v),
|
|
9849
9939
|
disabled: !p.canEdit || !p.selectedElement,
|
|
9850
9940
|
swatchAriaLabel: "Fill colour",
|
|
9851
|
-
|
|
9852
|
-
|
|
9941
|
+
selectedRef: selectedShapeStyle?.fillColorRef,
|
|
9942
|
+
selectedHex: selectedShapeStyle?.fillColor,
|
|
9943
|
+
onApply: (c, ref) => {
|
|
9944
|
+
p.onUpdateElementStyle?.(shapeFillChange(c, ref));
|
|
9853
9945
|
pushColor(c);
|
|
9854
9946
|
},
|
|
9855
9947
|
onClose: () => setFillOpen(false)
|
|
@@ -9866,8 +9958,10 @@ function DrawingGroup(p) {
|
|
|
9866
9958
|
onToggle: () => setOutlineOpen((v) => !v),
|
|
9867
9959
|
disabled: !p.canEdit || !p.selectedElement,
|
|
9868
9960
|
swatchAriaLabel: "Outline colour",
|
|
9869
|
-
|
|
9870
|
-
|
|
9961
|
+
selectedRef: selectedShapeStyle?.strokeColorRef,
|
|
9962
|
+
selectedHex: selectedShapeStyle?.strokeColor,
|
|
9963
|
+
onApply: (c, ref) => {
|
|
9964
|
+
p.onUpdateElementStyle?.(shapeOutlineChange(c, ref));
|
|
9871
9965
|
pushColor(c);
|
|
9872
9966
|
},
|
|
9873
9967
|
onClose: () => setOutlineOpen(false)
|
|
@@ -10719,6 +10813,7 @@ function Toolbar(p) {
|
|
|
10719
10813
|
canEdit: p.canEdit,
|
|
10720
10814
|
selectedElement: p.selectedElement,
|
|
10721
10815
|
selectedCount: p.selectedCount,
|
|
10816
|
+
selectionGroupable: p.selectionGroupable,
|
|
10722
10817
|
onAlignElements: p.onAlignElements,
|
|
10723
10818
|
onDistributeElements: p.onDistributeElements,
|
|
10724
10819
|
canDistribute: p.canDistribute,
|
|
@@ -13323,6 +13418,7 @@ function contextMenuContext(props) {
|
|
|
13323
13418
|
elementType: props.selectedElement?.type ?? null,
|
|
13324
13419
|
table: tableCell(props),
|
|
13325
13420
|
hasMultiSelection: Boolean(props.hasMultiSelection),
|
|
13421
|
+
selectionGroupable: props.selectionGroupable,
|
|
13326
13422
|
// Both AI entries appear together or not at all, so a viewer that wired
|
|
13327
13423
|
// only one of them does not produce a menu the other bindings cannot match.
|
|
13328
13424
|
aiEnabled: Boolean(props.onAskAi) && Boolean(props.onFixAi)
|
|
@@ -22596,6 +22692,129 @@ function ChartTypeSelector({
|
|
|
22596
22692
|
] })
|
|
22597
22693
|
] });
|
|
22598
22694
|
}
|
|
22695
|
+
function ChartUserShapeOptions({
|
|
22696
|
+
chartData,
|
|
22697
|
+
canEdit,
|
|
22698
|
+
onUpdateChartData
|
|
22699
|
+
}) {
|
|
22700
|
+
const { t } = useTranslation();
|
|
22701
|
+
const shapes = chartData.userShapes;
|
|
22702
|
+
const descriptors = listChartUserShapeDescriptors(shapes);
|
|
22703
|
+
const kindLabel = (kind) => {
|
|
22704
|
+
const key = `pptx.chart.userShapeKind${kind.charAt(0).toUpperCase()}${kind.slice(1)}`;
|
|
22705
|
+
return t(key);
|
|
22706
|
+
};
|
|
22707
|
+
return /* @__PURE__ */ jsxs("div", { className: CARD2, children: [
|
|
22708
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between", children: [
|
|
22709
|
+
/* @__PURE__ */ jsx("div", { className: HEADING2, children: t("pptx.chart.userShapes") }),
|
|
22710
|
+
/* @__PURE__ */ jsx(
|
|
22711
|
+
"button",
|
|
22712
|
+
{
|
|
22713
|
+
type: "button",
|
|
22714
|
+
disabled: !canEdit,
|
|
22715
|
+
className: BTN2,
|
|
22716
|
+
onClick: () => onUpdateChartData({
|
|
22717
|
+
userShapes: withChartUserShapeAdded(shapes, createDefaultChartUserShape())
|
|
22718
|
+
}),
|
|
22719
|
+
children: t("pptx.chart.userShapeAddTextBox")
|
|
22720
|
+
}
|
|
22721
|
+
)
|
|
22722
|
+
] }),
|
|
22723
|
+
descriptors.length === 0 ? /* @__PURE__ */ jsx("div", { className: "text-[11px] text-muted-foreground", children: t("pptx.chart.userShapesEmpty") }) : /* @__PURE__ */ jsx("div", { className: "space-y-2", children: descriptors.map((d) => /* @__PURE__ */ jsxs("div", { className: "space-y-1 rounded border border-border p-1.5", children: [
|
|
22724
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 text-[11px]", children: [
|
|
22725
|
+
/* @__PURE__ */ jsxs("span", { className: "flex-1 truncate", children: [
|
|
22726
|
+
kindLabel(d.kind),
|
|
22727
|
+
d.text ? ` - ${d.text}` : ""
|
|
22728
|
+
] }),
|
|
22729
|
+
/* @__PURE__ */ jsx(
|
|
22730
|
+
"button",
|
|
22731
|
+
{
|
|
22732
|
+
type: "button",
|
|
22733
|
+
disabled: !canEdit,
|
|
22734
|
+
"aria-label": t("pptx.chart.userShapeDelete"),
|
|
22735
|
+
className: BTN2,
|
|
22736
|
+
onClick: () => onUpdateChartData({ userShapes: withChartUserShapeRemoved(shapes, d.index) }),
|
|
22737
|
+
children: "\u2715"
|
|
22738
|
+
}
|
|
22739
|
+
)
|
|
22740
|
+
] }),
|
|
22741
|
+
d.editable ? /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1 text-[11px]", children: [
|
|
22742
|
+
/* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: t("pptx.chart.userShapeFrom") }),
|
|
22743
|
+
/* @__PURE__ */ jsx(
|
|
22744
|
+
"input",
|
|
22745
|
+
{
|
|
22746
|
+
type: "number",
|
|
22747
|
+
step: "0.01",
|
|
22748
|
+
min: 0,
|
|
22749
|
+
max: 1,
|
|
22750
|
+
disabled: !canEdit,
|
|
22751
|
+
className: INPUT2,
|
|
22752
|
+
value: d.from.x,
|
|
22753
|
+
onChange: (e) => onUpdateChartData({
|
|
22754
|
+
userShapes: withChartUserShapeUpdated(shapes, d.index, {
|
|
22755
|
+
from: { ...d.from, x: Number(e.target.value) }
|
|
22756
|
+
})
|
|
22757
|
+
})
|
|
22758
|
+
}
|
|
22759
|
+
),
|
|
22760
|
+
/* @__PURE__ */ jsx(
|
|
22761
|
+
"input",
|
|
22762
|
+
{
|
|
22763
|
+
type: "number",
|
|
22764
|
+
step: "0.01",
|
|
22765
|
+
min: 0,
|
|
22766
|
+
max: 1,
|
|
22767
|
+
disabled: !canEdit,
|
|
22768
|
+
className: INPUT2,
|
|
22769
|
+
value: d.from.y,
|
|
22770
|
+
onChange: (e) => onUpdateChartData({
|
|
22771
|
+
userShapes: withChartUserShapeUpdated(shapes, d.index, {
|
|
22772
|
+
from: { ...d.from, y: Number(e.target.value) }
|
|
22773
|
+
})
|
|
22774
|
+
})
|
|
22775
|
+
}
|
|
22776
|
+
),
|
|
22777
|
+
d.anchor === "rel" && d.to ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
22778
|
+
/* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: t("pptx.chart.userShapeTo") }),
|
|
22779
|
+
/* @__PURE__ */ jsx(
|
|
22780
|
+
"input",
|
|
22781
|
+
{
|
|
22782
|
+
type: "number",
|
|
22783
|
+
step: "0.01",
|
|
22784
|
+
min: 0,
|
|
22785
|
+
max: 1,
|
|
22786
|
+
disabled: !canEdit,
|
|
22787
|
+
className: INPUT2,
|
|
22788
|
+
value: d.to.x,
|
|
22789
|
+
onChange: (e) => onUpdateChartData({
|
|
22790
|
+
userShapes: withChartUserShapeUpdated(shapes, d.index, {
|
|
22791
|
+
to: { ...d.to, x: Number(e.target.value) }
|
|
22792
|
+
})
|
|
22793
|
+
})
|
|
22794
|
+
}
|
|
22795
|
+
),
|
|
22796
|
+
/* @__PURE__ */ jsx(
|
|
22797
|
+
"input",
|
|
22798
|
+
{
|
|
22799
|
+
type: "number",
|
|
22800
|
+
step: "0.01",
|
|
22801
|
+
min: 0,
|
|
22802
|
+
max: 1,
|
|
22803
|
+
disabled: !canEdit,
|
|
22804
|
+
className: INPUT2,
|
|
22805
|
+
value: d.to.y,
|
|
22806
|
+
onChange: (e) => onUpdateChartData({
|
|
22807
|
+
userShapes: withChartUserShapeUpdated(shapes, d.index, {
|
|
22808
|
+
to: { ...d.to, y: Number(e.target.value) }
|
|
22809
|
+
})
|
|
22810
|
+
})
|
|
22811
|
+
}
|
|
22812
|
+
)
|
|
22813
|
+
] }) : null
|
|
22814
|
+
] }) : /* @__PURE__ */ jsx("div", { className: "text-[10px] italic text-muted-foreground", children: t("pptx.chart.userShapeNotEditable") })
|
|
22815
|
+
] }, d.index)) })
|
|
22816
|
+
] });
|
|
22817
|
+
}
|
|
22599
22818
|
function ChartDataPanel({ selectedElement, canEdit, onUpdateElement }) {
|
|
22600
22819
|
const chartData = selectedElement.chartData;
|
|
22601
22820
|
const followDataPoint = useViewerOptionsContext().advanced.chartPropertiesFollowDataPoint;
|
|
@@ -22924,6 +23143,14 @@ function ChartDataPanel({ selectedElement, canEdit, onUpdateElement }) {
|
|
|
22924
23143
|
onToggleSecondaryAxis: toggleSecondaryAxis
|
|
22925
23144
|
}
|
|
22926
23145
|
),
|
|
23146
|
+
/* @__PURE__ */ jsx(
|
|
23147
|
+
ChartUserShapeOptions,
|
|
23148
|
+
{
|
|
23149
|
+
chartData,
|
|
23150
|
+
canEdit,
|
|
23151
|
+
onUpdateChartData: updateChartData
|
|
23152
|
+
}
|
|
23153
|
+
),
|
|
22927
23154
|
/* @__PURE__ */ jsx(
|
|
22928
23155
|
ChartDataGrid,
|
|
22929
23156
|
{
|
|
@@ -23048,7 +23275,7 @@ function ConnectorPanel({
|
|
|
23048
23275
|
ConnectorArrowsSection,
|
|
23049
23276
|
{
|
|
23050
23277
|
selectedShapeStyle: selectedElement.shapeStyle,
|
|
23051
|
-
canEdit,
|
|
23278
|
+
canEdit: canEdit && canInteractWithElement(selectedElement, "changeArrowheads"),
|
|
23052
23279
|
onUpdateShapeStyle: onUpdateElementStyle
|
|
23053
23280
|
}
|
|
23054
23281
|
)
|
|
@@ -23619,6 +23846,7 @@ function ImageCropSection({
|
|
|
23619
23846
|
if (!isImageLikeElement(selectedElement)) {
|
|
23620
23847
|
return null;
|
|
23621
23848
|
}
|
|
23849
|
+
const croppable = canEdit && canInteractWithElement(selectedElement, "crop");
|
|
23622
23850
|
return /* @__PURE__ */ jsxs("div", { className: "space-y-1.5", "data-pptx-image-crop": true, children: [
|
|
23623
23851
|
CROP_SIDES.map((side) => {
|
|
23624
23852
|
const key = `crop${side}`;
|
|
@@ -23633,7 +23861,7 @@ function ImageCropSection({
|
|
|
23633
23861
|
type: "range",
|
|
23634
23862
|
min: 0,
|
|
23635
23863
|
max: MAX_CROP_PERCENT,
|
|
23636
|
-
disabled: !
|
|
23864
|
+
disabled: !croppable,
|
|
23637
23865
|
className: "accent-primary",
|
|
23638
23866
|
value: Math.round(clampCropValue(selectedElement[key]) * 100),
|
|
23639
23867
|
onChange: (e) => onUpdateElement({
|
|
@@ -23647,7 +23875,7 @@ function ImageCropSection({
|
|
|
23647
23875
|
"button",
|
|
23648
23876
|
{
|
|
23649
23877
|
type: "button",
|
|
23650
|
-
disabled: !
|
|
23878
|
+
disabled: !croppable,
|
|
23651
23879
|
className: `${BTN_CLS} w-full`,
|
|
23652
23880
|
onClick: () => onUpdateElement({
|
|
23653
23881
|
cropLeft: 0,
|
|
@@ -23856,23 +24084,14 @@ function mmSsToMs(value) {
|
|
|
23856
24084
|
}
|
|
23857
24085
|
return seconds * 1e3;
|
|
23858
24086
|
}
|
|
24087
|
+
var TRIM_ERROR_KEYS = {
|
|
24088
|
+
negative: "pptx.media.trimErrorNegative",
|
|
24089
|
+
startAfterEnd: "pptx.media.trimErrorStartAfterEnd",
|
|
24090
|
+
beyondDuration: "pptx.media.trimErrorBeyondDuration"
|
|
24091
|
+
};
|
|
23859
24092
|
function validateTrimRange(trimStartMs, trimEndMs, durationMs) {
|
|
23860
|
-
|
|
23861
|
-
|
|
23862
|
-
}
|
|
23863
|
-
if (trimEndMs < 0) {
|
|
23864
|
-
return "pptx.media.trimErrorNegative";
|
|
23865
|
-
}
|
|
23866
|
-
if (trimEndMs > 0 && trimStartMs >= trimEndMs) {
|
|
23867
|
-
return "pptx.media.trimErrorStartAfterEnd";
|
|
23868
|
-
}
|
|
23869
|
-
if (durationMs > 0 && trimStartMs > durationMs) {
|
|
23870
|
-
return "pptx.media.trimErrorBeyondDuration";
|
|
23871
|
-
}
|
|
23872
|
-
if (durationMs > 0 && trimEndMs > durationMs) {
|
|
23873
|
-
return "pptx.media.trimErrorBeyondDuration";
|
|
23874
|
-
}
|
|
23875
|
-
return null;
|
|
24093
|
+
const error = validateMediaTrimRange(trimStartMs, trimEndMs, durationMs);
|
|
24094
|
+
return error ? TRIM_ERROR_KEYS[error] : null;
|
|
23876
24095
|
}
|
|
23877
24096
|
function TrimTimeInput({
|
|
23878
24097
|
label,
|
|
@@ -23942,14 +24161,11 @@ function MediaInspector({
|
|
|
23942
24161
|
const trimStartMs = element.trimStartMs ?? 0;
|
|
23943
24162
|
const trimEndMs = element.trimEndMs ?? 0;
|
|
23944
24163
|
const durationMs = durationSeconds * 1e3;
|
|
23945
|
-
const trimmedDuration = useMemo(
|
|
23946
|
-
|
|
23947
|
-
|
|
23948
|
-
|
|
23949
|
-
|
|
23950
|
-
}
|
|
23951
|
-
return msToMmSs(effectiveEnd - effectiveStart);
|
|
23952
|
-
}, [trimStartMs, trimEndMs, durationMs]);
|
|
24164
|
+
const trimmedDuration = useMemo(
|
|
24165
|
+
() => msToMmSs(trimmedMediaDurationMs(trimStartMs, trimEndMs, durationMs)),
|
|
24166
|
+
[trimStartMs, trimEndMs, durationMs]
|
|
24167
|
+
);
|
|
24168
|
+
const trimEndAbsoluteMs = mediaTrimEndAbsoluteMs(durationMs, trimEndMs);
|
|
23953
24169
|
const validationError = useMemo(
|
|
23954
24170
|
() => validateTrimRange(trimStartMs, trimEndMs, durationMs),
|
|
23955
24171
|
[trimStartMs, trimEndMs, durationMs]
|
|
@@ -23966,10 +24182,10 @@ function MediaInspector({
|
|
|
23966
24182
|
const handleTrimEndChange = useCallback(
|
|
23967
24183
|
(ms) => {
|
|
23968
24184
|
onUpdateElement({
|
|
23969
|
-
trimEndMs: ms
|
|
24185
|
+
trimEndMs: durationMs > 0 ? mediaTrimEndMsFromAbsoluteMs(durationMs, ms) : ms
|
|
23970
24186
|
});
|
|
23971
24187
|
},
|
|
23972
|
-
[onUpdateElement]
|
|
24188
|
+
[durationMs, onUpdateElement]
|
|
23973
24189
|
);
|
|
23974
24190
|
const handleResetTrim = useCallback(() => {
|
|
23975
24191
|
onUpdateElement({
|
|
@@ -23997,7 +24213,7 @@ function MediaInspector({
|
|
|
23997
24213
|
TrimTimeInput,
|
|
23998
24214
|
{
|
|
23999
24215
|
label: t("pptx.media.trimEndTime"),
|
|
24000
|
-
valueMs:
|
|
24216
|
+
valueMs: trimEndAbsoluteMs,
|
|
24001
24217
|
maxMs: durationMs,
|
|
24002
24218
|
disabled: !canEdit,
|
|
24003
24219
|
onChange: handleTrimEndChange
|
|
@@ -24043,7 +24259,7 @@ function TrimTimeline({
|
|
|
24043
24259
|
const barRef = useRef(null);
|
|
24044
24260
|
const [dragging, setDragging] = useState(null);
|
|
24045
24261
|
const trimStartSec = trimStartMs / 1e3;
|
|
24046
|
-
const trimEndSec =
|
|
24262
|
+
const trimEndSec = mediaTrimEndSeconds(duration, trimEndMs);
|
|
24047
24263
|
const safeDuration = duration > 0 ? duration : 1;
|
|
24048
24264
|
const startPct = trimStartSec / safeDuration * 100;
|
|
24049
24265
|
const endPct = trimEndSec / safeDuration * 100;
|
|
@@ -24071,7 +24287,7 @@ function TrimTimeline({
|
|
|
24071
24287
|
onTrimChange(Math.max(0, newStart) * 1e3, trimEndMs);
|
|
24072
24288
|
} else {
|
|
24073
24289
|
const newEnd = Math.max(t, trimStartSec + 0.1);
|
|
24074
|
-
onTrimChange(trimStartMs,
|
|
24290
|
+
onTrimChange(trimStartMs, mediaTrimEndMsFromSeconds(duration, newEnd));
|
|
24075
24291
|
}
|
|
24076
24292
|
};
|
|
24077
24293
|
const handlePointerUp = () => {
|
|
@@ -25350,14 +25566,15 @@ function SelectRow({
|
|
|
25350
25566
|
function ColorPickerRow({
|
|
25351
25567
|
label,
|
|
25352
25568
|
value,
|
|
25569
|
+
selectedRef,
|
|
25353
25570
|
disabled,
|
|
25354
25571
|
prefix,
|
|
25355
25572
|
onChange
|
|
25356
25573
|
}) {
|
|
25357
25574
|
const { t } = useTranslation();
|
|
25358
25575
|
const { pushColor } = useRecentColors();
|
|
25359
|
-
const commit = (color) => {
|
|
25360
|
-
onChange(color);
|
|
25576
|
+
const commit = (color, ref) => {
|
|
25577
|
+
onChange(color, ref);
|
|
25361
25578
|
pushColor(color);
|
|
25362
25579
|
};
|
|
25363
25580
|
const handleEyedropper = async () => {
|
|
@@ -25394,20 +25611,33 @@ function ColorPickerRow({
|
|
|
25394
25611
|
}
|
|
25395
25612
|
)
|
|
25396
25613
|
] }),
|
|
25397
|
-
/* @__PURE__ */ jsx(
|
|
25398
|
-
|
|
25614
|
+
/* @__PURE__ */ jsx(
|
|
25615
|
+
ThemeColorSwatchGrid,
|
|
25399
25616
|
{
|
|
25400
|
-
|
|
25401
|
-
className: `${SWATCH} ${DIS}`,
|
|
25402
|
-
style: { backgroundColor: c },
|
|
25403
|
-
title: `${label} ${c}`,
|
|
25404
|
-
"aria-label": `${label} ${c}`,
|
|
25405
|
-
"data-pptx-compact": true,
|
|
25617
|
+
prefix,
|
|
25406
25618
|
disabled,
|
|
25407
|
-
|
|
25408
|
-
|
|
25409
|
-
|
|
25410
|
-
|
|
25619
|
+
selectedRef,
|
|
25620
|
+
selectedHex: value,
|
|
25621
|
+
onPick: (c) => commit(c.hex, c.ref)
|
|
25622
|
+
}
|
|
25623
|
+
),
|
|
25624
|
+
/* @__PURE__ */ jsxs("div", { className: "mt-1", children: [
|
|
25625
|
+
/* @__PURE__ */ jsx("div", { className: "text-[10px] text-muted-foreground mb-1", children: t("pptx.colorPicker.standardColors") }),
|
|
25626
|
+
/* @__PURE__ */ jsx("div", { className: "flex flex-wrap gap-1", children: OFFICE_COLOR_SWATCHES.map((c) => /* @__PURE__ */ jsx(
|
|
25627
|
+
"button",
|
|
25628
|
+
{
|
|
25629
|
+
type: "button",
|
|
25630
|
+
className: `${SWATCH} ${DIS}`,
|
|
25631
|
+
style: { backgroundColor: c.hex },
|
|
25632
|
+
title: `${label} ${c.label}`,
|
|
25633
|
+
"aria-label": `${label} ${c.label}`,
|
|
25634
|
+
"data-pptx-compact": true,
|
|
25635
|
+
disabled,
|
|
25636
|
+
onClick: () => commit(c.hex)
|
|
25637
|
+
},
|
|
25638
|
+
`${prefix}-standard-${c.hex}`
|
|
25639
|
+
)) })
|
|
25640
|
+
] }),
|
|
25411
25641
|
/* @__PURE__ */ jsx(RecentColorsRow, { prefix, disabled, onCommit: commit })
|
|
25412
25642
|
] });
|
|
25413
25643
|
}
|
|
@@ -25433,7 +25663,7 @@ function GradientStopRow({
|
|
|
25433
25663
|
value: normalizeHexColor(stop.color, "#3b82f6"),
|
|
25434
25664
|
onChange: (e) => {
|
|
25435
25665
|
const hex = normalizeHexColor(e.target.value, "#3b82f6");
|
|
25436
|
-
patchStop({ color: hex });
|
|
25666
|
+
patchStop({ color: hex, colorRef: void 0 });
|
|
25437
25667
|
pushColor(hex);
|
|
25438
25668
|
},
|
|
25439
25669
|
className: "h-7 w-10 rounded border border-border bg-muted"
|
|
@@ -25461,6 +25691,18 @@ function GradientStopRow({
|
|
|
25461
25691
|
}
|
|
25462
25692
|
)
|
|
25463
25693
|
] }),
|
|
25694
|
+
/* @__PURE__ */ jsx(
|
|
25695
|
+
ThemeColorSwatchGrid,
|
|
25696
|
+
{
|
|
25697
|
+
prefix: `gradient-stop-${index}`,
|
|
25698
|
+
selectedRef: stop.colorRef,
|
|
25699
|
+
selectedHex: stop.color,
|
|
25700
|
+
onPick: (c) => {
|
|
25701
|
+
patchStop({ color: c.hex, colorRef: c.ref });
|
|
25702
|
+
pushColor(c.hex);
|
|
25703
|
+
}
|
|
25704
|
+
}
|
|
25705
|
+
),
|
|
25464
25706
|
/* @__PURE__ */ jsxs("div", { className: "grid grid-cols-[auto,1fr,auto] items-center gap-2 pl-1", children: [
|
|
25465
25707
|
/* @__PURE__ */ jsx("span", { className: "text-[10px] text-muted-foreground w-10 text-center", children: "Opacity" }),
|
|
25466
25708
|
/* @__PURE__ */ jsx(
|
|
@@ -25701,6 +25943,7 @@ function StrokeEffectsSection({
|
|
|
25701
25943
|
label: t("pptx.inspector.stroke"),
|
|
25702
25944
|
prefix: "stroke",
|
|
25703
25945
|
value: normalizeHexColor(style?.strokeColor, DEFAULT_STROKE_COLOR),
|
|
25946
|
+
selectedRef: style?.strokeColorRef,
|
|
25704
25947
|
onChange: onSetStrokeColor
|
|
25705
25948
|
}
|
|
25706
25949
|
),
|
|
@@ -25909,6 +26152,7 @@ function FillStrokeProperties({
|
|
|
25909
26152
|
label: t("pptx.fill.fill"),
|
|
25910
26153
|
prefix: "fill",
|
|
25911
26154
|
value: normalizeHexColor(style?.fillColor, DEFAULT_FILL_COLOR),
|
|
26155
|
+
selectedRef: style?.fillColorRef,
|
|
25912
26156
|
disabled: line,
|
|
25913
26157
|
onChange: onSetFillColor
|
|
25914
26158
|
}
|
|
@@ -26761,8 +27005,8 @@ function ShapeTextPanels({
|
|
|
26761
27005
|
),
|
|
26762
27006
|
canEdit,
|
|
26763
27007
|
onUpdateShapeStyle: onUpdateElementStyle,
|
|
26764
|
-
onSetFillColor: (hex) => onUpdateElementStyle({ fillColor: hex, fillMode: "solid" }),
|
|
26765
|
-
onSetStrokeColor: (hex) => onUpdateElementStyle({ strokeColor: hex })
|
|
27008
|
+
onSetFillColor: (hex, ref) => onUpdateElementStyle({ fillColor: hex, fillMode: "solid", fillColorRef: ref }),
|
|
27009
|
+
onSetStrokeColor: (hex, ref) => onUpdateElementStyle({ strokeColor: hex, strokeColorRef: ref })
|
|
26766
27010
|
}
|
|
26767
27011
|
)
|
|
26768
27012
|
] }),
|
|
@@ -26794,16 +27038,26 @@ function ShapeTextPanels({
|
|
|
26794
27038
|
ariaLabel: "Text Color",
|
|
26795
27039
|
value: normalizeHexColor(selectedElement.textStyle?.color, "#000000"),
|
|
26796
27040
|
className: "w-full h-7 rounded border border-border bg-transparent cursor-pointer",
|
|
26797
|
-
onCommit: (hex) => onUpdateTextStyle({ color: hex })
|
|
27041
|
+
onCommit: (hex) => onUpdateTextStyle({ color: hex, colorRef: void 0 })
|
|
26798
27042
|
}
|
|
26799
27043
|
)
|
|
26800
27044
|
] }),
|
|
27045
|
+
/* @__PURE__ */ jsx("div", { className: "col-span-2", children: /* @__PURE__ */ jsx(
|
|
27046
|
+
ThemeColorSwatchGrid,
|
|
27047
|
+
{
|
|
27048
|
+
prefix: "text-color",
|
|
27049
|
+
disabled: !canEdit,
|
|
27050
|
+
selectedRef: selectedElement.textStyle?.colorRef,
|
|
27051
|
+
selectedHex: selectedElement.textStyle?.color,
|
|
27052
|
+
onPick: (c) => onUpdateTextStyle({ color: c.hex, colorRef: c.ref })
|
|
27053
|
+
}
|
|
27054
|
+
) }),
|
|
26801
27055
|
/* @__PURE__ */ jsx("div", { className: "col-span-2", children: /* @__PURE__ */ jsx(
|
|
26802
27056
|
RecentColorsRow,
|
|
26803
27057
|
{
|
|
26804
27058
|
prefix: "text-color",
|
|
26805
27059
|
disabled: !canEdit,
|
|
26806
|
-
onCommit: (hex) => onUpdateTextStyle({ color: hex })
|
|
27060
|
+
onCommit: (hex) => onUpdateTextStyle({ color: hex, colorRef: void 0 })
|
|
26807
27061
|
}
|
|
26808
27062
|
) }),
|
|
26809
27063
|
/* @__PURE__ */ jsxs("div", { className: "flex gap-1 col-span-2", children: [
|
|
@@ -27930,6 +28184,39 @@ function GradientControls({
|
|
|
27930
28184
|
)
|
|
27931
28185
|
] });
|
|
27932
28186
|
}
|
|
28187
|
+
function TableCellColorField({
|
|
28188
|
+
label,
|
|
28189
|
+
prefix,
|
|
28190
|
+
value,
|
|
28191
|
+
fallback,
|
|
28192
|
+
selectedRef,
|
|
28193
|
+
disabled,
|
|
28194
|
+
onCommit
|
|
28195
|
+
}) {
|
|
28196
|
+
const hex = normalizeHexColor(value, fallback);
|
|
28197
|
+
return /* @__PURE__ */ jsxs("label", { className: "flex flex-col gap-1", children: [
|
|
28198
|
+
/* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: label }),
|
|
28199
|
+
/* @__PURE__ */ jsx(
|
|
28200
|
+
DebouncedColorInput,
|
|
28201
|
+
{
|
|
28202
|
+
disabled,
|
|
28203
|
+
value: hex,
|
|
28204
|
+
className: "w-full h-7 rounded border border-border bg-transparent cursor-pointer",
|
|
28205
|
+
onCommit: (next) => onCommit(next, void 0)
|
|
28206
|
+
}
|
|
28207
|
+
),
|
|
28208
|
+
/* @__PURE__ */ jsx(
|
|
28209
|
+
ThemeColorSwatchGrid,
|
|
28210
|
+
{
|
|
28211
|
+
prefix,
|
|
28212
|
+
disabled,
|
|
28213
|
+
selectedRef,
|
|
28214
|
+
selectedHex: hex,
|
|
28215
|
+
onPick: (c) => onCommit(c.hex, c.ref)
|
|
28216
|
+
}
|
|
28217
|
+
)
|
|
28218
|
+
] });
|
|
28219
|
+
}
|
|
27933
28220
|
function TableCellFormattingPanel({
|
|
27934
28221
|
tableData: td,
|
|
27935
28222
|
tableEditorState,
|
|
@@ -27979,30 +28266,30 @@ function TableCellFormattingPanel({
|
|
|
27979
28266
|
)
|
|
27980
28267
|
] }),
|
|
27981
28268
|
/* @__PURE__ */ jsxs("div", { className: "grid grid-cols-2 gap-1.5", children: [
|
|
27982
|
-
/* @__PURE__ */
|
|
27983
|
-
|
|
27984
|
-
|
|
27985
|
-
|
|
27986
|
-
|
|
27987
|
-
|
|
27988
|
-
|
|
27989
|
-
|
|
27990
|
-
|
|
27991
|
-
}
|
|
27992
|
-
|
|
27993
|
-
|
|
27994
|
-
/* @__PURE__ */
|
|
27995
|
-
|
|
27996
|
-
|
|
27997
|
-
|
|
27998
|
-
|
|
27999
|
-
|
|
28000
|
-
|
|
28001
|
-
|
|
28002
|
-
|
|
28003
|
-
}
|
|
28004
|
-
|
|
28005
|
-
|
|
28269
|
+
/* @__PURE__ */ jsx(
|
|
28270
|
+
TableCellColorField,
|
|
28271
|
+
{
|
|
28272
|
+
label: t("pptx.table.color"),
|
|
28273
|
+
prefix: "table-cell-text",
|
|
28274
|
+
value: cs.color,
|
|
28275
|
+
fallback: "#000000",
|
|
28276
|
+
selectedRef: cs.colorRef,
|
|
28277
|
+
disabled: !canEdit,
|
|
28278
|
+
onCommit: (hex, ref) => updateCellStyle({ color: hex, colorRef: ref })
|
|
28279
|
+
}
|
|
28280
|
+
),
|
|
28281
|
+
/* @__PURE__ */ jsx(
|
|
28282
|
+
TableCellColorField,
|
|
28283
|
+
{
|
|
28284
|
+
label: t("pptx.table.background"),
|
|
28285
|
+
prefix: "table-cell-bg",
|
|
28286
|
+
value: cs.backgroundColor,
|
|
28287
|
+
fallback: "#ffffff",
|
|
28288
|
+
selectedRef: cs.backgroundColorRef,
|
|
28289
|
+
disabled: !canEdit,
|
|
28290
|
+
onCommit: (hex, ref) => updateCellStyle({ backgroundColor: hex, backgroundColorRef: ref })
|
|
28291
|
+
}
|
|
28292
|
+
)
|
|
28006
28293
|
] }),
|
|
28007
28294
|
/* @__PURE__ */ jsx(
|
|
28008
28295
|
TableCellAdvancedFill,
|
|
@@ -34431,6 +34718,7 @@ function ViewerToolbarSection(props) {
|
|
|
34431
34718
|
onUngroupElement: manipulation.handleUngroupElement,
|
|
34432
34719
|
onUpdateElementStyle: ops.updateSelectedShapeStyle,
|
|
34433
34720
|
selectedCount: s.selectedElementIds.length > 0 ? s.selectedElementIds.length : selectedElement ? 1 : 0,
|
|
34721
|
+
selectionGroupable: manipulation.selectionGroupable,
|
|
34434
34722
|
onOpenHyperlinkDialog: () => dialogs.setIsHyperlinkDialogOpen(true),
|
|
34435
34723
|
onDuplicate: manipulation.handleDuplicate,
|
|
34436
34724
|
onDelete: manipulation.handleDelete,
|
|
@@ -35953,7 +36241,7 @@ ${url}`)) {
|
|
|
35953
36241
|
var AiChatPanel = lazy(async () => {
|
|
35954
36242
|
const [{ useChat }, { default: Panel }] = await Promise.all([
|
|
35955
36243
|
import('@ai-sdk/react'),
|
|
35956
|
-
import('./AiChatPanel-
|
|
36244
|
+
import('./AiChatPanel-L5QGWVZK.mjs')
|
|
35957
36245
|
]);
|
|
35958
36246
|
function BoundAiChatPanel(props) {
|
|
35959
36247
|
return /* @__PURE__ */ jsx(Panel, { ...props, useChat });
|
|
@@ -37201,6 +37489,7 @@ function ViewerMainContent(props) {
|
|
|
37201
37489
|
selectedElement,
|
|
37202
37490
|
tableEditorState: state.tableEditorState,
|
|
37203
37491
|
hasMultiSelection: state.effectiveSelectedIds.length > 1,
|
|
37492
|
+
selectionGroupable: manipulation.selectionGroupable,
|
|
37204
37493
|
onAction: manipulation.handleContextMenuAction,
|
|
37205
37494
|
onInsertTableRow: tableOps.handleInsertTableRow,
|
|
37206
37495
|
onDeleteTableRow: tableOps.handleDeleteTableRow,
|
|
@@ -39204,6 +39493,10 @@ var PowerPointViewer = forwardRef(
|
|
|
39204
39493
|
() => ({ recentColors: state.recentColors, pushColor }),
|
|
39205
39494
|
[state.recentColors, pushColor]
|
|
39206
39495
|
);
|
|
39496
|
+
const themeColorMapValue = useMemo(
|
|
39497
|
+
() => state.theme?.colorScheme ? buildThemeColorMap(state.theme.colorScheme) : void 0,
|
|
39498
|
+
[state.theme?.colorScheme]
|
|
39499
|
+
);
|
|
39207
39500
|
const settings = useMemo(
|
|
39208
39501
|
() => ({
|
|
39209
39502
|
autoSave: autosaveEnabled,
|
|
@@ -39704,7 +39997,7 @@ var PowerPointViewer = forwardRef(
|
|
|
39704
39997
|
ref: containerRef,
|
|
39705
39998
|
tabIndex: 0,
|
|
39706
39999
|
className: "h-full w-full flex flex-col overflow-hidden outline-none",
|
|
39707
|
-
children: loading ? /* @__PURE__ */ jsx(LoadingState, {}) : error ? /* @__PURE__ */ jsx(ErrorState, { error }) : /* @__PURE__ */ jsxs(RecentColorsProvider, { value: recentColorsValue, children: [
|
|
40000
|
+
children: loading ? /* @__PURE__ */ jsx(LoadingState, {}) : error ? /* @__PURE__ */ jsx(ErrorState, { error }) : /* @__PURE__ */ jsx(ThemeColorMapProvider, { value: themeColorMapValue, children: /* @__PURE__ */ jsxs(RecentColorsProvider, { value: recentColorsValue, children: [
|
|
39708
40001
|
mode !== "present" && /* @__PURE__ */ jsx(
|
|
39709
40002
|
ViewerToolbarSection,
|
|
39710
40003
|
{
|
|
@@ -39847,7 +40140,7 @@ var PowerPointViewer = forwardRef(
|
|
|
39847
40140
|
commentCount: activeSlide?.comments?.length ?? 0
|
|
39848
40141
|
}
|
|
39849
40142
|
)
|
|
39850
|
-
] })
|
|
40143
|
+
] }) })
|
|
39851
40144
|
}
|
|
39852
40145
|
),
|
|
39853
40146
|
mode !== "present" && /* @__PURE__ */ jsx(
|