pptx-vue-viewer 4.2.0 → 4.3.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 (124) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/dist/{AiChatPanel-CMpvBPva.cjs → AiChatPanel-BIJ-bHQj.cjs} +1 -1
  3. package/dist/AiChatPanel-BIJ-bHQj.cjs.br +0 -0
  4. package/dist/AiChatPanel-BIJ-bHQj.cjs.gz +0 -0
  5. package/dist/{AiChatPanel-BAXxvQl4.js → AiChatPanel-U3EFn2Ng.js} +2 -2
  6. package/dist/AiChatPanel-U3EFn2Ng.js.br +0 -0
  7. package/dist/AiChatPanel-U3EFn2Ng.js.gz +0 -0
  8. package/dist/{dist-3uZ0g742.cjs → dist-0XJeILOd.cjs} +24804 -20069
  9. package/dist/dist-0XJeILOd.cjs.br +0 -0
  10. package/dist/dist-0XJeILOd.cjs.gz +0 -0
  11. package/dist/{dist-BgtJA5eT.js → dist-BV_7SUio.js} +29355 -24620
  12. package/dist/dist-BV_7SUio.js.br +0 -0
  13. package/dist/dist-BV_7SUio.js.gz +0 -0
  14. package/dist/gif-encoder-Bbb-HJnH.js +2 -0
  15. package/dist/gif-encoder-Bbb-HJnH.js.br +0 -0
  16. package/dist/gif-encoder-Bbb-HJnH.js.gz +0 -0
  17. package/dist/gif-encoder-CmBKDBC6.cjs +2 -0
  18. package/dist/gif-encoder-CmBKDBC6.cjs.br +0 -0
  19. package/dist/gif-encoder-CmBKDBC6.cjs.gz +0 -0
  20. package/dist/i18n/de.cjs +2 -2
  21. package/dist/i18n/de.cjs.br +0 -0
  22. package/dist/i18n/de.cjs.gz +0 -0
  23. package/dist/i18n/de.mjs +2 -2
  24. package/dist/i18n/de.mjs.br +0 -0
  25. package/dist/i18n/de.mjs.gz +0 -0
  26. package/dist/i18n/es.cjs +2 -2
  27. package/dist/i18n/es.cjs.br +0 -0
  28. package/dist/i18n/es.cjs.gz +0 -0
  29. package/dist/i18n/es.mjs +2 -2
  30. package/dist/i18n/es.mjs.br +0 -0
  31. package/dist/i18n/es.mjs.gz +0 -0
  32. package/dist/i18n/fr.cjs +2 -2
  33. package/dist/i18n/fr.cjs.br +0 -0
  34. package/dist/i18n/fr.cjs.gz +0 -0
  35. package/dist/i18n/fr.mjs +2 -2
  36. package/dist/i18n/fr.mjs.br +0 -0
  37. package/dist/i18n/fr.mjs.gz +0 -0
  38. package/dist/i18n/zh-CN.cjs +2 -2
  39. package/dist/i18n/zh-CN.cjs.br +0 -0
  40. package/dist/i18n/zh-CN.cjs.gz +0 -0
  41. package/dist/i18n/zh-CN.mjs +2 -2
  42. package/dist/i18n/zh-CN.mjs.br +0 -0
  43. package/dist/i18n/zh-CN.mjs.gz +0 -0
  44. package/dist/{i18n-BUjfZOiM.cjs → i18n-C5PLnqCs.cjs} +2 -2
  45. package/dist/i18n-C5PLnqCs.cjs.br +0 -0
  46. package/dist/i18n-C5PLnqCs.cjs.gz +0 -0
  47. package/dist/{i18n-cTdK-NvK.js → i18n-DOJnZmCW.js} +2 -2
  48. package/dist/i18n-DOJnZmCW.js.br +0 -0
  49. package/dist/i18n-DOJnZmCW.js.gz +0 -0
  50. package/dist/i18n.cjs +1 -1
  51. package/dist/i18n.cjs.br +0 -0
  52. package/dist/i18n.cjs.gz +0 -0
  53. package/dist/i18n.js +1 -1
  54. package/dist/i18n.js.br +1 -3
  55. package/dist/i18n.js.gz +0 -0
  56. package/dist/index.cjs +1 -1
  57. package/dist/index.cjs.br +0 -0
  58. package/dist/index.cjs.gz +0 -0
  59. package/dist/index.d.ts +236 -2
  60. package/dist/index.js +3 -3
  61. package/dist/index.js.br +0 -0
  62. package/dist/index.js.gz +0 -0
  63. package/dist/internals.cjs +1 -1
  64. package/dist/internals.cjs.br +0 -0
  65. package/dist/internals.cjs.gz +0 -0
  66. package/dist/internals.d.ts +305 -5
  67. package/dist/internals.js +2 -2
  68. package/dist/internals.js.br +0 -0
  69. package/dist/internals.js.gz +0 -0
  70. package/dist/pptx-vue-viewer.css +33 -12
  71. package/dist/pptx-vue-viewer.css.br +0 -0
  72. package/dist/pptx-vue-viewer.css.gz +0 -0
  73. package/dist/{useViewerSettingsDialog-2Agl6hEE.cjs → useViewerSettingsDialog-BYMmaXqc.cjs} +12150 -10925
  74. package/dist/useViewerSettingsDialog-BYMmaXqc.cjs.br +0 -0
  75. package/dist/useViewerSettingsDialog-BYMmaXqc.cjs.gz +0 -0
  76. package/dist/{useViewerSettingsDialog-csWTWDGr.js → useViewerSettingsDialog-DKWvCzGK.js} +11248 -10033
  77. package/dist/useViewerSettingsDialog-DKWvCzGK.js.br +0 -0
  78. package/dist/useViewerSettingsDialog-DKWvCzGK.js.gz +0 -0
  79. package/dist/viewer/index.cjs +1 -1
  80. package/dist/viewer/index.cjs.br +0 -0
  81. package/dist/viewer/index.cjs.gz +0 -0
  82. package/dist/viewer/index.d.ts +236 -2
  83. package/dist/viewer/index.js +3 -3
  84. package/dist/viewer/index.js.br +0 -0
  85. package/dist/viewer/index.js.gz +0 -0
  86. package/dist/{viewer-BCE1J1So.js → viewer-CDKF3LoJ.js} +10472 -10444
  87. package/dist/viewer-CDKF3LoJ.js.br +0 -0
  88. package/dist/viewer-CDKF3LoJ.js.gz +0 -0
  89. package/dist/{viewer-BF80DYuw.cjs → viewer-D4jitSRB.cjs} +578 -550
  90. package/dist/viewer-D4jitSRB.cjs.br +0 -0
  91. package/dist/viewer-D4jitSRB.cjs.gz +0 -0
  92. package/package.json +1 -1
  93. package/dist/AiChatPanel-BAXxvQl4.js.br +0 -0
  94. package/dist/AiChatPanel-BAXxvQl4.js.gz +0 -0
  95. package/dist/AiChatPanel-CMpvBPva.cjs.br +0 -0
  96. package/dist/AiChatPanel-CMpvBPva.cjs.gz +0 -0
  97. package/dist/canvas_emf-converter-CXU7lu1I.cjs +0 -1
  98. package/dist/canvas_emf-converter-CXU7lu1I.cjs.br +0 -0
  99. package/dist/canvas_emf-converter-CXU7lu1I.cjs.gz +0 -0
  100. package/dist/canvas_emf-converter-HimA9Y3J.js +0 -3
  101. package/dist/canvas_emf-converter-HimA9Y3J.js.br +0 -0
  102. package/dist/canvas_emf-converter-HimA9Y3J.js.gz +0 -0
  103. package/dist/dist-3uZ0g742.cjs.br +0 -0
  104. package/dist/dist-3uZ0g742.cjs.gz +0 -0
  105. package/dist/dist-BgtJA5eT.js.br +0 -0
  106. package/dist/dist-BgtJA5eT.js.gz +0 -0
  107. package/dist/gif-encoder-BAJa752-.js +0 -2
  108. package/dist/gif-encoder-BAJa752-.js.br +0 -0
  109. package/dist/gif-encoder-BAJa752-.js.gz +0 -0
  110. package/dist/gif-encoder-DkEWIbep.cjs +0 -2
  111. package/dist/gif-encoder-DkEWIbep.cjs.br +0 -0
  112. package/dist/gif-encoder-DkEWIbep.cjs.gz +0 -0
  113. package/dist/i18n-BUjfZOiM.cjs.br +0 -0
  114. package/dist/i18n-BUjfZOiM.cjs.gz +0 -0
  115. package/dist/i18n-cTdK-NvK.js.br +0 -0
  116. package/dist/i18n-cTdK-NvK.js.gz +0 -0
  117. package/dist/useViewerSettingsDialog-2Agl6hEE.cjs.br +0 -0
  118. package/dist/useViewerSettingsDialog-2Agl6hEE.cjs.gz +0 -0
  119. package/dist/useViewerSettingsDialog-csWTWDGr.js.br +0 -0
  120. package/dist/useViewerSettingsDialog-csWTWDGr.js.gz +0 -0
  121. package/dist/viewer-BCE1J1So.js.br +0 -0
  122. package/dist/viewer-BCE1J1So.js.gz +0 -0
  123. package/dist/viewer-BF80DYuw.cjs.br +0 -0
  124. package/dist/viewer-BF80DYuw.cjs.gz +0 -0
@@ -1,3 +1,3 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const e = require("../useViewerSettingsDialog-2Agl6hEE.cjs"), t = require("../viewer-BF80DYuw.cjs");
2
+ const e = require("../useViewerSettingsDialog-BYMmaXqc.cjs"), t = require("../viewer-D4jitSRB.cjs");
3
3
  exports.AUDIENCE_HASH = e.AUDIENCE_HASH, exports.ChartRenderer = e.ChartRenderer_default, exports.CollaborationCursors = t.CollaborationCursors_default, exports.CollaborationStatusIndicator = t.CollaborationStatusIndicator_default, exports.ConnectorRenderer = e.ConnectorRenderer_default, exports.DEFAULT_CANVAS_HEIGHT = e.DEFAULT_CANVAS_HEIGHT, exports.DEFAULT_CANVAS_WIDTH = e.DEFAULT_CANVAS_WIDTH, exports.DEFAULT_FILL_COLOR = e.DEFAULT_FILL_COLOR, exports.DEFAULT_STROKE_COLOR = e.DEFAULT_STROKE_COLOR, exports.DEFAULT_TEXT_COLOR = e.DEFAULT_TEXT_COLOR, exports.ElementRenderer = e.ElementRenderer_default, exports.EquationRenderer = e.EquationRenderer_default, exports.FollowModeBar = t.FollowModeBar_default, exports.InkRenderer = e.InkRenderer_default, exports.InlineTextEditor = t.InlineTextEditor_default, exports.Model3DRenderer = e.Model3DRenderer_default, exports.OleRenderer = e.OleRenderer_default, exports.PowerPointViewer = t.PowerPointViewer_default, exports.RemoteSelectionOverlay = t.RemoteSelectionOverlay_default, exports.RibbonToolbar = t.RibbonToolbar_default, exports.SelectionOverlay = t.SelectionOverlay_default, exports.SlideCanvas = t.SlideCanvas_default, exports.SlideStage = e.SlideStage_default, exports.SmartArtRenderer = e.SmartArtRenderer_default, exports.TableRenderer = e.TableRenderer_default, exports.WordArtText = e.WordArtText_default, exports.ZoomRenderer = e.ZoomRenderer_default, exports.buildInitialGuides = e.buildInitialGuides, exports.clearAudienceContent = e.clearAudienceContent, exports.collectImagePaths = e.collectImagePaths, exports.collectMediaElements = e.collectMediaElements, exports.exportAllSlidesToSvg = e.exportAllSlidesToSvg, exports.exportAllSlidesToSvgBlobs = e.exportAllSlidesToSvgBlobs, exports.exportSlideToSvg = e.exportSlideToSvg, exports.exportSlideToSvgBlob = e.exportSlideToSvgBlob, exports.getContainerStyle = e.getContainerStyle, exports.getImageSrc = e.getImageSrc, exports.getResolvedShapeClipPath = e.getResolvedShapeClipPath, exports.getResolvedShapeClipPathFor = e.getResolvedShapeClipPathFor, exports.getShapeFillStrokeStyle = e.getShapeFillStrokeStyle, exports.getTextBlockStyle = e.getTextBlockStyle, exports.isAudienceTab = e.isAudienceTab, exports.loadAudienceContent = e.loadAudienceContent, exports.overlayInlineTextSnapshot = e.overlayInlineTextSnapshot, exports.parseAudienceNonce = e.parseAudienceNonce, exports.storeAudienceContent = e.storeAudienceContent, exports.useCollaboration = e.useCollaboration, exports.useCollaborativeHistory = t.useCollaborativeHistory, exports.useCollaborativeState = t.useCollaborativeState, exports.useEditorHistory = e.useEditorHistory, exports.useEditorOperations = e.useEditorOperations, exports.useElementDrag = e.useElementDrag, exports.useInlineEditing = e.useInlineEditing, exports.useLoadContent = e.useLoadContent, exports.usePresenceTracking = t.usePresenceTracking, exports.useYjsProvider = t.useYjsProvider;
Binary file
Binary file
@@ -922,6 +922,11 @@ declare type AnimationApplyGroup = 'entrance' | 'emphasis' | 'exit' | 'motionPat
922
922
  declare interface AnimationCondition {
923
923
  /** Event that triggers the condition. */
924
924
  event?: AnimationConditionEvent;
925
+ /**
926
+ * The media element/bookmark this condition fires for, when
927
+ * {@link event} is `onMediaBookmark`. See {@link PptxMediaBookmarkTarget}.
928
+ */
929
+ bookmarkTarget?: PptxMediaBookmarkTarget;
925
930
  /** Delay in milliseconds (from `@_delay`). "indefinite" is represented as -1. */
926
931
  delay?: number;
927
932
  /** Target time node ID reference (from `@_tn`). */
@@ -940,7 +945,7 @@ declare interface AnimationCondition {
940
945
  * These map directly to OOXML condition event attribute values
941
946
  * (ISO/IEC 29500-1 S19.5.28 CT_TLTimeCondition).
942
947
  */
943
- declare type AnimationConditionEvent = 'onBegin' | 'onEnd' | 'begin' | 'end' | 'onClick' | 'onMouseOver' | 'onMouseOut' | 'onNext' | 'onPrev' | 'onStopAudio' | 'onDblClick';
948
+ declare type AnimationConditionEvent = 'onBegin' | 'onEnd' | 'begin' | 'end' | 'onClick' | 'onMouseOver' | 'onMouseOut' | 'onNext' | 'onPrev' | 'onStopAudio' | 'onDblClick' | 'onMediaBookmark';
944
949
 
945
950
  declare interface AnimationInput {
946
951
  preset: PptxAnimationPreset;
@@ -1103,6 +1108,18 @@ declare interface BulletInfo {
1103
1108
  /** When true, `<a:buSzTx/>` was specified — inherit the bullet size from
1104
1109
  * the run text font size. */
1105
1110
  sizeInherit?: boolean;
1111
+ /**
1112
+ * True when this bullet resolution came from the paragraph's OWN `a:pPr`
1113
+ * rather than the shape's `a:lstStyle`, an inherited placeholder, or the
1114
+ * master's `a:defPPr` / `p:txStyles`. `resolveParagraphBulletInfo` walks
1115
+ * that cascade and returns the first match, so without this flag a
1116
+ * writer that re-emits every resolved `BulletInfo` in full pins an
1117
+ * inherited bullet (e.g. a master `buFont="Arial"` / `buChar="•"`) onto
1118
+ * every paragraph's own `a:pPr` the moment the slide is rewritten. The
1119
+ * save path only writes the bullet group when this is `true`, mirroring
1120
+ * how `paragraphProperties` gates every other per-paragraph field.
1121
+ */
1122
+ ownedByParagraph?: boolean;
1106
1123
  }
1107
1124
 
1108
1125
  /** Canvas dimensions in pixels. */
@@ -1552,6 +1569,20 @@ declare interface ContentPartInkStroke {
1552
1569
  * NAMES differ.
1553
1570
  */
1554
1571
  tiltEncoding?: 'vector' | 'azimuthAltitude';
1572
+ /**
1573
+ * Per-point timestamps (milliseconds), decoded from the source InkML
1574
+ * trace's `T` channel when it declared one.
1575
+ *
1576
+ * Absent for the overwhelming majority of real decks: PowerPoint's own
1577
+ * SaveAs output declares only `X`/`Y` and has no per-point time channel at
1578
+ * all (see `contentpart-real-ink-roundtrip.test.ts`'s fixture), so this is
1579
+ * populated only for InkML sources that genuinely author one (a captured
1580
+ * digitizer session, OneNote, a Surface Hub export). When present, ink
1581
+ * replay ("watch the ink get drawn") uses each stroke's own first/last
1582
+ * timestamp to time its reveal instead of the fixed per-stroke cascade; see
1583
+ * `pptx-viewer-shared`'s `render/ink-replay-timeline.ts`.
1584
+ */
1585
+ pointTimestamps?: number[];
1555
1586
  }
1556
1587
 
1557
1588
  /**
@@ -3372,6 +3403,14 @@ declare interface ParsedTableStyleFill {
3372
3403
  tint?: number;
3373
3404
  /** Shade value (0-100 000). */
3374
3405
  shade?: number;
3406
+ /**
3407
+ * Alpha (opacity) value (0-100 000, where 100 000 is fully opaque) from an
3408
+ * `a:alpha` child of `a:schemeClr`/`a:srgbClr`. Several built-in table
3409
+ * styles (e.g. "Light Style 1/3", "Themed Style 1/2") band their rows with
3410
+ * a partially transparent tint of the theme colour rather than a tint/shade
3411
+ * blend.
3412
+ */
3413
+ alpha?: number;
3375
3414
  /** Explicit sRGB hex colour (e.g. `#FF8800`) from `a:srgbClr`. */
3376
3415
  color?: string;
3377
3416
  /** The fill was `a:noFill`: renders transparent and clears lower layers. */
@@ -3539,6 +3578,24 @@ declare interface PicturePptxElement extends PptxElementBase, PptxShapePropertie
3539
3578
  */
3540
3579
  declare interface PlaceholderTextLevelStyle {
3541
3580
  fontFamily?: string;
3581
+ /**
3582
+ * The RAW `a:defRPr/a:latin/@typeface` string (verbatim: a theme alias
3583
+ * such as `+mj-lt`/`+mn-lt`, or a literal face name) {@link fontFamily}
3584
+ * was resolved from. Master/layout text styles are parsed once and
3585
+ * cached, so `fontFamily` is a resolved-for-display snapshot; re-emitting
3586
+ * it as the literal name on every save (the master-level analogue of
3587
+ * `colorChoiceXml` below) flattens the theme alias the moment ANYTHING
3588
+ * about the deck is rewritten, even when this level was never touched.
3589
+ * Absent when the level declares no `a:latin`.
3590
+ */
3591
+ fontTypefaceXml?: string;
3592
+ /**
3593
+ * Snapshot of {@link fontFamily} exactly as parsed, before any edit. The
3594
+ * save path diffs the live value against this: unchanged means re-emit
3595
+ * {@link fontTypefaceXml} verbatim (preserve the alias); different means
3596
+ * a genuine edit, so the new literal name is written instead.
3597
+ */
3598
+ resolvedFontFamily?: string;
3542
3599
  fontSize?: number;
3543
3600
  bold?: boolean;
3544
3601
  italic?: boolean;
@@ -3588,8 +3645,32 @@ declare interface PlaceholderTextLevelStyle {
3588
3645
  tabStops?: TextStyle['tabStops'];
3589
3646
  lineSpacing?: number;
3590
3647
  lineSpacingExactPt?: number;
3648
+ /**
3649
+ * Space before the paragraph in px, resolved from EITHER `a:spcPts`
3650
+ * (absolute) or `a:spcPct` (a percentage of this level's own `a:defRPr`
3651
+ * font size) - the OOXML source is not distinguishable from this field
3652
+ * alone. See {@link spaceBeforePercent} / {@link resolvedSpaceBefore}.
3653
+ */
3591
3654
  spaceBefore?: number;
3592
3655
  spaceAfter?: number;
3656
+ /**
3657
+ * Snapshot of {@link spaceBefore} / {@link spaceAfter} exactly as parsed.
3658
+ * Diffed the same way as {@link resolvedFontFamily}: unchanged means the
3659
+ * writer re-emits the ORIGINAL form (`a:spcPct` when
3660
+ * {@link spaceBeforePercent} / {@link spaceAfterPercent} is set); a value
3661
+ * that has since moved away from the snapshot is a genuine edit and is
3662
+ * always written as `a:spcPts`, since an editor works in absolute units.
3663
+ */
3664
+ resolvedSpaceBefore?: number;
3665
+ resolvedSpaceAfter?: number;
3666
+ /**
3667
+ * The raw `a:spcPct` fraction (e.g. `0.2` for 20%) {@link spaceBefore} /
3668
+ * {@link spaceAfter} was resolved from, when the source used percentage
3669
+ * spacing rather than `a:spcPts`. Absent when the source used `a:spcPts`
3670
+ * (or authored no spacing at all).
3671
+ */
3672
+ spaceBeforePercent?: number;
3673
+ spaceAfterPercent?: number;
3593
3674
  /** Default tab interval in CSS pixels (`a:lvlXpPr/@defTabSz`). */
3594
3675
  defaultTabSize?: number;
3595
3676
  /** Whether East Asian line-breaking rules are enabled. */
@@ -4714,6 +4795,17 @@ declare interface PptxAttributeAnimation {
4714
4795
  * IS consulted regardless of this field's value. Absent means `lin`.
4715
4796
  */
4716
4797
  calcMode?: 'discrete' | 'lin' | 'fmla';
4798
+ /**
4799
+ * `p:anim/@_p14:bounceEnd` (Office 2010 `p14` extension attribute,
4800
+ * MS-OI29500), normalized to a 0-1 fraction of this behaviour's own
4801
+ * duration. PowerPoint's Fly In "Bounce End" effect option writes this on
4802
+ * the position-ramp `p:anim` node(s): the fraction of the duration at
4803
+ * which the primary travel completes, with the remainder spent bouncing
4804
+ * and settling at the final value. Mirrored verbatim by PowerPoint onto
4805
+ * the enclosing `p:cTn/@_p14:presetBounceEnd`. Absent for every animation
4806
+ * that doesn't use this effect option (the overwhelming majority).
4807
+ */
4808
+ bounceEnd?: number;
4717
4809
  }
4718
4810
 
4719
4811
  declare interface PptxAudioCdPosition {
@@ -8384,7 +8476,12 @@ declare interface PptxHeaderFooter {
8384
8476
  hasDateTime?: boolean;
8385
8477
  dateTimeText?: string;
8386
8478
  dateTimeAuto?: boolean;
8387
- /** OOXML date format pattern (e.g. "M/d/yyyy", "dddd, MMMM dd, yyyy"). */
8479
+ /**
8480
+ * The master date placeholder's own `a:fld/@type` (e.g. "datetime2"), NOT a
8481
+ * format pattern. It is one of the predefined OOXML datetime field types
8482
+ * (`datetime1`-`datetime13`); the display pattern for each is resolved by
8483
+ * `resolveFieldDateText` in `packages/shared/src/render/text-field-substitution.ts`.
8484
+ */
8388
8485
  dateFormat?: string;
8389
8486
  hasSlideNumber?: boolean;
8390
8487
  }
@@ -8885,6 +8982,19 @@ declare interface PptxMasterTextStyles {
8885
8982
  otherStyle?: PptxTextStyleLevels;
8886
8983
  }
8887
8984
 
8985
+ /**
8986
+ * `p14:bmkTgt` (Office 2010 `p14` extension, MS-OI29500): names the specific
8987
+ * media element and bookmark an `evt="onMediaBookmark"` condition fires for.
8988
+ * `bookmarkName` matches a `p14:bmk/@_name` on that media element's own
8989
+ * `p14:bmkLst` (see `MediaBookmark.label` in `core/types/elements.ts`).
8990
+ */
8991
+ declare interface PptxMediaBookmarkTarget {
8992
+ /** `p14:bmkTgt/@_spid`: the media element's shape id. */
8993
+ shapeId: string;
8994
+ /** `p14:bmkTgt/@_bmkName`: the bookmark's name. */
8995
+ bookmarkName: string;
8996
+ }
8997
+
8888
8998
  declare type PptxMediaReferenceKind = 'audioCd' | 'wavAudioFile' | 'audioFile' | 'videoFile' | 'quickTimeFile';
8889
8999
 
8890
9000
  /**
@@ -10684,6 +10794,18 @@ declare interface PptxSmartArtLayoutDefinition {
10684
10794
  rootNode: PptxSmartArtLayoutNode;
10685
10795
  /** Original definition retained for constraint evaluation and foreign rules. */
10686
10796
  rawXml?: XmlObject;
10797
+ /**
10798
+ * The un-parsed layout-definition part text (starting at `<dgm:layoutDef>`,
10799
+ * XML declaration included). `rawXml` above loses the document order of
10800
+ * differently-named siblings (the package-wide `fast-xml-parser`
10801
+ * configuration groups children into one array per tag), which the
10802
+ * per-point DiagramML engine (`core/utils/smartart-engine/`) needs to
10803
+ * execute a `layoutNode` body's `forEach`/`choose`/`constrLst` statements
10804
+ * in their real declared sequence - see that package's `ordered-xml.ts`.
10805
+ * `undefined` when the part could not be read (matches `rawXml`'s own
10806
+ * optionality); the engine falls back to the legacy interpreter then.
10807
+ */
10808
+ rawXmlText?: string;
10687
10809
  }
10688
10810
 
10689
10811
  /** Identity and ordering metadata from DiagramML CT_LayoutNode. */
@@ -11651,6 +11773,20 @@ declare interface PptxTableData {
11651
11773
  * present when there is at least one effect.
11652
11774
  */
11653
11775
  tableEffects?: ParsedTableStyleEffect[];
11776
+ /**
11777
+ * Table-cell-context default text size in points, resolved from the
11778
+ * slide's master `p:otherStyle` (ECMA-376 §19.3.1.42 CT_TextListStyle,
11779
+ * §19.3.1.52 for `p:txStyles`). PowerPoint sizes a table cell's text off
11780
+ * this master default (commonly 18pt) whenever neither the run nor the
11781
+ * (size-less) table style provides one; without it, cell text without an
11782
+ * explicit `a:rPr@sz` fell back to the browser's own default font size
11783
+ * (16px / 12pt) instead. A render-only hint: it is not part of any
11784
+ * individual cell's parsed style and is never written back on save, so
11785
+ * resaving an unstyled cell does not bake in an explicit size that was
11786
+ * never authored. `undefined` when no master/otherStyle size resolves
11787
+ * (renderers should leave the browser default in place in that case).
11788
+ */
11789
+ defaultCellFontSize?: number;
11654
11790
  }
11655
11791
 
11656
11792
  /**
@@ -12674,6 +12810,11 @@ export declare interface RibbonProps {
12674
12810
  onOpenSettings?: () => void;
12675
12811
  onRunAccessibilityCheck: () => void;
12676
12812
  onToggleSlideSorter: () => void;
12813
+ /**
12814
+ * View > Normal: leave whichever alternate view (slide sorter, reading,
12815
+ * outline, master) is open and return to the ordinary editing canvas.
12816
+ */
12817
+ onGoToNormalView?: () => void;
12677
12818
  /** Open the windowed Reading View (NOT the fullscreen slide show). */
12678
12819
  onOpenReadingView: () => void;
12679
12820
  /** Enter PowerPoint's Outline view: the deck as editable indented text. */
@@ -13730,6 +13871,10 @@ declare interface SummaryZoomTarget extends PptxImageProperties {
13730
13871
  offsetFactorY?: number;
13731
13872
  scaleFactorX?: number;
13732
13873
  scaleFactorY?: number;
13874
+ /** This tile's own `zmPr/@returnToParent`; see {@link ZoomPptxElement.returnToParent}. */
13875
+ returnToParent?: boolean;
13876
+ /** This tile's own `zmPr/@transitionDur` in milliseconds; see {@link ZoomPptxElement.transitionDurationMs}. */
13877
+ transitionDurationMs?: number;
13733
13878
  rawXml?: XmlObject;
13734
13879
  }
13735
13880
 
@@ -14033,6 +14178,23 @@ declare interface TextSegment {
14033
14178
  fieldParagraphPropertiesXml?: XmlObject;
14034
14179
  /** Raw OMML XML node for equation segments (from `a14:m` / `m:oMathPara`). */
14035
14180
  equationXml?: Record<string, unknown>;
14181
+ /**
14182
+ * The ORIGINAL top-level paragraph child that carried this equation,
14183
+ * captured verbatim at parse time and keyed by its own tag: `{ 'a14:m':
14184
+ * ... }`, `{ 'm:oMathPara': ... }`, `{ 'm:oMath': ... }`, or `{
14185
+ * 'mc:AlternateContent': ... }` for an equation authored behind a
14186
+ * Choice/Fallback switch. `equationXml` above is the resolved math content
14187
+ * used for rendering (unwrapped one level for `a14:m`/`mc:AlternateContent`
14188
+ * sources); this field exists solely so the writer can re-emit an UNTOUCHED
14189
+ * equation byte-for-byte, Choice and Fallback both, instead of collapsing
14190
+ * it to a bare math element PowerPoint's own writer never produces.
14191
+ * `undefined` for a freshly inserted or edited equation, which the writer
14192
+ * instead reconstructs from `equationXml` (always `{ 'm:oMathPara': ... }`
14193
+ * or `{ 'm:oMath': ... }` for those cases). Any code that replaces
14194
+ * `equationXml` on an existing segment must drop this field, or the writer
14195
+ * would keep re-emitting the equation's OLD XML instead of the edit.
14196
+ */
14197
+ equationSourceXml?: Record<string, unknown>;
14036
14198
  /**
14037
14199
  * Optional equation number for numbered equations (e.g. "(1)", "(2.3)").
14038
14200
  * When present, the equation is rendered centered with the number right-aligned.
@@ -14196,6 +14358,32 @@ declare interface TextStyle {
14196
14358
  * @see element-paragraph-geometry.ts
14197
14359
  */
14198
14360
  resolvedParagraphGeometry?: TextStyle;
14361
+ /**
14362
+ * Snapshot of the ELEMENT-scope `a:bodyPr` properties (vertical anchor,
14363
+ * text direction, columns, overflow, autofit, body insets, text wrap, and
14364
+ * the boolean/rotation attributes) as the load pipeline resolved them.
14365
+ *
14366
+ * A shape's own `a:bodyPr` is parsed first, then whatever it left
14367
+ * `undefined` is back-filled from the placeholder / layout / master
14368
+ * defaults (`applyPlaceholderBodyDefaults`), and a placeholder shape with
14369
+ * no `a:bodyPr` of its own has the INHERITED one parsed as if it were its
14370
+ * own. None of those three sources is distinguishable at
14371
+ * `element.textStyle` once the cascade finishes, so a writer that
14372
+ * re-emits every defined field turns an inherited anchor, inset, autofit
14373
+ * mode or `rtlCol` into a value pinned on the slide forever (and an
14374
+ * inherited `a:normAutofit` with no scale gets written back as
14375
+ * `a:spAutoFit`, flipping AutoSize from "shrink text" to "resize shape").
14376
+ *
14377
+ * Present only on an `element.textStyle` that came from a parsed deck.
14378
+ * The save path diffs the live style against this snapshot: a field that
14379
+ * still matches is an inheritance artefact and the writer leaves the
14380
+ * underlying `a:bodyPr` attribute untouched (whatever it already is,
14381
+ * present or absent); a field that differs was authored or has since
14382
+ * been edited and is written out.
14383
+ *
14384
+ * @see element-body-properties.ts
14385
+ */
14386
+ resolvedBodyProperties?: TextStyle;
14199
14387
  fontFamily?: string;
14200
14388
  fontSize?: number;
14201
14389
  /** When true, some form of autofit is in effect; see {@link autoFitMode} for which. */
@@ -14378,6 +14566,16 @@ declare interface TextStyle {
14378
14566
  align: 'l' | 'ctr' | 'r' | 'dec';
14379
14567
  leader?: 'none' | 'dot' | 'hyphen' | 'underscore';
14380
14568
  }>;
14569
+ /**
14570
+ * True when the paragraph's own `a:pPr` authored an EMPTY `<a:tabLst/>`
14571
+ * (explicitly "no tab stops", overriding whatever the cascade would
14572
+ * otherwise supply) rather than omitting the element entirely (inherit).
14573
+ * fast-xml-parser gives a childless element as the empty string, so
14574
+ * `tabLst` and no-`tabLst` are otherwise indistinguishable once `tabStops`
14575
+ * comes back empty either way. Paragraph-scope only; not part of the
14576
+ * element-level geometry cascade.
14577
+ */
14578
+ tabStopsExplicitEmpty?: boolean;
14381
14579
  /** Body text wrapping mode from `a:bodyPr/@wrap`. */
14382
14580
  textWrap?: 'square' | 'none';
14383
14581
  /** Preset text warp type from `a:bodyPr/a:prstTxWarp`. */
@@ -14420,6 +14618,20 @@ declare interface TextStyle {
14420
14618
  * serialised back on save, so it never disturbs the round-trip typefaces.
14421
14619
  */
14422
14620
  scriptFallbackFont?: string;
14621
+ /**
14622
+ * Set alongside {@link scriptFallbackFont} when the resolved {@link fontFamily}
14623
+ * came only from the paragraph/list-style/theme CASCADE (the run's own
14624
+ * `a:rPr` authored no `a:latin`/`a:ea`/`a:cs` of its own). A run always
14625
+ * inherits SOME font this way (typically the theme's `+mn-lt`), so without
14626
+ * this flag `fontFamily` was indistinguishable from a run that genuinely
14627
+ * chose that font itself, and the renderer never applied the theme's
14628
+ * per-script override (see #83): `+mn-lt` names only the LATIN member of
14629
+ * the font scheme and was never meant to cover text in a different
14630
+ * dominant script. An explicit `a:latin`/`a:ea`/`a:cs` authored on the run
14631
+ * itself still always wins; only the cascade default yields to the
14632
+ * script-specific override.
14633
+ */
14634
+ fontFamilyIsCascadeDefault?: boolean;
14423
14635
  /** Text language from `a:rPr/@lang`. */
14424
14636
  language?: string;
14425
14637
  /** Hyperlink mouse-over target from `a:hlinkMouseOver`. */
@@ -15582,6 +15794,28 @@ declare interface ZoomPptxElement extends PptxElementBase, PptxImageProperties {
15582
15794
  summaryTargets?: SummaryZoomTarget[];
15583
15795
  /** Layout mode authored on the Summary Zoom container. */
15584
15796
  summaryLayout?: 'grid' | 'fixed';
15797
+ /**
15798
+ * `zmPr/@returnToParent` (MS-PPTX `CT_ZoomObjectProperties`, shared by all
15799
+ * three Zoom kinds): whether continuing forward from the destination slide
15800
+ * during a live show returns to this Zoom's origin slide instead of
15801
+ * advancing linearly through the deck. OOXML default is `true` when the
15802
+ * attribute is present but this codebase leaves it `undefined` when the
15803
+ * source XML omits it, so a round-trip never fabricates the attribute.
15804
+ * For `zoomType: 'summary'`, this mirrors the first tile's own value; see
15805
+ * {@link SummaryZoomTarget.returnToParent} for the per-tile value.
15806
+ */
15807
+ returnToParent?: boolean;
15808
+ /**
15809
+ * `zmPr/@transitionDur` (MS-PPTX `CT_ZoomObjectProperties`): the
15810
+ * zoom-transition length in milliseconds. PowerPoint's own writer emits a
15811
+ * unitless decimal-millisecond value for every OOXML `ST_UniversalTimeOffset`
15812
+ * this codebase has observed (see the media-trim/-fade parsers), so this
15813
+ * follows the same convention rather than the full TIMEOFFSET grammar's
15814
+ * unit suffixes. Undefined uses the destination slide's own transition.
15815
+ * For `zoomType: 'summary'`, this mirrors the first tile's own value; see
15816
+ * {@link SummaryZoomTarget.transitionDurationMs} for the per-tile value.
15817
+ */
15818
+ transitionDurationMs?: number;
15585
15819
  }
15586
15820
 
15587
15821
  export declare const ZoomRenderer: typeof __VLS_export_12;
@@ -1,3 +1,3 @@
1
- import { Al as a, Bn as s, C as e, Dn as n, En as r, Fn as o, Hn as t, Hu as l, In as i, J as d, Ln as R, P as S, Pn as m, Ql as b, Qn as w, Rn as C, S as c, Vn as u, Vu as v, X as p, Xt as x, Yt as T, Zt as D, _n as E, as as I, bn as O, cl as P, dn as V, ep as f, fs as g, in as j, it as A, j as k, ll as q, ps as y, q as B, tn as F, vn as H, vo as M, w as Q, x as X, xn as Z, zn as h } from "../useViewerSettingsDialog-csWTWDGr.js";
2
- import { D as z, O as J, T as L, a as W, c as Y, i as _, k as G, l as K, n as N, r as U, s as $, t as aa, w as sa } from "../viewer-BCE1J1So.js";
3
- export { w as AUDIENCE_HASH, n as ChartRenderer, K as CollaborationCursors, G as CollaborationStatusIndicator, r as ConnectorRenderer, C as DEFAULT_CANVAS_HEIGHT, h as DEFAULT_CANVAS_WIDTH, s as DEFAULT_FILL_COLOR, u as DEFAULT_STROKE_COLOR, t as DEFAULT_TEXT_COLOR, x as ElementRenderer, Z as EquationRenderer, $ as FollowModeBar, O as InkRenderer, J as InlineTextEditor, H as Model3DRenderer, E as OleRenderer, W as PowerPointViewer, Y as RemoteSelectionOverlay, L as RibbonToolbar, z as SelectionOverlay, sa as SlideCanvas, T as SlideStage, V as SmartArtRenderer, j as TableRenderer, F as WordArtText, D as ZoomRenderer, M as buildInitialGuides, I as clearAudienceContent, g as collectImagePaths, y as collectMediaElements, X as exportAllSlidesToSvg, c as exportAllSlidesToSvgBlobs, e as exportSlideToSvg, Q as exportSlideToSvgBlob, m as getContainerStyle, o as getImageSrc, P as getResolvedShapeClipPath, q as getResolvedShapeClipPathFor, i as getShapeFillStrokeStyle, R as getTextBlockStyle, a as isAudienceTab, b as loadAudienceContent, v as overlayInlineTextSnapshot, l as parseAudienceNonce, f as storeAudienceContent, A as useCollaboration, aa as useCollaborativeHistory, N as useCollaborativeState, p as useEditorHistory, d as useEditorOperations, B as useElementDrag, S as useInlineEditing, k as useLoadContent, U as usePresenceTracking, _ as useYjsProvider };
1
+ import { $l as a, Bn as s, C as e, Dn as n, En as r, Fn as o, Hn as t, In as l, J as i, Ln as d, P as R, Pn as m, Qn as S, Rn as b, S as u, Uu as w, Vn as C, Wu as v, X as c, Xt as p, Yt as x, Zt as T, _n as j, bn as D, dn as E, in as I, it as O, j as P, jl as g, ll as V, ms as f, np as k, os as q, ps as y, q as A, tn as B, ul as F, vn as M, vo as W, w as X, x as Z, xn as h, zn as z } from "../useViewerSettingsDialog-DKWvCzGK.js";
2
+ import { D as H, O as J, T as L, a as Q, c as U, i as Y, k as $, l as _, n as G, r as K, s as N, t as aa, w as sa } from "../viewer-CDKF3LoJ.js";
3
+ export { S as AUDIENCE_HASH, n as ChartRenderer, _ as CollaborationCursors, $ as CollaborationStatusIndicator, r as ConnectorRenderer, b as DEFAULT_CANVAS_HEIGHT, z as DEFAULT_CANVAS_WIDTH, s as DEFAULT_FILL_COLOR, C as DEFAULT_STROKE_COLOR, t as DEFAULT_TEXT_COLOR, p as ElementRenderer, h as EquationRenderer, N as FollowModeBar, D as InkRenderer, J as InlineTextEditor, M as Model3DRenderer, j as OleRenderer, Q as PowerPointViewer, U as RemoteSelectionOverlay, L as RibbonToolbar, H as SelectionOverlay, sa as SlideCanvas, x as SlideStage, E as SmartArtRenderer, I as TableRenderer, B as WordArtText, T as ZoomRenderer, W as buildInitialGuides, q as clearAudienceContent, y as collectImagePaths, f as collectMediaElements, Z as exportAllSlidesToSvg, u as exportAllSlidesToSvgBlobs, e as exportSlideToSvg, X as exportSlideToSvgBlob, m as getContainerStyle, o as getImageSrc, V as getResolvedShapeClipPath, F as getResolvedShapeClipPathFor, l as getShapeFillStrokeStyle, d as getTextBlockStyle, g as isAudienceTab, a as loadAudienceContent, w as overlayInlineTextSnapshot, v as parseAudienceNonce, k as storeAudienceContent, O as useCollaboration, aa as useCollaborativeHistory, G as useCollaborativeState, c as useEditorHistory, i as useEditorOperations, A as useElementDrag, R as useInlineEditing, P as useLoadContent, K as usePresenceTracking, Y as useYjsProvider };
Binary file
Binary file