pptx-react-viewer 1.16.2 → 1.17.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 +16 -0
- package/dist/{Model3DScene-DI6FSWDL.mjs → Model3DScene-QHDYQXL2.mjs} +2 -2
- package/dist/Model3DScene-QHDYQXL2.mjs.br +0 -0
- package/dist/Model3DScene-QHDYQXL2.mjs.gz +0 -0
- package/dist/{Model3DScene-PE7L24QK.js → Model3DScene-YA4F63DT.js} +3 -3
- package/dist/Model3DScene-YA4F63DT.js.br +0 -0
- package/dist/Model3DScene-YA4F63DT.js.gz +0 -0
- package/dist/PowerPointViewer-C4d7SKZf.d.ts +21 -0
- package/dist/PowerPointViewer-C4d7SKZf.d.ts.map +1 -0
- package/dist/{SurfaceChart3DScene-NMLG3BQK.mjs → SurfaceChart3DScene-GUAS2NWQ.mjs} +2 -2
- package/dist/SurfaceChart3DScene-GUAS2NWQ.mjs.br +0 -0
- package/dist/SurfaceChart3DScene-GUAS2NWQ.mjs.gz +0 -0
- package/dist/{SurfaceChart3DScene-AJLD3VW6.js → SurfaceChart3DScene-TGNJHTJQ.js} +3 -3
- package/dist/SurfaceChart3DScene-TGNJHTJQ.js.br +0 -0
- package/dist/SurfaceChart3DScene-TGNJHTJQ.js.gz +0 -0
- package/dist/{chunk-HJQZJ3VE.mjs → chunk-5CD34U2V.mjs} +1 -1
- package/dist/chunk-5CD34U2V.mjs.br +0 -0
- package/dist/chunk-5CD34U2V.mjs.gz +0 -0
- package/dist/{chunk-46HNHBHF.mjs → chunk-G22EWPLH.mjs} +134 -4
- package/dist/chunk-G22EWPLH.mjs.br +0 -0
- package/dist/chunk-G22EWPLH.mjs.gz +0 -0
- package/dist/{chunk-JBCVQFWI.mjs → chunk-HN7CPQUG.mjs} +5 -5
- package/dist/chunk-HN7CPQUG.mjs.br +0 -0
- package/dist/chunk-HN7CPQUG.mjs.gz +0 -0
- package/dist/{chunk-WGLJ32FW.js → chunk-IZXN663G.js} +1 -1
- package/dist/chunk-IZXN663G.js.br +0 -0
- package/dist/chunk-IZXN663G.js.gz +0 -0
- package/dist/{chunk-WMRS37KQ.js → chunk-JWS3RQKN.js} +160 -28
- package/dist/chunk-JWS3RQKN.js.br +0 -0
- package/dist/chunk-JWS3RQKN.js.gz +0 -0
- package/dist/{chunk-YAQOTVZT.js → chunk-MGLRKGCH.js} +146 -66
- package/dist/chunk-MGLRKGCH.js.br +0 -0
- package/dist/chunk-MGLRKGCH.js.gz +0 -0
- package/dist/{chunk-DZF4BNRP.mjs → chunk-PCQH2UBR.mjs} +230 -232
- package/dist/chunk-PCQH2UBR.mjs.br +0 -0
- package/dist/chunk-PCQH2UBR.mjs.gz +0 -0
- package/dist/{chunk-MZYQUURK.js → chunk-SXCO5HHN.js} +438 -438
- package/dist/chunk-SXCO5HHN.js.br +0 -0
- package/dist/chunk-SXCO5HHN.js.gz +0 -0
- package/dist/{chunk-VRASDGWX.js → chunk-WH7YXV3I.js} +1026 -1028
- package/dist/chunk-WH7YXV3I.js.br +0 -0
- package/dist/chunk-WH7YXV3I.js.gz +0 -0
- package/dist/{chunk-X7ILBQEY.mjs → chunk-XRYREYXC.mjs} +146 -66
- package/dist/chunk-XRYREYXC.mjs.br +0 -0
- package/dist/chunk-XRYREYXC.mjs.gz +0 -0
- package/dist/{dist-VMFNUFUX.js → dist-2ZAH7U6U.js} +507 -507
- package/dist/dist-2ZAH7U6U.js.br +0 -0
- package/dist/dist-2ZAH7U6U.js.gz +0 -0
- package/dist/{dist-JJ2NI2O3.mjs → dist-MXDC6YTS.mjs} +1 -1
- package/dist/dist-MXDC6YTS.mjs.br +0 -0
- package/dist/dist-MXDC6YTS.mjs.gz +0 -0
- package/dist/hooks-unstable.d.ts +9683 -1886
- package/dist/hooks-unstable.d.ts.map +1 -0
- package/dist/hooks-unstable.js +75 -75
- package/dist/hooks-unstable.js.br +0 -0
- package/dist/hooks-unstable.js.gz +0 -0
- package/dist/hooks-unstable.mjs +4 -4
- package/dist/hooks-unstable.mjs.br +0 -0
- package/dist/hooks-unstable.mjs.gz +0 -0
- package/dist/i18n.d.ts +27 -1
- package/dist/i18n.d.ts.map +1 -0
- package/dist/i18n.js +3 -3
- package/dist/i18n.js.br +1 -1
- 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-XGt7MZpa.d.ts +607 -0
- package/dist/index-XGt7MZpa.d.ts.map +1 -0
- package/dist/index.d.ts +4753 -10
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +19 -19
- 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/types-BK7Nt13M.d.ts +483 -0
- package/dist/types-BK7Nt13M.d.ts.map +1 -0
- package/dist/viewer/index.d.ts +8008 -88
- package/dist/viewer/index.d.ts.map +1 -0
- package/dist/viewer/index.js +20 -20
- 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 +6 -5
- package/dist/Model3DScene-DI6FSWDL.mjs.br +0 -0
- package/dist/Model3DScene-DI6FSWDL.mjs.gz +0 -0
- package/dist/Model3DScene-PE7L24QK.js.br +0 -0
- package/dist/Model3DScene-PE7L24QK.js.gz +0 -0
- package/dist/PowerPointViewer-BsaUH3ZT.d.ts +0 -26
- package/dist/PowerPointViewer-Nxku67uL.d.mts +0 -26
- package/dist/SurfaceChart3DScene-AJLD3VW6.js.br +0 -0
- package/dist/SurfaceChart3DScene-AJLD3VW6.js.gz +0 -0
- package/dist/SurfaceChart3DScene-NMLG3BQK.mjs.br +0 -0
- package/dist/SurfaceChart3DScene-NMLG3BQK.mjs.gz +0 -0
- package/dist/chunk-46HNHBHF.mjs.br +0 -0
- package/dist/chunk-46HNHBHF.mjs.gz +0 -0
- package/dist/chunk-DZF4BNRP.mjs.br +0 -0
- package/dist/chunk-DZF4BNRP.mjs.gz +0 -0
- package/dist/chunk-HJQZJ3VE.mjs.br +0 -0
- package/dist/chunk-HJQZJ3VE.mjs.gz +0 -0
- package/dist/chunk-JBCVQFWI.mjs.br +0 -0
- package/dist/chunk-JBCVQFWI.mjs.gz +0 -0
- package/dist/chunk-MZYQUURK.js.br +0 -0
- package/dist/chunk-MZYQUURK.js.gz +0 -0
- package/dist/chunk-VRASDGWX.js.br +0 -0
- package/dist/chunk-VRASDGWX.js.gz +0 -0
- package/dist/chunk-WGLJ32FW.js.br +0 -0
- package/dist/chunk-WGLJ32FW.js.gz +0 -0
- package/dist/chunk-WMRS37KQ.js.br +0 -0
- package/dist/chunk-WMRS37KQ.js.gz +0 -0
- package/dist/chunk-X7ILBQEY.mjs.br +0 -0
- package/dist/chunk-X7ILBQEY.mjs.gz +0 -0
- package/dist/chunk-YAQOTVZT.js.br +0 -0
- package/dist/chunk-YAQOTVZT.js.gz +0 -0
- package/dist/dist-JJ2NI2O3.mjs.br +0 -0
- package/dist/dist-JJ2NI2O3.mjs.gz +0 -0
- package/dist/dist-VMFNUFUX.js.br +0 -0
- package/dist/dist-VMFNUFUX.js.gz +0 -0
- package/dist/hooks-unstable.d.mts +0 -2300
- package/dist/i18n.d.mts +0 -1
- package/dist/index.d.mts +0 -46
- package/dist/types-ui-NG29h55h.d.mts +0 -712
- package/dist/types-ui-NG29h55h.d.ts +0 -712
- package/dist/usePresenterWindow-DToCijGy.d.ts +0 -1619
- package/dist/usePresenterWindow-DeTm-unp.d.mts +0 -1619
- package/dist/viewer/index.d.mts +0 -129
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { DEFAULT_STROKE_COLOR, getConnectorPathGeometry, buildLineShadowCss, buildLineGlowFilter, renderConnectorMarker, MIN_ELEMENT_SIZE, getShapeVisualStyle, getTextStyleForElement, DEFAULT_TEXT_COLOR, renderVectorShape, isConnectorOrLineElement, build3DExtrusionData, getImageRenderStyle, cn, SHAPE_PRESETS, ANIMATION_PRESET_OPTIONS, useReducedMotion, useViewerState, useIsMobile, useResizablePanels, useDerivedSlideState, useZoomViewport, useEditorHistory, usePresentationSetup, useTouchGestures, useViewerDialogs, useEditorOperations, useViewerIntegration, useYjsDocumentSync, useFollowMode, useBroadcastFollower, resolvePalette, resolveStyle, layoutToCategory, wrapChrome, SLIDE_TRANSITION_OPTIONS, DEFAULT_FILL_COLOR, shouldRenderFallbackLabel, isImageTiled, getImageTilingStyle, renderTextSegments, getTextLayoutStyle, hasDagDuotoneEffect, renderDagDuotoneSvgFilter, renderTableElement, renderMediaElement, buildTextBody3DSceneStyle, getTextWarpStyle, getCropShapeClipPath, SLIDE_NAV_THUMBNAIL_WIDTH, useKeyboardInsets, useModalDismissDrag, SHORTCUT_REFERENCE_ITEMS, useCollaborativeState, styleShadow, styleStroke, colour, fitFontSize, smartArtNodeGroupProps, chevronPoints, SmartArtNodeText, truncate, renderStepDownProcess, renderAlternatingFlow, renderDescendingProcess, renderPictureAccentList, renderVerticalBlockList, renderGroupedList, renderPyramidList, renderHorizontalPictureList, renderAccentProcess, renderVerticalChevronList, parseTableElementData, ensureArrayValue, getTableCellBandStyle, extractCellText, extractTableCellStyle, cellStyleToCss, renderChartElement, getDuotoneColors, renderDuotoneSvgFilter, renderArtisticEffectSvgFilter, renderImageAlphaSvgFilter, buildReactChartViewModel, DEFAULT_TEXT_FONT_SIZE, DEFAULT_FONT_FAMILY, TOOLBAR_SECTIONS, useVirtualizedSlides, useSwipeNavigation, useSheetDismissDrag, detectTargetType, parseEmailUrl, parseSlideFromUrl, ACTION_VERB_MAP, buildTree, treeWidth, treeDepth, nodeOpacity, gearPath, resolveSmartArtDataPalette, EMU_PER_PX, HYPERLINK_COLOR, GRID_SIZE, startPreviewAnimation, stopPreviewAnimation } from './chunk-
|
|
2
|
-
import { normalizeHexColor, colorWithOpacity, normalizeStrokeDashType, getSvgStrokeDasharray, getCompoundLineOffsets, getCompoundLineWidths, svgLineCap, getElementTransform, ACTION_BUTTON_PRESETS, isEditableTextElement, getAriaRole, getAriaLabel, getAriaRoleDescription, getImageEffectsOpacity, getImageEffectsFilter, getElementTransformWithoutRotation, RULER_THICKNESS, RULER_FONT_SIZE, convertLatexToOmml, convertOmmlToMathMl, openPptxFile, buildSmartArtA11y, buildCssGradientFromShapeStyle, getElementLabel, getTextCompensationTransform, shouldUseSvgWarp, themeToCssVars, DEFAULT_INSERT_CHART_TYPE, hasCopyableFormat, resolveTransportForServerUrl, generateBroadcastRoomId, DEFAULT_BROADCAST_SERVER_URL, buildBroadcastViewerUrl, resolveDrawingShapeNodeId, getPendingSelectionRestore, restoreSegmentSelection, formatAxisValue, hasPressureVariation, getInkReplayStyles, INK_REPLAY_KEYFRAMES, resolveInkColor, resolveInkWidth, resolveInkOpacity, pressuresToWidths, getContentPartReplayStyles, resolveOleType, getOleTypeColor, getOleTypeLabel, getWarpPath, filterCommands, resolveTitleBarStatusKey, TITLE_BAR_CLASSES, TITLE_BAR_DEFAULT_FILE_KEY, safeOpenUrl, isPpactionUrl, parsePpactionUrl, formatVersionTimestamp, formatRelativeTime, PRESETS, CATEGORIES, convertOmmlToLatex, clampPercent, HANDOUT_OPTIONS, mobileElapsedSince, isFirstSlide, isLastSlide, formatMobileElapsed, mobileSlideCounter, NOTES_FONT_SIZE_DEFAULT, clampNotesFontSize, NOTES_FONT_SIZE_STEP, formatTime, formatElapsed, NOTES_FONT_SIZE_MIN, NOTES_FONT_SIZE_MAX, computeInlineEditorRect, findSmartArtNodeText, rebuildDrawingShapesIfCleared, shouldCommitSmartArtNodeText, 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, groupIntoParagraphs, substituteFieldText, TAB_ROW_ACTION_CLASSES, INSERT_CHART_TYPES, getShapeAdjustmentHandleDescriptor, getSlideTransitionAnimations, SLIDE_TRANSITION_KEYFRAMES, formatSlideCounter, isUrlSafe, computeHandoutLayout, getPrintableArea, generateNoteLineCount, computeAllNotesPages, getNotesPrintableArea, notesSegmentsToSpans, getConnectionSites, generateTicks, getCommentMarkerPosition, buildThemeColorGrid, THEME_COLOR_LABELS, buildSmartArtPresetData, TABLE_STYLE_PRESETS, 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-
|
|
3
|
-
import { translationsEn } from './chunk-
|
|
4
|
-
import { hasShapeProperties, hasTextProperties, SWITCHABLE_LAYOUT_TYPES, isInkElement, getLinkedTextBoxSegments, isImageLikeElement, getSubstituteFontFamily, setSmartArtNodeStyle, updateSmartArtNodeText, THEME_COLOR_SCHEME_KEYS, chartDataChangeType, chartDataUpdatePoint, chartDataAddCategory, chartDataRemoveCategory, chartDataAddSeries, chartDataRemoveSeries, setChartAxisLogScale, setChartAxisTitleStyle, setChartAxisGridlineStyle, setChartSeriesMarker, setChartSeriesChartType, setChartDataPointFill, setChartDataPointExplosion, setChartDataPointMarker, setChartDataPointLabel, getOleObjectTypeLabel, pptxActionToElementAction, hasNonTrivialOverride, COLOR_MAP_ALIAS_KEYS, DEFAULT_COLOR_MAP, addSmartArtNodeAsChild, removeSmartArtNode, elementActionToPptxAction, switchSmartArtLayout, addSmartArtNode, demoteSmartArtNode, promoteSmartArtNode, reorderSmartArtNode } from './chunk-
|
|
1
|
+
import { DEFAULT_STROKE_COLOR, getConnectorPathGeometry, buildLineShadowCss, buildLineGlowFilter, renderConnectorMarker, MIN_ELEMENT_SIZE, getShapeVisualStyle, getTextStyleForElement, DEFAULT_TEXT_COLOR, renderVectorShape, isConnectorOrLineElement, build3DExtrusionData, getImageRenderStyle, cn, SHAPE_PRESETS, ANIMATION_PRESET_OPTIONS, useReducedMotion, useViewerState, useIsMobile, useResizablePanels, useDerivedSlideState, useZoomViewport, useEditorHistory, usePresentationSetup, useTouchGestures, useViewerDialogs, useEditorOperations, useViewerIntegration, useYjsDocumentSync, useFollowMode, useBroadcastFollower, resolvePalette, resolveStyle, layoutToCategory, wrapChrome, SLIDE_TRANSITION_OPTIONS, DEFAULT_FILL_COLOR, shouldRenderFallbackLabel, isImageTiled, getImageTilingStyle, renderTextSegments, getTextLayoutStyle, hasDagDuotoneEffect, renderDagDuotoneSvgFilter, renderTableElement, renderMediaElement, buildTextBody3DSceneStyle, getTextWarpStyle, getCropShapeClipPath, SLIDE_NAV_THUMBNAIL_WIDTH, useKeyboardInsets, useModalDismissDrag, SHORTCUT_REFERENCE_ITEMS, useCollaborativeState, styleShadow, styleStroke, colour, fitFontSize, smartArtNodeGroupProps, chevronPoints, SmartArtNodeText, truncate, renderStepDownProcess, renderAlternatingFlow, renderDescendingProcess, renderPictureAccentList, renderVerticalBlockList, renderGroupedList, renderPyramidList, renderHorizontalPictureList, renderAccentProcess, renderVerticalChevronList, parseTableElementData, ensureArrayValue, getTableCellBandStyle, extractCellText, extractTableCellStyle, cellStyleToCss, renderChartElement, getDuotoneColors, renderDuotoneSvgFilter, renderArtisticEffectSvgFilter, renderImageAlphaSvgFilter, buildReactChartViewModel, DEFAULT_TEXT_FONT_SIZE, DEFAULT_FONT_FAMILY, TOOLBAR_SECTIONS, useVirtualizedSlides, useSwipeNavigation, useSheetDismissDrag, detectTargetType, parseEmailUrl, parseSlideFromUrl, ACTION_VERB_MAP, buildTree, treeWidth, treeDepth, nodeOpacity, gearPath, resolveSmartArtDataPalette, EMU_PER_PX, HYPERLINK_COLOR, GRID_SIZE, startPreviewAnimation, stopPreviewAnimation } from './chunk-HN7CPQUG.mjs';
|
|
2
|
+
import { normalizeHexColor, colorWithOpacity, normalizeStrokeDashType, getSvgStrokeDasharray, getCompoundLineOffsets, getCompoundLineWidths, svgLineCap, getElementTransform, ACTION_BUTTON_PRESETS, isEditableTextElement, getAriaRole, getAriaLabel, getAriaRoleDescription, getImageEffectsOpacity, getImageEffectsFilter, getElementTransformWithoutRotation, RULER_THICKNESS, RULER_FONT_SIZE, convertLatexToOmml, convertOmmlToMathMl, buildUserFontFaceStyles, openPptxFile, buildSmartArtA11y, buildCssGradientFromShapeStyle, getElementLabel, getTextCompensationTransform, getSlideBackgroundStyle, shouldUseSvgWarp, themeToCssVars, DEFAULT_INSERT_CHART_TYPE, hasCopyableFormat, resolveTransportForServerUrl, generateBroadcastRoomId, DEFAULT_BROADCAST_SERVER_URL, buildBroadcastViewerUrl, resolveDrawingShapeNodeId, getPendingSelectionRestore, restoreSegmentSelection, formatAxisValue, hasPressureVariation, getInkReplayStyles, INK_REPLAY_KEYFRAMES, resolveInkColor, resolveInkWidth, resolveInkOpacity, pressuresToWidths, getContentPartReplayStyles, resolveOleType, getOleTypeColor, getOleTypeLabel, getWarpPath, filterCommands, resolveTitleBarStatusKey, TITLE_BAR_CLASSES, TITLE_BAR_DEFAULT_FILE_KEY, safeOpenUrl, isPpactionUrl, parsePpactionUrl, formatVersionTimestamp, formatRelativeTime, PRESETS, CATEGORIES, convertOmmlToLatex, clampPercent, HANDOUT_OPTIONS, mobileElapsedSince, isFirstSlide, isLastSlide, formatMobileElapsed, mobileSlideCounter, NOTES_FONT_SIZE_DEFAULT, clampNotesFontSize, NOTES_FONT_SIZE_STEP, formatTime, formatElapsed, NOTES_FONT_SIZE_MIN, NOTES_FONT_SIZE_MAX, computeInlineEditorRect, findSmartArtNodeText, rebuildDrawingShapesIfCleared, shouldCommitSmartArtNodeText, 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, groupIntoParagraphs, substituteFieldText, TAB_ROW_ACTION_CLASSES, INSERT_CHART_TYPES, getShapeAdjustmentHandleDescriptor, getSlideTransitionAnimations, SLIDE_TRANSITION_KEYFRAMES, formatSlideCounter, isUrlSafe, computeHandoutLayout, getPrintableArea, generateNoteLineCount, computeAllNotesPages, getNotesPrintableArea, notesSegmentsToSpans, getConnectionSites, generateTicks, getCommentMarkerPosition, buildThemeColorGrid, THEME_COLOR_LABELS, buildSmartArtPresetData, TABLE_STYLE_PRESETS, 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-G22EWPLH.mjs';
|
|
3
|
+
import { translationsEn } from './chunk-5CD34U2V.mjs';
|
|
4
|
+
import { hasShapeProperties, hasTextProperties, SWITCHABLE_LAYOUT_TYPES, isInkElement, getLinkedTextBoxSegments, isImageLikeElement, getSubstituteFontFamily, setSmartArtNodeStyle, updateSmartArtNodeText, THEME_COLOR_SCHEME_KEYS, chartDataChangeType, chartDataUpdatePoint, chartDataAddCategory, chartDataRemoveCategory, chartDataAddSeries, chartDataRemoveSeries, setChartAxisLogScale, setChartAxisTitleStyle, setChartAxisGridlineStyle, setChartSeriesMarker, setChartSeriesChartType, setChartDataPointFill, setChartDataPointExplosion, setChartDataPointMarker, setChartDataPointLabel, getOleObjectTypeLabel, pptxActionToElementAction, hasNonTrivialOverride, COLOR_MAP_ALIAS_KEYS, DEFAULT_COLOR_MAP, addSmartArtNodeAsChild, removeSmartArtNode, elementActionToPptxAction, switchSmartArtLayout, addSmartArtNode, demoteSmartArtNode, promoteSmartArtNode, reorderSmartArtNode } from './chunk-XRYREYXC.mjs';
|
|
5
5
|
import React5, { createContext, useMemo, useState, useCallback, forwardRef, useEffect, useRef, useContext, Suspense, useLayoutEffect, useDeferredValue } from 'react';
|
|
6
6
|
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
7
7
|
import { useTranslation } from 'react-i18next';
|
|
@@ -243,6 +243,7 @@ function CollaborationStatusIndicator({
|
|
|
243
243
|
return /* @__PURE__ */ jsxs(
|
|
244
244
|
"div",
|
|
245
245
|
{
|
|
246
|
+
role: "status",
|
|
246
247
|
"data-testid": "collaboration-status",
|
|
247
248
|
className: "flex items-center gap-1.5",
|
|
248
249
|
"aria-label": t("pptx.collaboration.statusAriaLabel", {
|
|
@@ -2661,138 +2662,111 @@ function SlideThumbnailImpl({
|
|
|
2661
2662
|
const opt = SLIDE_TRANSITION_OPTIONS.find((o) => o.value === slide.transition?.type);
|
|
2662
2663
|
return opt ? t(opt.i18nKey) : slide.transition.type;
|
|
2663
2664
|
})() : void 0;
|
|
2664
|
-
return /* @__PURE__ */
|
|
2665
|
+
return /* @__PURE__ */ jsx(
|
|
2665
2666
|
"div",
|
|
2666
2667
|
{
|
|
2667
2668
|
className: "relative w-full overflow-hidden rounded border border-border bg-white",
|
|
2668
|
-
style: { height: previewHeight },
|
|
2669
|
-
children:
|
|
2670
|
-
|
|
2671
|
-
|
|
2672
|
-
|
|
2673
|
-
|
|
2674
|
-
|
|
2675
|
-
|
|
2676
|
-
}
|
|
2677
|
-
|
|
2678
|
-
|
|
2679
|
-
|
|
2680
|
-
|
|
2681
|
-
|
|
2682
|
-
|
|
2683
|
-
|
|
2684
|
-
|
|
2685
|
-
|
|
2686
|
-
|
|
2687
|
-
|
|
2688
|
-
|
|
2689
|
-
|
|
2690
|
-
|
|
2691
|
-
|
|
2692
|
-
|
|
2693
|
-
|
|
2694
|
-
|
|
2695
|
-
|
|
2696
|
-
|
|
2697
|
-
|
|
2698
|
-
|
|
2699
|
-
|
|
2700
|
-
|
|
2701
|
-
|
|
2702
|
-
|
|
2703
|
-
|
|
2704
|
-
|
|
2705
|
-
|
|
2706
|
-
|
|
2669
|
+
style: { height: previewHeight, ...getSlideBackgroundStyle(slide) },
|
|
2670
|
+
children: /* @__PURE__ */ jsxs(
|
|
2671
|
+
"div",
|
|
2672
|
+
{
|
|
2673
|
+
className: "absolute top-0 left-0 origin-top-left",
|
|
2674
|
+
style: {
|
|
2675
|
+
width: safeCanvasWidth,
|
|
2676
|
+
height: safeCanvasHeight,
|
|
2677
|
+
transform: `scale(${scale})`,
|
|
2678
|
+
transformOrigin: "top left"
|
|
2679
|
+
},
|
|
2680
|
+
children: [
|
|
2681
|
+
slide.transition && slide.transition.type !== "none" && slide.transition.type !== "cut" && /* @__PURE__ */ jsx(
|
|
2682
|
+
"div",
|
|
2683
|
+
{
|
|
2684
|
+
className: "absolute top-0.5 right-0.5 z-10 px-1 py-px rounded bg-primary/80 text-[7px] text-white leading-tight pointer-events-none",
|
|
2685
|
+
title: t("pptx.slideThumbnail.transitionTooltip", { name: transitionLabel }),
|
|
2686
|
+
children: transitionLabel
|
|
2687
|
+
}
|
|
2688
|
+
),
|
|
2689
|
+
previewElements.map((element) => {
|
|
2690
|
+
const elementWidth = Math.max(element.width, 1);
|
|
2691
|
+
const elementHeight = Math.max(element.height, 1);
|
|
2692
|
+
const elShapeStyle = hasShapeProperties(element) ? element.shapeStyle : void 0;
|
|
2693
|
+
const hasFill = elShapeStyle?.fillColor !== void 0 && elShapeStyle?.fillColor !== "transparent" || Boolean(buildCssGradientFromShapeStyle(elShapeStyle) || elShapeStyle?.fillGradient) || elShapeStyle?.fillMode === "pattern" && Boolean(elShapeStyle.fillPatternPreset);
|
|
2694
|
+
const fillColor = normalizeHexColor(elShapeStyle?.fillColor, DEFAULT_FILL_COLOR);
|
|
2695
|
+
const strokeWidth = Math.max(0, elShapeStyle?.strokeWidth || 0);
|
|
2696
|
+
const strokeColor = normalizeHexColor(elShapeStyle?.strokeColor, DEFAULT_STROKE_COLOR);
|
|
2697
|
+
const shapeVisualStyle = getShapeVisualStyle(
|
|
2698
|
+
element,
|
|
2699
|
+
hasFill,
|
|
2700
|
+
fillColor,
|
|
2701
|
+
strokeWidth,
|
|
2702
|
+
strokeColor
|
|
2703
|
+
);
|
|
2704
|
+
const vectorShape = renderVectorShape(
|
|
2705
|
+
element,
|
|
2706
|
+
hasFill,
|
|
2707
|
+
fillColor,
|
|
2708
|
+
strokeWidth,
|
|
2709
|
+
strokeColor
|
|
2710
|
+
);
|
|
2711
|
+
const fallbackTextColor = element.type === "shape" && hasFill ? "#ffffff" : DEFAULT_TEXT_COLOR;
|
|
2712
|
+
const textStyle = getTextStyleForElement(element, fallbackTextColor);
|
|
2713
|
+
const imageRenderStyle = getImageRenderStyle(element);
|
|
2714
|
+
const canRenderText = isEditableTextElement(element);
|
|
2715
|
+
const elText = hasTextProperties(element) ? element.text : void 0;
|
|
2716
|
+
const elTextSegments = hasTextProperties(element) ? element.textSegments : void 0;
|
|
2717
|
+
const hasText = typeof elText === "string" && elText.trim().length > 0 || (elTextSegments?.length ?? 0) > 0;
|
|
2718
|
+
const fallbackLabel = shouldRenderFallbackLabel(element, canRenderText) ? getElementLabel(element) : "";
|
|
2719
|
+
return /* @__PURE__ */ jsx(
|
|
2707
2720
|
"div",
|
|
2708
2721
|
{
|
|
2709
|
-
className: "absolute
|
|
2710
|
-
|
|
2711
|
-
|
|
2712
|
-
|
|
2713
|
-
|
|
2714
|
-
|
|
2715
|
-
|
|
2716
|
-
|
|
2717
|
-
|
|
2718
|
-
|
|
2719
|
-
|
|
2720
|
-
|
|
2721
|
-
|
|
2722
|
-
|
|
2723
|
-
|
|
2724
|
-
|
|
2725
|
-
|
|
2726
|
-
|
|
2727
|
-
|
|
2728
|
-
|
|
2729
|
-
|
|
2730
|
-
|
|
2731
|
-
|
|
2732
|
-
|
|
2733
|
-
|
|
2734
|
-
|
|
2735
|
-
|
|
2736
|
-
const fallbackTextColor = element.type === "shape" && hasFill ? "#ffffff" : DEFAULT_TEXT_COLOR;
|
|
2737
|
-
const textStyle = getTextStyleForElement(element, fallbackTextColor);
|
|
2738
|
-
const imageRenderStyle = getImageRenderStyle(element);
|
|
2739
|
-
const canRenderText = isEditableTextElement(element);
|
|
2740
|
-
const elText = hasTextProperties(element) ? element.text : void 0;
|
|
2741
|
-
const elTextSegments = hasTextProperties(element) ? element.textSegments : void 0;
|
|
2742
|
-
const hasText = typeof elText === "string" && elText.trim().length > 0 || (elTextSegments?.length ?? 0) > 0;
|
|
2743
|
-
const fallbackLabel = shouldRenderFallbackLabel(element, canRenderText) ? getElementLabel(element) : "";
|
|
2744
|
-
return /* @__PURE__ */ jsx(
|
|
2745
|
-
"div",
|
|
2746
|
-
{
|
|
2747
|
-
className: "absolute overflow-hidden",
|
|
2748
|
-
style: {
|
|
2749
|
-
left: element.x,
|
|
2750
|
-
top: element.y,
|
|
2751
|
-
width: elementWidth,
|
|
2752
|
-
height: elementHeight,
|
|
2753
|
-
transform: getElementTransform(element),
|
|
2754
|
-
transformOrigin: "center"
|
|
2755
|
-
},
|
|
2756
|
-
children: (element.type === "picture" || element.type === "image") && (element.svgData || element.imageData) ? isImageTiled(element) ? /* @__PURE__ */ jsx(
|
|
2722
|
+
className: "absolute overflow-hidden",
|
|
2723
|
+
style: {
|
|
2724
|
+
left: element.x,
|
|
2725
|
+
top: element.y,
|
|
2726
|
+
width: elementWidth,
|
|
2727
|
+
height: elementHeight,
|
|
2728
|
+
transform: getElementTransform(element),
|
|
2729
|
+
transformOrigin: "center"
|
|
2730
|
+
},
|
|
2731
|
+
children: (element.type === "picture" || element.type === "image") && (element.svgData || element.imageData) ? isImageTiled(element) ? /* @__PURE__ */ jsx(
|
|
2732
|
+
"div",
|
|
2733
|
+
{
|
|
2734
|
+
className: "pointer-events-none w-full h-full",
|
|
2735
|
+
style: getImageTilingStyle(element)
|
|
2736
|
+
}
|
|
2737
|
+
) : /* @__PURE__ */ jsx(
|
|
2738
|
+
"img",
|
|
2739
|
+
{
|
|
2740
|
+
src: element.svgData || element.imageData,
|
|
2741
|
+
alt: "",
|
|
2742
|
+
className: "pointer-events-none",
|
|
2743
|
+
style: imageRenderStyle,
|
|
2744
|
+
draggable: false
|
|
2745
|
+
}
|
|
2746
|
+
) : element.type === "table" ? /* @__PURE__ */ jsx(ThumbnailTable, { element, textStyle }) : element.type === "smartArt" ? /* @__PURE__ */ jsx(ThumbnailSmartArt, { element }) : element.type === "chart" ? /* @__PURE__ */ jsx(ThumbnailChart, { element }) : /* @__PURE__ */ jsxs("div", { className: "relative w-full h-full overflow-hidden", style: shapeVisualStyle, children: [
|
|
2747
|
+
vectorShape,
|
|
2748
|
+
canRenderText && hasText && /* @__PURE__ */ jsx(
|
|
2757
2749
|
"div",
|
|
2758
2750
|
{
|
|
2759
|
-
className: "
|
|
2760
|
-
style:
|
|
2761
|
-
|
|
2762
|
-
|
|
2763
|
-
|
|
2764
|
-
|
|
2765
|
-
|
|
2766
|
-
|
|
2767
|
-
className: "pointer-events-none",
|
|
2768
|
-
style: imageRenderStyle,
|
|
2769
|
-
draggable: false
|
|
2751
|
+
className: "w-full h-full whitespace-pre-wrap break-words px-1 py-0.5 leading-[1.3]",
|
|
2752
|
+
style: {
|
|
2753
|
+
...getTextLayoutStyle(element),
|
|
2754
|
+
...textStyle,
|
|
2755
|
+
transform: getTextCompensationTransform(element),
|
|
2756
|
+
transformOrigin: "center"
|
|
2757
|
+
},
|
|
2758
|
+
children: renderTextSegments(element, fallbackTextColor)
|
|
2770
2759
|
}
|
|
2771
|
-
)
|
|
2772
|
-
|
|
2773
|
-
|
|
2774
|
-
|
|
2775
|
-
|
|
2776
|
-
|
|
2777
|
-
|
|
2778
|
-
|
|
2779
|
-
|
|
2780
|
-
|
|
2781
|
-
transformOrigin: "center"
|
|
2782
|
-
},
|
|
2783
|
-
children: renderTextSegments(element, fallbackTextColor)
|
|
2784
|
-
}
|
|
2785
|
-
),
|
|
2786
|
-
!hasText && fallbackLabel.length > 0 && /* @__PURE__ */ jsx("div", { className: "absolute inset-0 flex items-center justify-center text-[10px] text-muted-foreground", children: fallbackLabel })
|
|
2787
|
-
] })
|
|
2788
|
-
},
|
|
2789
|
-
element.id
|
|
2790
|
-
);
|
|
2791
|
-
})
|
|
2792
|
-
]
|
|
2793
|
-
}
|
|
2794
|
-
)
|
|
2795
|
-
]
|
|
2760
|
+
),
|
|
2761
|
+
!hasText && fallbackLabel.length > 0 && /* @__PURE__ */ jsx("div", { className: "absolute inset-0 flex items-center justify-center text-[10px] text-muted-foreground", children: fallbackLabel })
|
|
2762
|
+
] })
|
|
2763
|
+
},
|
|
2764
|
+
element.id
|
|
2765
|
+
);
|
|
2766
|
+
})
|
|
2767
|
+
]
|
|
2768
|
+
}
|
|
2769
|
+
)
|
|
2796
2770
|
}
|
|
2797
2771
|
);
|
|
2798
2772
|
}
|
|
@@ -2818,6 +2792,9 @@ function arePropsEqual2(prev, next) {
|
|
|
2818
2792
|
if (prev.slide.backgroundGradient !== next.slide.backgroundGradient) {
|
|
2819
2793
|
return false;
|
|
2820
2794
|
}
|
|
2795
|
+
if (prev.slide.backgroundPattern !== next.slide.backgroundPattern) {
|
|
2796
|
+
return false;
|
|
2797
|
+
}
|
|
2821
2798
|
if (prev.templateElements !== next.templateElements) {
|
|
2822
2799
|
return false;
|
|
2823
2800
|
}
|
|
@@ -4858,7 +4835,7 @@ function FailedToLoad() {
|
|
|
4858
4835
|
var LazyModel3DScene = React5.lazy(
|
|
4859
4836
|
async () => {
|
|
4860
4837
|
try {
|
|
4861
|
-
return await import('./Model3DScene-
|
|
4838
|
+
return await import('./Model3DScene-QHDYQXL2.mjs');
|
|
4862
4839
|
} catch {
|
|
4863
4840
|
return { default: FailedToLoad };
|
|
4864
4841
|
}
|
|
@@ -6469,11 +6446,14 @@ function SlideItemInner({
|
|
|
6469
6446
|
const scale = SLIDE_NAV_THUMBNAIL_WIDTH / safeCanvasWidth;
|
|
6470
6447
|
const previewHeight = Math.max(56, Math.round(safeCanvasHeight * scale));
|
|
6471
6448
|
return /* @__PURE__ */ jsxs(
|
|
6472
|
-
"
|
|
6449
|
+
"button",
|
|
6473
6450
|
{
|
|
6451
|
+
type: "button",
|
|
6474
6452
|
ref: slideRef,
|
|
6453
|
+
"aria-label": `Go to slide ${slideIndex + 1}`,
|
|
6454
|
+
"aria-current": isActive ? "true" : void 0,
|
|
6475
6455
|
className: cn(
|
|
6476
|
-
"group relative flex items-center gap-1 cursor-pointer py-0.5 px-1 transition-all",
|
|
6456
|
+
"group relative flex w-full items-center gap-1 cursor-pointer border-0 bg-transparent py-0.5 px-1 text-left transition-all",
|
|
6477
6457
|
isActive && "bg-accent/40 before:absolute before:left-0 before:top-1 before:bottom-1 before:w-[3px] before:bg-primary before:rounded-r",
|
|
6478
6458
|
isHidden && "opacity-50"
|
|
6479
6459
|
),
|
|
@@ -15898,45 +15878,54 @@ function Toolbar(p) {
|
|
|
15898
15878
|
className: "relative z-20 border-b border-border bg-secondary/50 overflow-visible",
|
|
15899
15879
|
children: [
|
|
15900
15880
|
/* @__PURE__ */ jsx(ToolbarPrimaryRow, { ...p }),
|
|
15901
|
-
showRibbon && /* @__PURE__ */ jsxs(
|
|
15902
|
-
|
|
15903
|
-
|
|
15904
|
-
|
|
15905
|
-
|
|
15906
|
-
|
|
15907
|
-
|
|
15908
|
-
"
|
|
15909
|
-
|
|
15910
|
-
|
|
15911
|
-
|
|
15912
|
-
|
|
15913
|
-
|
|
15914
|
-
|
|
15915
|
-
|
|
15916
|
-
|
|
15917
|
-
|
|
15918
|
-
|
|
15919
|
-
|
|
15920
|
-
|
|
15921
|
-
|
|
15922
|
-
|
|
15923
|
-
|
|
15924
|
-
|
|
15925
|
-
|
|
15926
|
-
|
|
15927
|
-
|
|
15928
|
-
|
|
15929
|
-
|
|
15930
|
-
"px-2 py-1 rounded text-[11px] transition-colors mr-1",
|
|
15931
|
-
isCompactToolbarOpen ? "bg-primary/80 text-white" : "text-muted-foreground hover:text-foreground"
|
|
15932
|
-
),
|
|
15933
|
-
title: t(
|
|
15934
|
-
isCompactToolbarOpen ? "pptx.ribbon.collapseRibbon" : "pptx.ribbon.expandRibbon"
|
|
15881
|
+
showRibbon && /* @__PURE__ */ jsxs(
|
|
15882
|
+
"div",
|
|
15883
|
+
{
|
|
15884
|
+
role: "tablist",
|
|
15885
|
+
className: "flex items-center border-b border-border/60 px-1 max-md:overflow-x-auto max-md:scrollbar-none",
|
|
15886
|
+
children: [
|
|
15887
|
+
TOOLBAR_SECTIONS.map((s) => /* @__PURE__ */ jsx(
|
|
15888
|
+
"button",
|
|
15889
|
+
{
|
|
15890
|
+
type: "button",
|
|
15891
|
+
role: "tab",
|
|
15892
|
+
"aria-selected": toolbarSection === s.id,
|
|
15893
|
+
onClick: () => onSetToolbarSection(s.id),
|
|
15894
|
+
className: cn(
|
|
15895
|
+
"relative px-3.5 py-2 text-[12px] font-medium whitespace-nowrap transition-colors max-md:min-h-[36px] max-md:px-3",
|
|
15896
|
+
toolbarSection === s.id ? s.id === "file" ? "text-white bg-primary/80 rounded-sm" : "text-foreground after:absolute after:-bottom-px after:left-0 after:right-0 after:h-[2.5px] after:bg-primary" : s.id === "file" ? "text-primary hover:bg-primary/15 rounded-sm" : "text-muted-foreground hover:text-foreground hover:bg-accent/30"
|
|
15897
|
+
),
|
|
15898
|
+
children: t(s.labelKey)
|
|
15899
|
+
},
|
|
15900
|
+
s.id
|
|
15901
|
+
)),
|
|
15902
|
+
/* @__PURE__ */ jsx("div", { className: "flex-1" }),
|
|
15903
|
+
/* @__PURE__ */ jsx(
|
|
15904
|
+
TabRowActions,
|
|
15905
|
+
{
|
|
15906
|
+
onEnterRehearsalMode: p.canEdit ? p.onEnterRehearsalMode : void 0,
|
|
15907
|
+
onOpenShareDialog: p.onOpenShareDialog,
|
|
15908
|
+
onPackageForSharing: p.onPackageForSharing
|
|
15909
|
+
}
|
|
15935
15910
|
),
|
|
15936
|
-
|
|
15937
|
-
|
|
15938
|
-
|
|
15939
|
-
|
|
15911
|
+
isNarrowViewport && /* @__PURE__ */ jsx(
|
|
15912
|
+
"button",
|
|
15913
|
+
{
|
|
15914
|
+
type: "button",
|
|
15915
|
+
onClick: p.onToggleCompactToolbar,
|
|
15916
|
+
className: cn(
|
|
15917
|
+
"px-2 py-1 rounded text-[11px] transition-colors mr-1",
|
|
15918
|
+
isCompactToolbarOpen ? "bg-primary/80 text-white" : "text-muted-foreground hover:text-foreground"
|
|
15919
|
+
),
|
|
15920
|
+
title: t(
|
|
15921
|
+
isCompactToolbarOpen ? "pptx.ribbon.collapseRibbon" : "pptx.ribbon.expandRibbon"
|
|
15922
|
+
),
|
|
15923
|
+
children: t(isCompactToolbarOpen ? "pptx.ribbon.collapseRibbon" : "pptx.ribbon.expandRibbon")
|
|
15924
|
+
}
|
|
15925
|
+
)
|
|
15926
|
+
]
|
|
15927
|
+
}
|
|
15928
|
+
),
|
|
15940
15929
|
showRibbon && /* @__PURE__ */ jsxs(
|
|
15941
15930
|
"div",
|
|
15942
15931
|
{
|
|
@@ -20725,6 +20714,7 @@ function SmartArtLayoutSwitcher({
|
|
|
20725
20714
|
"button",
|
|
20726
20715
|
{
|
|
20727
20716
|
type: "button",
|
|
20717
|
+
"data-testid": `smartart-layout-${type}`,
|
|
20728
20718
|
disabled: !canEdit,
|
|
20729
20719
|
className: cn(
|
|
20730
20720
|
"flex flex-col items-center gap-0.5 rounded border p-1.5 transition-colors",
|
|
@@ -20865,6 +20855,7 @@ function SmartArtNodeRow({
|
|
|
20865
20855
|
{
|
|
20866
20856
|
ref: inputRef,
|
|
20867
20857
|
type: "text",
|
|
20858
|
+
"data-testid": "smartart-node-text",
|
|
20868
20859
|
disabled: !canEdit,
|
|
20869
20860
|
"aria-label": label,
|
|
20870
20861
|
className: cn(INPUT, "flex-1 text-[11px] py-0.5"),
|
|
@@ -21081,6 +21072,7 @@ function SmartArtPropertiesPanel({
|
|
|
21081
21072
|
"select",
|
|
21082
21073
|
{
|
|
21083
21074
|
disabled: !canEdit,
|
|
21075
|
+
"data-testid": "smartart-color-scheme",
|
|
21084
21076
|
"aria-label": t("pptx.smartart.colorScheme"),
|
|
21085
21077
|
className: cn(INPUT, "w-full"),
|
|
21086
21078
|
value: smartArtData.colorScheme ?? "colorful1",
|
|
@@ -24426,6 +24418,7 @@ function PresentationTransitionOverlay({
|
|
|
24426
24418
|
"div",
|
|
24427
24419
|
{
|
|
24428
24420
|
ref: containerRef,
|
|
24421
|
+
"data-pptx-transition-overlay": true,
|
|
24429
24422
|
className: "pptx-react-transition-overlay absolute inset-0 pointer-events-none overflow-hidden",
|
|
24430
24423
|
style: { zIndex: outgoingZIndex },
|
|
24431
24424
|
children: [
|
|
@@ -24433,6 +24426,7 @@ function PresentationTransitionOverlay({
|
|
|
24433
24426
|
/* @__PURE__ */ jsx(
|
|
24434
24427
|
"div",
|
|
24435
24428
|
{
|
|
24429
|
+
"data-pptx-transition-layer": "outgoing",
|
|
24436
24430
|
className: "pptx-react-transition-layer absolute inset-0 flex items-center justify-center",
|
|
24437
24431
|
style: {
|
|
24438
24432
|
animation: animations.outgoing !== "none" ? animations.outgoing : void 0
|
|
@@ -26550,26 +26544,6 @@ function CanvasGuides({ guides, onDeleteGuide, onStartGuideDrag }) {
|
|
|
26550
26544
|
guide.id
|
|
26551
26545
|
)) });
|
|
26552
26546
|
}
|
|
26553
|
-
function SlideBackground({ backgroundImage, backgroundGradient }) {
|
|
26554
|
-
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
26555
|
-
backgroundImage && /* @__PURE__ */ jsx(
|
|
26556
|
-
"img",
|
|
26557
|
-
{
|
|
26558
|
-
src: backgroundImage,
|
|
26559
|
-
alt: "",
|
|
26560
|
-
className: "absolute inset-0 w-full h-full object-cover pointer-events-none",
|
|
26561
|
-
draggable: false
|
|
26562
|
-
}
|
|
26563
|
-
),
|
|
26564
|
-
backgroundGradient && /* @__PURE__ */ jsx(
|
|
26565
|
-
"div",
|
|
26566
|
-
{
|
|
26567
|
-
className: "absolute inset-0 pointer-events-none",
|
|
26568
|
-
style: { background: backgroundGradient }
|
|
26569
|
-
}
|
|
26570
|
-
)
|
|
26571
|
-
] });
|
|
26572
|
-
}
|
|
26573
26547
|
function MarqueeOverlay({ marqueeSelectionState }) {
|
|
26574
26548
|
if (!marqueeSelectionState) {
|
|
26575
26549
|
return null;
|
|
@@ -27834,7 +27808,7 @@ function SlideCanvas({
|
|
|
27834
27808
|
// pinch-zoom. View/present mode keeps the default so the slide can
|
|
27835
27809
|
// still be scrolled and swipe-navigated.
|
|
27836
27810
|
touchAction: isEditableCanvas ? "none" : void 0,
|
|
27837
|
-
|
|
27811
|
+
...getSlideBackgroundStyle(activeSlide)
|
|
27838
27812
|
},
|
|
27839
27813
|
onClick: handleStageClick,
|
|
27840
27814
|
onDoubleClick: handleStageDblClick,
|
|
@@ -27854,13 +27828,6 @@ function SlideCanvas({
|
|
|
27854
27828
|
onStartGuideDrag: setDraggingGuide
|
|
27855
27829
|
}
|
|
27856
27830
|
),
|
|
27857
|
-
/* @__PURE__ */ jsx(
|
|
27858
|
-
SlideBackground,
|
|
27859
|
-
{
|
|
27860
|
-
backgroundImage: activeSlide?.backgroundImage,
|
|
27861
|
-
backgroundGradient: activeSlide?.backgroundGradient
|
|
27862
|
-
}
|
|
27863
|
-
),
|
|
27864
27831
|
templateElements.map((element, index) => /* @__PURE__ */ jsx(
|
|
27865
27832
|
ElementRenderer,
|
|
27866
27833
|
{
|
|
@@ -28168,6 +28135,7 @@ function ViewerInspector({
|
|
|
28168
28135
|
return /* @__PURE__ */ jsx(
|
|
28169
28136
|
"div",
|
|
28170
28137
|
{
|
|
28138
|
+
"data-pptx-inspector": true,
|
|
28171
28139
|
role: "complementary",
|
|
28172
28140
|
"aria-label": t("pptx.inspector.properties"),
|
|
28173
28141
|
className: "h-full flex-shrink-0 max-md:absolute max-md:inset-x-0 max-md:bottom-0 max-md:top-auto max-md:z-30",
|
|
@@ -29302,43 +29270,60 @@ function InsertSmartArtDialog({
|
|
|
29302
29270
|
}
|
|
29303
29271
|
),
|
|
29304
29272
|
/* @__PURE__ */ jsxs("div", { className: "flex flex-1 overflow-hidden", children: [
|
|
29305
|
-
/* @__PURE__ */ jsx(
|
|
29306
|
-
"
|
|
29273
|
+
/* @__PURE__ */ jsx(
|
|
29274
|
+
"nav",
|
|
29307
29275
|
{
|
|
29308
|
-
|
|
29309
|
-
|
|
29310
|
-
|
|
29311
|
-
|
|
29312
|
-
|
|
29313
|
-
|
|
29314
|
-
|
|
29315
|
-
|
|
29316
|
-
|
|
29317
|
-
|
|
29318
|
-
|
|
29319
|
-
|
|
29320
|
-
|
|
29321
|
-
|
|
29322
|
-
|
|
29276
|
+
className: "w-40 border-r border-border py-2",
|
|
29277
|
+
"aria-label": t("pptx.insertSmartArt.categories"),
|
|
29278
|
+
children: CATEGORIES.map((cat) => /* @__PURE__ */ jsx(
|
|
29279
|
+
"button",
|
|
29280
|
+
{
|
|
29281
|
+
type: "button",
|
|
29282
|
+
onClick: () => {
|
|
29283
|
+
setActiveCategory(cat.id);
|
|
29284
|
+
setSelectedLayout(null);
|
|
29285
|
+
},
|
|
29286
|
+
className: cn(
|
|
29287
|
+
"w-full text-left px-3 py-1.5 text-xs transition-colors",
|
|
29288
|
+
activeCategory === cat.id ? "bg-primary text-white" : "text-foreground hover:bg-muted"
|
|
29289
|
+
),
|
|
29290
|
+
children: t(cat.label)
|
|
29291
|
+
},
|
|
29292
|
+
cat.id
|
|
29293
|
+
))
|
|
29294
|
+
}
|
|
29295
|
+
),
|
|
29296
|
+
/* @__PURE__ */ jsx("div", { className: "flex-1 p-3 overflow-y-auto", children: /* @__PURE__ */ jsx(
|
|
29297
|
+
"div",
|
|
29323
29298
|
{
|
|
29324
|
-
|
|
29325
|
-
|
|
29326
|
-
|
|
29327
|
-
|
|
29328
|
-
|
|
29329
|
-
|
|
29330
|
-
|
|
29331
|
-
|
|
29332
|
-
|
|
29333
|
-
|
|
29334
|
-
|
|
29335
|
-
|
|
29336
|
-
|
|
29337
|
-
|
|
29338
|
-
|
|
29339
|
-
|
|
29340
|
-
|
|
29341
|
-
|
|
29299
|
+
className: "grid grid-cols-3 gap-2",
|
|
29300
|
+
role: "listbox",
|
|
29301
|
+
"aria-label": t("pptx.insertSmartArt.layouts"),
|
|
29302
|
+
children: filteredPresets.map((preset) => /* @__PURE__ */ jsxs(
|
|
29303
|
+
"button",
|
|
29304
|
+
{
|
|
29305
|
+
type: "button",
|
|
29306
|
+
role: "option",
|
|
29307
|
+
"aria-selected": selectedLayout === preset.layout,
|
|
29308
|
+
onClick: () => setSelectedLayout(preset.layout),
|
|
29309
|
+
onDoubleClick: () => {
|
|
29310
|
+
setSelectedLayout(preset.layout);
|
|
29311
|
+
onInsert(preset.layout, preset.defaultItems);
|
|
29312
|
+
onClose();
|
|
29313
|
+
},
|
|
29314
|
+
className: cn(
|
|
29315
|
+
"flex flex-col items-center gap-1 p-2 rounded border transition-colors",
|
|
29316
|
+
selectedLayout === preset.layout ? "border-primary bg-primary/20" : "border-border hover:border-border hover:bg-muted/50"
|
|
29317
|
+
),
|
|
29318
|
+
children: [
|
|
29319
|
+
/* @__PURE__ */ jsx("div", { className: "w-16 h-12 flex items-center justify-center bg-muted rounded", children: getPreviewForLayout(preset.layout) }),
|
|
29320
|
+
/* @__PURE__ */ jsx("span", { className: "text-[10px] text-foreground text-center leading-tight", children: t(preset.labelKey) })
|
|
29321
|
+
]
|
|
29322
|
+
},
|
|
29323
|
+
preset.layout
|
|
29324
|
+
))
|
|
29325
|
+
}
|
|
29326
|
+
) })
|
|
29342
29327
|
] }),
|
|
29343
29328
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center justify-end gap-2 px-4 py-3 border-t border-border", children: [
|
|
29344
29329
|
/* @__PURE__ */ jsx(
|
|
@@ -31276,6 +31261,7 @@ function MobileBottomBar({
|
|
|
31276
31261
|
active ? "text-primary" : "text-muted-foreground hover:text-foreground"
|
|
31277
31262
|
),
|
|
31278
31263
|
"aria-pressed": active,
|
|
31264
|
+
"aria-label": key === "notes" ? t("pptx.statusBar.toggleNotes") : void 0,
|
|
31279
31265
|
children: [
|
|
31280
31266
|
/* @__PURE__ */ jsx(Icon, { className: "w-5 h-5" }),
|
|
31281
31267
|
/* @__PURE__ */ jsx("span", { children: t(label) }),
|
|
@@ -31611,6 +31597,7 @@ var PowerPointViewer = forwardRef(
|
|
|
31611
31597
|
function PowerPointViewer2(props, ref) {
|
|
31612
31598
|
const {
|
|
31613
31599
|
content: incomingContent,
|
|
31600
|
+
fonts = [],
|
|
31614
31601
|
filePath,
|
|
31615
31602
|
fileName,
|
|
31616
31603
|
canEdit = false,
|
|
@@ -31630,6 +31617,17 @@ var PowerPointViewer = forwardRef(
|
|
|
31630
31617
|
shareDefaults,
|
|
31631
31618
|
smartArt3D = false
|
|
31632
31619
|
} = props;
|
|
31620
|
+
useEffect(() => {
|
|
31621
|
+
const css = buildUserFontFaceStyles(fonts);
|
|
31622
|
+
if (!css) {
|
|
31623
|
+
return;
|
|
31624
|
+
}
|
|
31625
|
+
const style = document.createElement("style");
|
|
31626
|
+
style.dataset.pptxUserFonts = "true";
|
|
31627
|
+
style.textContent = css;
|
|
31628
|
+
document.head.appendChild(style);
|
|
31629
|
+
return () => style.remove();
|
|
31630
|
+
}, [fonts]);
|
|
31633
31631
|
const themeStyle = useThemeStyle(theme);
|
|
31634
31632
|
const [content, setContent] = useState(incomingContent);
|
|
31635
31633
|
useEffect(() => {
|
|
Binary file
|
|
Binary file
|