pptx-react-viewer 4.6.0 → 4.8.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 (135) hide show
  1. package/CHANGELOG.md +86 -0
  2. package/dist/{AiChatPanel-3C7GM6ZF.js → AiChatPanel-4LMJIJUU.js} +28 -28
  3. package/dist/AiChatPanel-4LMJIJUU.js.br +0 -0
  4. package/dist/AiChatPanel-4LMJIJUU.js.gz +0 -0
  5. package/dist/{AiChatPanel-L7DBCWE3.mjs → AiChatPanel-XWYLYN26.mjs} +4 -4
  6. package/dist/AiChatPanel-XWYLYN26.mjs.br +0 -0
  7. package/dist/AiChatPanel-XWYLYN26.mjs.gz +0 -0
  8. package/dist/{Model3DScene-IJ7YYTYU.mjs → Model3DScene-N6IZ7Q57.mjs} +1 -1
  9. package/dist/Model3DScene-N6IZ7Q57.mjs.br +0 -0
  10. package/dist/Model3DScene-N6IZ7Q57.mjs.gz +0 -0
  11. package/dist/{Model3DScene-USKNPWWH.js → Model3DScene-YAPQ5BCI.js} +2 -2
  12. package/dist/{Model3DScene-USKNPWWH.js.br → Model3DScene-YAPQ5BCI.js.br} +0 -0
  13. package/dist/Model3DScene-YAPQ5BCI.js.gz +0 -0
  14. package/dist/{chunk-ZAQFTO4P.mjs → chunk-KHEJXP4I.mjs} +1175 -149
  15. package/dist/chunk-KHEJXP4I.mjs.br +0 -0
  16. package/dist/chunk-KHEJXP4I.mjs.gz +0 -0
  17. package/dist/{chunk-3JUZOKFI.js → chunk-LTBTG2QB.js} +108 -96
  18. package/dist/chunk-LTBTG2QB.js.br +0 -0
  19. package/dist/chunk-LTBTG2QB.js.gz +0 -0
  20. package/dist/{chunk-ICEZL4TM.mjs → chunk-NPZOVIHG.mjs} +40855 -16211
  21. package/dist/chunk-NPZOVIHG.mjs.br +0 -0
  22. package/dist/chunk-NPZOVIHG.mjs.gz +0 -0
  23. package/dist/{chunk-DFSWCVRW.js → chunk-NV2H57Q4.js} +3083 -2057
  24. package/dist/chunk-NV2H57Q4.js.br +0 -0
  25. package/dist/chunk-NV2H57Q4.js.gz +0 -0
  26. package/dist/{chunk-VCAQSSGD.mjs → chunk-Q4XJSJYI.mjs} +1 -1
  27. package/dist/chunk-Q4XJSJYI.mjs.br +0 -0
  28. package/dist/chunk-Q4XJSJYI.mjs.gz +0 -0
  29. package/dist/{chunk-IBHIXBC5.js → chunk-Q7NWWIPQ.js} +890 -1091
  30. package/dist/chunk-Q7NWWIPQ.js.br +0 -0
  31. package/dist/chunk-Q7NWWIPQ.js.gz +0 -0
  32. package/dist/{chunk-Y4QUVWZC.js → chunk-SAYZSUNQ.js} +315 -274
  33. package/dist/chunk-SAYZSUNQ.js.br +0 -0
  34. package/dist/chunk-SAYZSUNQ.js.gz +0 -0
  35. package/dist/{chunk-INX3E37P.mjs → chunk-SOMUGI3Y.mjs} +84 -286
  36. package/dist/chunk-SOMUGI3Y.mjs.br +0 -0
  37. package/dist/chunk-SOMUGI3Y.mjs.gz +0 -0
  38. package/dist/{chunk-K6QHGABT.mjs → chunk-SSXGPYBF.mjs} +109 -68
  39. package/dist/chunk-SSXGPYBF.mjs.br +0 -0
  40. package/dist/chunk-SSXGPYBF.mjs.gz +0 -0
  41. package/dist/{chunk-5V5SMT5A.js → chunk-UTP22QYH.js} +5 -5
  42. package/dist/chunk-UTP22QYH.js.br +0 -0
  43. package/dist/chunk-UTP22QYH.js.gz +0 -0
  44. package/dist/{chunk-FZSYLXJT.js → chunk-YF2BQIW3.js} +40903 -16217
  45. package/dist/chunk-YF2BQIW3.js.br +0 -0
  46. package/dist/chunk-YF2BQIW3.js.gz +0 -0
  47. package/dist/{chunk-OOO4JL2N.mjs → chunk-YPDPSXPK.mjs} +108 -96
  48. package/dist/chunk-YPDPSXPK.mjs.br +0 -0
  49. package/dist/chunk-YPDPSXPK.mjs.gz +0 -0
  50. package/dist/i18n/de.cjs +134 -117
  51. package/dist/i18n/de.cjs.br +0 -0
  52. package/dist/i18n/de.cjs.gz +0 -0
  53. package/dist/i18n/de.mjs +134 -117
  54. package/dist/i18n/de.mjs.br +0 -0
  55. package/dist/i18n/de.mjs.gz +0 -0
  56. package/dist/i18n/es.cjs +134 -117
  57. package/dist/i18n/es.cjs.br +0 -0
  58. package/dist/i18n/es.cjs.gz +0 -0
  59. package/dist/i18n/es.mjs +134 -117
  60. package/dist/i18n/es.mjs.br +0 -0
  61. package/dist/i18n/es.mjs.gz +0 -0
  62. package/dist/i18n/fr.cjs +134 -117
  63. package/dist/i18n/fr.cjs.br +0 -0
  64. package/dist/i18n/fr.cjs.gz +0 -0
  65. package/dist/i18n/fr.mjs +134 -117
  66. package/dist/i18n/fr.mjs.br +0 -0
  67. package/dist/i18n/fr.mjs.gz +0 -0
  68. package/dist/i18n/zh-CN.cjs +111 -99
  69. package/dist/i18n/zh-CN.cjs.br +0 -0
  70. package/dist/i18n/zh-CN.cjs.gz +0 -0
  71. package/dist/i18n/zh-CN.mjs +111 -99
  72. package/dist/i18n/zh-CN.mjs.br +0 -0
  73. package/dist/i18n/zh-CN.mjs.gz +0 -0
  74. package/dist/i18n.js +4 -4
  75. package/dist/i18n.js.br +0 -0
  76. package/dist/i18n.js.gz +0 -0
  77. package/dist/i18n.mjs +1 -1
  78. package/dist/i18n.mjs.br +0 -0
  79. package/dist/i18n.mjs.gz +0 -0
  80. package/dist/index.d.ts +276 -18
  81. package/dist/index.js +63 -63
  82. package/dist/index.js.br +0 -0
  83. package/dist/index.js.gz +0 -0
  84. package/dist/index.mjs +6 -6
  85. package/dist/index.mjs.br +0 -0
  86. package/dist/index.mjs.gz +0 -0
  87. package/dist/internals.d.ts +329 -18
  88. package/dist/internals.js +105 -105
  89. package/dist/internals.js.br +0 -0
  90. package/dist/internals.js.gz +0 -0
  91. package/dist/internals.mjs +4 -4
  92. package/dist/internals.mjs.br +0 -0
  93. package/dist/internals.mjs.gz +0 -0
  94. package/dist/pptx-viewer.css +1 -1
  95. package/dist/pptx-viewer.css.br +0 -0
  96. package/dist/pptx-viewer.css.gz +0 -0
  97. package/dist/viewer/index.d.ts +231 -16
  98. package/dist/viewer/index.js +27 -27
  99. package/dist/viewer/index.js.br +0 -0
  100. package/dist/viewer/index.js.gz +0 -0
  101. package/dist/viewer/index.mjs +6 -6
  102. package/dist/viewer/index.mjs.br +2 -3
  103. package/dist/viewer/index.mjs.gz +0 -0
  104. package/package.json +1 -1
  105. package/dist/AiChatPanel-3C7GM6ZF.js.br +0 -0
  106. package/dist/AiChatPanel-3C7GM6ZF.js.gz +0 -0
  107. package/dist/AiChatPanel-L7DBCWE3.mjs.br +0 -0
  108. package/dist/AiChatPanel-L7DBCWE3.mjs.gz +0 -0
  109. package/dist/Model3DScene-IJ7YYTYU.mjs.br +0 -0
  110. package/dist/Model3DScene-IJ7YYTYU.mjs.gz +0 -0
  111. package/dist/Model3DScene-USKNPWWH.js.gz +0 -0
  112. package/dist/chunk-3JUZOKFI.js.br +0 -0
  113. package/dist/chunk-3JUZOKFI.js.gz +0 -0
  114. package/dist/chunk-5V5SMT5A.js.br +0 -0
  115. package/dist/chunk-5V5SMT5A.js.gz +0 -0
  116. package/dist/chunk-DFSWCVRW.js.br +0 -0
  117. package/dist/chunk-DFSWCVRW.js.gz +0 -0
  118. package/dist/chunk-FZSYLXJT.js.br +0 -0
  119. package/dist/chunk-FZSYLXJT.js.gz +0 -0
  120. package/dist/chunk-IBHIXBC5.js.br +0 -0
  121. package/dist/chunk-IBHIXBC5.js.gz +0 -0
  122. package/dist/chunk-ICEZL4TM.mjs.br +0 -0
  123. package/dist/chunk-ICEZL4TM.mjs.gz +0 -0
  124. package/dist/chunk-INX3E37P.mjs.br +0 -0
  125. package/dist/chunk-INX3E37P.mjs.gz +0 -0
  126. package/dist/chunk-K6QHGABT.mjs.br +0 -0
  127. package/dist/chunk-K6QHGABT.mjs.gz +0 -0
  128. package/dist/chunk-OOO4JL2N.mjs.br +0 -0
  129. package/dist/chunk-OOO4JL2N.mjs.gz +0 -0
  130. package/dist/chunk-VCAQSSGD.mjs.br +0 -0
  131. package/dist/chunk-VCAQSSGD.mjs.gz +0 -0
  132. package/dist/chunk-Y4QUVWZC.js.br +0 -0
  133. package/dist/chunk-Y4QUVWZC.js.gz +0 -0
  134. package/dist/chunk-ZAQFTO4P.mjs.br +0 -0
  135. package/dist/chunk-ZAQFTO4P.mjs.gz +0 -0
@@ -1297,6 +1297,27 @@ interface ShapeStyle {
1297
1297
  * `authored-shape-style.ts`'s `effectIsPurelyStyleMatrix`.
1298
1298
  */
1299
1299
  inheritedEffectStyle?: ShapeStyle;
1300
+ /**
1301
+ * Set by a style-matrix pick (the Shape Styles gallery): the shape's own
1302
+ * `spPr` fill, outline and effects were replaced by `<p:style>`, so the
1303
+ * writer clears whatever the retained `spPr` still authored before it
1304
+ * writes the (now reference-owned) style. Never parsed; editor state only.
1305
+ */
1306
+ styleMatrixReset?: boolean;
1307
+ }
1308
+ /**
1309
+ * The result of resolving a `<p:style>` block against the loaded theme.
1310
+ *
1311
+ * `shapeStyle` is exactly what the load pipeline would have produced for a
1312
+ * shape whose `spPr` authors nothing and whose `<p:style>` is `styleXml`:
1313
+ * the flat fill/outline/effect values a renderer needs, the reference indices
1314
+ * and colours the writer re-emits, and the inheritance baselines that tell the
1315
+ * writer to leave `spPr` empty while the flat values still agree with them.
1316
+ */
1317
+ interface ResolvedStyleMatrix {
1318
+ shapeStyle: ShapeStyle;
1319
+ /** The text colour `<a:fontRef>` names, resolved to hex. */
1320
+ fontColor?: string;
1300
1321
  }
1301
1322
  //#endregion
1302
1323
  //#region src/core/types/text.d.ts
@@ -1485,8 +1506,16 @@ interface TextStyle {
1485
1506
  textOutlineWidth?: number;
1486
1507
  /** Text outline colour as hex string (`a:rPr > a:ln > a:solidFill`). */
1487
1508
  textOutlineColor?: string;
1509
+ /** Text outline dash preset (`a:rPr > a:ln > a:prstDash/@val`), e.g. `dash`; absent for solid. */
1510
+ textOutlineDash?: string;
1488
1511
  /** When true, the text body has no fill (`a:rPr > a:noFill`), producing hollow/outline-only text. */
1489
1512
  textFillNone?: boolean;
1513
+ /**
1514
+ * When true, the run authored an EMPTY `<a:effectLst/>`: an explicit "no
1515
+ * effects" override that blocks an inherited shadow or glow. Kept so a
1516
+ * rewrite re-emits it instead of letting the inherited effect return.
1517
+ */
1518
+ textEffectsExplicitNone?: boolean;
1490
1519
  /** Superscript/subscript baseline shift as percentage (`a:rPr/@baseline`). Positive = super, negative = sub. */
1491
1520
  baseline?: number;
1492
1521
  /** Character spacing in hundredths of a point (`a:rPr/@spc`). */
@@ -1520,6 +1549,25 @@ interface TextStyle {
1520
1549
  textFillPatternForeground?: string;
1521
1550
  /** Text-level pattern background colour. */
1522
1551
  textFillPatternBackground?: string;
1552
+ /**
1553
+ * Raw `a:rPr > a:blipFill` XML, preserved verbatim for round-trip
1554
+ * serialization AND as the input to the image resolution pass that fills
1555
+ * in {@link textFillBlipUrl} (parsing a run's fill happens synchronously,
1556
+ * with no zip/relationship access at that point; resolving the blip to a
1557
+ * displayable URL needs both, so it happens in a later async pass over
1558
+ * the slide's parsed elements, mirroring how a shape's OWN image fill is
1559
+ * resolved). A picture-filled text run (`a:rPr > a:blipFill`) was
1560
+ * documented as handled ("Handles gradient fills, pattern fills, and
1561
+ * image fills on text runs") but never actually parsed, so it silently
1562
+ * fell through to the run's plain `color` and rendered solid black
1563
+ * (COM-verified: `audit-text` slide 13's "PICTURE FILL" run shows the
1564
+ * fill image through the glyphs in PowerPoint).
1565
+ */
1566
+ textFillBlipXml?: XmlObject;
1567
+ /** Resolved displayable URL for {@link textFillBlipXml}, or the archive-relative path when unresolved (lazy decode). */
1568
+ textFillBlipUrl?: string;
1569
+ /** Tiling mode for {@link textFillBlipUrl} (`a:blipFill/a:tile` present -> 'tile', else 'stretch'). */
1570
+ textFillBlipMode?: 'stretch' | 'tile';
1523
1571
  hyperlink?: string;
1524
1572
  /** Relationship ID for the hyperlink (`a:hlinkClick/@r:id`) — preserved for round-trip serialization. */
1525
1573
  hyperlinkRId?: string;
@@ -1605,6 +1653,13 @@ interface TextStyle {
1605
1653
  position: number;
1606
1654
  align: 'l' | 'ctr' | 'r' | 'dec';
1607
1655
  leader?: 'none' | 'dot' | 'hyphen' | 'underscore';
1656
+ /**
1657
+ * True when the source spelled out the schema-default `@algn="l"`, so the
1658
+ * writer re-emits it instead of treating it as an omitted default.
1659
+ */
1660
+ alignAuthored?: boolean;
1661
+ /** True when the source spelled out the schema-default `@leader="none"`. */
1662
+ leaderAuthored?: boolean;
1608
1663
  }>;
1609
1664
  /**
1610
1665
  * True when the paragraph's own `a:pPr` authored an EMPTY `<a:tabLst/>`
@@ -1968,6 +2023,19 @@ interface TextStyle {
1968
2023
  * convention used for {@link bulletInfo} / {@link endParaRunProperties}).
1969
2024
  */
1970
2025
  paragraphDefaultRunPropertiesXml?: XmlObject;
2026
+ /**
2027
+ * The bullet colour / size / typeface children (`a:buClrTx`, `a:buClr`,
2028
+ * `a:buSzTx`, `a:buSzPct`, `a:buSzPts`, `a:buFontTx`, `a:buFont`) a
2029
+ * paragraph authored in its own `<a:pPr>` WITHOUT a bullet type
2030
+ * (`a:buNone` / `a:buChar` / `a:buAutoNum` / `a:buBlip`), captured
2031
+ * verbatim in source order. Such a paragraph restyles an inherited bullet
2032
+ * rather than declaring one, so its {@link BulletInfo} resolves from the
2033
+ * cascade and is (correctly) not written back; without this capture the
2034
+ * paragraph's own override vanished on every rewrite.
2035
+ *
2036
+ * Only meaningful on a paragraph's own authored properties.
2037
+ */
2038
+ paragraphBulletPropertiesXml?: XmlObject;
1971
2039
  }
1972
2040
  /**
1973
2041
  * Structured bullet metadata attached to the first {@link TextSegment}
@@ -2224,6 +2292,22 @@ interface TextSegment {
2224
2292
  * Used by the renderer to apply font family, colour, etc. to the `<rt>` element.
2225
2293
  */
2226
2294
  rubyStyle?: TextStyle;
2295
+ /**
2296
+ * The parsed `a:rubyPr` node, kept verbatim so its attributes (`hps`,
2297
+ * `hpsRaise`, `hpsBaseText`, `lid`, ...) round-trip exactly; only an
2298
+ * edited {@link rubyAlignment} is written over it on save.
2299
+ */
2300
+ rubyPropertiesXml?: XmlObject;
2301
+ /**
2302
+ * What each of a ruby run's two base-side `a:rPr`s authored on its own:
2303
+ * `outer` is the containing `a:r`'s, `base` the `a:rubyBase` run's. The
2304
+ * flat {@link style} merges both for rendering; these let the writer give
2305
+ * each `a:rPr` back only its own properties (plus any later edit).
2306
+ */
2307
+ rubyRunAuthoredStyles?: {
2308
+ outer?: TextStyle;
2309
+ base?: TextStyle;
2310
+ };
2227
2311
  }
2228
2312
  //#endregion
2229
2313
  //#region src/core/types/element-base.d.ts
@@ -3236,6 +3320,26 @@ type PptxChartMarkerSymbol = 'circle' | 'dash' | 'diamond' | 'dot' | 'none' | 'p
3236
3320
  */
3237
3321
  type PptxChartScatterStyle = 'none' | 'line' | 'lineMarker' | 'marker' | 'smooth' | 'smoothMarker';
3238
3322
  /** Shape properties extracted from c:spPr for chart formatting. */
3323
+ /**
3324
+ * A render-ready gradient fill from a chart `c:spPr/a:gradFill` (chart area,
3325
+ * plot area or series). Positions are 0..100; a linear gradient's `angle` is
3326
+ * in degrees clockwise from left-to-right (`a:lin/@ang`); a radial (`a:path`)
3327
+ * gradient centres on `focalPoint` (0..1 fractions of the box), the middle
3328
+ * when absent.
3329
+ */
3330
+ interface PptxChartGradientFill {
3331
+ type: 'linear' | 'radial';
3332
+ stops: Array<{
3333
+ color: string;
3334
+ position: number;
3335
+ opacity?: number;
3336
+ }>;
3337
+ angle?: number;
3338
+ focalPoint?: {
3339
+ x: number;
3340
+ y: number;
3341
+ };
3342
+ }
3239
3343
  interface PptxChartShapeProps {
3240
3344
  fillColor?: string;
3241
3345
  strokeColor?: string;
@@ -3561,6 +3665,12 @@ interface PptxChartSeries {
3561
3665
  */
3562
3666
  idx?: number;
3563
3667
  values: number[];
3668
+ /**
3669
+ * Series gradient fill (`c:ser/c:spPr/a:gradFill`), painted on every mark
3670
+ * of the series that has no per-point override. Render-only: the series'
3671
+ * own `c:spPr` round-trips untouched.
3672
+ */
3673
+ gradientFill?: PptxChartGradientFill;
3564
3674
  /**
3565
3675
  * Per-series x values from `c:ser/c:xVal` (scatter and bubble series only).
3566
3676
  *
@@ -3735,6 +3845,12 @@ interface PptxChartFilteredSeries {
3735
3845
  * and `c:dLblPos`.
3736
3846
  */
3737
3847
  interface PptxChartDataLabelOptions {
3848
+ /** Label box fill/outline (`c:dLbls/c:spPr`), see `chart-data-label-box.ts`. */
3849
+ labelShape?: PptxChartShapeProps;
3850
+ /** Callout geometry of the label box (`c15:spPr/a:prstGeom/@prst`, e.g. `wedgeRectCallout`). */
3851
+ calloutShape?: string;
3852
+ /** The chart15 extension's `c15:showLeaderLines`, which wins for a moved label's leader line. */
3853
+ extLeaderLines?: boolean;
3738
3854
  /** Show the numeric value (`c:showVal`). */
3739
3855
  showValue?: boolean;
3740
3856
  /** Show the category name (`c:showCatName`). */
@@ -3860,6 +3976,10 @@ interface PptxChartStyle {
3860
3976
  chartAreaFill?: string;
3861
3977
  /** Plot-area fill from `c:plotArea/c:spPr`. See {@link chartAreaFill}. */
3862
3978
  plotAreaFill?: string;
3979
+ /** Chart-area gradient (`c:chartSpace/c:spPr/a:gradFill`); wins over {@link chartAreaFill}. */
3980
+ chartAreaGradient?: PptxChartGradientFill;
3981
+ /** Plot-area gradient (`c:plotArea/c:spPr/a:gradFill`); wins over {@link plotAreaFill}. */
3982
+ plotAreaGradient?: PptxChartGradientFill;
3863
3983
  /** Whether data labels are shown. */
3864
3984
  hasDataLabels?: boolean;
3865
3985
  /** Chart-level data-label content/position options (when `hasDataLabels`). */
@@ -4099,6 +4219,14 @@ interface PptxChartData {
4099
4219
  style?: PptxChartStyle;
4100
4220
  /** Grouping mode for bar/area/line charts: 'clustered' | 'stacked' | 'percentStacked' */
4101
4221
  grouping?: 'clustered' | 'stacked' | 'percentStacked';
4222
+ /**
4223
+ * The source `c:grouping` was `standard`, which {@link grouping} folds into
4224
+ * `'clustered'` (a 2D bar chart draws the two the same). A 3D chart draws
4225
+ * `standard` differently: each series on its own depth row. The writer
4226
+ * emits `standard` again while `grouping` is still `'clustered'`, so the
4227
+ * chart round-trips unchanged.
4228
+ */
4229
+ groupingStandard?: boolean;
4102
4230
  /**
4103
4231
  * Whether the first (or only) series varies its point colours
4104
4232
  * (`c:varyColors/@val`). Pie/doughnut default this on; single-series
@@ -5496,6 +5624,14 @@ interface PptxSmartArtNode {
5496
5624
  * quick-style variation) applied to every other node.
5497
5625
  */
5498
5626
  coherent3DOff?: boolean;
5627
+ /**
5628
+ * The layout variables PowerPoint recorded for each presentation node
5629
+ * this point drives (`dgm:prSet/@presName` -> `dgm:presLayoutVars`
5630
+ * variable -> `@val`), e.g. `{ hierRoot1: { hierBranch: 'l' } }` for an
5631
+ * org-chart manager set to "Left Hanging". Read-only: the presentation
5632
+ * points themselves round-trip verbatim.
5633
+ */
5634
+ presLayoutVarsByName?: Record<string, Record<string, string>>;
5499
5635
  /**
5500
5636
  * Per-run text + run-properties for the node's first paragraph, captured at
5501
5637
  * parse time. When the joined run text still equals {@link text} (the node
@@ -5565,6 +5701,16 @@ interface PptxSmartArtQuickStyleLabel {
5565
5701
  name: string;
5566
5702
  /** Theme-resolved `dgm:style` refs for this label's role, when available. */
5567
5703
  resolvedStyle?: PptxSmartArtResolvedStyleRef;
5704
+ /**
5705
+ * The label's own `dgm:scene3d` (per-shape camera + light rig). PowerPoint
5706
+ * copies it onto a shape's cached `a:scene3d` unless it is the default
5707
+ * front camera with a `threePt` light (see `applySmartArtQuickStyle3d`).
5708
+ */
5709
+ scene3d?: Pptx3DScene;
5710
+ /** The label's own `dgm:sp3d` (bevel / extrusion / contour / material); absent when empty. */
5711
+ shape3d?: Pptx3DShape;
5712
+ /** The label's `dgm:txPr/a:sp3d` label-text extrusion (Bird's Eye Scene). */
5713
+ text3d?: Text3DStyle;
5568
5714
  }
5569
5715
  /** CT_CTStyleLabel metadata from a color-transform definition. */
5570
5716
  interface PptxSmartArtColorStyleLabel {
@@ -5632,9 +5778,10 @@ interface PptxSmartArtQuickStyle extends PptxSmartArtDefinitionMetadata {
5632
5778
  * for the "Scene" quick styles (Brick, Flat, Metallic, Sunset, Bird's Eye
5633
5779
  * Scene). One camera renders the whole diagram; per-shape `a:scene3d` is
5634
5780
  * absent for those styles (see `PptxSmartArtDrawingShape.scene3d`). Each
5635
- * `dgm:styleLbl` also carries its own per-label `dgm:scene3d`/`dgm:sp3d`,
5636
- * but PowerPoint bakes those fully resolved onto each cached shape's own
5637
- * `dsp:spPr/a:sp3d`, so only the diagram-level scene is exposed here.
5781
+ * `dgm:styleLbl` also carries its own per-label `dgm:scene3d`/`dgm:sp3d`
5782
+ * ({@link PptxSmartArtQuickStyleLabel.scene3d} / `shape3d` / `text3d`),
5783
+ * which PowerPoint bakes onto each cached shape; they are re-applied when a
5784
+ * structural edit regenerates the shapes.
5638
5785
  */
5639
5786
  scene3d?: Pptx3DScene;
5640
5787
  }
@@ -5765,6 +5912,11 @@ interface PptxSmartArtDrawingShape extends PptxCustomPathProperties {
5765
5912
  fillNone?: boolean;
5766
5913
  /** Solid fill colour (hex). */
5767
5914
  fillColor?: string;
5915
+ /**
5916
+ * Opacity (0..1) of the solid fill, from the colour's `a:alpha` (Basic Venn
5917
+ * paints its circles at 50% so overlaps blend). Absent when opaque.
5918
+ */
5919
+ fillOpacity?: number;
5768
5920
  /**
5769
5921
  * Gradient fill stops when the cached shape uses `a:gradFill`. Positions are
5770
5922
  * 0..100 (percent). Renderers emit an SVG/CSS gradient instead of a flat box.
@@ -7728,7 +7880,15 @@ type PptxAnimationTimingCurve = 'ease' | 'ease-in' | 'ease-out' | 'linear';
7728
7880
  /** Repeat mode for animations. */
7729
7881
  type PptxAnimationRepeatMode = 'untilNextClick' | 'untilEndOfSlide';
7730
7882
  /** Animation trigger type from OOXML `p:cTn`. */
7731
- type PptxAnimationTrigger = 'onClick' | 'onShapeClick' | 'onHover' | 'afterPrevious' | 'withPrevious' | 'afterDelay';
7883
+ type PptxAnimationTrigger = 'onClick' | 'onShapeClick' | 'onHover' | 'afterPrevious' | 'withPrevious' | 'afterDelay' |
7884
+ /**
7885
+ * Starts when a media element's playback reaches a named bookmark
7886
+ * (PowerPoint's "Trigger > On Bookmark"). The media element is
7887
+ * {@link PptxElementAnimation.triggerShapeId} and the bookmark
7888
+ * {@link PptxElementAnimation.triggerBookmark}; saved as an interactive
7889
+ * sequence gated on `p:cond evt="onMediaBookmark"` with a `p14:bmkTgt`.
7890
+ */
7891
+ 'onMediaBookmark';
7732
7892
  /**
7733
7893
  * Native animation kind. The historic shape-targeted preset animations are
7734
7894
  * implicitly the default kind (`undefined`). Media animations (`p:audio`,
@@ -7881,8 +8041,13 @@ interface PptxNativeAnimation {
7881
8041
  target?: PptxAnimationTarget;
7882
8042
  /** Trigger type. */
7883
8043
  trigger?: PptxAnimationTrigger;
7884
- /** Shape ID that triggers this animation when clicked (interactive sequence). */
8044
+ /**
8045
+ * Shape ID that triggers this animation: the clicked shape of an
8046
+ * interactive sequence, or the media element of an `onMediaBookmark` one.
8047
+ */
7885
8048
  triggerShapeId?: string;
8049
+ /** Bookmark name an `onMediaBookmark` interactive sequence waits for. */
8050
+ triggerBookmark?: string;
7886
8051
  /** Whether this effect belongs to an OOXML `interactiveSeq`. */
7887
8052
  interactiveSequence?: boolean;
7888
8053
  /** Whether `p:endSync/p:rtn[@val="all"]` makes that sequence replayable. */
@@ -8381,12 +8546,15 @@ interface PptxAttributeAnimation {
8381
8546
  /**
8382
8547
  * `p:anim/@_p14:bounceEnd` (Office 2010 `p14` extension attribute,
8383
8548
  * MS-OI29500), normalized to a 0-1 fraction of this behaviour's own
8384
- * duration. PowerPoint's Fly In "Bounce End" effect option writes this on
8385
- * the position-ramp `p:anim` node(s): the fraction of the duration at
8386
- * which the primary travel completes, with the remainder spent bouncing
8387
- * and settling at the final value. Mirrored verbatim by PowerPoint onto
8388
- * the enclosing `p:cTn/@_p14:presetBounceEnd`. Absent for every animation
8389
- * that doesn't use this effect option (the overwhelming majority).
8549
+ * duration. PowerPoint's "Bounce End" effect option (COM:
8550
+ * `Effect.Timing.BounceEnd` + `BounceEndIntensity`) writes this on the
8551
+ * position-ramp `p:anim` node(s): the share of the duration spent
8552
+ * BOUNCING at the end. Measured from PowerPoint's own CreateVideo frames,
8553
+ * the travel completes at `1 - bounceEnd` and the rest is a damped
8554
+ * oscillation about the final value (see shared's `animation-bounce-end`).
8555
+ * Mirrored verbatim by PowerPoint onto the enclosing
8556
+ * `p:cTn/@_p14:presetBounceEnd`. Absent for every animation that doesn't
8557
+ * use this effect option (the overwhelming majority).
8390
8558
  */
8391
8559
  bounceEnd?: number;
8392
8560
  }
@@ -8564,9 +8732,24 @@ interface PptxElementAnimation {
8564
8732
  durationMs?: number;
8565
8733
  delayMs?: number;
8566
8734
  order?: number;
8735
+ /**
8736
+ * The {@link order} the loader derived from the slide's `p:timing` tree for
8737
+ * an entry whose `pptx:editorMeta` record authored no `@order`. The tree
8738
+ * already expresses that position (and every load re-derives it), so the
8739
+ * writer omits `@order` while `order` still equals this value; a reorder
8740
+ * changes `order` and the attribute is written again. Load-time bookkeeping
8741
+ * only; never set it by hand.
8742
+ */
8743
+ orderFromTimeline?: number;
8567
8744
  trigger?: PptxAnimationTrigger;
8568
- /** Shape ID that triggers this animation when clicked (interactive sequence). */
8745
+ /**
8746
+ * Shape ID that triggers this animation: the shape clicked for
8747
+ * `onShapeClick`, or the media element whose bookmark fires it for
8748
+ * `onMediaBookmark`.
8749
+ */
8569
8750
  triggerShapeId?: string;
8751
+ /** Bookmark name (`p14:bmk/@name`) an `onMediaBookmark` trigger waits for. */
8752
+ triggerBookmark?: string;
8570
8753
  timingCurve?: PptxAnimationTimingCurve;
8571
8754
  repeatCount?: number;
8572
8755
  repeatMode?: PptxAnimationRepeatMode;
@@ -11142,6 +11325,8 @@ interface IPptxHandlerRuntime {
11142
11325
  updateThemeColorScheme(colorScheme: PptxThemeColorScheme): Promise<void>;
11143
11326
  updateThemeFontScheme(fontScheme: PptxThemeFontScheme): Promise<void>;
11144
11327
  updateThemeName(name: string): Promise<void>;
11328
+ /** Resolve a `<p:style>` node against the loaded theme (see PptxHandlerRuntimeStyleMatrixResolve). */
11329
+ resolveStyleMatrixReferences(styleXml: XmlObject): ResolvedStyleMatrix;
11145
11330
  applyTheme(colorScheme: PptxThemeColorScheme, fontScheme: PptxThemeFontScheme, themeName?: string): Promise<void>;
11146
11331
  load(data: ArrayBuffer, options?: PptxHandlerLoadOptions): Promise<PptxData>;
11147
11332
  getChartDataForGraphicFrame(slidePath: string, graphicFrame: XmlObject | undefined): Promise<PptxChartData | undefined>;
@@ -11437,6 +11622,14 @@ declare class PptxHandlerCore {
11437
11622
  * @param name - New display name for the theme.
11438
11623
  */
11439
11624
  updateThemeName(name: string): Promise<void>;
11625
+ /**
11626
+ * Resolve a `<p:style>` block (`a:lnRef` / `a:fillRef` / `a:effectRef` /
11627
+ * `a:fontRef`) against the loaded theme, exactly as the load path would for
11628
+ * a shape whose `spPr` authors nothing. Apply the returned `shapeStyle` to a
11629
+ * shape and it renders like PowerPoint's Shape Styles entry and saves as a
11630
+ * bare `<p:style>` with an empty `spPr`, which is what PowerPoint writes.
11631
+ */
11632
+ resolveStyleMatrixReferences(styleXml: XmlObject): ResolvedStyleMatrix;
11440
11633
  /**
11441
11634
  * Apply a complete theme in one call (colour scheme + font scheme + optional name).
11442
11635
  *
@@ -12315,8 +12508,12 @@ declare function loadAudienceContent(sessionId?: string): Promise<Uint8Array | n
12315
12508
  declare function clearAudienceContent(sessionId?: string): Promise<void>;
12316
12509
  /** A logical editor command produced by one key press. */
12317
12510
  type EditorKeyActionName = 'undo' | 'redo' | 'copy' | 'cut' | 'paste' | 'duplicate' | 'delete' | 'selectAll' | 'group' | 'ungroup' | 'nudge' | 'prevSlide' | 'nextSlide' | 'escape' | 'find' | 'findReplace' | 'toggleShortcuts' | 'alignLeft' | 'alignCenter' | 'alignRight' | 'alignJustify' | 'increaseFontSize' | 'decreaseFontSize' | 'copyFormat' | 'pasteFormat' | 'newSlide' | 'hyperlink' | 'clearFormatting' | 'cycleSelectionNext' | 'cycleSelectionPrev' | 'pasteSpecial';
12511
+ //#endregion
12512
+ //#region src/render/merge-shapes/merge-shapes-menu.d.ts
12513
+ /** The right-click command id for each operation. */
12514
+ type MergeShapesCommandId = 'merge-union' | 'merge-combine' | 'merge-fragment' | 'merge-intersect' | 'merge-subtract';
12318
12515
  /** Every command a canvas context menu can offer, in no particular order. */
12319
- type ContextMenuCommandId = 'copy' | 'cut' | 'paste' | 'duplicate' | 'edit-text' | 'bring-forward' | 'send-backward' | 'bring-front' | 'send-back' | 'ai-ask' | 'ai-fix' | 'comment' | 'hyperlink' | 'table-insert-row-above' | 'table-insert-row-below' | 'table-delete-row' | 'table-insert-col-left' | 'table-insert-col-right' | 'table-delete-col' | 'table-merge-selected' | 'table-merge-right' | 'table-merge-down' | 'table-split' | 'group' | 'ungroup' | 'save-as-picture' | 'edit-alt-text' | 'size-and-position' | 'format-shape' | 'delete';
12516
+ type ContextMenuCommandId = 'copy' | 'cut' | 'paste' | 'duplicate' | 'edit-text' | 'edit-points' | 'bring-forward' | 'send-backward' | 'bring-front' | 'send-back' | 'ai-ask' | 'ai-fix' | 'comment' | 'hyperlink' | 'table-insert-row-above' | 'table-insert-row-below' | 'table-delete-row' | 'table-insert-col-left' | 'table-insert-col-right' | 'table-delete-col' | 'table-merge-selected' | 'table-merge-right' | 'table-merge-down' | 'table-split' | 'group' | 'ungroup' | 'crop' | MergeShapesCommandId | 'save-as-picture' | 'edit-alt-text' | 'size-and-position' | 'format-shape' | 'delete';
12320
12517
  //#endregion
12321
12518
  //#region src/render/canvas-context-menu-commands.d.ts
12322
12519
  /**
@@ -12391,7 +12588,7 @@ interface AccountAuthConfig {
12391
12588
  * whole control cluster (zoom in/out/fit, prev/next) rather than each button
12392
12589
  * in it, matching how hosts actually want to hide/keep them as a unit.
12393
12590
  */
12394
- type ToolbarButtonId = 'share' | 'broadcast' | 'export' | 'undo' | 'redo' | 'record' | 'notes' | 'fullscreen' | 'zoom' | 'navigation';
12591
+ type ToolbarButtonId = 'share' | 'broadcast' | 'export' | 'undo' | 'redo' | 'record' | 'notes' | 'fullscreen' | 'zoom' | 'navigation' | 'mergeShapes' | 'crop';
12395
12592
  /** A top-level ribbon tab. `record` intentionally shares its id with the quick-access Record button above: both surface the same recording feature, so hiding one hides the other. */
12396
12593
  type ToolbarTabId = 'file' | 'home' | 'insert' | 'draw' | 'design' | 'transitions' | 'animations' | 'slideShow' | 'record' | 'review' | 'view' | 'help';
12397
12594
  type ToolbarActionId = ToolbarButtonId | ToolbarTabId;
@@ -12554,6 +12751,12 @@ interface ViewerOptions {
12554
12751
  }
12555
12752
  type ViewerOptionsGroupId = keyof ViewerOptions;
12556
12753
  type ViewerOptionPrimitive = boolean | number | string;
12754
+ /** Every command the Edit Points right-click menu can offer. */
12755
+ type EditPointsCommandId = 'add-point' | 'delete-point' | 'delete-segment' | 'open-path' | 'close-path' | 'smooth-point' | 'straight-point' | 'corner-point' | 'straight-segment' | 'curved-segment' | 'exit';
12756
+ //#endregion
12757
+ //#region src/render/edit-points/freeform-tool-geometry.d.ts
12758
+ /** The two click-to-place drawing tools. */
12759
+ type FreeformToolKind = 'freeformShape' | 'curve';
12557
12760
  //#endregion
12558
12761
  //#region src/render/options/viewer-options-controls.d.ts
12559
12762
  /**
@@ -12624,6 +12827,11 @@ interface ContextMenuCustomization {
12624
12827
  hiddenElementCommands?: readonly ContextMenuCommandId[];
12625
12828
  /** Entries to remove from the empty-canvas menu. */
12626
12829
  hiddenCanvasCommands?: readonly CanvasContextMenuCommandId[];
12830
+ /**
12831
+ * Entries to remove from the Edit Points menu (right-click a vertex or a
12832
+ * segment while editing a shape's points).
12833
+ */
12834
+ hiddenEditPointsCommands?: readonly EditPointsCommandId[];
12627
12835
  /** Remove the element context menu entirely. */
12628
12836
  disableElementMenu?: boolean;
12629
12837
  /** Remove the empty-canvas context menu entirely. */
@@ -12653,7 +12861,12 @@ interface KeyboardCustomization {
12653
12861
  */
12654
12862
  type ViewerPanelId = 'statusBar' | 'slidesPane' | 'inspector' | 'notes' | 'quickAccessToolbar' | 'titleBar';
12655
12863
  /** Feature areas that can be switched off as a whole. */
12656
- type ViewerFeatureId = 'ai' | 'collaboration' | 'comments' | 'presentMode';
12864
+ type ViewerFeatureId = 'ai' | 'collaboration' | 'comments' | 'presentMode' | 'editPoints';
12865
+ /**
12866
+ * The click-to-place drawing tools of Insert > Shapes > Lines: Freeform:
12867
+ * Shape and Curve.
12868
+ */
12869
+ type ViewerDrawingToolId = FreeformToolKind;
12657
12870
  /** Dialogs (and the entry points that open them) a host can remove. */
12658
12871
  type ViewerDialogId = 'options' | 'share' | 'broadcast' | 'print' | 'export';
12659
12872
  /** Export formats offered by the File > Export page. */
@@ -12676,6 +12889,8 @@ interface ViewerCustomization {
12676
12889
  hiddenDialogs?: readonly ViewerDialogId[];
12677
12890
  /** Export formats to remove from File > Export. */
12678
12891
  hiddenExportFormats?: readonly ViewerExportFormatId[];
12892
+ /** Drawing tools to remove from the Insert > Shapes gallery. */
12893
+ hiddenDrawingTools?: readonly ViewerDrawingToolId[];
12679
12894
  }
12680
12895
  //#endregion
12681
12896
  //#region src/render/customization/customization-controller.d.ts
@@ -13185,7 +13400,7 @@ interface CanvasContextMenuState {
13185
13400
  y: number;
13186
13401
  }
13187
13402
  /** Identifies an action triggered from the element right-click context menu. */
13188
- type ElementContextMenuAction = 'copy' | 'cut' | 'paste' | 'duplicate' | 'delete' | 'bring-forward' | 'send-backward' | 'bring-front' | 'send-back' | 'bringForward' | 'sendBackward' | 'bringToFront' | 'sendToBack' | 'comment' | 'addComment' | 'group' | 'ungroup' | 'editPoints' | 'editHyperlink' | 'edit-text' | 'save-as-picture' | 'edit-alt-text' | 'size-and-position' | 'format-shape';
13403
+ type ElementContextMenuAction = 'copy' | 'cut' | 'paste' | 'duplicate' | 'delete' | 'bring-forward' | 'send-backward' | 'bring-front' | 'send-back' | 'bringForward' | 'sendBackward' | 'bringToFront' | 'sendToBack' | 'comment' | 'addComment' | 'group' | 'ungroup' | 'editPoints' | 'edit-points' | 'editHyperlink' | 'edit-text' | 'save-as-picture' | 'edit-alt-text' | 'size-and-position' | 'format-shape';
13189
13404
  /**
13190
13405
  * State of an active marquee (rubber-band) selection rectangle.
13191
13406
  * Created when the user clicks and drags on the canvas background,
@@ -1,96 +1,96 @@
1
1
  'use strict';
2
2
 
3
- var chunkDFSWCVRW_js = require('../chunk-DFSWCVRW.js');
4
- require('../chunk-5V5SMT5A.js');
5
- var chunkIBHIXBC5_js = require('../chunk-IBHIXBC5.js');
6
- var chunkY4QUVWZC_js = require('../chunk-Y4QUVWZC.js');
7
- var chunkFZSYLXJT_js = require('../chunk-FZSYLXJT.js');
8
- require('../chunk-3JUZOKFI.js');
3
+ var chunkNV2H57Q4_js = require('../chunk-NV2H57Q4.js');
4
+ require('../chunk-UTP22QYH.js');
5
+ var chunkQ7NWWIPQ_js = require('../chunk-Q7NWWIPQ.js');
6
+ var chunkSAYZSUNQ_js = require('../chunk-SAYZSUNQ.js');
7
+ var chunkYF2BQIW3_js = require('../chunk-YF2BQIW3.js');
8
+ require('../chunk-LTBTG2QB.js');
9
9
  require('../chunk-4VNS5WPM.js');
10
10
 
11
11
 
12
12
 
13
13
  Object.defineProperty(exports, "CollaborationStatusIndicator", {
14
14
  enumerable: true,
15
- get: function () { return chunkDFSWCVRW_js.CollaborationStatusIndicator; }
15
+ get: function () { return chunkNV2H57Q4_js.CollaborationStatusIndicator; }
16
16
  });
17
17
  Object.defineProperty(exports, "PowerPointViewer", {
18
18
  enumerable: true,
19
- get: function () { return chunkDFSWCVRW_js.PowerPointViewer; }
19
+ get: function () { return chunkNV2H57Q4_js.PowerPointViewer; }
20
20
  });
21
21
  Object.defineProperty(exports, "UserAvatarBar", {
22
22
  enumerable: true,
23
- get: function () { return chunkDFSWCVRW_js.UserAvatarBar; }
23
+ get: function () { return chunkNV2H57Q4_js.UserAvatarBar; }
24
24
  });
25
25
  Object.defineProperty(exports, "CollaborationProvider", {
26
26
  enumerable: true,
27
- get: function () { return chunkIBHIXBC5_js.CollaborationProvider; }
27
+ get: function () { return chunkQ7NWWIPQ_js.CollaborationProvider; }
28
28
  });
29
29
  Object.defineProperty(exports, "RemoteUserCursors", {
30
30
  enumerable: true,
31
- get: function () { return chunkIBHIXBC5_js.RemoteUserCursors; }
31
+ get: function () { return chunkQ7NWWIPQ_js.RemoteUserCursors; }
32
32
  });
33
33
  Object.defineProperty(exports, "isAudienceTab", {
34
34
  enumerable: true,
35
- get: function () { return chunkIBHIXBC5_js.isAudienceTab; }
35
+ get: function () { return chunkQ7NWWIPQ_js.isAudienceTab; }
36
36
  });
37
37
  Object.defineProperty(exports, "parseAudienceNonce", {
38
38
  enumerable: true,
39
- get: function () { return chunkIBHIXBC5_js.parseAudienceNonce; }
39
+ get: function () { return chunkQ7NWWIPQ_js.parseAudienceNonce; }
40
40
  });
41
41
  Object.defineProperty(exports, "useCollaborativeHistory", {
42
42
  enumerable: true,
43
- get: function () { return chunkIBHIXBC5_js.useCollaborativeHistory; }
43
+ get: function () { return chunkQ7NWWIPQ_js.useCollaborativeHistory; }
44
44
  });
45
45
  Object.defineProperty(exports, "useCollaborativeState", {
46
46
  enumerable: true,
47
- get: function () { return chunkIBHIXBC5_js.useCollaborativeState; }
47
+ get: function () { return chunkQ7NWWIPQ_js.useCollaborativeState; }
48
48
  });
49
49
  Object.defineProperty(exports, "usePresenceTracking", {
50
50
  enumerable: true,
51
- get: function () { return chunkIBHIXBC5_js.usePresenceTracking; }
51
+ get: function () { return chunkQ7NWWIPQ_js.usePresenceTracking; }
52
52
  });
53
53
  Object.defineProperty(exports, "useThemeSwitching", {
54
54
  enumerable: true,
55
- get: function () { return chunkIBHIXBC5_js.useThemeSwitching; }
55
+ get: function () { return chunkQ7NWWIPQ_js.useThemeSwitching; }
56
56
  });
57
57
  Object.defineProperty(exports, "useYjsProvider", {
58
58
  enumerable: true,
59
- get: function () { return chunkIBHIXBC5_js.useYjsProvider; }
59
+ get: function () { return chunkQ7NWWIPQ_js.useYjsProvider; }
60
60
  });
61
61
  Object.defineProperty(exports, "getAnimationInitialStyle", {
62
62
  enumerable: true,
63
- get: function () { return chunkY4QUVWZC_js.getAnimationInitialStyle; }
63
+ get: function () { return chunkSAYZSUNQ_js.getAnimationInitialStyle; }
64
64
  });
65
65
  Object.defineProperty(exports, "clearAudienceContent", {
66
66
  enumerable: true,
67
- get: function () { return chunkFZSYLXJT_js.clearAudienceContent; }
67
+ get: function () { return chunkYF2BQIW3_js.clearAudienceContent; }
68
68
  });
69
69
  Object.defineProperty(exports, "forgetSessionDeck", {
70
70
  enumerable: true,
71
- get: function () { return chunkFZSYLXJT_js.forgetSessionDeck; }
71
+ get: function () { return chunkYF2BQIW3_js.forgetSessionDeck; }
72
72
  });
73
73
  Object.defineProperty(exports, "getSessionTabId", {
74
74
  enumerable: true,
75
- get: function () { return chunkFZSYLXJT_js.getSessionTabId; }
75
+ get: function () { return chunkYF2BQIW3_js.getSessionTabId; }
76
76
  });
77
77
  Object.defineProperty(exports, "loadAudienceContent", {
78
78
  enumerable: true,
79
- get: function () { return chunkFZSYLXJT_js.loadAudienceContent; }
79
+ get: function () { return chunkYF2BQIW3_js.loadAudienceContent; }
80
80
  });
81
81
  Object.defineProperty(exports, "loadSessionDeck", {
82
82
  enumerable: true,
83
- get: function () { return chunkFZSYLXJT_js.loadSessionDeck; }
83
+ get: function () { return chunkYF2BQIW3_js.loadSessionDeck; }
84
84
  });
85
85
  Object.defineProperty(exports, "rememberSessionDeck", {
86
86
  enumerable: true,
87
- get: function () { return chunkFZSYLXJT_js.rememberSessionDeck; }
87
+ get: function () { return chunkYF2BQIW3_js.rememberSessionDeck; }
88
88
  });
89
89
  Object.defineProperty(exports, "restoreSessionDeck", {
90
90
  enumerable: true,
91
- get: function () { return chunkFZSYLXJT_js.restoreSessionDeck; }
91
+ get: function () { return chunkYF2BQIW3_js.restoreSessionDeck; }
92
92
  });
93
93
  Object.defineProperty(exports, "storeAudienceContent", {
94
94
  enumerable: true,
95
- get: function () { return chunkFZSYLXJT_js.storeAudienceContent; }
95
+ get: function () { return chunkYF2BQIW3_js.storeAudienceContent; }
96
96
  });
Binary file
Binary file
@@ -1,7 +1,7 @@
1
- export { CollaborationStatusIndicator, PowerPointViewer, UserAvatarBar } from '../chunk-ZAQFTO4P.mjs';
2
- import '../chunk-VCAQSSGD.mjs';
3
- export { CollaborationProvider, RemoteUserCursors, isAudienceTab, parseAudienceNonce, useCollaborativeHistory, useCollaborativeState, usePresenceTracking, useThemeSwitching, useYjsProvider } from '../chunk-INX3E37P.mjs';
4
- export { getAnimationInitialStyle } from '../chunk-K6QHGABT.mjs';
5
- export { clearAudienceContent, forgetSessionDeck, getSessionTabId, loadAudienceContent, loadSessionDeck, rememberSessionDeck, restoreSessionDeck, storeAudienceContent } from '../chunk-ICEZL4TM.mjs';
6
- import '../chunk-OOO4JL2N.mjs';
1
+ export { CollaborationStatusIndicator, PowerPointViewer, UserAvatarBar } from '../chunk-KHEJXP4I.mjs';
2
+ import '../chunk-Q4XJSJYI.mjs';
3
+ export { CollaborationProvider, RemoteUserCursors, isAudienceTab, parseAudienceNonce, useCollaborativeHistory, useCollaborativeState, usePresenceTracking, useThemeSwitching, useYjsProvider } from '../chunk-SOMUGI3Y.mjs';
4
+ export { getAnimationInitialStyle } from '../chunk-SSXGPYBF.mjs';
5
+ export { clearAudienceContent, forgetSessionDeck, getSessionTabId, loadAudienceContent, loadSessionDeck, rememberSessionDeck, restoreSessionDeck, storeAudienceContent } from '../chunk-NPZOVIHG.mjs';
6
+ import '../chunk-YPDPSXPK.mjs';
7
7
  import '../chunk-XGB3TDIC.mjs';
@@ -1,3 +1,2 @@
1
- ����8�� ݣ�u��vT��7Ra�m��6��^�a���x$�m[D챷�-��@���ɰ߽�ȶ�ƣ�����!��x���0Q��^���?D�T��[��c# ��|s���a'P�r����`��1
2
- ~�.W���*k;ܑEI�T����Ǩ��V�J]�+;��BE~a%J'��:�9��vPq:'1ɚ�x��>�'dp3�]1�LYɐr���XH|�5g��F]hc������[��B-���TB�9ΨL
3
- _�z��o<|7���@e*\��*
1
+ �@��w���\W�k��ڧ�����
2
+ '{}�������[�EsX��7@"���mIA�ە��c��ĉ�Ʉ
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pptx-react-viewer",
3
- "version": "4.6.0",
3
+ "version": "4.8.0",
4
4
  "description": "React PowerPoint viewer and editor component: render, edit, and export PPTX slides in the browser.",
5
5
  "keywords": [
6
6
  "editor",
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file