pptx-react-viewer 1.16.1 → 1.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (114) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/dist/{Model3DScene-DDKQ372V.mjs → Model3DScene-QHDYQXL2.mjs} +2 -2
  3. package/dist/Model3DScene-QHDYQXL2.mjs.br +0 -0
  4. package/dist/Model3DScene-QHDYQXL2.mjs.gz +0 -0
  5. package/dist/{Model3DScene-UBHBPNJ2.js → Model3DScene-YA4F63DT.js} +3 -3
  6. package/dist/Model3DScene-YA4F63DT.js.br +0 -0
  7. package/dist/Model3DScene-YA4F63DT.js.gz +0 -0
  8. package/dist/PowerPointViewer-C4d7SKZf.d.ts +21 -0
  9. package/dist/PowerPointViewer-C4d7SKZf.d.ts.map +1 -0
  10. package/dist/{SurfaceChart3DScene-VSUUH2MX.mjs → SurfaceChart3DScene-GUAS2NWQ.mjs} +2 -2
  11. package/dist/SurfaceChart3DScene-GUAS2NWQ.mjs.br +0 -0
  12. package/dist/SurfaceChart3DScene-GUAS2NWQ.mjs.gz +0 -0
  13. package/dist/{SurfaceChart3DScene-MNFDDCYS.js → SurfaceChart3DScene-TGNJHTJQ.js} +3 -3
  14. package/dist/SurfaceChart3DScene-TGNJHTJQ.js.br +0 -0
  15. package/dist/SurfaceChart3DScene-TGNJHTJQ.js.gz +0 -0
  16. package/dist/{chunk-4LRPKUP7.js → chunk-3P6O7ZDM.js} +420 -420
  17. package/dist/chunk-3P6O7ZDM.js.br +0 -0
  18. package/dist/chunk-3P6O7ZDM.js.gz +0 -0
  19. package/dist/{chunk-YARAQWA4.mjs → chunk-G22EWPLH.mjs} +134 -4
  20. package/dist/chunk-G22EWPLH.mjs.br +0 -0
  21. package/dist/chunk-G22EWPLH.mjs.gz +0 -0
  22. package/dist/{chunk-TLGPM7SI.js → chunk-JWS3RQKN.js} +160 -28
  23. package/dist/chunk-JWS3RQKN.js.br +0 -0
  24. package/dist/chunk-JWS3RQKN.js.gz +0 -0
  25. package/dist/{chunk-XOSQDCHZ.mjs → chunk-LLHFNGAF.mjs} +4 -4
  26. package/dist/chunk-LLHFNGAF.mjs.br +0 -0
  27. package/dist/chunk-LLHFNGAF.mjs.gz +0 -0
  28. package/dist/{chunk-YW23L4KK.mjs → chunk-LNSHC2Z5.mjs} +117 -156
  29. package/dist/chunk-LNSHC2Z5.mjs.br +0 -0
  30. package/dist/chunk-LNSHC2Z5.mjs.gz +0 -0
  31. package/dist/{chunk-VMQLQEGG.js → chunk-MGLRKGCH.js} +156 -98
  32. package/dist/chunk-MGLRKGCH.js.br +0 -0
  33. package/dist/chunk-MGLRKGCH.js.gz +0 -0
  34. package/dist/{chunk-AJPW5FS7.mjs → chunk-XRYREYXC.mjs} +156 -98
  35. package/dist/chunk-XRYREYXC.mjs.br +0 -0
  36. package/dist/chunk-XRYREYXC.mjs.gz +0 -0
  37. package/dist/{chunk-YQHPV3VP.js → chunk-XW5OMXW6.js} +915 -954
  38. package/dist/chunk-XW5OMXW6.js.br +0 -0
  39. package/dist/chunk-XW5OMXW6.js.gz +0 -0
  40. package/dist/{dist-55M4L5OI.js → dist-2ZAH7U6U.js} +507 -507
  41. package/dist/dist-2ZAH7U6U.js.br +0 -0
  42. package/dist/dist-2ZAH7U6U.js.gz +0 -0
  43. package/dist/{dist-C5CVVTDM.mjs → dist-MXDC6YTS.mjs} +1 -1
  44. package/dist/dist-MXDC6YTS.mjs.br +0 -0
  45. package/dist/dist-MXDC6YTS.mjs.gz +0 -0
  46. package/dist/hooks-unstable.d.ts +9683 -1886
  47. package/dist/hooks-unstable.d.ts.map +1 -0
  48. package/dist/hooks-unstable.js +74 -74
  49. package/dist/hooks-unstable.js.br +0 -0
  50. package/dist/hooks-unstable.js.gz +0 -0
  51. package/dist/hooks-unstable.mjs +3 -3
  52. package/dist/hooks-unstable.mjs.br +0 -0
  53. package/dist/hooks-unstable.mjs.gz +0 -0
  54. package/dist/i18n.d.ts +27 -1
  55. package/dist/i18n.d.ts.map +1 -0
  56. package/dist/index-XGt7MZpa.d.ts +607 -0
  57. package/dist/index-XGt7MZpa.d.ts.map +1 -0
  58. package/dist/index.d.ts +4753 -10
  59. package/dist/index.d.ts.map +1 -0
  60. package/dist/index.js +18 -18
  61. package/dist/index.js.br +0 -0
  62. package/dist/index.js.gz +0 -0
  63. package/dist/index.mjs +4 -4
  64. package/dist/index.mjs.br +0 -0
  65. package/dist/index.mjs.gz +0 -0
  66. package/dist/types-BK7Nt13M.d.ts +483 -0
  67. package/dist/types-BK7Nt13M.d.ts.map +1 -0
  68. package/dist/viewer/index.d.ts +8008 -88
  69. package/dist/viewer/index.d.ts.map +1 -0
  70. package/dist/viewer/index.js +19 -19
  71. package/dist/viewer/index.js.br +0 -0
  72. package/dist/viewer/index.js.gz +0 -0
  73. package/dist/viewer/index.mjs +4 -4
  74. package/dist/viewer/index.mjs.br +0 -0
  75. package/dist/viewer/index.mjs.gz +0 -0
  76. package/package.json +6 -5
  77. package/dist/Model3DScene-DDKQ372V.mjs.br +0 -0
  78. package/dist/Model3DScene-DDKQ372V.mjs.gz +0 -0
  79. package/dist/Model3DScene-UBHBPNJ2.js.br +0 -0
  80. package/dist/Model3DScene-UBHBPNJ2.js.gz +0 -0
  81. package/dist/PowerPointViewer-BsaUH3ZT.d.ts +0 -26
  82. package/dist/PowerPointViewer-Nxku67uL.d.mts +0 -26
  83. package/dist/SurfaceChart3DScene-MNFDDCYS.js.br +0 -0
  84. package/dist/SurfaceChart3DScene-MNFDDCYS.js.gz +0 -0
  85. package/dist/SurfaceChart3DScene-VSUUH2MX.mjs.br +0 -0
  86. package/dist/SurfaceChart3DScene-VSUUH2MX.mjs.gz +0 -0
  87. package/dist/chunk-4LRPKUP7.js.br +0 -0
  88. package/dist/chunk-4LRPKUP7.js.gz +0 -0
  89. package/dist/chunk-AJPW5FS7.mjs.br +0 -0
  90. package/dist/chunk-AJPW5FS7.mjs.gz +0 -0
  91. package/dist/chunk-TLGPM7SI.js.br +0 -0
  92. package/dist/chunk-TLGPM7SI.js.gz +0 -0
  93. package/dist/chunk-VMQLQEGG.js.br +0 -0
  94. package/dist/chunk-VMQLQEGG.js.gz +0 -0
  95. package/dist/chunk-XOSQDCHZ.mjs.br +0 -0
  96. package/dist/chunk-XOSQDCHZ.mjs.gz +0 -0
  97. package/dist/chunk-YARAQWA4.mjs.br +0 -0
  98. package/dist/chunk-YARAQWA4.mjs.gz +0 -0
  99. package/dist/chunk-YQHPV3VP.js.br +0 -0
  100. package/dist/chunk-YQHPV3VP.js.gz +0 -0
  101. package/dist/chunk-YW23L4KK.mjs.br +0 -0
  102. package/dist/chunk-YW23L4KK.mjs.gz +0 -0
  103. package/dist/dist-55M4L5OI.js.br +0 -0
  104. package/dist/dist-55M4L5OI.js.gz +0 -0
  105. package/dist/dist-C5CVVTDM.mjs.br +0 -0
  106. package/dist/dist-C5CVVTDM.mjs.gz +0 -0
  107. package/dist/hooks-unstable.d.mts +0 -2300
  108. package/dist/i18n.d.mts +0 -1
  109. package/dist/index.d.mts +0 -46
  110. package/dist/types-ui-NG29h55h.d.mts +0 -712
  111. package/dist/types-ui-NG29h55h.d.ts +0 -712
  112. package/dist/usePresenterWindow-DToCijGy.d.ts +0 -1619
  113. package/dist/usePresenterWindow-DeTm-unp.d.mts +0 -1619
  114. 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-XOSQDCHZ.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, 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-YARAQWA4.mjs';
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-LLHFNGAF.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
3
  import { translationsEn } from './chunk-HJQZJ3VE.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-AJPW5FS7.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';
@@ -2661,138 +2661,111 @@ function SlideThumbnailImpl({
2661
2661
  const opt = SLIDE_TRANSITION_OPTIONS.find((o) => o.value === slide.transition?.type);
2662
2662
  return opt ? t(opt.i18nKey) : slide.transition.type;
2663
2663
  })() : void 0;
2664
- return /* @__PURE__ */ jsxs(
2664
+ return /* @__PURE__ */ jsx(
2665
2665
  "div",
2666
2666
  {
2667
2667
  className: "relative w-full overflow-hidden rounded border border-border bg-white",
2668
- style: { height: previewHeight },
2669
- children: [
2670
- slide.backgroundColor && slide.backgroundColor !== "transparent" && /* @__PURE__ */ jsx(
2671
- "div",
2672
- {
2673
- className: "absolute inset-0",
2674
- style: {
2675
- backgroundColor: normalizeHexColor(slide.backgroundColor, "#ffffff")
2676
- }
2677
- }
2678
- ),
2679
- slide.backgroundGradient && /* @__PURE__ */ jsx(
2680
- "div",
2681
- {
2682
- className: "absolute inset-0 pointer-events-none",
2683
- style: { background: slide.backgroundGradient }
2684
- }
2685
- ),
2686
- slide.backgroundImage && /* @__PURE__ */ jsx(
2687
- "img",
2688
- {
2689
- src: slide.backgroundImage,
2690
- alt: "",
2691
- className: "absolute inset-0 w-full h-full object-cover pointer-events-none",
2692
- draggable: false
2693
- }
2694
- ),
2695
- /* @__PURE__ */ jsxs(
2696
- "div",
2697
- {
2698
- className: "absolute top-0 left-0 origin-top-left",
2699
- style: {
2700
- width: safeCanvasWidth,
2701
- height: safeCanvasHeight,
2702
- transform: `scale(${scale})`,
2703
- transformOrigin: "top left"
2704
- },
2705
- children: [
2706
- slide.transition && slide.transition.type !== "none" && slide.transition.type !== "cut" && /* @__PURE__ */ jsx(
2668
+ style: { height: previewHeight, ...getSlideBackgroundStyle(slide) },
2669
+ children: /* @__PURE__ */ jsxs(
2670
+ "div",
2671
+ {
2672
+ className: "absolute top-0 left-0 origin-top-left",
2673
+ style: {
2674
+ width: safeCanvasWidth,
2675
+ height: safeCanvasHeight,
2676
+ transform: `scale(${scale})`,
2677
+ transformOrigin: "top left"
2678
+ },
2679
+ children: [
2680
+ slide.transition && slide.transition.type !== "none" && slide.transition.type !== "cut" && /* @__PURE__ */ jsx(
2681
+ "div",
2682
+ {
2683
+ 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",
2684
+ title: t("pptx.slideThumbnail.transitionTooltip", { name: transitionLabel }),
2685
+ children: transitionLabel
2686
+ }
2687
+ ),
2688
+ previewElements.map((element) => {
2689
+ const elementWidth = Math.max(element.width, 1);
2690
+ const elementHeight = Math.max(element.height, 1);
2691
+ const elShapeStyle = hasShapeProperties(element) ? element.shapeStyle : void 0;
2692
+ const hasFill = elShapeStyle?.fillColor !== void 0 && elShapeStyle?.fillColor !== "transparent" || Boolean(buildCssGradientFromShapeStyle(elShapeStyle) || elShapeStyle?.fillGradient) || elShapeStyle?.fillMode === "pattern" && Boolean(elShapeStyle.fillPatternPreset);
2693
+ const fillColor = normalizeHexColor(elShapeStyle?.fillColor, DEFAULT_FILL_COLOR);
2694
+ const strokeWidth = Math.max(0, elShapeStyle?.strokeWidth || 0);
2695
+ const strokeColor = normalizeHexColor(elShapeStyle?.strokeColor, DEFAULT_STROKE_COLOR);
2696
+ const shapeVisualStyle = getShapeVisualStyle(
2697
+ element,
2698
+ hasFill,
2699
+ fillColor,
2700
+ strokeWidth,
2701
+ strokeColor
2702
+ );
2703
+ const vectorShape = renderVectorShape(
2704
+ element,
2705
+ hasFill,
2706
+ fillColor,
2707
+ strokeWidth,
2708
+ strokeColor
2709
+ );
2710
+ const fallbackTextColor = element.type === "shape" && hasFill ? "#ffffff" : DEFAULT_TEXT_COLOR;
2711
+ const textStyle = getTextStyleForElement(element, fallbackTextColor);
2712
+ const imageRenderStyle = getImageRenderStyle(element);
2713
+ const canRenderText = isEditableTextElement(element);
2714
+ const elText = hasTextProperties(element) ? element.text : void 0;
2715
+ const elTextSegments = hasTextProperties(element) ? element.textSegments : void 0;
2716
+ const hasText = typeof elText === "string" && elText.trim().length > 0 || (elTextSegments?.length ?? 0) > 0;
2717
+ const fallbackLabel = shouldRenderFallbackLabel(element, canRenderText) ? getElementLabel(element) : "";
2718
+ return /* @__PURE__ */ jsx(
2707
2719
  "div",
2708
2720
  {
2709
- 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",
2710
- title: t("pptx.slideThumbnail.transitionTooltip", { name: transitionLabel }),
2711
- children: transitionLabel
2712
- }
2713
- ),
2714
- previewElements.map((element) => {
2715
- const elementWidth = Math.max(element.width, 1);
2716
- const elementHeight = Math.max(element.height, 1);
2717
- const elShapeStyle = hasShapeProperties(element) ? element.shapeStyle : void 0;
2718
- const hasFill = elShapeStyle?.fillColor !== void 0 && elShapeStyle?.fillColor !== "transparent" || Boolean(buildCssGradientFromShapeStyle(elShapeStyle) || elShapeStyle?.fillGradient) || elShapeStyle?.fillMode === "pattern" && Boolean(elShapeStyle.fillPatternPreset);
2719
- const fillColor = normalizeHexColor(elShapeStyle?.fillColor, DEFAULT_FILL_COLOR);
2720
- const strokeWidth = Math.max(0, elShapeStyle?.strokeWidth || 0);
2721
- const strokeColor = normalizeHexColor(elShapeStyle?.strokeColor, DEFAULT_STROKE_COLOR);
2722
- const shapeVisualStyle = getShapeVisualStyle(
2723
- element,
2724
- hasFill,
2725
- fillColor,
2726
- strokeWidth,
2727
- strokeColor
2728
- );
2729
- const vectorShape = renderVectorShape(
2730
- element,
2731
- hasFill,
2732
- fillColor,
2733
- strokeWidth,
2734
- strokeColor
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(
2721
+ className: "absolute overflow-hidden",
2722
+ style: {
2723
+ left: element.x,
2724
+ top: element.y,
2725
+ width: elementWidth,
2726
+ height: elementHeight,
2727
+ transform: getElementTransform(element),
2728
+ transformOrigin: "center"
2729
+ },
2730
+ children: (element.type === "picture" || element.type === "image") && (element.svgData || element.imageData) ? isImageTiled(element) ? /* @__PURE__ */ jsx(
2731
+ "div",
2732
+ {
2733
+ className: "pointer-events-none w-full h-full",
2734
+ style: getImageTilingStyle(element)
2735
+ }
2736
+ ) : /* @__PURE__ */ jsx(
2737
+ "img",
2738
+ {
2739
+ src: element.svgData || element.imageData,
2740
+ alt: "",
2741
+ className: "pointer-events-none",
2742
+ style: imageRenderStyle,
2743
+ draggable: false
2744
+ }
2745
+ ) : 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: [
2746
+ vectorShape,
2747
+ canRenderText && hasText && /* @__PURE__ */ jsx(
2757
2748
  "div",
2758
2749
  {
2759
- className: "pointer-events-none w-full h-full",
2760
- style: getImageTilingStyle(element)
2761
- }
2762
- ) : /* @__PURE__ */ jsx(
2763
- "img",
2764
- {
2765
- src: element.svgData || element.imageData,
2766
- alt: "",
2767
- className: "pointer-events-none",
2768
- style: imageRenderStyle,
2769
- draggable: false
2750
+ className: "w-full h-full whitespace-pre-wrap break-words px-1 py-0.5 leading-[1.3]",
2751
+ style: {
2752
+ ...getTextLayoutStyle(element),
2753
+ ...textStyle,
2754
+ transform: getTextCompensationTransform(element),
2755
+ transformOrigin: "center"
2756
+ },
2757
+ children: renderTextSegments(element, fallbackTextColor)
2770
2758
  }
2771
- ) : 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: [
2772
- vectorShape,
2773
- canRenderText && hasText && /* @__PURE__ */ jsx(
2774
- "div",
2775
- {
2776
- className: "w-full h-full whitespace-pre-wrap break-words px-1 py-0.5 leading-[1.3]",
2777
- style: {
2778
- ...getTextLayoutStyle(element),
2779
- ...textStyle,
2780
- transform: getTextCompensationTransform(element),
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
- ]
2759
+ ),
2760
+ !hasText && fallbackLabel.length > 0 && /* @__PURE__ */ jsx("div", { className: "absolute inset-0 flex items-center justify-center text-[10px] text-muted-foreground", children: fallbackLabel })
2761
+ ] })
2762
+ },
2763
+ element.id
2764
+ );
2765
+ })
2766
+ ]
2767
+ }
2768
+ )
2796
2769
  }
2797
2770
  );
2798
2771
  }
@@ -2818,6 +2791,9 @@ function arePropsEqual2(prev, next) {
2818
2791
  if (prev.slide.backgroundGradient !== next.slide.backgroundGradient) {
2819
2792
  return false;
2820
2793
  }
2794
+ if (prev.slide.backgroundPattern !== next.slide.backgroundPattern) {
2795
+ return false;
2796
+ }
2821
2797
  if (prev.templateElements !== next.templateElements) {
2822
2798
  return false;
2823
2799
  }
@@ -4858,7 +4834,7 @@ function FailedToLoad() {
4858
4834
  var LazyModel3DScene = React5.lazy(
4859
4835
  async () => {
4860
4836
  try {
4861
- return await import('./Model3DScene-DDKQ372V.mjs');
4837
+ return await import('./Model3DScene-QHDYQXL2.mjs');
4862
4838
  } catch {
4863
4839
  return { default: FailedToLoad };
4864
4840
  }
@@ -26550,26 +26526,6 @@ function CanvasGuides({ guides, onDeleteGuide, onStartGuideDrag }) {
26550
26526
  guide.id
26551
26527
  )) });
26552
26528
  }
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
26529
  function MarqueeOverlay({ marqueeSelectionState }) {
26574
26530
  if (!marqueeSelectionState) {
26575
26531
  return null;
@@ -27834,7 +27790,7 @@ function SlideCanvas({
27834
27790
  // pinch-zoom. View/present mode keeps the default so the slide can
27835
27791
  // still be scrolled and swipe-navigated.
27836
27792
  touchAction: isEditableCanvas ? "none" : void 0,
27837
- backgroundColor: activeSlide?.backgroundColor && activeSlide.backgroundColor !== "transparent" ? activeSlide.backgroundColor : "#ffffff"
27793
+ ...getSlideBackgroundStyle(activeSlide)
27838
27794
  },
27839
27795
  onClick: handleStageClick,
27840
27796
  onDoubleClick: handleStageDblClick,
@@ -27854,13 +27810,6 @@ function SlideCanvas({
27854
27810
  onStartGuideDrag: setDraggingGuide
27855
27811
  }
27856
27812
  ),
27857
- /* @__PURE__ */ jsx(
27858
- SlideBackground,
27859
- {
27860
- backgroundImage: activeSlide?.backgroundImage,
27861
- backgroundGradient: activeSlide?.backgroundGradient
27862
- }
27863
- ),
27864
27813
  templateElements.map((element, index) => /* @__PURE__ */ jsx(
27865
27814
  ElementRenderer,
27866
27815
  {
@@ -31611,6 +31560,7 @@ var PowerPointViewer = forwardRef(
31611
31560
  function PowerPointViewer2(props, ref) {
31612
31561
  const {
31613
31562
  content: incomingContent,
31563
+ fonts = [],
31614
31564
  filePath,
31615
31565
  fileName,
31616
31566
  canEdit = false,
@@ -31630,6 +31580,17 @@ var PowerPointViewer = forwardRef(
31630
31580
  shareDefaults,
31631
31581
  smartArt3D = false
31632
31582
  } = props;
31583
+ useEffect(() => {
31584
+ const css = buildUserFontFaceStyles(fonts);
31585
+ if (!css) {
31586
+ return;
31587
+ }
31588
+ const style = document.createElement("style");
31589
+ style.dataset.pptxUserFonts = "true";
31590
+ style.textContent = css;
31591
+ document.head.appendChild(style);
31592
+ return () => style.remove();
31593
+ }, [fonts]);
31633
31594
  const themeStyle = useThemeStyle(theme);
31634
31595
  const [content, setContent] = useState(incomingContent);
31635
31596
  useEffect(() => {
Binary file
Binary file