pptx-react-viewer 2.22.0 → 3.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +60 -0
- package/dist/{AiChatPanel-KDHDYBMP.mjs → AiChatPanel-DMBQPAGB.mjs} +3 -3
- package/dist/AiChatPanel-DMBQPAGB.mjs.br +0 -0
- package/dist/AiChatPanel-DMBQPAGB.mjs.gz +0 -0
- package/dist/{AiChatPanel-WVRT4OLF.js → AiChatPanel-NLIUZ5RI.js} +23 -23
- package/dist/AiChatPanel-NLIUZ5RI.js.br +0 -0
- package/dist/AiChatPanel-NLIUZ5RI.js.gz +0 -0
- package/dist/{Model3DScene-COI2CG35.js → Model3DScene-JNZN42TU.js} +2 -2
- package/dist/Model3DScene-JNZN42TU.js.br +0 -0
- package/dist/Model3DScene-JNZN42TU.js.gz +0 -0
- package/dist/{Model3DScene-I5SQKIZC.mjs → Model3DScene-ZO6U7YVU.mjs} +1 -1
- package/dist/Model3DScene-ZO6U7YVU.mjs.br +0 -0
- package/dist/Model3DScene-ZO6U7YVU.mjs.gz +0 -0
- package/dist/{SurfaceChart3DScene-6LTF5QPW.mjs → SurfaceChart3DScene-P6CVRWDQ.mjs} +1 -1
- package/dist/SurfaceChart3DScene-P6CVRWDQ.mjs.br +0 -0
- package/dist/SurfaceChart3DScene-P6CVRWDQ.mjs.gz +0 -0
- package/dist/{SurfaceChart3DScene-2N4TPYPU.js → SurfaceChart3DScene-PGD4ZCLI.js} +2 -2
- package/dist/SurfaceChart3DScene-PGD4ZCLI.js.br +0 -0
- package/dist/SurfaceChart3DScene-PGD4ZCLI.js.gz +0 -0
- package/dist/{chunk-YNHWNFE3.js → chunk-3MW6F3K7.js} +451 -399
- package/dist/chunk-3MW6F3K7.js.br +0 -0
- package/dist/chunk-3MW6F3K7.js.gz +0 -0
- package/dist/{chunk-KK6DOUES.js → chunk-54SDLPJY.js} +1275 -1248
- package/dist/chunk-54SDLPJY.js.br +0 -0
- package/dist/chunk-54SDLPJY.js.gz +0 -0
- package/dist/{chunk-TWU72BY4.mjs → chunk-BGAJLL4N.mjs} +70 -18
- package/dist/chunk-BGAJLL4N.mjs.br +0 -0
- package/dist/chunk-BGAJLL4N.mjs.gz +0 -0
- package/dist/{chunk-RJFKXPMU.mjs → chunk-OB4PKKIN.mjs} +1 -1
- package/dist/chunk-OB4PKKIN.mjs.br +0 -0
- package/dist/chunk-OB4PKKIN.mjs.gz +0 -0
- package/dist/{chunk-57TM4MV4.mjs → chunk-OXPD2UYI.mjs} +13085 -6709
- package/dist/chunk-OXPD2UYI.mjs.br +0 -0
- package/dist/chunk-OXPD2UYI.mjs.gz +0 -0
- package/dist/{chunk-7BZYDUNM.mjs → chunk-S6PFSR7I.mjs} +108 -255
- package/dist/chunk-S6PFSR7I.mjs.br +0 -0
- package/dist/chunk-S6PFSR7I.mjs.gz +0 -0
- package/dist/{chunk-34UAGEJM.js → chunk-SDOQKSKI.js} +13103 -6715
- package/dist/chunk-SDOQKSKI.js.br +0 -0
- package/dist/chunk-SDOQKSKI.js.gz +0 -0
- package/dist/{chunk-XIBTR7KJ.mjs → chunk-VGHEHM66.mjs} +254 -227
- package/dist/chunk-VGHEHM66.mjs.br +0 -0
- package/dist/chunk-VGHEHM66.mjs.gz +0 -0
- package/dist/{chunk-POP5IWYB.js → chunk-WFMSDYVQ.js} +3 -3
- package/dist/chunk-WFMSDYVQ.js.br +0 -0
- package/dist/chunk-WFMSDYVQ.js.gz +0 -0
- package/dist/{chunk-K7TFZ5MW.js → chunk-XMLPTDPM.js} +248 -396
- package/dist/chunk-XMLPTDPM.js.br +0 -0
- package/dist/chunk-XMLPTDPM.js.gz +0 -0
- package/dist/index.d.ts +475 -19
- package/dist/index.js +45 -45
- package/dist/index.js.br +0 -0
- package/dist/index.js.gz +0 -0
- package/dist/index.mjs +5 -5
- package/dist/index.mjs.br +0 -0
- package/dist/index.mjs.gz +0 -0
- package/dist/internals.d.ts +492 -21
- package/dist/internals.d.ts.map +1 -1
- package/dist/internals.js +78 -78
- package/dist/internals.js.br +0 -0
- package/dist/internals.js.gz +0 -0
- package/dist/internals.mjs +3 -3
- 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 +472 -17
- package/dist/viewer/index.js +26 -26
- package/dist/viewer/index.js.br +0 -0
- package/dist/viewer/index.js.gz +0 -0
- package/dist/viewer/index.mjs +5 -5
- package/dist/viewer/index.mjs.br +0 -0
- package/dist/viewer/index.mjs.gz +0 -0
- package/package.json +2 -2
- package/dist/AiChatPanel-KDHDYBMP.mjs.br +0 -0
- package/dist/AiChatPanel-KDHDYBMP.mjs.gz +0 -0
- package/dist/AiChatPanel-WVRT4OLF.js.br +0 -0
- package/dist/AiChatPanel-WVRT4OLF.js.gz +0 -0
- package/dist/Model3DScene-COI2CG35.js.br +0 -0
- package/dist/Model3DScene-COI2CG35.js.gz +0 -0
- package/dist/Model3DScene-I5SQKIZC.mjs.br +0 -0
- package/dist/Model3DScene-I5SQKIZC.mjs.gz +0 -0
- package/dist/SurfaceChart3DScene-2N4TPYPU.js.br +0 -0
- package/dist/SurfaceChart3DScene-2N4TPYPU.js.gz +0 -0
- package/dist/SurfaceChart3DScene-6LTF5QPW.mjs.br +0 -0
- package/dist/SurfaceChart3DScene-6LTF5QPW.mjs.gz +0 -0
- package/dist/chunk-34UAGEJM.js.br +0 -0
- package/dist/chunk-34UAGEJM.js.gz +0 -0
- package/dist/chunk-57TM4MV4.mjs.br +0 -0
- package/dist/chunk-57TM4MV4.mjs.gz +0 -0
- package/dist/chunk-7BZYDUNM.mjs.br +0 -0
- package/dist/chunk-7BZYDUNM.mjs.gz +0 -0
- package/dist/chunk-K7TFZ5MW.js.br +0 -0
- package/dist/chunk-K7TFZ5MW.js.gz +0 -0
- package/dist/chunk-KK6DOUES.js.br +0 -0
- package/dist/chunk-KK6DOUES.js.gz +0 -0
- package/dist/chunk-POP5IWYB.js.br +0 -0
- package/dist/chunk-POP5IWYB.js.gz +0 -0
- package/dist/chunk-RJFKXPMU.mjs.br +0 -0
- package/dist/chunk-RJFKXPMU.mjs.gz +0 -0
- package/dist/chunk-TWU72BY4.mjs.br +0 -0
- package/dist/chunk-TWU72BY4.mjs.gz +0 -0
- package/dist/chunk-XIBTR7KJ.mjs.br +0 -0
- package/dist/chunk-XIBTR7KJ.mjs.gz +0 -0
- package/dist/chunk-YNHWNFE3.js.br +0 -0
- package/dist/chunk-YNHWNFE3.js.gz +0 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { computeFocusTargets, aiChangeAnimationCss, changeGhostStyle, createChatHistoryStore, toRenderableParts } from './chunk-
|
|
2
|
-
import { useReducedMotion, useViewerState, useViewerOptions, useIsMobile, useResizablePanels, useDerivedSlideState, useZoomViewport, useEditorHistory, usePresentationSetup, useTouchGestures, useViewerDialogs, useEditorOperations, useViewerIntegration, useLayoutSwitching, useYjsDocumentSync, useCollaborationLivePatch, useFollowMode, useBroadcastFollower, scopeLayoutOptionsToActiveSlide, useToolbarVisibility, useKeyboardInsets, useModalDismissDrag, useCollaborativeState, useVirtualizedSlides, useSwipeNavigation, useSheetDismissDrag, detectTargetType, parseEmailUrl, parseSlideFromUrl, ACTION_VERB_MAP } from './chunk-
|
|
3
|
-
import { MIN_ELEMENT_SIZE, DEFAULT_STROKE_COLOR, getConnectorPathGeometry, buildLineShadowCss, buildLineGlowFilter, renderConnectorMarker, getShapeVisualStyle, getTextStyleForElement, DEFAULT_TEXT_COLOR, renderVectorShape, isConnectorOrLineElement, build3DExtrusionData, getImageRenderStyle, cn, getTextLayoutStyle, renderTableElement, renderMediaElement, shouldRenderFallbackLabel, SHAPE_PRESETS, ANIMATION_PRESET_OPTIONS, DEFAULT_FILL_COLOR, hasDagDuotoneEffect, renderDagDuotoneSvgFilter, getCropShapeClipPath, getImageTilingStyle, getDuotoneColors, getTextWarpStyle, renderTextSegments, buildReactChartViewModel, renderChartElement, buildTextBody3DSceneStyle, SLIDE_NAV_THUMBNAIL_WIDTH, DEFAULT_TEXT_FONT_SIZE, DEFAULT_FONT_FAMILY, TOOLBAR_SECTIONS, DEFAULT_SECTION_GROUP_ID, SHORTCUT_REFERENCE_ITEMS as SHORTCUT_REFERENCE_ITEMS$1, HYPERLINK_COLOR, GRID_SIZE, CONNECTOR_ARROW_OPTIONS, ARROW_SIZE_OPTIONS, startMotionPathPreview, startPreviewAnimation, stopPreviewAnimation, THEME_COLOR_SWATCHES, STROKE_DASH_OPTIONS } from './chunk-
|
|
1
|
+
import { computeFocusTargets, aiChangeAnimationCss, changeGhostStyle, createChatHistoryStore, toRenderableParts } from './chunk-OB4PKKIN.mjs';
|
|
2
|
+
import { useReducedMotion, useViewerState, useViewerOptions, useIsMobile, useResizablePanels, useDerivedSlideState, useZoomViewport, useEditorHistory, usePresentationSetup, useTouchGestures, useViewerDialogs, useEditorOperations, useViewerIntegration, useLayoutSwitching, useYjsDocumentSync, useCollaborationLivePatch, useFollowMode, useBroadcastFollower, scopeLayoutOptionsToActiveSlide, useToolbarVisibility, useKeyboardInsets, useModalDismissDrag, useCollaborativeState, useVirtualizedSlides, useSwipeNavigation, useSheetDismissDrag, detectTargetType, parseEmailUrl, parseSlideFromUrl, ACTION_VERB_MAP } from './chunk-BGAJLL4N.mjs';
|
|
3
|
+
import { MIN_ELEMENT_SIZE, DEFAULT_STROKE_COLOR, getConnectorPathGeometry, buildLineShadowCss, buildLineGlowFilter, renderConnectorMarker, getShapeVisualStyle, getTextStyleForElement, DEFAULT_TEXT_COLOR, renderVectorShape, isConnectorOrLineElement, build3DExtrusionData, getImageRenderStyle, cn, getTextLayoutStyle, renderTableElement, renderMediaElement, shouldRenderFallbackLabel, SHAPE_PRESETS, ANIMATION_PRESET_OPTIONS, DEFAULT_FILL_COLOR, hasDagDuotoneEffect, renderDagDuotoneSvgFilter, getCropShapeClipPath, getImageTilingStyle, getDuotoneColors, getTextWarpStyle, renderTextSegments, buildReactChartViewModel, renderChartElement, buildTextBody3DSceneStyle, SLIDE_NAV_THUMBNAIL_WIDTH, DEFAULT_TEXT_FONT_SIZE, DEFAULT_FONT_FAMILY, TOOLBAR_SECTIONS, DEFAULT_SECTION_GROUP_ID, SHORTCUT_REFERENCE_ITEMS as SHORTCUT_REFERENCE_ITEMS$1, HYPERLINK_COLOR, GRID_SIZE, CONNECTOR_ARROW_OPTIONS, ARROW_SIZE_OPTIONS, startMotionPathPreview, startPreviewAnimation, stopPreviewAnimation, THEME_COLOR_SWATCHES, STROKE_DASH_OPTIONS } from './chunk-S6PFSR7I.mjs';
|
|
4
4
|
import { LOCALE_CATALOG, translationsEn } from './chunk-L5MNLIQF.mjs';
|
|
5
|
-
import { hasShapeProperties, normalizeHexColor, colorWithOpacity, normalizeStrokeDashType, getSvgStrokeDasharray, getCompoundLineOffsets, getCompoundLineWidths, svgLineCap, hasTextProperties, getElementTransform, getAriaRoleDescription, getAriaLabel, getAriaRole, resolveElementInteractivity, isEditableTextElement, isElementRendered, isElementActionable, getImageEffectsOpacity, getImageEffectsFilter, getElementTransformWithoutRotation, inlineElementPointerEvents, isHollowShapeElement, LINK_TOOLTIP_HOST_CLASS, ACTION_BUTTON_PRESETS, mediaTransportVisible, isInkElement, getGroupChildParentFill, getElementLabel, SWITCHABLE_LAYOUT_TYPES, DEFAULT_VIEWER_OPTIONS, compileEquationTemplateMathMl, buildUserFontFaceStyles, readStoredViewerPrefs, resolveThemeCatalogEntry, THEME_CATALOG, writeStoredViewerPrefs, openPptxFile, readBackstageRecentFile, resolveAutosaveActivation, viewerOptionsToPreferences, applyPreferenceToOptions, listAutosaveSnapshots, deleteAutosaveSnapshot, resolveAutosaveIntervalMs, resolveAutosaveIntervalSeconds, shouldShowAutosaveRecoveryPrompt, paintedStrokeWidth, buildCssGradientFromShapeStyle, ensureActionAffordanceStyles, resolveElementActionAffordance, actionAffordanceLabels, getComputedEffectStyle, getSoftEdgeSvgFilter, buildStrokeOutline, buildHollowHitOutline, strokeOutlineViewBox, revealedSmartArtNodeCount, buildSmartArtA11y, computeSmartArtLayout, flattenNodes, buildSummaryZoomView, isImageTiled, getImageColorWashStyle, isImageLikeElement, placeCaretAtEnd, getPendingSelectionRestore, restoreSegmentSelection, getTextCompensationTransform, resolveChartKind, ensureChartInteractionStyles, applyChartPartHighlight, applyChartBuildReveal, formatAxisValue, hasPressureVariation, getInkReplayStyles, INK_REPLAY_KEYFRAMES, resolveInkColor, resolveInkWidth, resolveInkOpacity, pressuresToWidths, getContentPartReplayStyles, resolveOleType, getOleTypeColor, getOleTypeLabel, filterRenderedElements, resolveGroupChildFill, isLinkedTextBox, getOverflowSegments, shouldUseSvgWarp, getTextBodyRotationTransform, RULER_THICKNESS, RULER_FONT_SIZE, buildPreviewElements, deriveSlideFieldContext, SLIDE_TRANSITION_OPTIONS, hiddenSlideCue, HIDDEN_SLIDE_SLASH_GRADIENT, HIDDEN_SLIDE_LABEL_KEY, themeToCssVars, applyMotionPathPreset, resetSlideLayoutPath, DEFAULT_INSERT_CHART_KIND, hasCopyableFormat, templateSchemeFromTheme, createBackstagePresentation, setMasterViewBackgroundColor, printPropertiesFrameSlides, printPropertiesSlidesPerPage, VIEWER_OPTIONS_TABS, DEFAULT_QUICK_ACCESS_COMMAND_IDS, buildJoinCollaborationConfig, buildCreateCollaborationConfig, generateBroadcastRoomId, DEFAULT_BROADCAST_SERVER_URL, buildBroadcastViewerUrl, resolveTransportForServerUrl, ACTION_INDICATOR_CLASS, ACTION_INDICATOR_ICON_PATH, LINK_TOOLTIP_CLASS, LINK_TOOLTIP_PANEL_CLASS, LINK_TOOLTIP_LABEL_CLASS, LINK_TOOLTIP_HINT_CLASS, DEFAULT_PALETTE2, resolvePalette, computeDrawingViewBox, projectDrawingShapes, styleShadowFilter, resolveDrawingShapeNodeId, buildChromeStyle, getImageSvgFilters, buildDuotoneCacheKey, getDuotoneCachedResult, applyDuotone, setDuotoneCachedResult, buildCacheKey, DEFAULT_COLOR_CHANGE_TOLERANCE, getCachedResult, applyColorChange, setCachedResult, findChartPartTarget, advanceChartValueDrag, beginChartValueDrag, buildSurfaceChart3DDataForElement, withChartTitle, buildSmartArt3DModel, extractPathPoints, generatePressureCircles, isBrowserOpenableMime, formatBytes, getOleBadgeLabel, openUrlInNewTab, getSubstituteFontFamily, getWarpPath, getSlideBackgroundStyle, filterCommands, resolveTitleBarStatusKey, TITLE_BAR_CLASSES, TITLE_BAR_DEFAULT_FILE_KEY, masterViewBackgroundColor, buildFieldSubstitutionContext, shouldConfirmExternalHyperlink, safeOpenUrl, isPpactionUrl, parsePpactionUrl, isPresentationAdvanceClick, toggleBlackboard, PRESENT_TOOLBAR_CLASSES, buildContextMenuEntries, themeColorSchemesEqual, EXPANDED_MAX_HEIGHT, STATUS_BAR_CLASSES, buildBarActions, formatVersionTimestamp, formatRelativeTime, scanAvailableFontFamilies, PRESETS, CATEGORIES, convertOmmlToLatex, compileLatexEquation, convertLatexToOmml, EQUATION_TEMPLATES, clampPercent, HANDOUT_OPTIONS, TOOLBAR_TABS, SHORTCUT_REFERENCE_ITEMS, resolveViewerAddinRows, availableQuickAccessCommands, addQuickAccessCommand, removeQuickAccessCommand, moveQuickAccessCommand, CUSTOM_FONT_ACCEPT, activateModalFocus, buildCollaborationShareUrl, buildActiveSessionUsers, SORTER_MIN_ZOOM, SORTER_ZOOM_STEP, SORTER_MAX_ZOOM, canGoPrevious, formatSlideCounter, READING_VIEW_COUNTER_ATTR, canGoNext, READING_VIEW_ATTR, OUTLINE_LEVEL_ATTR, OUTLINE_SLIDE_ATTR, OUTLINE_ROW_ATTR, OUTLINE_VIEW_ATTR, mobileElapsedSince, nextPresentedSlide, presenterPrevDisabled, presenterNextDisabled, formatMobileElapsed, mobileSlideCounter, presenterPaneAdvancesOnClick, presenterTimerProgress, PRESENTER_CONSOLE_CLASSES, formatElapsed, centeredSvgTextLines, computeInlineEditorRect, findSmartArtNodeText, setSmartArtNodeStyle, rebuildDrawingShapesIfCleared, shouldCommitSmartArtNodeText, updateSmartArtNodeText, groupIntoParagraphs, substituteFieldText, extraQuickAccessCommands, TAB_ROW_ACTION_CLASSES, listBackstageRecentFiles, BACKSTAGE_NAV, INSERT_CHART_TYPES, CHARACTER_SPACING_OPTIONS, RIBBON_SHAPE_SWATCHES, shapeFillChange, shapeOutlineChange, readRibbonTransitionDraft, ribbonTransitionUpdates, playSlideTransitionPreview, RIBBON_TRANSITION_PRESETS, DEFAULT_MOTION_PATH_PRESET_ID, SLIDE_SHOW_OPTIONS, slideShowOptionChange, readSlideShowOption, SLIDE_VIRTUALIZATION_THRESHOLD, PRESENTATION_HIT_TEST_CSS, PRESENTATION_STAGE_ATTRIBUTE, getSlideTransitionAnimations, MORPH_CROSSFADE_GROUP_STYLE, MORPH_CROSSFADE_HALF_STYLE, SLIDE_TRANSITION_KEYFRAMES, annotationOverlayZIndex, presentationInkPath, motionPathFor, setMotionPath, getShapeAdjustmentHandleDescriptors, PRESENTER_NAVIGATOR_LABEL_KEYS, PEN_COLORS, HIGHLIGHTER_COLORS, isBlackboardActive, slideSizeToCanvasPx, resolveSelectionPaneRename, PRESET_THEMES, normalizeSegments, createPlainNotesSegments, segmentsToEditorHtml, DEBOUNCE_MS, parseSegmentsFromRichEditor, segmentsToPlainText, getCurrentParagraphIndex, segmentsToParagraphs, paragraphsToSegments, MAX_INDENT_LEVEL, INDENT_PX, isUrlSafe, escapeHtml2, toggleSheet, 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, buildFontCatalog, ENTRANCE_PRESET_VALUES, EMPHASIS_PRESET_VALUES, EXIT_PRESET_VALUES, MOTION_PATH_FAMILIES, motionPathFamilyLabelKey, motionPathPresetsByFamily, motionPathPresetLabelKey, masterViewPseudoSlide, authorConnectorBetweenSites, generateTicks, rulerDragToGuidePosition, buildCommentMarkers, COMMENT_MARKER_SIZE, collectConnectorSiteCandidates, getConnectorEndpointHandles, findConnectorSiteNear, motionPathToSvgD, motionPathEndPixel, isEditableMotionPath, setMotionPathEnd, themeColorLabel, buildThemeColorGrid, THEME_COLOR_SCHEME_KEYS, COMMON_FONTS, buildSmartArtPresetData, handleReadingViewKey, getLocalStorageUsageSummary, saveViewerProfile, clearAllLocalViewerData, isCurrentLayout, SLIDE_TEMPLATES, CONNECTOR_SITE_SNAP_PX, resolveConnectorEndpointUpdate, withConnectorEndpointUpdate, getShapeConnectionSites, isElementLocked, mergeSlideTransition, mapSlideSorterKey, isEditorTextInputTarget, clampSorterZoom, buildLayoutPreviewGeometry, buildSlideTemplateContent, elementLockTogglePatch, buildTableDataGrid, appendTableElementRow, removeLastTableElementRow, appendTableElementColumn, removeLastTableElementColumn, removeTableElementColumn, removeTableElementRow, setTableElementCellText, TABLE_STYLE_PRESETS, applyTableStylePreset, evenColumnWidths, redistributeColumnWidth, evenRowHeights, patchChartData, setChartCategoryLabel, setChartCellValue, addChartCategory, removeChartCategory, addChartSeries, removeChartSeries, setChartAxisLogScale, setChartAxisTitleStyle, setChartAxisGridlineStyle, setChartSeriesMarker, setChartSeriesChartType, setChartDataPointFill, setChartDataPointExplosion, setChartDataPointMarker, setChartDataPointLabel, describeSmartArtBounds, canAddTopLevelNode, classifyExtraConnections, siblingIndex, siblingCount, canRemoveTopLevelNode, getOleObjectTypeLabel, sanitizeGradientStops, pptxActionToElementAction, withFrameSlides, withSlidesPerPage, applyThemeOverrideToSlide, COLOR_MAP_ALIAS_KEYS, DEFAULT_COLOR_MAP, schemaLabel, THEME_COLOR_SLOT_LABEL_KEYS, resolveSlideSizeSelection, SLIDE_SIZE_PRESETS, TRANSITION_VALID_DIRECTIONS, TRANSITION_ORIENTATION_TYPES, clampTransitionNumber, flattenTagCollections, resolveTemplateBackgroundRows, formatCommentTimestamp, clearMotionPath, DIRECTIONAL_PRESETS, buildAnimationTimelineBars, motionPathPresetIdForPath, computeMergeCellRight, computeMergeCellDown, computeSplitCell, SMARTART_COLOR_SCHEME_LABEL_KEYS, SMARTART_STYLE_LABEL_KEYS, addSmartArtNodeAsChild, removeSmartArtNode, addSiblingAfter, removeEmptyNode, demote, promote, reorder, clampCropValue, DUOTONE_PRESETS, ARTISTIC_EFFECTS, resolveActionType, ELEMENT_ACTION_TYPE_OPTIONS, toSlideIndex, elementActionToPptxAction, canCommitActionType, slideSizeFromPreset, withSlideSizeOrientation, TRANSITION_DIR_ARROWS, buildDirectionGrid, updateTagInCollections, deleteTagFromCollections, addTagToCollections, commentTextSegments, COMMENT_MENTION_CLASS, COMMENT_MENTION_ATTRIBUTE, reorderAnimationTo, animationEffectLabel, LBL, SEL, FILL_MODE_OPTIONS, SECTION_HEADING, NUM, switchSmartArtLayout, SHAPE_QUICK_STYLES, quickStyleSwatchCss, getPatternSvg, TEXT_WARP_PRESETS, warpPreviewPath, text3dPtToEmu, text3dEmuToPt, MATERIAL_PRESETS, GRADIENT_TYPE_OPTIONS, PATTERN_OPTIONS, FILL_PATTERN_LABEL_KEYS, openNativeEyeDropper, toggleText3dExtrusion, BEVEL_PRESETS } from './chunk-57TM4MV4.mjs';
|
|
5
|
+
import { hasShapeProperties, normalizeHexColor, colorWithOpacity, normalizeStrokeDashType, getSvgStrokeDasharray, getCompoundLineOffsets, getCompoundLineWidths, svgLineCap, hasTextProperties, getElementTransform, getAriaRoleDescription, getAriaLabel, getAriaRole, resolveElementInteractivity, isEditableTextElement, isElementRendered, isElementActionable, getImageEffectsOpacity, getImageEffectsFilter, inlineElementPointerEvents, isHollowShapeElement, LINK_TOOLTIP_HOST_CLASS, getElementTransformWithoutRotation, ACTION_BUTTON_PRESETS, mediaTransportVisible, isInkElement, getGroupChildParentFill, getElementLabel, SWITCHABLE_LAYOUT_TYPES, DEFAULT_VIEWER_OPTIONS, compileEquationTemplateMathMl, buildUserFontFaceStyles, readStoredViewerPrefs, resolveThemeCatalogEntry, THEME_CATALOG, writeStoredViewerPrefs, openPptxFile, readBackstageRecentFile, resolveAutosaveActivation, viewerOptionsToPreferences, applyPreferenceToOptions, listAutosaveSnapshots, deleteAutosaveSnapshot, resolveAutosaveIntervalMs, resolveAutosaveIntervalSeconds, shouldShowAutosaveRecoveryPrompt, paintedStrokeWidth, buildCssGradientFromShapeStyle, ensureActionAffordanceStyles, resolveElementActionAffordance, actionAffordanceLabels, getComputedEffectStyle, getSoftEdgeSvgFilter, buildStrokeOutline, buildHollowHitOutline, buildSubpathFillOverlay, isImageLikeElement, getComputedFillStyle, strokeOutlineViewBox, revealedSmartArtNodeCount, buildSmartArtA11y, computeSmartArtElementLayout, flattenNodes, buildSummaryZoomView, isImageTiled, getImageColorWashStyle, placeCaretAtEnd, getPendingSelectionRestore, restoreSegmentSelection, getTextCompensationTransform, resolveChartKind, ensureChartInteractionStyles, applyChartPartHighlight, applyChartBuildReveal, formatAxisValue, hasPressureVariation, getInkReplayStyles, INK_REPLAY_KEYFRAMES, resolveInkColor, resolveInkWidth, resolveInkOpacity, pressuresToWidths, getContentPartReplayStyles, resolveOleType, getOleTypeColor, getOleTypeLabel, filterRenderedElements, resolveGroupChildFill, isLinkedTextBox, getOverflowSegments, shouldUseSvgWarp, getTextBodyRotationTransform, RULER_THICKNESS, RULER_FONT_SIZE, buildPreviewElements, deriveSlideFieldContext, SLIDE_TRANSITION_OPTIONS, hiddenSlideCue, HIDDEN_SLIDE_SLASH_GRADIENT, HIDDEN_SLIDE_LABEL_KEY, themeToCssVars, applyMotionPathPreset, resetSlideLayoutPath, DEFAULT_INSERT_CHART_KIND, hasCopyableFormat, templateSchemeFromTheme, createBackstagePresentation, setMasterViewBackgroundColor, printPropertiesFrameSlides, printPropertiesSlidesPerPage, VIEWER_OPTIONS_TABS, DEFAULT_QUICK_ACCESS_COMMAND_IDS, buildJoinCollaborationConfig, buildCreateCollaborationConfig, generateBroadcastRoomId, DEFAULT_BROADCAST_SERVER_URL, buildBroadcastViewerUrl, resolveTransportForServerUrl, ACTION_INDICATOR_CLASS, ACTION_INDICATOR_ICON_PATH, LINK_TOOLTIP_CLASS, LINK_TOOLTIP_PANEL_CLASS, LINK_TOOLTIP_LABEL_CLASS, LINK_TOOLTIP_HINT_CLASS, DEFAULT_PALETTE2, resolvePalette, computeDrawingViewBox, projectDrawingShapes, styleShadowFilter, resolveDrawingShapeNodeId, buildChromeStyle, getImageSvgFilters, buildDuotoneCacheKey, getDuotoneCachedResult, applyDuotone, setDuotoneCachedResult, buildCacheKey, DEFAULT_COLOR_CHANGE_TOLERANCE, getCachedResult, applyColorChange, setCachedResult, findChartPartTarget, advanceChartValueDrag, beginChartValueDrag, buildSurfaceChart3DDataForElement, withChartTitle, buildSmartArt3DModel, extractPathPoints, generatePressureCircles, isBrowserOpenableMime, formatBytes, getOleBadgeLabel, openUrlInNewTab, getSubstituteFontFamily, getWarpPath, getSlideBackgroundStyle, filterCommands, resolveTitleBarStatusKey, TITLE_BAR_CLASSES, TITLE_BAR_DEFAULT_FILE_KEY, masterViewBackgroundColor, buildFieldSubstitutionContext, shouldConfirmExternalHyperlink, safeOpenUrl, isPpactionUrl, parsePpactionUrl, isPresentationAdvanceClick, toggleBlackboard, PRESENT_TOOLBAR_CLASSES, buildContextMenuEntries, themeColorSchemesEqual, EXPANDED_MAX_HEIGHT, STATUS_BAR_CLASSES, buildBarActions, formatVersionTimestamp, formatRelativeTime, scanAvailableFontFamilies, PRESETS, CATEGORIES, convertOmmlToLatex, compileLatexEquation, convertLatexToOmml, EQUATION_TEMPLATES, clampPercent, HANDOUT_OPTIONS, TOOLBAR_TABS, SHORTCUT_REFERENCE_ITEMS, resolveViewerAddinRows, availableQuickAccessCommands, addQuickAccessCommand, removeQuickAccessCommand, moveQuickAccessCommand, CUSTOM_FONT_ACCEPT, activateModalFocus, buildCollaborationShareUrl, buildActiveSessionUsers, SORTER_MIN_ZOOM, SORTER_ZOOM_STEP, SORTER_MAX_ZOOM, canGoPrevious, formatSlideCounter, READING_VIEW_COUNTER_ATTR, canGoNext, READING_VIEW_ATTR, OUTLINE_LEVEL_ATTR, OUTLINE_SLIDE_ATTR, OUTLINE_ROW_ATTR, OUTLINE_VIEW_ATTR, mobileElapsedSince, nextPresentedSlide, presenterPrevDisabled, presenterNextDisabled, formatMobileElapsed, mobileSlideCounter, presenterPaneAdvancesOnClick, presenterTimerProgress, PRESENTER_CONSOLE_CLASSES, formatElapsed, centeredSvgTextLines, computeInlineEditorRect, findSmartArtNodeText, setSmartArtNodeStyle, rebuildDrawingShapesIfCleared, shouldCommitSmartArtNodeText, updateSmartArtNodeText, groupIntoParagraphs, substituteFieldText, extraQuickAccessCommands, TAB_ROW_ACTION_CLASSES, listBackstageRecentFiles, BACKSTAGE_NAV, INSERT_CHART_TYPES, CHARACTER_SPACING_OPTIONS, RIBBON_SHAPE_SWATCHES, shapeFillChange, shapeOutlineChange, readRibbonTransitionDraft, ribbonTransitionUpdates, playSlideTransitionPreview, RIBBON_TRANSITION_PRESETS, DEFAULT_MOTION_PATH_PRESET_ID, SLIDE_SHOW_OPTIONS, slideShowOptionChange, readSlideShowOption, SLIDE_VIRTUALIZATION_THRESHOLD, PRESENTATION_HIT_TEST_CSS, PRESENTATION_STAGE_ATTRIBUTE, getSlideTransitionAnimations, MORPH_CROSSFADE_GROUP_STYLE, MORPH_CROSSFADE_HALF_STYLE, SLIDE_TRANSITION_KEYFRAMES, annotationOverlayZIndex, presentationInkPath, resolveNotesSchematicBodyFontSizePx, motionPathFor, setMotionPath, getShapeAdjustmentHandleDescriptors, PRESENTER_NAVIGATOR_LABEL_KEYS, PEN_COLORS, HIGHLIGHTER_COLORS, isBlackboardActive, slideSizeToCanvasPx, resolveSelectionPaneRename, PRESET_THEMES, resolveNotesSegments, segmentsToEditorHtml, DEBOUNCE_MS, createPlainNotesSegments, parseSegmentsFromRichEditor, segmentsToPlainText, getCurrentParagraphIndex, segmentsToParagraphs, paragraphsToSegments, MAX_INDENT_LEVEL, INDENT_PX, isUrlSafe, buildNotesPrintHtml, toggleSheet, 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, buildFontCatalog, ENTRANCE_PRESET_VALUES, EMPHASIS_PRESET_VALUES, EXIT_PRESET_VALUES, MOTION_PATH_FAMILIES, motionPathFamilyLabelKey, motionPathPresetsByFamily, motionPathPresetLabelKey, masterViewPseudoSlide, authorConnectorBetweenSites, generateTicks, rulerDragToGuidePosition, buildCommentMarkers, COMMENT_MARKER_SIZE, collectConnectorSiteCandidates, getConnectorEndpointHandles, findConnectorSiteNear, motionPathToSvgD, motionPathEndPixel, isEditableMotionPath, setMotionPathEnd, themeColorLabel, buildThemeColorGrid, THEME_COLOR_SCHEME_KEYS, COMMON_FONTS, buildSmartArtPresetData, handleReadingViewKey, getLocalStorageUsageSummary, saveViewerProfile, clearAllLocalViewerData, isCurrentLayout, SLIDE_TEMPLATES, CONNECTOR_SITE_SNAP_PX, resolveConnectorEndpointUpdate, withConnectorEndpointUpdate, getShapeConnectionSites, isElementLocked, mergeSlideTransition, mapSlideSorterKey, isEditorTextInputTarget, clampSorterZoom, buildLayoutPreviewGeometry, buildSlideTemplateContent, elementLockTogglePatch, buildTableDataGrid, appendTableElementRow, removeLastTableElementRow, appendTableElementColumn, removeLastTableElementColumn, removeTableElementColumn, removeTableElementRow, setTableElementCellText, TABLE_STYLE_PRESETS, applyTableStylePreset, evenColumnWidths, redistributeColumnWidth, evenRowHeights, patchChartData, setChartCategoryLabel, setChartCellValue, addChartCategory, removeChartCategory, addChartSeries, removeChartSeries, setChartAxisLogScale, setChartAxisTitleStyle, setChartAxisGridlineStyle, setChartSeriesMarker, setChartSeriesChartType, setChartDataPointFill, setChartDataPointExplosion, setChartDataPointMarker, setChartDataPointLabel, describeSmartArtBounds, canAddTopLevelNode, classifyExtraConnections, siblingIndex, siblingCount, canRemoveTopLevelNode, getOleObjectTypeLabel, sanitizeGradientStops, pptxActionToElementAction, withFrameSlides, withSlidesPerPage, applyThemeOverrideToSlide, COLOR_MAP_ALIAS_KEYS, DEFAULT_COLOR_MAP, schemaLabel, THEME_COLOR_SLOT_LABEL_KEYS, resolveSlideSizeSelection, SLIDE_SIZE_PRESETS, TRANSITION_VALID_DIRECTIONS, TRANSITION_ORIENTATION_TYPES, clampTransitionNumber, flattenTagCollections, resolveTemplateBackgroundRows, formatCommentTimestamp, clearMotionPath, DIRECTIONAL_PRESETS, buildAnimationTimelineBars, motionPathPresetIdForPath, computeMergeCellRight, computeMergeCellDown, computeSplitCell, CHART_TYPE_OPTIONS, SMARTART_COLOR_SCHEME_LABEL_KEYS, SMARTART_STYLE_LABEL_KEYS, addSmartArtNodeAsChild, removeSmartArtNode, addSiblingAfter, removeEmptyNode, demote, promote, reorder, clampCropValue, DUOTONE_PRESETS, ARTISTIC_EFFECTS, resolveActionType, ELEMENT_ACTION_TYPE_OPTIONS, toSlideIndex, elementActionToPptxAction, canCommitActionType, slideSizeFromPreset, withSlideSizeOrientation, TRANSITION_DIR_ARROWS, buildDirectionGrid, updateTagInCollections, deleteTagFromCollections, addTagToCollections, commentTextSegments, COMMENT_MENTION_CLASS, COMMENT_MENTION_ATTRIBUTE, reorderAnimationTo, animationEffectLabel, LBL, SEL, FILL_MODE_OPTIONS, SECTION_HEADING, NUM, switchSmartArtLayout, SHAPE_QUICK_STYLES, quickStyleSwatchCss, getPatternSvg, TEXT_WARP_PRESETS, warpPreviewPath, text3dPtToEmu, text3dEmuToPt, MATERIAL_PRESETS, GRADIENT_TYPE_OPTIONS, PATTERN_OPTIONS, FILL_PATTERN_LABEL_KEYS, openNativeEyeDropper, toggleText3dExtrusion, BEVEL_PRESETS } from './chunk-OXPD2UYI.mjs';
|
|
6
6
|
import React15, { createContext, useMemo, useState, useCallback, lazy, forwardRef, useEffect, useRef, Suspense, useLayoutEffect, useContext, Fragment as Fragment$1, useDeferredValue } from 'react';
|
|
7
7
|
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
8
8
|
import { useTranslation } from 'react-i18next';
|
|
@@ -485,7 +485,7 @@ function FailedToLoad() {
|
|
|
485
485
|
var LazySurfaceChart3DScene = React15.lazy(
|
|
486
486
|
async () => {
|
|
487
487
|
try {
|
|
488
|
-
return await import('./SurfaceChart3DScene-
|
|
488
|
+
return await import('./SurfaceChart3DScene-P6CVRWDQ.mjs');
|
|
489
489
|
} catch {
|
|
490
490
|
return { default: FailedToLoad };
|
|
491
491
|
}
|
|
@@ -1585,6 +1585,23 @@ function getContainerStyle({
|
|
|
1585
1585
|
...templateEditing ? { outline: "2px dashed rgb(217, 119, 6)", outlineOffset: "1px", opacity: opacity ?? 0.95 } : {}
|
|
1586
1586
|
};
|
|
1587
1587
|
}
|
|
1588
|
+
function getHandleHostStyle({
|
|
1589
|
+
el,
|
|
1590
|
+
isFullscreenMedia,
|
|
1591
|
+
zIndex
|
|
1592
|
+
}) {
|
|
1593
|
+
return {
|
|
1594
|
+
position: "absolute",
|
|
1595
|
+
left: isFullscreenMedia ? 0 : el.x,
|
|
1596
|
+
top: isFullscreenMedia ? 0 : el.y,
|
|
1597
|
+
width: isFullscreenMedia ? "100%" : Math.max(el.width, MIN_ELEMENT_SIZE),
|
|
1598
|
+
height: isFullscreenMedia ? "100%" : Math.max(el.height, MIN_ELEMENT_SIZE),
|
|
1599
|
+
transform: isFullscreenMedia ? "none" : getElementTransform(el),
|
|
1600
|
+
transformOrigin: "center",
|
|
1601
|
+
zIndex: isFullscreenMedia ? 21 : zIndex,
|
|
1602
|
+
pointerEvents: "none"
|
|
1603
|
+
};
|
|
1604
|
+
}
|
|
1588
1605
|
|
|
1589
1606
|
// src/viewer/components/elements/element-shape-params.ts
|
|
1590
1607
|
function shapeParams(element) {
|
|
@@ -1680,13 +1697,18 @@ function ShapeEffectOverlay({
|
|
|
1680
1697
|
if (!hasShapeProperties(element)) {
|
|
1681
1698
|
return null;
|
|
1682
1699
|
}
|
|
1683
|
-
const
|
|
1700
|
+
const fx = getComputedEffectStyle(element);
|
|
1701
|
+
const overlay = fx.fillOverlay;
|
|
1702
|
+
const reflection = fx.reflection;
|
|
1684
1703
|
const softEdge = getSoftEdgeSvgFilter(element.shapeStyle, element.id);
|
|
1685
1704
|
const strokeOutline = buildStrokeOutline(element);
|
|
1686
1705
|
const hollowHit = buildHollowHitOutline(element);
|
|
1687
|
-
|
|
1706
|
+
const subpathFill = buildSubpathFillOverlay(element);
|
|
1707
|
+
if (!overlay && !softEdge && !strokeOutline && !hollowHit && !subpathFill && !reflection) {
|
|
1688
1708
|
return null;
|
|
1689
1709
|
}
|
|
1710
|
+
const reflectionFill = reflection && !isImageLikeElement(element) ? getComputedFillStyle(element) : void 0;
|
|
1711
|
+
const reflectionImgSrc = reflection && isImageLikeElement(element) ? imgSrc(element) : void 0;
|
|
1690
1712
|
const fillOverlayStyle = overlay ? {
|
|
1691
1713
|
position: "absolute",
|
|
1692
1714
|
inset: 0,
|
|
@@ -1695,6 +1717,17 @@ function ShapeEffectOverlay({
|
|
|
1695
1717
|
pointerEvents: "none"
|
|
1696
1718
|
} : void 0;
|
|
1697
1719
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
1720
|
+
subpathFill ? /* @__PURE__ */ jsx(
|
|
1721
|
+
"svg",
|
|
1722
|
+
{
|
|
1723
|
+
className: "pptx-react-subpath-fill",
|
|
1724
|
+
"aria-hidden": "true",
|
|
1725
|
+
viewBox: `0 0 ${subpathFill.viewBoxWidth} ${subpathFill.viewBoxHeight}`,
|
|
1726
|
+
preserveAspectRatio: "none",
|
|
1727
|
+
style: { position: "absolute", inset: 0, width: "100%", height: "100%" },
|
|
1728
|
+
children: subpathFill.paints.map((paint, idx) => /* @__PURE__ */ jsx("path", { d: paint.d, fill: paint.fill, stroke: "none" }, idx))
|
|
1729
|
+
}
|
|
1730
|
+
) : null,
|
|
1698
1731
|
softEdge ? /* @__PURE__ */ jsx(
|
|
1699
1732
|
"svg",
|
|
1700
1733
|
{
|
|
@@ -1765,6 +1798,36 @@ function ShapeEffectOverlay({
|
|
|
1765
1798
|
}
|
|
1766
1799
|
)
|
|
1767
1800
|
}
|
|
1801
|
+
) : null,
|
|
1802
|
+
reflection ? /* @__PURE__ */ jsx(
|
|
1803
|
+
"div",
|
|
1804
|
+
{
|
|
1805
|
+
className: "pptx-react-reflection",
|
|
1806
|
+
"aria-hidden": "true",
|
|
1807
|
+
style: reflection,
|
|
1808
|
+
children: reflectionImgSrc ? /* @__PURE__ */ jsx(
|
|
1809
|
+
"img",
|
|
1810
|
+
{
|
|
1811
|
+
src: reflectionImgSrc,
|
|
1812
|
+
alt: "",
|
|
1813
|
+
draggable: false,
|
|
1814
|
+
style: { width: "100%", height: "100%", ...getImageRenderStyle(element) }
|
|
1815
|
+
}
|
|
1816
|
+
) : reflectionFill ? /* @__PURE__ */ jsx(
|
|
1817
|
+
"div",
|
|
1818
|
+
{
|
|
1819
|
+
style: {
|
|
1820
|
+
width: "100%",
|
|
1821
|
+
height: "100%",
|
|
1822
|
+
backgroundColor: reflectionFill.backgroundColor,
|
|
1823
|
+
backgroundImage: reflectionFill.backgroundImage,
|
|
1824
|
+
backgroundSize: reflectionFill.backgroundSize,
|
|
1825
|
+
backgroundPosition: reflectionFill.backgroundPosition,
|
|
1826
|
+
backgroundRepeat: reflectionFill.backgroundRepeat
|
|
1827
|
+
}
|
|
1828
|
+
}
|
|
1829
|
+
) : null
|
|
1830
|
+
}
|
|
1768
1831
|
) : null
|
|
1769
1832
|
] });
|
|
1770
1833
|
}
|
|
@@ -1916,135 +1979,144 @@ var ElementRenderer = React15.memo(
|
|
|
1916
1979
|
onInlineEditCancel,
|
|
1917
1980
|
onActionClick
|
|
1918
1981
|
});
|
|
1919
|
-
return /* @__PURE__ */ jsxs(
|
|
1920
|
-
|
|
1921
|
-
|
|
1922
|
-
|
|
1923
|
-
|
|
1924
|
-
|
|
1925
|
-
|
|
1926
|
-
|
|
1927
|
-
|
|
1928
|
-
|
|
1929
|
-
|
|
1930
|
-
|
|
1931
|
-
|
|
1932
|
-
|
|
1933
|
-
|
|
1934
|
-
|
|
1935
|
-
|
|
1936
|
-
|
|
1937
|
-
|
|
1938
|
-
|
|
1939
|
-
|
|
1940
|
-
|
|
1941
|
-
|
|
1942
|
-
|
|
1943
|
-
|
|
1944
|
-
|
|
1945
|
-
|
|
1946
|
-
|
|
1947
|
-
|
|
1948
|
-
|
|
1949
|
-
|
|
1950
|
-
|
|
1951
|
-
|
|
1952
|
-
|
|
1953
|
-
|
|
1954
|
-
|
|
1955
|
-
|
|
1956
|
-
|
|
1957
|
-
|
|
1958
|
-
isFullscreenMedia,
|
|
1959
|
-
isImg: isImg || isModel3D,
|
|
1960
|
-
zIndex,
|
|
1961
|
-
opacity,
|
|
1962
|
-
animationState,
|
|
1963
|
-
shapeVisualStyle: ss,
|
|
1964
|
-
has3DExtrusion: extrusionData.hasExtrusion,
|
|
1965
|
-
templateEditing
|
|
1966
|
-
}),
|
|
1967
|
-
...interactionProps,
|
|
1968
|
-
children: [
|
|
1969
|
-
renderDagDuotoneFilterForElement(el),
|
|
1970
|
-
/* @__PURE__ */ jsx(ShapeEffectOverlay, { element: el }),
|
|
1971
|
-
extrusionData.hasExtrusion && /* @__PURE__ */ jsx(Extrusion3DOverlay, { data: extrusionData }),
|
|
1972
|
-
renderBody({
|
|
1982
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
1983
|
+
/* @__PURE__ */ jsxs(
|
|
1984
|
+
"div",
|
|
1985
|
+
{
|
|
1986
|
+
"data-pptx-element": "true",
|
|
1987
|
+
"data-element-id": el.id,
|
|
1988
|
+
"data-pptx-action": isActionable ? "click" : void 0,
|
|
1989
|
+
role: ariaRole,
|
|
1990
|
+
"aria-label": ariaLabel,
|
|
1991
|
+
"aria-roledescription": ariaRoleDescription,
|
|
1992
|
+
"aria-selected": isSelected ? true : void 0,
|
|
1993
|
+
tabIndex: isFocusable ? 0 : -1,
|
|
1994
|
+
className: cn(
|
|
1995
|
+
"absolute",
|
|
1996
|
+
"focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-500",
|
|
1997
|
+
cur,
|
|
1998
|
+
// During a show this must stay EMPTY: `PRESENTATION_HIT_TEST_CSS`
|
|
1999
|
+
// (injected by `PresentationStage`) owns hit-testing there, because
|
|
2000
|
+
// it is the only form that can re-enable an action shape nested
|
|
2001
|
+
// inside inert scenery - an inline `pointer-events: none` on the
|
|
2002
|
+
// group could never do that, and React was the one binding that
|
|
2003
|
+
// wrote it. Off the show stage the inline rule still applies.
|
|
2004
|
+
inlineElementPointerEvents({
|
|
2005
|
+
interactive: effectiveCanInteract || isActionable,
|
|
2006
|
+
presenting: presenting === true
|
|
2007
|
+
}) === "none" ? "pointer-events-none" : "",
|
|
2008
|
+
// An unfilled, textless shape is a FRAME: PowerPoint hit-tests it on its
|
|
2009
|
+
// outline only, so its interior must not swallow clicks meant for what it
|
|
2010
|
+
// is drawn over. ShapeEffectOverlay paints a transparent
|
|
2011
|
+
// pointer-events:stroke band that opts the outline back in.
|
|
2012
|
+
isHollowShapeElement(el) ? "pointer-events-none" : "",
|
|
2013
|
+
isFullscreenMedia ? "pointer-events-auto" : "",
|
|
2014
|
+
selB,
|
|
2015
|
+
// Shared class the tooltip's `:hover` rule keys off (see
|
|
2016
|
+
// `ACTION_AFFORDANCE_CSS`), replacing React's Tailwind `group/link`
|
|
2017
|
+
// so the four non-Tailwind bindings reveal it the same way.
|
|
2018
|
+
actionAffordance.showLinkTooltip && LINK_TOOLTIP_HOST_CLASS
|
|
2019
|
+
),
|
|
2020
|
+
style: getContainerStyle({
|
|
1973
2021
|
el,
|
|
1974
|
-
|
|
1975
|
-
|
|
1976
|
-
|
|
1977
|
-
|
|
1978
|
-
|
|
1979
|
-
|
|
1980
|
-
|
|
1981
|
-
|
|
1982
|
-
imgFilter: getImageEffectsFilter(el),
|
|
1983
|
-
imgOpacity: getImageEffectsOpacity(el),
|
|
1984
|
-
imgAlt: imageAltText,
|
|
1985
|
-
isTxtEl: isTxt,
|
|
1986
|
-
media: mediaDataUrls,
|
|
1987
|
-
tableSt: tableEditorState,
|
|
1988
|
-
isSel: isSelected,
|
|
1989
|
-
doInk,
|
|
1990
|
-
doGrp,
|
|
1991
|
-
renderGroupChild: (child, index) => /* @__PURE__ */ jsx(
|
|
1992
|
-
StaticElementRenderer,
|
|
1993
|
-
{
|
|
1994
|
-
element: child,
|
|
1995
|
-
activeSlide,
|
|
1996
|
-
allSlides,
|
|
1997
|
-
mediaDataUrls,
|
|
1998
|
-
sourceSlideIndex,
|
|
1999
|
-
zIndex: index,
|
|
2000
|
-
animation: presentationElementStates?.get(child.id)?.cssAnimation,
|
|
2001
|
-
exposeElementId: true,
|
|
2002
|
-
parentGroupFill: getGroupChildParentFill(el),
|
|
2003
|
-
onActionClick: el.actionClick ? void 0 : onActionClick,
|
|
2004
|
-
actionRequiresModifier: effectiveCanInteract
|
|
2005
|
-
},
|
|
2006
|
-
child.id
|
|
2007
|
-
),
|
|
2008
|
-
onEditChange: onInlineEditChange,
|
|
2009
|
-
onCommit: onInlineEditCommit,
|
|
2010
|
-
onCancel: onInlineEditCancel,
|
|
2011
|
-
onCellSel: cellSelectHandler,
|
|
2012
|
-
onCellCommit: cellCommitHandler,
|
|
2013
|
-
onColResize: colResizeHandler,
|
|
2014
|
-
onRowResize: rowResizeHandler,
|
|
2015
|
-
findHl: findHighlights,
|
|
2016
|
-
onHyperlinkClick,
|
|
2017
|
-
isPresentationPassive,
|
|
2018
|
-
handleMediaPlayStateChange,
|
|
2019
|
-
presentationElementStates,
|
|
2020
|
-
slideElements: activeSlide?.elements,
|
|
2021
|
-
allSlides,
|
|
2022
|
-
onZoomClick,
|
|
2023
|
-
sourceSlideIndex,
|
|
2024
|
-
fieldContext,
|
|
2025
|
-
tableStyleContext,
|
|
2026
|
-
canEditSmartArt,
|
|
2027
|
-
onUpdateSmartArtElement: smartArtUpdateHandler,
|
|
2028
|
-
canEditChart,
|
|
2029
|
-
onUpdateChartElement: chartUpdateHandler,
|
|
2030
|
-
onFormatText
|
|
2022
|
+
isFullscreenMedia,
|
|
2023
|
+
isImg: isImg || isModel3D,
|
|
2024
|
+
zIndex,
|
|
2025
|
+
opacity,
|
|
2026
|
+
animationState,
|
|
2027
|
+
shapeVisualStyle: ss,
|
|
2028
|
+
has3DExtrusion: extrusionData.hasExtrusion,
|
|
2029
|
+
templateEditing
|
|
2031
2030
|
}),
|
|
2032
|
-
|
|
2033
|
-
|
|
2034
|
-
|
|
2035
|
-
{
|
|
2036
|
-
|
|
2037
|
-
|
|
2038
|
-
|
|
2039
|
-
|
|
2040
|
-
|
|
2041
|
-
|
|
2042
|
-
|
|
2043
|
-
|
|
2044
|
-
|
|
2045
|
-
|
|
2046
|
-
|
|
2047
|
-
|
|
2031
|
+
...interactionProps,
|
|
2032
|
+
children: [
|
|
2033
|
+
renderDagDuotoneFilterForElement(el),
|
|
2034
|
+
/* @__PURE__ */ jsx(ShapeEffectOverlay, { element: el }),
|
|
2035
|
+
extrusionData.hasExtrusion && /* @__PURE__ */ jsx(Extrusion3DOverlay, { data: extrusionData }),
|
|
2036
|
+
renderBody({
|
|
2037
|
+
el,
|
|
2038
|
+
isImg,
|
|
2039
|
+
isEditing: effectiveIsInlineEditing,
|
|
2040
|
+
editText: inlineEditingText,
|
|
2041
|
+
spellCheck: spellCheckEnabled,
|
|
2042
|
+
txtSE,
|
|
2043
|
+
txtS: ts,
|
|
2044
|
+
vecShape: vs,
|
|
2045
|
+
imgStyle: getImageRenderStyle(el),
|
|
2046
|
+
imgFilter: getImageEffectsFilter(el),
|
|
2047
|
+
imgOpacity: getImageEffectsOpacity(el),
|
|
2048
|
+
imgAlt: imageAltText,
|
|
2049
|
+
isTxtEl: isTxt,
|
|
2050
|
+
media: mediaDataUrls,
|
|
2051
|
+
tableSt: tableEditorState,
|
|
2052
|
+
isSel: isSelected,
|
|
2053
|
+
doInk,
|
|
2054
|
+
doGrp,
|
|
2055
|
+
renderGroupChild: (child, index) => /* @__PURE__ */ jsx(
|
|
2056
|
+
StaticElementRenderer,
|
|
2057
|
+
{
|
|
2058
|
+
element: child,
|
|
2059
|
+
activeSlide,
|
|
2060
|
+
allSlides,
|
|
2061
|
+
mediaDataUrls,
|
|
2062
|
+
sourceSlideIndex,
|
|
2063
|
+
zIndex: index,
|
|
2064
|
+
animation: presentationElementStates?.get(child.id)?.cssAnimation,
|
|
2065
|
+
exposeElementId: true,
|
|
2066
|
+
parentGroupFill: getGroupChildParentFill(el),
|
|
2067
|
+
onActionClick: el.actionClick ? void 0 : onActionClick,
|
|
2068
|
+
actionRequiresModifier: effectiveCanInteract
|
|
2069
|
+
},
|
|
2070
|
+
child.id
|
|
2071
|
+
),
|
|
2072
|
+
onEditChange: onInlineEditChange,
|
|
2073
|
+
onCommit: onInlineEditCommit,
|
|
2074
|
+
onCancel: onInlineEditCancel,
|
|
2075
|
+
onCellSel: cellSelectHandler,
|
|
2076
|
+
onCellCommit: cellCommitHandler,
|
|
2077
|
+
onColResize: colResizeHandler,
|
|
2078
|
+
onRowResize: rowResizeHandler,
|
|
2079
|
+
findHl: findHighlights,
|
|
2080
|
+
onHyperlinkClick,
|
|
2081
|
+
isPresentationPassive,
|
|
2082
|
+
handleMediaPlayStateChange,
|
|
2083
|
+
presentationElementStates,
|
|
2084
|
+
slideElements: activeSlide?.elements,
|
|
2085
|
+
allSlides,
|
|
2086
|
+
onZoomClick,
|
|
2087
|
+
sourceSlideIndex,
|
|
2088
|
+
fieldContext,
|
|
2089
|
+
tableStyleContext,
|
|
2090
|
+
canEditSmartArt,
|
|
2091
|
+
onUpdateSmartArtElement: smartArtUpdateHandler,
|
|
2092
|
+
canEditChart,
|
|
2093
|
+
onUpdateChartElement: chartUpdateHandler,
|
|
2094
|
+
onFormatText
|
|
2095
|
+
}),
|
|
2096
|
+
/* @__PURE__ */ jsx(ActionAffordances, { affordance: actionAffordance })
|
|
2097
|
+
]
|
|
2098
|
+
}
|
|
2099
|
+
),
|
|
2100
|
+
effectiveShowResizeHandles && !effectiveIsInlineEditing && // A SIBLING of the shape's own (possibly clip-path'd) container, not a
|
|
2101
|
+
// child: `clip-path` excludes every descendant from hit-testing, not
|
|
2102
|
+
// just paint, so a handle measured onto a preset vertex outside the
|
|
2103
|
+
// shape's silhouette (see `getHandleHostStyle`) would be unclickable
|
|
2104
|
+
// if nested inside it. `pointerEvents: 'none'` on the host keeps every
|
|
2105
|
+
// non-handle pixel click-through to whatever is actually under it.
|
|
2106
|
+
/* @__PURE__ */ jsx("div", { style: getHandleHostStyle({ el, isFullscreenMedia, zIndex }), children: /* @__PURE__ */ jsx(
|
|
2107
|
+
ResizeHandles,
|
|
2108
|
+
{
|
|
2109
|
+
elementId: el.id,
|
|
2110
|
+
adjustmentHandles: adjH,
|
|
2111
|
+
onResizePointerDown,
|
|
2112
|
+
onAdjustmentPointerDown,
|
|
2113
|
+
rotation: el.rotation,
|
|
2114
|
+
nonRotationTransform: getElementTransformWithoutRotation(el),
|
|
2115
|
+
onRotate: allow.rotatable ? onRotate : void 0,
|
|
2116
|
+
forcePointerEvents: true
|
|
2117
|
+
}
|
|
2118
|
+
) })
|
|
2119
|
+
] });
|
|
2048
2120
|
}
|
|
2049
2121
|
);
|
|
2050
2122
|
function renderPressureStroke(pathD, widths, baseWidth, color, opacity, keyPrefix) {
|
|
@@ -2606,7 +2678,7 @@ function FailedToLoad2() {
|
|
|
2606
2678
|
var LazyModel3DScene = React15.lazy(
|
|
2607
2679
|
async () => {
|
|
2608
2680
|
try {
|
|
2609
|
-
return await import('./Model3DScene-
|
|
2681
|
+
return await import('./Model3DScene-ZO6U7YVU.mjs');
|
|
2610
2682
|
} catch {
|
|
2611
2683
|
return { default: FailedToLoad2 };
|
|
2612
2684
|
}
|
|
@@ -3575,17 +3647,13 @@ function SmartArtRendererImpl({
|
|
|
3575
3647
|
}
|
|
3576
3648
|
);
|
|
3577
3649
|
} else {
|
|
3578
|
-
const layout =
|
|
3650
|
+
const layout = computeSmartArtElementLayout(
|
|
3651
|
+
smartArtData,
|
|
3579
3652
|
revealedNodes,
|
|
3580
3653
|
{ width: element.width, height: element.height },
|
|
3581
3654
|
palette,
|
|
3582
3655
|
style,
|
|
3583
|
-
element.id
|
|
3584
|
-
smartArtData.resolvedLayoutType,
|
|
3585
|
-
smartArtData.layout,
|
|
3586
|
-
void 0,
|
|
3587
|
-
smartArtData.layoutDefinition,
|
|
3588
|
-
smartArtData.presLayoutVars
|
|
3656
|
+
element.id
|
|
3589
3657
|
);
|
|
3590
3658
|
const nodeIds = flattenNodes(revealedNodes).map((n) => n.id);
|
|
3591
3659
|
content = /* @__PURE__ */ jsx(SmartArtLayoutSvg, { layout, nodeIds, nodeLabels });
|
|
@@ -3690,20 +3758,19 @@ function SmartArt3DRenderer({
|
|
|
3690
3758
|
if (element.type !== "smartArt" || !element.smartArtData) {
|
|
3691
3759
|
return null;
|
|
3692
3760
|
}
|
|
3693
|
-
const { nodes,
|
|
3761
|
+
const { nodes, chrome } = element.smartArtData;
|
|
3694
3762
|
if (nodes.length === 0) {
|
|
3695
3763
|
return null;
|
|
3696
3764
|
}
|
|
3697
3765
|
const palette = resolvePalette2(element);
|
|
3698
3766
|
const style = resolveStyle(element);
|
|
3699
|
-
const layoutResult =
|
|
3767
|
+
const layoutResult = computeSmartArtElementLayout(
|
|
3768
|
+
element.smartArtData,
|
|
3700
3769
|
nodes,
|
|
3701
3770
|
{ width: element.width, height: element.height },
|
|
3702
3771
|
palette,
|
|
3703
3772
|
style,
|
|
3704
|
-
element.id
|
|
3705
|
-
resolvedLayoutType,
|
|
3706
|
-
layout
|
|
3773
|
+
element.id
|
|
3707
3774
|
);
|
|
3708
3775
|
return buildSmartArt3DModel(layoutResult, {
|
|
3709
3776
|
background: chrome?.backgroundColor,
|
|
@@ -5805,7 +5872,7 @@ function AccountPage() {
|
|
|
5805
5872
|
return void 0;
|
|
5806
5873
|
});
|
|
5807
5874
|
};
|
|
5808
|
-
const version = "
|
|
5875
|
+
const version = "3.0.0" ;
|
|
5809
5876
|
return /* @__PURE__ */ jsxs("div", { className: "mt-8 max-w-[700px] space-y-6", children: [
|
|
5810
5877
|
/* @__PURE__ */ jsxs("section", { className: cardClass, children: [
|
|
5811
5878
|
/* @__PURE__ */ jsxs("h2", { className: "flex items-center gap-2 text-sm font-semibold", children: [
|
|
@@ -14060,6 +14127,10 @@ function NotesMasterCanvas({
|
|
|
14060
14127
|
}, [canvasSize.width, canvasSize.height, pageWidth, pageHeight]);
|
|
14061
14128
|
const scaledWidth = pageWidth * scale;
|
|
14062
14129
|
const scaledHeight = pageHeight * scale;
|
|
14130
|
+
const bodyFontSize = useMemo(
|
|
14131
|
+
() => resolveNotesSchematicBodyFontSizePx(notesMaster?.notesStyle, scale),
|
|
14132
|
+
[notesMaster?.notesStyle, scale]
|
|
14133
|
+
);
|
|
14063
14134
|
const placeholders = useMemo(() => {
|
|
14064
14135
|
if (!notesMaster?.placeholders) {
|
|
14065
14136
|
return [
|
|
@@ -14125,13 +14196,14 @@ function NotesMasterCanvas({
|
|
|
14125
14196
|
return /* @__PURE__ */ jsx(
|
|
14126
14197
|
"div",
|
|
14127
14198
|
{
|
|
14199
|
+
"data-region": ph.type,
|
|
14128
14200
|
className: "absolute overflow-auto border border-solid border-gray-200 p-2",
|
|
14129
14201
|
style: {
|
|
14130
14202
|
left: pos.x * scaledWidth,
|
|
14131
14203
|
top: pos.y * scaledHeight,
|
|
14132
14204
|
width: pos.w * scaledWidth,
|
|
14133
14205
|
height: pos.h * scaledHeight,
|
|
14134
|
-
fontSize:
|
|
14206
|
+
fontSize: bodyFontSize,
|
|
14135
14207
|
lineHeight: 1.4,
|
|
14136
14208
|
color: "#374151",
|
|
14137
14209
|
whiteSpace: "pre-wrap"
|
|
@@ -15594,7 +15666,8 @@ function renderRichNotesSegments(segments) {
|
|
|
15594
15666
|
}
|
|
15595
15667
|
function NotesPrintDialog({
|
|
15596
15668
|
slides,
|
|
15597
|
-
onClose
|
|
15669
|
+
onClose,
|
|
15670
|
+
notesStyle
|
|
15598
15671
|
}) {
|
|
15599
15672
|
const { t } = useTranslation();
|
|
15600
15673
|
const printFrameRef = useRef(null);
|
|
@@ -15605,57 +15678,12 @@ function NotesPrintDialog({
|
|
|
15605
15678
|
}
|
|
15606
15679
|
const doc = iframe.contentWindow.document;
|
|
15607
15680
|
doc.open();
|
|
15608
|
-
doc.write(
|
|
15609
|
-
body { font-family: Arial, sans-serif; margin: 0; padding: 20px; color: #222; }
|
|
15610
|
-
.slide-page { page-break-after: always; margin-bottom: 40px; }
|
|
15611
|
-
.slide-page:last-child { page-break-after: auto; }
|
|
15612
|
-
.slide-header { font-size: 14px; font-weight: bold; margin-bottom: 12px; color: #555; }
|
|
15613
|
-
.slide-thumb { width: 100%; max-width: 600px; aspect-ratio: 16/9; background: #f0f0f0;
|
|
15614
|
-
border: 1px solid #ccc; display: flex; align-items: center; justify-content: center;
|
|
15615
|
-
color: #999; font-size: 24px; margin-bottom: 16px; }
|
|
15616
|
-
.notes-text { font-size: 12px; line-height: 1.6; white-space: pre-wrap; }
|
|
15617
|
-
.notes-text .bullet { margin-right: 6px; }
|
|
15618
|
-
.notes-text .para { margin: 2px 0; }
|
|
15619
|
-
@media print { body { padding: 0; } }
|
|
15620
|
-
</style></head><body>`);
|
|
15621
|
-
for (const slide of slides) {
|
|
15622
|
-
const segs = getSlideNotesSegments(slide);
|
|
15623
|
-
const paras = segmentsToParagraphs(segs);
|
|
15624
|
-
doc.write(`<div class="slide-page">`);
|
|
15625
|
-
doc.write(
|
|
15626
|
-
`<div class="slide-header">${escapeHtml2(t("pptx.notes.slideN", { n: slide.slideNumber }))}</div>`
|
|
15627
|
-
);
|
|
15628
|
-
doc.write(
|
|
15629
|
-
`<div class="slide-thumb">${escapeHtml2(t("pptx.notes.slideN", { n: slide.slideNumber }))}</div>`
|
|
15630
|
-
);
|
|
15631
|
-
doc.write(`<div class="notes-text">`);
|
|
15632
|
-
let numCounter = 0;
|
|
15633
|
-
for (const para of paras) {
|
|
15634
|
-
if (para.bulletType === "numbered") {
|
|
15635
|
-
numCounter++;
|
|
15636
|
-
} else {
|
|
15637
|
-
numCounter = 0;
|
|
15638
|
-
}
|
|
15639
|
-
const indent = para.indentLevel * 24;
|
|
15640
|
-
let prefix = "";
|
|
15641
|
-
if (para.bulletType === "bullet") {
|
|
15642
|
-
prefix = "\u2022 ";
|
|
15643
|
-
} else if (para.bulletType === "numbered") {
|
|
15644
|
-
prefix = `${numCounter}. `;
|
|
15645
|
-
}
|
|
15646
|
-
const text = para.segments.filter((s) => !s.isParagraphBreak).map((s) => escapeHtml2(s.text)).join("");
|
|
15647
|
-
doc.write(
|
|
15648
|
-
`<div class="para" style="padding-left:${indent}px">${escapeHtml2(prefix)}${text}</div>`
|
|
15649
|
-
);
|
|
15650
|
-
}
|
|
15651
|
-
doc.write(`</div></div>`);
|
|
15652
|
-
}
|
|
15653
|
-
doc.write(`</body></html>`);
|
|
15681
|
+
doc.write(buildNotesPrintHtml(slides, (n) => t("pptx.notes.slideN", { n }), notesStyle));
|
|
15654
15682
|
doc.close();
|
|
15655
15683
|
setTimeout(() => {
|
|
15656
15684
|
iframe.contentWindow?.print();
|
|
15657
15685
|
}, 200);
|
|
15658
|
-
}, [slides, t]);
|
|
15686
|
+
}, [slides, t, notesStyle]);
|
|
15659
15687
|
return /* @__PURE__ */ jsx("div", { className: "fixed inset-0 z-50 flex items-center justify-center bg-black/60", children: /* @__PURE__ */ jsxs("div", { className: "bg-background border border-border rounded-lg shadow-xl w-[640px] max-h-[80vh] flex flex-col max-md:fixed max-md:inset-x-0 max-md:bottom-0 max-md:top-auto max-md:w-full max-md:max-w-none max-md:max-h-[88dvh] max-md:rounded-t-2xl max-md:rounded-b-none max-md:border-x-0 max-md:border-b-0 max-md:pb-[max(env(safe-area-inset-bottom),0px)]", children: [
|
|
15660
15688
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between px-4 py-3 border-b border-border", children: [
|
|
15661
15689
|
/* @__PURE__ */ jsx("span", { className: "text-sm font-medium text-foreground", children: t("pptx.notes.printNotes") }),
|
|
@@ -15670,7 +15698,7 @@ function NotesPrintDialog({
|
|
|
15670
15698
|
)
|
|
15671
15699
|
] }),
|
|
15672
15700
|
/* @__PURE__ */ jsx("div", { className: "flex-1 overflow-y-auto p-4 space-y-4", children: slides.map((slide) => {
|
|
15673
|
-
const segs =
|
|
15701
|
+
const segs = resolveNotesSegments(slide, notesStyle);
|
|
15674
15702
|
const hasText = segmentsToPlainText(segs).trim().length > 0;
|
|
15675
15703
|
return /* @__PURE__ */ jsxs("div", { className: "border border-border/50 rounded p-3", children: [
|
|
15676
15704
|
/* @__PURE__ */ jsx("div", { className: "text-xs font-medium text-muted-foreground mb-2", children: t("pptx.notes.slideN", { n: slide.slideNumber }) }),
|
|
@@ -15698,9 +15726,6 @@ function NotesPrintDialog({
|
|
|
15698
15726
|
)
|
|
15699
15727
|
] }) });
|
|
15700
15728
|
}
|
|
15701
|
-
function getSlideNotesSegments(slide) {
|
|
15702
|
-
return slide.notesSegments && slide.notesSegments.length > 0 ? slide.notesSegments : createPlainNotesSegments(slide.notes ?? "");
|
|
15703
|
-
}
|
|
15704
15729
|
function HyperlinkPopover({
|
|
15705
15730
|
initialText,
|
|
15706
15731
|
onInsert,
|
|
@@ -15921,11 +15946,12 @@ function useSlideNotes({
|
|
|
15921
15946
|
isExpanded,
|
|
15922
15947
|
canEdit,
|
|
15923
15948
|
onToggle,
|
|
15924
|
-
onUpdateNotes
|
|
15949
|
+
onUpdateNotes,
|
|
15950
|
+
notesStyle
|
|
15925
15951
|
}) {
|
|
15926
15952
|
const initialSegments = useMemo(
|
|
15927
|
-
() =>
|
|
15928
|
-
[activeSlide
|
|
15953
|
+
() => resolveNotesSegments(activeSlide, notesStyle),
|
|
15954
|
+
[activeSlide, notesStyle]
|
|
15929
15955
|
);
|
|
15930
15956
|
const [draft, setDraft] = useState(activeSlide?.notes ?? "");
|
|
15931
15957
|
const [draftSegments, setDraftSegments] = useState(initialSegments);
|
|
@@ -15938,16 +15964,18 @@ function useSlideNotes({
|
|
|
15938
15964
|
const savedSelectionRef = useRef(null);
|
|
15939
15965
|
const isInternalInputRef = useRef(false);
|
|
15940
15966
|
const lastSavedTextRef = useRef(null);
|
|
15967
|
+
const activeSlideRef = useRef(activeSlide);
|
|
15968
|
+
activeSlideRef.current = activeSlide;
|
|
15941
15969
|
useEffect(() => {
|
|
15942
15970
|
const nextText = activeSlide?.notes ?? "";
|
|
15943
15971
|
if (nextText === lastSavedTextRef.current) {
|
|
15944
15972
|
return;
|
|
15945
15973
|
}
|
|
15946
|
-
const nextSegments =
|
|
15974
|
+
const nextSegments = resolveNotesSegments(activeSlideRef.current, notesStyle);
|
|
15947
15975
|
setDraft(nextText);
|
|
15948
15976
|
setDraftSegments(nextSegments);
|
|
15949
15977
|
setIsRichEditEnabled(nextSegments.length > 0);
|
|
15950
|
-
}, [activeSlide?.id, activeSlide?.notes, activeSlide?.notesSegments]);
|
|
15978
|
+
}, [activeSlide?.id, activeSlide?.notes, activeSlide?.notesSegments, notesStyle]);
|
|
15951
15979
|
useEffect(() => {
|
|
15952
15980
|
if (!isRichEditEnabled || !isExpanded || !canEdit || !richEditorRef.current) {
|
|
15953
15981
|
return;
|
|
@@ -16174,7 +16202,8 @@ function SlideNotesPanel({
|
|
|
16174
16202
|
canEdit,
|
|
16175
16203
|
onToggle,
|
|
16176
16204
|
onUpdateNotes,
|
|
16177
|
-
panelHeight
|
|
16205
|
+
panelHeight,
|
|
16206
|
+
notesStyle
|
|
16178
16207
|
}) {
|
|
16179
16208
|
const { t } = useTranslation();
|
|
16180
16209
|
const {
|
|
@@ -16207,7 +16236,8 @@ function SlideNotesPanel({
|
|
|
16207
16236
|
isExpanded,
|
|
16208
16237
|
canEdit,
|
|
16209
16238
|
onToggle,
|
|
16210
|
-
onUpdateNotes
|
|
16239
|
+
onUpdateNotes,
|
|
16240
|
+
notesStyle
|
|
16211
16241
|
});
|
|
16212
16242
|
const hasNotes = draft.trim().length > 0;
|
|
16213
16243
|
const slideLabel = activeSlide ? t("pptx.notes.slideN", { n: activeSlide.slideNumber }) : t("pptx.notes.noSlide");
|
|
@@ -16328,7 +16358,14 @@ function SlideNotesPanel({
|
|
|
16328
16358
|
]
|
|
16329
16359
|
}
|
|
16330
16360
|
),
|
|
16331
|
-
showPrintDialog && allSlides && /* @__PURE__ */ jsx(
|
|
16361
|
+
showPrintDialog && allSlides && /* @__PURE__ */ jsx(
|
|
16362
|
+
NotesPrintDialog,
|
|
16363
|
+
{
|
|
16364
|
+
slides: allSlides,
|
|
16365
|
+
onClose: () => setShowPrintDialog(false),
|
|
16366
|
+
notesStyle
|
|
16367
|
+
}
|
|
16368
|
+
)
|
|
16332
16369
|
]
|
|
16333
16370
|
}
|
|
16334
16371
|
)
|
|
@@ -20176,19 +20213,6 @@ var CARD2 = "rounded border border-border bg-card p-2 space-y-2";
|
|
|
20176
20213
|
var INPUT2 = "flex-1 bg-muted border border-border rounded px-1.5 py-0.5 w-full";
|
|
20177
20214
|
var BTN2 = "rounded bg-muted hover:bg-accent px-2 py-1 text-[11px] transition-colors";
|
|
20178
20215
|
var CELL_INPUT = "bg-muted border border-border rounded px-1 py-0.5 text-[11px] w-full text-center";
|
|
20179
|
-
var CHART_TYPE_OPTIONS = [
|
|
20180
|
-
{ value: "bar", labelKey: "pptx.chart.typeBar" },
|
|
20181
|
-
{ value: "line", labelKey: "pptx.chart.typeLine" },
|
|
20182
|
-
{ value: "pie", labelKey: "pptx.chart.typePie" },
|
|
20183
|
-
{ value: "doughnut", labelKey: "pptx.chart.typeDoughnut" },
|
|
20184
|
-
{ value: "area", labelKey: "pptx.chart.typeArea" },
|
|
20185
|
-
{ value: "scatter", labelKey: "pptx.chart.typeScatter" },
|
|
20186
|
-
{ value: "bubble", labelKey: "pptx.chart.typeBubble" },
|
|
20187
|
-
{ value: "radar", labelKey: "pptx.chart.typeRadar" },
|
|
20188
|
-
{ value: "stock", labelKey: "pptx.chart.typeStock" },
|
|
20189
|
-
{ value: "waterfall", labelKey: "pptx.chart.typeWaterfall" },
|
|
20190
|
-
{ value: "combo", labelKey: "pptx.chart.typeCombo" }
|
|
20191
|
-
];
|
|
20192
20216
|
var GROUPING_OPTIONS = [
|
|
20193
20217
|
{ value: "clustered", labelKey: "pptx.chart.groupingClustered" },
|
|
20194
20218
|
{ value: "stacked", labelKey: "pptx.chart.groupingStacked" },
|
|
@@ -32194,7 +32218,8 @@ function ViewerBottomPanels({
|
|
|
32194
32218
|
onSetMode,
|
|
32195
32219
|
onToggleSlideSorter,
|
|
32196
32220
|
hideStatusBar = false,
|
|
32197
|
-
hiddenActions
|
|
32221
|
+
hiddenActions,
|
|
32222
|
+
notesStyle
|
|
32198
32223
|
}) {
|
|
32199
32224
|
const { isHidden } = useToolbarVisibility(hiddenActions);
|
|
32200
32225
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
@@ -32208,7 +32233,8 @@ function ViewerBottomPanels({
|
|
|
32208
32233
|
canEdit,
|
|
32209
32234
|
onToggle: onToggleNotes,
|
|
32210
32235
|
onUpdateNotes,
|
|
32211
|
-
panelHeight: notesPanelHeight
|
|
32236
|
+
panelHeight: notesPanelHeight,
|
|
32237
|
+
notesStyle
|
|
32212
32238
|
}
|
|
32213
32239
|
),
|
|
32214
32240
|
!hideStatusBar && /* @__PURE__ */ jsx(
|
|
@@ -34546,7 +34572,7 @@ ${url}`)) {
|
|
|
34546
34572
|
var AiChatPanel = lazy(async () => {
|
|
34547
34573
|
const [{ useChat }, { default: Panel }] = await Promise.all([
|
|
34548
34574
|
import('@ai-sdk/react'),
|
|
34549
|
-
import('./AiChatPanel-
|
|
34575
|
+
import('./AiChatPanel-DMBQPAGB.mjs')
|
|
34550
34576
|
]);
|
|
34551
34577
|
function BoundAiChatPanel(props) {
|
|
34552
34578
|
return /* @__PURE__ */ jsx(Panel, { ...props, useChat });
|
|
@@ -37842,7 +37868,7 @@ var PowerPointViewer = forwardRef(
|
|
|
37842
37868
|
mode,
|
|
37843
37869
|
activeLayout: state.activeLayout,
|
|
37844
37870
|
activeMaster: state.activeMaster,
|
|
37845
|
-
|
|
37871
|
+
documentGridSpacing: state.viewProperties?.gridSpacing
|
|
37846
37872
|
});
|
|
37847
37873
|
const activeCustomShow = state.customShows.find((show) => show.id === state.activeCustomShowId) ?? null;
|
|
37848
37874
|
const hasActivePointerInteraction = useCallback(
|
|
@@ -38236,7 +38262,8 @@ var PowerPointViewer = forwardRef(
|
|
|
38236
38262
|
onSetMode: handleSetMode,
|
|
38237
38263
|
onToggleSlideSorter: () => state.setShowSlideSorter((p) => !p),
|
|
38238
38264
|
hideStatusBar: isMobile,
|
|
38239
|
-
hiddenActions
|
|
38265
|
+
hiddenActions,
|
|
38266
|
+
notesStyle: state.notesMaster?.notesStyle
|
|
38240
38267
|
}
|
|
38241
38268
|
),
|
|
38242
38269
|
mode !== "present" && isMobile && /* @__PURE__ */ jsx(
|