pptx-react-viewer 2.1.0 → 2.2.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 +8 -0
- package/dist/{AiChatPanel-VCCVHAAI.js → AiChatPanel-O4NYWO3D.js} +24 -24
- package/dist/AiChatPanel-O4NYWO3D.js.br +0 -0
- package/dist/AiChatPanel-O4NYWO3D.js.gz +0 -0
- package/dist/{AiChatPanel-RFBZWMUE.mjs → AiChatPanel-XRKEPXAM.mjs} +5 -5
- package/dist/AiChatPanel-XRKEPXAM.mjs.br +0 -0
- package/dist/AiChatPanel-XRKEPXAM.mjs.gz +0 -0
- package/dist/{Model3DScene-RQIGSYGQ.js → Model3DScene-HYE6HA2C.js} +3 -3
- package/dist/{Model3DScene-RQIGSYGQ.js.br → Model3DScene-HYE6HA2C.js.br} +0 -0
- package/dist/Model3DScene-HYE6HA2C.js.gz +0 -0
- package/dist/{Model3DScene-2M6HVWTE.mjs → Model3DScene-JN5F5C4Z.mjs} +2 -2
- package/dist/Model3DScene-JN5F5C4Z.mjs.br +0 -0
- package/dist/Model3DScene-JN5F5C4Z.mjs.gz +0 -0
- package/dist/{SurfaceChart3DScene-2FVASQGC.js → SurfaceChart3DScene-FDJ6LC4E.js} +3 -3
- package/dist/SurfaceChart3DScene-FDJ6LC4E.js.br +0 -0
- package/dist/SurfaceChart3DScene-FDJ6LC4E.js.gz +0 -0
- package/dist/{SurfaceChart3DScene-EGMWY4CZ.mjs → SurfaceChart3DScene-V7P3LQVV.mjs} +2 -2
- package/dist/{SurfaceChart3DScene-EGMWY4CZ.mjs.br → SurfaceChart3DScene-V7P3LQVV.mjs.br} +0 -0
- package/dist/SurfaceChart3DScene-V7P3LQVV.mjs.gz +0 -0
- package/dist/{chunk-46Z6MNRS.js → chunk-2QHCOESN.js} +137 -42
- package/dist/chunk-2QHCOESN.js.br +0 -0
- package/dist/chunk-2QHCOESN.js.gz +0 -0
- package/dist/{chunk-LDF77JJD.js → chunk-2U243ZEP.js} +248 -248
- package/dist/chunk-2U243ZEP.js.br +0 -0
- package/dist/chunk-2U243ZEP.js.gz +0 -0
- package/dist/{chunk-27XBWVO5.mjs → chunk-6G6S7PEI.mjs} +95 -2
- package/dist/chunk-6G6S7PEI.mjs.br +0 -0
- package/dist/{chunk-27XBWVO5.mjs.gz → chunk-6G6S7PEI.mjs.gz} +0 -0
- package/dist/{chunk-NGE7YQTF.mjs → chunk-7NSLKNCT.mjs} +68 -74
- package/dist/chunk-7NSLKNCT.mjs.br +0 -0
- package/dist/chunk-7NSLKNCT.mjs.gz +0 -0
- package/dist/{chunk-BHVCED34.mjs → chunk-I2HF7ZPO.mjs} +1 -1
- package/dist/chunk-I2HF7ZPO.mjs.br +0 -0
- package/dist/chunk-I2HF7ZPO.mjs.gz +0 -0
- package/dist/{chunk-ZRY7NLKS.js → chunk-K2AW5UXT.js} +375 -381
- package/dist/chunk-K2AW5UXT.js.br +0 -0
- package/dist/chunk-K2AW5UXT.js.gz +0 -0
- package/dist/{chunk-7DQHWPIB.mjs → chunk-O75FHZQJ.mjs} +4 -4
- package/dist/chunk-O75FHZQJ.mjs.br +0 -0
- package/dist/chunk-O75FHZQJ.mjs.gz +0 -0
- package/dist/{chunk-6YXLGMTN.mjs → chunk-PE2I5L6R.mjs} +27 -12
- package/dist/chunk-PE2I5L6R.mjs.br +0 -0
- package/dist/{chunk-6YXLGMTN.mjs.gz → chunk-PE2I5L6R.mjs.gz} +0 -0
- package/dist/{chunk-2X72MOPZ.mjs → chunk-PZTPX3HK.mjs} +10 -1
- package/dist/chunk-PZTPX3HK.mjs.br +0 -0
- package/dist/chunk-PZTPX3HK.mjs.gz +0 -0
- package/dist/{chunk-VHO53ZXZ.js → chunk-QULJW7LU.js} +1190 -917
- package/dist/chunk-QULJW7LU.js.br +0 -0
- package/dist/chunk-QULJW7LU.js.gz +0 -0
- package/dist/{chunk-CLNGAVNH.js → chunk-R2H3FHK6.js} +27 -12
- package/dist/chunk-R2H3FHK6.js.br +0 -0
- package/dist/{chunk-CLNGAVNH.js.gz → chunk-R2H3FHK6.js.gz} +0 -0
- package/dist/{chunk-Y4OSELBT.mjs → chunk-RYHBWTPI.mjs} +350 -77
- package/dist/chunk-RYHBWTPI.mjs.br +0 -0
- package/dist/chunk-RYHBWTPI.mjs.gz +0 -0
- package/dist/{chunk-SYPHGLIB.js → chunk-XJTWUXXC.js} +3 -3
- package/dist/chunk-XJTWUXXC.js.br +0 -0
- package/dist/chunk-XJTWUXXC.js.gz +0 -0
- package/dist/{chunk-CUUYYYC5.js → chunk-YIFO3WQO.js} +10 -1
- package/dist/chunk-YIFO3WQO.js.br +0 -0
- package/dist/chunk-YIFO3WQO.js.gz +0 -0
- package/dist/{dist-J6PC54PZ.mjs → dist-VEWYRBTB.mjs} +1 -1
- package/dist/dist-VEWYRBTB.mjs.br +0 -0
- package/dist/dist-VEWYRBTB.mjs.gz +0 -0
- package/dist/{dist-4LUVI3SW.js → dist-ZCJLIRYG.js} +568 -568
- package/dist/dist-ZCJLIRYG.js.br +0 -0
- package/dist/dist-ZCJLIRYG.js.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-nAyIdGqF.d.ts → index-CDCSXtK3.d.ts} +32 -16
- package/dist/index-CDCSXtK3.d.ts.map +1 -0
- package/dist/index.js +37 -37
- package/dist/index.js.br +0 -0
- package/dist/index.js.gz +0 -0
- package/dist/index.mjs +7 -7
- package/dist/index.mjs.br +0 -0
- package/dist/index.mjs.gz +0 -0
- package/dist/internals.d.ts +42 -14
- package/dist/internals.d.ts.map +1 -1
- package/dist/internals.js +80 -80
- package/dist/internals.js.br +0 -0
- package/dist/internals.js.gz +0 -0
- package/dist/internals.mjs +5 -5
- 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.js +23 -23
- package/dist/viewer/index.js.br +0 -0
- package/dist/viewer/index.js.gz +0 -0
- package/dist/viewer/index.mjs +7 -7
- package/dist/viewer/index.mjs.br +0 -0
- package/dist/viewer/index.mjs.gz +0 -0
- package/package.json +1 -1
- package/dist/AiChatPanel-RFBZWMUE.mjs.br +0 -0
- package/dist/AiChatPanel-RFBZWMUE.mjs.gz +0 -0
- package/dist/AiChatPanel-VCCVHAAI.js.br +0 -0
- package/dist/AiChatPanel-VCCVHAAI.js.gz +0 -0
- package/dist/Model3DScene-2M6HVWTE.mjs.br +0 -0
- package/dist/Model3DScene-2M6HVWTE.mjs.gz +0 -0
- package/dist/Model3DScene-RQIGSYGQ.js.gz +0 -0
- package/dist/SurfaceChart3DScene-2FVASQGC.js.br +0 -0
- package/dist/SurfaceChart3DScene-2FVASQGC.js.gz +0 -0
- package/dist/SurfaceChart3DScene-EGMWY4CZ.mjs.gz +0 -0
- package/dist/chunk-27XBWVO5.mjs.br +0 -0
- package/dist/chunk-2X72MOPZ.mjs.br +0 -0
- package/dist/chunk-2X72MOPZ.mjs.gz +0 -0
- package/dist/chunk-46Z6MNRS.js.br +0 -0
- package/dist/chunk-46Z6MNRS.js.gz +0 -0
- package/dist/chunk-6YXLGMTN.mjs.br +0 -0
- package/dist/chunk-7DQHWPIB.mjs.br +0 -0
- package/dist/chunk-7DQHWPIB.mjs.gz +0 -0
- package/dist/chunk-BHVCED34.mjs.br +0 -0
- package/dist/chunk-BHVCED34.mjs.gz +0 -0
- package/dist/chunk-CLNGAVNH.js.br +0 -0
- package/dist/chunk-CUUYYYC5.js.br +0 -0
- package/dist/chunk-CUUYYYC5.js.gz +0 -0
- package/dist/chunk-LDF77JJD.js.br +0 -0
- package/dist/chunk-LDF77JJD.js.gz +0 -0
- package/dist/chunk-NGE7YQTF.mjs.br +0 -0
- package/dist/chunk-NGE7YQTF.mjs.gz +0 -0
- package/dist/chunk-SYPHGLIB.js.br +0 -0
- package/dist/chunk-SYPHGLIB.js.gz +0 -0
- package/dist/chunk-VHO53ZXZ.js.br +0 -0
- package/dist/chunk-VHO53ZXZ.js.gz +0 -0
- package/dist/chunk-Y4OSELBT.mjs.br +0 -0
- package/dist/chunk-Y4OSELBT.mjs.gz +0 -0
- package/dist/chunk-ZRY7NLKS.js.br +0 -0
- package/dist/chunk-ZRY7NLKS.js.gz +0 -0
- package/dist/dist-4LUVI3SW.js.br +0 -0
- package/dist/dist-4LUVI3SW.js.gz +0 -0
- package/dist/dist-J6PC54PZ.mjs.br +0 -0
- package/dist/dist-J6PC54PZ.mjs.gz +0 -0
- package/dist/index-nAyIdGqF.d.ts.map +0 -1
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { computeFocusTargets, aiChangeAnimationCss, changeGhostStyle, createChatHistoryStore, toRenderableParts } from './chunk-
|
|
2
|
-
import { useReducedMotion, useViewerState, useViewerOptions, useIsMobile, useResizablePanels, useDerivedSlideState, useZoomViewport, useEditorHistory, usePresentationSetup, useTouchGestures, useViewerDialogs, useEditorOperations, useViewerIntegration, useYjsDocumentSync, useCollaborationLivePatch, useFollowMode, useBroadcastFollower, scopeLayoutOptionsToActiveSlide, useToolbarVisibility, useKeyboardInsets, useModalDismissDrag, useCollaborativeState, useVirtualizedSlides, useSwipeNavigation, useSheetDismissDrag, detectTargetType, parseEmailUrl, parseSlideFromUrl, ACTION_VERB_MAP, downloadBlob } from './chunk-
|
|
3
|
-
import { SHAPE_PRESETS, DEFAULT_STROKE_COLOR, getConnectorPathGeometry, buildLineShadowCss, buildLineGlowFilter, renderConnectorMarker, MIN_ELEMENT_SIZE, getShapeVisualStyle, getTextStyleForElement, DEFAULT_TEXT_COLOR, renderVectorShape, isConnectorOrLineElement, build3DExtrusionData, getImageRenderStyle, cn, ANIMATION_PRESET_OPTIONS, resolvePalette, resolveStyle, layoutToCategory, wrapChrome, DEFAULT_FILL_COLOR, hasDagDuotoneEffect, renderDagDuotoneSvgFilter, getTextLayoutStyle, renderTableElement, renderMediaElement, shouldRenderFallbackLabel, getCropShapeClipPath, SLIDE_TRANSITION_OPTIONS, SLIDE_NAV_THUMBNAIL_WIDTH, styleShadow, styleStroke, colour, fitFontSize, smartArtNodeGroupProps, chevronPoints, SmartArtNodeText, truncate, renderStepDownProcess, renderAlternatingFlow, renderDescendingProcess, renderPictureAccentList, renderVerticalBlockList, renderGroupedList, renderPyramidList, renderHorizontalPictureList, renderAccentProcess, renderVerticalChevronList, isImageTiled, getImageTilingStyle, getDuotoneColors, getTextWarpStyle, renderTextSegments, buildReactChartViewModel, renderChartElement, buildTextBody3DSceneStyle, TOOLBAR_SECTIONS, SHORTCUT_REFERENCE_ITEMS as SHORTCUT_REFERENCE_ITEMS$1, buildTree, treeWidth, treeDepth, nodeOpacity, gearPath, resolveSmartArtDataPalette, DEFAULT_TEXT_FONT_SIZE, DEFAULT_FONT_FAMILY, HYPERLINK_COLOR, GRID_SIZE, startPreviewAnimation, stopPreviewAnimation } from './chunk-
|
|
4
|
-
import { RULER_THICKNESS, RULER_FONT_SIZE, normalizeHexColor, colorWithOpacity, normalizeStrokeDashType, getSvgStrokeDasharray, getCompoundLineOffsets, getCompoundLineWidths, svgLineCap, getElementTransform, ACTION_BUTTON_PRESETS, isEditableTextElement, getAriaRole, getAriaLabel, getAriaRoleDescription, getImageEffectsOpacity, getImageEffectsFilter, getElementTransformWithoutRotation, EQUATION_TEMPLATES, convertLatexToOmml, convertOmmlToMathMl, sanitizeMathMl, DEFAULT_VIEWER_OPTIONS, buildUserFontFaceStyles, readStoredViewerPrefs, resolveThemeCatalogEntry, THEME_CATALOG, writeStoredViewerPrefs, openPptxFile, readBackstageRecentFile, viewerOptionsToPreferences, applyPreferenceToOptions, listAutosaveSnapshots, deleteAutosaveSnapshot, revealedSmartArtNodeCount, buildSmartArtA11y, buildCssGradientFromShapeStyle, resolveGroupChildFill, getGroupChildParentFill, getComputedEffectStyle, getSoftEdgeSvgFilter, getElementLabel, buildPreviewElements, themeToCssVars, DEFAULT_INSERT_CHART_TYPE, hasCopyableFormat, createBackstagePresentation, printPropertiesFrameSlides, printPropertiesSlidesPerPage, VIEWER_OPTIONS_TABS, DEFAULT_QUICK_ACCESS_COMMAND_IDS, buildJoinCollaborationConfig, buildCreateCollaborationConfig, generateBroadcastRoomId, DEFAULT_BROADCAST_SERVER_URL, buildBroadcastViewerUrl, resolveTransportForServerUrl, resolveDrawingShapeNodeId, buildSummaryZoomView, getImageColorWashStyle, getPendingSelectionRestore, restoreSegmentSelection, getTextCompensationTransform, applyChartBuildReveal, formatAxisValue, hasPressureVariation, getInkReplayStyles, INK_REPLAY_KEYFRAMES, resolveInkColor, resolveInkWidth, resolveInkOpacity, pressuresToWidths, getContentPartReplayStyles, resolveOleType, getOleTypeColor, getOleTypeLabel, shouldUseSvgWarp, getSlideBackgroundStyle, filterCommands, resolveTitleBarStatusKey, TITLE_BAR_CLASSES, TITLE_BAR_DEFAULT_FILE_KEY, shouldConfirmExternalHyperlink, safeOpenUrl, isPpactionUrl, parsePpactionUrl, formatVersionTimestamp, formatRelativeTime, scanAvailableFontFamilies, PRESETS, CATEGORIES, convertOmmlToLatex, clampPercent, HANDOUT_OPTIONS, TOOLBAR_TABS, SHORTCUT_REFERENCE_ITEMS, resolveViewerAddinRows, availableQuickAccessCommands, addQuickAccessCommand, removeQuickAccessCommand, moveQuickAccessCommand, activateModalFocus, buildCollaborationShareUrl,
|
|
5
|
-
import { LOCALE_CATALOG, translationsEn } from './chunk-
|
|
6
|
-
import { hasShapeProperties, hasTextProperties, SWITCHABLE_LAYOUT_TYPES, isInkElement, isImageLikeElement, getLinkedTextBoxSegments, themeColorSchemesEqual, setSmartArtNodeStyle, updateSmartArtNodeText, getSubstituteFontFamily, THEME_COLOR_SCHEME_KEYS, chartDataChangeType, chartDataUpdatePoint, chartDataAddCategory, chartDataRemoveCategory, chartDataAddSeries, chartDataRemoveSeries, setChartAxisLogScale, setChartAxisTitleStyle, setChartAxisGridlineStyle, setChartSeriesMarker, setChartSeriesChartType, setChartDataPointFill, setChartDataPointExplosion, setChartDataPointMarker, setChartDataPointLabel, getOleObjectTypeLabel, pptxActionToElementAction, applyThemeOverrideToSlide, COLOR_MAP_ALIAS_KEYS, DEFAULT_COLOR_MAP, addSmartArtNodeAsChild, removeSmartArtNode, elementActionToPptxAction, switchSmartArtLayout, addSmartArtNode, demoteSmartArtNode, promoteSmartArtNode, reorderSmartArtNode } from './chunk-
|
|
1
|
+
import { computeFocusTargets, aiChangeAnimationCss, changeGhostStyle, createChatHistoryStore, toRenderableParts } from './chunk-I2HF7ZPO.mjs';
|
|
2
|
+
import { useReducedMotion, useViewerState, useViewerOptions, useIsMobile, useResizablePanels, useDerivedSlideState, useZoomViewport, useEditorHistory, usePresentationSetup, useTouchGestures, useViewerDialogs, useEditorOperations, useViewerIntegration, useYjsDocumentSync, useCollaborationLivePatch, useFollowMode, useBroadcastFollower, scopeLayoutOptionsToActiveSlide, useToolbarVisibility, useKeyboardInsets, useModalDismissDrag, useCollaborativeState, useVirtualizedSlides, useSwipeNavigation, useSheetDismissDrag, detectTargetType, parseEmailUrl, parseSlideFromUrl, ACTION_VERB_MAP, downloadBlob } from './chunk-7NSLKNCT.mjs';
|
|
3
|
+
import { SHAPE_PRESETS, DEFAULT_STROKE_COLOR, getConnectorPathGeometry, buildLineShadowCss, buildLineGlowFilter, renderConnectorMarker, MIN_ELEMENT_SIZE, getShapeVisualStyle, getTextStyleForElement, DEFAULT_TEXT_COLOR, renderVectorShape, isConnectorOrLineElement, build3DExtrusionData, getImageRenderStyle, cn, ANIMATION_PRESET_OPTIONS, resolvePalette, resolveStyle, layoutToCategory, wrapChrome, DEFAULT_FILL_COLOR, hasDagDuotoneEffect, renderDagDuotoneSvgFilter, getTextLayoutStyle, renderTableElement, renderMediaElement, shouldRenderFallbackLabel, getCropShapeClipPath, SLIDE_TRANSITION_OPTIONS, SLIDE_NAV_THUMBNAIL_WIDTH, styleShadow, styleStroke, colour, fitFontSize, smartArtNodeGroupProps, chevronPoints, SmartArtNodeText, truncate, renderStepDownProcess, renderAlternatingFlow, renderDescendingProcess, renderPictureAccentList, renderVerticalBlockList, renderGroupedList, renderPyramidList, renderHorizontalPictureList, renderAccentProcess, renderVerticalChevronList, isImageTiled, getImageTilingStyle, getDuotoneColors, getTextWarpStyle, renderTextSegments, buildReactChartViewModel, renderChartElement, buildTextBody3DSceneStyle, TOOLBAR_SECTIONS, SHORTCUT_REFERENCE_ITEMS as SHORTCUT_REFERENCE_ITEMS$1, buildTree, treeWidth, treeDepth, nodeOpacity, gearPath, resolveSmartArtDataPalette, DEFAULT_TEXT_FONT_SIZE, DEFAULT_FONT_FAMILY, HYPERLINK_COLOR, GRID_SIZE, startPreviewAnimation, stopPreviewAnimation } from './chunk-O75FHZQJ.mjs';
|
|
4
|
+
import { RULER_THICKNESS, RULER_FONT_SIZE, normalizeHexColor, colorWithOpacity, normalizeStrokeDashType, getSvgStrokeDasharray, getCompoundLineOffsets, getCompoundLineWidths, svgLineCap, getElementTransform, ACTION_BUTTON_PRESETS, isEditableTextElement, getAriaRole, getAriaLabel, getAriaRoleDescription, getImageEffectsOpacity, getImageEffectsFilter, getElementTransformWithoutRotation, EQUATION_TEMPLATES, convertLatexToOmml, convertOmmlToMathMl, sanitizeMathMl, DEFAULT_VIEWER_OPTIONS, buildUserFontFaceStyles, readStoredViewerPrefs, resolveThemeCatalogEntry, THEME_CATALOG, writeStoredViewerPrefs, openPptxFile, readBackstageRecentFile, viewerOptionsToPreferences, applyPreferenceToOptions, listAutosaveSnapshots, deleteAutosaveSnapshot, revealedSmartArtNodeCount, buildSmartArtA11y, buildCssGradientFromShapeStyle, resolveGroupChildFill, getGroupChildParentFill, getComputedEffectStyle, getSoftEdgeSvgFilter, getElementLabel, buildPreviewElements, themeToCssVars, DEFAULT_INSERT_CHART_TYPE, hasCopyableFormat, createBackstagePresentation, printPropertiesFrameSlides, printPropertiesSlidesPerPage, VIEWER_OPTIONS_TABS, DEFAULT_QUICK_ACCESS_COMMAND_IDS, buildJoinCollaborationConfig, buildCreateCollaborationConfig, generateBroadcastRoomId, DEFAULT_BROADCAST_SERVER_URL, buildBroadcastViewerUrl, resolveTransportForServerUrl, resolveDrawingShapeNodeId, buildSummaryZoomView, getImageColorWashStyle, getPendingSelectionRestore, restoreSegmentSelection, getTextCompensationTransform, applyChartBuildReveal, formatAxisValue, hasPressureVariation, getInkReplayStyles, INK_REPLAY_KEYFRAMES, resolveInkColor, resolveInkWidth, resolveInkOpacity, pressuresToWidths, getContentPartReplayStyles, resolveOleType, getOleTypeColor, getOleTypeLabel, shouldUseSvgWarp, getSlideBackgroundStyle, filterCommands, resolveTitleBarStatusKey, TITLE_BAR_CLASSES, TITLE_BAR_DEFAULT_FILE_KEY, shouldConfirmExternalHyperlink, safeOpenUrl, isPpactionUrl, parsePpactionUrl, formatVersionTimestamp, formatRelativeTime, scanAvailableFontFamilies, PRESETS, CATEGORIES, convertOmmlToLatex, clampPercent, HANDOUT_OPTIONS, TOOLBAR_TABS, SHORTCUT_REFERENCE_ITEMS, resolveViewerAddinRows, availableQuickAccessCommands, addQuickAccessCommand, removeQuickAccessCommand, moveQuickAccessCommand, activateModalFocus, buildCollaborationShareUrl, mobileElapsedSince, isFirstSlide, isLastSlide, formatMobileElapsed, mobileSlideCounter, formatElapsed, computeInlineEditorRect, findSmartArtNodeText, rebuildDrawingShapesIfCleared, shouldCommitSmartArtNodeText, getImageSvgFilters, buildDuotoneCacheKey, getDuotoneCachedResult, applyDuotone, setDuotoneCachedResult, buildCacheKey, DEFAULT_COLOR_CHANGE_TOLERANCE, getCachedResult, applyColorChange, setCachedResult, findChartPartTarget, dragValueForPart, withChartPointValue, dragAnchorViewY, withChartTitle, computeSmartArtLayout, buildSmartArt3DModel, extractPathPoints, generatePressureCircles, isBrowserOpenableMime, formatBytes, getOleBadgeLabel, openUrlInNewTab, getWarpPath, TAB_ROW_ACTION_CLASSES, listBackstageRecentFiles, BACKSTAGE_NAV, INSERT_CHART_TYPES, SLIDE_VIRTUALIZATION_THRESHOLD, getSlideTransitionAnimations, SLIDE_TRANSITION_KEYFRAMES, presentationInkPath, getShapeAdjustmentHandleDescriptor, formatSlideCounter, isUrlSafe, computeHandoutLayout, getPrintableArea, generateNoteLineCount, computeAllNotesPages, getNotesPrintableArea, QUICK_ACCESS_COMMAND_CATALOG, notesSegmentsToSpans, erasePresentationInkAt, movePresenterPointer, appendPresentationInkPoint, NOTES_FONT_SIZE_DEFAULT, formatTime, NOTES_FONT_SIZE_MIN, clampNotesFontSize, NOTES_FONT_SIZE_STEP, NOTES_FONT_SIZE_MAX, groupIntoParagraphs, substituteFieldText, BACKSTAGE_TEMPLATES, formatBackstageDate, formatBackstageSize, DEFAULT_VIEWER_PROFILE, resolveProfileInitial, AVATAR_COLOR_SWATCHES, getConnectionSites, generateTicks, getCommentMarkerPosition, buildThemeColorGrid, THEME_COLOR_LABELS, buildSmartArtPresetData, getLocalStorageUsageSummary, saveViewerProfile, clearAllLocalViewerData, TABLE_STYLE_PRESETS, withFrameSlides, withSlidesPerPage, formatCommentTimestamp, DIRECTIONAL_PRESETS, computeMergeCellRight, computeMergeCellDown, computeSplitCell, DUOTONE_PRESETS, ARTISTIC_EFFECTS, LBL, SEL, FILL_MODE_OPTIONS, SECTION_HEADING, NUM, GRADIENT_TYPE_OPTIONS, PATTERN_OPTIONS } from './chunk-6G6S7PEI.mjs';
|
|
5
|
+
import { LOCALE_CATALOG, translationsEn } from './chunk-PZTPX3HK.mjs';
|
|
6
|
+
import { hasShapeProperties, hasTextProperties, SWITCHABLE_LAYOUT_TYPES, isInkElement, isImageLikeElement, getLinkedTextBoxSegments, themeColorSchemesEqual, setSmartArtNodeStyle, updateSmartArtNodeText, getSubstituteFontFamily, THEME_COLOR_SCHEME_KEYS, chartDataChangeType, chartDataUpdatePoint, chartDataAddCategory, chartDataRemoveCategory, chartDataAddSeries, chartDataRemoveSeries, setChartAxisLogScale, setChartAxisTitleStyle, setChartAxisGridlineStyle, setChartSeriesMarker, setChartSeriesChartType, setChartDataPointFill, setChartDataPointExplosion, setChartDataPointMarker, setChartDataPointLabel, getOleObjectTypeLabel, pptxActionToElementAction, applyThemeOverrideToSlide, COLOR_MAP_ALIAS_KEYS, DEFAULT_COLOR_MAP, addSmartArtNodeAsChild, removeSmartArtNode, elementActionToPptxAction, switchSmartArtLayout, addSmartArtNode, demoteSmartArtNode, promoteSmartArtNode, reorderSmartArtNode } from './chunk-PE2I5L6R.mjs';
|
|
7
7
|
import React32, { createContext, useMemo, useState, useCallback, lazy, forwardRef, useEffect, useRef, useContext, Suspense, useLayoutEffect, useDeferredValue } from 'react';
|
|
8
8
|
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
9
9
|
import { useTranslation } from 'react-i18next';
|
|
@@ -1336,7 +1336,7 @@ function AccountPage() {
|
|
|
1336
1336
|
return void 0;
|
|
1337
1337
|
});
|
|
1338
1338
|
};
|
|
1339
|
-
const version = "2.
|
|
1339
|
+
const version = "2.2.0" ;
|
|
1340
1340
|
return /* @__PURE__ */ jsxs("div", { className: "mt-8 max-w-[700px] space-y-6", children: [
|
|
1341
1341
|
/* @__PURE__ */ jsxs("section", { className: cardClass, children: [
|
|
1342
1342
|
/* @__PURE__ */ jsxs("h2", { className: "flex items-center gap-2 text-sm font-semibold", children: [
|
|
@@ -8340,7 +8340,7 @@ function FailedToLoad() {
|
|
|
8340
8340
|
var LazyModel3DScene = React32.lazy(
|
|
8341
8341
|
async () => {
|
|
8342
8342
|
try {
|
|
8343
|
-
return await import('./Model3DScene-
|
|
8343
|
+
return await import('./Model3DScene-JN5F5C4Z.mjs');
|
|
8344
8344
|
} catch {
|
|
8345
8345
|
return { default: FailedToLoad };
|
|
8346
8346
|
}
|
|
@@ -17978,6 +17978,54 @@ function EncryptedFileDialog({
|
|
|
17978
17978
|
)
|
|
17979
17979
|
] });
|
|
17980
17980
|
}
|
|
17981
|
+
function PresenterSlideFrame({
|
|
17982
|
+
canvasSize,
|
|
17983
|
+
zoomScale = 1,
|
|
17984
|
+
zoomOriginX = 0.5,
|
|
17985
|
+
zoomOriginY = 0.5,
|
|
17986
|
+
inkProps,
|
|
17987
|
+
children
|
|
17988
|
+
}) {
|
|
17989
|
+
const paneRef = useRef(null);
|
|
17990
|
+
const [pane, setPane] = useState(null);
|
|
17991
|
+
useEffect(() => {
|
|
17992
|
+
const el = paneRef.current;
|
|
17993
|
+
if (!el) {
|
|
17994
|
+
return;
|
|
17995
|
+
}
|
|
17996
|
+
const observer = new ResizeObserver((entries) => {
|
|
17997
|
+
const rect = entries[0]?.contentRect;
|
|
17998
|
+
if (rect && rect.width > 0 && rect.height > 0) {
|
|
17999
|
+
setPane({ width: rect.width, height: rect.height });
|
|
18000
|
+
}
|
|
18001
|
+
});
|
|
18002
|
+
observer.observe(el);
|
|
18003
|
+
const initial = el.getBoundingClientRect();
|
|
18004
|
+
if (initial.width > 0 && initial.height > 0) {
|
|
18005
|
+
setPane({ width: initial.width, height: initial.height });
|
|
18006
|
+
}
|
|
18007
|
+
return () => {
|
|
18008
|
+
observer.disconnect();
|
|
18009
|
+
};
|
|
18010
|
+
}, []);
|
|
18011
|
+
const safeWidth = Math.max(canvasSize.width, 1);
|
|
18012
|
+
const safeHeight = Math.max(canvasSize.height, 1);
|
|
18013
|
+
const fittedWidth = pane ? Math.max(1, Math.min(pane.width, pane.height * safeWidth / safeHeight)) : 0;
|
|
18014
|
+
return /* @__PURE__ */ jsx("div", { ref: paneRef, className: "flex min-h-0 w-full flex-1 items-center justify-center", children: /* @__PURE__ */ jsx(
|
|
18015
|
+
"div",
|
|
18016
|
+
{
|
|
18017
|
+
className: "relative transition-transform duration-200",
|
|
18018
|
+
style: {
|
|
18019
|
+
width: fittedWidth || void 0,
|
|
18020
|
+
transform: `scale(${zoomScale})`,
|
|
18021
|
+
transformOrigin: `${zoomOriginX * 100}% ${zoomOriginY * 100}%`,
|
|
18022
|
+
touchAction: "none"
|
|
18023
|
+
},
|
|
18024
|
+
...inkProps,
|
|
18025
|
+
children: fittedWidth > 0 && children
|
|
18026
|
+
}
|
|
18027
|
+
) });
|
|
18028
|
+
}
|
|
17981
18029
|
function PresentationAudienceEffects({ snapshot }) {
|
|
17982
18030
|
const strokes = snapshot.inkStrokes?.filter((stroke) => stroke.slideIndex === snapshot.slideIndex) ?? [];
|
|
17983
18031
|
return /* @__PURE__ */ jsxs("div", { className: "pointer-events-none absolute inset-0 z-[75] overflow-hidden", children: [
|
|
@@ -18621,15 +18669,13 @@ function PresenterView({
|
|
|
18621
18669
|
/* @__PURE__ */ jsxs("div", { className: "flex flex-1 min-h-0", children: [
|
|
18622
18670
|
/* @__PURE__ */ jsxs("div", { className: "flex-[7] flex flex-col items-center justify-center bg-black p-6 min-w-0 overflow-hidden", children: [
|
|
18623
18671
|
/* @__PURE__ */ jsxs(
|
|
18624
|
-
|
|
18672
|
+
PresenterSlideFrame,
|
|
18625
18673
|
{
|
|
18626
|
-
|
|
18627
|
-
|
|
18628
|
-
|
|
18629
|
-
|
|
18630
|
-
|
|
18631
|
-
},
|
|
18632
|
-
...ink,
|
|
18674
|
+
canvasSize,
|
|
18675
|
+
zoomScale: snapshot.zoom?.scale ?? 1,
|
|
18676
|
+
zoomOriginX: snapshot.zoom?.originX ?? 0.5,
|
|
18677
|
+
zoomOriginY: snapshot.zoom?.originY ?? 0.5,
|
|
18678
|
+
inkProps: ink,
|
|
18633
18679
|
children: [
|
|
18634
18680
|
/* @__PURE__ */ jsx(
|
|
18635
18681
|
ScaledSlidePreview,
|
|
@@ -26591,10 +26637,11 @@ function PresentationAnnotationOverlay({
|
|
|
26591
26637
|
}
|
|
26592
26638
|
onPointerUp();
|
|
26593
26639
|
}, [presentationTool, onLaserLeave, onPointerUp]);
|
|
26594
|
-
|
|
26640
|
+
const allStrokes = currentStroke ? [...annotationStrokes, currentStroke] : annotationStrokes;
|
|
26641
|
+
const isCapturing = presentationTool !== "none";
|
|
26642
|
+
if (!isCapturing && allStrokes.length === 0) {
|
|
26595
26643
|
return null;
|
|
26596
26644
|
}
|
|
26597
|
-
const allStrokes = currentStroke ? [...annotationStrokes, currentStroke] : annotationStrokes;
|
|
26598
26645
|
return /* @__PURE__ */ jsxs(
|
|
26599
26646
|
"div",
|
|
26600
26647
|
{
|
|
@@ -26602,7 +26649,7 @@ function PresentationAnnotationOverlay({
|
|
|
26602
26649
|
style: {
|
|
26603
26650
|
zIndex: 60,
|
|
26604
26651
|
cursor: getCursorForTool(presentationTool),
|
|
26605
|
-
pointerEvents: "auto"
|
|
26652
|
+
pointerEvents: isCapturing ? "auto" : "none"
|
|
26606
26653
|
},
|
|
26607
26654
|
children: [
|
|
26608
26655
|
/* @__PURE__ */ jsx(
|
|
@@ -26923,7 +26970,7 @@ function PresentationToolbar({
|
|
|
26923
26970
|
type: "button",
|
|
26924
26971
|
className: `flex items-center justify-center w-9 h-9 rounded-md transition-colors ${presenterMode ? "bg-white/25 text-white" : "text-white/70 hover:text-white hover:bg-white/10"}`,
|
|
26925
26972
|
onClick: onTogglePresenterView,
|
|
26926
|
-
title: t("pptx.presenter.presenterView", { defaultValue: "Presenter view
|
|
26973
|
+
title: t("pptx.presenter.presenterView", { defaultValue: "Presenter view" }),
|
|
26927
26974
|
"aria-label": t("pptx.presenter.presenterView", { defaultValue: "Presenter view" }),
|
|
26928
26975
|
children: /* @__PURE__ */ jsx(LuPanelRight, { size: 18 })
|
|
26929
26976
|
}
|
|
@@ -30717,7 +30764,6 @@ function ViewerPresentationLayer(props) {
|
|
|
30717
30764
|
} = props;
|
|
30718
30765
|
const presenterActive = mode === "present" && presentation.presenterMode;
|
|
30719
30766
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
30720
|
-
mode === "present" && !presentation.presenterMode && /* @__PURE__ */ jsx(PresentationAudienceEffects, { snapshot: presentation.presenterSnapshot }),
|
|
30721
30767
|
presenterActive && (isMobile ? /* @__PURE__ */ jsx(
|
|
30722
30768
|
MobilePresenterView,
|
|
30723
30769
|
{
|
|
@@ -30778,13 +30824,187 @@ function ViewerPresentationLayer(props) {
|
|
|
30778
30824
|
)
|
|
30779
30825
|
] });
|
|
30780
30826
|
}
|
|
30827
|
+
function PresentationStage({
|
|
30828
|
+
activeSlide,
|
|
30829
|
+
templateElements,
|
|
30830
|
+
canvasSize,
|
|
30831
|
+
mediaDataUrls,
|
|
30832
|
+
presentationElementStates,
|
|
30833
|
+
presentationKeyframesCss,
|
|
30834
|
+
onActionClick,
|
|
30835
|
+
onHyperlinkClick,
|
|
30836
|
+
allSlides,
|
|
30837
|
+
onZoomClick,
|
|
30838
|
+
sourceSlideIndex,
|
|
30839
|
+
fieldContext,
|
|
30840
|
+
tableStyleContext,
|
|
30841
|
+
children,
|
|
30842
|
+
screenOverlay
|
|
30843
|
+
}) {
|
|
30844
|
+
const containerRef = useRef(null);
|
|
30845
|
+
const [box, setBox] = useState(null);
|
|
30846
|
+
useEffect(() => {
|
|
30847
|
+
const el = containerRef.current;
|
|
30848
|
+
if (!el) {
|
|
30849
|
+
return;
|
|
30850
|
+
}
|
|
30851
|
+
const observer = new ResizeObserver((entries) => {
|
|
30852
|
+
const rect = entries[0]?.contentRect;
|
|
30853
|
+
if (rect && rect.width > 0 && rect.height > 0) {
|
|
30854
|
+
setBox({ width: rect.width, height: rect.height });
|
|
30855
|
+
}
|
|
30856
|
+
});
|
|
30857
|
+
observer.observe(el);
|
|
30858
|
+
const initial = el.getBoundingClientRect();
|
|
30859
|
+
if (initial.width > 0 && initial.height > 0) {
|
|
30860
|
+
setBox({ width: initial.width, height: initial.height });
|
|
30861
|
+
}
|
|
30862
|
+
return () => {
|
|
30863
|
+
observer.disconnect();
|
|
30864
|
+
};
|
|
30865
|
+
}, []);
|
|
30866
|
+
const safeWidth = Math.max(canvasSize.width, 1);
|
|
30867
|
+
const safeHeight = Math.max(canvasSize.height, 1);
|
|
30868
|
+
const scale = useMemo(() => {
|
|
30869
|
+
if (!box) {
|
|
30870
|
+
return 1;
|
|
30871
|
+
}
|
|
30872
|
+
const fit = Math.min(box.width / safeWidth, box.height / safeHeight);
|
|
30873
|
+
return fit > 0 ? fit : 1;
|
|
30874
|
+
}, [box, safeWidth, safeHeight]);
|
|
30875
|
+
const scaledWidth = safeWidth * scale;
|
|
30876
|
+
const scaledHeight = safeHeight * scale;
|
|
30877
|
+
return /* @__PURE__ */ jsxs(
|
|
30878
|
+
"div",
|
|
30879
|
+
{
|
|
30880
|
+
ref: containerRef,
|
|
30881
|
+
"data-pptx-presentation-stage": true,
|
|
30882
|
+
className: "relative flex-1 min-h-0 overflow-hidden bg-black select-none",
|
|
30883
|
+
children: [
|
|
30884
|
+
/* @__PURE__ */ jsxs(
|
|
30885
|
+
"div",
|
|
30886
|
+
{
|
|
30887
|
+
className: "absolute",
|
|
30888
|
+
style: {
|
|
30889
|
+
width: scaledWidth,
|
|
30890
|
+
height: scaledHeight,
|
|
30891
|
+
// Centre the letterboxed slide without flexbox so the box keeps a
|
|
30892
|
+
// definite size for the overlays parented to it.
|
|
30893
|
+
left: box ? Math.max(0, (box.width - scaledWidth) / 2) : 0,
|
|
30894
|
+
top: box ? Math.max(0, (box.height - scaledHeight) / 2) : 0
|
|
30895
|
+
},
|
|
30896
|
+
children: [
|
|
30897
|
+
/* @__PURE__ */ jsxs(
|
|
30898
|
+
"div",
|
|
30899
|
+
{
|
|
30900
|
+
role: "region",
|
|
30901
|
+
"aria-roledescription": "slide",
|
|
30902
|
+
"aria-label": `Slide ${(sourceSlideIndex ?? 0) + 1}`,
|
|
30903
|
+
className: "absolute top-0 left-0 overflow-hidden",
|
|
30904
|
+
style: {
|
|
30905
|
+
width: safeWidth,
|
|
30906
|
+
height: safeHeight,
|
|
30907
|
+
transform: `scale(${scale})`,
|
|
30908
|
+
transformOrigin: "top left",
|
|
30909
|
+
...getReactSlideBackgroundStyle(activeSlide)
|
|
30910
|
+
},
|
|
30911
|
+
children: [
|
|
30912
|
+
presentationKeyframesCss && /* @__PURE__ */ jsx("style", { children: presentationKeyframesCss }),
|
|
30913
|
+
templateElements.map((element, index) => /* @__PURE__ */ jsx(
|
|
30914
|
+
ElementRenderer,
|
|
30915
|
+
{
|
|
30916
|
+
element,
|
|
30917
|
+
activeSlide,
|
|
30918
|
+
isSelected: false,
|
|
30919
|
+
isInlineEditing: false,
|
|
30920
|
+
inlineEditingText: "",
|
|
30921
|
+
canInteract: false,
|
|
30922
|
+
spellCheckEnabled: false,
|
|
30923
|
+
mediaDataUrls,
|
|
30924
|
+
selectionColorClass: "blue-400",
|
|
30925
|
+
showHoverBorder: false,
|
|
30926
|
+
zIndex: index,
|
|
30927
|
+
imageAltText: "Template element",
|
|
30928
|
+
showResizeHandles: false,
|
|
30929
|
+
renderInk: false,
|
|
30930
|
+
renderGroups: true,
|
|
30931
|
+
adjustmentHandleDescriptor: null,
|
|
30932
|
+
onResizePointerDown: noop2,
|
|
30933
|
+
onAdjustmentPointerDown: noop2,
|
|
30934
|
+
onInlineEditChange: noop2,
|
|
30935
|
+
onInlineEditCommit: noop2,
|
|
30936
|
+
onInlineEditCancel: noop2,
|
|
30937
|
+
onActionClick,
|
|
30938
|
+
onHyperlinkClick,
|
|
30939
|
+
animationState: presentationElementStates?.get(element.id),
|
|
30940
|
+
presentationElementStates,
|
|
30941
|
+
allSlides,
|
|
30942
|
+
onZoomClick,
|
|
30943
|
+
sourceSlideIndex,
|
|
30944
|
+
fieldContext,
|
|
30945
|
+
tableStyleContext
|
|
30946
|
+
},
|
|
30947
|
+
`tpl-${element.id}`
|
|
30948
|
+
)),
|
|
30949
|
+
activeSlide?.elements.map((element, index) => /* @__PURE__ */ jsx(
|
|
30950
|
+
ElementRenderer,
|
|
30951
|
+
{
|
|
30952
|
+
element,
|
|
30953
|
+
activeSlide,
|
|
30954
|
+
isSelected: false,
|
|
30955
|
+
isInlineEditing: false,
|
|
30956
|
+
inlineEditingText: "",
|
|
30957
|
+
canInteract: false,
|
|
30958
|
+
spellCheckEnabled: false,
|
|
30959
|
+
mediaDataUrls,
|
|
30960
|
+
selectionColorClass: "blue-500",
|
|
30961
|
+
showHoverBorder: false,
|
|
30962
|
+
zIndex: templateElements.length + index,
|
|
30963
|
+
imageAltText: "Slide element",
|
|
30964
|
+
showResizeHandles: false,
|
|
30965
|
+
renderInk: true,
|
|
30966
|
+
renderGroups: true,
|
|
30967
|
+
adjustmentHandleDescriptor: null,
|
|
30968
|
+
onResizePointerDown: noop2,
|
|
30969
|
+
onAdjustmentPointerDown: noop2,
|
|
30970
|
+
onInlineEditChange: noop2,
|
|
30971
|
+
onInlineEditCommit: noop2,
|
|
30972
|
+
onInlineEditCancel: noop2,
|
|
30973
|
+
onActionClick,
|
|
30974
|
+
onHyperlinkClick,
|
|
30975
|
+
animationState: presentationElementStates?.get(element.id),
|
|
30976
|
+
presentationElementStates,
|
|
30977
|
+
allSlides,
|
|
30978
|
+
onZoomClick,
|
|
30979
|
+
sourceSlideIndex,
|
|
30980
|
+
fieldContext,
|
|
30981
|
+
tableStyleContext
|
|
30982
|
+
},
|
|
30983
|
+
element.id
|
|
30984
|
+
))
|
|
30985
|
+
]
|
|
30986
|
+
}
|
|
30987
|
+
),
|
|
30988
|
+
children?.(scale)
|
|
30989
|
+
]
|
|
30990
|
+
}
|
|
30991
|
+
),
|
|
30992
|
+
screenOverlay
|
|
30993
|
+
]
|
|
30994
|
+
}
|
|
30995
|
+
);
|
|
30996
|
+
}
|
|
30997
|
+
function noop2() {
|
|
30998
|
+
}
|
|
30781
30999
|
var itemClass = "block w-full whitespace-nowrap px-3 py-1.5 text-left text-xs text-foreground transition-colors hover:bg-accent";
|
|
31000
|
+
var headingClass = "px-3 pb-0.5 pt-1.5 text-[10px] font-semibold uppercase tracking-wider text-muted-foreground";
|
|
30782
31001
|
function PresentationContextMenu(p) {
|
|
30783
31002
|
const { t } = useTranslation();
|
|
30784
31003
|
const run = (action) => {
|
|
30785
31004
|
action();
|
|
30786
31005
|
p.onClose();
|
|
30787
31006
|
};
|
|
31007
|
+
const item = (label, action) => action ? /* @__PURE__ */ jsx("button", { type: "button", role: "menuitem", className: itemClass, onClick: () => run(action), children: label }) : null;
|
|
30788
31008
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
30789
31009
|
/* @__PURE__ */ jsx(
|
|
30790
31010
|
"div",
|
|
@@ -30803,32 +31023,43 @@ function PresentationContextMenu(p) {
|
|
|
30803
31023
|
"data-pptx-presentation-menu": "",
|
|
30804
31024
|
role: "menu",
|
|
30805
31025
|
tabIndex: -1,
|
|
30806
|
-
className: "fixed z-[1300] min-w-[
|
|
31026
|
+
className: "fixed z-[1300] min-w-[180px] rounded-md border border-border bg-popover py-1 shadow-xl",
|
|
30807
31027
|
style: { left: p.state.x, top: p.state.y },
|
|
30808
31028
|
onContextMenu: (e) => e.preventDefault(),
|
|
30809
31029
|
children: [
|
|
30810
|
-
|
|
30811
|
-
|
|
30812
|
-
|
|
30813
|
-
|
|
30814
|
-
|
|
30815
|
-
|
|
30816
|
-
|
|
30817
|
-
|
|
30818
|
-
|
|
30819
|
-
|
|
30820
|
-
|
|
31030
|
+
item(t("pptx.presenter.nextSlide"), p.onNext),
|
|
31031
|
+
item(t("pptx.presenter.previousSlide"), p.onPrevious),
|
|
31032
|
+
item(t("pptx.presenter.seeAllSlides"), p.onSeeAllSlides),
|
|
31033
|
+
item(t("pptx.presenter.presenterView"), p.onShowPresenterView),
|
|
31034
|
+
(p.onPointerTool || p.onEraseInk) && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
31035
|
+
/* @__PURE__ */ jsx("div", { className: "my-1 border-t border-border/60" }),
|
|
31036
|
+
/* @__PURE__ */ jsx("div", { className: headingClass, children: t("pptx.presentation.pointerTools") }),
|
|
31037
|
+
item(
|
|
31038
|
+
t("pptx.presenter.pointerArrow"),
|
|
31039
|
+
p.onPointerTool && (() => p.onPointerTool?.("none"))
|
|
31040
|
+
),
|
|
31041
|
+
item(
|
|
31042
|
+
t("pptx.presenter.pointerPen"),
|
|
31043
|
+
p.onPointerTool && (() => p.onPointerTool?.("pen"))
|
|
31044
|
+
),
|
|
31045
|
+
item(
|
|
31046
|
+
t("pptx.presenter.pointerHighlighter"),
|
|
31047
|
+
p.onPointerTool && (() => p.onPointerTool?.("highlighter"))
|
|
31048
|
+
),
|
|
31049
|
+
item(
|
|
31050
|
+
t("pptx.presentation.laserPointer"),
|
|
31051
|
+
p.onPointerTool && (() => p.onPointerTool?.("laser"))
|
|
31052
|
+
),
|
|
31053
|
+
item(t("pptx.presenter.eraseAllInk"), p.onEraseInk)
|
|
31054
|
+
] }),
|
|
31055
|
+
p.onBlank && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
31056
|
+
/* @__PURE__ */ jsx("div", { className: "my-1 border-t border-border/60" }),
|
|
31057
|
+
/* @__PURE__ */ jsx("div", { className: headingClass, children: t("pptx.presenter.screen") }),
|
|
31058
|
+
item(t("pptx.presenter.blackScreen"), () => p.onBlank?.("black")),
|
|
31059
|
+
item(t("pptx.presenter.whiteScreen"), () => p.onBlank?.("white"))
|
|
31060
|
+
] }),
|
|
30821
31061
|
/* @__PURE__ */ jsx("div", { className: "my-1 border-t border-border/60" }),
|
|
30822
|
-
|
|
30823
|
-
"button",
|
|
30824
|
-
{
|
|
30825
|
-
type: "button",
|
|
30826
|
-
role: "menuitem",
|
|
30827
|
-
className: itemClass,
|
|
30828
|
-
onClick: () => run(p.onEndShow),
|
|
30829
|
-
children: t("pptx.presenter.endPresentation")
|
|
30830
|
-
}
|
|
30831
|
-
)
|
|
31062
|
+
item(t("pptx.presenter.endPresentation"), p.onEndShow)
|
|
30832
31063
|
]
|
|
30833
31064
|
}
|
|
30834
31065
|
)
|
|
@@ -31039,7 +31270,62 @@ ${url}`)) {
|
|
|
31039
31270
|
onClose: () => findReplace.setFindReplaceOpen(false)
|
|
31040
31271
|
}
|
|
31041
31272
|
),
|
|
31042
|
-
mode === "
|
|
31273
|
+
mode === "present" ? /* @__PURE__ */ jsx(
|
|
31274
|
+
PresentationStage,
|
|
31275
|
+
{
|
|
31276
|
+
activeSlide,
|
|
31277
|
+
templateElements,
|
|
31278
|
+
canvasSize,
|
|
31279
|
+
mediaDataUrls: s.mediaDataUrls,
|
|
31280
|
+
presentationElementStates: presentation.presentationElementStates,
|
|
31281
|
+
presentationKeyframesCss: presentation.presentationKeyframesCss,
|
|
31282
|
+
onActionClick: handleActionClick,
|
|
31283
|
+
onHyperlinkClick: handleHyperlinkClick,
|
|
31284
|
+
allSlides: slides,
|
|
31285
|
+
onZoomClick: presentation.handleZoomClick,
|
|
31286
|
+
sourceSlideIndex: activeSlideIndex,
|
|
31287
|
+
fieldContext,
|
|
31288
|
+
tableStyleContext,
|
|
31289
|
+
screenOverlay: (
|
|
31290
|
+
// Blackout/whiteout, audience ink, laser and captions. Rendered on
|
|
31291
|
+
// the stage rather than beside the viewer, because the fullscreen
|
|
31292
|
+
// element is the viewer's inner container: anything mounted outside
|
|
31293
|
+
// it simply is not painted while a real fullscreen show is running.
|
|
31294
|
+
/* @__PURE__ */ jsx(PresentationAudienceEffects, { snapshot: presentation.presenterSnapshot })
|
|
31295
|
+
),
|
|
31296
|
+
children: (stageScale) => /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
31297
|
+
presentation.transitionOverlay && slides[presentation.transitionOverlay.outgoingSlideIndex] && /* @__PURE__ */ jsx(
|
|
31298
|
+
PresentationTransitionOverlay,
|
|
31299
|
+
{
|
|
31300
|
+
outgoingSlide: slides[presentation.transitionOverlay.outgoingSlideIndex],
|
|
31301
|
+
templateElements,
|
|
31302
|
+
canvasSize,
|
|
31303
|
+
transition: presentation.transitionOverlay.transition,
|
|
31304
|
+
durationMs: presentation.transitionOverlay.durationMs,
|
|
31305
|
+
onComplete: presentation.handleTransitionOverlayComplete
|
|
31306
|
+
},
|
|
31307
|
+
`${presentation.transitionOverlay.outgoingSlideIndex}-${presentation.transitionOverlay.incomingSlideIndex}`
|
|
31308
|
+
),
|
|
31309
|
+
annotations.inkMarkupVisible && /* @__PURE__ */ jsx(
|
|
31310
|
+
PresentationAnnotationOverlay,
|
|
31311
|
+
{
|
|
31312
|
+
canvasSize,
|
|
31313
|
+
editorScale: stageScale,
|
|
31314
|
+
presentationTool: annotations.presentationTool,
|
|
31315
|
+
annotationStrokes: annotations.annotationStrokes,
|
|
31316
|
+
currentStroke: annotations.currentStroke,
|
|
31317
|
+
laserPosition: annotations.laserPosition,
|
|
31318
|
+
onPointerDown: annotations.handlePointerDown,
|
|
31319
|
+
onPointerMove: annotations.handlePointerMove,
|
|
31320
|
+
onPointerUp: annotations.handlePointerUp,
|
|
31321
|
+
onLaserMove: annotations.handleLaserMove,
|
|
31322
|
+
onLaserLeave: annotations.handleLaserLeave,
|
|
31323
|
+
onEraseAtPoint: annotations.eraseAtPoint
|
|
31324
|
+
}
|
|
31325
|
+
)
|
|
31326
|
+
] })
|
|
31327
|
+
}
|
|
31328
|
+
) : mode === "master" && s.masterViewTab === "notes" ? /* @__PURE__ */ jsx(
|
|
31043
31329
|
NotesMasterCanvas,
|
|
31044
31330
|
{
|
|
31045
31331
|
notesMaster: s.notesMaster,
|
|
@@ -31076,8 +31362,6 @@ ${url}`)) {
|
|
|
31076
31362
|
gridSpacingPx,
|
|
31077
31363
|
showRulers: s.showRulers,
|
|
31078
31364
|
guides: s.guides,
|
|
31079
|
-
presentationElementStates: mode === "present" ? presentation.presentationElementStates : void 0,
|
|
31080
|
-
presentationKeyframesCss: mode === "present" ? presentation.presentationKeyframesCss : void 0,
|
|
31081
31365
|
onClick: handleElementClick,
|
|
31082
31366
|
onDoubleClick: canvasHandlers.handleElementDoubleClick,
|
|
31083
31367
|
onMouseDown: handleElementMouseDown,
|
|
@@ -31107,9 +31391,6 @@ ${url}`)) {
|
|
|
31107
31391
|
onEraseInkElement: insertHandlers.handleEraseInkElement,
|
|
31108
31392
|
onActionClick: handleActionClick,
|
|
31109
31393
|
onHyperlinkClick: handleHyperlinkClick,
|
|
31110
|
-
allSlides: mode === "present" ? slides : void 0,
|
|
31111
|
-
onZoomClick: mode === "present" ? presentation.handleZoomClick : void 0,
|
|
31112
|
-
sourceSlideIndex: mode === "present" ? activeSlideIndex : void 0,
|
|
31113
31394
|
fieldContext,
|
|
31114
31395
|
tableStyleContext,
|
|
31115
31396
|
aiActive: aiCanvasActive,
|
|
@@ -31160,17 +31441,19 @@ ${url}`)) {
|
|
|
31160
31441
|
}
|
|
31161
31442
|
}
|
|
31162
31443
|
),
|
|
31163
|
-
mode === "present" && presentation.
|
|
31164
|
-
|
|
31444
|
+
mode === "present" && presentation.allSlidesOpen && /* @__PURE__ */ jsx(
|
|
31445
|
+
PresenterSlideNavigator,
|
|
31165
31446
|
{
|
|
31166
|
-
|
|
31167
|
-
|
|
31447
|
+
slides,
|
|
31448
|
+
current: presentation.presentationSlideIndex,
|
|
31168
31449
|
canvasSize,
|
|
31169
|
-
|
|
31170
|
-
|
|
31171
|
-
|
|
31172
|
-
|
|
31173
|
-
|
|
31450
|
+
templateElements,
|
|
31451
|
+
onSelect: (index) => {
|
|
31452
|
+
presentation.navigateToSlide(index);
|
|
31453
|
+
presentation.closeAllSlides();
|
|
31454
|
+
},
|
|
31455
|
+
onClose: presentation.closeAllSlides
|
|
31456
|
+
}
|
|
31174
31457
|
),
|
|
31175
31458
|
mode === "present" && presentation.endOfShowVisible && /* @__PURE__ */ jsx(PresentationEndOverlay, { onExit: () => presentation.movePresentationSlide(1) }),
|
|
31176
31459
|
mode === "present" && presentationMenu && /* @__PURE__ */ jsx(
|
|
@@ -31181,24 +31464,14 @@ ${url}`)) {
|
|
|
31181
31464
|
onPrevious: () => presentation.movePresentationSlide(-1),
|
|
31182
31465
|
onEndShow: onEndPresentation ?? (() => {
|
|
31183
31466
|
}),
|
|
31184
|
-
onClose: () => setPresentationMenu(null)
|
|
31185
|
-
|
|
31186
|
-
|
|
31187
|
-
|
|
31188
|
-
|
|
31189
|
-
|
|
31190
|
-
|
|
31191
|
-
|
|
31192
|
-
presentationTool: annotations.presentationTool,
|
|
31193
|
-
annotationStrokes: annotations.annotationStrokes,
|
|
31194
|
-
currentStroke: annotations.currentStroke,
|
|
31195
|
-
laserPosition: annotations.laserPosition,
|
|
31196
|
-
onPointerDown: annotations.handlePointerDown,
|
|
31197
|
-
onPointerMove: annotations.handlePointerMove,
|
|
31198
|
-
onPointerUp: annotations.handlePointerUp,
|
|
31199
|
-
onLaserMove: annotations.handleLaserMove,
|
|
31200
|
-
onLaserLeave: annotations.handleLaserLeave,
|
|
31201
|
-
onEraseAtPoint: annotations.eraseAtPoint
|
|
31467
|
+
onClose: () => setPresentationMenu(null),
|
|
31468
|
+
onSeeAllSlides: presentation.openAllSlides,
|
|
31469
|
+
onShowPresenterView: presentation.togglePresenterView,
|
|
31470
|
+
onBlank: (value) => presentation.setPresenterBlackout(
|
|
31471
|
+
presentation.presenterSnapshot.blackout === value ? "none" : value
|
|
31472
|
+
),
|
|
31473
|
+
onPointerTool: (tool) => annotations.setPresentationTool(tool === "none" ? "none" : tool),
|
|
31474
|
+
onEraseInk: annotations.clearAnnotations
|
|
31202
31475
|
}
|
|
31203
31476
|
),
|
|
31204
31477
|
mode === "present" && /* @__PURE__ */ jsx(PresentationSubtitleBar, { visible: Boolean(s.presentationProperties.showSubtitles) }),
|
|
@@ -31251,7 +31524,7 @@ ${url}`)) {
|
|
|
31251
31524
|
)
|
|
31252
31525
|
);
|
|
31253
31526
|
}
|
|
31254
|
-
var AiChatPanel = lazy(() => import('./AiChatPanel-
|
|
31527
|
+
var AiChatPanel = lazy(() => import('./AiChatPanel-XRKEPXAM.mjs'));
|
|
31255
31528
|
function AiChatPanelLazy(props) {
|
|
31256
31529
|
return /* @__PURE__ */ jsx(
|
|
31257
31530
|
Suspense,
|
|
Binary file
|
|
Binary file
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkR2H3FHK6_js = require('./chunk-R2H3FHK6.js');
|
|
4
4
|
var chunk4VNS5WPM_js = require('./chunk-4VNS5WPM.js');
|
|
5
5
|
var mcp = require('pptx-viewer-mcp');
|
|
6
6
|
var mcpSchemas = require('pptx-viewer-mcp/schemas');
|
|
@@ -14879,7 +14879,7 @@ async function buildSlideMarkdown(slides, slideIndex2, meta3, options = {}) {
|
|
|
14879
14879
|
};
|
|
14880
14880
|
let markdown;
|
|
14881
14881
|
try {
|
|
14882
|
-
const converter = new
|
|
14882
|
+
const converter = new chunkR2H3FHK6_js.PptxMarkdownConverter(
|
|
14883
14883
|
"",
|
|
14884
14884
|
{
|
|
14885
14885
|
sourceName: meta3.title ?? "deck.pptx",
|
|
@@ -15470,7 +15470,7 @@ var getTheme = (ctx) => {
|
|
|
15470
15470
|
name: theme?.name,
|
|
15471
15471
|
colorScheme: theme?.colorScheme,
|
|
15472
15472
|
fontScheme: theme?.fontScheme,
|
|
15473
|
-
availablePresets: Object.keys(
|
|
15473
|
+
availablePresets: Object.keys(chunkR2H3FHK6_js.ThemePresets)
|
|
15474
15474
|
};
|
|
15475
15475
|
};
|
|
15476
15476
|
var readExecutors = {
|
|
Binary file
|
|
Binary file
|
|
@@ -377,6 +377,7 @@ var translationsEn = {
|
|
|
377
377
|
"pptx.presentation.highlighter": "Highlighter",
|
|
378
378
|
"pptx.presentation.eraser": "Eraser",
|
|
379
379
|
"pptx.presentation.laserPointer": "Laser Pointer",
|
|
380
|
+
"pptx.presentation.pointerTools": "Pointer Options",
|
|
380
381
|
// Selection pane
|
|
381
382
|
"pptx.selectionPane.title": "Selection Pane",
|
|
382
383
|
"pptx.selectionPane.empty": "No elements",
|
|
@@ -1103,9 +1104,17 @@ var translationsEn = {
|
|
|
1103
1104
|
"pptx.presenter.nextSlide": "Next Slide",
|
|
1104
1105
|
"pptx.presenter.noSlides": "No slides",
|
|
1105
1106
|
"pptx.presenter.openAudienceWindow": "Open Audience Window",
|
|
1106
|
-
"pptx.presenter.presenterView": "Presenter View
|
|
1107
|
+
"pptx.presenter.presenterView": "Presenter View",
|
|
1107
1108
|
"pptx.presenter.prev": "Prev",
|
|
1108
1109
|
"pptx.presenter.previousSlide": "Previous Slide",
|
|
1110
|
+
"pptx.presenter.seeAllSlides": "See All Slides",
|
|
1111
|
+
"pptx.presenter.screen": "Screen",
|
|
1112
|
+
"pptx.presenter.blackScreen": "Black Screen",
|
|
1113
|
+
"pptx.presenter.whiteScreen": "White Screen",
|
|
1114
|
+
"pptx.presenter.pointerArrow": "Arrow",
|
|
1115
|
+
"pptx.presenter.pointerPen": "Pen",
|
|
1116
|
+
"pptx.presenter.pointerHighlighter": "Highlighter",
|
|
1117
|
+
"pptx.presenter.eraseAllInk": "Erase All Ink on Slide",
|
|
1109
1118
|
"pptx.presenter.slideLabel": "Slide {{current}} of {{total}}",
|
|
1110
1119
|
"pptx.presenter.timerProgress": "Timer Progress",
|
|
1111
1120
|
// Print dialog
|
|
Binary file
|
|
Binary file
|