pptx-react-viewer 2.6.5 → 2.6.7

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 (96) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/dist/{AiChatPanel-5JEL2M7L.mjs → AiChatPanel-E5PVW4MN.mjs} +3 -3
  3. package/dist/AiChatPanel-E5PVW4MN.mjs.br +0 -0
  4. package/dist/AiChatPanel-E5PVW4MN.mjs.gz +0 -0
  5. package/dist/{AiChatPanel-GMP3TU7S.js → AiChatPanel-I22AHEBC.js} +22 -22
  6. package/dist/AiChatPanel-I22AHEBC.js.br +0 -0
  7. package/dist/AiChatPanel-I22AHEBC.js.gz +0 -0
  8. package/dist/{Model3DScene-LPA4HGFY.mjs → Model3DScene-UYOY6QJN.mjs} +1 -1
  9. package/dist/Model3DScene-UYOY6QJN.mjs.br +0 -0
  10. package/dist/Model3DScene-UYOY6QJN.mjs.gz +0 -0
  11. package/dist/{Model3DScene-E4WWASL7.js → Model3DScene-VC3HMMBO.js} +2 -2
  12. package/dist/Model3DScene-VC3HMMBO.js.br +0 -0
  13. package/dist/Model3DScene-VC3HMMBO.js.gz +0 -0
  14. package/dist/{SurfaceChart3DScene-JT64KYVP.mjs → SurfaceChart3DScene-PDULQ4DY.mjs} +1 -1
  15. package/dist/{SurfaceChart3DScene-JT64KYVP.mjs.br → SurfaceChart3DScene-PDULQ4DY.mjs.br} +0 -0
  16. package/dist/SurfaceChart3DScene-PDULQ4DY.mjs.gz +0 -0
  17. package/dist/{SurfaceChart3DScene-EOJ6FO7H.js → SurfaceChart3DScene-YMRRZC5V.js} +2 -2
  18. package/dist/SurfaceChart3DScene-YMRRZC5V.js.br +0 -0
  19. package/dist/SurfaceChart3DScene-YMRRZC5V.js.gz +0 -0
  20. package/dist/{chunk-HHUBO5OD.mjs → chunk-5QS6ANI7.mjs} +1 -1
  21. package/dist/chunk-5QS6ANI7.mjs.br +0 -0
  22. package/dist/chunk-5QS6ANI7.mjs.gz +0 -0
  23. package/dist/{chunk-FBVQ453Z.js → chunk-5XXNNTE2.js} +843 -843
  24. package/dist/chunk-5XXNNTE2.js.br +0 -0
  25. package/dist/chunk-5XXNNTE2.js.gz +0 -0
  26. package/dist/{chunk-NZYSI3BL.js → chunk-AB4WM3RK.js} +253 -243
  27. package/dist/chunk-AB4WM3RK.js.br +0 -0
  28. package/dist/chunk-AB4WM3RK.js.gz +0 -0
  29. package/dist/{chunk-MVXW7BHH.mjs → chunk-B7DXNZPM.mjs} +2 -2
  30. package/dist/chunk-B7DXNZPM.mjs.br +0 -0
  31. package/dist/chunk-B7DXNZPM.mjs.gz +0 -0
  32. package/dist/{chunk-CZPAFVPN.js → chunk-C4JFU2XG.js} +315 -315
  33. package/dist/chunk-C4JFU2XG.js.br +0 -0
  34. package/dist/chunk-C4JFU2XG.js.gz +0 -0
  35. package/dist/{chunk-2QSHMCJH.mjs → chunk-CKERNV36.mjs} +7 -7
  36. package/dist/chunk-CKERNV36.mjs.br +0 -0
  37. package/dist/chunk-CKERNV36.mjs.gz +0 -0
  38. package/dist/{chunk-GMW7VRFD.mjs → chunk-LR546YFN.mjs} +75 -5
  39. package/dist/chunk-LR546YFN.mjs.br +0 -0
  40. package/dist/{chunk-GMW7VRFD.mjs.gz → chunk-LR546YFN.mjs.gz} +0 -0
  41. package/dist/{chunk-Z2ZC5QTJ.js → chunk-QOWFOMZP.js} +75 -5
  42. package/dist/chunk-QOWFOMZP.js.br +0 -0
  43. package/dist/{chunk-Z2ZC5QTJ.js.gz → chunk-QOWFOMZP.js.gz} +0 -0
  44. package/dist/{chunk-D754TQ4S.js → chunk-TJFZ7ZP6.js} +3 -3
  45. package/dist/chunk-TJFZ7ZP6.js.br +0 -0
  46. package/dist/{chunk-D754TQ4S.js.gz → chunk-TJFZ7ZP6.js.gz} +0 -0
  47. package/dist/{chunk-A3WQ6JDW.mjs → chunk-Y6WE6JJO.mjs} +20 -10
  48. package/dist/chunk-Y6WE6JJO.mjs.br +0 -0
  49. package/dist/chunk-Y6WE6JJO.mjs.gz +0 -0
  50. package/dist/index.js +34 -34
  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.js +78 -78
  57. package/dist/internals.js.br +0 -0
  58. package/dist/internals.js.gz +0 -0
  59. package/dist/internals.mjs +3 -3
  60. package/dist/internals.mjs.br +0 -0
  61. package/dist/internals.mjs.gz +0 -0
  62. package/dist/viewer/index.js +21 -21
  63. package/dist/viewer/index.js.br +0 -0
  64. package/dist/viewer/index.js.gz +0 -0
  65. package/dist/viewer/index.mjs +5 -5
  66. package/dist/viewer/index.mjs.br +0 -0
  67. package/dist/viewer/index.mjs.gz +0 -0
  68. package/package.json +1 -1
  69. package/dist/AiChatPanel-5JEL2M7L.mjs.br +0 -0
  70. package/dist/AiChatPanel-5JEL2M7L.mjs.gz +0 -0
  71. package/dist/AiChatPanel-GMP3TU7S.js.br +0 -0
  72. package/dist/AiChatPanel-GMP3TU7S.js.gz +0 -0
  73. package/dist/Model3DScene-E4WWASL7.js.br +0 -0
  74. package/dist/Model3DScene-E4WWASL7.js.gz +0 -0
  75. package/dist/Model3DScene-LPA4HGFY.mjs.br +0 -0
  76. package/dist/Model3DScene-LPA4HGFY.mjs.gz +0 -0
  77. package/dist/SurfaceChart3DScene-EOJ6FO7H.js.br +0 -0
  78. package/dist/SurfaceChart3DScene-EOJ6FO7H.js.gz +0 -0
  79. package/dist/SurfaceChart3DScene-JT64KYVP.mjs.gz +0 -0
  80. package/dist/chunk-2QSHMCJH.mjs.br +0 -0
  81. package/dist/chunk-2QSHMCJH.mjs.gz +0 -0
  82. package/dist/chunk-A3WQ6JDW.mjs.br +0 -0
  83. package/dist/chunk-A3WQ6JDW.mjs.gz +0 -0
  84. package/dist/chunk-CZPAFVPN.js.br +0 -0
  85. package/dist/chunk-CZPAFVPN.js.gz +0 -0
  86. package/dist/chunk-D754TQ4S.js.br +0 -0
  87. package/dist/chunk-FBVQ453Z.js.br +0 -0
  88. package/dist/chunk-FBVQ453Z.js.gz +0 -0
  89. package/dist/chunk-GMW7VRFD.mjs.br +0 -0
  90. package/dist/chunk-HHUBO5OD.mjs.br +0 -0
  91. package/dist/chunk-HHUBO5OD.mjs.gz +0 -0
  92. package/dist/chunk-MVXW7BHH.mjs.br +0 -0
  93. package/dist/chunk-MVXW7BHH.mjs.gz +0 -0
  94. package/dist/chunk-NZYSI3BL.js.br +0 -0
  95. package/dist/chunk-NZYSI3BL.js.gz +0 -0
  96. package/dist/chunk-Z2ZC5QTJ.js.br +0 -0
Binary file
Binary file
@@ -1,8 +1,8 @@
1
- import { computeFocusTargets, aiChangeAnimationCss, changeGhostStyle, createChatHistoryStore, toRenderableParts } from './chunk-HHUBO5OD.mjs';
2
- import { useReducedMotion, useViewerState, useViewerOptions, useIsMobile, useResizablePanels, useDerivedSlideState, useZoomViewport, useEditorHistory, usePresentationSetup, useTouchGestures, useViewerDialogs, useEditorOperations, useViewerIntegration, useYjsDocumentSync, useCollaborationLivePatch, useFollowMode, useBroadcastFollower, scopeLayoutOptionsToActiveSlide, useToolbarVisibility, useKeyboardInsets, useModalDismissDrag, useCollaborativeState, useVirtualizedSlides, useSwipeNavigation, useSheetDismissDrag, detectTargetType, parseEmailUrl, parseSlideFromUrl, ACTION_VERB_MAP, downloadBlob } from './chunk-MVXW7BHH.mjs';
3
- import { SHAPE_PRESETS, DEFAULT_STROKE_COLOR, getConnectorPathGeometry, buildLineShadowCss, buildLineGlowFilter, renderConnectorMarker, MIN_ELEMENT_SIZE, getShapeVisualStyle, getTextStyleForElement, DEFAULT_TEXT_COLOR, renderVectorShape, isConnectorOrLineElement, build3DExtrusionData, getImageRenderStyle, cn, ANIMATION_PRESET_OPTIONS, resolvePalette, resolveStyle, layoutToCategory, wrapChrome, DEFAULT_FILL_COLOR, hasDagDuotoneEffect, renderDagDuotoneSvgFilter, getTextLayoutStyle, renderTableElement, renderMediaElement, shouldRenderFallbackLabel, getCropShapeClipPath, SLIDE_TRANSITION_OPTIONS, SLIDE_NAV_THUMBNAIL_WIDTH, styleShadow, styleStroke, colour, fitFontSize, smartArtNodeGroupProps, chevronPoints, SmartArtNodeText, truncate, renderStepDownProcess, renderAlternatingFlow, renderDescendingProcess, renderPictureAccentList, renderVerticalBlockList, renderGroupedList, renderPyramidList, renderHorizontalPictureList, renderAccentProcess, renderVerticalChevronList, isImageTiled, getImageTilingStyle, getDuotoneColors, getTextWarpStyle, renderTextSegments, buildReactChartViewModel, renderChartElement, buildTextBody3DSceneStyle, TOOLBAR_SECTIONS, SHORTCUT_REFERENCE_ITEMS as SHORTCUT_REFERENCE_ITEMS$1, buildTree, treeWidth, treeDepth, nodeOpacity, gearPath, resolveSmartArtDataPalette, DEFAULT_TEXT_FONT_SIZE, DEFAULT_FONT_FAMILY, HYPERLINK_COLOR, GRID_SIZE, startPreviewAnimation, stopPreviewAnimation } from './chunk-A3WQ6JDW.mjs';
1
+ import { computeFocusTargets, aiChangeAnimationCss, changeGhostStyle, createChatHistoryStore, toRenderableParts } from './chunk-5QS6ANI7.mjs';
2
+ import { useReducedMotion, useViewerState, useViewerOptions, useIsMobile, useResizablePanels, useDerivedSlideState, useZoomViewport, useEditorHistory, usePresentationSetup, useTouchGestures, useViewerDialogs, useEditorOperations, useViewerIntegration, useYjsDocumentSync, useCollaborationLivePatch, useFollowMode, useBroadcastFollower, scopeLayoutOptionsToActiveSlide, useToolbarVisibility, useKeyboardInsets, useModalDismissDrag, useCollaborativeState, useVirtualizedSlides, useSwipeNavigation, useSheetDismissDrag, detectTargetType, parseEmailUrl, parseSlideFromUrl, ACTION_VERB_MAP, downloadBlob } from './chunk-B7DXNZPM.mjs';
3
+ import { SHAPE_PRESETS, DEFAULT_STROKE_COLOR, getConnectorPathGeometry, buildLineShadowCss, buildLineGlowFilter, renderConnectorMarker, MIN_ELEMENT_SIZE, getShapeVisualStyle, getTextStyleForElement, DEFAULT_TEXT_COLOR, renderVectorShape, isConnectorOrLineElement, build3DExtrusionData, getImageRenderStyle, cn, ANIMATION_PRESET_OPTIONS, resolvePalette, resolveStyle, layoutToCategory, wrapChrome, DEFAULT_FILL_COLOR, hasDagDuotoneEffect, renderDagDuotoneSvgFilter, getTextLayoutStyle, renderTableElement, renderMediaElement, shouldRenderFallbackLabel, getCropShapeClipPath, SLIDE_TRANSITION_OPTIONS, SLIDE_NAV_THUMBNAIL_WIDTH, styleShadow, styleStroke, colour, fitFontSize, smartArtNodeGroupProps, chevronPoints, SmartArtNodeText, truncate, renderStepDownProcess, renderAlternatingFlow, renderDescendingProcess, renderPictureAccentList, renderVerticalBlockList, renderGroupedList, renderPyramidList, renderHorizontalPictureList, renderAccentProcess, renderVerticalChevronList, isImageTiled, getImageTilingStyle, getDuotoneColors, getTextWarpStyle, renderTextSegments, buildReactChartViewModel, renderChartElement, buildTextBody3DSceneStyle, TOOLBAR_SECTIONS, SHORTCUT_REFERENCE_ITEMS as SHORTCUT_REFERENCE_ITEMS$1, buildTree, treeWidth, treeDepth, nodeOpacity, gearPath, resolveSmartArtDataPalette, DEFAULT_TEXT_FONT_SIZE, DEFAULT_FONT_FAMILY, HYPERLINK_COLOR, GRID_SIZE, startPreviewAnimation, stopPreviewAnimation } from './chunk-Y6WE6JJO.mjs';
4
4
  import { LOCALE_CATALOG, translationsEn } from './chunk-Z6HIZWIQ.mjs';
5
- import { RULER_THICKNESS, RULER_FONT_SIZE, hasShapeProperties, normalizeHexColor, colorWithOpacity, normalizeStrokeDashType, getSvgStrokeDasharray, getCompoundLineOffsets, getCompoundLineWidths, svgLineCap, hasTextProperties, getElementTransform, ACTION_BUTTON_PRESETS, isEditableTextElement, getAriaRole, getAriaLabel, getAriaRoleDescription, getImageEffectsOpacity, getImageEffectsFilter, getElementTransformWithoutRotation, SWITCHABLE_LAYOUT_TYPES, EQUATION_TEMPLATES, convertLatexToOmml, convertOmmlToMathMl, sanitizeMathMl, DEFAULT_VIEWER_OPTIONS, buildUserFontFaceStyles, readStoredViewerPrefs, resolveThemeCatalogEntry, THEME_CATALOG, writeStoredViewerPrefs, openPptxFile, readBackstageRecentFile, viewerOptionsToPreferences, applyPreferenceToOptions, listAutosaveSnapshots, deleteAutosaveSnapshot, revealedSmartArtNodeCount, buildSmartArtA11y, buildCssGradientFromShapeStyle, resolveGroupChildFill, getGroupChildParentFill, getComputedEffectStyle, getSoftEdgeSvgFilter, isInkElement, getElementLabel, buildPreviewElements, themeToCssVars, DEFAULT_INSERT_CHART_TYPE, hasCopyableFormat, createBackstagePresentation, printPropertiesFrameSlides, printPropertiesSlidesPerPage, VIEWER_OPTIONS_TABS, DEFAULT_QUICK_ACCESS_COMMAND_IDS, buildJoinCollaborationConfig, buildCreateCollaborationConfig, generateBroadcastRoomId, DEFAULT_BROADCAST_SERVER_URL, buildBroadcastViewerUrl, resolveTransportForServerUrl, resolveDrawingShapeNodeId, buildSummaryZoomView, getImageColorWashStyle, isImageLikeElement, getPendingSelectionRestore, restoreSegmentSelection, getTextCompensationTransform, applyChartBuildReveal, formatAxisValue, hasPressureVariation, getInkReplayStyles, INK_REPLAY_KEYFRAMES, resolveInkColor, resolveInkWidth, resolveInkOpacity, pressuresToWidths, getContentPartReplayStyles, resolveOleType, getOleTypeColor, getOleTypeLabel, getLinkedTextBoxSegments, shouldUseSvgWarp, getSlideBackgroundStyle, filterCommands, resolveTitleBarStatusKey, TITLE_BAR_CLASSES, TITLE_BAR_DEFAULT_FILE_KEY, shouldConfirmExternalHyperlink, safeOpenUrl, isPpactionUrl, parsePpactionUrl, themeColorSchemesEqual, formatVersionTimestamp, formatRelativeTime, scanAvailableFontFamilies, PRESETS, CATEGORIES, convertOmmlToLatex, clampPercent, HANDOUT_OPTIONS, TOOLBAR_TABS, SHORTCUT_REFERENCE_ITEMS, resolveViewerAddinRows, availableQuickAccessCommands, addQuickAccessCommand, removeQuickAccessCommand, moveQuickAccessCommand, activateModalFocus, buildCollaborationShareUrl, mobileElapsedSince, isFirstSlide, isLastSlide, formatMobileElapsed, mobileSlideCounter, presenterPaneAdvancesOnClick, formatElapsed, computeInlineEditorRect, findSmartArtNodeText, setSmartArtNodeStyle, rebuildDrawingShapesIfCleared, shouldCommitSmartArtNodeText, updateSmartArtNodeText, getImageSvgFilters, buildDuotoneCacheKey, getDuotoneCachedResult, applyDuotone, setDuotoneCachedResult, buildCacheKey, DEFAULT_COLOR_CHANGE_TOLERANCE, getCachedResult, applyColorChange, setCachedResult, findChartPartTarget, dragValueForPart, withChartPointValue, dragAnchorViewY, withChartTitle, computeSmartArtLayout, buildSmartArt3DModel, extractPathPoints, generatePressureCircles, isBrowserOpenableMime, formatBytes, getOleBadgeLabel, openUrlInNewTab, getSubstituteFontFamily, getWarpPath, TAB_ROW_ACTION_CLASSES, listBackstageRecentFiles, BACKSTAGE_NAV, INSERT_CHART_TYPES, SLIDE_VIRTUALIZATION_THRESHOLD, getSlideTransitionAnimations, SLIDE_TRANSITION_KEYFRAMES, presentationInkPath, getShapeAdjustmentHandleDescriptor, formatSlideCounter, isUrlSafe, computeHandoutLayout, getPrintableArea, generateNoteLineCount, computeAllNotesPages, getNotesPrintableArea, QUICK_ACCESS_COMMAND_CATALOG, notesSegmentsToSpans, erasePresentationInkAt, movePresenterPointer, appendPresentationInkPoint, NOTES_FONT_SIZE_DEFAULT, formatTime, NOTES_FONT_SIZE_MIN, clampNotesFontSize, NOTES_FONT_SIZE_STEP, NOTES_FONT_SIZE_MAX, groupIntoParagraphs, substituteFieldText, BACKSTAGE_TEMPLATES, formatBackstageDate, formatBackstageSize, DEFAULT_VIEWER_PROFILE, resolveProfileInitial, AVATAR_COLOR_SWATCHES, getConnectionSites, generateTicks, getCommentMarkerPosition, buildThemeColorGrid, THEME_COLOR_SCHEME_KEYS, THEME_COLOR_LABELS, buildSmartArtPresetData, getLocalStorageUsageSummary, saveViewerProfile, clearAllLocalViewerData, TABLE_STYLE_PRESETS, chartDataChangeType, chartDataUpdatePoint, chartDataAddCategory, chartDataRemoveCategory, chartDataAddSeries, chartDataRemoveSeries, setChartAxisLogScale, setChartAxisTitleStyle, setChartAxisGridlineStyle, setChartSeriesMarker, setChartSeriesChartType, setChartDataPointFill, setChartDataPointExplosion, setChartDataPointMarker, setChartDataPointLabel, getOleObjectTypeLabel, pptxActionToElementAction, withFrameSlides, withSlidesPerPage, applyThemeOverrideToSlide, COLOR_MAP_ALIAS_KEYS, DEFAULT_COLOR_MAP, formatCommentTimestamp, DIRECTIONAL_PRESETS, computeMergeCellRight, computeMergeCellDown, computeSplitCell, addSmartArtNodeAsChild, removeSmartArtNode, DUOTONE_PRESETS, ARTISTIC_EFFECTS, elementActionToPptxAction, LBL, SEL, FILL_MODE_OPTIONS, SECTION_HEADING, NUM, switchSmartArtLayout, addSmartArtNode, demoteSmartArtNode, promoteSmartArtNode, reorderSmartArtNode, GRADIENT_TYPE_OPTIONS, PATTERN_OPTIONS } from './chunk-GMW7VRFD.mjs';
5
+ import { RULER_THICKNESS, RULER_FONT_SIZE, hasShapeProperties, normalizeHexColor, colorWithOpacity, normalizeStrokeDashType, getSvgStrokeDasharray, getCompoundLineOffsets, getCompoundLineWidths, svgLineCap, hasTextProperties, getElementTransform, ACTION_BUTTON_PRESETS, isEditableTextElement, getAriaRole, getAriaLabel, getAriaRoleDescription, getImageEffectsOpacity, getImageEffectsFilter, getElementTransformWithoutRotation, SWITCHABLE_LAYOUT_TYPES, EQUATION_TEMPLATES, convertLatexToOmml, convertOmmlToMathMl, sanitizeMathMl, DEFAULT_VIEWER_OPTIONS, buildUserFontFaceStyles, readStoredViewerPrefs, resolveThemeCatalogEntry, THEME_CATALOG, writeStoredViewerPrefs, openPptxFile, readBackstageRecentFile, viewerOptionsToPreferences, applyPreferenceToOptions, listAutosaveSnapshots, deleteAutosaveSnapshot, revealedSmartArtNodeCount, buildSmartArtA11y, buildCssGradientFromShapeStyle, resolveGroupChildFill, getGroupChildParentFill, getComputedEffectStyle, getSoftEdgeSvgFilter, isInkElement, getElementLabel, buildPreviewElements, themeToCssVars, DEFAULT_INSERT_CHART_TYPE, hasCopyableFormat, createBackstagePresentation, printPropertiesFrameSlides, printPropertiesSlidesPerPage, VIEWER_OPTIONS_TABS, DEFAULT_QUICK_ACCESS_COMMAND_IDS, buildJoinCollaborationConfig, buildCreateCollaborationConfig, generateBroadcastRoomId, DEFAULT_BROADCAST_SERVER_URL, buildBroadcastViewerUrl, resolveTransportForServerUrl, resolveDrawingShapeNodeId, buildSummaryZoomView, getImageColorWashStyle, isImageLikeElement, getPendingSelectionRestore, restoreSegmentSelection, getTextCompensationTransform, applyChartBuildReveal, formatAxisValue, hasPressureVariation, getInkReplayStyles, INK_REPLAY_KEYFRAMES, resolveInkColor, resolveInkWidth, resolveInkOpacity, pressuresToWidths, getContentPartReplayStyles, resolveOleType, getOleTypeColor, getOleTypeLabel, getLinkedTextBoxSegments, shouldUseSvgWarp, getSlideBackgroundStyle, filterCommands, resolveTitleBarStatusKey, TITLE_BAR_CLASSES, TITLE_BAR_DEFAULT_FILE_KEY, shouldConfirmExternalHyperlink, safeOpenUrl, isPpactionUrl, parsePpactionUrl, themeColorSchemesEqual, formatVersionTimestamp, formatRelativeTime, scanAvailableFontFamilies, PRESETS, CATEGORIES, convertOmmlToLatex, clampPercent, HANDOUT_OPTIONS, TOOLBAR_TABS, SHORTCUT_REFERENCE_ITEMS, resolveViewerAddinRows, availableQuickAccessCommands, addQuickAccessCommand, removeQuickAccessCommand, moveQuickAccessCommand, activateModalFocus, buildCollaborationShareUrl, mobileElapsedSince, isFirstSlide, isLastSlide, formatMobileElapsed, mobileSlideCounter, presenterPaneAdvancesOnClick, formatElapsed, computeInlineEditorRect, findSmartArtNodeText, setSmartArtNodeStyle, rebuildDrawingShapesIfCleared, shouldCommitSmartArtNodeText, updateSmartArtNodeText, getImageSvgFilters, buildDuotoneCacheKey, getDuotoneCachedResult, applyDuotone, setDuotoneCachedResult, buildCacheKey, DEFAULT_COLOR_CHANGE_TOLERANCE, getCachedResult, applyColorChange, setCachedResult, findChartPartTarget, dragValueForPart, withChartPointValue, dragAnchorViewY, withChartTitle, computeSmartArtLayout, buildSmartArt3DModel, extractPathPoints, generatePressureCircles, isBrowserOpenableMime, formatBytes, getOleBadgeLabel, openUrlInNewTab, getSubstituteFontFamily, getWarpPath, TAB_ROW_ACTION_CLASSES, listBackstageRecentFiles, BACKSTAGE_NAV, INSERT_CHART_TYPES, SLIDE_VIRTUALIZATION_THRESHOLD, getSlideTransitionAnimations, SLIDE_TRANSITION_KEYFRAMES, presentationInkPath, getShapeAdjustmentHandleDescriptor, formatSlideCounter, isUrlSafe, computeHandoutLayout, getPrintableArea, generateNoteLineCount, computeAllNotesPages, getNotesPrintableArea, QUICK_ACCESS_COMMAND_CATALOG, notesSegmentsToSpans, erasePresentationInkAt, movePresenterPointer, appendPresentationInkPoint, NOTES_FONT_SIZE_DEFAULT, formatTime, NOTES_FONT_SIZE_MIN, clampNotesFontSize, NOTES_FONT_SIZE_STEP, NOTES_FONT_SIZE_MAX, groupIntoParagraphs, substituteFieldText, BACKSTAGE_TEMPLATES, formatBackstageDate, formatBackstageSize, DEFAULT_VIEWER_PROFILE, resolveProfileInitial, AVATAR_COLOR_SWATCHES, getConnectionSites, generateTicks, getCommentMarkerPosition, buildThemeColorGrid, THEME_COLOR_SCHEME_KEYS, THEME_COLOR_LABELS, buildSmartArtPresetData, getLocalStorageUsageSummary, saveViewerProfile, clearAllLocalViewerData, TABLE_STYLE_PRESETS, chartDataChangeType, chartDataUpdatePoint, chartDataAddCategory, chartDataRemoveCategory, chartDataAddSeries, chartDataRemoveSeries, setChartAxisLogScale, setChartAxisTitleStyle, setChartAxisGridlineStyle, setChartSeriesMarker, setChartSeriesChartType, setChartDataPointFill, setChartDataPointExplosion, setChartDataPointMarker, setChartDataPointLabel, getOleObjectTypeLabel, pptxActionToElementAction, withFrameSlides, withSlidesPerPage, applyThemeOverrideToSlide, COLOR_MAP_ALIAS_KEYS, DEFAULT_COLOR_MAP, formatCommentTimestamp, DIRECTIONAL_PRESETS, computeMergeCellRight, computeMergeCellDown, computeSplitCell, addSmartArtNodeAsChild, removeSmartArtNode, DUOTONE_PRESETS, ARTISTIC_EFFECTS, elementActionToPptxAction, LBL, SEL, FILL_MODE_OPTIONS, SECTION_HEADING, NUM, switchSmartArtLayout, addSmartArtNode, demoteSmartArtNode, promoteSmartArtNode, reorderSmartArtNode, GRADIENT_TYPE_OPTIONS, PATTERN_OPTIONS } from './chunk-LR546YFN.mjs';
6
6
  import React32, { createContext, useMemo, useState, useCallback, lazy, forwardRef, useEffect, useRef, useContext, Suspense, useLayoutEffect, useDeferredValue } from 'react';
7
7
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
8
8
  import { useTranslation } from 'react-i18next';
@@ -1337,7 +1337,7 @@ function AccountPage() {
1337
1337
  return void 0;
1338
1338
  });
1339
1339
  };
1340
- const version = "2.6.4" ;
1340
+ const version = "2.6.6" ;
1341
1341
  return /* @__PURE__ */ jsxs("div", { className: "mt-8 max-w-[700px] space-y-6", children: [
1342
1342
  /* @__PURE__ */ jsxs("section", { className: cardClass, children: [
1343
1343
  /* @__PURE__ */ jsxs("h2", { className: "flex items-center gap-2 text-sm font-semibold", children: [
@@ -8345,7 +8345,7 @@ function FailedToLoad() {
8345
8345
  var LazyModel3DScene = React32.lazy(
8346
8346
  async () => {
8347
8347
  try {
8348
- return await import('./Model3DScene-LPA4HGFY.mjs');
8348
+ return await import('./Model3DScene-UYOY6QJN.mjs');
8349
8349
  } catch {
8350
8350
  return { default: FailedToLoad };
8351
8351
  }
@@ -31626,7 +31626,7 @@ ${url}`)) {
31626
31626
  )
31627
31627
  );
31628
31628
  }
31629
- var AiChatPanel = lazy(() => import('./AiChatPanel-5JEL2M7L.mjs'));
31629
+ var AiChatPanel = lazy(() => import('./AiChatPanel-E5PVW4MN.mjs'));
31630
31630
  function AiChatPanelLazy(props) {
31631
31631
  return /* @__PURE__ */ jsx(
31632
31632
  Suspense,
Binary file
Binary file
@@ -63197,8 +63197,16 @@ var PptxHandlerRuntime63 = class extends PptxHandlerRuntime62 {
63197
63197
  }
63198
63198
  }
63199
63199
  if (pIdx < paraCount - 1) {
63200
+ const separatorStyle = { ...mergedDefaultRunStyle };
63201
+ if (segments.length === 0) {
63202
+ const endParaSz = p["a:endParaRPr"]?.["@_sz"];
63203
+ const endParaPoints = endParaSz !== void 0 ? parseInt(String(endParaSz)) / 100 : NaN;
63204
+ if (Number.isFinite(endParaPoints) && endParaPoints > 0) {
63205
+ separatorStyle.fontSize = endParaPoints * (96 / 72);
63206
+ }
63207
+ }
63200
63208
  parts.push("\n");
63201
- segments.push({ text: "\n", style: { ...mergedDefaultRunStyle } });
63209
+ segments.push({ text: "\n", style: separatorStyle });
63202
63210
  }
63203
63211
  const firstSegmentIndex = segments.length === 0 ? -1 : 0;
63204
63212
  if (firstSegmentIndex >= 0) {
@@ -97279,11 +97287,12 @@ function detectOrientation() {
97279
97287
  }
97280
97288
  return window.innerHeight > window.innerWidth ? "portrait" : "landscape";
97281
97289
  }
97290
+ var DEFAULT_LINE_HEIGHT = 1.2;
97282
97291
  function resolveLineHeight(textStyle, hasItalicRuns) {
97283
97292
  if (typeof textStyle?.lineSpacingExactPt === "number" && textStyle.lineSpacingExactPt > 0) {
97284
97293
  return `${textStyle.lineSpacingExactPt}pt`;
97285
97294
  }
97286
- return textStyle?.lineSpacing || (hasItalicRuns ? 1.35 : 1.25);
97295
+ return textStyle?.lineSpacing || DEFAULT_LINE_HEIGHT;
97287
97296
  }
97288
97297
  function toCssWritingMode(textDirection) {
97289
97298
  switch (textDirection) {
@@ -97320,7 +97329,7 @@ function toCssVerticalDirection(textDirection) {
97320
97329
  return void 0;
97321
97330
  }
97322
97331
  function computeAutoFitTextStyle(input) {
97323
- const { textStyle: ts, text: text2, width, height, bodyInsetVertical, hasItalicRuns } = input;
97332
+ const { textStyle: ts, text: text2, width, height, bodyInsetVertical } = input;
97324
97333
  if (!ts?.autoFit) {
97325
97334
  return {};
97326
97335
  }
@@ -97330,7 +97339,7 @@ function computeAutoFitTextStyle(input) {
97330
97339
  result.fontSize = Math.max(6, Math.round(baseFontSize * ts.autoFitFontScale));
97331
97340
  } else if (ts.autoFitMode !== "normal") {
97332
97341
  const textLength = text2.length;
97333
- const lineHeight = ts.lineSpacingExactPt ? ts.lineSpacingExactPt / baseFontSize : ts.lineSpacing || (hasItalicRuns ? 1.35 : 1.25);
97342
+ const lineHeight = ts.lineSpacingExactPt ? ts.lineSpacingExactPt / baseFontSize : ts.lineSpacing || DEFAULT_LINE_HEIGHT;
97334
97343
  const approxCharsPerLine = Math.max(1, Math.floor(width / (baseFontSize * 0.6)));
97335
97344
  const estimatedLines = Math.max(1, Math.ceil(textLength / approxCharsPerLine));
97336
97345
  const requiredHeight = estimatedLines * baseFontSize * lineHeight;
@@ -97341,7 +97350,7 @@ function computeAutoFitTextStyle(input) {
97341
97350
  }
97342
97351
  }
97343
97352
  if (ts.autoFitLineSpacingReduction !== void 0 && ts.autoFitLineSpacingReduction > 0) {
97344
- const baseLineHeight = typeof ts.lineSpacing === "number" ? ts.lineSpacing : hasItalicRuns ? 1.35 : 1.25;
97353
+ const baseLineHeight = typeof ts.lineSpacing === "number" ? ts.lineSpacing : DEFAULT_LINE_HEIGHT;
97345
97354
  result.lineHeight = baseLineHeight * (1 - ts.autoFitLineSpacingReduction);
97346
97355
  }
97347
97356
  return result;
@@ -98333,6 +98342,37 @@ function getElementMorphName(element) {
98333
98342
  }
98334
98343
  return void 0;
98335
98344
  }
98345
+ var NV_PR_KEYS = [
98346
+ "p:nvSpPr",
98347
+ "p:nvPicPr",
98348
+ "p:nvGrpSpPr",
98349
+ "p:nvCxnSpPr",
98350
+ "p:nvGraphicFramePr"
98351
+ ];
98352
+ function getElementCreationId(element) {
98353
+ const raw = element.rawXml;
98354
+ if (!raw) {
98355
+ return void 0;
98356
+ }
98357
+ for (const nvKey of NV_PR_KEYS) {
98358
+ const nvPr = raw[nvKey];
98359
+ const cNvPr = nvPr?.["p:cNvPr"];
98360
+ const extLst = cNvPr?.["a:extLst"];
98361
+ const extRaw = extLst?.["a:ext"];
98362
+ if (!extRaw) {
98363
+ continue;
98364
+ }
98365
+ const exts = Array.isArray(extRaw) ? extRaw : [extRaw];
98366
+ for (const ext of exts) {
98367
+ const creation = ext?.["a16:creationId"];
98368
+ const guid = creation?.["@_id"];
98369
+ if (typeof guid === "string" && guid.length > 0) {
98370
+ return guid;
98371
+ }
98372
+ }
98373
+ }
98374
+ return void 0;
98375
+ }
98336
98376
  function matchMorphElementsFull(fromSlide, toSlide) {
98337
98377
  const pairs2 = [];
98338
98378
  const usedFrom = /* @__PURE__ */ new Set();
@@ -98355,6 +98395,33 @@ function matchMorphElementsFull(fromSlide, toSlide) {
98355
98395
  }
98356
98396
  }
98357
98397
  }
98398
+ const creationIds = /* @__PURE__ */ new Map();
98399
+ const creationIdOf = (el) => {
98400
+ if (!creationIds.has(el.id)) {
98401
+ creationIds.set(el.id, getElementCreationId(el));
98402
+ }
98403
+ return creationIds.get(el.id);
98404
+ };
98405
+ for (const fromEl of fromSlide.elements) {
98406
+ if (usedFrom.has(fromEl.id)) {
98407
+ continue;
98408
+ }
98409
+ const fromGuid = creationIdOf(fromEl);
98410
+ if (!fromGuid) {
98411
+ continue;
98412
+ }
98413
+ for (const toEl of toSlide.elements) {
98414
+ if (usedTo.has(toEl.id) || fromEl.type !== toEl.type) {
98415
+ continue;
98416
+ }
98417
+ if (creationIdOf(toEl) === fromGuid) {
98418
+ pairs2.push({ fromElement: fromEl, toElement: toEl });
98419
+ usedFrom.add(fromEl.id);
98420
+ usedTo.add(toEl.id);
98421
+ break;
98422
+ }
98423
+ }
98424
+ }
98358
98425
  for (const fromEl of fromSlide.elements) {
98359
98426
  if (usedFrom.has(fromEl.id) || !fromEl.shapeId) {
98360
98427
  continue;
@@ -98364,6 +98431,9 @@ function matchMorphElementsFull(fromSlide, toSlide) {
98364
98431
  continue;
98365
98432
  }
98366
98433
  if (toEl.shapeId && fromEl.shapeId === toEl.shapeId && fromEl.type === toEl.type) {
98434
+ if (creationIdOf(fromEl) && creationIdOf(toEl)) {
98435
+ continue;
98436
+ }
98367
98437
  pairs2.push({ fromElement: fromEl, toElement: toEl });
98368
98438
  usedFrom.add(fromEl.id);
98369
98439
  usedTo.add(toEl.id);
Binary file
@@ -63204,8 +63204,16 @@ var PptxHandlerRuntime63 = class extends PptxHandlerRuntime62 {
63204
63204
  }
63205
63205
  }
63206
63206
  if (pIdx < paraCount - 1) {
63207
+ const separatorStyle = { ...mergedDefaultRunStyle };
63208
+ if (segments.length === 0) {
63209
+ const endParaSz = p["a:endParaRPr"]?.["@_sz"];
63210
+ const endParaPoints = endParaSz !== void 0 ? parseInt(String(endParaSz)) / 100 : NaN;
63211
+ if (Number.isFinite(endParaPoints) && endParaPoints > 0) {
63212
+ separatorStyle.fontSize = endParaPoints * (96 / 72);
63213
+ }
63214
+ }
63207
63215
  parts.push("\n");
63208
- segments.push({ text: "\n", style: { ...mergedDefaultRunStyle } });
63216
+ segments.push({ text: "\n", style: separatorStyle });
63209
63217
  }
63210
63218
  const firstSegmentIndex = segments.length === 0 ? -1 : 0;
63211
63219
  if (firstSegmentIndex >= 0) {
@@ -97286,11 +97294,12 @@ function detectOrientation() {
97286
97294
  }
97287
97295
  return window.innerHeight > window.innerWidth ? "portrait" : "landscape";
97288
97296
  }
97297
+ var DEFAULT_LINE_HEIGHT = 1.2;
97289
97298
  function resolveLineHeight(textStyle, hasItalicRuns) {
97290
97299
  if (typeof textStyle?.lineSpacingExactPt === "number" && textStyle.lineSpacingExactPt > 0) {
97291
97300
  return `${textStyle.lineSpacingExactPt}pt`;
97292
97301
  }
97293
- return textStyle?.lineSpacing || (hasItalicRuns ? 1.35 : 1.25);
97302
+ return textStyle?.lineSpacing || DEFAULT_LINE_HEIGHT;
97294
97303
  }
97295
97304
  function toCssWritingMode(textDirection) {
97296
97305
  switch (textDirection) {
@@ -97327,7 +97336,7 @@ function toCssVerticalDirection(textDirection) {
97327
97336
  return void 0;
97328
97337
  }
97329
97338
  function computeAutoFitTextStyle(input) {
97330
- const { textStyle: ts, text: text2, width, height, bodyInsetVertical, hasItalicRuns } = input;
97339
+ const { textStyle: ts, text: text2, width, height, bodyInsetVertical } = input;
97331
97340
  if (!ts?.autoFit) {
97332
97341
  return {};
97333
97342
  }
@@ -97337,7 +97346,7 @@ function computeAutoFitTextStyle(input) {
97337
97346
  result.fontSize = Math.max(6, Math.round(baseFontSize * ts.autoFitFontScale));
97338
97347
  } else if (ts.autoFitMode !== "normal") {
97339
97348
  const textLength = text2.length;
97340
- const lineHeight = ts.lineSpacingExactPt ? ts.lineSpacingExactPt / baseFontSize : ts.lineSpacing || (hasItalicRuns ? 1.35 : 1.25);
97349
+ const lineHeight = ts.lineSpacingExactPt ? ts.lineSpacingExactPt / baseFontSize : ts.lineSpacing || DEFAULT_LINE_HEIGHT;
97341
97350
  const approxCharsPerLine = Math.max(1, Math.floor(width / (baseFontSize * 0.6)));
97342
97351
  const estimatedLines = Math.max(1, Math.ceil(textLength / approxCharsPerLine));
97343
97352
  const requiredHeight = estimatedLines * baseFontSize * lineHeight;
@@ -97348,7 +97357,7 @@ function computeAutoFitTextStyle(input) {
97348
97357
  }
97349
97358
  }
97350
97359
  if (ts.autoFitLineSpacingReduction !== void 0 && ts.autoFitLineSpacingReduction > 0) {
97351
- const baseLineHeight = typeof ts.lineSpacing === "number" ? ts.lineSpacing : hasItalicRuns ? 1.35 : 1.25;
97360
+ const baseLineHeight = typeof ts.lineSpacing === "number" ? ts.lineSpacing : DEFAULT_LINE_HEIGHT;
97352
97361
  result.lineHeight = baseLineHeight * (1 - ts.autoFitLineSpacingReduction);
97353
97362
  }
97354
97363
  return result;
@@ -98340,6 +98349,37 @@ function getElementMorphName(element) {
98340
98349
  }
98341
98350
  return void 0;
98342
98351
  }
98352
+ var NV_PR_KEYS = [
98353
+ "p:nvSpPr",
98354
+ "p:nvPicPr",
98355
+ "p:nvGrpSpPr",
98356
+ "p:nvCxnSpPr",
98357
+ "p:nvGraphicFramePr"
98358
+ ];
98359
+ function getElementCreationId(element) {
98360
+ const raw = element.rawXml;
98361
+ if (!raw) {
98362
+ return void 0;
98363
+ }
98364
+ for (const nvKey of NV_PR_KEYS) {
98365
+ const nvPr = raw[nvKey];
98366
+ const cNvPr = nvPr?.["p:cNvPr"];
98367
+ const extLst = cNvPr?.["a:extLst"];
98368
+ const extRaw = extLst?.["a:ext"];
98369
+ if (!extRaw) {
98370
+ continue;
98371
+ }
98372
+ const exts = Array.isArray(extRaw) ? extRaw : [extRaw];
98373
+ for (const ext of exts) {
98374
+ const creation = ext?.["a16:creationId"];
98375
+ const guid = creation?.["@_id"];
98376
+ if (typeof guid === "string" && guid.length > 0) {
98377
+ return guid;
98378
+ }
98379
+ }
98380
+ }
98381
+ return void 0;
98382
+ }
98343
98383
  function matchMorphElementsFull(fromSlide, toSlide) {
98344
98384
  const pairs2 = [];
98345
98385
  const usedFrom = /* @__PURE__ */ new Set();
@@ -98362,6 +98402,33 @@ function matchMorphElementsFull(fromSlide, toSlide) {
98362
98402
  }
98363
98403
  }
98364
98404
  }
98405
+ const creationIds = /* @__PURE__ */ new Map();
98406
+ const creationIdOf = (el) => {
98407
+ if (!creationIds.has(el.id)) {
98408
+ creationIds.set(el.id, getElementCreationId(el));
98409
+ }
98410
+ return creationIds.get(el.id);
98411
+ };
98412
+ for (const fromEl of fromSlide.elements) {
98413
+ if (usedFrom.has(fromEl.id)) {
98414
+ continue;
98415
+ }
98416
+ const fromGuid = creationIdOf(fromEl);
98417
+ if (!fromGuid) {
98418
+ continue;
98419
+ }
98420
+ for (const toEl of toSlide.elements) {
98421
+ if (usedTo.has(toEl.id) || fromEl.type !== toEl.type) {
98422
+ continue;
98423
+ }
98424
+ if (creationIdOf(toEl) === fromGuid) {
98425
+ pairs2.push({ fromElement: fromEl, toElement: toEl });
98426
+ usedFrom.add(fromEl.id);
98427
+ usedTo.add(toEl.id);
98428
+ break;
98429
+ }
98430
+ }
98431
+ }
98365
98432
  for (const fromEl of fromSlide.elements) {
98366
98433
  if (usedFrom.has(fromEl.id) || !fromEl.shapeId) {
98367
98434
  continue;
@@ -98371,6 +98438,9 @@ function matchMorphElementsFull(fromSlide, toSlide) {
98371
98438
  continue;
98372
98439
  }
98373
98440
  if (toEl.shapeId && fromEl.shapeId === toEl.shapeId && fromEl.type === toEl.type) {
98441
+ if (creationIdOf(fromEl) && creationIdOf(toEl)) {
98442
+ continue;
98443
+ }
98374
98444
  pairs2.push({ fromElement: fromEl, toElement: toEl });
98375
98445
  usedFrom.add(fromEl.id);
98376
98446
  usedTo.add(toEl.id);
Binary file
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkZ2ZC5QTJ_js = require('./chunk-Z2ZC5QTJ.js');
3
+ var chunkQOWFOMZP_js = require('./chunk-QOWFOMZP.js');
4
4
  var chunk4VNS5WPM_js = require('./chunk-4VNS5WPM.js');
5
5
  var mcp = require('pptx-viewer-mcp');
6
6
  var mcpSchemas = require('pptx-viewer-mcp/schemas');
@@ -14879,7 +14879,7 @@ async function buildSlideMarkdown(slides, slideIndex2, meta3, options = {}) {
14879
14879
  };
14880
14880
  let markdown;
14881
14881
  try {
14882
- const converter = new chunkZ2ZC5QTJ_js.PptxMarkdownConverter(
14882
+ const converter = new chunkQOWFOMZP_js.PptxMarkdownConverter(
14883
14883
  "",
14884
14884
  {
14885
14885
  sourceName: meta3.title ?? "deck.pptx",
@@ -15470,7 +15470,7 @@ var getTheme = (ctx) => {
15470
15470
  name: theme?.name,
15471
15471
  colorScheme: theme?.colorScheme,
15472
15472
  fontScheme: theme?.fontScheme,
15473
- availablePresets: Object.keys(chunkZ2ZC5QTJ_js.ThemePresets)
15473
+ availablePresets: Object.keys(chunkQOWFOMZP_js.ThemePresets)
15474
15474
  };
15475
15475
  };
15476
15476
  var readExecutors = {
Binary file
@@ -1,5 +1,5 @@
1
1
  import { translationsEn } from './chunk-Z6HIZWIQ.mjs';
2
- import { SHAPE_PRESET_DEFS, computeValueRangeForChart, getAnimationInitialStyle, cloneHistorySnapshot, hasShapeProperties, isTemplateElement, isImageLikeElement, clampCropValue, parseMediaCommand, hasTextProperties, normalizeHexColor, toCssWritingMode, toCssTextOrientation, toCssVerticalDirection, computeAutoFitTextStyle, resolveLineHeight, getKinsokuLineBreakStyles, buildTextBody3DSceneStyle, resolveParagraphRtl, resolveParagraphAlign, resolveCssTextAlign, resolveParagraphStrutFontSize, colorWithOpacity, build3DExtrusionData, getResolvedShapeClipPath, normalizeStrokeDashType, buildCssGradientFromShapeStyle, buildShadowCssFromShapeStyle, buildInnerShadowCssFromShapeStyle, buildMultiLayerShadowCss, buildGlowBoxShadow, getCompoundLineBoxShadow, getSoftEdgeFilterId, getEffectDagFilter, buildPatternFillCss, buildReflectionCss, getCssBorderDashStyle, getCompoundLineBorderWidth, getSvgStrokeDasharray, isCalloutShape, getCalloutLeaderLineGeometry, buildCalloutLeaderLineSvgPath, getCalloutViewBoxBounds, svgLineCap, getCompoundLineOffsets, getCompoundLineWidths, computeSelectionRect, rectToCells, isCellInRect, buildChartViewModel, buildNotesPdfBytes, buildSlidesPdfBytes, buildPreviewAnimation, getRoundRectRadiusPx, substituteFieldText, resolveUnderlineDecorationStyle, getSubstituteFontFamily, hasDistinctScriptFonts, buildTextReflectionCss, getTextAlphaOpacity, buildTextRunFilterChain, buildTextShadowCss, TEXT_BUILD_ID_SEP, buildTextBuildSpec, textBuildSpanStyle, evaluatePresetShape, apply3dEffects, clampUnitInterval, customGeometryPathsToSvgSubpaths, computeColumnBoundaries, parseDrawingColor, parseDrawingColorOpacity, getCellDiagonalBorders, getPatternSvg, ooxmlDashToCssBorderStyle, cell3DBevelCss, getChartStylePalette, 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-GMW7VRFD.mjs';
2
+ import { SHAPE_PRESET_DEFS, computeValueRangeForChart, getAnimationInitialStyle, cloneHistorySnapshot, hasShapeProperties, isTemplateElement, isImageLikeElement, clampCropValue, parseMediaCommand, hasTextProperties, normalizeHexColor, toCssWritingMode, toCssTextOrientation, toCssVerticalDirection, computeAutoFitTextStyle, resolveLineHeight, getKinsokuLineBreakStyles, buildTextBody3DSceneStyle, resolveParagraphRtl, resolveParagraphAlign, resolveCssTextAlign, resolveParagraphStrutFontSize, colorWithOpacity, build3DExtrusionData, getResolvedShapeClipPath, normalizeStrokeDashType, buildCssGradientFromShapeStyle, buildShadowCssFromShapeStyle, buildInnerShadowCssFromShapeStyle, buildMultiLayerShadowCss, buildGlowBoxShadow, getCompoundLineBoxShadow, getSoftEdgeFilterId, getEffectDagFilter, buildPatternFillCss, buildReflectionCss, getCssBorderDashStyle, getCompoundLineBorderWidth, getSvgStrokeDasharray, isCalloutShape, getCalloutLeaderLineGeometry, buildCalloutLeaderLineSvgPath, getCalloutViewBoxBounds, svgLineCap, getCompoundLineOffsets, getCompoundLineWidths, computeSelectionRect, rectToCells, isCellInRect, buildChartViewModel, buildNotesPdfBytes, buildSlidesPdfBytes, buildPreviewAnimation, getRoundRectRadiusPx, substituteFieldText, resolveUnderlineDecorationStyle, getSubstituteFontFamily, hasDistinctScriptFonts, buildTextReflectionCss, getTextAlphaOpacity, buildTextRunFilterChain, buildTextShadowCss, TEXT_BUILD_ID_SEP, buildTextBuildSpec, textBuildSpanStyle, evaluatePresetShape, apply3dEffects, clampUnitInterval, customGeometryPathsToSvgSubpaths, computeColumnBoundaries, parseDrawingColor, parseDrawingColorOpacity, getCellDiagonalBorders, getPatternSvg, ooxmlDashToCssBorderStyle, cell3DBevelCss, getChartStylePalette, 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-LR546YFN.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';
@@ -1859,7 +1859,7 @@ function renderPictureBullet(elementId, segmentIndex, bulletInfo, baseFontSize)
1859
1859
  `${elementId}-seg-${segmentIndex}-bullet-img`
1860
1860
  );
1861
1861
  }
1862
- function renderSingleSegment(element, segment, segmentIndex, fallbackColor, findHighlights, bulletInfo, onHyperlinkClick, fieldContext, paragraphRtl, requireCtrlClick) {
1862
+ function renderSingleSegment(element, segment, segmentIndex, fallbackColor, findHighlights, bulletInfo, onHyperlinkClick, fieldContext, paragraphRtl, requireCtrlClick, bulletHangPx) {
1863
1863
  if (segment.equationXml) {
1864
1864
  return renderEquationSegment(
1865
1865
  element.id,
@@ -1869,7 +1869,8 @@ function renderSingleSegment(element, segment, segmentIndex, fallbackColor, find
1869
1869
  );
1870
1870
  }
1871
1871
  const segmentStyle = segment.style || {};
1872
- const textValue = substituteFieldText(segment.text || "", segment.fieldType, fieldContext);
1872
+ const rawText = bulletInfo && typeof bulletHangPx === "number" ? (segment.text || "").trimEnd() : segment.text || "";
1873
+ const textValue = substituteFieldText(rawText, segment.fieldType, fieldContext);
1873
1874
  const lines = textValue.split("\n");
1874
1875
  const textDecorationTokens = [];
1875
1876
  if (segmentStyle.underline || segmentStyle.hyperlink) {
@@ -1951,6 +1952,11 @@ function renderSingleSegment(element, segment, segmentIndex, fallbackColor, find
1951
1952
  if (bulletInfo.color) {
1952
1953
  spanStyle.color = normalizeHexColor(bulletInfo.color, resolvedSegmentColor);
1953
1954
  }
1955
+ if (typeof bulletHangPx === "number" && bulletHangPx > 0) {
1956
+ spanStyle.display = "inline-block";
1957
+ spanStyle.minWidth = bulletHangPx;
1958
+ spanStyle.textIndent = 0;
1959
+ }
1954
1960
  }
1955
1961
  if (bulletInfo?.imageDataUrl || bulletInfo?.imageRelId) {
1956
1962
  return renderPictureBullet(element.id, segmentIndex, bulletInfo, baseFontSize);
@@ -2072,14 +2078,14 @@ function groupSegmentsIntoParagraphs(segments) {
2072
2078
  for (let i = 0; i < segments.length; i++) {
2073
2079
  const seg = segments[i];
2074
2080
  if (seg.text === "\n") {
2075
- paragraphs.push(current);
2081
+ paragraphs.push({ entries: current, terminator: seg });
2076
2082
  current = [];
2077
2083
  } else {
2078
2084
  current.push({ segment: seg, globalIndex: i });
2079
2085
  }
2080
2086
  }
2081
2087
  if (current.length > 0 || paragraphs.length === 0) {
2082
- paragraphs.push(current);
2088
+ paragraphs.push({ entries: current });
2083
2089
  }
2084
2090
  return paragraphs;
2085
2091
  }
@@ -2110,7 +2116,7 @@ function renderTextSegments(element, fallbackColor, emptyFallback, findHighlight
2110
2116
  const elementAlign = hasTextProperties(element) ? element.textStyle?.align : void 0;
2111
2117
  const bodyStyle = hasTextProperties(element) ? element.textStyle : void 0;
2112
2118
  const spaceFirstLast = bodyStyle?.spaceFirstLastParagraph !== false;
2113
- return paragraphs.map((paraSegments, paraIndex) => {
2119
+ return paragraphs.map(({ entries: paraSegments, terminator }, paraIndex) => {
2114
2120
  const paraIndent = paragraphIndents?.[paraIndex];
2115
2121
  const rawMarginLeft = typeof paraIndent?.marginLeft === "number" && paraIndent.marginLeft !== 0 ? paraIndent.marginLeft : void 0;
2116
2122
  const rawTextIndent = typeof paraIndent?.indent === "number" && paraIndent.indent !== 0 ? paraIndent.indent : void 0;
@@ -2132,7 +2138,7 @@ function renderTextSegments(element, fallbackColor, emptyFallback, findHighlight
2132
2138
  const paraTextIndent = rawTextIndent;
2133
2139
  const paraKinsokuStyle = getKinsokuLineBreakStyles(firstSeg?.segment.style);
2134
2140
  const hasParaKinsoku = Object.keys(paraKinsokuStyle).length > 0;
2135
- const paraProps = effectiveSegments[firstSeg?.globalIndex ?? -1]?.paragraphProperties;
2141
+ const paraProps = effectiveSegments[firstSeg?.globalIndex ?? -1]?.paragraphProperties ?? (paraSegments.length === 0 ? terminator?.paragraphProperties : void 0);
2136
2142
  const spacing = resolveParagraphSpacing({
2137
2143
  paraProps,
2138
2144
  bodyStyle,
@@ -2141,7 +2147,7 @@ function renderTextSegments(element, fallbackColor, emptyFallback, findHighlight
2141
2147
  spaceFirstLast
2142
2148
  });
2143
2149
  const strutFontSize = resolveParagraphStrutFontSize(
2144
- paraSegments.map(({ segment }) => segment),
2150
+ paraSegments.length > 0 ? paraSegments.map(({ segment }) => segment) : terminator ? [terminator] : [],
2145
2151
  bodyStyle?.fontSize
2146
2152
  );
2147
2153
  const hasParaSpacing = spacing.marginTop !== void 0 || spacing.marginBottom !== void 0 || spacing.lineHeight !== void 0;
@@ -2193,7 +2199,11 @@ function renderTextSegments(element, fallbackColor, emptyFallback, findHighlight
2193
2199
  onHyperlinkClick,
2194
2200
  fieldContext,
2195
2201
  paraRtl,
2196
- requireCtrlClick
2202
+ requireCtrlClick,
2203
+ // Marker box = the hanging distance, so the first line's text
2204
+ // lands on the indent stop (see `bulletHangPx` in
2205
+ // `renderSingleSegment`).
2206
+ hasBullet && globalIndex === firstSeg.globalIndex && typeof paraTextIndent === "number" && paraTextIndent < 0 ? -paraTextIndent : void 0
2197
2207
  )
2198
2208
  );
2199
2209
  const wrappedContent = wrapWithTextBuildAnimation(
@@ -6277,7 +6287,7 @@ function FailedToLoad() {
6277
6287
  var LazySurfaceChart3DScene = React6.lazy(
6278
6288
  async () => {
6279
6289
  try {
6280
- return await import('./SurfaceChart3DScene-JT64KYVP.mjs');
6290
+ return await import('./SurfaceChart3DScene-PDULQ4DY.mjs');
6281
6291
  } catch {
6282
6292
  return { default: FailedToLoad };
6283
6293
  }
Binary file
Binary file