pptx-react-viewer 3.19.2 → 3.20.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 +10 -0
- package/dist/{AiChatPanel-KILEXOPT.js → AiChatPanel-NBKG2CWE.js} +25 -25
- package/dist/AiChatPanel-NBKG2CWE.js.br +0 -0
- package/dist/AiChatPanel-NBKG2CWE.js.gz +0 -0
- package/dist/{AiChatPanel-ZH52BQBE.mjs → AiChatPanel-OXCJVBUS.mjs} +4 -4
- package/dist/AiChatPanel-OXCJVBUS.mjs.br +0 -0
- package/dist/AiChatPanel-OXCJVBUS.mjs.gz +0 -0
- package/dist/{Area3DChartScene-UHN7ZOZT.mjs → Area3DChartScene-5M3LEY6M.mjs} +1 -1
- package/dist/Area3DChartScene-5M3LEY6M.mjs.br +0 -0
- package/dist/Area3DChartScene-5M3LEY6M.mjs.gz +0 -0
- package/dist/{Area3DChartScene-HS7EBQLQ.js → Area3DChartScene-7QPDPVR6.js} +2 -2
- package/dist/Area3DChartScene-7QPDPVR6.js.br +0 -0
- package/dist/Area3DChartScene-7QPDPVR6.js.gz +0 -0
- package/dist/{Bar3DChartScene-TFGSYASD.mjs → Bar3DChartScene-NNSTLO4V.mjs} +1 -1
- package/dist/Bar3DChartScene-NNSTLO4V.mjs.br +0 -0
- package/dist/Bar3DChartScene-NNSTLO4V.mjs.gz +0 -0
- package/dist/{Bar3DChartScene-E57TRVUU.js → Bar3DChartScene-TAMPS6ZS.js} +2 -2
- package/dist/Bar3DChartScene-TAMPS6ZS.js.br +0 -0
- package/dist/Bar3DChartScene-TAMPS6ZS.js.gz +0 -0
- package/dist/{Line3DChartScene-RES5D7W7.mjs → Line3DChartScene-7S2DD45T.mjs} +1 -1
- package/dist/Line3DChartScene-7S2DD45T.mjs.br +0 -0
- package/dist/Line3DChartScene-7S2DD45T.mjs.gz +0 -0
- package/dist/{Line3DChartScene-NM7YYLZD.js → Line3DChartScene-T4SH37NU.js} +2 -2
- package/dist/Line3DChartScene-T4SH37NU.js.br +0 -0
- package/dist/Line3DChartScene-T4SH37NU.js.gz +0 -0
- package/dist/{Model3DScene-6CWFGE7M.mjs → Model3DScene-CXRM7D3J.mjs} +1 -1
- package/dist/Model3DScene-CXRM7D3J.mjs.br +0 -0
- package/dist/Model3DScene-CXRM7D3J.mjs.gz +0 -0
- package/dist/{Model3DScene-SL3QF63O.js → Model3DScene-IDRM7EZD.js} +2 -2
- package/dist/Model3DScene-IDRM7EZD.js.br +0 -0
- package/dist/Model3DScene-IDRM7EZD.js.gz +0 -0
- package/dist/{PieChart3DScene-WIVYOQUQ.js → PieChart3DScene-66Y5UP64.js} +2 -2
- package/dist/PieChart3DScene-66Y5UP64.js.br +0 -0
- package/dist/PieChart3DScene-66Y5UP64.js.gz +0 -0
- package/dist/{PieChart3DScene-QYJUOYMB.mjs → PieChart3DScene-VSCSEY2G.mjs} +1 -1
- package/dist/PieChart3DScene-VSCSEY2G.mjs.br +0 -0
- package/dist/PieChart3DScene-VSCSEY2G.mjs.gz +0 -0
- package/dist/{SurfaceChart3DScene-QCUYYQBZ.js → SurfaceChart3DScene-6J4A6XUH.js} +2 -2
- package/dist/SurfaceChart3DScene-6J4A6XUH.js.br +0 -0
- package/dist/SurfaceChart3DScene-6J4A6XUH.js.gz +0 -0
- package/dist/{SurfaceChart3DScene-Y2LF73QQ.mjs → SurfaceChart3DScene-NSHDK657.mjs} +1 -1
- package/dist/SurfaceChart3DScene-NSHDK657.mjs.br +0 -0
- package/dist/SurfaceChart3DScene-NSHDK657.mjs.gz +0 -0
- package/dist/{chunk-ATKAU2J4.mjs → chunk-2IBDKMY2.mjs} +506 -325
- package/dist/chunk-2IBDKMY2.mjs.br +0 -0
- package/dist/chunk-2IBDKMY2.mjs.gz +0 -0
- package/dist/{chunk-M5BAPEQL.mjs → chunk-5PDGHTRJ.mjs} +9 -9
- package/dist/chunk-5PDGHTRJ.mjs.br +0 -0
- package/dist/chunk-5PDGHTRJ.mjs.gz +0 -0
- package/dist/{chunk-RPPLJQ6R.js → chunk-7SFA4A2E.js} +1515 -1334
- package/dist/chunk-7SFA4A2E.js.br +0 -0
- package/dist/chunk-7SFA4A2E.js.gz +0 -0
- package/dist/{chunk-MQUTXOET.mjs → chunk-AVTH627G.mjs} +11 -0
- package/dist/chunk-AVTH627G.mjs.br +0 -0
- package/dist/chunk-AVTH627G.mjs.gz +0 -0
- package/dist/{chunk-NEMPFYZ5.mjs → chunk-AYH6XSE7.mjs} +1 -1
- package/dist/chunk-AYH6XSE7.mjs.br +0 -0
- package/dist/chunk-AYH6XSE7.mjs.gz +0 -0
- package/dist/{chunk-YH4ODPSH.js → chunk-DW66NEST.js} +182 -182
- package/dist/chunk-DW66NEST.js.br +0 -0
- package/dist/chunk-DW66NEST.js.gz +0 -0
- package/dist/{chunk-7XJ7I6TJ.mjs → chunk-FE4L26FT.mjs} +2 -2
- package/dist/chunk-FE4L26FT.mjs.br +0 -0
- package/dist/chunk-FE4L26FT.mjs.gz +0 -0
- package/dist/{chunk-BRJN3ZMG.js → chunk-I5LPYESF.js} +11 -0
- package/dist/chunk-I5LPYESF.js.br +0 -0
- package/dist/chunk-I5LPYESF.js.gz +0 -0
- package/dist/{chunk-GULL4H2I.mjs → chunk-N4FLKADC.mjs} +476 -168
- package/dist/chunk-N4FLKADC.mjs.br +0 -0
- package/dist/chunk-N4FLKADC.mjs.gz +0 -0
- package/dist/{chunk-ZUIM5737.js → chunk-NGWA6L3N.js} +479 -167
- package/dist/chunk-NGWA6L3N.js.br +0 -0
- package/dist/chunk-NGWA6L3N.js.gz +0 -0
- package/dist/{chunk-2LK3OHAN.js → chunk-W3RBIIZW.js} +796 -796
- package/dist/chunk-W3RBIIZW.js.br +0 -0
- package/dist/chunk-W3RBIIZW.js.gz +0 -0
- package/dist/{chunk-F7VYECOL.js → chunk-WRXXPCZ7.js} +5 -5
- package/dist/chunk-WRXXPCZ7.js.br +0 -0
- package/dist/chunk-WRXXPCZ7.js.gz +0 -0
- package/dist/i18n/de.cjs +11 -0
- package/dist/i18n/de.cjs.br +0 -0
- package/dist/i18n/de.cjs.gz +0 -0
- package/dist/i18n/de.mjs +11 -0
- package/dist/i18n/de.mjs.br +0 -0
- package/dist/i18n/de.mjs.gz +0 -0
- package/dist/i18n/es.cjs +11 -0
- package/dist/i18n/es.cjs.br +0 -0
- package/dist/i18n/es.cjs.gz +0 -0
- package/dist/i18n/es.mjs +11 -0
- package/dist/i18n/es.mjs.br +0 -0
- package/dist/i18n/es.mjs.gz +0 -0
- package/dist/i18n/fr.cjs +11 -0
- package/dist/i18n/fr.cjs.br +0 -0
- package/dist/i18n/fr.cjs.gz +0 -0
- package/dist/i18n/fr.mjs +11 -0
- package/dist/i18n/fr.mjs.br +0 -0
- package/dist/i18n/fr.mjs.gz +0 -0
- package/dist/i18n/zh-CN.cjs +11 -0
- package/dist/i18n/zh-CN.cjs.br +0 -0
- package/dist/i18n/zh-CN.cjs.gz +0 -0
- package/dist/i18n/zh-CN.mjs +11 -0
- package/dist/i18n/zh-CN.mjs.br +0 -0
- package/dist/i18n/zh-CN.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 +37 -0
- package/dist/index.js +48 -48
- 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 +37 -0
- package/dist/internals.js +105 -105
- 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/pptx-viewer.css +1 -1
- package/dist/pptx-viewer.css.br +0 -0
- package/dist/pptx-viewer.css.gz +0 -0
- package/dist/viewer/index.d.ts +37 -0
- package/dist/viewer/index.js +27 -27
- package/dist/viewer/index.js.br +0 -0
- package/dist/viewer/index.js.gz +0 -0
- package/dist/viewer/index.mjs +6 -6
- package/dist/viewer/index.mjs.br +0 -0
- package/dist/viewer/index.mjs.gz +0 -0
- package/package.json +1 -1
- package/dist/AiChatPanel-KILEXOPT.js.br +0 -0
- package/dist/AiChatPanel-KILEXOPT.js.gz +0 -0
- package/dist/AiChatPanel-ZH52BQBE.mjs.br +0 -0
- package/dist/AiChatPanel-ZH52BQBE.mjs.gz +0 -0
- package/dist/Area3DChartScene-HS7EBQLQ.js.br +0 -0
- package/dist/Area3DChartScene-HS7EBQLQ.js.gz +0 -0
- package/dist/Area3DChartScene-UHN7ZOZT.mjs.br +0 -0
- package/dist/Area3DChartScene-UHN7ZOZT.mjs.gz +0 -0
- package/dist/Bar3DChartScene-E57TRVUU.js.br +0 -0
- package/dist/Bar3DChartScene-E57TRVUU.js.gz +0 -0
- package/dist/Bar3DChartScene-TFGSYASD.mjs.br +0 -0
- package/dist/Bar3DChartScene-TFGSYASD.mjs.gz +0 -0
- package/dist/Line3DChartScene-NM7YYLZD.js.br +0 -0
- package/dist/Line3DChartScene-NM7YYLZD.js.gz +0 -0
- package/dist/Line3DChartScene-RES5D7W7.mjs.br +0 -0
- package/dist/Line3DChartScene-RES5D7W7.mjs.gz +0 -0
- package/dist/Model3DScene-6CWFGE7M.mjs.br +0 -0
- package/dist/Model3DScene-6CWFGE7M.mjs.gz +0 -0
- package/dist/Model3DScene-SL3QF63O.js.br +0 -0
- package/dist/Model3DScene-SL3QF63O.js.gz +0 -0
- package/dist/PieChart3DScene-QYJUOYMB.mjs.br +0 -0
- package/dist/PieChart3DScene-QYJUOYMB.mjs.gz +0 -0
- package/dist/PieChart3DScene-WIVYOQUQ.js.br +0 -0
- package/dist/PieChart3DScene-WIVYOQUQ.js.gz +0 -0
- package/dist/SurfaceChart3DScene-QCUYYQBZ.js.br +0 -0
- package/dist/SurfaceChart3DScene-QCUYYQBZ.js.gz +0 -0
- package/dist/SurfaceChart3DScene-Y2LF73QQ.mjs.br +0 -0
- package/dist/SurfaceChart3DScene-Y2LF73QQ.mjs.gz +0 -0
- package/dist/chunk-2LK3OHAN.js.br +0 -0
- package/dist/chunk-2LK3OHAN.js.gz +0 -0
- package/dist/chunk-7XJ7I6TJ.mjs.br +0 -0
- package/dist/chunk-7XJ7I6TJ.mjs.gz +0 -0
- package/dist/chunk-ATKAU2J4.mjs.br +0 -0
- package/dist/chunk-ATKAU2J4.mjs.gz +0 -0
- package/dist/chunk-BRJN3ZMG.js.br +0 -0
- package/dist/chunk-BRJN3ZMG.js.gz +0 -0
- package/dist/chunk-F7VYECOL.js.br +0 -0
- package/dist/chunk-F7VYECOL.js.gz +0 -0
- package/dist/chunk-GULL4H2I.mjs.br +0 -0
- package/dist/chunk-GULL4H2I.mjs.gz +0 -0
- package/dist/chunk-M5BAPEQL.mjs.br +0 -0
- package/dist/chunk-M5BAPEQL.mjs.gz +0 -0
- package/dist/chunk-MQUTXOET.mjs.br +0 -0
- package/dist/chunk-MQUTXOET.mjs.gz +0 -0
- package/dist/chunk-NEMPFYZ5.mjs.br +0 -0
- package/dist/chunk-NEMPFYZ5.mjs.gz +0 -0
- package/dist/chunk-RPPLJQ6R.js.br +0 -0
- package/dist/chunk-RPPLJQ6R.js.gz +0 -0
- package/dist/chunk-YH4ODPSH.js.br +0 -0
- package/dist/chunk-YH4ODPSH.js.gz +0 -0
- package/dist/chunk-ZUIM5737.js.br +0 -0
- package/dist/chunk-ZUIM5737.js.gz +0 -0
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { computeFocusTargets, deckDataFieldChanged, 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, LoadingState, ViewerOptionsContext, SmartArt3DContext, SurfaceChart3DContext, BarChart3DContext, LineChart3DContext, AreaChart3DContext, PieChart3DContext, useYjsDocumentSync, useCollaborationLivePatch, useFollowMode, useBroadcastFollower, SlideBackgroundImageLayer, StaticElementRenderer, safePrompt, scopeLayoutOptionsToActiveSlide, ChartPartSelectionProvider, useToolbarVisibility, useKeyboardInsets, useModalDismissDrag, useCollaborativeState, useViewerOptionsContext, useVirtualizedSlides, useSwipeNavigation, PresentationTransitionOverlay, useSheetDismissDrag, detectTargetType, parseEmailUrl, parseSlideFromUrl, ACTION_VERB_MAP, ElementRenderer, SmartArtRenderer, playAnimationSound, ResizeHandles, renderStrokeView, useChartPartSelection, resolveSmartArtDataPalette } from './chunk-
|
|
3
|
-
import { SHAPE_PRESETS, ANIMATION_PRESET_OPTIONS, cn, SLIDE_NAV_THUMBNAIL_WIDTH, TOOLBAR_SECTIONS, DEFAULT_SECTION_GROUP_ID, SHORTCUT_REFERENCE_ITEMS as SHORTCUT_REFERENCE_ITEMS$1, isConnectorOrLineElement, GRID_SIZE, MIN_ELEMENT_SIZE, CONNECTOR_ARROW_OPTIONS, ARROW_SIZE_OPTIONS, DEFAULT_FILL_COLOR, startMotionPathPreview, startPreviewAnimation, stopPreviewAnimation, DEFAULT_STROKE_COLOR, STROKE_DASH_OPTIONS } from './chunk-
|
|
4
|
-
import { 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, RULER_THICKNESS, RULER_FONT_SIZE, buildPreviewElements, deriveSlideFieldContext, SLIDE_TRANSITION_OPTIONS, hiddenSlideCue, HIDDEN_SLIDE_SLASH_GRADIENT, HIDDEN_SLIDE_LABEL_KEY, visibleTemplateElements, normalizeHexColor, themeToCssVars, shouldClearAutosaveCacheOnClose, masterViewCrudActions, applyMasterViewCrudAction, masterViewCrudFailureKey, applyMotionPathPreset, resetSlideLayoutPath, DEFAULT_INSERT_CHART_KIND, hasCopyableFormat, templateSchemeFromTheme, createBackstagePresentation, playFeedbackSound, shouldDiscardAutosaveOnSuccessfulSave, setMasterViewBackgroundColor, canUseClipboard, runProgramNoticeStackStyle, compatToastStackStyle, printPropertiesFrameSlides, printPropertiesSlidesPerPage, getDensePanelTouchTargetPx, shouldStickyActionRow, VIEWER_OPTIONS_TABS, DEFAULT_QUICK_ACCESS_COMMAND_IDS, isHeaderFooterDateTextVisible, isHeaderFooterHeaderTextVisible, isHeaderFooterFooterTextVisible, buildJoinCollaborationConfig, buildCreateCollaborationConfig, generateBroadcastRoomId, DEFAULT_BROADCAST_SERVER_URL, buildBroadcastViewerUrl, resolveTransportForServerUrl, getSlideBackgroundStyle, pushRecentColor, mruColorsPatch, 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, extraQuickAccessCommands, TAB_ROW_ACTION_CLASSES, listBackstageRecentFiles, BACKSTAGE_NAV, hasTextProperties, COMMON_FONT_SIZES, textFontSizePtToPx, INSERT_CHART_TYPES, ACTION_BUTTON_PRESETS, CHARACTER_SPACING_OPTIONS, OFFICE_COLOR_SWATCHES, hasShapeProperties, shapeFillChange, shapeOutlineChange, readRibbonTransitionDraft, ribbonTransitionUpdates, playSlideTransitionPreview, RIBBON_TRANSITION_PRESETS, transitionSoundOptions, transitionSoundSelectedValue, DEFAULT_MOTION_PATH_PRESET_ID, SLIDE_SHOW_OPTIONS, slideShowOptionChange, readSlideShowOption, SLIDE_VIRTUALIZATION_THRESHOLD, PRESENTATION_HIT_TEST_CSS, PRESENTATION_STAGE_ATTRIBUTE, buildStrokePathD, cursorForTool, annotationOverlayZIndex, presentationInkPath, resolveNotesSchematicBodyFontSizePx, 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, MIN_TOUCH_TARGET_PX, toggleSheet, SMARTART_PREVIEW_ELEMENT_HEIGHT, SMARTART_PREVIEW_ELEMENT_WIDTH, buildSmartArtPreviewElement, sanitizeMathMl, computeHandoutLayout, getPrintableArea, generateNoteLineCount, computeAllNotesPages, getNotesPrintableArea, downloadBlob, clampOptionNumber, QUICK_ACCESS_COMMAND_CATALOG, registerCustomFont, openReadingView, applyReadingViewCommand, createPresentationKeyBuffer, readingViewFitScale, READING_VIEW_STAGE_ATTR, buildOutline, applyOutlineEdit, mapOutlineKey, notesSegmentsToSpans, erasePresentationInkAt, movePresenterPointer, appendPresentationInkPoint, PRESENTER_CONSOLE_CONTROLS, NOTES_FONT_SIZE_DEFAULT, formatTime, NOTES_FONT_SIZE_MIN, clampNotesFontSize, NOTES_FONT_SIZE_STEP, NOTES_FONT_SIZE_MAX, BACKSTAGE_TEMPLATES, formatBackstageDate, formatBackstageSize, backstageCardsFor, DEFAULT_VIEWER_PROFILE, resolveProfileInitial, AVATAR_COLOR_SWATCHES, resolveDefaultFontFamily, textFontSizePxToPt, buildFontCatalog, getSelectionTextStyleFlags, getInlineEditorSelectionResult, selectedParagraphBulletKind, elementBulletKind, selectionBulletKind, TEXT_DECORATION_FLAGS, nextToggleValue, buildThemeColorSwatchGrid, themeColorSwatchRows, findSelectedThemeSwatch, themeSwatchCommit, RIBBON_SHAPE_SWATCHES, canGroupSelection, canUngroupSelection, canSetStrokeWidth, strokeWidthOf, readSoundFileAsDataUrl, applyTransitionSoundFile, TRANSITION_SOUND_OTHER_VALUE, TRANSITION_SOUND_NONE_VALUE, clearTransitionSound, applyTransitionStockSound, transitionStockSoundId, getEffectSoundAsset, ENTRANCE_PRESET_VALUES, EMPHASIS_PRESET_VALUES, EXIT_PRESET_VALUES, MOTION_PATH_FAMILIES, motionPathFamilyLabelKey, motionPathPresetsByFamily, motionPathPresetLabelKey, masterViewPseudoSlide, attachEditorImagePaste, authorConnectorBetweenSites, findEraserHitElementId, generateTicks, rulerDragToGuidePosition, resolveElementInteractivity, getElementTransformWithoutRotation, getElementTransform, getActiveXControlOverlayView, buildCommentMarkers, COMMENT_MARKER_SIZE, collectConnectorSiteCandidates, getConnectorEndpointHandles, findConnectorSiteNear, motionPathToSvgD, motionPathEndPixel, isEditableMotionPath, setMotionPathEnd, hasMultipleSelectedTableCells, applyTableStyleDelete, applyTableStyleMapChange, themeColorLabel, buildThemeColorGrid, THEME_COLOR_SCHEME_KEYS, COMMON_FONTS, handleReadingViewKey, getLocalStorageUsageSummary, saveViewerProfile, clearAllLocalViewerData, isCurrentLayout, SLIDE_TEMPLATES, computeAnchoredPopupPosition, buildFreeformShapeElement, buildLiveInkStrokeView, CONNECTOR_SITE_SNAP_PX, resolveConnectorEndpointUpdate, withConnectorEndpointUpdate, getShapeConnectionSites, isElementLocked, isImageLikeElement, mergeSlideTransition, getElementLabel, mapSlideSorterKey, isEditorTextInputTarget, clampSorterZoom, buildLayoutPreviewGeometry, buildSlideTemplateContent, hasTiltData, elementLockTogglePatch, buildTableDataGrid, getDenseGridLayoutPlan, appendTableElementRow, removeLastTableElementRow, appendTableElementColumn, removeLastTableElementColumn, removeTableElementColumn, removeTableElementRow, setTableElementCellText, TABLE_STYLE_PRESETS, applyTableStylePreset, tableStyleAssignmentUpdate, evenColumnWidths, redistributeColumnWidth, evenRowHeights, patchChartData, collapseChartTitleRunsForEdit, chartGridlinesState, chartGridlinesPatch, seriesSecondaryAxisPatch, setChartCategoryLabel, setChartCellValue, addChartCategory, removeChartCategory, addChartSeries, removeChartSeries, hideChartSeries, restoreFilteredSeries, setDataLabelsRangeCache, setChartAxisLogScale, setChartAxisTitleStyle, setChartAxisGridlineStyle, setChartSeriesMarker, setChartSeriesChartType, setChartDataPointFill, setChartDataPointExplosion, setChartDataPointMarker, setChartDataPointLabel, describeSmartArtBounds, canAddTopLevelNode, classifyExtraConnections, siblingIndex, siblingCount, canRemoveTopLevelNode, canInteractWithElement, buildOleObjectNamePatch, getOleObjectTypeLabel, sanitizeGradientStops, shouldShowAccessibilitySection, pptxActionToElementAction, withFrameSlides, withSlidesPerPage, applyThemeOverrideToSlide, COLOR_MAP_ALIAS_KEYS, DEFAULT_COLOR_MAP, schemaLabel, THEME_COLOR_SLOT_LABEL_KEYS, SLIDE_SIZE_PRESETS, TRANSITION_VALID_DIRECTIONS, TRANSITION_ORIENTATION_TYPES, clampTransitionNumber, TRANSITION_SPEED_OPTIONS, TRANSITION_MORPH_OPTIONS, flattenTagCollections, resolveTemplateBackgroundRows, formatCommentTimestamp, commentMentionQuery, matchCommentMentionAuthors, buildAnimationTimelineRows, clearMotionPath, getEffectSoundState, setEffectSound, setEffectStockSound, setAfterAnimation, setAfterAnimationColor, DIRECTIONAL_PRESETS, buildAnimationTimelineBars, motionPathPresetIdForPath, EFFECT_SOUND_CATALOGUE, normalizeTableStyleGuid, describeTableStyleEditor, TABLE_STYLE_EDITOR_PARTS, computeMergeCellRight, computeMergeCellDown, computeSplitCell, updateMergeAttrsInRawXml, resolveDisplayedChartType, CHART_TYPE_OPTIONS, BAR3D_SHAPE_OPTIONS, bar3DShapePatch, RADAR_STYLE_OPTIONS, radarStylePatch, SURFACE_WIREFRAME_OPTIONS, surfaceWireframePatch, isSeriesUsingSecondaryAxis, listChartUserShapeRows, withChartUserShapeAdded, createDefaultChartUserShape, withChartUserShapeRowRemoved, withChartUserShapeRowTextUpdated, SMARTART_COLOR_SCHEME_LABEL_KEYS, SMARTART_STYLE_LABEL_KEYS, addSmartArtNodeAsChild, setSmartArtNodeStyle, removeSmartArtNode, addSiblingAfter, removeEmptyNode, demote, promote, updateSmartArtNodeText, reorder, clampCropValue, DUOTONE_PRESETS, ARTISTIC_EFFECTS, mediaTrimEndSeconds, trimmedMediaDurationMs, mediaTrimEndAbsoluteMs, mediaTrimEndMsFromAbsoluteMs, buildOleEditDialogDescriptor, buildOleContentUpdatePatch, applyOleSheetCellEdit, getOleSheetGrid, applyOleDocumentParagraphEdit, getOleDocumentParagraphs, applyOleNestedDeckElementTextEdit, getOleNestedDeckDetail, replaceOleFile, getNonVisualDescriptionFields, resolveActionType, ELEMENT_ACTION_TYPE_OPTIONS, elementActionToPptxAction, canCommitActionType, slideSizeFromPreset, withSlideSizeOrientation, TRANSITION_DIR_ARROWS, buildDirectionGrid, getSlideTransitionAnimations, SLIDE_TRANSITION_KEYFRAMES, updateTagInCollections, deleteTagFromCollections, addTagToCollections, commentTextSegments, COMMENT_MENTION_CLASS, COMMENT_MENTION_ATTRIBUTE, insertCommentMention, reorderAnimationTimelineRows, applyAnimationTimelineOrder, animationEffectLabel, TABLE_STYLE_BORDER_SIDES, applyTableStyleFieldEdit, createTableStyleEntry, addTableStyleToMap, deleteTableStyleFromMap, LBL, SEL, FILL_MODE_OPTIONS, SECTION_HEADING, NUM, getChartUserShapeGroupTransform, withChartUserShapeGroupChildAdded, createDefaultChartUserShapeGroupChild, withChartUserShapeRowUpdated, getChartUserShapeRowChartBox, withChartUserShapeRowFlipUpdated, withChartUserShapeRowRotationUpdated, withChartUserShapeRowChartBoxUpdated, switchSmartArtLayout, rebuildDrawingShapesIfCleared, mediaTrimEndMsFromSeconds, validateMediaTrimRange, SHAPE_QUICK_STYLES, quickStyleSwatchCss, PATTERN_PRESET_OPTIONS, getPatternSvg, COMPOUND_LINE_OPTIONS, LINE_JOIN_OPTIONS, LINE_CAP_OPTIONS, TEXT_WARP_PRESETS, warpPreviewPath, text3dPtToEmu, text3dEmuToPt, MATERIAL_PRESETS, toSlideIndex, TABLE_STYLE_BORDER_SIDE_LABEL_KEYS, TABLE_STYLE_DASH_PRESETS, GRADIENT_TYPE_OPTIONS, PATTERN_OPTIONS, FILL_PATTERN_LABEL_KEYS, openNativeEyeDropper, toggleText3dExtrusion, BEVEL_PRESETS } from './chunk-GULL4H2I.mjs';
|
|
5
|
-
import { LOCALE_CATALOG, ALIGNMENT_LABEL_KEYS } from './chunk-
|
|
1
|
+
import { computeFocusTargets, deckDataFieldChanged, aiChangeAnimationCss, changeGhostStyle, createChatHistoryStore, collectStoredChats, exportAiChatLogs, applyElementUpdate } from './chunk-AYH6XSE7.mjs';
|
|
2
|
+
import { useViewerOptions, useReadOnlyRecommendationState, useCompatibilityToastsState, useReducedMotion, useViewerState, useIsMobile, useResizablePanels, useDerivedSlideState, useZoomViewport, useEditorHistory, usePresentationSetup, useTouchGestures, useViewerDialogs, useEditorOperations, useViewerIntegration, useViewPreferencesSync, useLayoutSwitching, LoadingState, ViewerOptionsContext, SmartArt3DContext, SurfaceChart3DContext, BarChart3DContext, LineChart3DContext, AreaChart3DContext, PieChart3DContext, useYjsDocumentSync, useCollaborationLivePatch, useFollowMode, useBroadcastFollower, SlideBackgroundImageLayer, StaticElementRenderer, safePrompt, scopeLayoutOptionsToActiveSlide, ChartPartSelectionProvider, useToolbarVisibility, useKeyboardInsets, useModalDismissDrag, useCollaborativeState, useViewerOptionsContext, useVirtualizedSlides, useSwipeNavigation, PresentationTransitionOverlay, useSheetDismissDrag, detectTargetType, parseEmailUrl, parseSlideFromUrl, ACTION_VERB_MAP, ElementRenderer, SmartArtRenderer, playAnimationSound, ResizeHandles, renderStrokeView, useChartPartSelection, resolveSmartArtDataPalette } from './chunk-5PDGHTRJ.mjs';
|
|
3
|
+
import { SHAPE_PRESETS, ANIMATION_PRESET_OPTIONS, cn, SLIDE_NAV_THUMBNAIL_WIDTH, TOOLBAR_SECTIONS, DEFAULT_SECTION_GROUP_ID, SHORTCUT_REFERENCE_ITEMS as SHORTCUT_REFERENCE_ITEMS$1, isConnectorOrLineElement, GRID_SIZE, MIN_ELEMENT_SIZE, CONNECTOR_ARROW_OPTIONS, ARROW_SIZE_OPTIONS, DEFAULT_FILL_COLOR, startMotionPathPreview, startPreviewAnimation, stopPreviewAnimation, DEFAULT_STROKE_COLOR, STROKE_DASH_OPTIONS } from './chunk-FE4L26FT.mjs';
|
|
4
|
+
import { 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, RULER_THICKNESS, RULER_FONT_SIZE, buildPreviewElements, deriveSlideFieldContext, SLIDE_TRANSITION_OPTIONS, hiddenSlideCue, HIDDEN_SLIDE_SLASH_GRADIENT, HIDDEN_SLIDE_LABEL_KEY, visibleTemplateElements, normalizeHexColor, themeToCssVars, shouldClearAutosaveCacheOnClose, masterViewCrudActions, applyMasterViewCrudAction, masterViewCrudFailureKey, applyMotionPathPreset, resetSlideLayoutPath, DEFAULT_INSERT_CHART_KIND, hasCopyableFormat, templateSchemeFromTheme, createBackstagePresentation, playFeedbackSound, shouldDiscardAutosaveOnSuccessfulSave, setMasterViewBackgroundColor, canUseClipboard, runProgramNoticeStackStyle, compatToastStackStyle, printPropertiesFrameSlides, printPropertiesSlidesPerPage, getDensePanelTouchTargetPx, shouldStickyActionRow, VIEWER_OPTIONS_TABS, DEFAULT_QUICK_ACCESS_COMMAND_IDS, isHeaderFooterDateTextVisible, isHeaderFooterHeaderTextVisible, isHeaderFooterFooterTextVisible, buildJoinCollaborationConfig, buildCreateCollaborationConfig, generateBroadcastRoomId, DEFAULT_BROADCAST_SERVER_URL, buildBroadcastViewerUrl, resolveTransportForServerUrl, getSlideBackgroundStyle, pushRecentColor, mruColorsPatch, 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, extraQuickAccessCommands, TAB_ROW_ACTION_CLASSES, listBackstageRecentFiles, BACKSTAGE_NAV, hasTextProperties, COMMON_FONT_SIZES, textFontSizePtToPx, INSERT_CHART_TYPES, ACTION_BUTTON_PRESETS, CHARACTER_SPACING_OPTIONS, OFFICE_COLOR_SWATCHES, hasShapeProperties, shapeFillChange, shapeOutlineChange, readRibbonTransitionDraft, ribbonTransitionUpdates, playSlideTransitionPreview, RIBBON_TRANSITION_PRESETS, transitionSoundOptions, transitionSoundSelectedValue, DEFAULT_MOTION_PATH_PRESET_ID, SLIDE_SHOW_OPTIONS, slideShowOptionChange, readSlideShowOption, SLIDE_VIRTUALIZATION_THRESHOLD, PRESENTATION_HIT_TEST_CSS, PRESENTATION_STAGE_ATTRIBUTE, buildStrokePathD, cursorForTool, annotationOverlayZIndex, presentationInkPath, resolveNotesSchematicBodyFontSizePx, 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, MIN_TOUCH_TARGET_PX, toggleSheet, SMARTART_PREVIEW_ELEMENT_HEIGHT, SMARTART_PREVIEW_ELEMENT_WIDTH, buildSmartArtPreviewElement, sanitizeMathMl, computeHandoutLayout, getPrintableArea, generateNoteLineCount, computeAllNotesPages, getNotesPrintableArea, downloadBlob, clampOptionNumber, QUICK_ACCESS_COMMAND_CATALOG, registerCustomFont, openReadingView, applyReadingViewCommand, createPresentationKeyBuffer, readingViewFitScale, READING_VIEW_STAGE_ATTR, buildOutline, applyOutlineEdit, mapOutlineKey, notesSegmentsToSpans, erasePresentationInkAt, movePresenterPointer, appendPresentationInkPoint, PRESENTER_CONSOLE_CONTROLS, NOTES_FONT_SIZE_DEFAULT, formatTime, NOTES_FONT_SIZE_MIN, clampNotesFontSize, NOTES_FONT_SIZE_STEP, NOTES_FONT_SIZE_MAX, BACKSTAGE_TEMPLATES, formatBackstageDate, formatBackstageSize, backstageCardsFor, DEFAULT_VIEWER_PROFILE, resolveProfileInitial, AVATAR_COLOR_SWATCHES, resolveDefaultFontFamily, textFontSizePxToPt, buildFontCatalog, getSelectionTextStyleFlags, getInlineEditorSelectionResult, selectedParagraphBulletKind, elementBulletKind, selectionBulletKind, TEXT_DECORATION_FLAGS, nextToggleValue, buildThemeColorSwatchGrid, themeColorSwatchRows, findSelectedThemeSwatch, themeSwatchCommit, RIBBON_SHAPE_SWATCHES, canGroupSelection, canUngroupSelection, canSetStrokeWidth, strokeWidthOf, readSoundFileAsDataUrl, applyTransitionSoundFile, TRANSITION_SOUND_OTHER_VALUE, TRANSITION_SOUND_NONE_VALUE, clearTransitionSound, applyTransitionStockSound, transitionStockSoundId, getEffectSoundAsset, ENTRANCE_PRESET_VALUES, EMPHASIS_PRESET_VALUES, EXIT_PRESET_VALUES, MOTION_PATH_FAMILIES, motionPathFamilyLabelKey, motionPathPresetsByFamily, motionPathPresetLabelKey, masterViewPseudoSlide, attachEditorImagePaste, authorConnectorBetweenSites, findEraserHitElementId, generateTicks, rulerDragToGuidePosition, resolveElementInteractivity, getElementTransformWithoutRotation, getElementTransform, buildChartQuickActionsDescriptor, applyChartElementToggle, CHART_QUICK_ACTION_BUTTON_SIZE, applyChartStylePreset, hideChartSeries, restoreFilteredSeries, getActiveXControlOverlayView, buildCommentMarkers, COMMENT_MARKER_SIZE, collectConnectorSiteCandidates, getConnectorEndpointHandles, findConnectorSiteNear, motionPathToSvgD, motionPathEndPixel, isEditableMotionPath, setMotionPathEnd, hasMultipleSelectedTableCells, applyTableStyleDelete, applyTableStyleMapChange, themeColorLabel, buildThemeColorGrid, THEME_COLOR_SCHEME_KEYS, COMMON_FONTS, handleReadingViewKey, getLocalStorageUsageSummary, saveViewerProfile, clearAllLocalViewerData, isCurrentLayout, SLIDE_TEMPLATES, computeAnchoredPopupPosition, buildFreeformShapeElement, buildLiveInkStrokeView, CONNECTOR_SITE_SNAP_PX, resolveConnectorEndpointUpdate, withConnectorEndpointUpdate, getShapeConnectionSites, isElementLocked, isImageLikeElement, mergeSlideTransition, getElementLabel, mapSlideSorterKey, isEditorTextInputTarget, clampSorterZoom, buildLayoutPreviewGeometry, buildSlideTemplateContent, hasTiltData, elementLockTogglePatch, buildTableDataGrid, getDenseGridLayoutPlan, appendTableElementRow, removeLastTableElementRow, appendTableElementColumn, removeLastTableElementColumn, removeTableElementColumn, removeTableElementRow, setTableElementCellText, TABLE_STYLE_PRESETS, applyTableStylePreset, tableStyleAssignmentUpdate, evenColumnWidths, redistributeColumnWidth, evenRowHeights, patchChartData, collapseChartTitleRunsForEdit, chartGridlinesState, chartGridlinesPatch, seriesSecondaryAxisPatch, setChartCategoryLabel, setChartCellValue, addChartCategory, removeChartCategory, addChartSeries, removeChartSeries, setDataLabelsRangeCache, setChartAxisLogScale, setChartAxisTitleStyle, setChartAxisGridlineStyle, setChartSeriesMarker, setChartSeriesChartType, setChartDataPointFill, setChartDataPointExplosion, setChartDataPointMarker, setChartDataPointLabel, describeSmartArtBounds, canAddTopLevelNode, classifyExtraConnections, siblingIndex, siblingCount, canRemoveTopLevelNode, canInteractWithElement, buildOleObjectNamePatch, getOleObjectTypeLabel, sanitizeGradientStops, shouldShowAccessibilitySection, pptxActionToElementAction, withFrameSlides, withSlidesPerPage, applyThemeOverrideToSlide, COLOR_MAP_ALIAS_KEYS, DEFAULT_COLOR_MAP, schemaLabel, THEME_COLOR_SLOT_LABEL_KEYS, SLIDE_SIZE_PRESETS, TRANSITION_VALID_DIRECTIONS, TRANSITION_ORIENTATION_TYPES, clampTransitionNumber, TRANSITION_SPEED_OPTIONS, TRANSITION_MORPH_OPTIONS, flattenTagCollections, resolveTemplateBackgroundRows, formatCommentTimestamp, commentMentionQuery, matchCommentMentionAuthors, buildAnimationTimelineRows, clearMotionPath, getEffectSoundState, setEffectSound, setEffectStockSound, setAfterAnimation, setAfterAnimationColor, DIRECTIONAL_PRESETS, buildAnimationTimelineBars, motionPathPresetIdForPath, EFFECT_SOUND_CATALOGUE, normalizeTableStyleGuid, describeTableStyleEditor, TABLE_STYLE_EDITOR_PARTS, computeMergeCellRight, computeMergeCellDown, computeSplitCell, updateMergeAttrsInRawXml, resolveDisplayedChartType, CHART_TYPE_OPTIONS, BAR3D_SHAPE_OPTIONS, bar3DShapePatch, RADAR_STYLE_OPTIONS, radarStylePatch, SURFACE_WIREFRAME_OPTIONS, surfaceWireframePatch, isSeriesUsingSecondaryAxis, listChartUserShapeRows, withChartUserShapeAdded, createDefaultChartUserShape, withChartUserShapeRowRemoved, withChartUserShapeRowTextUpdated, SMARTART_COLOR_SCHEME_LABEL_KEYS, SMARTART_STYLE_LABEL_KEYS, addSmartArtNodeAsChild, setSmartArtNodeStyle, removeSmartArtNode, addSiblingAfter, removeEmptyNode, demote, promote, updateSmartArtNodeText, reorder, clampCropValue, DUOTONE_PRESETS, ARTISTIC_EFFECTS, mediaTrimEndSeconds, trimmedMediaDurationMs, mediaTrimEndAbsoluteMs, mediaTrimEndMsFromAbsoluteMs, buildOleEditDialogDescriptor, buildOleContentUpdatePatch, applyOleSheetCellEdit, getOleSheetGrid, applyOleDocumentParagraphEdit, getOleDocumentParagraphs, applyOleNestedDeckElementTextEdit, getOleNestedDeckDetail, replaceOleFile, getNonVisualDescriptionFields, resolveActionType, ELEMENT_ACTION_TYPE_OPTIONS, elementActionToPptxAction, canCommitActionType, slideSizeFromPreset, withSlideSizeOrientation, TRANSITION_DIR_ARROWS, buildDirectionGrid, getSlideTransitionAnimations, SLIDE_TRANSITION_KEYFRAMES, updateTagInCollections, deleteTagFromCollections, addTagToCollections, commentTextSegments, COMMENT_MENTION_CLASS, COMMENT_MENTION_ATTRIBUTE, insertCommentMention, reorderAnimationTimelineRows, applyAnimationTimelineOrder, animationEffectLabel, TABLE_STYLE_BORDER_SIDES, applyTableStyleFieldEdit, createTableStyleEntry, addTableStyleToMap, deleteTableStyleFromMap, LBL, SEL, FILL_MODE_OPTIONS, SECTION_HEADING, NUM, getChartUserShapeGroupTransform, withChartUserShapeGroupChildAdded, createDefaultChartUserShapeGroupChild, withChartUserShapeRowUpdated, getChartUserShapeRowChartBox, withChartUserShapeRowFlipUpdated, withChartUserShapeRowRotationUpdated, withChartUserShapeRowChartBoxUpdated, switchSmartArtLayout, rebuildDrawingShapesIfCleared, mediaTrimEndMsFromSeconds, validateMediaTrimRange, SHAPE_QUICK_STYLES, quickStyleSwatchCss, PATTERN_PRESET_OPTIONS, getPatternSvg, COMPOUND_LINE_OPTIONS, LINE_JOIN_OPTIONS, LINE_CAP_OPTIONS, TEXT_WARP_PRESETS, warpPreviewPath, text3dPtToEmu, text3dEmuToPt, MATERIAL_PRESETS, toSlideIndex, TABLE_STYLE_BORDER_SIDE_LABEL_KEYS, TABLE_STYLE_DASH_PRESETS, GRADIENT_TYPE_OPTIONS, PATTERN_OPTIONS, FILL_PATTERN_LABEL_KEYS, openNativeEyeDropper, toggleText3dExtrusion, BEVEL_PRESETS } from './chunk-N4FLKADC.mjs';
|
|
5
|
+
import { LOCALE_CATALOG, ALIGNMENT_LABEL_KEYS } from './chunk-AVTH627G.mjs';
|
|
6
6
|
import React6, { createContext, lazy, forwardRef, useEffect, useState, useCallback, useMemo, useRef, useId, useContext, Fragment as Fragment$1, useDeferredValue, Suspense, useSyncExternalStore, useLayoutEffect } from 'react';
|
|
7
7
|
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
8
8
|
import { useTranslation } from 'react-i18next';
|
|
9
|
-
import { LuMessageSquare, LuEyeOff, LuHistory, LuTrash2, LuSettings, LuX, LuCalendarDays, LuClock, LuHash, LuFileText, LuText, LuCast, LuSave, LuUndo, LuRedo, LuSearch, LuShieldCheck, LuPlus, LuPanelLeftClose, LuStickyNote, LuMonitor, LuColumns2, LuPresentation, LuMinus, LuSettings2, LuLayers, LuDownload, LuCheck, LuLock, LuEye, LuType, LuLoader, LuShieldAlert, LuSignature, LuInfo, LuTriangleAlert, LuPrinter, LuPenTool, LuBug, LuChevronUp, LuChevronDown, LuUpload, LuWifi, LuWifiOff, LuUsers, LuCopy, LuChevronLeft, LuChevronRight, LuPlay, LuPause, LuZoomOut, LuZoomIn, LuSpellCheck, LuFileDown, LuMenu, LuSparkles, LuShare2, LuPanelLeft, LuPanelRight, LuArrowLeft, LuFolderOpen, LuClipboardPaste, LuScissors, LuPaintbrush, LuSquare, LuImage, LuVideo, LuDatabase, LuAArrowUp, LuAArrowDown, LuRemoveFormatting, LuHighlighter, LuList, LuListOrdered, LuIndentDecrease, LuIndentIncrease, LuReplace, LuMousePointer2, LuShapes, LuPaintBucket, LuPenLine, LuPalette, LuPencil, LuStar, LuMoveRight, LuMousePointerClick, LuClock3, LuMonitorPlay, LuListVideo, LuCaptions, LuCamera, LuEraser, LuRotateCcw, LuCircleHelp, LuBookOpen, LuLanguages, LuGlobe, LuGitCompare, LuMessageSquarePlus, LuLockKeyhole, LuPanelTop, LuLayoutGrid, LuGrid3X3, LuPipette, LuRuler, LuMaximize2, LuCode, LuCaseSensitive, LuTimer, LuGripVertical, LuLoaderCircle, LuBold, LuItalic, LuUnderline, LuStrikethrough, LuLink, LuGrid2X2, LuCopyPlus, LuScan, LuMonitorOff, LuCirclePlay, LuCirclePause, LuArrowLeftRight, LuClipboardCopy, LuWand, LuTextCursorInput, LuFile, LuEllipsis, LuUserRound, LuFilePlus2, LuHouse, LuFileJson, LuBox, LuFileImage, LuUser, LuHardDrive, LuLogIn, LuLayoutTemplate, LuFolderPlus, LuAlignLeft, LuAlignCenter, LuAlignRight, LuAlignJustify, LuColumns3, LuSpline, LuAlignHorizontalSpaceAround, LuAlignVerticalSpaceAround, LuGroup, LuUngroup, LuMove, LuRadio, LuLockOpen, LuArrowDown, LuArrowUp, LuArrowRight, LuReply, LuRotateCw, LuBookmark } from 'react-icons/lu';
|
|
9
|
+
import { LuMessageSquare, LuEyeOff, LuHistory, LuTrash2, LuSettings, LuX, LuCalendarDays, LuClock, LuHash, LuFileText, LuText, LuCast, LuSave, LuUndo, LuRedo, LuSearch, LuShieldCheck, LuPlus, LuPanelLeftClose, LuStickyNote, LuMonitor, LuColumns2, LuPresentation, LuMinus, LuSettings2, LuLayers, LuDownload, LuCheck, LuLock, LuEye, LuType, LuLoader, LuShieldAlert, LuSignature, LuInfo, LuTriangleAlert, LuPrinter, LuPenTool, LuBug, LuChevronUp, LuChevronDown, LuUpload, LuWifi, LuWifiOff, LuUsers, LuCopy, LuChevronLeft, LuChevronRight, LuPlay, LuPause, LuZoomOut, LuZoomIn, LuSpellCheck, LuFileDown, LuMenu, LuSparkles, LuShare2, LuPanelLeft, LuPanelRight, LuArrowLeft, LuFolderOpen, LuClipboardPaste, LuScissors, LuPaintbrush, LuSquare, LuImage, LuVideo, LuDatabase, LuAArrowUp, LuAArrowDown, LuRemoveFormatting, LuHighlighter, LuList, LuListOrdered, LuIndentDecrease, LuIndentIncrease, LuReplace, LuMousePointer2, LuShapes, LuPaintBucket, LuPenLine, LuPalette, LuPencil, LuStar, LuMoveRight, LuMousePointerClick, LuClock3, LuMonitorPlay, LuListVideo, LuCaptions, LuCamera, LuEraser, LuRotateCcw, LuCircleHelp, LuBookOpen, LuLanguages, LuGlobe, LuGitCompare, LuMessageSquarePlus, LuLockKeyhole, LuPanelTop, LuLayoutGrid, LuGrid3X3, LuPipette, LuRuler, LuMaximize2, LuCode, LuCaseSensitive, LuTimer, LuGripVertical, LuLoaderCircle, LuBold, LuItalic, LuUnderline, LuStrikethrough, LuLink, LuGrid2X2, LuCopyPlus, LuScan, LuMonitorOff, LuCirclePlay, LuCirclePause, LuArrowLeftRight, LuClipboardCopy, LuWand, LuTextCursorInput, LuFile, LuEllipsis, LuUserRound, LuFilePlus2, LuHouse, LuFileJson, LuBox, LuFileImage, LuUser, LuHardDrive, LuLogIn, LuLayoutTemplate, LuFolderPlus, LuAlignLeft, LuAlignCenter, LuAlignRight, LuAlignJustify, LuColumns3, LuSpline, LuAlignHorizontalSpaceAround, LuAlignVerticalSpaceAround, LuGroup, LuUngroup, LuFilter, LuMove, LuRadio, LuLockOpen, LuArrowDown, LuArrowUp, LuArrowRight, LuReply, LuRotateCw, LuBookmark } from 'react-icons/lu';
|
|
10
10
|
|
|
11
11
|
var ViewerThemeContext = createContext(void 0);
|
|
12
12
|
function ViewerThemeProvider({ theme, children }) {
|
|
@@ -1811,7 +1811,7 @@ function AccountPage() {
|
|
|
1811
1811
|
return void 0;
|
|
1812
1812
|
});
|
|
1813
1813
|
};
|
|
1814
|
-
const version = "3.19.
|
|
1814
|
+
const version = "3.19.2" ;
|
|
1815
1815
|
return /* @__PURE__ */ jsxs("div", { className: "mt-8 max-w-[700px] space-y-6", children: [
|
|
1816
1816
|
/* @__PURE__ */ jsxs("section", { className: cardClass, children: [
|
|
1817
1817
|
/* @__PURE__ */ jsxs("h2", { className: "flex items-center gap-2 text-sm font-semibold", children: [
|
|
@@ -6580,6 +6580,308 @@ function SnapLinesOverlay({ snapLines }) {
|
|
|
6580
6580
|
i
|
|
6581
6581
|
)) });
|
|
6582
6582
|
}
|
|
6583
|
+
|
|
6584
|
+
// src/viewer/components/inspector/chart-panel-constants.ts
|
|
6585
|
+
var HEADING = "text-[11px] uppercase tracking-wide text-muted-foreground";
|
|
6586
|
+
var CARD = "rounded border border-border bg-card p-2 space-y-2";
|
|
6587
|
+
var INPUT = "flex-1 bg-muted border border-border rounded px-1.5 py-0.5 w-full max-md:min-h-[44px]!";
|
|
6588
|
+
var BTN = "rounded bg-muted hover:bg-accent px-2 py-1 text-[11px] transition-colors max-md:min-h-[44px]!";
|
|
6589
|
+
var CELL_INPUT = "bg-muted border border-border rounded px-1 py-0.5 text-[11px] w-full text-center";
|
|
6590
|
+
var GROUPING_OPTIONS = [
|
|
6591
|
+
{ value: "clustered", labelKey: "pptx.chart.groupingClustered" },
|
|
6592
|
+
{ value: "stacked", labelKey: "pptx.chart.groupingStacked" },
|
|
6593
|
+
{ value: "percentStacked", labelKey: "pptx.chart.groupingPercentStacked" }
|
|
6594
|
+
];
|
|
6595
|
+
var LEGEND_POSITION_OPTIONS = [
|
|
6596
|
+
{ value: "t", labelKey: "pptx.chart.legendTop" },
|
|
6597
|
+
{ value: "b", labelKey: "pptx.chart.legendBottom" },
|
|
6598
|
+
{ value: "l", labelKey: "pptx.chart.legendLeft" },
|
|
6599
|
+
{ value: "r", labelKey: "pptx.chart.legendRight" }
|
|
6600
|
+
];
|
|
6601
|
+
var TICK_LABEL_POSITION_OPTIONS = [
|
|
6602
|
+
{ value: "nextTo", labelKey: "pptx.chart.tickNextTo" },
|
|
6603
|
+
{ value: "high", labelKey: "pptx.chart.tickHigh" },
|
|
6604
|
+
{ value: "low", labelKey: "pptx.chart.tickLow" },
|
|
6605
|
+
{ value: "none", labelKey: "pptx.chart.tickNone" }
|
|
6606
|
+
];
|
|
6607
|
+
var DISPLAY_UNITS_OPTIONS = [
|
|
6608
|
+
{ value: "", labelKey: "pptx.chart.unitsNone" },
|
|
6609
|
+
{ value: "hundreds", labelKey: "pptx.chart.unitsHundreds" },
|
|
6610
|
+
{ value: "thousands", labelKey: "pptx.chart.unitsThousands" },
|
|
6611
|
+
{ value: "tenThousands", labelKey: "pptx.chart.unitsTenThousands" },
|
|
6612
|
+
{ value: "hundredThousands", labelKey: "pptx.chart.unitsHundredThousands" },
|
|
6613
|
+
{ value: "millions", labelKey: "pptx.chart.unitsMillions" },
|
|
6614
|
+
{ value: "tenMillions", labelKey: "pptx.chart.unitsTenMillions" },
|
|
6615
|
+
{ value: "hundredMillions", labelKey: "pptx.chart.unitsHundredMillions" },
|
|
6616
|
+
{ value: "billions", labelKey: "pptx.chart.unitsBillions" },
|
|
6617
|
+
{ value: "trillions", labelKey: "pptx.chart.unitsTrillions" }
|
|
6618
|
+
];
|
|
6619
|
+
var DATA_LABEL_CONTENT_OPTIONS = [
|
|
6620
|
+
{ key: "showValue", labelKey: "pptx.chart.labelValue" },
|
|
6621
|
+
{ key: "showCategory", labelKey: "pptx.chart.labelCategory" },
|
|
6622
|
+
{ key: "showSeriesName", labelKey: "pptx.chart.labelSeriesName" },
|
|
6623
|
+
{ key: "showPercent", labelKey: "pptx.chart.labelPercent" },
|
|
6624
|
+
{ key: "showLegendKey", labelKey: "pptx.chart.labelLegendKey" }
|
|
6625
|
+
];
|
|
6626
|
+
var DATA_LABEL_POSITION_OPTIONS = [
|
|
6627
|
+
{ value: "", labelKey: "pptx.chart.labelPosDefault" },
|
|
6628
|
+
{ value: "ctr", labelKey: "pptx.chart.labelPosCenter" },
|
|
6629
|
+
{ value: "inEnd", labelKey: "pptx.chart.labelPosInsideEnd" },
|
|
6630
|
+
{ value: "inBase", labelKey: "pptx.chart.labelPosInsideBase" },
|
|
6631
|
+
{ value: "outEnd", labelKey: "pptx.chart.labelPosOutsideEnd" },
|
|
6632
|
+
{ value: "bestFit", labelKey: "pptx.chart.labelPosBestFit" }
|
|
6633
|
+
];
|
|
6634
|
+
var TRENDLINE_TYPE_OPTIONS = [
|
|
6635
|
+
{ value: "", labelKey: "pptx.chart.trendlineNone" },
|
|
6636
|
+
{ value: "linear", labelKey: "pptx.chart.trendlineLinear" },
|
|
6637
|
+
{ value: "exponential", labelKey: "pptx.chart.trendlineExponential" },
|
|
6638
|
+
{ value: "logarithmic", labelKey: "pptx.chart.trendlineLogarithmic" },
|
|
6639
|
+
{ value: "polynomial", labelKey: "pptx.chart.trendlinePolynomial" },
|
|
6640
|
+
{ value: "power", labelKey: "pptx.chart.trendlinePower" },
|
|
6641
|
+
{ value: "movingAvg", labelKey: "pptx.chart.trendlineMovingAvg" }
|
|
6642
|
+
];
|
|
6643
|
+
var TRENDLINE_SUPPORTED_TYPES = /* @__PURE__ */ new Set([
|
|
6644
|
+
"bar",
|
|
6645
|
+
"line",
|
|
6646
|
+
"area",
|
|
6647
|
+
"scatter",
|
|
6648
|
+
"bubble"
|
|
6649
|
+
]);
|
|
6650
|
+
var ERROR_BAR_VALTYPE_OPTIONS = [
|
|
6651
|
+
{ value: "", labelKey: "pptx.chart.errorBarNone" },
|
|
6652
|
+
{ value: "fixedVal", labelKey: "pptx.chart.errorBarFixed" },
|
|
6653
|
+
{ value: "percentage", labelKey: "pptx.chart.errorBarPercentage" },
|
|
6654
|
+
{ value: "stdDev", labelKey: "pptx.chart.errorBarStdDev" },
|
|
6655
|
+
{ value: "stdErr", labelKey: "pptx.chart.errorBarStdErr" }
|
|
6656
|
+
];
|
|
6657
|
+
var ERROR_BAR_TYPE_OPTIONS = [
|
|
6658
|
+
{ value: "both", labelKey: "pptx.chart.errorBarBoth" },
|
|
6659
|
+
{ value: "plus", labelKey: "pptx.chart.errorBarPlus" },
|
|
6660
|
+
{ value: "minus", labelKey: "pptx.chart.errorBarMinus" }
|
|
6661
|
+
];
|
|
6662
|
+
var ERROR_BAR_VALUE_TYPES = /* @__PURE__ */ new Set(["fixedVal", "percentage", "stdDev"]);
|
|
6663
|
+
var ERROR_BAR_SUPPORTED_TYPES = /* @__PURE__ */ new Set([
|
|
6664
|
+
"bar",
|
|
6665
|
+
"line",
|
|
6666
|
+
"area",
|
|
6667
|
+
"scatter",
|
|
6668
|
+
"bubble"
|
|
6669
|
+
]);
|
|
6670
|
+
var GROUPING_SUPPORTED_TYPES = /* @__PURE__ */ new Set(["bar", "line", "area"]);
|
|
6671
|
+
var MARKER_SYMBOL_OPTIONS = [
|
|
6672
|
+
{ value: "", labelKey: "pptx.chart.markerAuto" },
|
|
6673
|
+
{ value: "none", labelKey: "pptx.chart.markerNone" },
|
|
6674
|
+
{ value: "circle", labelKey: "pptx.chart.markerCircle" },
|
|
6675
|
+
{ value: "square", labelKey: "pptx.chart.markerSquare" },
|
|
6676
|
+
{ value: "diamond", labelKey: "pptx.chart.markerDiamond" },
|
|
6677
|
+
{ value: "triangle", labelKey: "pptx.chart.markerTriangle" },
|
|
6678
|
+
{ value: "x", labelKey: "pptx.chart.markerX" },
|
|
6679
|
+
{ value: "star", labelKey: "pptx.chart.markerStar" },
|
|
6680
|
+
{ value: "plus", labelKey: "pptx.chart.markerPlus" },
|
|
6681
|
+
{ value: "dot", labelKey: "pptx.chart.markerDot" },
|
|
6682
|
+
{ value: "dash", labelKey: "pptx.chart.markerDash" }
|
|
6683
|
+
];
|
|
6684
|
+
var MARKER_SUPPORTED_TYPES = /* @__PURE__ */ new Set([
|
|
6685
|
+
"line",
|
|
6686
|
+
"scatter",
|
|
6687
|
+
"bubble",
|
|
6688
|
+
"radar"
|
|
6689
|
+
]);
|
|
6690
|
+
var GRIDLINE_DASH_OPTIONS = [
|
|
6691
|
+
{ value: "", labelKey: "pptx.chart.dashDefault" },
|
|
6692
|
+
{ value: "solid", labelKey: "pptx.chart.dashSolid" },
|
|
6693
|
+
{ value: "dash", labelKey: "pptx.chart.dashDash" },
|
|
6694
|
+
{ value: "dot", labelKey: "pptx.chart.dashDot" },
|
|
6695
|
+
{ value: "dashDot", labelKey: "pptx.chart.dashDashDot" },
|
|
6696
|
+
{ value: "lgDash", labelKey: "pptx.chart.dashLong" }
|
|
6697
|
+
];
|
|
6698
|
+
var COMBO_SERIES_TYPE_OPTIONS = [
|
|
6699
|
+
{ value: "", labelKey: "pptx.chart.comboDefault" },
|
|
6700
|
+
{ value: "bar", labelKey: "pptx.chart.typeBar" },
|
|
6701
|
+
{ value: "line", labelKey: "pptx.chart.typeLine" },
|
|
6702
|
+
{ value: "area", labelKey: "pptx.chart.typeArea" },
|
|
6703
|
+
{ value: "scatter", labelKey: "pptx.chart.typeScatter" }
|
|
6704
|
+
];
|
|
6705
|
+
var COMBO_SUPPORTED_TYPES = /* @__PURE__ */ new Set(["bar", "line", "area", "combo"]);
|
|
6706
|
+
var EXPLOSION_SUPPORTED_TYPES = /* @__PURE__ */ new Set([
|
|
6707
|
+
"pie",
|
|
6708
|
+
"pie3D",
|
|
6709
|
+
"doughnut",
|
|
6710
|
+
"ofPie"
|
|
6711
|
+
]);
|
|
6712
|
+
var ICONS3 = {
|
|
6713
|
+
elements: LuPlus,
|
|
6714
|
+
styles: LuPaintbrush,
|
|
6715
|
+
filters: LuFilter
|
|
6716
|
+
};
|
|
6717
|
+
function ChartQuickActionsOverlay({
|
|
6718
|
+
element,
|
|
6719
|
+
canEdit,
|
|
6720
|
+
onUpdateElement
|
|
6721
|
+
}) {
|
|
6722
|
+
const { t } = useTranslation();
|
|
6723
|
+
const [open, setOpen] = useState(null);
|
|
6724
|
+
const hostRef = useRef(null);
|
|
6725
|
+
useEffect(() => {
|
|
6726
|
+
if (!open) {
|
|
6727
|
+
return;
|
|
6728
|
+
}
|
|
6729
|
+
const handler = (e) => {
|
|
6730
|
+
if (hostRef.current && !hostRef.current.contains(e.target)) {
|
|
6731
|
+
setOpen(null);
|
|
6732
|
+
}
|
|
6733
|
+
};
|
|
6734
|
+
document.addEventListener("mousedown", handler);
|
|
6735
|
+
return () => document.removeEventListener("mousedown", handler);
|
|
6736
|
+
}, [open]);
|
|
6737
|
+
const descriptor = buildChartQuickActionsDescriptor({
|
|
6738
|
+
isChartSelected: true,
|
|
6739
|
+
chartData: element.chartData,
|
|
6740
|
+
selectionBox: { x: element.x, y: element.y, width: element.width, height: element.height }
|
|
6741
|
+
});
|
|
6742
|
+
if (!descriptor || !element.chartData) {
|
|
6743
|
+
return null;
|
|
6744
|
+
}
|
|
6745
|
+
const chartData = element.chartData;
|
|
6746
|
+
const commit = (updates) => onUpdateElement(element.id, updates);
|
|
6747
|
+
return /* @__PURE__ */ jsx(
|
|
6748
|
+
"div",
|
|
6749
|
+
{
|
|
6750
|
+
ref: hostRef,
|
|
6751
|
+
"data-pptx-chart-quick-actions": "true",
|
|
6752
|
+
"data-export-ignore": "true",
|
|
6753
|
+
style: { position: "absolute", left: 0, top: 0, zIndex: 59 },
|
|
6754
|
+
onMouseDown: (e) => e.stopPropagation(),
|
|
6755
|
+
children: descriptor.buttons.map((button) => /* @__PURE__ */ jsxs(React6.Fragment, { children: [
|
|
6756
|
+
/* @__PURE__ */ jsx(
|
|
6757
|
+
"button",
|
|
6758
|
+
{
|
|
6759
|
+
type: "button",
|
|
6760
|
+
disabled: !canEdit,
|
|
6761
|
+
"data-testid": `chart-quick-action-${button.id}`,
|
|
6762
|
+
"aria-label": t(button.labelKey),
|
|
6763
|
+
title: t(button.labelKey),
|
|
6764
|
+
onClick: () => setOpen((prev) => prev === button.id ? null : button.id),
|
|
6765
|
+
style: {
|
|
6766
|
+
position: "absolute",
|
|
6767
|
+
left: button.x,
|
|
6768
|
+
top: button.y,
|
|
6769
|
+
width: button.size,
|
|
6770
|
+
height: button.size,
|
|
6771
|
+
scale: "var(--pptx-handle-inverse-scale, 1)",
|
|
6772
|
+
transformOrigin: "top left"
|
|
6773
|
+
},
|
|
6774
|
+
className: "flex items-center justify-center rounded bg-white border border-gray-300 shadow-sm hover:bg-gray-100 text-gray-700",
|
|
6775
|
+
children: React6.createElement(ICONS3[button.id], { className: "size-3.5" })
|
|
6776
|
+
}
|
|
6777
|
+
),
|
|
6778
|
+
open === button.id && button.id === "elements" && /* @__PURE__ */ jsxs(
|
|
6779
|
+
"div",
|
|
6780
|
+
{
|
|
6781
|
+
"data-testid": "chart-quick-elements-popover",
|
|
6782
|
+
style: {
|
|
6783
|
+
position: "absolute",
|
|
6784
|
+
left: button.x + CHART_QUICK_ACTION_BUTTON_SIZE + 4,
|
|
6785
|
+
top: button.y,
|
|
6786
|
+
scale: "var(--pptx-handle-inverse-scale, 1)",
|
|
6787
|
+
transformOrigin: "top left"
|
|
6788
|
+
},
|
|
6789
|
+
className: `${CARD} w-44 z-10 shadow-lg`,
|
|
6790
|
+
children: [
|
|
6791
|
+
/* @__PURE__ */ jsx("div", { className: HEADING, children: t("pptx.chart.quickElements") }),
|
|
6792
|
+
descriptor.elements.map((item) => /* @__PURE__ */ jsxs("label", { className: "flex items-center gap-2 cursor-pointer", children: [
|
|
6793
|
+
/* @__PURE__ */ jsx(
|
|
6794
|
+
"input",
|
|
6795
|
+
{
|
|
6796
|
+
type: "checkbox",
|
|
6797
|
+
disabled: !canEdit,
|
|
6798
|
+
checked: item.checked,
|
|
6799
|
+
"data-testid": `chart-quick-element-${item.key}`,
|
|
6800
|
+
onChange: (e) => commit({
|
|
6801
|
+
chartData: applyChartElementToggle(chartData, item.key, e.target.checked)
|
|
6802
|
+
}),
|
|
6803
|
+
className: "accent-primary"
|
|
6804
|
+
}
|
|
6805
|
+
),
|
|
6806
|
+
/* @__PURE__ */ jsx("span", { className: "text-[11px]", children: t(item.labelKey) })
|
|
6807
|
+
] }, item.key))
|
|
6808
|
+
]
|
|
6809
|
+
}
|
|
6810
|
+
),
|
|
6811
|
+
open === button.id && button.id === "styles" && /* @__PURE__ */ jsx(
|
|
6812
|
+
"div",
|
|
6813
|
+
{
|
|
6814
|
+
"data-testid": "chart-quick-styles-popover",
|
|
6815
|
+
style: {
|
|
6816
|
+
position: "absolute",
|
|
6817
|
+
left: button.x + CHART_QUICK_ACTION_BUTTON_SIZE + 4,
|
|
6818
|
+
top: button.y,
|
|
6819
|
+
scale: "var(--pptx-handle-inverse-scale, 1)",
|
|
6820
|
+
transformOrigin: "top left"
|
|
6821
|
+
},
|
|
6822
|
+
className: `${CARD} w-48 z-10 shadow-lg grid grid-cols-3 gap-1.5`,
|
|
6823
|
+
children: descriptor.styles.presets.map((preset) => /* @__PURE__ */ jsx(
|
|
6824
|
+
"button",
|
|
6825
|
+
{
|
|
6826
|
+
type: "button",
|
|
6827
|
+
disabled: !canEdit,
|
|
6828
|
+
"data-testid": `chart-quick-style-${preset.id}`,
|
|
6829
|
+
"aria-label": t(preset.labelKey),
|
|
6830
|
+
"aria-pressed": preset.applied,
|
|
6831
|
+
title: t(preset.labelKey),
|
|
6832
|
+
onClick: () => {
|
|
6833
|
+
const next = applyChartStylePreset(chartData, preset.id);
|
|
6834
|
+
if (next) {
|
|
6835
|
+
commit({ chartData: next });
|
|
6836
|
+
}
|
|
6837
|
+
},
|
|
6838
|
+
className: `flex flex-col rounded overflow-hidden border ${preset.applied ? "border-primary ring-1 ring-primary" : "border-border"}`,
|
|
6839
|
+
children: /* @__PURE__ */ jsx("span", { className: "flex h-5 w-full", children: preset.colors.slice(0, 5).map((c, i) => /* @__PURE__ */ jsx("span", { style: { backgroundColor: c }, className: "flex-1" }, i)) })
|
|
6840
|
+
},
|
|
6841
|
+
preset.id
|
|
6842
|
+
))
|
|
6843
|
+
}
|
|
6844
|
+
),
|
|
6845
|
+
open === button.id && button.id === "filters" && /* @__PURE__ */ jsxs(
|
|
6846
|
+
"div",
|
|
6847
|
+
{
|
|
6848
|
+
"data-testid": "chart-quick-filters-popover",
|
|
6849
|
+
style: {
|
|
6850
|
+
position: "absolute",
|
|
6851
|
+
left: button.x + CHART_QUICK_ACTION_BUTTON_SIZE + 4,
|
|
6852
|
+
top: button.y,
|
|
6853
|
+
scale: "var(--pptx-handle-inverse-scale, 1)",
|
|
6854
|
+
transformOrigin: "top left"
|
|
6855
|
+
},
|
|
6856
|
+
className: `${CARD} w-48 z-10 shadow-lg`,
|
|
6857
|
+
children: [
|
|
6858
|
+
/* @__PURE__ */ jsx("div", { className: HEADING, children: t("pptx.chart.quickFilters") }),
|
|
6859
|
+
descriptor.filters.series.map((row) => /* @__PURE__ */ jsxs("label", { className: "flex items-center gap-2 cursor-pointer", children: [
|
|
6860
|
+
/* @__PURE__ */ jsx(
|
|
6861
|
+
"input",
|
|
6862
|
+
{
|
|
6863
|
+
type: "checkbox",
|
|
6864
|
+
disabled: !canEdit,
|
|
6865
|
+
checked: row.visible,
|
|
6866
|
+
"data-testid": `chart-quick-filter-${row.key}`,
|
|
6867
|
+
onChange: () => {
|
|
6868
|
+
const next = row.seriesIndex !== void 0 ? hideChartSeries(chartData, row.seriesIndex) : restoreFilteredSeries(chartData, row.filteredIndex);
|
|
6869
|
+
if (next) {
|
|
6870
|
+
commit({ chartData: next });
|
|
6871
|
+
}
|
|
6872
|
+
},
|
|
6873
|
+
className: "accent-primary"
|
|
6874
|
+
}
|
|
6875
|
+
),
|
|
6876
|
+
/* @__PURE__ */ jsx("span", { className: "text-[11px] truncate", children: row.name })
|
|
6877
|
+
] }, row.key))
|
|
6878
|
+
]
|
|
6879
|
+
}
|
|
6880
|
+
)
|
|
6881
|
+
] }, button.id))
|
|
6882
|
+
}
|
|
6883
|
+
);
|
|
6884
|
+
}
|
|
6583
6885
|
function CommentMarkersOverlay({
|
|
6584
6886
|
comments,
|
|
6585
6887
|
canvasSize,
|
|
@@ -8393,6 +8695,14 @@ function SlideCanvas({
|
|
|
8393
8695
|
onContextMenu
|
|
8394
8696
|
}
|
|
8395
8697
|
),
|
|
8698
|
+
selectedElement && selectedElement.type === "chart" && shouldShowElementHandles(isEditableCanvas, true, selectedElementIdSet.size) && onUpdateSmartArtElement && /* @__PURE__ */ jsx(
|
|
8699
|
+
ChartQuickActionsOverlay,
|
|
8700
|
+
{
|
|
8701
|
+
element: selectedElement,
|
|
8702
|
+
canEdit,
|
|
8703
|
+
onUpdateElement: stableUpdateSmartArtElement
|
|
8704
|
+
}
|
|
8705
|
+
),
|
|
8396
8706
|
/* @__PURE__ */ jsx(MarqueeOverlay, { marqueeSelectionState }),
|
|
8397
8707
|
activeSlide?.activeXControls && activeSlide.activeXControls.length > 0 && /* @__PURE__ */ jsx(ActiveXControlOverlay, { controls: activeSlide.activeXControls, canvasSize }),
|
|
8398
8708
|
showCommentMarkers && comments && comments.length > 0 && /* @__PURE__ */ jsx(
|
|
@@ -16755,10 +17065,10 @@ var INSPECTOR_TABS = [
|
|
|
16755
17065
|
{ key: "properties", labelKey: "pptx.inspector.properties", icon: LuSettings2 },
|
|
16756
17066
|
{ key: "comments", labelKey: "pptx.toolbar.comments", icon: LuMessageSquare }
|
|
16757
17067
|
];
|
|
16758
|
-
var
|
|
16759
|
-
var
|
|
16760
|
-
var
|
|
16761
|
-
var
|
|
17068
|
+
var HEADING2 = "text-[11px] uppercase tracking-wide text-muted-foreground";
|
|
17069
|
+
var CARD2 = "rounded border border-border bg-card p-2 space-y-2";
|
|
17070
|
+
var INPUT2 = "flex-1 bg-muted border border-border rounded px-1.5 py-0.5 w-full max-md:min-h-[44px]!";
|
|
17071
|
+
var BTN2 = "rounded bg-muted hover:bg-accent px-2 py-1 text-[11px] transition-colors max-md:min-h-[44px]! max-md:min-w-[44px]!";
|
|
16762
17072
|
var POS_FIELDS = [
|
|
16763
17073
|
["X", "x"],
|
|
16764
17074
|
["Y", "y"],
|
|
@@ -16791,7 +17101,7 @@ function ActionTargetFields({
|
|
|
16791
17101
|
type: "text",
|
|
16792
17102
|
disabled: !canEdit,
|
|
16793
17103
|
"aria-label": t(urlLabelKey),
|
|
16794
|
-
className: cn(
|
|
17104
|
+
className: cn(INPUT2, "w-full"),
|
|
16795
17105
|
placeholder: "https://...",
|
|
16796
17106
|
value: url ?? "",
|
|
16797
17107
|
onChange: (e) => onChange({ url: e.target.value })
|
|
@@ -16805,7 +17115,7 @@ function ActionTargetFields({
|
|
|
16805
17115
|
type: "number",
|
|
16806
17116
|
disabled: !canEdit,
|
|
16807
17117
|
"aria-label": t("pptx.action.gotoSlide"),
|
|
16808
|
-
className: cn(
|
|
17118
|
+
className: cn(INPUT2, "w-full"),
|
|
16809
17119
|
placeholder: t("pptx.action.slideNumberPlaceholder"),
|
|
16810
17120
|
min: 1,
|
|
16811
17121
|
max: slideCount,
|
|
@@ -16827,7 +17137,7 @@ function ActionTargetFields({
|
|
|
16827
17137
|
"data-testid": "pptx-action-custom-show",
|
|
16828
17138
|
disabled: !canEdit,
|
|
16829
17139
|
"aria-label": t("pptx.hyperlink.customShowLabel"),
|
|
16830
|
-
className: cn(
|
|
17140
|
+
className: cn(INPUT2, "w-full"),
|
|
16831
17141
|
value: customShowId ?? "",
|
|
16832
17142
|
onChange: (e) => onChange({ customShowId: e.target.value, returnAfter }),
|
|
16833
17143
|
children: [
|
|
@@ -16883,8 +17193,8 @@ function ActionSettingsPanel({
|
|
|
16883
17193
|
updateAction(trigger, type, target);
|
|
16884
17194
|
}
|
|
16885
17195
|
};
|
|
16886
|
-
return /* @__PURE__ */ jsxs("div", { className:
|
|
16887
|
-
/* @__PURE__ */ jsx("div", { className:
|
|
17196
|
+
return /* @__PURE__ */ jsxs("div", { className: CARD2, "data-pptx-action-settings": true, children: [
|
|
17197
|
+
/* @__PURE__ */ jsx("div", { className: HEADING2, children: t("pptx.action.title", "Action") }),
|
|
16888
17198
|
/* @__PURE__ */ jsxs("div", { className: "space-y-2 text-[11px]", children: [
|
|
16889
17199
|
/* @__PURE__ */ jsx(
|
|
16890
17200
|
ActionTriggerSection,
|
|
@@ -16950,7 +17260,7 @@ function ActionTriggerSection({
|
|
|
16950
17260
|
{
|
|
16951
17261
|
disabled: !canEdit,
|
|
16952
17262
|
"aria-label": label,
|
|
16953
|
-
className: cn(
|
|
17263
|
+
className: cn(INPUT2, "w-full"),
|
|
16954
17264
|
value: effectiveType,
|
|
16955
17265
|
onChange: (e) => changeType(e.target.value),
|
|
16956
17266
|
children: ELEMENT_ACTION_TYPE_OPTIONS.map((o) => /* @__PURE__ */ jsx("option", { value: o.value, children: t(o.labelKey) }, o.value))
|
|
@@ -16972,135 +17282,6 @@ function ActionTriggerSection({
|
|
|
16972
17282
|
)
|
|
16973
17283
|
] });
|
|
16974
17284
|
}
|
|
16975
|
-
|
|
16976
|
-
// src/viewer/components/inspector/chart-panel-constants.ts
|
|
16977
|
-
var HEADING2 = "text-[11px] uppercase tracking-wide text-muted-foreground";
|
|
16978
|
-
var CARD2 = "rounded border border-border bg-card p-2 space-y-2";
|
|
16979
|
-
var INPUT2 = "flex-1 bg-muted border border-border rounded px-1.5 py-0.5 w-full max-md:min-h-[44px]!";
|
|
16980
|
-
var BTN2 = "rounded bg-muted hover:bg-accent px-2 py-1 text-[11px] transition-colors max-md:min-h-[44px]!";
|
|
16981
|
-
var CELL_INPUT = "bg-muted border border-border rounded px-1 py-0.5 text-[11px] w-full text-center";
|
|
16982
|
-
var GROUPING_OPTIONS = [
|
|
16983
|
-
{ value: "clustered", labelKey: "pptx.chart.groupingClustered" },
|
|
16984
|
-
{ value: "stacked", labelKey: "pptx.chart.groupingStacked" },
|
|
16985
|
-
{ value: "percentStacked", labelKey: "pptx.chart.groupingPercentStacked" }
|
|
16986
|
-
];
|
|
16987
|
-
var LEGEND_POSITION_OPTIONS = [
|
|
16988
|
-
{ value: "t", labelKey: "pptx.chart.legendTop" },
|
|
16989
|
-
{ value: "b", labelKey: "pptx.chart.legendBottom" },
|
|
16990
|
-
{ value: "l", labelKey: "pptx.chart.legendLeft" },
|
|
16991
|
-
{ value: "r", labelKey: "pptx.chart.legendRight" }
|
|
16992
|
-
];
|
|
16993
|
-
var TICK_LABEL_POSITION_OPTIONS = [
|
|
16994
|
-
{ value: "nextTo", labelKey: "pptx.chart.tickNextTo" },
|
|
16995
|
-
{ value: "high", labelKey: "pptx.chart.tickHigh" },
|
|
16996
|
-
{ value: "low", labelKey: "pptx.chart.tickLow" },
|
|
16997
|
-
{ value: "none", labelKey: "pptx.chart.tickNone" }
|
|
16998
|
-
];
|
|
16999
|
-
var DISPLAY_UNITS_OPTIONS = [
|
|
17000
|
-
{ value: "", labelKey: "pptx.chart.unitsNone" },
|
|
17001
|
-
{ value: "hundreds", labelKey: "pptx.chart.unitsHundreds" },
|
|
17002
|
-
{ value: "thousands", labelKey: "pptx.chart.unitsThousands" },
|
|
17003
|
-
{ value: "tenThousands", labelKey: "pptx.chart.unitsTenThousands" },
|
|
17004
|
-
{ value: "hundredThousands", labelKey: "pptx.chart.unitsHundredThousands" },
|
|
17005
|
-
{ value: "millions", labelKey: "pptx.chart.unitsMillions" },
|
|
17006
|
-
{ value: "tenMillions", labelKey: "pptx.chart.unitsTenMillions" },
|
|
17007
|
-
{ value: "hundredMillions", labelKey: "pptx.chart.unitsHundredMillions" },
|
|
17008
|
-
{ value: "billions", labelKey: "pptx.chart.unitsBillions" },
|
|
17009
|
-
{ value: "trillions", labelKey: "pptx.chart.unitsTrillions" }
|
|
17010
|
-
];
|
|
17011
|
-
var DATA_LABEL_CONTENT_OPTIONS = [
|
|
17012
|
-
{ key: "showValue", labelKey: "pptx.chart.labelValue" },
|
|
17013
|
-
{ key: "showCategory", labelKey: "pptx.chart.labelCategory" },
|
|
17014
|
-
{ key: "showSeriesName", labelKey: "pptx.chart.labelSeriesName" },
|
|
17015
|
-
{ key: "showPercent", labelKey: "pptx.chart.labelPercent" },
|
|
17016
|
-
{ key: "showLegendKey", labelKey: "pptx.chart.labelLegendKey" }
|
|
17017
|
-
];
|
|
17018
|
-
var DATA_LABEL_POSITION_OPTIONS = [
|
|
17019
|
-
{ value: "", labelKey: "pptx.chart.labelPosDefault" },
|
|
17020
|
-
{ value: "ctr", labelKey: "pptx.chart.labelPosCenter" },
|
|
17021
|
-
{ value: "inEnd", labelKey: "pptx.chart.labelPosInsideEnd" },
|
|
17022
|
-
{ value: "inBase", labelKey: "pptx.chart.labelPosInsideBase" },
|
|
17023
|
-
{ value: "outEnd", labelKey: "pptx.chart.labelPosOutsideEnd" },
|
|
17024
|
-
{ value: "bestFit", labelKey: "pptx.chart.labelPosBestFit" }
|
|
17025
|
-
];
|
|
17026
|
-
var TRENDLINE_TYPE_OPTIONS = [
|
|
17027
|
-
{ value: "", labelKey: "pptx.chart.trendlineNone" },
|
|
17028
|
-
{ value: "linear", labelKey: "pptx.chart.trendlineLinear" },
|
|
17029
|
-
{ value: "exponential", labelKey: "pptx.chart.trendlineExponential" },
|
|
17030
|
-
{ value: "logarithmic", labelKey: "pptx.chart.trendlineLogarithmic" },
|
|
17031
|
-
{ value: "polynomial", labelKey: "pptx.chart.trendlinePolynomial" },
|
|
17032
|
-
{ value: "power", labelKey: "pptx.chart.trendlinePower" },
|
|
17033
|
-
{ value: "movingAvg", labelKey: "pptx.chart.trendlineMovingAvg" }
|
|
17034
|
-
];
|
|
17035
|
-
var TRENDLINE_SUPPORTED_TYPES = /* @__PURE__ */ new Set([
|
|
17036
|
-
"bar",
|
|
17037
|
-
"line",
|
|
17038
|
-
"area",
|
|
17039
|
-
"scatter",
|
|
17040
|
-
"bubble"
|
|
17041
|
-
]);
|
|
17042
|
-
var ERROR_BAR_VALTYPE_OPTIONS = [
|
|
17043
|
-
{ value: "", labelKey: "pptx.chart.errorBarNone" },
|
|
17044
|
-
{ value: "fixedVal", labelKey: "pptx.chart.errorBarFixed" },
|
|
17045
|
-
{ value: "percentage", labelKey: "pptx.chart.errorBarPercentage" },
|
|
17046
|
-
{ value: "stdDev", labelKey: "pptx.chart.errorBarStdDev" },
|
|
17047
|
-
{ value: "stdErr", labelKey: "pptx.chart.errorBarStdErr" }
|
|
17048
|
-
];
|
|
17049
|
-
var ERROR_BAR_TYPE_OPTIONS = [
|
|
17050
|
-
{ value: "both", labelKey: "pptx.chart.errorBarBoth" },
|
|
17051
|
-
{ value: "plus", labelKey: "pptx.chart.errorBarPlus" },
|
|
17052
|
-
{ value: "minus", labelKey: "pptx.chart.errorBarMinus" }
|
|
17053
|
-
];
|
|
17054
|
-
var ERROR_BAR_VALUE_TYPES = /* @__PURE__ */ new Set(["fixedVal", "percentage", "stdDev"]);
|
|
17055
|
-
var ERROR_BAR_SUPPORTED_TYPES = /* @__PURE__ */ new Set([
|
|
17056
|
-
"bar",
|
|
17057
|
-
"line",
|
|
17058
|
-
"area",
|
|
17059
|
-
"scatter",
|
|
17060
|
-
"bubble"
|
|
17061
|
-
]);
|
|
17062
|
-
var GROUPING_SUPPORTED_TYPES = /* @__PURE__ */ new Set(["bar", "line", "area"]);
|
|
17063
|
-
var MARKER_SYMBOL_OPTIONS = [
|
|
17064
|
-
{ value: "", labelKey: "pptx.chart.markerAuto" },
|
|
17065
|
-
{ value: "none", labelKey: "pptx.chart.markerNone" },
|
|
17066
|
-
{ value: "circle", labelKey: "pptx.chart.markerCircle" },
|
|
17067
|
-
{ value: "square", labelKey: "pptx.chart.markerSquare" },
|
|
17068
|
-
{ value: "diamond", labelKey: "pptx.chart.markerDiamond" },
|
|
17069
|
-
{ value: "triangle", labelKey: "pptx.chart.markerTriangle" },
|
|
17070
|
-
{ value: "x", labelKey: "pptx.chart.markerX" },
|
|
17071
|
-
{ value: "star", labelKey: "pptx.chart.markerStar" },
|
|
17072
|
-
{ value: "plus", labelKey: "pptx.chart.markerPlus" },
|
|
17073
|
-
{ value: "dot", labelKey: "pptx.chart.markerDot" },
|
|
17074
|
-
{ value: "dash", labelKey: "pptx.chart.markerDash" }
|
|
17075
|
-
];
|
|
17076
|
-
var MARKER_SUPPORTED_TYPES = /* @__PURE__ */ new Set([
|
|
17077
|
-
"line",
|
|
17078
|
-
"scatter",
|
|
17079
|
-
"bubble",
|
|
17080
|
-
"radar"
|
|
17081
|
-
]);
|
|
17082
|
-
var GRIDLINE_DASH_OPTIONS = [
|
|
17083
|
-
{ value: "", labelKey: "pptx.chart.dashDefault" },
|
|
17084
|
-
{ value: "solid", labelKey: "pptx.chart.dashSolid" },
|
|
17085
|
-
{ value: "dash", labelKey: "pptx.chart.dashDash" },
|
|
17086
|
-
{ value: "dot", labelKey: "pptx.chart.dashDot" },
|
|
17087
|
-
{ value: "dashDot", labelKey: "pptx.chart.dashDashDot" },
|
|
17088
|
-
{ value: "lgDash", labelKey: "pptx.chart.dashLong" }
|
|
17089
|
-
];
|
|
17090
|
-
var COMBO_SERIES_TYPE_OPTIONS = [
|
|
17091
|
-
{ value: "", labelKey: "pptx.chart.comboDefault" },
|
|
17092
|
-
{ value: "bar", labelKey: "pptx.chart.typeBar" },
|
|
17093
|
-
{ value: "line", labelKey: "pptx.chart.typeLine" },
|
|
17094
|
-
{ value: "area", labelKey: "pptx.chart.typeArea" },
|
|
17095
|
-
{ value: "scatter", labelKey: "pptx.chart.typeScatter" }
|
|
17096
|
-
];
|
|
17097
|
-
var COMBO_SUPPORTED_TYPES = /* @__PURE__ */ new Set(["bar", "line", "area", "combo"]);
|
|
17098
|
-
var EXPLOSION_SUPPORTED_TYPES = /* @__PURE__ */ new Set([
|
|
17099
|
-
"pie",
|
|
17100
|
-
"pie3D",
|
|
17101
|
-
"doughnut",
|
|
17102
|
-
"ofPie"
|
|
17103
|
-
]);
|
|
17104
17285
|
var AXIS_ROWS = [
|
|
17105
17286
|
{ type: "valAx", labelKey: "pptx.chart.valueAxis", hasScale: true },
|
|
17106
17287
|
{ type: "dateAx", labelKey: "pptx.chart.dateAxis", hasScale: true },
|
|
@@ -17122,7 +17303,7 @@ function ChartAxisOptions({ axes, canEdit, onUpdateAxis }) {
|
|
|
17122
17303
|
{
|
|
17123
17304
|
type: "number",
|
|
17124
17305
|
disabled: !canEdit,
|
|
17125
|
-
className:
|
|
17306
|
+
className: INPUT,
|
|
17126
17307
|
value: value ?? "",
|
|
17127
17308
|
placeholder: t("pptx.chart.auto"),
|
|
17128
17309
|
onChange: (e) => {
|
|
@@ -17139,8 +17320,8 @@ function ChartAxisOptions({ axes, canEdit, onUpdateAxis }) {
|
|
|
17139
17320
|
}
|
|
17140
17321
|
)
|
|
17141
17322
|
] });
|
|
17142
|
-
return /* @__PURE__ */ jsxs("div", { className:
|
|
17143
|
-
/* @__PURE__ */ jsx("div", { className:
|
|
17323
|
+
return /* @__PURE__ */ jsxs("div", { className: CARD, children: [
|
|
17324
|
+
/* @__PURE__ */ jsx("div", { className: HEADING, children: t("pptx.chart.axes") }),
|
|
17144
17325
|
rows.map(({ type, labelKey, hasScale, axis }) => /* @__PURE__ */ jsxs("div", { className: "space-y-1.5", children: [
|
|
17145
17326
|
/* @__PURE__ */ jsx("div", { className: "text-[11px] font-medium", children: t(labelKey) }),
|
|
17146
17327
|
hasScale && /* @__PURE__ */ jsxs("div", { className: "space-y-1.5 ml-2", children: [
|
|
@@ -17155,7 +17336,7 @@ function ChartAxisOptions({ axes, canEdit, onUpdateAxis }) {
|
|
|
17155
17336
|
{
|
|
17156
17337
|
"aria-label": t("pptx.chart.displayUnits"),
|
|
17157
17338
|
disabled: !canEdit,
|
|
17158
|
-
className:
|
|
17339
|
+
className: INPUT,
|
|
17159
17340
|
value: axis.displayUnits ?? "",
|
|
17160
17341
|
onChange: (e) => onUpdateAxis(type, {
|
|
17161
17342
|
displayUnits: e.target.value || void 0
|
|
@@ -17173,7 +17354,7 @@ function ChartAxisOptions({ axes, canEdit, onUpdateAxis }) {
|
|
|
17173
17354
|
{
|
|
17174
17355
|
type: "text",
|
|
17175
17356
|
disabled: !canEdit,
|
|
17176
|
-
className:
|
|
17357
|
+
className: INPUT,
|
|
17177
17358
|
value: axis.titleText ?? "",
|
|
17178
17359
|
placeholder: t("pptx.chart.axisTitlePlaceholder"),
|
|
17179
17360
|
onChange: (e) => onUpdateAxis(type, { titleText: e.target.value })
|
|
@@ -17187,7 +17368,7 @@ function ChartAxisOptions({ axes, canEdit, onUpdateAxis }) {
|
|
|
17187
17368
|
{
|
|
17188
17369
|
type: "text",
|
|
17189
17370
|
disabled: !canEdit,
|
|
17190
|
-
className:
|
|
17371
|
+
className: INPUT,
|
|
17191
17372
|
value: axis.numFmt?.formatCode ?? "",
|
|
17192
17373
|
placeholder: t("pptx.settings.general"),
|
|
17193
17374
|
onChange: (e) => onUpdateAxis(type, {
|
|
@@ -17203,7 +17384,7 @@ function ChartAxisOptions({ axes, canEdit, onUpdateAxis }) {
|
|
|
17203
17384
|
{
|
|
17204
17385
|
"aria-label": t("pptx.chart.tickLabels"),
|
|
17205
17386
|
disabled: !canEdit,
|
|
17206
|
-
className:
|
|
17387
|
+
className: INPUT,
|
|
17207
17388
|
value: axis.tickLblPos ?? "nextTo",
|
|
17208
17389
|
onChange: (e) => onUpdateAxis(type, {
|
|
17209
17390
|
tickLblPos: e.target.value
|
|
@@ -17263,8 +17444,8 @@ function ChartAxisStyleOptions({
|
|
|
17263
17444
|
if (rows.length === 0) {
|
|
17264
17445
|
return null;
|
|
17265
17446
|
}
|
|
17266
|
-
return /* @__PURE__ */ jsxs("div", { className:
|
|
17267
|
-
/* @__PURE__ */ jsx("div", { className:
|
|
17447
|
+
return /* @__PURE__ */ jsxs("div", { className: CARD, children: [
|
|
17448
|
+
/* @__PURE__ */ jsx("div", { className: HEADING, children: t("pptx.chart.axisStyling") }),
|
|
17268
17449
|
rows.map(({ type, labelKey, axis }) => {
|
|
17269
17450
|
const hasScale = type === "valAx" || type === "dateAx";
|
|
17270
17451
|
return /* @__PURE__ */ jsxs("div", { className: "space-y-1.5", children: [
|
|
@@ -17309,7 +17490,7 @@ function ChartAxisStyleOptions({
|
|
|
17309
17490
|
{
|
|
17310
17491
|
type: "text",
|
|
17311
17492
|
disabled: !canEdit,
|
|
17312
|
-
className:
|
|
17493
|
+
className: INPUT,
|
|
17313
17494
|
placeholder: t("pptx.chart.auto"),
|
|
17314
17495
|
value: axis.fontFamily ?? "",
|
|
17315
17496
|
onChange: (e) => onSetTitleStyle(type, { fontFamily: e.target.value || null })
|
|
@@ -17413,7 +17594,7 @@ function ChartAxisStyleOptions({
|
|
|
17413
17594
|
{
|
|
17414
17595
|
disabled: !canEdit,
|
|
17415
17596
|
title: t("pptx.chart.gridlineDash"),
|
|
17416
|
-
className:
|
|
17597
|
+
className: INPUT,
|
|
17417
17598
|
value: spPr?.strokeDashStyle ?? "",
|
|
17418
17599
|
onChange: (e) => onSetGridlineStyle(type, which, { dashStyle: e.target.value || null }),
|
|
17419
17600
|
children: GRIDLINE_DASH_OPTIONS.map((opt) => /* @__PURE__ */ jsx("option", { value: opt.value, children: t(opt.labelKey) }, opt.value))
|
|
@@ -17436,15 +17617,15 @@ function ChartComboTypeOptions({
|
|
|
17436
17617
|
if (!COMBO_SUPPORTED_TYPES.has(chartType) || series.length < 2) {
|
|
17437
17618
|
return null;
|
|
17438
17619
|
}
|
|
17439
|
-
return /* @__PURE__ */ jsxs("div", { className:
|
|
17440
|
-
/* @__PURE__ */ jsx("div", { className:
|
|
17620
|
+
return /* @__PURE__ */ jsxs("div", { className: CARD, children: [
|
|
17621
|
+
/* @__PURE__ */ jsx("div", { className: HEADING, children: t("pptx.chart.comboTypes") }),
|
|
17441
17622
|
/* @__PURE__ */ jsx("div", { className: "space-y-1.5", children: series.map((s, i) => /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 text-[11px]", children: [
|
|
17442
17623
|
/* @__PURE__ */ jsx("span", { className: "flex-1 truncate", title: s.name, children: s.name }),
|
|
17443
17624
|
/* @__PURE__ */ jsx(
|
|
17444
17625
|
"select",
|
|
17445
17626
|
{
|
|
17446
17627
|
disabled: !canEdit,
|
|
17447
|
-
className:
|
|
17628
|
+
className: INPUT,
|
|
17448
17629
|
value: s.seriesChartType ?? "",
|
|
17449
17630
|
onChange: (e) => {
|
|
17450
17631
|
const value = e.target.value;
|
|
@@ -17482,15 +17663,15 @@ function ChartDataGrid({
|
|
|
17482
17663
|
const highlightClass = " ring-1 ring-primary";
|
|
17483
17664
|
const isSeriesHighlight = (si) => highlightCell?.seriesIndex === si && highlightCell.pointIndex === void 0;
|
|
17484
17665
|
const isValueHighlight = (si, ci) => highlightCell?.seriesIndex === si && highlightCell.pointIndex === ci;
|
|
17485
|
-
return /* @__PURE__ */ jsxs("div", { className:
|
|
17666
|
+
return /* @__PURE__ */ jsxs("div", { className: CARD, children: [
|
|
17486
17667
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between", children: [
|
|
17487
|
-
/* @__PURE__ */ jsx("div", { className:
|
|
17668
|
+
/* @__PURE__ */ jsx("div", { className: HEADING, children: t("pptx.chart.data") }),
|
|
17488
17669
|
canEdit && /* @__PURE__ */ jsxs("div", { className: "flex gap-1", children: [
|
|
17489
17670
|
/* @__PURE__ */ jsxs(
|
|
17490
17671
|
"button",
|
|
17491
17672
|
{
|
|
17492
17673
|
type: "button",
|
|
17493
|
-
className: `${
|
|
17674
|
+
className: `${BTN} inline-flex items-center justify-center`,
|
|
17494
17675
|
style: iconBtnStyle,
|
|
17495
17676
|
title: t("pptx.chart.addCategory"),
|
|
17496
17677
|
onClick: onAddCategory,
|
|
@@ -17504,7 +17685,7 @@ function ChartDataGrid({
|
|
|
17504
17685
|
"button",
|
|
17505
17686
|
{
|
|
17506
17687
|
type: "button",
|
|
17507
|
-
className: `${
|
|
17688
|
+
className: `${BTN} inline-flex items-center justify-center`,
|
|
17508
17689
|
style: iconBtnStyle,
|
|
17509
17690
|
title: t("pptx.chart.addSeries"),
|
|
17510
17691
|
onClick: onAddSeries,
|
|
@@ -17610,8 +17791,8 @@ function ChartDataLabelOptions({
|
|
|
17610
17791
|
}
|
|
17611
17792
|
const labels = style.dataLabels ?? {};
|
|
17612
17793
|
const patchLabels = (patch) => onUpdateStyle({ dataLabels: { ...labels, ...patch } });
|
|
17613
|
-
return /* @__PURE__ */ jsxs("div", { className:
|
|
17614
|
-
/* @__PURE__ */ jsx("div", { className:
|
|
17794
|
+
return /* @__PURE__ */ jsxs("div", { className: CARD, children: [
|
|
17795
|
+
/* @__PURE__ */ jsx("div", { className: HEADING, children: t("pptx.chart.dataLabels") }),
|
|
17615
17796
|
/* @__PURE__ */ jsxs("div", { className: "space-y-1.5", children: [
|
|
17616
17797
|
DATA_LABEL_CONTENT_OPTIONS.map((opt) => /* @__PURE__ */ jsxs("label", { className: "flex items-center gap-2 cursor-pointer", children: [
|
|
17617
17798
|
/* @__PURE__ */ jsx(
|
|
@@ -17633,7 +17814,7 @@ function ChartDataLabelOptions({
|
|
|
17633
17814
|
{
|
|
17634
17815
|
"aria-label": t("pptx.chart.labelPosition"),
|
|
17635
17816
|
disabled: !canEdit,
|
|
17636
|
-
className:
|
|
17817
|
+
className: INPUT,
|
|
17637
17818
|
value: labels.position ?? "",
|
|
17638
17819
|
onChange: (e) => patchLabels({
|
|
17639
17820
|
position: e.target.value || void 0
|
|
@@ -17661,8 +17842,8 @@ function ChartDataPointMarkerOptions({
|
|
|
17661
17842
|
}
|
|
17662
17843
|
const activeSeries = series[Math.min(seriesIndex, series.length - 1)];
|
|
17663
17844
|
const pointFor = (idx) => activeSeries.dataPoints?.find((p) => p.idx === idx);
|
|
17664
|
-
return /* @__PURE__ */ jsxs("div", { className:
|
|
17665
|
-
/* @__PURE__ */ jsx("div", { className:
|
|
17845
|
+
return /* @__PURE__ */ jsxs("div", { className: CARD, children: [
|
|
17846
|
+
/* @__PURE__ */ jsx("div", { className: HEADING, children: t("pptx.chart.pointMarkers") }),
|
|
17666
17847
|
series.length > 1 && /* @__PURE__ */ jsxs("label", { className: "flex items-center gap-2 text-[11px]", children: [
|
|
17667
17848
|
/* @__PURE__ */ jsx("span", { className: "w-12 text-muted-foreground shrink-0", children: t("pptx.chart.series") }),
|
|
17668
17849
|
/* @__PURE__ */ jsx(
|
|
@@ -17771,8 +17952,8 @@ function ChartDataPointOptions({
|
|
|
17771
17952
|
const activeSeries = series[Math.min(seriesIndex, series.length - 1)];
|
|
17772
17953
|
const showExplosion = EXPLOSION_SUPPORTED_TYPES.has(chartType);
|
|
17773
17954
|
const pointFor = (idx) => activeSeries.dataPoints?.find((p) => p.idx === idx);
|
|
17774
|
-
return /* @__PURE__ */ jsxs("div", { className:
|
|
17775
|
-
/* @__PURE__ */ jsx("div", { className:
|
|
17955
|
+
return /* @__PURE__ */ jsxs("div", { className: CARD, children: [
|
|
17956
|
+
/* @__PURE__ */ jsx("div", { className: HEADING, children: t("pptx.chart.dataPoints") }),
|
|
17776
17957
|
series.length > 1 && /* @__PURE__ */ jsxs("label", { className: "flex items-center gap-2 text-[11px]", children: [
|
|
17777
17958
|
/* @__PURE__ */ jsx("span", { className: "w-12 text-muted-foreground shrink-0", children: t("pptx.chart.series") }),
|
|
17778
17959
|
/* @__PURE__ */ jsx(
|
|
@@ -17780,7 +17961,7 @@ function ChartDataPointOptions({
|
|
|
17780
17961
|
{
|
|
17781
17962
|
"aria-label": t("pptx.chart.series"),
|
|
17782
17963
|
disabled: !canEdit,
|
|
17783
|
-
className:
|
|
17964
|
+
className: INPUT,
|
|
17784
17965
|
value: Math.min(seriesIndex, series.length - 1),
|
|
17785
17966
|
onChange: (e) => setSeriesIndex(Number.parseInt(e.target.value, 10)),
|
|
17786
17967
|
children: series.map((s, i) => /* @__PURE__ */ jsx("option", { value: i, children: s.name }, `${s.name}-${i}`))
|
|
@@ -17867,8 +18048,8 @@ function ChartDisplayOptions({
|
|
|
17867
18048
|
onToggleGridlines
|
|
17868
18049
|
}) {
|
|
17869
18050
|
const { t } = useTranslation();
|
|
17870
|
-
return /* @__PURE__ */ jsxs("div", { className:
|
|
17871
|
-
/* @__PURE__ */ jsx("div", { className:
|
|
18051
|
+
return /* @__PURE__ */ jsxs("div", { className: CARD, children: [
|
|
18052
|
+
/* @__PURE__ */ jsx("div", { className: HEADING, children: t("pptx.chart.display") }),
|
|
17872
18053
|
/* @__PURE__ */ jsxs("div", { className: "space-y-1.5", children: [
|
|
17873
18054
|
/* @__PURE__ */ jsxs("label", { className: "flex items-center gap-2 cursor-pointer", children: [
|
|
17874
18055
|
/* @__PURE__ */ jsx(
|
|
@@ -17903,7 +18084,7 @@ function ChartDisplayOptions({
|
|
|
17903
18084
|
{
|
|
17904
18085
|
"aria-label": t("pptx.chart.legendPosition"),
|
|
17905
18086
|
disabled: !canEdit,
|
|
17906
|
-
className:
|
|
18087
|
+
className: INPUT,
|
|
17907
18088
|
value: style.legendPosition ?? "b",
|
|
17908
18089
|
onChange: (e) => onUpdateStyle({
|
|
17909
18090
|
legendPosition: e.target.value
|
|
@@ -17953,8 +18134,8 @@ function ChartErrorBarOptions({
|
|
|
17953
18134
|
if (!ERROR_BAR_SUPPORTED_TYPES.has(chartType) || series.length === 0) {
|
|
17954
18135
|
return null;
|
|
17955
18136
|
}
|
|
17956
|
-
return /* @__PURE__ */ jsxs("div", { className:
|
|
17957
|
-
/* @__PURE__ */ jsx("div", { className:
|
|
18137
|
+
return /* @__PURE__ */ jsxs("div", { className: CARD, children: [
|
|
18138
|
+
/* @__PURE__ */ jsx("div", { className: HEADING, children: t("pptx.chart.errorBars") }),
|
|
17958
18139
|
/* @__PURE__ */ jsx("div", { className: "space-y-2", children: series.map((s, i) => {
|
|
17959
18140
|
const bars = s.errBars?.[0];
|
|
17960
18141
|
const valType = bars?.valType ?? "";
|
|
@@ -17966,7 +18147,7 @@ function ChartErrorBarOptions({
|
|
|
17966
18147
|
"select",
|
|
17967
18148
|
{
|
|
17968
18149
|
disabled: !canEdit,
|
|
17969
|
-
className:
|
|
18150
|
+
className: INPUT,
|
|
17970
18151
|
value: valType,
|
|
17971
18152
|
onChange: (e) => {
|
|
17972
18153
|
const value = e.target.value;
|
|
@@ -17990,7 +18171,7 @@ function ChartErrorBarOptions({
|
|
|
17990
18171
|
"select",
|
|
17991
18172
|
{
|
|
17992
18173
|
disabled: !canEdit,
|
|
17993
|
-
className:
|
|
18174
|
+
className: INPUT,
|
|
17994
18175
|
value: bars.barType,
|
|
17995
18176
|
onChange: (e) => onSetErrorBars(i, {
|
|
17996
18177
|
...bars,
|
|
@@ -18004,7 +18185,7 @@ function ChartErrorBarOptions({
|
|
|
18004
18185
|
{
|
|
18005
18186
|
type: "number",
|
|
18006
18187
|
disabled: !canEdit,
|
|
18007
|
-
className:
|
|
18188
|
+
className: INPUT,
|
|
18008
18189
|
value: bars.val ?? "",
|
|
18009
18190
|
placeholder: t("pptx.chart.errorBarAmount"),
|
|
18010
18191
|
onChange: (e) => {
|
|
@@ -18035,8 +18216,8 @@ function ChartFilteredSeriesOptions({
|
|
|
18035
18216
|
if (filteredSeries.length === 0 && seriesWithRange.length === 0 && chartData.series.length <= 1) {
|
|
18036
18217
|
return null;
|
|
18037
18218
|
}
|
|
18038
|
-
return /* @__PURE__ */ jsxs("div", { className:
|
|
18039
|
-
/* @__PURE__ */ jsx("div", { className:
|
|
18219
|
+
return /* @__PURE__ */ jsxs("div", { className: CARD, children: [
|
|
18220
|
+
/* @__PURE__ */ jsx("div", { className: HEADING, children: t("pptx.chart.chartFilters") }),
|
|
18040
18221
|
chartData.series.length > 1 && /* @__PURE__ */ jsx("div", { className: "space-y-1", children: chartData.series.map((series, index) => /* @__PURE__ */ jsxs(
|
|
18041
18222
|
"div",
|
|
18042
18223
|
{
|
|
@@ -18047,7 +18228,7 @@ function ChartFilteredSeriesOptions({
|
|
|
18047
18228
|
"button",
|
|
18048
18229
|
{
|
|
18049
18230
|
type: "button",
|
|
18050
|
-
className:
|
|
18231
|
+
className: BTN,
|
|
18051
18232
|
disabled: !canEdit,
|
|
18052
18233
|
"aria-label": t("pptx.chart.hideSeries", { name: series.name }),
|
|
18053
18234
|
"data-testid": `chart-series-hide-${index}`,
|
|
@@ -18071,7 +18252,7 @@ function ChartFilteredSeriesOptions({
|
|
|
18071
18252
|
"button",
|
|
18072
18253
|
{
|
|
18073
18254
|
type: "button",
|
|
18074
|
-
className:
|
|
18255
|
+
className: BTN,
|
|
18075
18256
|
disabled: !canEdit,
|
|
18076
18257
|
"aria-label": t("pptx.chart.showSeries", { name }),
|
|
18077
18258
|
"data-testid": `chart-series-show-${index}`,
|
|
@@ -18114,8 +18295,8 @@ function ChartMarkerOptions({
|
|
|
18114
18295
|
if (!MARKER_SUPPORTED_TYPES.has(chartType) || series.length === 0) {
|
|
18115
18296
|
return null;
|
|
18116
18297
|
}
|
|
18117
|
-
return /* @__PURE__ */ jsxs("div", { className:
|
|
18118
|
-
/* @__PURE__ */ jsx("div", { className:
|
|
18298
|
+
return /* @__PURE__ */ jsxs("div", { className: CARD, children: [
|
|
18299
|
+
/* @__PURE__ */ jsx("div", { className: HEADING, children: t("pptx.chart.markers") }),
|
|
18119
18300
|
/* @__PURE__ */ jsx("div", { className: "space-y-2", children: series.map((s, i) => {
|
|
18120
18301
|
const marker = s.marker;
|
|
18121
18302
|
return /* @__PURE__ */ jsxs("div", { className: "space-y-1", children: [
|
|
@@ -18125,7 +18306,7 @@ function ChartMarkerOptions({
|
|
|
18125
18306
|
"select",
|
|
18126
18307
|
{
|
|
18127
18308
|
disabled: !canEdit,
|
|
18128
|
-
className:
|
|
18309
|
+
className: INPUT,
|
|
18129
18310
|
value: marker?.symbol ?? "",
|
|
18130
18311
|
onChange: (e) => {
|
|
18131
18312
|
const value = e.target.value;
|
|
@@ -18228,8 +18409,8 @@ function ChartSeriesColorOptions({
|
|
|
18228
18409
|
if (series.length === 0) {
|
|
18229
18410
|
return null;
|
|
18230
18411
|
}
|
|
18231
|
-
return /* @__PURE__ */ jsxs("div", { className:
|
|
18232
|
-
/* @__PURE__ */ jsx("div", { className:
|
|
18412
|
+
return /* @__PURE__ */ jsxs("div", { className: CARD, children: [
|
|
18413
|
+
/* @__PURE__ */ jsx("div", { className: HEADING, children: t("pptx.chart.seriesColors") }),
|
|
18233
18414
|
/* @__PURE__ */ jsx("div", { className: "space-y-1", children: series.map((s, i) => /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 text-[11px]", children: [
|
|
18234
18415
|
/* @__PURE__ */ jsx("span", { className: "flex-1 truncate", title: s.name, children: s.name }),
|
|
18235
18416
|
/* @__PURE__ */ jsxs("label", { className: "flex items-center gap-1 text-muted-foreground shrink-0", children: [
|
|
@@ -18277,8 +18458,8 @@ function ChartSubtypeOptions({
|
|
|
18277
18458
|
if (chartData.chartType !== "bar3D" && chartData.chartType !== "radar" && chartData.chartType !== "surface") {
|
|
18278
18459
|
return null;
|
|
18279
18460
|
}
|
|
18280
|
-
return /* @__PURE__ */ jsxs("div", { className:
|
|
18281
|
-
/* @__PURE__ */ jsx("div", { className:
|
|
18461
|
+
return /* @__PURE__ */ jsxs("div", { className: CARD, children: [
|
|
18462
|
+
/* @__PURE__ */ jsx("div", { className: HEADING, children: t("pptx.chart.display") }),
|
|
18282
18463
|
/* @__PURE__ */ jsxs("div", { className: "space-y-1.5", children: [
|
|
18283
18464
|
chartData.chartType === "bar3D" && /* @__PURE__ */ jsxs("label", { className: "flex items-center gap-2 text-[11px]", children: [
|
|
18284
18465
|
/* @__PURE__ */ jsx("span", { className: "w-16 text-muted-foreground shrink-0", children: t("pptx.chart.bar3DShapeLabel") }),
|
|
@@ -18288,7 +18469,7 @@ function ChartSubtypeOptions({
|
|
|
18288
18469
|
"data-testid": "pptx-chart-bar3d-shape",
|
|
18289
18470
|
"aria-label": t("pptx.chart.bar3DShapeLabel"),
|
|
18290
18471
|
disabled: !canEdit,
|
|
18291
|
-
className:
|
|
18472
|
+
className: INPUT,
|
|
18292
18473
|
value: chartData.barShape ?? "box",
|
|
18293
18474
|
onChange: (e) => onUpdateChartData(bar3DShapePatch(chartData, e.target.value)),
|
|
18294
18475
|
children: BAR3D_SHAPE_OPTIONS.map((opt) => /* @__PURE__ */ jsx("option", { value: opt.value, children: t(opt.labelKey) }, opt.value))
|
|
@@ -18303,7 +18484,7 @@ function ChartSubtypeOptions({
|
|
|
18303
18484
|
"data-testid": "pptx-chart-radar-style",
|
|
18304
18485
|
"aria-label": t("pptx.chart.radarStyleLabel"),
|
|
18305
18486
|
disabled: !canEdit,
|
|
18306
|
-
className:
|
|
18487
|
+
className: INPUT,
|
|
18307
18488
|
value: chartData.radarStyle ?? "standard",
|
|
18308
18489
|
onChange: (e) => onUpdateChartData(
|
|
18309
18490
|
radarStylePatch(
|
|
@@ -18323,7 +18504,7 @@ function ChartSubtypeOptions({
|
|
|
18323
18504
|
"data-testid": "pptx-chart-surface-wireframe",
|
|
18324
18505
|
"aria-label": t("pptx.chart.surfaceWireframeLabel"),
|
|
18325
18506
|
disabled: !canEdit,
|
|
18326
|
-
className:
|
|
18507
|
+
className: INPUT,
|
|
18327
18508
|
value: chartData.wireframe ? "true" : "false",
|
|
18328
18509
|
onChange: (e) => onUpdateChartData(surfaceWireframePatch(chartData, e.target.value === "true")),
|
|
18329
18510
|
children: SURFACE_WIREFRAME_OPTIONS.map((opt) => /* @__PURE__ */ jsx("option", { value: opt.value, children: t(opt.labelKey) }, opt.value))
|
|
@@ -18343,8 +18524,8 @@ function ChartTrendlineOptions({
|
|
|
18343
18524
|
if (!TRENDLINE_SUPPORTED_TYPES.has(chartType) || series.length === 0) {
|
|
18344
18525
|
return null;
|
|
18345
18526
|
}
|
|
18346
|
-
return /* @__PURE__ */ jsxs("div", { className:
|
|
18347
|
-
/* @__PURE__ */ jsx("div", { className:
|
|
18527
|
+
return /* @__PURE__ */ jsxs("div", { className: CARD, children: [
|
|
18528
|
+
/* @__PURE__ */ jsx("div", { className: HEADING, children: t("pptx.chart.trendlines") }),
|
|
18348
18529
|
/* @__PURE__ */ jsx("div", { className: "space-y-2", children: series.map((s, i) => {
|
|
18349
18530
|
const trendline = s.trendlines?.[0];
|
|
18350
18531
|
return /* @__PURE__ */ jsxs("div", { className: "space-y-1", children: [
|
|
@@ -18354,7 +18535,7 @@ function ChartTrendlineOptions({
|
|
|
18354
18535
|
"select",
|
|
18355
18536
|
{
|
|
18356
18537
|
disabled: !canEdit,
|
|
18357
|
-
className:
|
|
18538
|
+
className: INPUT,
|
|
18358
18539
|
value: trendline?.trendlineType ?? "",
|
|
18359
18540
|
onChange: (e) => {
|
|
18360
18541
|
const value = e.target.value;
|
|
@@ -18417,8 +18598,8 @@ function ChartTypeSelector({
|
|
|
18417
18598
|
const { t } = useTranslation();
|
|
18418
18599
|
const supportsGrouping = GROUPING_SUPPORTED_TYPES.has(chartType);
|
|
18419
18600
|
const displayedType = resolveDisplayedChartType(chartData);
|
|
18420
|
-
return /* @__PURE__ */ jsxs("div", { className:
|
|
18421
|
-
/* @__PURE__ */ jsx("div", { className:
|
|
18601
|
+
return /* @__PURE__ */ jsxs("div", { className: CARD, children: [
|
|
18602
|
+
/* @__PURE__ */ jsx("div", { className: HEADING, children: t("pptx.chart.heading") }),
|
|
18422
18603
|
/* @__PURE__ */ jsxs("div", { className: "text-[11px] text-muted-foreground mb-1", children: [
|
|
18423
18604
|
seriesCount,
|
|
18424
18605
|
" ",
|
|
@@ -18435,7 +18616,7 @@ function ChartTypeSelector({
|
|
|
18435
18616
|
{
|
|
18436
18617
|
type: "text",
|
|
18437
18618
|
disabled: !canEdit,
|
|
18438
|
-
className:
|
|
18619
|
+
className: INPUT,
|
|
18439
18620
|
value: title ?? "",
|
|
18440
18621
|
onChange: (e) => onTitleChange(e.target.value)
|
|
18441
18622
|
}
|
|
@@ -18448,7 +18629,7 @@ function ChartTypeSelector({
|
|
|
18448
18629
|
{
|
|
18449
18630
|
"aria-label": t("pptx.chart.type"),
|
|
18450
18631
|
disabled: !canEdit,
|
|
18451
|
-
className:
|
|
18632
|
+
className: INPUT,
|
|
18452
18633
|
value: displayedType,
|
|
18453
18634
|
onChange: (e) => onUpdateChartData({
|
|
18454
18635
|
chartType: e.target.value
|
|
@@ -18464,7 +18645,7 @@ function ChartTypeSelector({
|
|
|
18464
18645
|
{
|
|
18465
18646
|
"aria-label": t("pptx.chart.grouping"),
|
|
18466
18647
|
disabled: !canEdit,
|
|
18467
|
-
className:
|
|
18648
|
+
className: INPUT,
|
|
18468
18649
|
value: grouping ?? "clustered",
|
|
18469
18650
|
onChange: (e) => onUpdateChartData({
|
|
18470
18651
|
grouping: e.target.value
|
|
@@ -18484,7 +18665,7 @@ function NumberField({ value, canEdit, fraction, nonNegative, onChange }) {
|
|
|
18484
18665
|
min: fraction || nonNegative ? 0 : void 0,
|
|
18485
18666
|
max: fraction ? 1 : void 0,
|
|
18486
18667
|
disabled: !canEdit,
|
|
18487
|
-
className:
|
|
18668
|
+
className: INPUT,
|
|
18488
18669
|
value,
|
|
18489
18670
|
onChange: (e) => onChange(Number(e.target.value))
|
|
18490
18671
|
}
|
|
@@ -18505,7 +18686,7 @@ function RotationField({
|
|
|
18505
18686
|
step: "1",
|
|
18506
18687
|
"aria-label": t("pptx.chart.userShapeRotation"),
|
|
18507
18688
|
disabled: !canEdit,
|
|
18508
|
-
className:
|
|
18689
|
+
className: INPUT,
|
|
18509
18690
|
value: row.rotation ?? 0,
|
|
18510
18691
|
onChange: (e) => onRotationPatch(row.path, Number(e.target.value) || void 0)
|
|
18511
18692
|
}
|
|
@@ -18706,15 +18887,15 @@ function ChartUserShapeOptions({
|
|
|
18706
18887
|
)
|
|
18707
18888
|
});
|
|
18708
18889
|
};
|
|
18709
|
-
return /* @__PURE__ */ jsxs("div", { className:
|
|
18890
|
+
return /* @__PURE__ */ jsxs("div", { className: CARD, children: [
|
|
18710
18891
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between", children: [
|
|
18711
|
-
/* @__PURE__ */ jsx("div", { className:
|
|
18892
|
+
/* @__PURE__ */ jsx("div", { className: HEADING, children: t("pptx.chart.userShapes") }),
|
|
18712
18893
|
/* @__PURE__ */ jsx(
|
|
18713
18894
|
"button",
|
|
18714
18895
|
{
|
|
18715
18896
|
type: "button",
|
|
18716
18897
|
disabled: !canEdit,
|
|
18717
|
-
className:
|
|
18898
|
+
className: BTN,
|
|
18718
18899
|
onClick: () => onUpdateChartData({
|
|
18719
18900
|
userShapes: withChartUserShapeAdded(shapes, createDefaultChartUserShape())
|
|
18720
18901
|
}),
|
|
@@ -18739,7 +18920,7 @@ function ChartUserShapeOptions({
|
|
|
18739
18920
|
{
|
|
18740
18921
|
type: "button",
|
|
18741
18922
|
disabled: !canEdit,
|
|
18742
|
-
className:
|
|
18923
|
+
className: BTN,
|
|
18743
18924
|
onClick: () => addIntoGroup(row.path),
|
|
18744
18925
|
children: t("pptx.chart.userShapeAddIntoGroup")
|
|
18745
18926
|
}
|
|
@@ -18750,7 +18931,7 @@ function ChartUserShapeOptions({
|
|
|
18750
18931
|
type: "button",
|
|
18751
18932
|
disabled: !canEdit,
|
|
18752
18933
|
"aria-label": t("pptx.chart.userShapeDelete"),
|
|
18753
|
-
className:
|
|
18934
|
+
className: BTN,
|
|
18754
18935
|
onClick: () => onUpdateChartData({
|
|
18755
18936
|
userShapes: withChartUserShapeRowRemoved(shapes, row.path)
|
|
18756
18937
|
}),
|
|
@@ -18766,7 +18947,7 @@ function ChartUserShapeOptions({
|
|
|
18766
18947
|
type: "text",
|
|
18767
18948
|
"aria-label": t("pptx.chart.userShapeText"),
|
|
18768
18949
|
disabled: !canEdit,
|
|
18769
|
-
className:
|
|
18950
|
+
className: INPUT,
|
|
18770
18951
|
value: row.text ?? "",
|
|
18771
18952
|
onChange: (e) => onUpdateChartData({
|
|
18772
18953
|
userShapes: withChartUserShapeRowTextUpdated(
|
|
@@ -18814,7 +18995,7 @@ function ChartUserShapeOptions({
|
|
|
18814
18995
|
type: "text",
|
|
18815
18996
|
"aria-label": t("pptx.chart.userShapeAltText"),
|
|
18816
18997
|
disabled: !canEdit,
|
|
18817
|
-
className:
|
|
18998
|
+
className: INPUT,
|
|
18818
18999
|
value: row.altText ?? "",
|
|
18819
19000
|
onChange: (e) => update(row.path, { altText: e.target.value })
|
|
18820
19001
|
}
|
|
@@ -19656,8 +19837,8 @@ function ConnectorPanel({
|
|
|
19656
19837
|
if (selectedElement.type !== "connector") {
|
|
19657
19838
|
return null;
|
|
19658
19839
|
}
|
|
19659
|
-
return /* @__PURE__ */ jsxs("div", { className:
|
|
19660
|
-
/* @__PURE__ */ jsx("div", { className:
|
|
19840
|
+
return /* @__PURE__ */ jsxs("div", { className: CARD2, children: [
|
|
19841
|
+
/* @__PURE__ */ jsx("div", { className: HEADING2, children: "Connector" }),
|
|
19661
19842
|
/* @__PURE__ */ jsx(
|
|
19662
19843
|
ConnectorArrowsSection,
|
|
19663
19844
|
{
|
|
@@ -19676,8 +19857,8 @@ function GroupInfoPanel({
|
|
|
19676
19857
|
return null;
|
|
19677
19858
|
}
|
|
19678
19859
|
const group = selectedElement;
|
|
19679
|
-
return /* @__PURE__ */ jsxs("div", { className:
|
|
19680
|
-
/* @__PURE__ */ jsx("div", { className:
|
|
19860
|
+
return /* @__PURE__ */ jsxs("div", { className: CARD2, children: [
|
|
19861
|
+
/* @__PURE__ */ jsx("div", { className: HEADING2, children: t("pptx.elementType.group") }),
|
|
19681
19862
|
/* @__PURE__ */ jsx("div", { className: "text-[11px] text-muted-foreground", children: Array.isArray(group.children) ? t("pptx.group.childCount", { count: group.children.length }) : t("pptx.group.groupedElement") })
|
|
19682
19863
|
] });
|
|
19683
19864
|
}
|
|
@@ -19692,8 +19873,8 @@ function OlePropertiesPanel({
|
|
|
19692
19873
|
return null;
|
|
19693
19874
|
}
|
|
19694
19875
|
const ole = selectedElement;
|
|
19695
|
-
return /* @__PURE__ */ jsxs("div", { className:
|
|
19696
|
-
/* @__PURE__ */ jsx("div", { className:
|
|
19876
|
+
return /* @__PURE__ */ jsxs("div", { className: CARD2, children: [
|
|
19877
|
+
/* @__PURE__ */ jsx("div", { className: HEADING2, children: t("pptx.ole.title") }),
|
|
19697
19878
|
/* @__PURE__ */ jsxs("div", { className: "space-y-1.5 text-[11px]", children: [
|
|
19698
19879
|
canEdit && !ole.isLinked && /* @__PURE__ */ jsx(
|
|
19699
19880
|
"button",
|
|
@@ -19711,7 +19892,7 @@ function OlePropertiesPanel({
|
|
|
19711
19892
|
{
|
|
19712
19893
|
type: "text",
|
|
19713
19894
|
disabled: !canEdit,
|
|
19714
|
-
className:
|
|
19895
|
+
className: INPUT2,
|
|
19715
19896
|
value: ole.oleName ?? "",
|
|
19716
19897
|
placeholder: t("pptx.ole.objectNamePlaceholder"),
|
|
19717
19898
|
onChange: (e) => onUpdateElement(buildOleObjectNamePatch(e.target.value))
|
|
@@ -19756,8 +19937,8 @@ function TransformPanel({
|
|
|
19756
19937
|
canEdit,
|
|
19757
19938
|
onUpdateElement
|
|
19758
19939
|
}) {
|
|
19759
|
-
return /* @__PURE__ */ jsxs("div", { className:
|
|
19760
|
-
/* @__PURE__ */ jsx("div", { className:
|
|
19940
|
+
return /* @__PURE__ */ jsxs("div", { className: CARD2, children: [
|
|
19941
|
+
/* @__PURE__ */ jsx("div", { className: HEADING2, children: "Transform" }),
|
|
19761
19942
|
/* @__PURE__ */ jsxs("div", { className: "grid grid-cols-2 gap-1.5 text-[11px]", children: [
|
|
19762
19943
|
/* @__PURE__ */ jsxs("label", { className: "flex flex-col gap-1", children: [
|
|
19763
19944
|
/* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: "Rotation (\xB0)" }),
|
|
@@ -19766,7 +19947,7 @@ function TransformPanel({
|
|
|
19766
19947
|
{
|
|
19767
19948
|
type: "number",
|
|
19768
19949
|
disabled: !canEdit,
|
|
19769
|
-
className:
|
|
19950
|
+
className: INPUT2,
|
|
19770
19951
|
value: Math.round(selectedElement.rotation || 0),
|
|
19771
19952
|
onChange: (e) => onUpdateElement({ rotation: Number(e.target.value) })
|
|
19772
19953
|
}
|
|
@@ -19799,7 +19980,7 @@ function LayerOrderButtons({
|
|
|
19799
19980
|
"button",
|
|
19800
19981
|
{
|
|
19801
19982
|
type: "button",
|
|
19802
|
-
className: cn("flex-1",
|
|
19983
|
+
className: cn("flex-1", BTN2),
|
|
19803
19984
|
disabled: !canEdit,
|
|
19804
19985
|
onClick: () => onMoveLayer("forward"),
|
|
19805
19986
|
children: "\u2191 Forward"
|
|
@@ -19809,7 +19990,7 @@ function LayerOrderButtons({
|
|
|
19809
19990
|
"button",
|
|
19810
19991
|
{
|
|
19811
19992
|
type: "button",
|
|
19812
|
-
className: cn("flex-1",
|
|
19993
|
+
className: cn("flex-1", BTN2),
|
|
19813
19994
|
disabled: !canEdit,
|
|
19814
19995
|
onClick: () => onMoveLayer("backward"),
|
|
19815
19996
|
children: "\u2193 Backward"
|
|
@@ -20325,8 +20506,8 @@ function ImagePropertiesPanel({
|
|
|
20325
20506
|
imageEffects: { ...fx, ...patch }
|
|
20326
20507
|
});
|
|
20327
20508
|
};
|
|
20328
|
-
return /* @__PURE__ */ jsxs("div", { className:
|
|
20329
|
-
/* @__PURE__ */ jsx("div", { className:
|
|
20509
|
+
return /* @__PURE__ */ jsxs("div", { className: CARD2, children: [
|
|
20510
|
+
/* @__PURE__ */ jsx("div", { className: HEADING2, children: t("pptx.image.properties") }),
|
|
20330
20511
|
/* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
|
|
20331
20512
|
/* @__PURE__ */ jsxs("label", { className: "flex flex-col gap-1 text-[11px]", children: [
|
|
20332
20513
|
/* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: t("pptx.image.altText") }),
|
|
@@ -20335,7 +20516,7 @@ function ImagePropertiesPanel({
|
|
|
20335
20516
|
{
|
|
20336
20517
|
rows: 2,
|
|
20337
20518
|
disabled: !canEdit,
|
|
20338
|
-
className: cn(
|
|
20519
|
+
className: cn(INPUT2, "resize-none text-[11px]"),
|
|
20339
20520
|
value: selectedElement.altText ?? "",
|
|
20340
20521
|
onChange: (e) => onUpdateElement({
|
|
20341
20522
|
altText: e.target.value
|
|
@@ -21286,8 +21467,8 @@ function AccessibilityTextSection({
|
|
|
21286
21467
|
if (!fields.showAltText && !fields.showTitle) {
|
|
21287
21468
|
return null;
|
|
21288
21469
|
}
|
|
21289
|
-
return /* @__PURE__ */ jsxs("div", { className:
|
|
21290
|
-
/* @__PURE__ */ jsx("div", { className:
|
|
21470
|
+
return /* @__PURE__ */ jsxs("div", { className: CARD2, "data-pptx-accessibility-text": true, children: [
|
|
21471
|
+
/* @__PURE__ */ jsx("div", { className: HEADING2, children: t("pptx.accessibility.heading", "Accessibility") }),
|
|
21291
21472
|
fields.showAltText && /* @__PURE__ */ jsxs("label", { className: "flex flex-col gap-1 text-[11px]", children: [
|
|
21292
21473
|
/* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: t("pptx.elementAccessibility.altText") }),
|
|
21293
21474
|
/* @__PURE__ */ jsx(
|
|
@@ -21296,7 +21477,7 @@ function AccessibilityTextSection({
|
|
|
21296
21477
|
rows: 2,
|
|
21297
21478
|
disabled: !canEdit,
|
|
21298
21479
|
placeholder: t("pptx.elementAccessibility.altTextPlaceholder"),
|
|
21299
|
-
className: cn(
|
|
21480
|
+
className: cn(INPUT2, "resize-none text-[11px]"),
|
|
21300
21481
|
value: fields.altText,
|
|
21301
21482
|
onChange: (e) => onUpdateElement({ altText: e.target.value })
|
|
21302
21483
|
}
|
|
@@ -21310,7 +21491,7 @@ function AccessibilityTextSection({
|
|
|
21310
21491
|
type: "text",
|
|
21311
21492
|
disabled: !canEdit,
|
|
21312
21493
|
placeholder: t("pptx.elementAccessibility.titlePlaceholder"),
|
|
21313
|
-
className: cn(
|
|
21494
|
+
className: cn(INPUT2, "text-[11px]"),
|
|
21314
21495
|
value: fields.title,
|
|
21315
21496
|
onChange: (e) => onUpdateElement({ title: e.target.value })
|
|
21316
21497
|
}
|
|
@@ -23425,14 +23606,14 @@ function ShapeTextPanels({
|
|
|
23425
23606
|
}) {
|
|
23426
23607
|
const { t } = useTranslation();
|
|
23427
23608
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
23428
|
-
hasShapeProperties(selectedElement) && /* @__PURE__ */ jsxs("div", { className:
|
|
23429
|
-
/* @__PURE__ */ jsx("div", { className:
|
|
23609
|
+
hasShapeProperties(selectedElement) && /* @__PURE__ */ jsxs("div", { className: CARD2, children: [
|
|
23610
|
+
/* @__PURE__ */ jsx("div", { className: HEADING2, children: t("pptx.shape.type", "Shape Type") }),
|
|
23430
23611
|
/* @__PURE__ */ jsx(
|
|
23431
23612
|
"select",
|
|
23432
23613
|
{
|
|
23433
23614
|
value: selectedElement.shapeType || "rect",
|
|
23434
23615
|
disabled: !canEdit,
|
|
23435
|
-
className: cn(
|
|
23616
|
+
className: cn(INPUT2, "w-full"),
|
|
23436
23617
|
onChange: (e) => onUpdateElement({
|
|
23437
23618
|
shapeType: e.target.value
|
|
23438
23619
|
}),
|
|
@@ -23440,8 +23621,8 @@ function ShapeTextPanels({
|
|
|
23440
23621
|
}
|
|
23441
23622
|
)
|
|
23442
23623
|
] }),
|
|
23443
|
-
hasShapeProperties(selectedElement) && /* @__PURE__ */ jsxs("div", { className:
|
|
23444
|
-
/* @__PURE__ */ jsx("div", { className:
|
|
23624
|
+
hasShapeProperties(selectedElement) && /* @__PURE__ */ jsxs("div", { className: CARD2, "data-pptx-fill-stroke": true, children: [
|
|
23625
|
+
/* @__PURE__ */ jsx("div", { className: HEADING2, children: t("pptx.shape.fillStroke", "Fill & Stroke") }),
|
|
23445
23626
|
/* @__PURE__ */ jsx(
|
|
23446
23627
|
FillStrokeProperties,
|
|
23447
23628
|
{
|
|
@@ -23458,8 +23639,8 @@ function ShapeTextPanels({
|
|
|
23458
23639
|
}
|
|
23459
23640
|
)
|
|
23460
23641
|
] }),
|
|
23461
|
-
hasTextProperties(selectedElement) && /* @__PURE__ */ jsxs("div", { className:
|
|
23462
|
-
/* @__PURE__ */ jsx("div", { className:
|
|
23642
|
+
hasTextProperties(selectedElement) && /* @__PURE__ */ jsxs("div", { className: CARD2, "data-pptx-text-card": true, children: [
|
|
23643
|
+
/* @__PURE__ */ jsx("div", { className: HEADING2, children: t("pptx.text.title", "Text") }),
|
|
23463
23644
|
/* @__PURE__ */ jsxs("div", { className: "grid grid-cols-2 gap-1.5 text-[11px]", children: [
|
|
23464
23645
|
/* @__PURE__ */ jsxs("label", { className: "flex flex-col gap-1", children: [
|
|
23465
23646
|
/* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: "Size" }),
|
|
@@ -23468,7 +23649,7 @@ function ShapeTextPanels({
|
|
|
23468
23649
|
{
|
|
23469
23650
|
type: "number",
|
|
23470
23651
|
disabled: !canEdit,
|
|
23471
|
-
className:
|
|
23652
|
+
className: INPUT2,
|
|
23472
23653
|
min: 6,
|
|
23473
23654
|
max: 200,
|
|
23474
23655
|
step: "any",
|
|
@@ -23919,7 +24100,7 @@ function SmartArtNodeRow({
|
|
|
23919
24100
|
"data-testid": "smartart-node-text",
|
|
23920
24101
|
disabled: !canEdit,
|
|
23921
24102
|
"aria-label": label,
|
|
23922
|
-
className: cn(
|
|
24103
|
+
className: cn(INPUT2, "flex-1 text-[11px] py-0.5"),
|
|
23923
24104
|
value: text,
|
|
23924
24105
|
onChange: (e) => onChangeText(nodeId, e.target.value),
|
|
23925
24106
|
onKeyDown: (e) => onKeyDown(e, nodeId),
|
|
@@ -24011,7 +24192,7 @@ function SmartArtStyleControls({
|
|
|
24011
24192
|
disabled: !canEdit,
|
|
24012
24193
|
"data-testid": "smartart-color-scheme",
|
|
24013
24194
|
"aria-label": t("pptx.smartart.colorScheme"),
|
|
24014
|
-
className: cn(
|
|
24195
|
+
className: cn(INPUT2, "w-full"),
|
|
24015
24196
|
value: colorScheme,
|
|
24016
24197
|
onChange: (e) => onChangeColorScheme(e.target.value),
|
|
24017
24198
|
children: colorSchemes.map((cs) => /* @__PURE__ */ jsx("option", { value: cs, children: schemaLabel(SMARTART_COLOR_SCHEME_LABEL_KEYS, cs, translate) }, cs))
|
|
@@ -24160,8 +24341,8 @@ function SmartArtPropertiesPanel({
|
|
|
24160
24341
|
new Set(extraConnections.map((c) => c.type ?? "unknown"))
|
|
24161
24342
|
).join(", ");
|
|
24162
24343
|
let topDisplayIndex = 0;
|
|
24163
|
-
return /* @__PURE__ */ jsxs("div", { className:
|
|
24164
|
-
/* @__PURE__ */ jsx("div", { className:
|
|
24344
|
+
return /* @__PURE__ */ jsxs("div", { className: CARD2, role: "group", "aria-label": t("pptx.smartart.title"), children: [
|
|
24345
|
+
/* @__PURE__ */ jsx("div", { className: HEADING2, children: t("pptx.smartart.title") }),
|
|
24165
24346
|
/* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
|
|
24166
24347
|
/* @__PURE__ */ jsx(
|
|
24167
24348
|
SmartArtLayoutSwitcher,
|
|
@@ -24195,7 +24376,7 @@ function SmartArtPropertiesPanel({
|
|
|
24195
24376
|
{
|
|
24196
24377
|
type: "button",
|
|
24197
24378
|
disabled: addDisabled,
|
|
24198
|
-
className:
|
|
24379
|
+
className: BTN2,
|
|
24199
24380
|
onClick: addNode,
|
|
24200
24381
|
title: addDisabled ? boundsHint : void 0,
|
|
24201
24382
|
children: t("pptx.smartart.addItem")
|
|
@@ -24275,15 +24456,15 @@ function TableDataGrid({
|
|
|
24275
24456
|
}
|
|
24276
24457
|
onUpdateElement({ tableData: next.tableData, rawXml: next.rawXml });
|
|
24277
24458
|
};
|
|
24278
|
-
return /* @__PURE__ */ jsx("div", { className:
|
|
24459
|
+
return /* @__PURE__ */ jsx("div", { className: CARD2, children: /* @__PURE__ */ jsxs("section", { "aria-label": t("pptx.tableDataEditor.ariaLabel"), children: [
|
|
24279
24460
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between gap-1 mb-1.5", children: [
|
|
24280
|
-
/* @__PURE__ */ jsx("div", { className:
|
|
24461
|
+
/* @__PURE__ */ jsx("div", { className: HEADING2, children: t("pptx.inspector.tableData") }),
|
|
24281
24462
|
canEdit && /* @__PURE__ */ jsxs("div", { className: "flex flex-wrap gap-0.5", children: [
|
|
24282
24463
|
/* @__PURE__ */ jsx(
|
|
24283
24464
|
"button",
|
|
24284
24465
|
{
|
|
24285
24466
|
type: "button",
|
|
24286
|
-
className: `${
|
|
24467
|
+
className: `${BTN2} inline-flex items-center justify-center`,
|
|
24287
24468
|
style: touchBtnStyle,
|
|
24288
24469
|
title: t("pptx.tableDataEditor.addRowTitle"),
|
|
24289
24470
|
onClick: () => commit(appendTableElementRow(tableElement)),
|
|
@@ -24294,7 +24475,7 @@ function TableDataGrid({
|
|
|
24294
24475
|
"button",
|
|
24295
24476
|
{
|
|
24296
24477
|
type: "button",
|
|
24297
|
-
className: `${
|
|
24478
|
+
className: `${BTN2} inline-flex items-center justify-center`,
|
|
24298
24479
|
style: touchBtnStyle,
|
|
24299
24480
|
disabled: !grid.canRemoveRow,
|
|
24300
24481
|
title: t("pptx.tableDataEditor.removeRowTitle"),
|
|
@@ -24306,7 +24487,7 @@ function TableDataGrid({
|
|
|
24306
24487
|
"button",
|
|
24307
24488
|
{
|
|
24308
24489
|
type: "button",
|
|
24309
|
-
className: `${
|
|
24490
|
+
className: `${BTN2} inline-flex items-center justify-center`,
|
|
24310
24491
|
style: touchBtnStyle,
|
|
24311
24492
|
title: t("pptx.tableDataEditor.addColumnTitle"),
|
|
24312
24493
|
onClick: () => commit(appendTableElementColumn(tableElement)),
|
|
@@ -24317,7 +24498,7 @@ function TableDataGrid({
|
|
|
24317
24498
|
"button",
|
|
24318
24499
|
{
|
|
24319
24500
|
type: "button",
|
|
24320
|
-
className: `${
|
|
24501
|
+
className: `${BTN2} inline-flex items-center justify-center`,
|
|
24321
24502
|
style: touchBtnStyle,
|
|
24322
24503
|
disabled: !grid.canRemoveColumn,
|
|
24323
24504
|
title: t("pptx.tableDataEditor.removeColumnTitle"),
|
|
@@ -24728,8 +24909,8 @@ function TableCellFormattingPanel({
|
|
|
24728
24909
|
});
|
|
24729
24910
|
onUpdateTableData({ rows: newRows });
|
|
24730
24911
|
};
|
|
24731
|
-
return /* @__PURE__ */ jsxs("div", { className:
|
|
24732
|
-
/* @__PURE__ */ jsx("div", { className:
|
|
24912
|
+
return /* @__PURE__ */ jsxs("div", { className: CARD2, children: [
|
|
24913
|
+
/* @__PURE__ */ jsx("div", { className: HEADING2, children: t("pptx.table.cell", { row: rowIndex + 1, col: columnIndex + 1 }) }),
|
|
24733
24914
|
/* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
|
|
24734
24915
|
/* @__PURE__ */ jsxs("label", { className: "flex items-center gap-2 text-[11px]", children: [
|
|
24735
24916
|
/* @__PURE__ */ jsx("span", { className: "w-10 text-muted-foreground", children: t("pptx.table.fontSize") }),
|
|
@@ -24738,7 +24919,7 @@ function TableCellFormattingPanel({
|
|
|
24738
24919
|
{
|
|
24739
24920
|
type: "number",
|
|
24740
24921
|
disabled: !canEdit,
|
|
24741
|
-
className:
|
|
24922
|
+
className: INPUT2,
|
|
24742
24923
|
min: 6,
|
|
24743
24924
|
max: 200,
|
|
24744
24925
|
value: cs.fontSize ?? 14,
|
|
@@ -24859,7 +25040,7 @@ function TableCellFormattingPanel({
|
|
|
24859
25040
|
{
|
|
24860
25041
|
type: "number",
|
|
24861
25042
|
disabled: !canEdit,
|
|
24862
|
-
className: cn(
|
|
25043
|
+
className: cn(INPUT2, "w-14"),
|
|
24863
25044
|
min: 0,
|
|
24864
25045
|
max: 10,
|
|
24865
25046
|
value: cs[widthKey] ?? 1,
|
|
@@ -24875,7 +25056,7 @@ function TableCellFormattingPanel({
|
|
|
24875
25056
|
{
|
|
24876
25057
|
type: "button",
|
|
24877
25058
|
disabled: !canEdit,
|
|
24878
|
-
className: cn(
|
|
25059
|
+
className: cn(BTN2, "text-center"),
|
|
24879
25060
|
onClick: () => {
|
|
24880
25061
|
const newRows = computeMergeCellRight(td, rowIndex, columnIndex);
|
|
24881
25062
|
if (newRows) {
|
|
@@ -24890,7 +25071,7 @@ function TableCellFormattingPanel({
|
|
|
24890
25071
|
{
|
|
24891
25072
|
type: "button",
|
|
24892
25073
|
disabled: !canEdit,
|
|
24893
|
-
className: cn(
|
|
25074
|
+
className: cn(BTN2, "text-center"),
|
|
24894
25075
|
onClick: () => {
|
|
24895
25076
|
const newRows = computeMergeCellDown(td, rowIndex, columnIndex);
|
|
24896
25077
|
if (newRows) {
|
|
@@ -24905,7 +25086,7 @@ function TableCellFormattingPanel({
|
|
|
24905
25086
|
{
|
|
24906
25087
|
type: "button",
|
|
24907
25088
|
disabled: !canEdit,
|
|
24908
|
-
className: cn(
|
|
25089
|
+
className: cn(BTN2, "text-center"),
|
|
24909
25090
|
onClick: () => {
|
|
24910
25091
|
const newRows = computeSplitCell(td, rowIndex, columnIndex);
|
|
24911
25092
|
if (newRows) {
|
|
@@ -24927,7 +25108,7 @@ function TableStyleEditorFields({
|
|
|
24927
25108
|
const { t } = useTranslation();
|
|
24928
25109
|
return /* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
|
|
24929
25110
|
/* @__PURE__ */ jsxs("div", { className: "space-y-1", children: [
|
|
24930
|
-
/* @__PURE__ */ jsx("div", { className:
|
|
25111
|
+
/* @__PURE__ */ jsx("div", { className: HEADING2, children: t("pptx.tableStyleEditor.fillSection") }),
|
|
24931
25112
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 text-[11px]", children: [
|
|
24932
25113
|
/* @__PURE__ */ jsx(
|
|
24933
25114
|
"input",
|
|
@@ -24965,13 +25146,13 @@ function TableStyleEditorFields({
|
|
|
24965
25146
|
] }),
|
|
24966
25147
|
descriptor.hasTextAndBorders && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
24967
25148
|
/* @__PURE__ */ jsxs("div", { className: "space-y-1", children: [
|
|
24968
|
-
/* @__PURE__ */ jsx("div", { className:
|
|
25149
|
+
/* @__PURE__ */ jsx("div", { className: HEADING2, children: t("pptx.tableStyleEditor.textSection") }),
|
|
24969
25150
|
/* @__PURE__ */ jsx("div", { className: "flex gap-1", children: ["bold", "italic", "underline"].map((flag) => /* @__PURE__ */ jsx(
|
|
24970
25151
|
"button",
|
|
24971
25152
|
{
|
|
24972
25153
|
type: "button",
|
|
24973
25154
|
disabled: !canEdit,
|
|
24974
|
-
className: `${
|
|
25155
|
+
className: `${BTN2} ${descriptor.text[flag] ? "bg-accent" : ""}`,
|
|
24975
25156
|
onClick: () => onEdit(textFlagEdit(flag, !descriptor.text[flag])),
|
|
24976
25157
|
children: t(`pptx.format.${flag}`)
|
|
24977
25158
|
},
|
|
@@ -25002,7 +25183,7 @@ function TableStyleEditorFields({
|
|
|
25002
25183
|
)
|
|
25003
25184
|
] }),
|
|
25004
25185
|
/* @__PURE__ */ jsxs("div", { className: "space-y-1", children: [
|
|
25005
|
-
/* @__PURE__ */ jsx("div", { className:
|
|
25186
|
+
/* @__PURE__ */ jsx("div", { className: HEADING2, children: t("pptx.tableStyleEditor.bordersSection") }),
|
|
25006
25187
|
TABLE_STYLE_BORDER_SIDES.map((side) => /* @__PURE__ */ jsx(
|
|
25007
25188
|
BorderSideRow,
|
|
25008
25189
|
{
|
|
@@ -25054,7 +25235,7 @@ function BorderSideRow({
|
|
|
25054
25235
|
disabled: !canEdit,
|
|
25055
25236
|
value: state.width,
|
|
25056
25237
|
onChange: (e) => onEdit({ kind: "borderWidth", side, width: Number(e.target.value) }),
|
|
25057
|
-
className: `${
|
|
25238
|
+
className: `${INPUT2} w-12`
|
|
25058
25239
|
}
|
|
25059
25240
|
),
|
|
25060
25241
|
/* @__PURE__ */ jsx(
|
|
@@ -25063,7 +25244,7 @@ function BorderSideRow({
|
|
|
25063
25244
|
disabled: !canEdit,
|
|
25064
25245
|
value: state.dash,
|
|
25065
25246
|
onChange: (e) => onEdit({ kind: "borderDash", side, dash: e.target.value }),
|
|
25066
|
-
className:
|
|
25247
|
+
className: INPUT2,
|
|
25067
25248
|
children: TABLE_STYLE_DASH_PRESETS.map((dash) => /* @__PURE__ */ jsx("option", { value: dash, children: dash }, dash))
|
|
25068
25249
|
}
|
|
25069
25250
|
),
|
|
@@ -25130,10 +25311,10 @@ function TableStyleEditor({
|
|
|
25130
25311
|
onDeleteStyle(entry.styleId);
|
|
25131
25312
|
onClose();
|
|
25132
25313
|
}
|
|
25133
|
-
return /* @__PURE__ */ jsxs("div", { className:
|
|
25314
|
+
return /* @__PURE__ */ jsxs("div", { className: CARD2, "data-testid": "table-style-editor", children: [
|
|
25134
25315
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between", children: [
|
|
25135
|
-
/* @__PURE__ */ jsx("div", { className:
|
|
25136
|
-
/* @__PURE__ */ jsx("button", { type: "button", className:
|
|
25316
|
+
/* @__PURE__ */ jsx("div", { className: HEADING2, children: t("pptx.tableStyleEditor.title") }),
|
|
25317
|
+
/* @__PURE__ */ jsx("button", { type: "button", className: BTN2, onClick: onClose, children: t("pptx.tableStyleEditor.close") })
|
|
25137
25318
|
] }),
|
|
25138
25319
|
!entry && /* @__PURE__ */ jsx("div", { className: "text-[11px] text-muted-foreground", children: t("pptx.tableStyleEditor.noStyleSelected") }),
|
|
25139
25320
|
entry && /* @__PURE__ */ jsx("div", { className: "flex flex-wrap gap-1", children: TABLE_STYLE_EDITOR_PARTS.map((part) => /* @__PURE__ */ jsx(
|
|
@@ -25141,7 +25322,7 @@ function TableStyleEditor({
|
|
|
25141
25322
|
{
|
|
25142
25323
|
type: "button",
|
|
25143
25324
|
disabled: !canEdit,
|
|
25144
|
-
className: `${
|
|
25325
|
+
className: `${BTN2} ${selectedPart === part.id ? "bg-accent" : ""}`,
|
|
25145
25326
|
onClick: () => setSelectedPart(part.id),
|
|
25146
25327
|
children: t(part.labelKey)
|
|
25147
25328
|
},
|
|
@@ -25149,8 +25330,8 @@ function TableStyleEditor({
|
|
|
25149
25330
|
)) }),
|
|
25150
25331
|
descriptor && /* @__PURE__ */ jsx(TableStyleEditorFields, { descriptor, canEdit, onEdit: edit }),
|
|
25151
25332
|
/* @__PURE__ */ jsxs("div", { className: "flex gap-1.5 pt-1 border-t border-border", children: [
|
|
25152
|
-
/* @__PURE__ */ jsx("button", { type: "button", className:
|
|
25153
|
-
entry && /* @__PURE__ */ jsx("button", { type: "button", className:
|
|
25333
|
+
/* @__PURE__ */ jsx("button", { type: "button", className: BTN2, disabled: !canEdit, onClick: createFromCurrent, children: entry ? t("pptx.tableStyleEditor.newFromCurrent") : t("pptx.tableStyleEditor.newStyle") }),
|
|
25334
|
+
entry && /* @__PURE__ */ jsx("button", { type: "button", className: BTN2, disabled: !canEdit, onClick: handleDelete, children: t("pptx.tableStyleEditor.deleteStyle") })
|
|
25154
25335
|
] })
|
|
25155
25336
|
] });
|
|
25156
25337
|
}
|
|
@@ -25186,8 +25367,8 @@ function TablePropertiesPanel({
|
|
|
25186
25367
|
onUpdateElement(updates);
|
|
25187
25368
|
};
|
|
25188
25369
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
25189
|
-
/* @__PURE__ */ jsxs("div", { className:
|
|
25190
|
-
/* @__PURE__ */ jsx("div", { className:
|
|
25370
|
+
/* @__PURE__ */ jsxs("div", { className: CARD2, children: [
|
|
25371
|
+
/* @__PURE__ */ jsx("div", { className: HEADING2, children: t("pptx.table.title") }),
|
|
25191
25372
|
/* @__PURE__ */ jsx("div", { className: "text-[11px] text-muted-foreground mb-2", children: t("pptx.table.rowsColumns", { rows: rowCount, cols: colCount }) }),
|
|
25192
25373
|
/* @__PURE__ */ jsx("div", { className: "space-y-1", children: [
|
|
25193
25374
|
["bandedRows", "pptx.table.bandedRows"],
|
|
@@ -25244,8 +25425,8 @@ function TablePropertiesPanel({
|
|
|
25244
25425
|
)
|
|
25245
25426
|
] })
|
|
25246
25427
|
] }),
|
|
25247
|
-
/* @__PURE__ */ jsxs("div", { className:
|
|
25248
|
-
/* @__PURE__ */ jsx("div", { className:
|
|
25428
|
+
/* @__PURE__ */ jsxs("div", { className: CARD2, children: [
|
|
25429
|
+
/* @__PURE__ */ jsx("div", { className: HEADING2, children: t("pptx.table.stylePresets") }),
|
|
25249
25430
|
/* @__PURE__ */ jsx("div", { className: "grid grid-cols-3 gap-1.5", children: TABLE_STYLE_PRESETS.map((preset) => /* @__PURE__ */ jsx(
|
|
25250
25431
|
"button",
|
|
25251
25432
|
{
|
|
@@ -25269,7 +25450,7 @@ function TablePropertiesPanel({
|
|
|
25269
25450
|
"button",
|
|
25270
25451
|
{
|
|
25271
25452
|
type: "button",
|
|
25272
|
-
className: `${
|
|
25453
|
+
className: `${BTN2} mt-1.5`,
|
|
25273
25454
|
disabled: !canEdit,
|
|
25274
25455
|
onClick: () => setShowStyleEditor((v) => !v),
|
|
25275
25456
|
children: t("pptx.tableStyleEditor.editButton")
|
|
@@ -25288,14 +25469,14 @@ function TablePropertiesPanel({
|
|
|
25288
25469
|
onClose: () => setShowStyleEditor(false)
|
|
25289
25470
|
}
|
|
25290
25471
|
),
|
|
25291
|
-
/* @__PURE__ */ jsxs("div", { className:
|
|
25472
|
+
/* @__PURE__ */ jsxs("div", { className: CARD2, children: [
|
|
25292
25473
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between mb-1", children: [
|
|
25293
|
-
/* @__PURE__ */ jsx("div", { className:
|
|
25474
|
+
/* @__PURE__ */ jsx("div", { className: HEADING2, children: t("pptx.table.columnWidths") }),
|
|
25294
25475
|
/* @__PURE__ */ jsx(
|
|
25295
25476
|
"button",
|
|
25296
25477
|
{
|
|
25297
25478
|
type: "button",
|
|
25298
|
-
className:
|
|
25479
|
+
className: BTN2,
|
|
25299
25480
|
disabled: !canEdit,
|
|
25300
25481
|
onClick: () => {
|
|
25301
25482
|
updateTableData({ columnWidths: evenColumnWidths(colCount) });
|
|
@@ -25329,14 +25510,14 @@ function TablePropertiesPanel({
|
|
|
25329
25510
|
] })
|
|
25330
25511
|
] }, ci)) })
|
|
25331
25512
|
] }),
|
|
25332
|
-
/* @__PURE__ */ jsxs("div", { className:
|
|
25513
|
+
/* @__PURE__ */ jsxs("div", { className: CARD2, children: [
|
|
25333
25514
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between mb-1", children: [
|
|
25334
|
-
/* @__PURE__ */ jsx("div", { className:
|
|
25515
|
+
/* @__PURE__ */ jsx("div", { className: HEADING2, children: t("pptx.table.rowHeights") }),
|
|
25335
25516
|
/* @__PURE__ */ jsx(
|
|
25336
25517
|
"button",
|
|
25337
25518
|
{
|
|
25338
25519
|
type: "button",
|
|
25339
|
-
className:
|
|
25520
|
+
className: BTN2,
|
|
25340
25521
|
disabled: !canEdit,
|
|
25341
25522
|
onClick: () => {
|
|
25342
25523
|
updateTableData({ rows: evenRowHeights(td.rows) });
|
|
@@ -25352,7 +25533,7 @@ function TablePropertiesPanel({
|
|
|
25352
25533
|
{
|
|
25353
25534
|
type: "number",
|
|
25354
25535
|
disabled: !canEdit,
|
|
25355
|
-
className:
|
|
25536
|
+
className: INPUT2,
|
|
25356
25537
|
min: 16,
|
|
25357
25538
|
max: 500,
|
|
25358
25539
|
value: row.height ?? 32,
|
|
@@ -25403,9 +25584,9 @@ function ElementInspectorBody({
|
|
|
25403
25584
|
onUpdateElement({ locks: elementLockTogglePatch(!isLocked) });
|
|
25404
25585
|
};
|
|
25405
25586
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
25406
|
-
/* @__PURE__ */ jsxs("div", { className:
|
|
25587
|
+
/* @__PURE__ */ jsxs("div", { className: CARD2, children: [
|
|
25407
25588
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between", children: [
|
|
25408
|
-
/* @__PURE__ */ jsx("div", { className:
|
|
25589
|
+
/* @__PURE__ */ jsx("div", { className: HEADING2, children: t("pptx.inspector.element") }),
|
|
25409
25590
|
/* @__PURE__ */ jsx(
|
|
25410
25591
|
"button",
|
|
25411
25592
|
{
|
|
@@ -25425,7 +25606,7 @@ function ElementInspectorBody({
|
|
|
25425
25606
|
"input",
|
|
25426
25607
|
{
|
|
25427
25608
|
type: "number",
|
|
25428
|
-
className:
|
|
25609
|
+
className: INPUT2,
|
|
25429
25610
|
disabled: !canEdit,
|
|
25430
25611
|
value: Math.round(selectedElement[key] ?? 0),
|
|
25431
25612
|
onChange: (e) => onUpdateElement({
|
|
@@ -26065,13 +26246,13 @@ function InspectorElementsTab({
|
|
|
26065
26246
|
};
|
|
26066
26247
|
if (!activeSlide) {
|
|
26067
26248
|
return /* @__PURE__ */ jsxs("div", { className: "space-y-1", children: [
|
|
26068
|
-
/* @__PURE__ */ jsx("div", { className: cn(
|
|
26249
|
+
/* @__PURE__ */ jsx("div", { className: cn(HEADING2, "mb-2"), children: t("pptx.inspector.layerOrder") }),
|
|
26069
26250
|
/* @__PURE__ */ jsx("div", { className: "text-muted-foreground italic", children: t("pptx.inspector.noSlideSelected") })
|
|
26070
26251
|
] });
|
|
26071
26252
|
}
|
|
26072
26253
|
const elements = activeSlide.elements || [];
|
|
26073
26254
|
return /* @__PURE__ */ jsxs("div", { className: "space-y-1", "data-pptx-elements-tab": true, children: [
|
|
26074
|
-
/* @__PURE__ */ jsx("div", { className: cn(
|
|
26255
|
+
/* @__PURE__ */ jsx("div", { className: cn(HEADING2, "mb-2"), children: t("pptx.inspector.layerOrder") }),
|
|
26075
26256
|
[...elements].reverse().map((el, reversedIndex) => {
|
|
26076
26257
|
const index = elements.length - 1 - reversedIndex;
|
|
26077
26258
|
const selected = selectedElementId === el.id || selectedElementIds.includes(el.id);
|
|
@@ -26169,7 +26350,7 @@ function TextFieldRow({
|
|
|
26169
26350
|
"input",
|
|
26170
26351
|
{
|
|
26171
26352
|
type: "text",
|
|
26172
|
-
className:
|
|
26353
|
+
className: INPUT2,
|
|
26173
26354
|
disabled,
|
|
26174
26355
|
value,
|
|
26175
26356
|
onChange: (e) => onChange(e.target.value)
|
|
@@ -26190,7 +26371,7 @@ function CustomPropertiesBlock({
|
|
|
26190
26371
|
"button",
|
|
26191
26372
|
{
|
|
26192
26373
|
type: "button",
|
|
26193
|
-
className:
|
|
26374
|
+
className: BTN2,
|
|
26194
26375
|
onClick: () => onUpdate([
|
|
26195
26376
|
...customProperties,
|
|
26196
26377
|
{
|
|
@@ -26208,7 +26389,7 @@ function CustomPropertiesBlock({
|
|
|
26208
26389
|
"input",
|
|
26209
26390
|
{
|
|
26210
26391
|
type: "text",
|
|
26211
|
-
className:
|
|
26392
|
+
className: INPUT2,
|
|
26212
26393
|
disabled: !canEdit,
|
|
26213
26394
|
value: entry.name,
|
|
26214
26395
|
onChange: (e) => onUpdate(
|
|
@@ -26222,7 +26403,7 @@ function CustomPropertiesBlock({
|
|
|
26222
26403
|
"input",
|
|
26223
26404
|
{
|
|
26224
26405
|
type: "text",
|
|
26225
|
-
className:
|
|
26406
|
+
className: INPUT2,
|
|
26226
26407
|
disabled: !canEdit,
|
|
26227
26408
|
value: entry.value,
|
|
26228
26409
|
onChange: (e) => onUpdate(
|
|
@@ -26236,7 +26417,7 @@ function CustomPropertiesBlock({
|
|
|
26236
26417
|
"button",
|
|
26237
26418
|
{
|
|
26238
26419
|
type: "button",
|
|
26239
|
-
className: cn(
|
|
26420
|
+
className: cn(BTN2, "px-1.5 text-red-400 hover:text-red-300"),
|
|
26240
26421
|
onClick: () => onUpdate(customProperties.filter((_, i) => i !== index)),
|
|
26241
26422
|
children: "\xD7"
|
|
26242
26423
|
}
|
|
@@ -26250,8 +26431,8 @@ function NotesHandoutCard({
|
|
|
26250
26431
|
handoutMaster
|
|
26251
26432
|
}) {
|
|
26252
26433
|
const { t } = useTranslation();
|
|
26253
|
-
return /* @__PURE__ */ jsxs("div", { className:
|
|
26254
|
-
/* @__PURE__ */ jsx("div", { className:
|
|
26434
|
+
return /* @__PURE__ */ jsxs("div", { className: CARD2, children: [
|
|
26435
|
+
/* @__PURE__ */ jsx("div", { className: HEADING2, children: t("pptx.documentProperties.notesHandoutHeading") }),
|
|
26255
26436
|
/* @__PURE__ */ jsxs("div", { className: "space-y-1 text-[11px] text-muted-foreground", children: [
|
|
26256
26437
|
/* @__PURE__ */ jsx(
|
|
26257
26438
|
InfoRow,
|
|
@@ -26287,8 +26468,8 @@ function DocumentPropertiesCard({
|
|
|
26287
26468
|
onUpdateCustomProperties
|
|
26288
26469
|
}) {
|
|
26289
26470
|
const { t } = useTranslation();
|
|
26290
|
-
return /* @__PURE__ */ jsxs("div", { className:
|
|
26291
|
-
/* @__PURE__ */ jsx("div", { className:
|
|
26471
|
+
return /* @__PURE__ */ jsxs("div", { className: CARD2, children: [
|
|
26472
|
+
/* @__PURE__ */ jsx("div", { className: HEADING2, children: t("pptx.documentProperties.documentHeading") }),
|
|
26292
26473
|
/* @__PURE__ */ jsxs("div", { className: "space-y-2 text-[11px] text-muted-foreground", children: [
|
|
26293
26474
|
/* @__PURE__ */ jsx(
|
|
26294
26475
|
TextFieldRow,
|
|
@@ -26410,8 +26591,8 @@ function SlideSizeCard({
|
|
|
26410
26591
|
onUpdateSlideSize?.(pendingSize, mode);
|
|
26411
26592
|
setPendingSize(null);
|
|
26412
26593
|
};
|
|
26413
|
-
return /* @__PURE__ */ jsxs("div", { className:
|
|
26414
|
-
/* @__PURE__ */ jsx("div", { className:
|
|
26594
|
+
return /* @__PURE__ */ jsxs("div", { className: CARD2, children: [
|
|
26595
|
+
/* @__PURE__ */ jsx("div", { className: HEADING2, children: t("pptx.slideSize.title") }),
|
|
26415
26596
|
/* @__PURE__ */ jsxs("div", { className: "space-y-1.5 text-[11px]", children: [
|
|
26416
26597
|
/* @__PURE__ */ jsxs("label", { className: "flex flex-col gap-1", children: [
|
|
26417
26598
|
/* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: t("pptx.slideSize.presets") }),
|
|
@@ -26421,7 +26602,7 @@ function SlideSizeCard({
|
|
|
26421
26602
|
"aria-label": t("pptx.slideSize.presets"),
|
|
26422
26603
|
"data-pptx-slide-size-preset": true,
|
|
26423
26604
|
disabled: presetDisabled,
|
|
26424
|
-
className:
|
|
26605
|
+
className: INPUT2,
|
|
26425
26606
|
value: selection.preset?.labelKey ?? CUSTOM_PRESET_VALUE,
|
|
26426
26607
|
onChange: (e) => handlePreset(e.target.value),
|
|
26427
26608
|
children: [
|
|
@@ -26439,7 +26620,7 @@ function SlideSizeCard({
|
|
|
26439
26620
|
"aria-label": t("pptx.slideSize.orientation"),
|
|
26440
26621
|
"data-pptx-slide-size-orientation": true,
|
|
26441
26622
|
disabled: presetDisabled,
|
|
26442
|
-
className:
|
|
26623
|
+
className: INPUT2,
|
|
26443
26624
|
value: selection.orientation,
|
|
26444
26625
|
onChange: (e) => handleOrientation(e.target.value),
|
|
26445
26626
|
children: [
|
|
@@ -26458,7 +26639,7 @@ function SlideSizeCard({
|
|
|
26458
26639
|
"input",
|
|
26459
26640
|
{
|
|
26460
26641
|
type: "number",
|
|
26461
|
-
className:
|
|
26642
|
+
className: INPUT2,
|
|
26462
26643
|
disabled: !canEdit,
|
|
26463
26644
|
value: canvasSize[key],
|
|
26464
26645
|
onChange: (e) => onUpdate({ ...canvasSize, [key]: Number(e.target.value) })
|
|
@@ -26494,8 +26675,8 @@ function PresentationSettingsCard({
|
|
|
26494
26675
|
onUpdate
|
|
26495
26676
|
}) {
|
|
26496
26677
|
const { t } = useTranslation();
|
|
26497
|
-
return /* @__PURE__ */ jsxs("div", { className:
|
|
26498
|
-
/* @__PURE__ */ jsx("div", { className:
|
|
26678
|
+
return /* @__PURE__ */ jsxs("div", { className: CARD2, children: [
|
|
26679
|
+
/* @__PURE__ */ jsx("div", { className: HEADING2, children: t("pptx.slideInspector.presentation") }),
|
|
26499
26680
|
/* @__PURE__ */ jsxs("div", { className: "space-y-1.5 text-[11px]", children: [
|
|
26500
26681
|
/* @__PURE__ */ jsxs("label", { className: "flex items-center justify-between gap-2", children: [
|
|
26501
26682
|
/* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: t("pptx.presentationSettings.showType") }),
|
|
@@ -26504,7 +26685,7 @@ function PresentationSettingsCard({
|
|
|
26504
26685
|
{
|
|
26505
26686
|
"aria-label": t("pptx.presentationSettings.showType"),
|
|
26506
26687
|
disabled: !canEdit,
|
|
26507
|
-
className: cn(
|
|
26688
|
+
className: cn(INPUT2, "w-28"),
|
|
26508
26689
|
value: presentationProperties.showType ?? "presented",
|
|
26509
26690
|
onChange: (e) => onUpdate({
|
|
26510
26691
|
showType: e.target.value
|
|
@@ -26564,7 +26745,7 @@ function PresentationSettingsCard({
|
|
|
26564
26745
|
min: 1,
|
|
26565
26746
|
max: 16,
|
|
26566
26747
|
disabled: !canEdit,
|
|
26567
|
-
className: cn(
|
|
26748
|
+
className: cn(INPUT2, "w-20"),
|
|
26568
26749
|
value: printPropertiesSlidesPerPage(presentationProperties.printProperties),
|
|
26569
26750
|
onChange: (e) => onUpdate({
|
|
26570
26751
|
printProperties: withSlidesPerPage(
|
|
@@ -26586,8 +26767,8 @@ function ThemeSelectorCard({
|
|
|
26586
26767
|
onApplyTheme
|
|
26587
26768
|
}) {
|
|
26588
26769
|
const { t } = useTranslation();
|
|
26589
|
-
return /* @__PURE__ */ jsxs("div", { className:
|
|
26590
|
-
/* @__PURE__ */ jsx("div", { className:
|
|
26770
|
+
return /* @__PURE__ */ jsxs("div", { className: CARD2, children: [
|
|
26771
|
+
/* @__PURE__ */ jsx("div", { className: HEADING2, children: t("pptx.documentProperties.themeHeading") }),
|
|
26591
26772
|
/* @__PURE__ */ jsxs("div", { className: "space-y-2 text-[11px]", children: [
|
|
26592
26773
|
/* @__PURE__ */ jsxs("label", { className: "flex flex-col gap-1", children: [
|
|
26593
26774
|
/* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: t("pptx.documentProperties.themeHeading") }),
|
|
@@ -26596,7 +26777,7 @@ function ThemeSelectorCard({
|
|
|
26596
26777
|
{
|
|
26597
26778
|
"aria-label": t("pptx.documentProperties.themeHeading"),
|
|
26598
26779
|
disabled: themeOptions.length === 0,
|
|
26599
|
-
className:
|
|
26780
|
+
className: INPUT2,
|
|
26600
26781
|
value: selectedThemePath,
|
|
26601
26782
|
onChange: (e) => setSelectedThemePath(e.target.value),
|
|
26602
26783
|
children: themeOptions.length === 0 ? /* @__PURE__ */ jsx("option", { value: "", children: t("pptx.documentProperties.noThemesOption") }) : themeOptions.map((opt) => /* @__PURE__ */ jsx("option", { value: opt.path, children: opt.name || opt.path.split("/").pop() }, opt.path))
|
|
@@ -26608,7 +26789,7 @@ function ThemeSelectorCard({
|
|
|
26608
26789
|
"button",
|
|
26609
26790
|
{
|
|
26610
26791
|
type: "button",
|
|
26611
|
-
className:
|
|
26792
|
+
className: BTN2,
|
|
26612
26793
|
disabled: !canEdit || !selectedThemePath,
|
|
26613
26794
|
onClick: () => onApplyTheme(selectedThemePath, false),
|
|
26614
26795
|
children: t("pptx.documentProperties.applyFirstMaster")
|
|
@@ -26618,7 +26799,7 @@ function ThemeSelectorCard({
|
|
|
26618
26799
|
"button",
|
|
26619
26800
|
{
|
|
26620
26801
|
type: "button",
|
|
26621
|
-
className:
|
|
26802
|
+
className: BTN2,
|
|
26622
26803
|
disabled: !canEdit || !selectedThemePath,
|
|
26623
26804
|
onClick: () => onApplyTheme(selectedThemePath, true),
|
|
26624
26805
|
children: t("pptx.documentProperties.applyAllMasters")
|
|
@@ -27057,7 +27238,7 @@ function TagsSection({
|
|
|
27057
27238
|
const addTag = () => {
|
|
27058
27239
|
onUpdateTagCollections(addTagToCollections(tagCollections));
|
|
27059
27240
|
};
|
|
27060
|
-
return /* @__PURE__ */ jsxs("div", { className:
|
|
27241
|
+
return /* @__PURE__ */ jsxs("div", { className: CARD2, children: [
|
|
27061
27242
|
/* @__PURE__ */ jsxs(
|
|
27062
27243
|
"button",
|
|
27063
27244
|
{
|
|
@@ -27066,7 +27247,7 @@ function TagsSection({
|
|
|
27066
27247
|
onClick: () => setCollapsed(!collapsed),
|
|
27067
27248
|
children: [
|
|
27068
27249
|
collapsed ? /* @__PURE__ */ jsx(LuChevronRight, { className: "w-3 h-3 text-muted-foreground" }) : /* @__PURE__ */ jsx(LuChevronDown, { className: "w-3 h-3 text-muted-foreground" }),
|
|
27069
|
-
/* @__PURE__ */ jsx("span", { className:
|
|
27250
|
+
/* @__PURE__ */ jsx("span", { className: HEADING2, children: t("pptx.tags.title") }),
|
|
27070
27251
|
/* @__PURE__ */ jsx("span", { className: "ml-auto text-[10px] text-muted-foreground", children: allTags.length })
|
|
27071
27252
|
]
|
|
27072
27253
|
}
|
|
@@ -27081,7 +27262,7 @@ function TagsSection({
|
|
|
27081
27262
|
"input",
|
|
27082
27263
|
{
|
|
27083
27264
|
type: "text",
|
|
27084
|
-
className:
|
|
27265
|
+
className: INPUT2,
|
|
27085
27266
|
disabled: !canEdit,
|
|
27086
27267
|
placeholder: t("pptx.tags.name"),
|
|
27087
27268
|
value: tag.name,
|
|
@@ -27092,7 +27273,7 @@ function TagsSection({
|
|
|
27092
27273
|
"input",
|
|
27093
27274
|
{
|
|
27094
27275
|
type: "text",
|
|
27095
|
-
className:
|
|
27276
|
+
className: INPUT2,
|
|
27096
27277
|
disabled: !canEdit,
|
|
27097
27278
|
placeholder: t("pptx.tags.value"),
|
|
27098
27279
|
value: tag.value,
|
|
@@ -27103,7 +27284,7 @@ function TagsSection({
|
|
|
27103
27284
|
"button",
|
|
27104
27285
|
{
|
|
27105
27286
|
type: "button",
|
|
27106
|
-
className: cn(
|
|
27287
|
+
className: cn(BTN2, "px-1.5 text-red-400 hover:text-red-300"),
|
|
27107
27288
|
title: t("pptx.tags.deleteTag"),
|
|
27108
27289
|
onClick: () => deleteTag(tag.colIdx, tag.tagIdx),
|
|
27109
27290
|
children: /* @__PURE__ */ jsx(LuTrash2, { className: "w-3 h-3" })
|
|
@@ -27113,7 +27294,7 @@ function TagsSection({
|
|
|
27113
27294
|
},
|
|
27114
27295
|
`${tag.colIdx}-${tag.tagIdx}-${idx}`
|
|
27115
27296
|
)),
|
|
27116
|
-
canEdit && /* @__PURE__ */ jsx("button", { type: "button", className:
|
|
27297
|
+
canEdit && /* @__PURE__ */ jsx("button", { type: "button", className: BTN2, onClick: addTag, children: t("pptx.tags.addTag") })
|
|
27117
27298
|
] })
|
|
27118
27299
|
] });
|
|
27119
27300
|
}
|
|
@@ -27173,8 +27354,8 @@ function PresentationPropertiesPanel({
|
|
|
27173
27354
|
onApplyTheme
|
|
27174
27355
|
}
|
|
27175
27356
|
),
|
|
27176
|
-
/* @__PURE__ */ jsxs("div", { className:
|
|
27177
|
-
/* @__PURE__ */ jsx("div", { className:
|
|
27357
|
+
/* @__PURE__ */ jsxs("div", { className: CARD2, children: [
|
|
27358
|
+
/* @__PURE__ */ jsx("div", { className: HEADING2, children: t("pptx.themeOverride.heading") }),
|
|
27178
27359
|
/* @__PURE__ */ jsx(
|
|
27179
27360
|
SlideThemeOverridePanel,
|
|
27180
27361
|
{
|
|
@@ -27232,8 +27413,8 @@ function PresentationPropertiesPanel({
|
|
|
27232
27413
|
canEdit
|
|
27233
27414
|
}
|
|
27234
27415
|
),
|
|
27235
|
-
activeSlide && /* @__PURE__ */ jsxs("div", { className: cn(
|
|
27236
|
-
/* @__PURE__ */ jsx("div", { className:
|
|
27416
|
+
activeSlide && /* @__PURE__ */ jsxs("div", { className: cn(CARD2, "space-y-1"), children: [
|
|
27417
|
+
/* @__PURE__ */ jsx("div", { className: HEADING2, children: "Slide" }),
|
|
27237
27418
|
/* @__PURE__ */ jsxs("div", { className: "text-[11px] text-muted-foreground", children: [
|
|
27238
27419
|
activeSlide.elements?.length ?? 0,
|
|
27239
27420
|
" elements"
|
|
@@ -27253,8 +27434,8 @@ function SlideBackgroundPanel({
|
|
|
27253
27434
|
const { t } = useTranslation();
|
|
27254
27435
|
const bgImageInputRef = useRef(null);
|
|
27255
27436
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
27256
|
-
/* @__PURE__ */ jsxs("div", { className: cn(
|
|
27257
|
-
/* @__PURE__ */ jsx("div", { className:
|
|
27437
|
+
/* @__PURE__ */ jsxs("div", { className: cn(CARD2, "space-y-2"), children: [
|
|
27438
|
+
/* @__PURE__ */ jsx("div", { className: HEADING2, children: t("pptx.viewer.background") }),
|
|
27258
27439
|
/* @__PURE__ */ jsxs("label", { className: "flex items-center gap-2 text-[11px]", children: [
|
|
27259
27440
|
/* @__PURE__ */ jsx("span", { className: "text-muted-foreground w-10 shrink-0", children: t("pptx.slideBackground.colour") }),
|
|
27260
27441
|
/* @__PURE__ */ jsx(
|
|
@@ -27299,7 +27480,7 @@ function SlideBackgroundPanel({
|
|
|
27299
27480
|
"button",
|
|
27300
27481
|
{
|
|
27301
27482
|
type: "button",
|
|
27302
|
-
className: cn(
|
|
27483
|
+
className: cn(BTN2, "flex-1 text-center"),
|
|
27303
27484
|
disabled: !canEdit,
|
|
27304
27485
|
onClick: () => bgImageInputRef.current?.click(),
|
|
27305
27486
|
children: activeSlide.backgroundImage ? t("pptx.slideBackground.replaceImage") : t("pptx.slideBackground.chooseImage")
|
|
@@ -27332,7 +27513,7 @@ function SlideBackgroundPanel({
|
|
|
27332
27513
|
"button",
|
|
27333
27514
|
{
|
|
27334
27515
|
type: "button",
|
|
27335
|
-
className: cn(
|
|
27516
|
+
className: cn(BTN2, "w-full text-center text-red-400 hover:text-red-300"),
|
|
27336
27517
|
disabled: !canEdit,
|
|
27337
27518
|
onClick: () => onUpdateSlide({
|
|
27338
27519
|
backgroundColor: void 0,
|
|
@@ -27381,8 +27562,8 @@ function TemplateBackgroundCard({
|
|
|
27381
27562
|
t("pptx.master.layout"),
|
|
27382
27563
|
t("pptx.master.master")
|
|
27383
27564
|
);
|
|
27384
|
-
return /* @__PURE__ */ jsxs("div", { className: cn(
|
|
27385
|
-
/* @__PURE__ */ jsx("div", { className:
|
|
27565
|
+
return /* @__PURE__ */ jsxs("div", { className: cn(CARD2, "space-y-2"), children: [
|
|
27566
|
+
/* @__PURE__ */ jsx("div", { className: HEADING2, children: t("pptx.slideBackground.templateBackgroundsHeading") }),
|
|
27386
27567
|
rows.layout && /* @__PURE__ */ jsxs("label", { className: "flex items-center gap-2 text-[11px]", children: [
|
|
27387
27568
|
/* @__PURE__ */ jsx("span", { className: "text-muted-foreground w-14 shrink-0 truncate", title: rows.layout.title, children: t("pptx.master.layout") }),
|
|
27388
27569
|
/* @__PURE__ */ jsx(
|
|
@@ -32795,7 +32976,7 @@ function useTableStyleMapHandlers(input) {
|
|
|
32795
32976
|
var AiChatPanel = lazy(async () => {
|
|
32796
32977
|
const [{ useChat }, { default: Panel }] = await Promise.all([
|
|
32797
32978
|
import('@ai-sdk/react'),
|
|
32798
|
-
import('./AiChatPanel-
|
|
32979
|
+
import('./AiChatPanel-OXCJVBUS.mjs')
|
|
32799
32980
|
]);
|
|
32800
32981
|
function BoundAiChatPanel(props) {
|
|
32801
32982
|
return /* @__PURE__ */ jsx(Panel, { ...props, useChat });
|