pptx-react-viewer 2.16.0 → 2.16.2

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 (97) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/dist/{AiChatPanel-VKGWK23E.js → AiChatPanel-MCGNCS7Q.js} +22 -22
  3. package/dist/AiChatPanel-MCGNCS7Q.js.br +0 -0
  4. package/dist/AiChatPanel-MCGNCS7Q.js.gz +0 -0
  5. package/dist/{AiChatPanel-TYU52HDW.mjs → AiChatPanel-WJXPCHQK.mjs} +3 -3
  6. package/dist/AiChatPanel-WJXPCHQK.mjs.br +0 -0
  7. package/dist/AiChatPanel-WJXPCHQK.mjs.gz +0 -0
  8. package/dist/{Model3DScene-267BHD5T.mjs → Model3DScene-IXW2AKAU.mjs} +1 -1
  9. package/dist/{Model3DScene-267BHD5T.mjs.br → Model3DScene-IXW2AKAU.mjs.br} +0 -0
  10. package/dist/Model3DScene-IXW2AKAU.mjs.gz +0 -0
  11. package/dist/{Model3DScene-TG7OSR6V.js → Model3DScene-Q2DTGVQ7.js} +2 -2
  12. package/dist/Model3DScene-Q2DTGVQ7.js.br +0 -0
  13. package/dist/Model3DScene-Q2DTGVQ7.js.gz +0 -0
  14. package/dist/{SurfaceChart3DScene-GK4JHZAC.js → SurfaceChart3DScene-AD43LAOO.js} +2 -2
  15. package/dist/SurfaceChart3DScene-AD43LAOO.js.br +0 -0
  16. package/dist/SurfaceChart3DScene-AD43LAOO.js.gz +0 -0
  17. package/dist/{SurfaceChart3DScene-RPRVXRQZ.mjs → SurfaceChart3DScene-MODEHQ6G.mjs} +1 -1
  18. package/dist/{SurfaceChart3DScene-RPRVXRQZ.mjs.br → SurfaceChart3DScene-MODEHQ6G.mjs.br} +0 -0
  19. package/dist/SurfaceChart3DScene-MODEHQ6G.mjs.gz +0 -0
  20. package/dist/{chunk-P3Y3OMAD.js → chunk-4GX347MG.js} +517 -65
  21. package/dist/chunk-4GX347MG.js.br +0 -0
  22. package/dist/{chunk-P3Y3OMAD.js.gz → chunk-4GX347MG.js.gz} +0 -0
  23. package/dist/{chunk-PILJZ5OE.js → chunk-CIK6XUOH.js} +3 -3
  24. package/dist/chunk-CIK6XUOH.js.br +0 -0
  25. package/dist/{chunk-PILJZ5OE.js.gz → chunk-CIK6XUOH.js.gz} +0 -0
  26. package/dist/{chunk-7W5MCYBN.js → chunk-JV6DI7AK.js} +1100 -1073
  27. package/dist/chunk-JV6DI7AK.js.br +0 -0
  28. package/dist/chunk-JV6DI7AK.js.gz +0 -0
  29. package/dist/{chunk-VNVURLZM.mjs → chunk-LDD2UVCV.mjs} +54 -27
  30. package/dist/chunk-LDD2UVCV.mjs.br +0 -0
  31. package/dist/chunk-LDD2UVCV.mjs.gz +0 -0
  32. package/dist/{chunk-OIITLGKQ.mjs → chunk-MDFCBYEM.mjs} +510 -65
  33. package/dist/chunk-MDFCBYEM.mjs.br +0 -0
  34. package/dist/{chunk-OIITLGKQ.mjs.gz → chunk-MDFCBYEM.mjs.gz} +0 -0
  35. package/dist/{chunk-GOPIG4VW.js → chunk-NKE64XVV.js} +348 -344
  36. package/dist/chunk-NKE64XVV.js.br +0 -0
  37. package/dist/chunk-NKE64XVV.js.gz +0 -0
  38. package/dist/{chunk-AX75ONFY.js → chunk-P6KM7RO5.js} +415 -396
  39. package/dist/chunk-P6KM7RO5.js.br +0 -0
  40. package/dist/chunk-P6KM7RO5.js.gz +0 -0
  41. package/dist/{chunk-ULB35HMJ.mjs → chunk-QI2JCXTH.mjs} +1 -1
  42. package/dist/chunk-QI2JCXTH.mjs.br +0 -0
  43. package/dist/chunk-QI2JCXTH.mjs.gz +0 -0
  44. package/dist/{chunk-TWPZJXLC.mjs → chunk-UWYHBCLM.mjs} +11 -7
  45. package/dist/chunk-UWYHBCLM.mjs.br +0 -0
  46. package/dist/chunk-UWYHBCLM.mjs.gz +0 -0
  47. package/dist/{chunk-FFBY2TKD.mjs → chunk-Z4CS2ZYN.mjs} +173 -154
  48. package/dist/chunk-Z4CS2ZYN.mjs.br +0 -0
  49. package/dist/chunk-Z4CS2ZYN.mjs.gz +0 -0
  50. package/dist/index.js +39 -39
  51. package/dist/index.js.br +0 -0
  52. package/dist/index.js.gz +0 -0
  53. package/dist/index.mjs +5 -5
  54. package/dist/index.mjs.br +0 -0
  55. package/dist/index.mjs.gz +0 -0
  56. package/dist/internals.d.ts +43 -0
  57. package/dist/internals.d.ts.map +1 -1
  58. package/dist/internals.js +78 -78
  59. package/dist/internals.js.br +0 -0
  60. package/dist/internals.js.gz +0 -0
  61. package/dist/internals.mjs +3 -3
  62. package/dist/internals.mjs.br +0 -0
  63. package/dist/internals.mjs.gz +0 -0
  64. package/dist/viewer/index.js +26 -26
  65. package/dist/viewer/index.js.br +0 -0
  66. package/dist/viewer/index.js.gz +0 -0
  67. package/dist/viewer/index.mjs +5 -5
  68. package/dist/viewer/index.mjs.br +0 -0
  69. package/dist/viewer/index.mjs.gz +0 -0
  70. package/package.json +1 -1
  71. package/dist/AiChatPanel-TYU52HDW.mjs.br +0 -0
  72. package/dist/AiChatPanel-TYU52HDW.mjs.gz +0 -0
  73. package/dist/AiChatPanel-VKGWK23E.js.br +0 -0
  74. package/dist/AiChatPanel-VKGWK23E.js.gz +0 -0
  75. package/dist/Model3DScene-267BHD5T.mjs.gz +0 -0
  76. package/dist/Model3DScene-TG7OSR6V.js.br +0 -0
  77. package/dist/Model3DScene-TG7OSR6V.js.gz +0 -0
  78. package/dist/SurfaceChart3DScene-GK4JHZAC.js.br +0 -0
  79. package/dist/SurfaceChart3DScene-GK4JHZAC.js.gz +0 -0
  80. package/dist/SurfaceChart3DScene-RPRVXRQZ.mjs.gz +0 -0
  81. package/dist/chunk-7W5MCYBN.js.br +0 -0
  82. package/dist/chunk-7W5MCYBN.js.gz +0 -0
  83. package/dist/chunk-AX75ONFY.js.br +0 -0
  84. package/dist/chunk-AX75ONFY.js.gz +0 -0
  85. package/dist/chunk-FFBY2TKD.mjs.br +0 -0
  86. package/dist/chunk-FFBY2TKD.mjs.gz +0 -0
  87. package/dist/chunk-GOPIG4VW.js.br +0 -0
  88. package/dist/chunk-GOPIG4VW.js.gz +0 -0
  89. package/dist/chunk-OIITLGKQ.mjs.br +0 -0
  90. package/dist/chunk-P3Y3OMAD.js.br +0 -0
  91. package/dist/chunk-PILJZ5OE.js.br +0 -0
  92. package/dist/chunk-TWPZJXLC.mjs.br +0 -0
  93. package/dist/chunk-TWPZJXLC.mjs.gz +0 -0
  94. package/dist/chunk-ULB35HMJ.mjs.br +0 -0
  95. package/dist/chunk-ULB35HMJ.mjs.gz +0 -0
  96. package/dist/chunk-VNVURLZM.mjs.br +0 -0
  97. package/dist/chunk-VNVURLZM.mjs.gz +0 -0
Binary file
Binary file
@@ -1,4 +1,4 @@
1
- import { ThemePresets, PptxMarkdownConverter } from './chunk-OIITLGKQ.mjs';
1
+ import { ThemePresets, PptxMarkdownConverter } from './chunk-MDFCBYEM.mjs';
2
2
  import { __export } from './chunk-XGB3TDIC.mjs';
3
3
  import * as mcp from 'pptx-viewer-mcp';
4
4
  import * as mcpSchemas from 'pptx-viewer-mcp/schemas';
Binary file
Binary file
@@ -1,6 +1,6 @@
1
- import { cloneHistorySnapshot, MIN_ELEMENT_SIZE, ZOOM_TO_SELECTION_PADDING, DEFAULT_CANVAS_HEIGHT, DEFAULT_CANVAS_WIDTH, partitionTemplateElements, UNGROUPED_SECTION_ID, buildSaveSlides, DEFAULT_TABLE_ROWS, DEFAULT_TABLE_COLUMNS, executeMediaCommand, buildPdfFromImageData, buildNotesPdf, EMU_PER_PX, GRID_SIZE, DEFAULT_TEXT_FONT_SIZE } from './chunk-FFBY2TKD.mjs';
1
+ import { cloneHistorySnapshot, MIN_ELEMENT_SIZE, ZOOM_TO_SELECTION_PADDING, DEFAULT_CANVAS_HEIGHT, DEFAULT_CANVAS_WIDTH, partitionTemplateElements, UNGROUPED_SECTION_ID, buildSaveSlides, DEFAULT_TABLE_ROWS, DEFAULT_TABLE_COLUMNS, executeMediaCommand, buildPdfFromImageData, buildNotesPdf, EMU_PER_PX, GRID_SIZE, DEFAULT_TEXT_FONT_SIZE } from './chunk-Z4CS2ZYN.mjs';
2
2
  import { translationsEn } from './chunk-5YV26HMJ.mjs';
3
- import { TOOLBAR_TABS, computeVirtualRange, DEFAULT_VIRTUAL_OVERSCAN, createPresenceProjector, BROADCAST_THROTTLE_MS, createSyncGate, clearLocalAwareness, validateRoomId, createDepartureChannel, resolveTransportForServerUrl, isMixedContentBlocked, CONNECTION_TIMEOUT_MS, registerCollaborationTeardown, sanitizeColor, cloneTemplateElementsBySlideId, cloneSlide, createWheelStepBuffer, createViewerZoomStore, clampZoomScale, mapEditingWheel, PresentationAnimationController, PRESENTATION_HASH, PRESENTATION_NONCE_KEY, PRESENTATION_CHANNEL_NAME, swapPresentationWindows, PRESENTATION_MESSAGE_ORIGIN, clearAudienceContent, buildPresentationAudienceUrl, resolveAudienceScreenPlacement, placeAudienceWindow, storeAudienceContent, isPresentationSessionMessage, endAudienceDisplay, createPresentationKeyBuffer, acceptsPresentationInput, resolveAutoAdvanceDelayMs, hasShowSlideAfter, nextShowSlideIndex, previousShowSlideIndex, createPresenterShowGuard, attachPresentationVisibilityPause, buildMorphTransitionPlan, morphOptionToMode, createCollaborationLivePatcher, publishLiveInlineText, PptxHandler, collectMediaElements, collectImagePaths, buildInitialGuides, EncryptedFileError, saveAutosaveSnapshot, isTemplateElementId, hasShapeProperties, hasTextProperties, getInlineEditorSelection, applyStyleToSelectedSegments, setPendingSelectionRestore, applyCaseTransformToSegments, transformTextCase, addSection, renameSection, deleteSection, moveSectionUp, moveSectionDown, moveSlidesToSection, normalizeColorsForCapture, preprocessCssForCapture, downloadBlob, sanitizeDownloadFilename, slideProgressPercent, slideStatusLabel, EXPORT_ASSEMBLING_PERCENT, EXPORT_DONE_PERCENT, isExportAbortError, recordProgressPercent, applyThemeToData, THEME_PRESETS, themeColorSchemesEqual, comparePresentation, applyAcceptSlide, applyAcceptAllSlides, collectUsedFonts, detectTouchDevice, detectOrientation, isMobileViewport, MOBILE_BREAKPOINT, TABLET_BREAKPOINT, mayLeaveSlideShow, stopAllPersistentAudio, remapTextToSegments, guidePxToEmu, shouldLoopContinuously, applyRehearsalTimings, copyFormatFromElement, applyFormatToElement, mapEditorKey, isEditorTextInputTarget, createViewerOptionsStore, readSlidesFromYDoc, reconcileSlidesInYDoc, LOCAL_SYNC_ORIGIN, observeYDocSlides, shouldAutoFollowBroadcaster, createTouchGestureRecognizer, MAX_ZOOM_SCALE, MIN_ZOOM_SCALE, isKeyboardOpen, openPptxFile, readBackstageRecentFile, isActionHidden, buildElementClipboardPayload, generatePackageReadme, exportDeckJson, groupElements, generateElementId, makeCloneId, alignElements, distributeElements, bringForward, sendBackward, bringToFront, sendToBack, newTableElement, createDefaultChartElement, readViewportMetrics, computeKeyboardInset, mergeShapes, mapPresentationKey, lastShowSlideIndex, firstShowSlideIndex, mapPresentationWheel, buildPrintDocument, buildOutlineHtml, buildSlidesHtml, buildNotesHtml, buildHandoutsHtml, createBlankSlide, makeSlideId, buildSlideTemplateSlide, templateSchemeFromTheme, buildThemeColorMap, reResolveSlideColors, computeEntranceAnimationDelay, createPresentationSessionId, resolveTransitionDurationMs, runPresentationAction, createPresenterTimer, createInitialPresentationSnapshot, mergePresentationSnapshot, resetPresenterTimer, presenterElapsed, stepPresenterZoom, togglePresenterTimer, canvasToJpegData, downloadDataUrl, pickSupportedMimeType, WEBM_MIME_CANDIDATES, fpsToFrameIntervalMs, segmentFrameCount, encodeGif, resolveShowSlideIndexes, groupSlidesBySection, hasCopyableFormat, createBackstagePresentation, buildFieldSubstitutionContext, cloneElementForPaste, computeScrollDelta, getPresetShapeClipPath, svgPathToPolygons, polygonsToSvgPath, rerouteConnectorsForMovedElements, applyReroutedConnectors, SvgExporter, buildPrintHtmlDocument, deleteTableColumn, rebuildTableStructureInRawXml, insertTableColumn, deleteTableRow, insertTableRow, updateCellTextStyleInRawXml, updateCellTextInRawXml, splitCell, updateMergeAttrsInRawXml, mergeCells, isPpactionUrl, parsePpactionUrl, safeOpenUrl, ACTION_BUTTON_PRESETS, elementActionToPptxAction, buildSmartArtPresetData, computeSnapToShape, publishLiveGeometry, computeMarqueeHitIds, mergeAdditiveSelection, applyResize, snapBoxToGrid, applyMotionPathPreset } from './chunk-OIITLGKQ.mjs';
3
+ import { TOOLBAR_TABS, computeVirtualRange, DEFAULT_VIRTUAL_OVERSCAN, createPresenceProjector, BROADCAST_THROTTLE_MS, createSyncGate, clearLocalAwareness, validateRoomId, createDepartureChannel, resolveTransportForServerUrl, isMixedContentBlocked, CONNECTION_TIMEOUT_MS, registerCollaborationTeardown, sanitizeColor, cloneTemplateElementsBySlideId, cloneSlide, createWheelStepBuffer, createViewerZoomStore, clampZoomScale, mapEditingWheel, PresentationAnimationController, PRESENTATION_HASH, PRESENTATION_NONCE_KEY, PRESENTATION_CHANNEL_NAME, swapPresentationWindows, PRESENTATION_MESSAGE_ORIGIN, clearAudienceContent, buildPresentationAudienceUrl, resolveAudienceScreenPlacement, placeAudienceWindow, storeAudienceContent, isPresentationSessionMessage, endAudienceDisplay, createPresentationKeyBuffer, acceptsPresentationInput, resolveAutoAdvanceDelayMs, hasShowSlideAfter, nextShowSlideIndex, previousShowSlideIndex, createPresenterShowGuard, attachPresentationVisibilityPause, buildMorphTransitionPlan, morphOptionToMode, buildMorphAnimationRules, createCollaborationLivePatcher, publishLiveInlineText, PptxHandler, collectMediaElements, collectImagePaths, buildInitialGuides, EncryptedFileError, saveAutosaveSnapshot, isTemplateElementId, hasShapeProperties, hasTextProperties, getInlineEditorSelection, applyStyleToSelectedSegments, setPendingSelectionRestore, applyCaseTransformToSegments, transformTextCase, addSection, renameSection, deleteSection, moveSectionUp, moveSectionDown, moveSlidesToSection, normalizeColorsForCapture, preprocessCssForCapture, downloadBlob, sanitizeDownloadFilename, slideProgressPercent, slideStatusLabel, EXPORT_ASSEMBLING_PERCENT, EXPORT_DONE_PERCENT, isExportAbortError, recordProgressPercent, applyThemeToData, THEME_PRESETS, themeColorSchemesEqual, comparePresentation, applyAcceptSlide, applyAcceptAllSlides, collectUsedFonts, detectTouchDevice, detectOrientation, isMobileViewport, MOBILE_BREAKPOINT, TABLET_BREAKPOINT, mayLeaveSlideShow, stopAllPersistentAudio, remapTextToSegments, guidePxToEmu, shouldLoopContinuously, applyRehearsalTimings, copyFormatFromElement, applyFormatToElement, mapEditorKey, isEditorTextInputTarget, createViewerOptionsStore, readSlidesFromYDoc, reconcileSlidesInYDoc, LOCAL_SYNC_ORIGIN, observeYDocSlides, shouldAutoFollowBroadcaster, createTouchGestureRecognizer, MAX_ZOOM_SCALE, MIN_ZOOM_SCALE, isKeyboardOpen, openPptxFile, readBackstageRecentFile, isActionHidden, buildElementClipboardPayload, generatePackageReadme, exportDeckJson, groupElements, generateElementId, makeCloneId, alignElements, distributeElements, bringForward, sendBackward, bringToFront, sendToBack, newTableElement, createDefaultChartElement, readViewportMetrics, computeKeyboardInset, mergeShapes, mapPresentationKey, lastShowSlideIndex, firstShowSlideIndex, mapPresentationWheel, buildPrintDocument, buildOutlineHtml, buildSlidesHtml, buildNotesHtml, buildHandoutsHtml, createBlankSlide, makeSlideId, buildSlideTemplateSlide, templateSchemeFromTheme, buildThemeColorMap, reResolveSlideColors, computeEntranceAnimationDelay, createPresentationSessionId, resolveTransitionDurationMs, runPresentationAction, createPresenterTimer, createInitialPresentationSnapshot, mergePresentationSnapshot, resetPresenterTimer, presenterElapsed, stepPresenterZoom, togglePresenterTimer, canvasToJpegData, downloadDataUrl, pickSupportedMimeType, WEBM_MIME_CANDIDATES, fpsToFrameIntervalMs, segmentFrameCount, encodeGif, resolveShowSlideIndexes, groupSlidesBySection, hasCopyableFormat, createBackstagePresentation, buildFieldSubstitutionContext, cloneElementForPaste, computeScrollDelta, getPresetShapeClipPath, svgPathToPolygons, polygonsToSvgPath, rerouteConnectorsForMovedElements, applyReroutedConnectors, SvgExporter, buildPrintHtmlDocument, deleteTableColumn, rebuildTableStructureInRawXml, insertTableColumn, deleteTableRow, insertTableRow, updateCellTextStyleInRawXml, updateCellTextInRawXml, splitCell, updateMergeAttrsInRawXml, mergeCells, isPpactionUrl, parsePpactionUrl, safeOpenUrl, ACTION_BUTTON_PRESETS, elementActionToPptxAction, buildSmartArtPresetData, computeSnapToShape, publishLiveGeometry, computeMarqueeHitIds, mergeAdditiveSelection, applyResize, snapBoxToGrid, applyMotionPathPreset } from './chunk-MDFCBYEM.mjs';
4
4
  import { useRef, useState, useEffect, useCallback, useMemo, useLayoutEffect, useSyncExternalStore, useImperativeHandle } from 'react';
5
5
  import JSZip from 'jszip';
6
6
  import { useTranslation } from 'react-i18next';
@@ -2546,11 +2546,15 @@ function usePresentationMode(input) {
2546
2546
  }
2547
2547
  return merged;
2548
2548
  }, [morphPlan, presentationElementStates]);
2549
- const morphedKeyframesCss = useMemo(
2550
- () => morphPlan ? `${presentationKeyframesCss ?? ""}
2551
- ${morphPlan.keyframesCss}` : presentationKeyframesCss,
2552
- [morphPlan, presentationKeyframesCss]
2553
- );
2549
+ const morphedKeyframesCss = useMemo(() => {
2550
+ if (!morphPlan) {
2551
+ return presentationKeyframesCss;
2552
+ }
2553
+ const imageRules = buildMorphAnimationRules(morphPlan, "", "incoming", "image");
2554
+ return `${presentationKeyframesCss ?? ""}
2555
+ ${morphPlan.keyframesCss}
2556
+ ${imageRules}`;
2557
+ }, [morphPlan, presentationKeyframesCss]);
2554
2558
  return {
2555
2559
  presentationSlideIndex,
2556
2560
  setPresentationSlideIndex,
Binary file
Binary file
@@ -1,11 +1,11 @@
1
1
  import { translationsEn } from './chunk-5YV26HMJ.mjs';
2
- import { SHAPE_PRESET_DEFS, computeValueRangeForChart, VIEWER_SHORTCUT_REFERENCE, getAnimationInitialStyle, cloneHistorySnapshot, hasShapeProperties, isTemplateElement, getImageFitStyle, isImageLikeElement, runMediaCommand, findMediaElementByElementId, mediaPlaybackAttributes, buildTextBlockStyle, hasTextProperties, toCssWritingMode, toCssTextOrientation, toCssVerticalDirection, getKinsokuLineBreakStyles, buildTextBody3DSceneStyle, resolveParagraphRtl, resolveParagraphAlign, resolveCssTextAlign, resolveParagraphStrutFontSize, colorWithOpacity, normalizeHexColor, build3DExtrusionData, isIdentityRectClip, getResolvedShapeClipPath, isStrokeOnlyPresetElement, normalizeStrokeDashType, buildCssGradientFromShapeStyle, buildShadowCssFromShapeStyle, buildInnerShadowCssFromShapeStyle, suppressesCssBorder, buildMultiLayerShadowCss, buildGlowBoxShadow, getCompoundLineBoxShadow, getSoftEdgeFilterId, getEffectDagFilter, buildPatternFillCss, buildReflectionCss, getCssBorderDashStyle, getCompoundLineBorderWidth, getSvgStrokeDasharray, buildSvgGradientDef, isCalloutShape, getCalloutLeaderLineGeometry, buildCalloutLeaderLineSvgPath, getCalloutViewBoxBounds, svgLineCap, getCompoundLineOffsets, getCompoundLineWidths, computeSelectionRect, DEFAULT_FONT_FAMILY, rectToCells, isCellInRect, buildChartViewModel, buildNotesPdfBytes, buildSlidesPdfBytes, buildPreviewAnimation, buildMotionPathPreview, getRoundRectRadiusPx2, registerPersistentAudio, proportionalLineHeight, substituteFieldText, resolveUnderlineDecorationStyle, POWERPOINT_METRIC_TRACKING, resolveAutoFitFontScale, getSubstituteFontFamily, parsePanoseString, hasDistinctScriptFonts, buildTextReflectionCss, getTextAlphaOpacity, buildTextRunFilterChain, buildTextShadowCss, TEXT_BUILD_ID_SEP, buildTextBuildSpec, textBuildSpanStyle, sanitizeGradientStops, getGradientTileFlipCss, getGradientTileRectCss, apply3dEffects, clampUnitInterval, customGeometryPathsToSvgSubpaths, svgGradientFillRef, computeColumnBoundaries, parseDrawingColor, parseDrawingColorOpacity, getCellDiagonalBorders, getPatternSvg, ooxmlDashToCssBorderStyle, cell3DBevelCss, getChartStylePalette, chartAreaFill, computeLayout, valueToY, formatAxisValue, computeLayoutOptions, splitSeriesByAxis, computeValueRange, getSecondaryValueAxis, seriesColor, paletteColor, resolveRegionCode, normalizeValue, sequentialColorScale, convertOmmlToMathMl, sanitizeMathMl, buildTextFillCss, resolvePictureBullet, computeResizedColumnWidths, computeResizedRowHeight, DEFAULT_ROW_HEIGHT, resolveFontRefIdx, tintColor2, shadeColor2, ooxmlGradientAngleToCssDegrees, segmentByScript, resolveFontForScript, generateLogTicks, formatAxisValueWithUnits, getDisplayUnitLabel, hexToRgbChannels, chartPartToAttrs } from './chunk-OIITLGKQ.mjs';
2
+ import { SHAPE_PRESET_DEFS, computeValueRangeForChart, VIEWER_SHORTCUT_REFERENCE, getAnimationInitialStyle, cloneHistorySnapshot, hasShapeProperties, isTemplateElement, getImageFitStyle, isImageLikeElement, runMediaCommand, findMediaElementByElementId, mediaPlaybackAttributes, buildTextBlockStyle, hasTextProperties, toCssWritingMode, toCssTextOrientation, toCssVerticalDirection, getKinsokuLineBreakStyles, buildTextBody3DSceneStyle, resolveParagraphRtl, resolveParagraphAlign, resolveCssTextAlign, resolveParagraphStrutFontSize, colorWithOpacity, normalizeHexColor, build3DExtrusionData, isIdentityRectClip, getResolvedShapeClipPath, isStrokeOnlyPresetElement, normalizeStrokeDashType, buildCssGradientFromShapeStyle, buildShadowCssFromShapeStyle, buildInnerShadowCssFromShapeStyle, suppressesCssBorder, buildMultiLayerShadowCss, buildGlowBoxShadow, getCompoundLineBoxShadow, getSoftEdgeFilterId, getEffectDagFilter, buildPatternFillCss, buildReflectionCss, getCssBorderDashStyle, getCompoundLineBorderWidth, getSvgStrokeDasharray, buildSvgGradientDef, isCalloutShape, getCalloutLeaderLineGeometry, buildCalloutLeaderLineSvgPath, getCalloutViewBoxBounds, svgLineCap, getCompoundLineOffsets, getCompoundLineWidths, computeSelectionRect, DEFAULT_FONT_FAMILY, rectToCells, isCellInRect, buildChartViewModel, buildNotesPdfBytes, buildSlidesPdfBytes, buildPreviewAnimation, buildMotionPathPreview, getRoundRectRadiusPx2, mediaFallbackVisual, registerPersistentAudio, proportionalLineHeight, substituteFieldText, resolveUnderlineDecorationStyle, resolveAutoFitFontScale, getSubstituteFontFamily, parsePanoseString, hasDistinctScriptFonts, pieceLetterSpacing, resolveMetricTrackingPx, buildTextReflectionCss, getTextAlphaOpacity, buildTextRunFilterChain, buildTextShadowCss, TEXT_BUILD_ID_SEP, buildTextBuildSpec, textBuildSpanStyle, sanitizeGradientStops, getGradientTileFlipCss, getGradientTileRectCss, apply3dEffects, clampUnitInterval, customGeometryPathsToSvgSubpaths, svgGradientFillRef, computeColumnBoundaries, parseDrawingColor, parseDrawingColorOpacity, getCellDiagonalBorders, getPatternSvg, ooxmlDashToCssBorderStyle, cell3DBevelCss, getChartStylePalette, chartAreaFill, computeLayout, valueToY, formatAxisValue, computeLayoutOptions, splitSeriesByAxis, computeValueRange, getSecondaryValueAxis, seriesColor, paletteColor, resolveRegionCode, normalizeValue, sequentialColorScale, mediaFallbackIcon, mediaFallbackLabelKey, MEDIA_CHROME_ATTRIBUTE, convertOmmlToMathMl, sanitizeMathMl, buildTextFillCss, resolvePictureBullet, computeResizedColumnWidths, computeResizedRowHeight, DEFAULT_ROW_HEIGHT, resolveFontRefIdx, tintColor2, shadeColor2, ooxmlGradientAngleToCssDegrees, generateLogTicks, formatAxisValueWithUnits, getDisplayUnitLabel, splitRunForMetrics, hexToRgbChannels, chartPartToAttrs, segmentByScript, resolveFontForScript } from './chunk-MDFCBYEM.mjs';
3
3
  import { clsx } from 'clsx';
4
4
  import { twMerge } from 'tailwind-merge';
5
5
  import React6, { useState, useEffect, useMemo, Suspense, useRef, useCallback, useLayoutEffect } from 'react';
6
6
  import { LuTriangle, LuPlus, LuMoveRight, LuMinus, LuDiamond, LuDatabase, LuCircle, LuSquare } from 'react-icons/lu';
7
- import { useTranslation } from 'react-i18next';
8
7
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
8
+ import { useTranslation } from 'react-i18next';
9
9
 
10
10
  // src/viewer/utils/animation-effects.ts
11
11
  function getAnimationInitialStyle2(preset, nativeAnimation) {
@@ -544,36 +544,6 @@ function CaptionTrackRenderer({
544
544
  );
545
545
  }) });
546
546
  }
547
- function MediaNotFoundPlaceholder({
548
- mediaType
549
- }) {
550
- const { t } = useTranslation();
551
- const isVideo = mediaType === "video";
552
- return /* @__PURE__ */ jsxs("div", { className: "w-full h-full flex flex-col items-center justify-center gap-2 pointer-events-none bg-black/30 rounded border border-dashed border-white/20", children: [
553
- /* @__PURE__ */ jsx(
554
- "svg",
555
- {
556
- width: "36",
557
- height: "36",
558
- viewBox: "0 0 24 24",
559
- fill: "none",
560
- stroke: "currentColor",
561
- strokeWidth: "1.5",
562
- className: "text-white/50",
563
- children: isVideo ? /* @__PURE__ */ jsxs(Fragment, { children: [
564
- /* @__PURE__ */ jsx("rect", { x: "2", y: "4", width: "20", height: "16", rx: "2" }),
565
- /* @__PURE__ */ jsx("line", { x1: "2", y1: "4", x2: "22", y2: "20" })
566
- ] }) : /* @__PURE__ */ jsxs(Fragment, { children: [
567
- /* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: "10" }),
568
- /* @__PURE__ */ jsx("line", { x1: "4", y1: "4", x2: "20", y2: "20" })
569
- ] })
570
- }
571
- ),
572
- /* @__PURE__ */ jsx("span", { className: "text-[10px] text-white/50", children: t("pptx.media.typeNotFound", {
573
- type: isVideo ? t("pptx.file.video") : t("pptx.file.audio")
574
- }) })
575
- ] });
576
- }
577
547
  function VideoWithMetadata({
578
548
  element,
579
549
  mediaRef,
@@ -896,6 +866,109 @@ function PresentationMediaController({
896
866
  )
897
867
  ] });
898
868
  }
869
+ function label(key) {
870
+ return key === void 0 ? void 0 : translationsEn[key];
871
+ }
872
+ function FallbackIcon({
873
+ paths,
874
+ size,
875
+ className
876
+ }) {
877
+ if (paths.length === 0) {
878
+ return null;
879
+ }
880
+ return /* @__PURE__ */ jsx(
881
+ "svg",
882
+ {
883
+ width: size,
884
+ height: size,
885
+ viewBox: "0 0 24 24",
886
+ fill: "none",
887
+ stroke: "currentColor",
888
+ strokeWidth: "1.5",
889
+ className,
890
+ children: paths.map((d) => /* @__PURE__ */ jsx("path", { d }, d))
891
+ }
892
+ );
893
+ }
894
+ function Badge({
895
+ visual,
896
+ element
897
+ }) {
898
+ if (visual.badge === "none") {
899
+ return null;
900
+ }
901
+ const isMissing = visual.badge === "missing";
902
+ return /* @__PURE__ */ jsxs(
903
+ "div",
904
+ {
905
+ className: `absolute inset-0 flex flex-col items-center justify-center ${isMissing ? "gap-1" : ""}`,
906
+ ...{ [MEDIA_CHROME_ATTRIBUTE]: visual.badge },
907
+ children: [
908
+ /* @__PURE__ */ jsx(
909
+ FallbackIcon,
910
+ {
911
+ paths: mediaFallbackIcon(visual, element.mediaType),
912
+ size: isMissing ? 32 : 48,
913
+ className: isMissing ? "text-white/60" : "text-white/80 drop-shadow-md"
914
+ }
915
+ ),
916
+ isMissing && /* @__PURE__ */ jsx("span", { className: "text-[10px] text-white/60", children: label(mediaFallbackLabelKey(visual, element.mediaType)) })
917
+ ]
918
+ }
919
+ );
920
+ }
921
+ function Placeholder({
922
+ visual,
923
+ element
924
+ }) {
925
+ if (visual.placeholder === "none") {
926
+ return null;
927
+ }
928
+ const isMissing = visual.placeholder === "missing";
929
+ return /* @__PURE__ */ jsxs(
930
+ "div",
931
+ {
932
+ className: `w-full h-full flex flex-col items-center justify-center gap-1 pointer-events-none rounded ${isMissing ? "bg-black/30 border border-dashed border-white/20" : element.mediaType === "audio" ? "bg-black/10" : "bg-black/20"}`,
933
+ ...{ [MEDIA_CHROME_ATTRIBUTE]: visual.placeholder },
934
+ children: [
935
+ /* @__PURE__ */ jsx(
936
+ FallbackIcon,
937
+ {
938
+ paths: mediaFallbackIcon(visual, element.mediaType),
939
+ size: isMissing ? 36 : element.mediaType === "audio" ? 24 : 32,
940
+ className: isMissing ? "text-white/50" : "text-white/70"
941
+ }
942
+ ),
943
+ /* @__PURE__ */ jsx("span", { className: `text-[10px] ${isMissing ? "text-white/50" : "text-white/70"}`, children: label(mediaFallbackLabelKey(visual, element.mediaType)) })
944
+ ]
945
+ }
946
+ );
947
+ }
948
+ function renderMediaFallback({
949
+ element,
950
+ posterUrl,
951
+ surface
952
+ }) {
953
+ const visual = mediaFallbackVisual(surface, {
954
+ hasPoster: Boolean(posterUrl),
955
+ missing: element.mediaMissing === true
956
+ });
957
+ if (visual.poster && posterUrl) {
958
+ return /* @__PURE__ */ jsxs("div", { className: "w-full h-full relative pointer-events-none", children: [
959
+ /* @__PURE__ */ jsx(
960
+ "img",
961
+ {
962
+ src: posterUrl,
963
+ alt: visual.dimPoster ? translationsEn["pptx.media.posterAlt"] : translationsEn["pptx.media.videoPosterAlt"],
964
+ className: `w-full h-full object-contain${visual.dimPoster ? " opacity-50" : ""}`
965
+ }
966
+ ),
967
+ /* @__PURE__ */ jsx(Badge, { visual, element })
968
+ ] });
969
+ }
970
+ return /* @__PURE__ */ jsx(Placeholder, { visual, element });
971
+ }
899
972
  function renderMediaElement(element, mediaDataUrls, options) {
900
973
  if (element.type !== "media") {
901
974
  return /* @__PURE__ */ jsx("div", { className: "w-full h-full flex items-center justify-center text-[11px] text-white/80 pointer-events-none", children: translationsEn["pptx.media.title"] });
@@ -911,39 +984,12 @@ function renderMediaElement(element, mediaDataUrls, options) {
911
984
  const isFullScreen = options?.fullScreen === true;
912
985
  const isPresentationMode = options?.isPresentationMode === true;
913
986
  const showTransport = options?.showTransport ?? !isPresentationMode;
987
+ const surface = {
988
+ presenting: isPresentationMode,
989
+ preview: options?.preview === true
990
+ };
914
991
  if (element.mediaMissing) {
915
- if (posterUrl) {
916
- return /* @__PURE__ */ jsxs("div", { className: "w-full h-full relative pointer-events-none", children: [
917
- /* @__PURE__ */ jsx(
918
- "img",
919
- {
920
- src: posterUrl,
921
- alt: translationsEn["pptx.media.posterAlt"],
922
- className: "w-full h-full object-contain opacity-50"
923
- }
924
- ),
925
- /* @__PURE__ */ jsxs("div", { className: "absolute inset-0 flex flex-col items-center justify-center gap-1", children: [
926
- /* @__PURE__ */ jsxs(
927
- "svg",
928
- {
929
- width: "32",
930
- height: "32",
931
- viewBox: "0 0 24 24",
932
- fill: "none",
933
- stroke: "currentColor",
934
- strokeWidth: "1.5",
935
- className: "text-white/60",
936
- children: [
937
- /* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: "10" }),
938
- /* @__PURE__ */ jsx("line", { x1: "4", y1: "4", x2: "20", y2: "20" })
939
- ]
940
- }
941
- ),
942
- /* @__PURE__ */ jsx("span", { className: "text-[10px] text-white/60", children: translationsEn["pptx.media.notFound"] })
943
- ] })
944
- ] });
945
- }
946
- return /* @__PURE__ */ jsx(MediaNotFoundPlaceholder, { mediaType: mediaType ?? "video" });
992
+ return renderMediaFallback({ element, posterUrl, surface });
947
993
  }
948
994
  if (mediaType === "video") {
949
995
  if (dataUrl) {
@@ -976,47 +1022,7 @@ function renderMediaElement(element, mediaDataUrls, options) {
976
1022
  }
977
1023
  );
978
1024
  }
979
- if (posterUrl) {
980
- return /* @__PURE__ */ jsxs("div", { className: "w-full h-full relative pointer-events-none", children: [
981
- /* @__PURE__ */ jsx(
982
- "img",
983
- {
984
- src: posterUrl,
985
- alt: translationsEn["pptx.media.videoPosterAlt"],
986
- className: "w-full h-full object-contain"
987
- }
988
- ),
989
- /* @__PURE__ */ jsx("div", { className: "absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ jsx(
990
- "svg",
991
- {
992
- width: "48",
993
- height: "48",
994
- viewBox: "0 0 24 24",
995
- fill: "none",
996
- stroke: "currentColor",
997
- strokeWidth: "1.5",
998
- className: "text-white/80 drop-shadow-md",
999
- children: /* @__PURE__ */ jsx("polygon", { points: "5 3 19 12 5 21 5 3" })
1000
- }
1001
- ) })
1002
- ] });
1003
- }
1004
- return /* @__PURE__ */ jsxs("div", { className: "w-full h-full flex flex-col items-center justify-center gap-1 pointer-events-none bg-black/20 rounded", children: [
1005
- /* @__PURE__ */ jsx(
1006
- "svg",
1007
- {
1008
- width: "32",
1009
- height: "32",
1010
- viewBox: "0 0 24 24",
1011
- fill: "none",
1012
- stroke: "currentColor",
1013
- strokeWidth: "1.5",
1014
- className: "text-white/70",
1015
- children: /* @__PURE__ */ jsx("polygon", { points: "5 3 19 12 5 21 5 3" })
1016
- }
1017
- ),
1018
- /* @__PURE__ */ jsx("span", { className: "text-[10px] text-white/70", children: "Video" })
1019
- ] });
1025
+ return renderMediaFallback({ element, posterUrl, surface });
1020
1026
  }
1021
1027
  if (mediaType === "audio") {
1022
1028
  if (dataUrl) {
@@ -1046,28 +1052,12 @@ function renderMediaElement(element, mediaDataUrls, options) {
1046
1052
  }
1047
1053
  );
1048
1054
  }
1049
- return /* @__PURE__ */ jsxs("div", { className: "w-full h-full flex flex-col items-center justify-center gap-1 pointer-events-none bg-black/10 rounded", children: [
1050
- /* @__PURE__ */ jsxs(
1051
- "svg",
1052
- {
1053
- width: "24",
1054
- height: "24",
1055
- viewBox: "0 0 24 24",
1056
- fill: "none",
1057
- stroke: "currentColor",
1058
- strokeWidth: "1.5",
1059
- className: "text-white/70",
1060
- children: [
1061
- /* @__PURE__ */ jsx("path", { d: "M9 18V5l12-2v13" }),
1062
- /* @__PURE__ */ jsx("circle", { cx: "6", cy: "18", r: "3" }),
1063
- /* @__PURE__ */ jsx("circle", { cx: "18", cy: "16", r: "3" })
1064
- ]
1065
- }
1066
- ),
1067
- /* @__PURE__ */ jsx("span", { className: "text-[10px] text-white/70", children: "Audio" })
1068
- ] });
1055
+ return renderMediaFallback({ element, posterUrl, surface });
1056
+ }
1057
+ if (surface.presenting || surface.preview) {
1058
+ return null;
1069
1059
  }
1070
- return /* @__PURE__ */ jsx("div", { className: "w-full h-full flex items-center justify-center text-[11px] text-white/80 pointer-events-none", children: "Media" });
1060
+ return /* @__PURE__ */ jsx("div", { className: "w-full h-full flex items-center justify-center text-[11px] text-white/80 pointer-events-none", children: translationsEn["pptx.media.title"] });
1071
1061
  }
1072
1062
 
1073
1063
  // src/viewer/utils/text-utils.tsx
@@ -1541,12 +1531,34 @@ function renderScriptAwareText(text, needsScriptFonts, scriptFonts, baseFontFami
1541
1531
  return /* @__PURE__ */ jsx("span", { style: { fontFamily: font }, children: run.text }, `${keyPrefix}-r${i}`);
1542
1532
  });
1543
1533
  }
1544
- function renderSegmentContent(elementId, segmentIndex, textValue, lines, needsScriptFonts, scriptFonts, baseFontFamily, findHighlights, tabContext) {
1534
+ function renderMetricPieces(text, metric, keyPrefix, inner) {
1535
+ if (!metric || !text) {
1536
+ return inner(text, keyPrefix);
1537
+ }
1538
+ const pieces = splitRunForMetrics(text, metric.font);
1539
+ if (pieces.length <= 1) {
1540
+ return inner(text, keyPrefix);
1541
+ }
1542
+ return pieces.map((piece, i) => /* @__PURE__ */ jsx(
1543
+ "span",
1544
+ {
1545
+ style: { letterSpacing: pieceLetterSpacing(metric.authoredPx, piece.tracking) },
1546
+ children: inner(piece.text, `${keyPrefix}-w${i}`)
1547
+ },
1548
+ `${keyPrefix}-w${i}`
1549
+ ));
1550
+ }
1551
+ function renderSegmentContent(elementId, segmentIndex, textValue, lines, needsScriptFonts, scriptFonts, baseFontFamily, findHighlights, tabContext, metric) {
1545
1552
  const segHl = findHighlights?.get(segmentIndex);
1546
1553
  if (!segHl || segHl.length === 0) {
1547
1554
  return lines.map((line, lineIndex) => {
1548
1555
  const lineKey = `${elementId}-seg-${segmentIndex}-line-${lineIndex}`;
1549
- const renderPiece = (text, key) => renderScriptAwareText(text, needsScriptFonts, scriptFonts, baseFontFamily, key);
1556
+ const renderPiece = (text, key) => renderMetricPieces(
1557
+ text,
1558
+ metric,
1559
+ key,
1560
+ (pieceText, pieceKey) => renderScriptAwareText(pieceText, needsScriptFonts, scriptFonts, baseFontFamily, pieceKey)
1561
+ );
1550
1562
  return /* @__PURE__ */ jsxs(React6.Fragment, { children: [
1551
1563
  tabContext && line.includes(" ") ? renderTabbedLine(line, tabContext, lineKey, renderPiece) : renderPiece(line, lineKey),
1552
1564
  lineIndex < lines.length - 1 ? /* @__PURE__ */ jsx("br", {}) : null
@@ -1578,8 +1590,15 @@ function renderSegmentContent(elementId, segmentIndex, textValue, lines, needsSc
1578
1590
  isCurrent: false
1579
1591
  });
1580
1592
  }
1581
- return chunks.map(
1582
- (chunk, ci) => chunk.highlighted ? /* @__PURE__ */ jsx(
1593
+ const renderChunk = (text, key) => renderMetricPieces(
1594
+ text,
1595
+ metric,
1596
+ key,
1597
+ (pieceText, pieceKey) => renderScriptAwareText(pieceText, needsScriptFonts, scriptFonts, baseFontFamily, pieceKey)
1598
+ );
1599
+ return chunks.map((chunk, ci) => {
1600
+ const chunkKey = `${elementId}-seg-${segmentIndex}-hl-${ci}`;
1601
+ return chunk.highlighted ? /* @__PURE__ */ jsx(
1583
1602
  "mark",
1584
1603
  {
1585
1604
  style: {
@@ -1587,23 +1606,11 @@ function renderSegmentContent(elementId, segmentIndex, textValue, lines, needsSc
1587
1606
  color: "inherit",
1588
1607
  borderRadius: 2
1589
1608
  },
1590
- children: renderScriptAwareText(
1591
- chunk.text,
1592
- needsScriptFonts,
1593
- scriptFonts,
1594
- baseFontFamily,
1595
- `${elementId}-seg-${segmentIndex}-hl-${ci}`
1596
- )
1609
+ children: renderChunk(chunk.text, chunkKey)
1597
1610
  },
1598
- `${elementId}-seg-${segmentIndex}-hl-${ci}`
1599
- ) : /* @__PURE__ */ jsx(React6.Fragment, { children: renderScriptAwareText(
1600
- chunk.text,
1601
- needsScriptFonts,
1602
- scriptFonts,
1603
- baseFontFamily,
1604
- `${elementId}-seg-${segmentIndex}-hl-${ci}`
1605
- ) }, `${elementId}-seg-${segmentIndex}-hl-${ci}`)
1606
- );
1611
+ chunkKey
1612
+ ) : /* @__PURE__ */ jsx(React6.Fragment, { children: renderChunk(chunk.text, chunkKey) }, chunkKey);
1613
+ });
1607
1614
  }
1608
1615
  function renderEquationSegment(elementId, segmentIndex, equationXml, equationNumber) {
1609
1616
  const mathml = convertOmmlToMathMl(equationXml);
@@ -1726,7 +1733,7 @@ function renderSingleSegment(element, segment, segmentIndex, fallbackColor, find
1726
1733
  const rawBaseline = typeof segmentStyle.baseline === "number" ? segmentStyle.baseline : 0;
1727
1734
  const baselineFraction = rawBaseline === 0 ? 0 : Math.abs(rawBaseline) >= 1e3 ? rawBaseline / 1e5 : rawBaseline / 100;
1728
1735
  const baselineFontScale = baselineFraction !== 0 ? 0.65 : 1;
1729
- const letterSpacing = typeof segmentStyle.characterSpacing === "number" && segmentStyle.characterSpacing !== 0 ? `calc(${segmentStyle.characterSpacing / 100 * (96 / 72)}px + ${POWERPOINT_METRIC_TRACKING})` : POWERPOINT_METRIC_TRACKING;
1736
+ const authoredLetterSpacing = typeof segmentStyle.characterSpacing === "number" && segmentStyle.characterSpacing !== 0 ? segmentStyle.characterSpacing / 100 * (96 / 72) : 0;
1730
1737
  const textFillStyles = buildTextFillCss2(segmentStyle);
1731
1738
  const rawFontSize = segmentStyle.fontSize || element.textStyle?.fontSize || DEFAULT_TEXT_FONT_SIZE;
1732
1739
  const autoFitScale = resolveAutoFitFontScale(element.textStyle);
@@ -1756,6 +1763,17 @@ function renderSingleSegment(element, segment, segmentIndex, fallbackColor, find
1756
1763
  )
1757
1764
  };
1758
1765
  const needsScriptFonts = hasDistinctScriptFonts(scriptFonts);
1766
+ const metricFont = {
1767
+ fontFamily: baseFontFamily,
1768
+ fontSizePx: baseFontSize * baselineFontScale,
1769
+ bold: Boolean(segmentStyle.bold),
1770
+ italic: Boolean(segmentStyle.italic)
1771
+ };
1772
+ const metricContext = { font: metricFont, authoredPx: authoredLetterSpacing };
1773
+ const letterSpacing = pieceLetterSpacing(
1774
+ authoredLetterSpacing,
1775
+ resolveMetricTrackingPx(textValue, metricFont)
1776
+ );
1759
1777
  const spanStyle = {
1760
1778
  color: resolvedSegmentColor,
1761
1779
  fontSize: baseFontSize * baselineFontScale,
@@ -1835,7 +1853,8 @@ function renderSingleSegment(element, segment, segmentIndex, fallbackColor, find
1835
1853
  baseFontFamily,
1836
1854
  Boolean(segmentStyle.bold),
1837
1855
  Boolean(segmentStyle.italic)
1838
- )
1856
+ ),
1857
+ metricContext
1839
1858
  );
1840
1859
  let innerContent;
1841
1860
  if (hasRuby) {
@@ -6162,7 +6181,7 @@ function FailedToLoad() {
6162
6181
  var LazySurfaceChart3DScene = React6.lazy(
6163
6182
  async () => {
6164
6183
  try {
6165
- return await import('./SurfaceChart3DScene-RPRVXRQZ.mjs');
6184
+ return await import('./SurfaceChart3DScene-MODEHQ6G.mjs');
6166
6185
  } catch {
6167
6186
  return { default: FailedToLoad };
6168
6187
  }
@@ -6494,7 +6513,7 @@ function renderTreemapChart(element, chartData, categoryLabels) {
6494
6513
  `${element.id}-tm-${item.index}`
6495
6514
  )
6496
6515
  );
6497
- const label = categoryLabels[item.index] ?? `${item.index + 1}`;
6516
+ const label2 = categoryLabels[item.index] ?? `${item.index + 1}`;
6498
6517
  if (w > 30 && h > 14) {
6499
6518
  rects.push(
6500
6519
  /* @__PURE__ */ jsx(
@@ -6506,7 +6525,7 @@ function renderTreemapChart(element, chartData, categoryLabels) {
6506
6525
  fontSize: Math.min(10, h * 0.3),
6507
6526
  fill: "#fff",
6508
6527
  fontWeight: 600,
6509
- children: label
6528
+ children: label2
6510
6529
  },
6511
6530
  `${element.id}-tm-lbl-${item.index}`
6512
6531
  )
@@ -6973,14 +6992,14 @@ function layoutToCategory(layout) {
6973
6992
  };
6974
6993
  return map[layout] ?? "list";
6975
6994
  }
6976
- function smartArtNodeGroupProps(nodeId, shadow, label) {
6995
+ function smartArtNodeGroupProps(nodeId, shadow, label2) {
6977
6996
  const props = {
6978
6997
  "data-smartart-node-id": nodeId,
6979
6998
  style: { filter: shadow, pointerEvents: "auto" }
6980
6999
  };
6981
- if (label) {
7000
+ if (label2) {
6982
7001
  props.role = "img";
6983
- props["aria-label"] = label;
7002
+ props["aria-label"] = label2;
6984
7003
  }
6985
7004
  return props;
6986
7005
  }
Binary file
Binary file