pptx-react-viewer 3.6.0 → 3.8.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 +32 -0
- package/dist/{AiChatPanel-WRQGJJVD.mjs → AiChatPanel-A5DCEHTO.mjs} +4 -4
- package/dist/AiChatPanel-A5DCEHTO.mjs.br +0 -0
- package/dist/AiChatPanel-A5DCEHTO.mjs.gz +0 -0
- package/dist/{AiChatPanel-LEOEDIW2.js → AiChatPanel-XLQM4BQJ.js} +25 -25
- package/dist/AiChatPanel-XLQM4BQJ.js.br +0 -0
- package/dist/AiChatPanel-XLQM4BQJ.js.gz +0 -0
- package/dist/{Area3DChartScene-SJC2ZB6R.mjs → Area3DChartScene-5CMEMIBI.mjs} +1 -1
- package/dist/Area3DChartScene-5CMEMIBI.mjs.br +0 -0
- package/dist/Area3DChartScene-5CMEMIBI.mjs.gz +0 -0
- package/dist/{Area3DChartScene-3TJ2GTGI.js → Area3DChartScene-RZ3V3WOR.js} +2 -2
- package/dist/Area3DChartScene-RZ3V3WOR.js.br +0 -0
- package/dist/Area3DChartScene-RZ3V3WOR.js.gz +0 -0
- package/dist/{Bar3DChartScene-SPER4LQA.mjs → Bar3DChartScene-H3MYUJKV.mjs} +1 -1
- package/dist/Bar3DChartScene-H3MYUJKV.mjs.br +0 -0
- package/dist/Bar3DChartScene-H3MYUJKV.mjs.gz +0 -0
- package/dist/{Bar3DChartScene-2ZGOMOZO.js → Bar3DChartScene-KHCQ6TEC.js} +2 -2
- package/dist/Bar3DChartScene-KHCQ6TEC.js.br +0 -0
- package/dist/Bar3DChartScene-KHCQ6TEC.js.gz +0 -0
- package/dist/{Line3DChartScene-42FYFGLU.js → Line3DChartScene-QEACF3U3.js} +2 -2
- package/dist/Line3DChartScene-QEACF3U3.js.br +0 -0
- package/dist/Line3DChartScene-QEACF3U3.js.gz +0 -0
- package/dist/{Line3DChartScene-FH3YHPXE.mjs → Line3DChartScene-YFRPJHDX.mjs} +1 -1
- package/dist/Line3DChartScene-YFRPJHDX.mjs.br +0 -0
- package/dist/Line3DChartScene-YFRPJHDX.mjs.gz +0 -0
- package/dist/{Model3DScene-2BCR2YYD.mjs → Model3DScene-O24KP723.mjs} +1 -1
- package/dist/Model3DScene-O24KP723.mjs.br +0 -0
- package/dist/Model3DScene-O24KP723.mjs.gz +0 -0
- package/dist/{Model3DScene-EIU2GVUZ.js → Model3DScene-QQWKGJ3T.js} +2 -2
- package/dist/Model3DScene-QQWKGJ3T.js.br +0 -0
- package/dist/Model3DScene-QQWKGJ3T.js.gz +0 -0
- package/dist/{PieChart3DScene-QFQUJFDP.mjs → PieChart3DScene-CI6CW22C.mjs} +1 -1
- package/dist/PieChart3DScene-CI6CW22C.mjs.br +0 -0
- package/dist/PieChart3DScene-CI6CW22C.mjs.gz +0 -0
- package/dist/{PieChart3DScene-VQOHZPHI.js → PieChart3DScene-L3MHKQHW.js} +2 -2
- package/dist/PieChart3DScene-L3MHKQHW.js.br +0 -0
- package/dist/PieChart3DScene-L3MHKQHW.js.gz +0 -0
- package/dist/PowerPointViewer-Cl6jBPNw.d.ts.map +1 -1
- package/dist/{SurfaceChart3DScene-FTVXZN6O.js → SurfaceChart3DScene-5IER6VFW.js} +2 -2
- package/dist/SurfaceChart3DScene-5IER6VFW.js.br +0 -0
- package/dist/SurfaceChart3DScene-5IER6VFW.js.gz +0 -0
- package/dist/{SurfaceChart3DScene-CGXMRBCL.mjs → SurfaceChart3DScene-JUXRC3K2.mjs} +1 -1
- package/dist/SurfaceChart3DScene-JUXRC3K2.mjs.br +0 -0
- package/dist/SurfaceChart3DScene-JUXRC3K2.mjs.gz +0 -0
- package/dist/{audience-content-store-bR7Gs_1S.d.ts → audience-content-store-CB2WVM1K.d.ts} +12 -3
- package/dist/{audience-content-store-bR7Gs_1S.d.ts.map → audience-content-store-CB2WVM1K.d.ts.map} +1 -1
- package/dist/{chunk-NFOOONND.js → chunk-4222CHFH.js} +1944 -1299
- package/dist/chunk-4222CHFH.js.br +0 -0
- package/dist/chunk-4222CHFH.js.gz +0 -0
- package/dist/{chunk-ZUSYUWOV.mjs → chunk-6IMB5DNJ.mjs} +8927 -4870
- package/dist/chunk-6IMB5DNJ.mjs.br +0 -0
- package/dist/chunk-6IMB5DNJ.mjs.gz +0 -0
- package/dist/{chunk-ZHSBMG37.js → chunk-DE3S3UHX.js} +557 -682
- package/dist/chunk-DE3S3UHX.js.br +0 -0
- package/dist/chunk-DE3S3UHX.js.gz +0 -0
- package/dist/{chunk-ZWPHUPL4.js → chunk-F5NPGNMA.js} +9 -5
- package/dist/chunk-F5NPGNMA.js.br +0 -0
- package/dist/chunk-F5NPGNMA.js.gz +0 -0
- package/dist/{chunk-TGCSZXOG.mjs → chunk-FRZIBZTE.mjs} +57 -27
- package/dist/chunk-FRZIBZTE.mjs.br +0 -0
- package/dist/chunk-FRZIBZTE.mjs.gz +0 -0
- package/dist/{chunk-MZI4DG3S.js → chunk-L3ZIBQEB.js} +57 -27
- package/dist/chunk-L3ZIBQEB.js.br +0 -0
- package/dist/chunk-L3ZIBQEB.js.gz +0 -0
- package/dist/{chunk-FG5VQFWP.mjs → chunk-PFPKBNNZ.mjs} +761 -116
- package/dist/chunk-PFPKBNNZ.mjs.br +0 -0
- package/dist/chunk-PFPKBNNZ.mjs.gz +0 -0
- package/dist/{chunk-7VPDHSWF.js → chunk-QWA5YEIZ.js} +234 -241
- package/dist/chunk-QWA5YEIZ.js.br +0 -0
- package/dist/chunk-QWA5YEIZ.js.gz +0 -0
- package/dist/{chunk-WX7AFFBZ.mjs → chunk-RHWQKZLB.mjs} +63 -69
- package/dist/chunk-RHWQKZLB.mjs.br +0 -0
- package/dist/chunk-RHWQKZLB.mjs.gz +0 -0
- package/dist/{chunk-T3V5FBXJ.mjs → chunk-RNP5HP4L.mjs} +5 -2
- package/dist/chunk-RNP5HP4L.mjs.br +0 -0
- package/dist/chunk-RNP5HP4L.mjs.gz +0 -0
- package/dist/{chunk-AL2KLPOJ.js → chunk-SN5EUDIT.js} +8959 -4873
- package/dist/chunk-SN5EUDIT.js.br +0 -0
- package/dist/chunk-SN5EUDIT.js.gz +0 -0
- package/dist/{chunk-VYNICQ4O.mjs → chunk-UPJW34YG.mjs} +133 -258
- package/dist/chunk-UPJW34YG.mjs.br +0 -0
- package/dist/chunk-UPJW34YG.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 +595 -38
- 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 +768 -186
- 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-Bzdkiakq.d.ts.map +1 -1
- package/dist/viewer/index.d.ts +534 -38
- 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-LEOEDIW2.js.br +0 -0
- package/dist/AiChatPanel-LEOEDIW2.js.gz +0 -0
- package/dist/AiChatPanel-WRQGJJVD.mjs.br +0 -0
- package/dist/AiChatPanel-WRQGJJVD.mjs.gz +0 -0
- package/dist/Area3DChartScene-3TJ2GTGI.js.br +0 -0
- package/dist/Area3DChartScene-3TJ2GTGI.js.gz +0 -0
- package/dist/Area3DChartScene-SJC2ZB6R.mjs.br +0 -2
- package/dist/Area3DChartScene-SJC2ZB6R.mjs.gz +0 -0
- package/dist/Bar3DChartScene-2ZGOMOZO.js.br +0 -0
- package/dist/Bar3DChartScene-2ZGOMOZO.js.gz +0 -0
- package/dist/Bar3DChartScene-SPER4LQA.mjs.br +0 -0
- package/dist/Bar3DChartScene-SPER4LQA.mjs.gz +0 -0
- package/dist/Line3DChartScene-42FYFGLU.js.br +0 -0
- package/dist/Line3DChartScene-42FYFGLU.js.gz +0 -0
- package/dist/Line3DChartScene-FH3YHPXE.mjs.br +0 -2
- package/dist/Line3DChartScene-FH3YHPXE.mjs.gz +0 -0
- package/dist/Model3DScene-2BCR2YYD.mjs.br +0 -0
- package/dist/Model3DScene-2BCR2YYD.mjs.gz +0 -0
- package/dist/Model3DScene-EIU2GVUZ.js.br +0 -0
- package/dist/Model3DScene-EIU2GVUZ.js.gz +0 -0
- package/dist/PieChart3DScene-QFQUJFDP.mjs.br +0 -0
- package/dist/PieChart3DScene-QFQUJFDP.mjs.gz +0 -0
- package/dist/PieChart3DScene-VQOHZPHI.js.br +0 -0
- package/dist/PieChart3DScene-VQOHZPHI.js.gz +0 -0
- package/dist/SurfaceChart3DScene-CGXMRBCL.mjs.br +0 -0
- package/dist/SurfaceChart3DScene-CGXMRBCL.mjs.gz +0 -0
- package/dist/SurfaceChart3DScene-FTVXZN6O.js.br +0 -0
- package/dist/SurfaceChart3DScene-FTVXZN6O.js.gz +0 -0
- package/dist/chunk-7VPDHSWF.js.br +0 -0
- package/dist/chunk-7VPDHSWF.js.gz +0 -0
- package/dist/chunk-AL2KLPOJ.js.br +0 -0
- package/dist/chunk-AL2KLPOJ.js.gz +0 -0
- package/dist/chunk-FG5VQFWP.mjs.br +0 -0
- package/dist/chunk-FG5VQFWP.mjs.gz +0 -0
- package/dist/chunk-MZI4DG3S.js.br +0 -0
- package/dist/chunk-MZI4DG3S.js.gz +0 -0
- package/dist/chunk-NFOOONND.js.br +0 -0
- package/dist/chunk-NFOOONND.js.gz +0 -0
- package/dist/chunk-T3V5FBXJ.mjs.br +0 -0
- package/dist/chunk-T3V5FBXJ.mjs.gz +0 -0
- package/dist/chunk-TGCSZXOG.mjs.br +0 -0
- package/dist/chunk-TGCSZXOG.mjs.gz +0 -0
- package/dist/chunk-VYNICQ4O.mjs.br +0 -0
- package/dist/chunk-VYNICQ4O.mjs.gz +0 -0
- package/dist/chunk-WX7AFFBZ.mjs.br +0 -0
- package/dist/chunk-WX7AFFBZ.mjs.gz +0 -0
- package/dist/chunk-ZHSBMG37.js.br +0 -0
- package/dist/chunk-ZHSBMG37.js.gz +0 -0
- package/dist/chunk-ZUSYUWOV.mjs.br +0 -0
- package/dist/chunk-ZUSYUWOV.mjs.gz +0 -0
- package/dist/chunk-ZWPHUPL4.js.br +0 -0
- package/dist/chunk-ZWPHUPL4.js.gz +0 -0
|
@@ -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, 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, 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, revealedSmartArtNodeCount, 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, 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, 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-ZUSYUWOV.mjs';
|
|
5
|
-
import { LOCALE_CATALOG, translationsEn } from './chunk-
|
|
1
|
+
import { computeFocusTargets, deckDataFieldChanged, aiChangeAnimationCss, changeGhostStyle, createChatHistoryStore, collectStoredChats, exportAiChatLogs, applyElementUpdate } from './chunk-RNP5HP4L.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-UPJW34YG.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-RHWQKZLB.mjs';
|
|
4
|
+
import { hasShapeProperties, normalizeHexColor, colorWithOpacity, normalizeStrokeDashType, getSvgStrokeDasharray, getCompoundLineOffsets, getCompoundLineWidths, svgLineCap, hasTextProperties, connectorWrapperTransform, getAriaRoleDescription, getAriaLabel, getAriaRole, resolveElementInteractivity, isEditableTextElement, buildTextStyleOverrideCss, 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, resolveSlideSizeSelection, buildDeckSaveOptions, 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, advanceChartMarkDrag, advanceChartValueDrag, buildChartMarkDragGeometry, beginChartMarkDrag, 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, applyTableStyleDelete, applyTableStyleMapChange, 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, tableStyleAssignmentUpdate, evenColumnWidths, redistributeColumnWidth, evenRowHeights, patchChartData, collapseChartTitleRunsForEdit, 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, 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, normalizeTableStyleGuid, describeTableStyleEditor, TABLE_STYLE_EDITOR_PARTS, 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, getNonVisualDescriptionFields, 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, TABLE_STYLE_BORDER_SIDES, applyTableStyleFieldEdit, createTableStyleEntry, addTableStyleToMap, deleteTableStyleFromMap, 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, TABLE_STYLE_BORDER_SIDE_LABEL_KEYS, TABLE_STYLE_DASH_PRESETS, GRADIENT_TYPE_OPTIONS, PATTERN_OPTIONS, FILL_PATTERN_LABEL_KEYS, openNativeEyeDropper, toggleText3dExtrusion, BEVEL_PRESETS } from './chunk-6IMB5DNJ.mjs';
|
|
5
|
+
import { LOCALE_CATALOG, translationsEn } from './chunk-FRZIBZTE.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-5CMEMIBI.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-H3MYUJKV.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-YFRPJHDX.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-CI6CW22C.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-JUXRC3K2.mjs');
|
|
742
742
|
} catch {
|
|
743
743
|
return { default: FailedToLoad5 };
|
|
744
744
|
}
|
|
@@ -797,6 +797,7 @@ function ChartElementView({
|
|
|
797
797
|
}) {
|
|
798
798
|
const wrapperRef = useRef(null);
|
|
799
799
|
const dragRef = useRef(null);
|
|
800
|
+
const markDragRef = useRef(null);
|
|
800
801
|
const { selection, setSelection } = useChartPartSelection();
|
|
801
802
|
const [previewData, setPreviewData] = useState(null);
|
|
802
803
|
const [dragValue, setDragValue] = useState(null);
|
|
@@ -831,11 +832,18 @@ function ChartElementView({
|
|
|
831
832
|
});
|
|
832
833
|
const endDrag = (commit) => {
|
|
833
834
|
const active = dragRef.current;
|
|
835
|
+
const markActive = markDragRef.current;
|
|
834
836
|
dragRef.current = null;
|
|
837
|
+
markDragRef.current = null;
|
|
835
838
|
setPreviewData(null);
|
|
836
839
|
setDragValue(null);
|
|
837
|
-
if (commit
|
|
840
|
+
if (!commit || !onUpdateElement) {
|
|
841
|
+
return;
|
|
842
|
+
}
|
|
843
|
+
if (active?.moved && active.lastData) {
|
|
838
844
|
onUpdateElement({ chartData: active.lastData });
|
|
845
|
+
} else if (markActive?.moved && markActive.lastData) {
|
|
846
|
+
onUpdateElement({ chartData: markActive.lastData });
|
|
839
847
|
}
|
|
840
848
|
};
|
|
841
849
|
useEffect(() => {
|
|
@@ -863,13 +871,44 @@ function ChartElementView({
|
|
|
863
871
|
if (!viewModel || !element.chartData) {
|
|
864
872
|
return;
|
|
865
873
|
}
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
874
|
+
let captured = false;
|
|
875
|
+
const chartKind = resolveChartKind(element.chartData.chartType ?? "bar");
|
|
876
|
+
if (part.pointIndex !== void 0 && chartKind !== "unsupported") {
|
|
877
|
+
const markGeometry = buildChartMarkDragGeometry({
|
|
878
|
+
kind: chartKind,
|
|
879
|
+
element,
|
|
880
|
+
chartData: element.chartData,
|
|
881
|
+
categoryLabels: element.chartData.categories,
|
|
882
|
+
seriesIndex: part.seriesIndex,
|
|
883
|
+
pointIndex: part.pointIndex
|
|
884
|
+
});
|
|
885
|
+
const startedMark = beginChartMarkDrag({
|
|
886
|
+
part,
|
|
887
|
+
geometry: markGeometry,
|
|
888
|
+
chartData: element.chartData,
|
|
889
|
+
svgWidth: viewModel.svgWidth,
|
|
890
|
+
svgHeight: viewModel.svgHeight,
|
|
891
|
+
clientX: e.clientX,
|
|
892
|
+
clientY: e.clientY
|
|
893
|
+
});
|
|
894
|
+
if (startedMark) {
|
|
895
|
+
markDragRef.current = startedMark;
|
|
896
|
+
captured = true;
|
|
897
|
+
}
|
|
898
|
+
}
|
|
899
|
+
if (!captured) {
|
|
900
|
+
const started = beginChartValueDrag({
|
|
901
|
+
part,
|
|
902
|
+
viewModel,
|
|
903
|
+
chartData: element.chartData,
|
|
904
|
+
clientY: e.clientY
|
|
905
|
+
});
|
|
906
|
+
if (started) {
|
|
907
|
+
dragRef.current = started;
|
|
908
|
+
captured = true;
|
|
909
|
+
}
|
|
910
|
+
}
|
|
911
|
+
if (!captured) {
|
|
873
912
|
return;
|
|
874
913
|
}
|
|
875
914
|
e.preventDefault();
|
|
@@ -877,9 +916,22 @@ function ChartElementView({
|
|
|
877
916
|
e.currentTarget.setPointerCapture?.(e.pointerId);
|
|
878
917
|
} catch {
|
|
879
918
|
}
|
|
880
|
-
dragRef.current = started;
|
|
881
919
|
};
|
|
882
920
|
const handlePointerMove = (e) => {
|
|
921
|
+
const markActive = markDragRef.current;
|
|
922
|
+
if (markActive) {
|
|
923
|
+
const rect = wrapperRef.current?.querySelector("svg")?.getBoundingClientRect();
|
|
924
|
+
if (!rect) {
|
|
925
|
+
return;
|
|
926
|
+
}
|
|
927
|
+
const step2 = advanceChartMarkDrag(markActive, e.clientX, e.clientY, rect);
|
|
928
|
+
if (!step2) {
|
|
929
|
+
return;
|
|
930
|
+
}
|
|
931
|
+
setPreviewData(step2.chartData);
|
|
932
|
+
setDragValue(step2.value);
|
|
933
|
+
return;
|
|
934
|
+
}
|
|
883
935
|
const active = dragRef.current;
|
|
884
936
|
if (!active) {
|
|
885
937
|
return;
|
|
@@ -893,7 +945,7 @@ function ChartElementView({
|
|
|
893
945
|
setDragValue(step.value);
|
|
894
946
|
};
|
|
895
947
|
const handlePointerUp = () => {
|
|
896
|
-
if (dragRef.current) {
|
|
948
|
+
if (dragRef.current || markDragRef.current) {
|
|
897
949
|
endDrag(true);
|
|
898
950
|
}
|
|
899
951
|
};
|
|
@@ -1502,7 +1554,8 @@ var ConnectorElementRenderer = React19.memo(
|
|
|
1502
1554
|
adjustmentHandles: adjH,
|
|
1503
1555
|
onResizePointerDown,
|
|
1504
1556
|
onAdjustmentPointerDown,
|
|
1505
|
-
animationState
|
|
1557
|
+
animationState,
|
|
1558
|
+
textStyleOverrideCss
|
|
1506
1559
|
}) {
|
|
1507
1560
|
const shapeEl = hasShapeProperties(el) ? el : void 0;
|
|
1508
1561
|
const boxWidth = Math.max(el.width, MIN_ELEMENT_SIZE);
|
|
@@ -1570,6 +1623,7 @@ var ConnectorElementRenderer = React19.memo(
|
|
|
1570
1623
|
...lineGlow ? { filter: lineGlow } : {}
|
|
1571
1624
|
},
|
|
1572
1625
|
children: [
|
|
1626
|
+
textStyleOverrideCss && /* @__PURE__ */ jsx("style", { children: textStyleOverrideCss }),
|
|
1573
1627
|
/* @__PURE__ */ jsxs(
|
|
1574
1628
|
"svg",
|
|
1575
1629
|
{
|
|
@@ -1932,6 +1986,9 @@ function renderOutlinePaint(paint) {
|
|
|
1932
1986
|
}
|
|
1933
1987
|
);
|
|
1934
1988
|
}
|
|
1989
|
+
if (paint.kind === "rectPath") {
|
|
1990
|
+
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" }) });
|
|
1991
|
+
}
|
|
1935
1992
|
const stops = paint.stops.map((stop, idx) => /* @__PURE__ */ jsx(
|
|
1936
1993
|
"stop",
|
|
1937
1994
|
{
|
|
@@ -2183,6 +2240,7 @@ var ElementRenderer = React19.memo(
|
|
|
2183
2240
|
const visualAnimationState = backgroundAnimationState ?? animationState;
|
|
2184
2241
|
const isTxt = isEditableTextElement(el) && allow.textEditable;
|
|
2185
2242
|
const txtSE = hasTextProperties(el) ? el.textStyle : void 0;
|
|
2243
|
+
const textStyleOverrideCss = buildTextStyleOverrideCss(el.id, visualAnimationState?.textStyle);
|
|
2186
2244
|
const ss = getShapeVisualStyle(
|
|
2187
2245
|
el,
|
|
2188
2246
|
hf,
|
|
@@ -2233,7 +2291,8 @@ var ElementRenderer = React19.memo(
|
|
|
2233
2291
|
adjustmentHandles: adjH,
|
|
2234
2292
|
onResizePointerDown,
|
|
2235
2293
|
onAdjustmentPointerDown,
|
|
2236
|
-
animationState
|
|
2294
|
+
animationState,
|
|
2295
|
+
textStyleOverrideCss
|
|
2237
2296
|
}
|
|
2238
2297
|
);
|
|
2239
2298
|
}
|
|
@@ -2316,6 +2375,7 @@ var ElementRenderer = React19.memo(
|
|
|
2316
2375
|
...interactionProps,
|
|
2317
2376
|
children: [
|
|
2318
2377
|
renderDagDuotoneFilterForElement(el),
|
|
2378
|
+
textStyleOverrideCss && /* @__PURE__ */ jsx("style", { children: textStyleOverrideCss }),
|
|
2319
2379
|
backgroundAnimationState ? /* @__PURE__ */ jsxs(
|
|
2320
2380
|
"div",
|
|
2321
2381
|
{
|
|
@@ -3025,7 +3085,7 @@ function FailedToLoad6() {
|
|
|
3025
3085
|
var LazyModel3DScene = React19.lazy(
|
|
3026
3086
|
async () => {
|
|
3027
3087
|
try {
|
|
3028
|
-
return await import('./Model3DScene-
|
|
3088
|
+
return await import('./Model3DScene-O24KP723.mjs');
|
|
3029
3089
|
} catch {
|
|
3030
3090
|
return { default: FailedToLoad6 };
|
|
3031
3091
|
}
|
|
@@ -3732,13 +3792,15 @@ function shapeBody(shape) {
|
|
|
3732
3792
|
function DrawingShapeRenderer({
|
|
3733
3793
|
elementId,
|
|
3734
3794
|
shapes,
|
|
3795
|
+
allShapes = shapes,
|
|
3735
3796
|
style,
|
|
3736
3797
|
palette,
|
|
3737
3798
|
nodes,
|
|
3738
3799
|
nodeLabels
|
|
3739
3800
|
}) {
|
|
3740
|
-
const viewBox = computeDrawingViewBox(
|
|
3801
|
+
const viewBox = computeDrawingViewBox(allShapes);
|
|
3741
3802
|
const rendered = projectDrawingShapes(elementId, shapes, viewBox, palette, style);
|
|
3803
|
+
const nodeIds = nodes ? resolveRevealedDrawingShapeNodeIds(allShapes, shapes, nodes) : void 0;
|
|
3742
3804
|
const shadow = styleShadowFilter(style);
|
|
3743
3805
|
return /* @__PURE__ */ jsx(
|
|
3744
3806
|
"svg",
|
|
@@ -3748,7 +3810,7 @@ function DrawingShapeRenderer({
|
|
|
3748
3810
|
preserveAspectRatio: "xMidYMid meet",
|
|
3749
3811
|
"data-testid": "smartart-drawing-shapes",
|
|
3750
3812
|
children: rendered.map((shape, i) => {
|
|
3751
|
-
const nodeId =
|
|
3813
|
+
const nodeId = nodeIds?.[i];
|
|
3752
3814
|
const nodeLabel = nodeId ? nodeLabels?.get(nodeId) : void 0;
|
|
3753
3815
|
const groupProps = nodeId ? smartArtNodeGroupProps(nodeId, shadow, nodeLabel) : { style: { filter: shadow } };
|
|
3754
3816
|
return /* @__PURE__ */ jsxs("g", { ...groupProps, children: [
|
|
@@ -3913,14 +3975,12 @@ function SmartArtRendererImpl({
|
|
|
3913
3975
|
}
|
|
3914
3976
|
const smartArtData = element.smartArtData;
|
|
3915
3977
|
const { nodes, drawingShapes, chrome } = smartArtData;
|
|
3916
|
-
const
|
|
3917
|
-
|
|
3918
|
-
|
|
3919
|
-
|
|
3920
|
-
|
|
3921
|
-
|
|
3922
|
-
Math.ceil(shownNodeCount / Math.max(nodes.length, 1) * drawingShapes.length)
|
|
3923
|
-
) : drawingShapes;
|
|
3978
|
+
const { nodes: revealedNodes } = resolveRevealedSmartArtNodes(
|
|
3979
|
+
nodes,
|
|
3980
|
+
animationState,
|
|
3981
|
+
smartArtData.presLayoutVars
|
|
3982
|
+
);
|
|
3983
|
+
const revealedShapes = drawingShapes && drawingShapes.length > 0 ? resolveRevealedDrawingShapes(drawingShapes, nodes, animationState) : drawingShapes;
|
|
3924
3984
|
if (nodes.length === 0) {
|
|
3925
3985
|
return /* @__PURE__ */ jsx(
|
|
3926
3986
|
"div",
|
|
@@ -3976,6 +4036,7 @@ function SmartArtRendererImpl({
|
|
|
3976
4036
|
{
|
|
3977
4037
|
elementId: element.id,
|
|
3978
4038
|
shapes: revealedShapes,
|
|
4039
|
+
allShapes: drawingShapes,
|
|
3979
4040
|
style,
|
|
3980
4041
|
palette,
|
|
3981
4042
|
nodes,
|
|
@@ -4039,6 +4100,28 @@ function arePropsEqual(prev, next) {
|
|
|
4039
4100
|
if (prevBuild?.kind !== nextBuild?.kind || prevBuild?.mode !== nextBuild?.mode || prevBuild?.progress !== nextBuild?.progress) {
|
|
4040
4101
|
return false;
|
|
4041
4102
|
}
|
|
4103
|
+
return sameDiagramReveal(prev.animationState?.diagramReveal, next.animationState?.diagramReveal);
|
|
4104
|
+
}
|
|
4105
|
+
function sameDiagramReveal(prev, next) {
|
|
4106
|
+
if (prev === next) {
|
|
4107
|
+
return true;
|
|
4108
|
+
}
|
|
4109
|
+
if (!prev || !next) {
|
|
4110
|
+
return false;
|
|
4111
|
+
}
|
|
4112
|
+
if (prev.mode !== next.mode || prev.descriptor.background !== next.descriptor.background) {
|
|
4113
|
+
return false;
|
|
4114
|
+
}
|
|
4115
|
+
const prevIds = prev.descriptor.nodeIds;
|
|
4116
|
+
const nextIds = next.descriptor.nodeIds;
|
|
4117
|
+
if (prevIds.size !== nextIds.size) {
|
|
4118
|
+
return false;
|
|
4119
|
+
}
|
|
4120
|
+
for (const id of prevIds) {
|
|
4121
|
+
if (!nextIds.has(id)) {
|
|
4122
|
+
return false;
|
|
4123
|
+
}
|
|
4124
|
+
}
|
|
4042
4125
|
return true;
|
|
4043
4126
|
}
|
|
4044
4127
|
var SmartArtRenderer = React19.memo(SmartArtRendererImpl, arePropsEqual);
|
|
@@ -4110,7 +4193,8 @@ function SmartArt3DRenderer({
|
|
|
4110
4193
|
);
|
|
4111
4194
|
return buildSmartArt3DModel(layoutResult, {
|
|
4112
4195
|
background: chrome?.backgroundColor,
|
|
4113
|
-
spatial: true
|
|
4196
|
+
spatial: true,
|
|
4197
|
+
coherent3DOffNodeIds: collectCoherent3DOffNodeIds(nodes)
|
|
4114
4198
|
});
|
|
4115
4199
|
}, [element]);
|
|
4116
4200
|
const svgFallback = /* @__PURE__ */ jsx(SmartArtRenderer, { element, className });
|
|
@@ -6306,7 +6390,7 @@ function AccountPage() {
|
|
|
6306
6390
|
return void 0;
|
|
6307
6391
|
});
|
|
6308
6392
|
};
|
|
6309
|
-
const version = "3.
|
|
6393
|
+
const version = "3.7.0" ;
|
|
6310
6394
|
return /* @__PURE__ */ jsxs("div", { className: "mt-8 max-w-[700px] space-y-6", children: [
|
|
6311
6395
|
/* @__PURE__ */ jsxs("section", { className: cardClass, children: [
|
|
6312
6396
|
/* @__PURE__ */ jsxs("h2", { className: "flex items-center gap-2 text-sm font-semibold", children: [
|
|
@@ -8187,6 +8271,52 @@ function RecentColorsRow({
|
|
|
8187
8271
|
}
|
|
8188
8272
|
);
|
|
8189
8273
|
}
|
|
8274
|
+
var ThemeColorMapContext = createContext(void 0);
|
|
8275
|
+
var ThemeColorMapProvider = ThemeColorMapContext.Provider;
|
|
8276
|
+
function useThemeColorMap() {
|
|
8277
|
+
return useContext(ThemeColorMapContext);
|
|
8278
|
+
}
|
|
8279
|
+
function ThemeColorSwatchGrid({
|
|
8280
|
+
prefix,
|
|
8281
|
+
disabled,
|
|
8282
|
+
selectedRef,
|
|
8283
|
+
selectedHex,
|
|
8284
|
+
onPick
|
|
8285
|
+
}) {
|
|
8286
|
+
const { t } = useTranslation();
|
|
8287
|
+
const themeColorMap = useThemeColorMap();
|
|
8288
|
+
const columns = useMemo(() => buildThemeColorSwatchGrid(themeColorMap), [themeColorMap]);
|
|
8289
|
+
const rows = useMemo(() => themeColorSwatchRows(columns), [columns]);
|
|
8290
|
+
const selected = useMemo(
|
|
8291
|
+
() => findSelectedThemeSwatch(columns, selectedRef, selectedHex),
|
|
8292
|
+
[columns, selectedRef, selectedHex]
|
|
8293
|
+
);
|
|
8294
|
+
if (columns.length === 0) {
|
|
8295
|
+
return null;
|
|
8296
|
+
}
|
|
8297
|
+
return /* @__PURE__ */ jsxs("div", { className: "mt-1", children: [
|
|
8298
|
+
/* @__PURE__ */ jsx("div", { className: "text-[10px] text-muted-foreground mb-1", children: t("pptx.colorPicker.themeColors") }),
|
|
8299
|
+
/* @__PURE__ */ jsx("div", { className: "flex flex-col gap-0.5", children: rows.map((row, rowIndex) => (
|
|
8300
|
+
// eslint-disable-next-line react/no-array-index-key
|
|
8301
|
+
/* @__PURE__ */ jsx("div", { className: "flex gap-0.5", children: row.map(
|
|
8302
|
+
(swatch, colIndex) => swatch ? /* @__PURE__ */ jsx(
|
|
8303
|
+
"button",
|
|
8304
|
+
{
|
|
8305
|
+
type: "button",
|
|
8306
|
+
disabled,
|
|
8307
|
+
"data-pptx-compact": true,
|
|
8308
|
+
title: swatch.label,
|
|
8309
|
+
"aria-label": swatch.label,
|
|
8310
|
+
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"}`,
|
|
8311
|
+
style: { backgroundColor: swatch.hex },
|
|
8312
|
+
onClick: () => onPick(themeSwatchCommit(swatch))
|
|
8313
|
+
},
|
|
8314
|
+
`${prefix}-theme-${swatch.ref.scheme}-${rowIndex}`
|
|
8315
|
+
) : /* @__PURE__ */ jsx("div", { className: "h-4 w-4" }, `${prefix}-theme-empty-${rowIndex}-${colIndex}`)
|
|
8316
|
+
) }, `${prefix}-theme-row-${rowIndex}`)
|
|
8317
|
+
)) })
|
|
8318
|
+
] });
|
|
8319
|
+
}
|
|
8190
8320
|
var LINE_SPACING_OPTIONS = [
|
|
8191
8321
|
{ label: "1.0", value: 1 },
|
|
8192
8322
|
{ label: "1.15", value: 1.15 },
|
|
@@ -8359,18 +8489,6 @@ function getEffectiveTextStyle(element, tableEditorState) {
|
|
|
8359
8489
|
}
|
|
8360
8490
|
return void 0;
|
|
8361
8491
|
}
|
|
8362
|
-
var FONT_COLOR_PRESETS = [
|
|
8363
|
-
"#000000",
|
|
8364
|
-
"#ffffff",
|
|
8365
|
-
"#ff0000",
|
|
8366
|
-
"#00aa00",
|
|
8367
|
-
"#0000ff",
|
|
8368
|
-
"#ff8800",
|
|
8369
|
-
"#8800cc",
|
|
8370
|
-
"#00cccc",
|
|
8371
|
-
"#ff69b4",
|
|
8372
|
-
"#808080"
|
|
8373
|
-
];
|
|
8374
8492
|
var HIGHLIGHT_COLOR_PRESETS = [
|
|
8375
8493
|
"#ffff00",
|
|
8376
8494
|
"#00ff00",
|
|
@@ -8392,6 +8510,7 @@ function TextSection(p) {
|
|
|
8392
8510
|
const canFormat = isTextEl || isTable;
|
|
8393
8511
|
const effectiveTs = getEffectiveTextStyle(p.selectedElement, p.tableEditorState);
|
|
8394
8512
|
const currentColor = isTextEl && p.selectedElement && hasTextProperties(p.selectedElement) ? p.selectedElement.textSegments?.[0]?.style?.color ?? p.selectedElement.textStyle?.color ?? "#000000" : effectiveTs?.color ?? "#000000";
|
|
8513
|
+
const currentColorThemeRef = isTextEl && p.selectedElement && hasTextProperties(p.selectedElement) ? p.selectedElement.textSegments?.[0]?.style?.colorRef ?? p.selectedElement.textStyle?.colorRef : void 0;
|
|
8395
8514
|
const currentHighlight = isTextEl && p.selectedElement && hasTextProperties(p.selectedElement) ? p.selectedElement.textSegments?.[0]?.style?.highlightColor ?? p.selectedElement.textStyle?.highlightColor ?? "#ffff00" : "#ffff00";
|
|
8396
8515
|
const colorInputRef = useRef(null);
|
|
8397
8516
|
const highlightInputRef = useRef(null);
|
|
@@ -8401,11 +8520,11 @@ function TextSection(p) {
|
|
|
8401
8520
|
const highlightMenuRef = useRef(null);
|
|
8402
8521
|
const { pushColor } = useRecentColors();
|
|
8403
8522
|
const handleColorChange = useCallback(
|
|
8404
|
-
(color) => {
|
|
8523
|
+
(color, ref) => {
|
|
8405
8524
|
if (!canFormat) {
|
|
8406
8525
|
return;
|
|
8407
8526
|
}
|
|
8408
|
-
p.onUpdateTextStyle({ color });
|
|
8527
|
+
p.onUpdateTextStyle({ color, colorRef: ref });
|
|
8409
8528
|
pushColor(color);
|
|
8410
8529
|
},
|
|
8411
8530
|
[canFormat, p, pushColor]
|
|
@@ -8736,19 +8855,31 @@ function TextSection(p) {
|
|
|
8736
8855
|
]
|
|
8737
8856
|
}
|
|
8738
8857
|
),
|
|
8739
|
-
/* @__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-
|
|
8740
|
-
/* @__PURE__ */ jsx(
|
|
8858
|
+
/* @__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: [
|
|
8859
|
+
/* @__PURE__ */ jsx(
|
|
8860
|
+
ThemeColorSwatchGrid,
|
|
8861
|
+
{
|
|
8862
|
+
prefix: "font-color",
|
|
8863
|
+
disabled: !canMut,
|
|
8864
|
+
selectedRef: currentColorThemeRef,
|
|
8865
|
+
selectedHex: currentColor,
|
|
8866
|
+
onPick: (c) => handleColorChange(c.hex, c.ref)
|
|
8867
|
+
}
|
|
8868
|
+
),
|
|
8869
|
+
/* @__PURE__ */ jsx("div", { className: "text-[10px] text-muted-foreground mt-1 mb-1", children: t("pptx.colorPicker.standardColors") }),
|
|
8870
|
+
/* @__PURE__ */ jsx("div", { className: "grid grid-cols-5 gap-1.5 mb-2", children: OFFICE_COLOR_SWATCHES.map((c) => /* @__PURE__ */ jsx(
|
|
8741
8871
|
"button",
|
|
8742
8872
|
{
|
|
8743
8873
|
type: "button",
|
|
8744
|
-
"aria-label": c,
|
|
8874
|
+
"aria-label": c.label,
|
|
8875
|
+
title: c.label,
|
|
8745
8876
|
"data-pptx-compact": true,
|
|
8746
|
-
className: `w-5 h-5 rounded-full border transition-transform hover:scale-125 ${currentColor?.toLowerCase() === c ? "border-primary ring-1 ring-primary" : "border-border"}`,
|
|
8747
|
-
style: { backgroundColor: c },
|
|
8877
|
+
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"}`,
|
|
8878
|
+
style: { backgroundColor: c.hex },
|
|
8748
8879
|
onMouseDown: (e) => e.preventDefault(),
|
|
8749
|
-
onClick: () => handleColorChange(c)
|
|
8880
|
+
onClick: () => handleColorChange(c.hex)
|
|
8750
8881
|
},
|
|
8751
|
-
c
|
|
8882
|
+
c.hex
|
|
8752
8883
|
)) }),
|
|
8753
8884
|
/* @__PURE__ */ jsx(
|
|
8754
8885
|
"button",
|
|
@@ -9634,12 +9765,29 @@ function ShapeColorPopover({
|
|
|
9634
9765
|
onToggle,
|
|
9635
9766
|
disabled,
|
|
9636
9767
|
swatchAriaLabel,
|
|
9768
|
+
selectedRef,
|
|
9769
|
+
selectedHex,
|
|
9637
9770
|
onApply,
|
|
9638
9771
|
onClose
|
|
9639
9772
|
}) {
|
|
9773
|
+
const { t } = useTranslation();
|
|
9640
9774
|
return /* @__PURE__ */ jsxs("div", { className: "relative", ref: anchorRef, children: [
|
|
9641
9775
|
/* @__PURE__ */ jsx("button", { type: "button", disabled, className: pill, title, onClick: onToggle, children: icon }),
|
|
9642
9776
|
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: [
|
|
9777
|
+
/* @__PURE__ */ jsx(
|
|
9778
|
+
ThemeColorSwatchGrid,
|
|
9779
|
+
{
|
|
9780
|
+
prefix,
|
|
9781
|
+
disabled,
|
|
9782
|
+
selectedRef,
|
|
9783
|
+
selectedHex,
|
|
9784
|
+
onPick: (c) => {
|
|
9785
|
+
onApply(c.hex, c.ref);
|
|
9786
|
+
onClose();
|
|
9787
|
+
}
|
|
9788
|
+
}
|
|
9789
|
+
),
|
|
9790
|
+
/* @__PURE__ */ jsx("div", { className: "mt-1 text-[10px] text-muted-foreground mb-1", children: t("pptx.colorPicker.standardColors") }),
|
|
9643
9791
|
/* @__PURE__ */ jsx("div", { className: "grid grid-cols-6 gap-1", children: RIBBON_SHAPE_SWATCHES.map((c) => /* @__PURE__ */ jsx(
|
|
9644
9792
|
"button",
|
|
9645
9793
|
{
|
|
@@ -9674,6 +9822,7 @@ var TOP_SHAPES = SHAPE_PRESETS.slice(0, 12);
|
|
|
9674
9822
|
function DrawingGroup(p) {
|
|
9675
9823
|
const { t } = useTranslation();
|
|
9676
9824
|
const { pushColor } = useRecentColors();
|
|
9825
|
+
const selectedShapeStyle = p.selectedElement && hasShapeProperties(p.selectedElement) ? p.selectedElement.shapeStyle : void 0;
|
|
9677
9826
|
const [shapesOpen, setShapesOpen] = useState(false);
|
|
9678
9827
|
const [arrangeOpen, setArrangeOpen] = useState(false);
|
|
9679
9828
|
const [fillOpen, setFillOpen] = useState(false);
|
|
@@ -9846,8 +9995,10 @@ function DrawingGroup(p) {
|
|
|
9846
9995
|
onToggle: () => setFillOpen((v) => !v),
|
|
9847
9996
|
disabled: !p.canEdit || !p.selectedElement,
|
|
9848
9997
|
swatchAriaLabel: "Fill colour",
|
|
9849
|
-
|
|
9850
|
-
|
|
9998
|
+
selectedRef: selectedShapeStyle?.fillColorRef,
|
|
9999
|
+
selectedHex: selectedShapeStyle?.fillColor,
|
|
10000
|
+
onApply: (c, ref) => {
|
|
10001
|
+
p.onUpdateElementStyle?.(shapeFillChange(c, ref));
|
|
9851
10002
|
pushColor(c);
|
|
9852
10003
|
},
|
|
9853
10004
|
onClose: () => setFillOpen(false)
|
|
@@ -9864,8 +10015,10 @@ function DrawingGroup(p) {
|
|
|
9864
10015
|
onToggle: () => setOutlineOpen((v) => !v),
|
|
9865
10016
|
disabled: !p.canEdit || !p.selectedElement,
|
|
9866
10017
|
swatchAriaLabel: "Outline colour",
|
|
9867
|
-
|
|
9868
|
-
|
|
10018
|
+
selectedRef: selectedShapeStyle?.strokeColorRef,
|
|
10019
|
+
selectedHex: selectedShapeStyle?.strokeColor,
|
|
10020
|
+
onApply: (c, ref) => {
|
|
10021
|
+
p.onUpdateElementStyle?.(shapeOutlineChange(c, ref));
|
|
9869
10022
|
pushColor(c);
|
|
9870
10023
|
},
|
|
9871
10024
|
onClose: () => setOutlineOpen(false)
|
|
@@ -22534,7 +22687,8 @@ function ChartTypeSelector({
|
|
|
22534
22687
|
seriesCount,
|
|
22535
22688
|
categoryCount,
|
|
22536
22689
|
canEdit,
|
|
22537
|
-
onUpdateChartData
|
|
22690
|
+
onUpdateChartData,
|
|
22691
|
+
onTitleChange
|
|
22538
22692
|
}) {
|
|
22539
22693
|
const { t } = useTranslation();
|
|
22540
22694
|
const supportsGrouping = GROUPING_SUPPORTED_TYPES.has(chartType);
|
|
@@ -22558,7 +22712,7 @@ function ChartTypeSelector({
|
|
|
22558
22712
|
disabled: !canEdit,
|
|
22559
22713
|
className: INPUT2,
|
|
22560
22714
|
value: title ?? "",
|
|
22561
|
-
onChange: (e) =>
|
|
22715
|
+
onChange: (e) => onTitleChange(e.target.value)
|
|
22562
22716
|
}
|
|
22563
22717
|
)
|
|
22564
22718
|
] }),
|
|
@@ -22747,6 +22901,15 @@ function ChartDataPanel({ selectedElement, canEdit, onUpdateElement }) {
|
|
|
22747
22901
|
},
|
|
22748
22902
|
[chartData, replaceChartData]
|
|
22749
22903
|
);
|
|
22904
|
+
const updateTitle = useCallback(
|
|
22905
|
+
(text) => {
|
|
22906
|
+
if (!chartData) {
|
|
22907
|
+
return;
|
|
22908
|
+
}
|
|
22909
|
+
updateChartData(collapseChartTitleRunsForEdit(chartData, text));
|
|
22910
|
+
},
|
|
22911
|
+
[chartData, updateChartData]
|
|
22912
|
+
);
|
|
22750
22913
|
const updateStyle = useCallback(
|
|
22751
22914
|
(patch) => {
|
|
22752
22915
|
if (!chartData) {
|
|
@@ -22947,7 +23110,8 @@ function ChartDataPanel({ selectedElement, canEdit, onUpdateElement }) {
|
|
|
22947
23110
|
seriesCount: series.length,
|
|
22948
23111
|
categoryCount: categories.length,
|
|
22949
23112
|
canEdit,
|
|
22950
|
-
onUpdateChartData: updateChartData
|
|
23113
|
+
onUpdateChartData: updateChartData,
|
|
23114
|
+
onTitleChange: updateTitle
|
|
22951
23115
|
}
|
|
22952
23116
|
),
|
|
22953
23117
|
/* @__PURE__ */ jsx(
|
|
@@ -24777,6 +24941,48 @@ function MediaPropertiesPanel({
|
|
|
24777
24941
|
)
|
|
24778
24942
|
] });
|
|
24779
24943
|
}
|
|
24944
|
+
function AccessibilityTextSection({
|
|
24945
|
+
selectedElement,
|
|
24946
|
+
canEdit,
|
|
24947
|
+
onUpdateElement
|
|
24948
|
+
}) {
|
|
24949
|
+
const { t } = useTranslation();
|
|
24950
|
+
const fields = getNonVisualDescriptionFields(selectedElement);
|
|
24951
|
+
if (!fields.showAltText && !fields.showTitle) {
|
|
24952
|
+
return null;
|
|
24953
|
+
}
|
|
24954
|
+
return /* @__PURE__ */ jsxs("div", { className: CARD, "data-pptx-accessibility-text": true, children: [
|
|
24955
|
+
/* @__PURE__ */ jsx("div", { className: HEADING, children: t("pptx.accessibility.heading", "Accessibility") }),
|
|
24956
|
+
fields.showAltText && /* @__PURE__ */ jsxs("label", { className: "flex flex-col gap-1 text-[11px]", children: [
|
|
24957
|
+
/* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: t("pptx.elementAccessibility.altText") }),
|
|
24958
|
+
/* @__PURE__ */ jsx(
|
|
24959
|
+
"textarea",
|
|
24960
|
+
{
|
|
24961
|
+
rows: 2,
|
|
24962
|
+
disabled: !canEdit,
|
|
24963
|
+
placeholder: t("pptx.elementAccessibility.altTextPlaceholder"),
|
|
24964
|
+
className: cn(INPUT, "resize-none text-[11px]"),
|
|
24965
|
+
value: fields.altText,
|
|
24966
|
+
onChange: (e) => onUpdateElement({ altText: e.target.value })
|
|
24967
|
+
}
|
|
24968
|
+
)
|
|
24969
|
+
] }),
|
|
24970
|
+
fields.showTitle && /* @__PURE__ */ jsxs("label", { className: "flex flex-col gap-1 text-[11px]", children: [
|
|
24971
|
+
/* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: t("pptx.elementAccessibility.title") }),
|
|
24972
|
+
/* @__PURE__ */ jsx(
|
|
24973
|
+
"input",
|
|
24974
|
+
{
|
|
24975
|
+
type: "text",
|
|
24976
|
+
disabled: !canEdit,
|
|
24977
|
+
placeholder: t("pptx.elementAccessibility.titlePlaceholder"),
|
|
24978
|
+
className: cn(INPUT, "text-[11px]"),
|
|
24979
|
+
value: fields.title,
|
|
24980
|
+
onChange: (e) => onUpdateElement({ title: e.target.value })
|
|
24981
|
+
}
|
|
24982
|
+
)
|
|
24983
|
+
] })
|
|
24984
|
+
] });
|
|
24985
|
+
}
|
|
24780
24986
|
|
|
24781
24987
|
// src/viewer/components/inspector/fill-stroke-options.ts
|
|
24782
24988
|
var COMPOUND_LINE_OPTIONS2 = COMPOUND_LINE_OPTIONS;
|
|
@@ -25470,14 +25676,15 @@ function SelectRow({
|
|
|
25470
25676
|
function ColorPickerRow({
|
|
25471
25677
|
label,
|
|
25472
25678
|
value,
|
|
25679
|
+
selectedRef,
|
|
25473
25680
|
disabled,
|
|
25474
25681
|
prefix,
|
|
25475
25682
|
onChange
|
|
25476
25683
|
}) {
|
|
25477
25684
|
const { t } = useTranslation();
|
|
25478
25685
|
const { pushColor } = useRecentColors();
|
|
25479
|
-
const commit = (color) => {
|
|
25480
|
-
onChange(color);
|
|
25686
|
+
const commit = (color, ref) => {
|
|
25687
|
+
onChange(color, ref);
|
|
25481
25688
|
pushColor(color);
|
|
25482
25689
|
};
|
|
25483
25690
|
const handleEyedropper = async () => {
|
|
@@ -25514,20 +25721,33 @@ function ColorPickerRow({
|
|
|
25514
25721
|
}
|
|
25515
25722
|
)
|
|
25516
25723
|
] }),
|
|
25517
|
-
/* @__PURE__ */ jsx(
|
|
25518
|
-
|
|
25724
|
+
/* @__PURE__ */ jsx(
|
|
25725
|
+
ThemeColorSwatchGrid,
|
|
25519
25726
|
{
|
|
25520
|
-
|
|
25521
|
-
className: `${SWATCH} ${DIS}`,
|
|
25522
|
-
style: { backgroundColor: c },
|
|
25523
|
-
title: `${label} ${c}`,
|
|
25524
|
-
"aria-label": `${label} ${c}`,
|
|
25525
|
-
"data-pptx-compact": true,
|
|
25727
|
+
prefix,
|
|
25526
25728
|
disabled,
|
|
25527
|
-
|
|
25528
|
-
|
|
25529
|
-
|
|
25530
|
-
|
|
25729
|
+
selectedRef,
|
|
25730
|
+
selectedHex: value,
|
|
25731
|
+
onPick: (c) => commit(c.hex, c.ref)
|
|
25732
|
+
}
|
|
25733
|
+
),
|
|
25734
|
+
/* @__PURE__ */ jsxs("div", { className: "mt-1", children: [
|
|
25735
|
+
/* @__PURE__ */ jsx("div", { className: "text-[10px] text-muted-foreground mb-1", children: t("pptx.colorPicker.standardColors") }),
|
|
25736
|
+
/* @__PURE__ */ jsx("div", { className: "flex flex-wrap gap-1", children: OFFICE_COLOR_SWATCHES.map((c) => /* @__PURE__ */ jsx(
|
|
25737
|
+
"button",
|
|
25738
|
+
{
|
|
25739
|
+
type: "button",
|
|
25740
|
+
className: `${SWATCH} ${DIS}`,
|
|
25741
|
+
style: { backgroundColor: c.hex },
|
|
25742
|
+
title: `${label} ${c.label}`,
|
|
25743
|
+
"aria-label": `${label} ${c.label}`,
|
|
25744
|
+
"data-pptx-compact": true,
|
|
25745
|
+
disabled,
|
|
25746
|
+
onClick: () => commit(c.hex)
|
|
25747
|
+
},
|
|
25748
|
+
`${prefix}-standard-${c.hex}`
|
|
25749
|
+
)) })
|
|
25750
|
+
] }),
|
|
25531
25751
|
/* @__PURE__ */ jsx(RecentColorsRow, { prefix, disabled, onCommit: commit })
|
|
25532
25752
|
] });
|
|
25533
25753
|
}
|
|
@@ -25553,7 +25773,7 @@ function GradientStopRow({
|
|
|
25553
25773
|
value: normalizeHexColor(stop.color, "#3b82f6"),
|
|
25554
25774
|
onChange: (e) => {
|
|
25555
25775
|
const hex = normalizeHexColor(e.target.value, "#3b82f6");
|
|
25556
|
-
patchStop({ color: hex });
|
|
25776
|
+
patchStop({ color: hex, colorRef: void 0 });
|
|
25557
25777
|
pushColor(hex);
|
|
25558
25778
|
},
|
|
25559
25779
|
className: "h-7 w-10 rounded border border-border bg-muted"
|
|
@@ -25581,6 +25801,18 @@ function GradientStopRow({
|
|
|
25581
25801
|
}
|
|
25582
25802
|
)
|
|
25583
25803
|
] }),
|
|
25804
|
+
/* @__PURE__ */ jsx(
|
|
25805
|
+
ThemeColorSwatchGrid,
|
|
25806
|
+
{
|
|
25807
|
+
prefix: `gradient-stop-${index}`,
|
|
25808
|
+
selectedRef: stop.colorRef,
|
|
25809
|
+
selectedHex: stop.color,
|
|
25810
|
+
onPick: (c) => {
|
|
25811
|
+
patchStop({ color: c.hex, colorRef: c.ref });
|
|
25812
|
+
pushColor(c.hex);
|
|
25813
|
+
}
|
|
25814
|
+
}
|
|
25815
|
+
),
|
|
25584
25816
|
/* @__PURE__ */ jsxs("div", { className: "grid grid-cols-[auto,1fr,auto] items-center gap-2 pl-1", children: [
|
|
25585
25817
|
/* @__PURE__ */ jsx("span", { className: "text-[10px] text-muted-foreground w-10 text-center", children: "Opacity" }),
|
|
25586
25818
|
/* @__PURE__ */ jsx(
|
|
@@ -25821,6 +26053,7 @@ function StrokeEffectsSection({
|
|
|
25821
26053
|
label: t("pptx.inspector.stroke"),
|
|
25822
26054
|
prefix: "stroke",
|
|
25823
26055
|
value: normalizeHexColor(style?.strokeColor, DEFAULT_STROKE_COLOR),
|
|
26056
|
+
selectedRef: style?.strokeColorRef,
|
|
25824
26057
|
onChange: onSetStrokeColor
|
|
25825
26058
|
}
|
|
25826
26059
|
),
|
|
@@ -26029,6 +26262,7 @@ function FillStrokeProperties({
|
|
|
26029
26262
|
label: t("pptx.fill.fill"),
|
|
26030
26263
|
prefix: "fill",
|
|
26031
26264
|
value: normalizeHexColor(style?.fillColor, DEFAULT_FILL_COLOR),
|
|
26265
|
+
selectedRef: style?.fillColorRef,
|
|
26032
26266
|
disabled: line,
|
|
26033
26267
|
onChange: onSetFillColor
|
|
26034
26268
|
}
|
|
@@ -26881,8 +27115,8 @@ function ShapeTextPanels({
|
|
|
26881
27115
|
),
|
|
26882
27116
|
canEdit,
|
|
26883
27117
|
onUpdateShapeStyle: onUpdateElementStyle,
|
|
26884
|
-
onSetFillColor: (hex) => onUpdateElementStyle({ fillColor: hex, fillMode: "solid" }),
|
|
26885
|
-
onSetStrokeColor: (hex) => onUpdateElementStyle({ strokeColor: hex })
|
|
27118
|
+
onSetFillColor: (hex, ref) => onUpdateElementStyle({ fillColor: hex, fillMode: "solid", fillColorRef: ref }),
|
|
27119
|
+
onSetStrokeColor: (hex, ref) => onUpdateElementStyle({ strokeColor: hex, strokeColorRef: ref })
|
|
26886
27120
|
}
|
|
26887
27121
|
)
|
|
26888
27122
|
] }),
|
|
@@ -26914,16 +27148,26 @@ function ShapeTextPanels({
|
|
|
26914
27148
|
ariaLabel: "Text Color",
|
|
26915
27149
|
value: normalizeHexColor(selectedElement.textStyle?.color, "#000000"),
|
|
26916
27150
|
className: "w-full h-7 rounded border border-border bg-transparent cursor-pointer",
|
|
26917
|
-
onCommit: (hex) => onUpdateTextStyle({ color: hex })
|
|
27151
|
+
onCommit: (hex) => onUpdateTextStyle({ color: hex, colorRef: void 0 })
|
|
26918
27152
|
}
|
|
26919
27153
|
)
|
|
26920
27154
|
] }),
|
|
27155
|
+
/* @__PURE__ */ jsx("div", { className: "col-span-2", children: /* @__PURE__ */ jsx(
|
|
27156
|
+
ThemeColorSwatchGrid,
|
|
27157
|
+
{
|
|
27158
|
+
prefix: "text-color",
|
|
27159
|
+
disabled: !canEdit,
|
|
27160
|
+
selectedRef: selectedElement.textStyle?.colorRef,
|
|
27161
|
+
selectedHex: selectedElement.textStyle?.color,
|
|
27162
|
+
onPick: (c) => onUpdateTextStyle({ color: c.hex, colorRef: c.ref })
|
|
27163
|
+
}
|
|
27164
|
+
) }),
|
|
26921
27165
|
/* @__PURE__ */ jsx("div", { className: "col-span-2", children: /* @__PURE__ */ jsx(
|
|
26922
27166
|
RecentColorsRow,
|
|
26923
27167
|
{
|
|
26924
27168
|
prefix: "text-color",
|
|
26925
27169
|
disabled: !canEdit,
|
|
26926
|
-
onCommit: (hex) => onUpdateTextStyle({ color: hex })
|
|
27170
|
+
onCommit: (hex) => onUpdateTextStyle({ color: hex, colorRef: void 0 })
|
|
26927
27171
|
}
|
|
26928
27172
|
) }),
|
|
26929
27173
|
/* @__PURE__ */ jsxs("div", { className: "flex gap-1 col-span-2", children: [
|
|
@@ -26970,6 +27214,14 @@ function ShapeTextPanels({
|
|
|
26970
27214
|
canEdit,
|
|
26971
27215
|
onUpdateTextStyle
|
|
26972
27216
|
}
|
|
27217
|
+
),
|
|
27218
|
+
(selectedElement.type === "text" || selectedElement.type === "shape" || selectedElement.type === "connector") && /* @__PURE__ */ jsx(
|
|
27219
|
+
AccessibilityTextSection,
|
|
27220
|
+
{
|
|
27221
|
+
selectedElement,
|
|
27222
|
+
canEdit,
|
|
27223
|
+
onUpdateElement
|
|
27224
|
+
}
|
|
26973
27225
|
)
|
|
26974
27226
|
] });
|
|
26975
27227
|
}
|
|
@@ -28050,6 +28302,39 @@ function GradientControls({
|
|
|
28050
28302
|
)
|
|
28051
28303
|
] });
|
|
28052
28304
|
}
|
|
28305
|
+
function TableCellColorField({
|
|
28306
|
+
label,
|
|
28307
|
+
prefix,
|
|
28308
|
+
value,
|
|
28309
|
+
fallback,
|
|
28310
|
+
selectedRef,
|
|
28311
|
+
disabled,
|
|
28312
|
+
onCommit
|
|
28313
|
+
}) {
|
|
28314
|
+
const hex = normalizeHexColor(value, fallback);
|
|
28315
|
+
return /* @__PURE__ */ jsxs("label", { className: "flex flex-col gap-1", children: [
|
|
28316
|
+
/* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: label }),
|
|
28317
|
+
/* @__PURE__ */ jsx(
|
|
28318
|
+
DebouncedColorInput,
|
|
28319
|
+
{
|
|
28320
|
+
disabled,
|
|
28321
|
+
value: hex,
|
|
28322
|
+
className: "w-full h-7 rounded border border-border bg-transparent cursor-pointer",
|
|
28323
|
+
onCommit: (next) => onCommit(next, void 0)
|
|
28324
|
+
}
|
|
28325
|
+
),
|
|
28326
|
+
/* @__PURE__ */ jsx(
|
|
28327
|
+
ThemeColorSwatchGrid,
|
|
28328
|
+
{
|
|
28329
|
+
prefix,
|
|
28330
|
+
disabled,
|
|
28331
|
+
selectedRef,
|
|
28332
|
+
selectedHex: hex,
|
|
28333
|
+
onPick: (c) => onCommit(c.hex, c.ref)
|
|
28334
|
+
}
|
|
28335
|
+
)
|
|
28336
|
+
] });
|
|
28337
|
+
}
|
|
28053
28338
|
function TableCellFormattingPanel({
|
|
28054
28339
|
tableData: td,
|
|
28055
28340
|
tableEditorState,
|
|
@@ -28099,30 +28384,30 @@ function TableCellFormattingPanel({
|
|
|
28099
28384
|
)
|
|
28100
28385
|
] }),
|
|
28101
28386
|
/* @__PURE__ */ jsxs("div", { className: "grid grid-cols-2 gap-1.5", children: [
|
|
28102
|
-
/* @__PURE__ */
|
|
28103
|
-
|
|
28104
|
-
|
|
28105
|
-
|
|
28106
|
-
|
|
28107
|
-
|
|
28108
|
-
|
|
28109
|
-
|
|
28110
|
-
|
|
28111
|
-
}
|
|
28112
|
-
|
|
28113
|
-
|
|
28114
|
-
/* @__PURE__ */
|
|
28115
|
-
|
|
28116
|
-
|
|
28117
|
-
|
|
28118
|
-
|
|
28119
|
-
|
|
28120
|
-
|
|
28121
|
-
|
|
28122
|
-
|
|
28123
|
-
}
|
|
28124
|
-
|
|
28125
|
-
|
|
28387
|
+
/* @__PURE__ */ jsx(
|
|
28388
|
+
TableCellColorField,
|
|
28389
|
+
{
|
|
28390
|
+
label: t("pptx.table.color"),
|
|
28391
|
+
prefix: "table-cell-text",
|
|
28392
|
+
value: cs.color,
|
|
28393
|
+
fallback: "#000000",
|
|
28394
|
+
selectedRef: cs.colorRef,
|
|
28395
|
+
disabled: !canEdit,
|
|
28396
|
+
onCommit: (hex, ref) => updateCellStyle({ color: hex, colorRef: ref })
|
|
28397
|
+
}
|
|
28398
|
+
),
|
|
28399
|
+
/* @__PURE__ */ jsx(
|
|
28400
|
+
TableCellColorField,
|
|
28401
|
+
{
|
|
28402
|
+
label: t("pptx.table.background"),
|
|
28403
|
+
prefix: "table-cell-bg",
|
|
28404
|
+
value: cs.backgroundColor,
|
|
28405
|
+
fallback: "#ffffff",
|
|
28406
|
+
selectedRef: cs.backgroundColorRef,
|
|
28407
|
+
disabled: !canEdit,
|
|
28408
|
+
onCommit: (hex, ref) => updateCellStyle({ backgroundColor: hex, backgroundColorRef: ref })
|
|
28409
|
+
}
|
|
28410
|
+
)
|
|
28126
28411
|
] }),
|
|
28127
28412
|
/* @__PURE__ */ jsx(
|
|
28128
28413
|
TableCellAdvancedFill,
|
|
@@ -28271,13 +28556,252 @@ function TableCellFormattingPanel({
|
|
|
28271
28556
|
] })
|
|
28272
28557
|
] });
|
|
28273
28558
|
}
|
|
28559
|
+
function TableStyleEditorFields({
|
|
28560
|
+
descriptor,
|
|
28561
|
+
canEdit,
|
|
28562
|
+
onEdit
|
|
28563
|
+
}) {
|
|
28564
|
+
const { t } = useTranslation();
|
|
28565
|
+
return /* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
|
|
28566
|
+
/* @__PURE__ */ jsxs("div", { className: "space-y-1", children: [
|
|
28567
|
+
/* @__PURE__ */ jsx("div", { className: HEADING, children: t("pptx.tableStyleEditor.fillSection") }),
|
|
28568
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 text-[11px]", children: [
|
|
28569
|
+
/* @__PURE__ */ jsx(
|
|
28570
|
+
"input",
|
|
28571
|
+
{
|
|
28572
|
+
type: "color",
|
|
28573
|
+
disabled: !canEdit,
|
|
28574
|
+
value: descriptor.fill.color.hex,
|
|
28575
|
+
onChange: (e) => onEdit({ kind: "fillColor", hex: e.target.value, ref: void 0 }),
|
|
28576
|
+
className: "h-6 w-8 rounded border border-border bg-transparent cursor-pointer"
|
|
28577
|
+
}
|
|
28578
|
+
),
|
|
28579
|
+
/* @__PURE__ */ jsxs("label", { className: "flex items-center gap-1", children: [
|
|
28580
|
+
/* @__PURE__ */ jsx(
|
|
28581
|
+
"input",
|
|
28582
|
+
{
|
|
28583
|
+
type: "checkbox",
|
|
28584
|
+
disabled: !canEdit,
|
|
28585
|
+
checked: descriptor.fill.noFill,
|
|
28586
|
+
onChange: (e) => onEdit({ kind: "fillNone", noFill: e.target.checked })
|
|
28587
|
+
}
|
|
28588
|
+
),
|
|
28589
|
+
t("pptx.tableStyleEditor.noFill")
|
|
28590
|
+
] })
|
|
28591
|
+
] }),
|
|
28592
|
+
/* @__PURE__ */ jsx(
|
|
28593
|
+
ThemeColorSwatchGrid,
|
|
28594
|
+
{
|
|
28595
|
+
prefix: "table-style-fill",
|
|
28596
|
+
disabled: !canEdit,
|
|
28597
|
+
selectedRef: descriptor.fill.color.ref,
|
|
28598
|
+
selectedHex: descriptor.fill.color.hex,
|
|
28599
|
+
onPick: (c) => onEdit({ kind: "fillColor", hex: c.hex, ref: c.ref })
|
|
28600
|
+
}
|
|
28601
|
+
)
|
|
28602
|
+
] }),
|
|
28603
|
+
descriptor.hasTextAndBorders && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
28604
|
+
/* @__PURE__ */ jsxs("div", { className: "space-y-1", children: [
|
|
28605
|
+
/* @__PURE__ */ jsx("div", { className: HEADING, children: t("pptx.tableStyleEditor.textSection") }),
|
|
28606
|
+
/* @__PURE__ */ jsx("div", { className: "flex gap-1", children: ["bold", "italic", "underline"].map((flag) => /* @__PURE__ */ jsx(
|
|
28607
|
+
"button",
|
|
28608
|
+
{
|
|
28609
|
+
type: "button",
|
|
28610
|
+
disabled: !canEdit,
|
|
28611
|
+
className: `${BTN} ${descriptor.text[flag] ? "bg-accent" : ""}`,
|
|
28612
|
+
onClick: () => onEdit(textFlagEdit(flag, !descriptor.text[flag])),
|
|
28613
|
+
children: t(`pptx.format.${flag}`)
|
|
28614
|
+
},
|
|
28615
|
+
flag
|
|
28616
|
+
)) }),
|
|
28617
|
+
/* @__PURE__ */ jsxs("label", { className: "flex items-center gap-2 text-[11px]", children: [
|
|
28618
|
+
/* @__PURE__ */ jsx("span", { children: t("pptx.tableStyleEditor.textColor") }),
|
|
28619
|
+
/* @__PURE__ */ jsx(
|
|
28620
|
+
"input",
|
|
28621
|
+
{
|
|
28622
|
+
type: "color",
|
|
28623
|
+
disabled: !canEdit,
|
|
28624
|
+
value: descriptor.text.color.hex,
|
|
28625
|
+
onChange: (e) => onEdit({ kind: "textColor", hex: e.target.value, ref: void 0 }),
|
|
28626
|
+
className: "h-6 w-8 rounded border border-border bg-transparent cursor-pointer"
|
|
28627
|
+
}
|
|
28628
|
+
)
|
|
28629
|
+
] }),
|
|
28630
|
+
/* @__PURE__ */ jsx(
|
|
28631
|
+
ThemeColorSwatchGrid,
|
|
28632
|
+
{
|
|
28633
|
+
prefix: "table-style-text",
|
|
28634
|
+
disabled: !canEdit,
|
|
28635
|
+
selectedRef: descriptor.text.color.ref,
|
|
28636
|
+
selectedHex: descriptor.text.color.hex,
|
|
28637
|
+
onPick: (c) => onEdit({ kind: "textColor", hex: c.hex, ref: c.ref })
|
|
28638
|
+
}
|
|
28639
|
+
)
|
|
28640
|
+
] }),
|
|
28641
|
+
/* @__PURE__ */ jsxs("div", { className: "space-y-1", children: [
|
|
28642
|
+
/* @__PURE__ */ jsx("div", { className: HEADING, children: t("pptx.tableStyleEditor.bordersSection") }),
|
|
28643
|
+
TABLE_STYLE_BORDER_SIDES.map((side) => /* @__PURE__ */ jsx(
|
|
28644
|
+
BorderSideRow,
|
|
28645
|
+
{
|
|
28646
|
+
side,
|
|
28647
|
+
state: descriptor.borders[side],
|
|
28648
|
+
canEdit,
|
|
28649
|
+
onEdit
|
|
28650
|
+
},
|
|
28651
|
+
side
|
|
28652
|
+
))
|
|
28653
|
+
] })
|
|
28654
|
+
] })
|
|
28655
|
+
] });
|
|
28656
|
+
}
|
|
28657
|
+
function textFlagEdit(flag, value) {
|
|
28658
|
+
if (flag === "bold") {
|
|
28659
|
+
return { kind: "textBold", value };
|
|
28660
|
+
}
|
|
28661
|
+
if (flag === "italic") {
|
|
28662
|
+
return { kind: "textItalic", value };
|
|
28663
|
+
}
|
|
28664
|
+
return { kind: "textUnderline", value };
|
|
28665
|
+
}
|
|
28666
|
+
function BorderSideRow({
|
|
28667
|
+
side,
|
|
28668
|
+
state,
|
|
28669
|
+
canEdit,
|
|
28670
|
+
onEdit
|
|
28671
|
+
}) {
|
|
28672
|
+
const { t } = useTranslation();
|
|
28673
|
+
return /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1.5 text-[11px]", children: [
|
|
28674
|
+
/* @__PURE__ */ jsx("span", { className: "w-28 shrink-0 text-muted-foreground", children: t(TABLE_STYLE_BORDER_SIDE_LABEL_KEYS[side]) }),
|
|
28675
|
+
/* @__PURE__ */ jsx(
|
|
28676
|
+
"input",
|
|
28677
|
+
{
|
|
28678
|
+
type: "color",
|
|
28679
|
+
disabled: !canEdit,
|
|
28680
|
+
value: state.color.hex,
|
|
28681
|
+
onChange: (e) => onEdit({ kind: "borderColor", side, hex: e.target.value, ref: void 0 }),
|
|
28682
|
+
className: "h-6 w-7 rounded border border-border bg-transparent cursor-pointer"
|
|
28683
|
+
}
|
|
28684
|
+
),
|
|
28685
|
+
/* @__PURE__ */ jsx(
|
|
28686
|
+
"input",
|
|
28687
|
+
{
|
|
28688
|
+
type: "number",
|
|
28689
|
+
min: 0,
|
|
28690
|
+
max: 20,
|
|
28691
|
+
disabled: !canEdit,
|
|
28692
|
+
value: state.width,
|
|
28693
|
+
onChange: (e) => onEdit({ kind: "borderWidth", side, width: Number(e.target.value) }),
|
|
28694
|
+
className: `${INPUT} w-12`
|
|
28695
|
+
}
|
|
28696
|
+
),
|
|
28697
|
+
/* @__PURE__ */ jsx(
|
|
28698
|
+
"select",
|
|
28699
|
+
{
|
|
28700
|
+
disabled: !canEdit,
|
|
28701
|
+
value: state.dash,
|
|
28702
|
+
onChange: (e) => onEdit({ kind: "borderDash", side, dash: e.target.value }),
|
|
28703
|
+
className: INPUT,
|
|
28704
|
+
children: TABLE_STYLE_DASH_PRESETS.map((dash) => /* @__PURE__ */ jsx("option", { value: dash, children: dash }, dash))
|
|
28705
|
+
}
|
|
28706
|
+
),
|
|
28707
|
+
/* @__PURE__ */ jsxs("label", { className: "flex items-center gap-1 shrink-0", children: [
|
|
28708
|
+
/* @__PURE__ */ jsx(
|
|
28709
|
+
"input",
|
|
28710
|
+
{
|
|
28711
|
+
type: "checkbox",
|
|
28712
|
+
disabled: !canEdit,
|
|
28713
|
+
checked: state.noFill,
|
|
28714
|
+
onChange: (e) => onEdit({ kind: "borderNone", side, noFill: e.target.checked })
|
|
28715
|
+
}
|
|
28716
|
+
),
|
|
28717
|
+
t("pptx.tableStyleEditor.noBorder")
|
|
28718
|
+
] })
|
|
28719
|
+
] });
|
|
28720
|
+
}
|
|
28721
|
+
function TableStyleEditor({
|
|
28722
|
+
styleMap,
|
|
28723
|
+
styleId,
|
|
28724
|
+
canEdit,
|
|
28725
|
+
onStyleMapChange,
|
|
28726
|
+
onDeleteStyle,
|
|
28727
|
+
onAssignStyle,
|
|
28728
|
+
onClose
|
|
28729
|
+
}) {
|
|
28730
|
+
const { t } = useTranslation();
|
|
28731
|
+
const themeColorMap = useThemeColorMap();
|
|
28732
|
+
const [activeStyleId, setActiveStyleId] = useState(
|
|
28733
|
+
styleId ? normalizeTableStyleGuid(styleId) : ""
|
|
28734
|
+
);
|
|
28735
|
+
const [selectedPart, setSelectedPart] = useState("wholeTbl");
|
|
28736
|
+
const entry = activeStyleId ? styleMap?.[activeStyleId] : void 0;
|
|
28737
|
+
const descriptor = describeTableStyleEditor(entry, selectedPart, themeColorMap);
|
|
28738
|
+
function edit(fieldEdit) {
|
|
28739
|
+
if (!entry || !styleMap) {
|
|
28740
|
+
return;
|
|
28741
|
+
}
|
|
28742
|
+
const { entry: nextEntry } = applyTableStyleFieldEdit(entry, selectedPart, fieldEdit);
|
|
28743
|
+
onStyleMapChange({ ...styleMap, [nextEntry.styleId]: nextEntry });
|
|
28744
|
+
}
|
|
28745
|
+
function createFromCurrent() {
|
|
28746
|
+
const name = window.prompt(
|
|
28747
|
+
t("pptx.tableStyleEditor.newStyleNamePrompt"),
|
|
28748
|
+
entry ? `${entry.styleName ?? ""} Copy`.trim() : ""
|
|
28749
|
+
);
|
|
28750
|
+
if (!name) {
|
|
28751
|
+
return;
|
|
28752
|
+
}
|
|
28753
|
+
const nextMap = { ...styleMap ?? {} };
|
|
28754
|
+
const created = createTableStyleEntry(nextMap, { styleName: name, basedOn: entry });
|
|
28755
|
+
addTableStyleToMap(nextMap, created);
|
|
28756
|
+
onStyleMapChange(nextMap);
|
|
28757
|
+
setActiveStyleId(created.styleId);
|
|
28758
|
+
onAssignStyle?.(created.styleId);
|
|
28759
|
+
}
|
|
28760
|
+
function handleDelete() {
|
|
28761
|
+
if (!entry || !styleMap || !window.confirm(t("pptx.tableStyleEditor.deleteConfirm"))) {
|
|
28762
|
+
return;
|
|
28763
|
+
}
|
|
28764
|
+
const nextMap = { ...styleMap };
|
|
28765
|
+
deleteTableStyleFromMap(nextMap, entry.styleId);
|
|
28766
|
+
onStyleMapChange(nextMap);
|
|
28767
|
+
onDeleteStyle(entry.styleId);
|
|
28768
|
+
onClose();
|
|
28769
|
+
}
|
|
28770
|
+
return /* @__PURE__ */ jsxs("div", { className: CARD, "data-testid": "table-style-editor", children: [
|
|
28771
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between", children: [
|
|
28772
|
+
/* @__PURE__ */ jsx("div", { className: HEADING, children: t("pptx.tableStyleEditor.title") }),
|
|
28773
|
+
/* @__PURE__ */ jsx("button", { type: "button", className: BTN, onClick: onClose, children: t("pptx.tableStyleEditor.close") })
|
|
28774
|
+
] }),
|
|
28775
|
+
!entry && /* @__PURE__ */ jsx("div", { className: "text-[11px] text-muted-foreground", children: t("pptx.tableStyleEditor.noStyleSelected") }),
|
|
28776
|
+
entry && /* @__PURE__ */ jsx("div", { className: "flex flex-wrap gap-1", children: TABLE_STYLE_EDITOR_PARTS.map((part) => /* @__PURE__ */ jsx(
|
|
28777
|
+
"button",
|
|
28778
|
+
{
|
|
28779
|
+
type: "button",
|
|
28780
|
+
disabled: !canEdit,
|
|
28781
|
+
className: `${BTN} ${selectedPart === part.id ? "bg-accent" : ""}`,
|
|
28782
|
+
onClick: () => setSelectedPart(part.id),
|
|
28783
|
+
children: t(part.labelKey)
|
|
28784
|
+
},
|
|
28785
|
+
part.id
|
|
28786
|
+
)) }),
|
|
28787
|
+
descriptor && /* @__PURE__ */ jsx(TableStyleEditorFields, { descriptor, canEdit, onEdit: edit }),
|
|
28788
|
+
/* @__PURE__ */ jsxs("div", { className: "flex gap-1.5 pt-1 border-t border-border", children: [
|
|
28789
|
+
/* @__PURE__ */ jsx("button", { type: "button", className: BTN, disabled: !canEdit, onClick: createFromCurrent, children: entry ? t("pptx.tableStyleEditor.newFromCurrent") : t("pptx.tableStyleEditor.newStyle") }),
|
|
28790
|
+
entry && /* @__PURE__ */ jsx("button", { type: "button", className: BTN, disabled: !canEdit, onClick: handleDelete, children: t("pptx.tableStyleEditor.deleteStyle") })
|
|
28791
|
+
] })
|
|
28792
|
+
] });
|
|
28793
|
+
}
|
|
28274
28794
|
function TablePropertiesPanel({
|
|
28275
28795
|
tableElement,
|
|
28276
28796
|
canEdit,
|
|
28277
28797
|
onUpdateElement,
|
|
28278
|
-
tableEditorState
|
|
28798
|
+
tableEditorState,
|
|
28799
|
+
tableStyleMap,
|
|
28800
|
+
onTableStyleMapChange,
|
|
28801
|
+
onDeleteTableStyle
|
|
28279
28802
|
}) {
|
|
28280
28803
|
const { t } = useTranslation();
|
|
28804
|
+
const [showStyleEditor, setShowStyleEditor] = useState(false);
|
|
28281
28805
|
const td = tableElement.tableData;
|
|
28282
28806
|
if (!td) {
|
|
28283
28807
|
return null;
|
|
@@ -28368,8 +28892,30 @@ function TablePropertiesPanel({
|
|
|
28368
28892
|
] })
|
|
28369
28893
|
},
|
|
28370
28894
|
preset.id
|
|
28371
|
-
)) })
|
|
28895
|
+
)) }),
|
|
28896
|
+
onTableStyleMapChange && /* @__PURE__ */ jsx(
|
|
28897
|
+
"button",
|
|
28898
|
+
{
|
|
28899
|
+
type: "button",
|
|
28900
|
+
className: `${BTN} mt-1.5`,
|
|
28901
|
+
disabled: !canEdit,
|
|
28902
|
+
onClick: () => setShowStyleEditor((v) => !v),
|
|
28903
|
+
children: t("pptx.tableStyleEditor.editButton")
|
|
28904
|
+
}
|
|
28905
|
+
)
|
|
28372
28906
|
] }),
|
|
28907
|
+
showStyleEditor && onTableStyleMapChange && /* @__PURE__ */ jsx(
|
|
28908
|
+
TableStyleEditor,
|
|
28909
|
+
{
|
|
28910
|
+
styleMap: tableStyleMap,
|
|
28911
|
+
styleId: td.tableStyleId,
|
|
28912
|
+
canEdit,
|
|
28913
|
+
onStyleMapChange: onTableStyleMapChange,
|
|
28914
|
+
onDeleteStyle: (styleId) => onDeleteTableStyle?.(styleId),
|
|
28915
|
+
onAssignStyle: (styleId) => updateTableData(tableStyleAssignmentUpdate(styleId)),
|
|
28916
|
+
onClose: () => setShowStyleEditor(false)
|
|
28917
|
+
}
|
|
28918
|
+
),
|
|
28373
28919
|
/* @__PURE__ */ jsxs("div", { className: CARD, children: [
|
|
28374
28920
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between mb-1", children: [
|
|
28375
28921
|
/* @__PURE__ */ jsx("div", { className: HEADING, children: t("pptx.table.columnWidths") }),
|
|
@@ -28467,6 +29013,9 @@ function ElementInspectorBody({
|
|
|
28467
29013
|
customShows,
|
|
28468
29014
|
tableEditorState,
|
|
28469
29015
|
mediaDataUrls,
|
|
29016
|
+
tableStyleMap,
|
|
29017
|
+
onTableStyleMapChange,
|
|
29018
|
+
onDeleteTableStyle,
|
|
28470
29019
|
onUpdateElement,
|
|
28471
29020
|
onUpdateElementStyle,
|
|
28472
29021
|
onUpdateTextStyle,
|
|
@@ -28528,7 +29077,10 @@ function ElementInspectorBody({
|
|
|
28528
29077
|
tableElement: selectedElement,
|
|
28529
29078
|
canEdit,
|
|
28530
29079
|
onUpdateElement,
|
|
28531
|
-
tableEditorState
|
|
29080
|
+
tableEditorState,
|
|
29081
|
+
tableStyleMap,
|
|
29082
|
+
onTableStyleMapChange,
|
|
29083
|
+
onDeleteTableStyle
|
|
28532
29084
|
}
|
|
28533
29085
|
)
|
|
28534
29086
|
] }),
|
|
@@ -30567,6 +31119,9 @@ function InspectorPane(props) {
|
|
|
30567
31119
|
onGetTemplateBackgroundColor,
|
|
30568
31120
|
mediaDataUrls,
|
|
30569
31121
|
theme,
|
|
31122
|
+
tableStyleMap,
|
|
31123
|
+
onTableStyleMapChange,
|
|
31124
|
+
onDeleteTableStyle,
|
|
30570
31125
|
panelWidth
|
|
30571
31126
|
} = props;
|
|
30572
31127
|
const hasSelection = selectedElement !== null;
|
|
@@ -30649,6 +31204,9 @@ function InspectorPane(props) {
|
|
|
30649
31204
|
customShows,
|
|
30650
31205
|
tableEditorState,
|
|
30651
31206
|
mediaDataUrls,
|
|
31207
|
+
tableStyleMap,
|
|
31208
|
+
onTableStyleMapChange,
|
|
31209
|
+
onDeleteTableStyle,
|
|
30652
31210
|
onUpdateElement,
|
|
30653
31211
|
onUpdateElementStyle,
|
|
30654
31212
|
onUpdateTextStyle,
|
|
@@ -33840,6 +34398,9 @@ function ViewerInspector({
|
|
|
33840
34398
|
onGetTemplateBackgroundColor,
|
|
33841
34399
|
mediaDataUrls,
|
|
33842
34400
|
theme,
|
|
34401
|
+
tableStyleMap,
|
|
34402
|
+
onTableStyleMapChange,
|
|
34403
|
+
onDeleteTableStyle,
|
|
33843
34404
|
panelWidth
|
|
33844
34405
|
}) {
|
|
33845
34406
|
const { t } = useTranslation();
|
|
@@ -33929,6 +34490,9 @@ function ViewerInspector({
|
|
|
33929
34490
|
onGetTemplateBackgroundColor,
|
|
33930
34491
|
mediaDataUrls,
|
|
33931
34492
|
theme,
|
|
34493
|
+
tableStyleMap,
|
|
34494
|
+
onTableStyleMapChange,
|
|
34495
|
+
onDeleteTableStyle,
|
|
33932
34496
|
panelWidth
|
|
33933
34497
|
}
|
|
33934
34498
|
)
|
|
@@ -36071,10 +36635,26 @@ ${url}`)) {
|
|
|
36071
36635
|
)
|
|
36072
36636
|
);
|
|
36073
36637
|
}
|
|
36638
|
+
|
|
36639
|
+
// src/viewer/hooks/useTableStyleMapHandlers.ts
|
|
36640
|
+
function useTableStyleMapHandlers(input) {
|
|
36641
|
+
const { tableStyleMap, setTableStyleMap, tableStylesToDelete, setTableStylesToDelete } = input;
|
|
36642
|
+
const handleTableStyleMapChange = (nextMap) => {
|
|
36643
|
+
const result = applyTableStyleMapChange({ tableStyleMap, tableStylesToDelete }, nextMap);
|
|
36644
|
+
setTableStyleMap(result.tableStyleMap);
|
|
36645
|
+
setTableStylesToDelete(result.tableStylesToDelete);
|
|
36646
|
+
};
|
|
36647
|
+
const handleDeleteTableStyle = (styleId) => {
|
|
36648
|
+
const result = applyTableStyleDelete({ tableStyleMap, tableStylesToDelete }, styleId);
|
|
36649
|
+
setTableStyleMap(result.tableStyleMap);
|
|
36650
|
+
setTableStylesToDelete(result.tableStylesToDelete);
|
|
36651
|
+
};
|
|
36652
|
+
return { handleTableStyleMapChange, handleDeleteTableStyle };
|
|
36653
|
+
}
|
|
36074
36654
|
var AiChatPanel = lazy(async () => {
|
|
36075
36655
|
const [{ useChat }, { default: Panel }] = await Promise.all([
|
|
36076
36656
|
import('@ai-sdk/react'),
|
|
36077
|
-
import('./AiChatPanel-
|
|
36657
|
+
import('./AiChatPanel-A5DCEHTO.mjs')
|
|
36078
36658
|
]);
|
|
36079
36659
|
function BoundAiChatPanel(props) {
|
|
36080
36660
|
return /* @__PURE__ */ jsx(Panel, { ...props, useChat });
|
|
@@ -36989,6 +37569,12 @@ function ViewerSidePanels(props) {
|
|
|
36989
37569
|
s.setCanvasSize(slideSizeToCanvasPx(size));
|
|
36990
37570
|
history.markDirty();
|
|
36991
37571
|
};
|
|
37572
|
+
const { handleTableStyleMapChange, handleDeleteTableStyle } = useTableStyleMapHandlers({
|
|
37573
|
+
tableStyleMap: s.tableStyleMap,
|
|
37574
|
+
setTableStyleMap: s.setTableStyleMap,
|
|
37575
|
+
tableStylesToDelete: s.tableStylesToDelete,
|
|
37576
|
+
setTableStylesToDelete: s.setTableStylesToDelete
|
|
37577
|
+
});
|
|
36992
37578
|
const effectiveSlide = mode === "master" ? masterPseudoSlide : activeSlide;
|
|
36993
37579
|
const currentBuiltInTheme = BUILT_IN_THEMES.find(
|
|
36994
37580
|
(candidate) => themeColorSchemesEqual(s.theme?.colorScheme, candidate.colorScheme)
|
|
@@ -37046,6 +37632,9 @@ function ViewerSidePanels(props) {
|
|
|
37046
37632
|
onGetTemplateBackgroundColor: themeHandlers.handleGetTemplateBackgroundColor,
|
|
37047
37633
|
mediaDataUrls: s.mediaDataUrls,
|
|
37048
37634
|
theme: s.theme,
|
|
37635
|
+
tableStyleMap: s.tableStyleMap,
|
|
37636
|
+
onTableStyleMapChange: handleTableStyleMapChange,
|
|
37637
|
+
onDeleteTableStyle: handleDeleteTableStyle,
|
|
37049
37638
|
panelWidth
|
|
37050
37639
|
}
|
|
37051
37640
|
),
|
|
@@ -38824,9 +39413,13 @@ function useAiBridge(input) {
|
|
|
38824
39413
|
presentationProperties: live.presentationProperties,
|
|
38825
39414
|
customProperties: live.customProperties,
|
|
38826
39415
|
coreProperties: live.coreProperties,
|
|
38827
|
-
appProperties: live.appProperties
|
|
39416
|
+
appProperties: live.appProperties,
|
|
39417
|
+
viewProperties: live.viewProperties,
|
|
39418
|
+
tableStyleMap: live.tableStyleMap,
|
|
39419
|
+
tableStylesDefaultId: live.tableStylesDefaultId,
|
|
39420
|
+
tags: live.tagCollections
|
|
38828
39421
|
});
|
|
38829
|
-
const differs =
|
|
39422
|
+
const differs = deckDataFieldChanged;
|
|
38830
39423
|
return {
|
|
38831
39424
|
getDeckMeta() {
|
|
38832
39425
|
const live = ref.current;
|
|
@@ -38900,6 +39493,19 @@ function useAiBridge(input) {
|
|
|
38900
39493
|
if (differs(before.appProperties, after.appProperties)) {
|
|
38901
39494
|
live.setAppProperties(after.appProperties);
|
|
38902
39495
|
}
|
|
39496
|
+
if (differs(before.viewProperties, after.viewProperties)) {
|
|
39497
|
+
live.setViewProperties(after.viewProperties);
|
|
39498
|
+
}
|
|
39499
|
+
if (differs(before.tableStyleMap, after.tableStyleMap)) {
|
|
39500
|
+
live.setTableStyleMap(after.tableStyleMap);
|
|
39501
|
+
}
|
|
39502
|
+
if (differs(before.tableStylesDefaultId, after.tableStylesDefaultId)) {
|
|
39503
|
+
live.setTableStylesDefaultId(after.tableStylesDefaultId);
|
|
39504
|
+
}
|
|
39505
|
+
const nextTags = after.tags ?? before.tags ?? [];
|
|
39506
|
+
if (differs(before.tags, nextTags)) {
|
|
39507
|
+
live.setTagCollections(nextTags);
|
|
39508
|
+
}
|
|
38903
39509
|
live.markDirty();
|
|
38904
39510
|
},
|
|
38905
39511
|
getFocusedTargets() {
|
|
@@ -39326,6 +39932,10 @@ var PowerPointViewer = forwardRef(
|
|
|
39326
39932
|
() => ({ recentColors: state.recentColors, pushColor }),
|
|
39327
39933
|
[state.recentColors, pushColor]
|
|
39328
39934
|
);
|
|
39935
|
+
const themeColorMapValue = useMemo(
|
|
39936
|
+
() => state.theme?.colorScheme ? buildThemeColorMap(state.theme.colorScheme) : void 0,
|
|
39937
|
+
[state.theme?.colorScheme]
|
|
39938
|
+
);
|
|
39329
39939
|
const settings = useMemo(
|
|
39330
39940
|
() => ({
|
|
39331
39941
|
autoSave: autosaveEnabled,
|
|
@@ -39789,12 +40399,20 @@ var PowerPointViewer = forwardRef(
|
|
|
39789
40399
|
customProperties: state.customProperties,
|
|
39790
40400
|
coreProperties: state.coreProperties,
|
|
39791
40401
|
appProperties: state.appProperties,
|
|
40402
|
+
viewProperties: state.viewProperties,
|
|
40403
|
+
tableStyleMap: state.tableStyleMap,
|
|
40404
|
+
tableStylesDefaultId: state.tableStylesDefaultId,
|
|
40405
|
+
tagCollections: state.tagCollections,
|
|
39792
40406
|
setCanvasSize: state.setCanvasSize,
|
|
39793
40407
|
setSections: state.setSections,
|
|
39794
40408
|
setPresentationProperties: state.setPresentationProperties,
|
|
39795
40409
|
setCustomProperties: state.setCustomProperties,
|
|
39796
40410
|
setCoreProperties: state.setCoreProperties,
|
|
39797
40411
|
setAppProperties: state.setAppProperties,
|
|
40412
|
+
setViewProperties: state.setViewProperties,
|
|
40413
|
+
setTableStyleMap: state.setTableStyleMap,
|
|
40414
|
+
setTableStylesDefaultId: state.setTableStylesDefaultId,
|
|
40415
|
+
setTagCollections: state.setTagCollections,
|
|
39798
40416
|
setSlides: state.setSlides,
|
|
39799
40417
|
setActiveSlideIndex: state.setActiveSlideIndex,
|
|
39800
40418
|
applySelection: editorOps.ops.applySelection,
|
|
@@ -39826,7 +40444,7 @@ var PowerPointViewer = forwardRef(
|
|
|
39826
40444
|
ref: containerRef,
|
|
39827
40445
|
tabIndex: 0,
|
|
39828
40446
|
className: "h-full w-full flex flex-col overflow-hidden outline-none",
|
|
39829
|
-
children: loading ? /* @__PURE__ */ jsx(LoadingState, {}) : error ? /* @__PURE__ */ jsx(ErrorState, { error }) : /* @__PURE__ */ jsxs(RecentColorsProvider, { value: recentColorsValue, children: [
|
|
40447
|
+
children: loading ? /* @__PURE__ */ jsx(LoadingState, {}) : error ? /* @__PURE__ */ jsx(ErrorState, { error }) : /* @__PURE__ */ jsx(ThemeColorMapProvider, { value: themeColorMapValue, children: /* @__PURE__ */ jsxs(RecentColorsProvider, { value: recentColorsValue, children: [
|
|
39830
40448
|
mode !== "present" && /* @__PURE__ */ jsx(
|
|
39831
40449
|
ViewerToolbarSection,
|
|
39832
40450
|
{
|
|
@@ -39969,7 +40587,7 @@ var PowerPointViewer = forwardRef(
|
|
|
39969
40587
|
commentCount: activeSlide?.comments?.length ?? 0
|
|
39970
40588
|
}
|
|
39971
40589
|
)
|
|
39972
|
-
] })
|
|
40590
|
+
] }) })
|
|
39973
40591
|
}
|
|
39974
40592
|
),
|
|
39975
40593
|
mode !== "present" && /* @__PURE__ */ jsx(
|
|
@@ -40172,7 +40790,29 @@ var PowerPointViewer = forwardRef(
|
|
|
40172
40790
|
content,
|
|
40173
40791
|
loadVersion,
|
|
40174
40792
|
loadOrigin,
|
|
40175
|
-
livePatcher: state.livePatcher
|
|
40793
|
+
livePatcher: state.livePatcher,
|
|
40794
|
+
deckSaveState: {
|
|
40795
|
+
headerFooter: state.headerFooter,
|
|
40796
|
+
presentationProperties: state.presentationProperties,
|
|
40797
|
+
viewProperties: state.viewProperties,
|
|
40798
|
+
customShows: state.customShows,
|
|
40799
|
+
sections: state.sections,
|
|
40800
|
+
coreProperties: state.coreProperties,
|
|
40801
|
+
appProperties: state.appProperties,
|
|
40802
|
+
customProperties: state.customProperties,
|
|
40803
|
+
tagCollections: state.tagCollections,
|
|
40804
|
+
slideMasters: state.slideMasters,
|
|
40805
|
+
notesMaster: state.notesMaster,
|
|
40806
|
+
handoutMaster: state.handoutMaster,
|
|
40807
|
+
slideSize: resolveSlideSizeSelection({
|
|
40808
|
+
current: state.slideSizeEmu,
|
|
40809
|
+
canvas: canvasSize
|
|
40810
|
+
}).size,
|
|
40811
|
+
tableStyleMap: state.tableStyleMap,
|
|
40812
|
+
tableStylesDefaultId: state.tableStylesDefaultId,
|
|
40813
|
+
tableStylesToDelete: state.tableStylesToDelete,
|
|
40814
|
+
embedFonts: dialogs.embedFontsEnabled
|
|
40815
|
+
}
|
|
40176
40816
|
}
|
|
40177
40817
|
),
|
|
40178
40818
|
/* @__PURE__ */ jsx(
|
|
@@ -40213,7 +40853,8 @@ function CollaborationDocumentSync({
|
|
|
40213
40853
|
content,
|
|
40214
40854
|
loadVersion,
|
|
40215
40855
|
loadOrigin,
|
|
40216
|
-
livePatcher
|
|
40856
|
+
livePatcher,
|
|
40857
|
+
deckSaveState
|
|
40217
40858
|
}) {
|
|
40218
40859
|
const collab = useCollaboration();
|
|
40219
40860
|
const contentRef = useRef(content);
|
|
@@ -40225,6 +40866,9 @@ function CollaborationDocumentSync({
|
|
|
40225
40866
|
}
|
|
40226
40867
|
return bytes instanceof Uint8Array ? bytes : new Uint8Array(bytes);
|
|
40227
40868
|
}, []);
|
|
40869
|
+
const deckSaveStateRef = useRef(deckSaveState);
|
|
40870
|
+
deckSaveStateRef.current = deckSaveState;
|
|
40871
|
+
const getSaveOptions = useCallback(() => buildDeckSaveOptions(deckSaveStateRef.current), []);
|
|
40228
40872
|
useYjsDocumentSync({
|
|
40229
40873
|
doc: collab?.doc ?? null,
|
|
40230
40874
|
slides,
|
|
@@ -40234,6 +40878,7 @@ function CollaborationDocumentSync({
|
|
|
40234
40878
|
isSynced: collab?.synced ?? true,
|
|
40235
40879
|
config,
|
|
40236
40880
|
getSourceBytes,
|
|
40881
|
+
getSaveOptions,
|
|
40237
40882
|
loadVersion,
|
|
40238
40883
|
loadOrigin
|
|
40239
40884
|
});
|