pptx-react-viewer 4.1.6 → 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 (194) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/dist/{AiChatPanel-DRCY3T2Z.js → AiChatPanel-7UQA25FA.js} +28 -28
  3. package/dist/AiChatPanel-7UQA25FA.js.br +0 -0
  4. package/dist/AiChatPanel-7UQA25FA.js.gz +0 -0
  5. package/dist/{AiChatPanel-Y2RKSHOO.mjs → AiChatPanel-UCEK3ZTD.mjs} +4 -4
  6. package/dist/AiChatPanel-UCEK3ZTD.mjs.br +0 -0
  7. package/dist/AiChatPanel-UCEK3ZTD.mjs.gz +0 -0
  8. package/dist/{Model3DScene-ITHRMCLT.mjs → Model3DScene-AI2JTBQM.mjs} +1 -1
  9. package/dist/Model3DScene-AI2JTBQM.mjs.br +0 -0
  10. package/dist/Model3DScene-AI2JTBQM.mjs.gz +0 -0
  11. package/dist/{Model3DScene-VJZS726S.js → Model3DScene-X3DS3ELB.js} +2 -2
  12. package/dist/Model3DScene-X3DS3ELB.js.br +0 -0
  13. package/dist/Model3DScene-X3DS3ELB.js.gz +0 -0
  14. package/dist/{chunk-IXS7DALE.js → OrbitControls-4TDJCTBA.js} +1 -0
  15. package/dist/OrbitControls-4TDJCTBA.js.br +0 -0
  16. package/dist/OrbitControls-4TDJCTBA.js.gz +0 -0
  17. package/dist/{chunk-MV2GCDBR.mjs → OrbitControls-WCOIJFFL.mjs} +1 -0
  18. package/dist/OrbitControls-WCOIJFFL.mjs.br +0 -0
  19. package/dist/OrbitControls-WCOIJFFL.mjs.gz +0 -0
  20. package/dist/{chunk-FT3MMIXW.mjs → chunk-3UWJWJCR.mjs} +69243 -56884
  21. package/dist/chunk-3UWJWJCR.mjs.br +0 -0
  22. package/dist/chunk-3UWJWJCR.mjs.gz +0 -0
  23. package/dist/{chunk-LNSYROED.js → chunk-42XEZVUQ.js} +1322 -1216
  24. package/dist/chunk-42XEZVUQ.js.br +0 -0
  25. package/dist/chunk-42XEZVUQ.js.gz +0 -0
  26. package/dist/{chunk-P5LF34BT.js → chunk-E7O4HTS5.js} +195 -187
  27. package/dist/chunk-E7O4HTS5.js.br +0 -0
  28. package/dist/chunk-E7O4HTS5.js.gz +0 -0
  29. package/dist/{chunk-2O66VMWK.js → chunk-KAO5USPE.js} +5 -5
  30. package/dist/chunk-KAO5USPE.js.br +0 -0
  31. package/dist/chunk-KAO5USPE.js.gz +0 -0
  32. package/dist/{chunk-PC7H3C5W.mjs → chunk-OBQ453H6.mjs} +2 -2
  33. package/dist/chunk-OBQ453H6.mjs.br +0 -0
  34. package/dist/chunk-OBQ453H6.mjs.gz +0 -0
  35. package/dist/{chunk-KDTE5JOW.mjs → chunk-PLDG3CXW.mjs} +18 -10
  36. package/dist/chunk-PLDG3CXW.mjs.br +0 -0
  37. package/dist/chunk-PLDG3CXW.mjs.gz +0 -0
  38. package/dist/{chunk-YHTDDCSC.mjs → chunk-RXYLPESV.mjs} +265 -159
  39. package/dist/chunk-RXYLPESV.mjs.br +0 -0
  40. package/dist/chunk-RXYLPESV.mjs.gz +0 -0
  41. package/dist/{chunk-OFSKGB3W.mjs → chunk-SKTZSG7Q.mjs} +531 -748
  42. package/dist/chunk-SKTZSG7Q.mjs.br +0 -0
  43. package/dist/chunk-SKTZSG7Q.mjs.gz +0 -0
  44. package/dist/{chunk-QMSSDBKN.js → chunk-UTI4CLYJ.js} +69255 -56897
  45. package/dist/chunk-UTI4CLYJ.js.br +0 -0
  46. package/dist/chunk-UTI4CLYJ.js.gz +0 -0
  47. package/dist/{chunk-NXGUR2DO.js → chunk-W5KLLGVH.js} +2 -2
  48. package/dist/chunk-W5KLLGVH.js.br +0 -0
  49. package/dist/chunk-W5KLLGVH.js.gz +0 -0
  50. package/dist/{chunk-VWGJXNMR.js → chunk-Y7LI2JIR.js} +1992 -2215
  51. package/dist/chunk-Y7LI2JIR.js.br +0 -0
  52. package/dist/chunk-Y7LI2JIR.js.gz +0 -0
  53. package/dist/{chunk-QEYWSHNE.mjs → chunk-YQJOCGOK.mjs} +1 -1
  54. package/dist/chunk-YQJOCGOK.mjs.br +0 -0
  55. package/dist/chunk-YQJOCGOK.mjs.gz +0 -0
  56. package/dist/i18n/de.cjs +2 -2
  57. package/dist/i18n/de.cjs.br +0 -0
  58. package/dist/i18n/de.cjs.gz +0 -0
  59. package/dist/i18n/de.mjs +2 -2
  60. package/dist/i18n/de.mjs.br +0 -0
  61. package/dist/i18n/de.mjs.gz +0 -0
  62. package/dist/i18n/es.cjs +2 -2
  63. package/dist/i18n/es.cjs.br +0 -0
  64. package/dist/i18n/es.cjs.gz +0 -0
  65. package/dist/i18n/es.mjs +2 -2
  66. package/dist/i18n/es.mjs.br +0 -0
  67. package/dist/i18n/es.mjs.gz +0 -0
  68. package/dist/i18n/fr.cjs +2 -2
  69. package/dist/i18n/fr.cjs.br +0 -0
  70. package/dist/i18n/fr.cjs.gz +0 -0
  71. package/dist/i18n/fr.mjs +2 -2
  72. package/dist/i18n/fr.mjs.br +0 -0
  73. package/dist/i18n/fr.mjs.gz +0 -0
  74. package/dist/i18n/zh-CN.cjs +2 -2
  75. package/dist/i18n/zh-CN.cjs.br +0 -0
  76. package/dist/i18n/zh-CN.cjs.gz +0 -0
  77. package/dist/i18n/zh-CN.mjs +2 -2
  78. package/dist/i18n/zh-CN.mjs.br +0 -0
  79. package/dist/i18n/zh-CN.mjs.gz +0 -0
  80. package/dist/i18n.js +4 -4
  81. package/dist/i18n.js.br +0 -0
  82. package/dist/i18n.js.gz +0 -0
  83. package/dist/i18n.mjs +1 -1
  84. package/dist/i18n.mjs.br +0 -0
  85. package/dist/i18n.mjs.gz +0 -0
  86. package/dist/index.d.ts +310 -22
  87. package/dist/index.js +49 -49
  88. package/dist/index.js.br +0 -0
  89. package/dist/index.js.gz +0 -0
  90. package/dist/index.mjs +6 -6
  91. package/dist/index.mjs.br +0 -0
  92. package/dist/index.mjs.gz +0 -0
  93. package/dist/internals.d.ts +358 -22
  94. package/dist/internals.js +105 -105
  95. package/dist/internals.js.br +0 -0
  96. package/dist/internals.js.gz +0 -0
  97. package/dist/internals.mjs +4 -4
  98. package/dist/internals.mjs.br +0 -0
  99. package/dist/internals.mjs.gz +0 -0
  100. package/dist/pptx-viewer.css +1 -1
  101. package/dist/pptx-viewer.css.br +0 -0
  102. package/dist/pptx-viewer.css.gz +0 -0
  103. package/dist/viewer/index.d.ts +278 -3
  104. package/dist/viewer/index.js +27 -27
  105. package/dist/viewer/index.js.br +0 -0
  106. package/dist/viewer/index.js.gz +0 -0
  107. package/dist/viewer/index.mjs +6 -6
  108. package/dist/viewer/index.mjs.br +0 -0
  109. package/dist/viewer/index.mjs.gz +0 -0
  110. package/package.json +1 -1
  111. package/dist/AiChatPanel-DRCY3T2Z.js.br +0 -0
  112. package/dist/AiChatPanel-DRCY3T2Z.js.gz +0 -0
  113. package/dist/AiChatPanel-Y2RKSHOO.mjs.br +0 -0
  114. package/dist/AiChatPanel-Y2RKSHOO.mjs.gz +0 -0
  115. package/dist/Area3DChartScene-J4LMNSGM.js +0 -64
  116. package/dist/Area3DChartScene-J4LMNSGM.js.br +0 -0
  117. package/dist/Area3DChartScene-J4LMNSGM.js.gz +0 -0
  118. package/dist/Area3DChartScene-TDACCSOI.mjs +0 -62
  119. package/dist/Area3DChartScene-TDACCSOI.mjs.br +0 -0
  120. package/dist/Area3DChartScene-TDACCSOI.mjs.gz +0 -0
  121. package/dist/Bar3DChartScene-AD72DLBJ.mjs +0 -62
  122. package/dist/Bar3DChartScene-AD72DLBJ.mjs.br +0 -0
  123. package/dist/Bar3DChartScene-AD72DLBJ.mjs.gz +0 -0
  124. package/dist/Bar3DChartScene-T7334CTK.js +0 -64
  125. package/dist/Bar3DChartScene-T7334CTK.js.br +0 -0
  126. package/dist/Bar3DChartScene-T7334CTK.js.gz +0 -0
  127. package/dist/Line3DChartScene-2ZQSCHK3.mjs +0 -62
  128. package/dist/Line3DChartScene-2ZQSCHK3.mjs.br +0 -0
  129. package/dist/Line3DChartScene-2ZQSCHK3.mjs.gz +0 -0
  130. package/dist/Line3DChartScene-ELVKCFJZ.js +0 -64
  131. package/dist/Line3DChartScene-ELVKCFJZ.js.br +0 -0
  132. package/dist/Line3DChartScene-ELVKCFJZ.js.gz +0 -0
  133. package/dist/Model3DScene-ITHRMCLT.mjs.br +0 -0
  134. package/dist/Model3DScene-ITHRMCLT.mjs.gz +0 -0
  135. package/dist/Model3DScene-VJZS726S.js.br +0 -0
  136. package/dist/Model3DScene-VJZS726S.js.gz +0 -0
  137. package/dist/OrbitControls-2XOMWUVE.mjs +0 -3
  138. package/dist/OrbitControls-2XOMWUVE.mjs.br +0 -0
  139. package/dist/OrbitControls-2XOMWUVE.mjs.gz +0 -0
  140. package/dist/OrbitControls-CGYUF3BY.js +0 -12
  141. package/dist/OrbitControls-CGYUF3BY.js.br +0 -0
  142. package/dist/OrbitControls-CGYUF3BY.js.gz +0 -0
  143. package/dist/PieChart3DScene-N3DM33FW.js +0 -58
  144. package/dist/PieChart3DScene-N3DM33FW.js.br +0 -0
  145. package/dist/PieChart3DScene-N3DM33FW.js.gz +0 -0
  146. package/dist/PieChart3DScene-PYHOA7BO.mjs +0 -56
  147. package/dist/PieChart3DScene-PYHOA7BO.mjs.br +0 -0
  148. package/dist/PieChart3DScene-PYHOA7BO.mjs.gz +0 -0
  149. package/dist/SmartArt3DScene-D4VNNPHS.mjs +0 -500
  150. package/dist/SmartArt3DScene-D4VNNPHS.mjs.br +0 -0
  151. package/dist/SmartArt3DScene-D4VNNPHS.mjs.gz +0 -0
  152. package/dist/SmartArt3DScene-NHD7CZJ5.js +0 -502
  153. package/dist/SmartArt3DScene-NHD7CZJ5.js.br +0 -0
  154. package/dist/SmartArt3DScene-NHD7CZJ5.js.gz +0 -0
  155. package/dist/SurfaceChart3DScene-IFBUOLNB.mjs +0 -62
  156. package/dist/SurfaceChart3DScene-IFBUOLNB.mjs.br +0 -0
  157. package/dist/SurfaceChart3DScene-IFBUOLNB.mjs.gz +0 -0
  158. package/dist/SurfaceChart3DScene-PUWIMT7V.js +0 -64
  159. package/dist/SurfaceChart3DScene-PUWIMT7V.js.br +0 -0
  160. package/dist/SurfaceChart3DScene-PUWIMT7V.js.gz +0 -0
  161. package/dist/chunk-2O66VMWK.js.br +0 -0
  162. package/dist/chunk-2O66VMWK.js.gz +0 -0
  163. package/dist/chunk-DNR6CH6I.js +0 -30
  164. package/dist/chunk-DNR6CH6I.js.br +0 -0
  165. package/dist/chunk-DNR6CH6I.js.gz +0 -0
  166. package/dist/chunk-FT3MMIXW.mjs.br +0 -0
  167. package/dist/chunk-FT3MMIXW.mjs.gz +0 -0
  168. package/dist/chunk-IXS7DALE.js.br +0 -0
  169. package/dist/chunk-IXS7DALE.js.gz +0 -0
  170. package/dist/chunk-KDTE5JOW.mjs.br +0 -0
  171. package/dist/chunk-KDTE5JOW.mjs.gz +0 -0
  172. package/dist/chunk-LNSYROED.js.br +0 -0
  173. package/dist/chunk-LNSYROED.js.gz +0 -0
  174. package/dist/chunk-MV2GCDBR.mjs.br +0 -0
  175. package/dist/chunk-MV2GCDBR.mjs.gz +0 -0
  176. package/dist/chunk-NXGUR2DO.js.br +0 -0
  177. package/dist/chunk-NXGUR2DO.js.gz +0 -0
  178. package/dist/chunk-OFSKGB3W.mjs.br +0 -0
  179. package/dist/chunk-OFSKGB3W.mjs.gz +0 -0
  180. package/dist/chunk-P5LF34BT.js.br +0 -0
  181. package/dist/chunk-P5LF34BT.js.gz +0 -0
  182. package/dist/chunk-PC7H3C5W.mjs.br +0 -0
  183. package/dist/chunk-PC7H3C5W.mjs.gz +0 -0
  184. package/dist/chunk-QEYWSHNE.mjs.br +0 -0
  185. package/dist/chunk-QEYWSHNE.mjs.gz +0 -0
  186. package/dist/chunk-QMSSDBKN.js.br +0 -0
  187. package/dist/chunk-QMSSDBKN.js.gz +0 -0
  188. package/dist/chunk-T6GFCLSM.mjs +0 -27
  189. package/dist/chunk-T6GFCLSM.mjs.br +0 -4
  190. package/dist/chunk-T6GFCLSM.mjs.gz +0 -0
  191. package/dist/chunk-VWGJXNMR.js.br +0 -0
  192. package/dist/chunk-VWGJXNMR.js.gz +0 -0
  193. package/dist/chunk-YHTDDCSC.mjs.br +0 -0
  194. package/dist/chunk-YHTDDCSC.mjs.gz +0 -0
@@ -1398,6 +1398,32 @@ interface TextStyle {
1398
1398
  * @see element-paragraph-geometry.ts
1399
1399
  */
1400
1400
  resolvedParagraphGeometry?: TextStyle;
1401
+ /**
1402
+ * Snapshot of the ELEMENT-scope `a:bodyPr` properties (vertical anchor,
1403
+ * text direction, columns, overflow, autofit, body insets, text wrap, and
1404
+ * the boolean/rotation attributes) as the load pipeline resolved them.
1405
+ *
1406
+ * A shape's own `a:bodyPr` is parsed first, then whatever it left
1407
+ * `undefined` is back-filled from the placeholder / layout / master
1408
+ * defaults (`applyPlaceholderBodyDefaults`), and a placeholder shape with
1409
+ * no `a:bodyPr` of its own has the INHERITED one parsed as if it were its
1410
+ * own. None of those three sources is distinguishable at
1411
+ * `element.textStyle` once the cascade finishes, so a writer that
1412
+ * re-emits every defined field turns an inherited anchor, inset, autofit
1413
+ * mode or `rtlCol` into a value pinned on the slide forever (and an
1414
+ * inherited `a:normAutofit` with no scale gets written back as
1415
+ * `a:spAutoFit`, flipping AutoSize from "shrink text" to "resize shape").
1416
+ *
1417
+ * Present only on an `element.textStyle` that came from a parsed deck.
1418
+ * The save path diffs the live style against this snapshot: a field that
1419
+ * still matches is an inheritance artefact and the writer leaves the
1420
+ * underlying `a:bodyPr` attribute untouched (whatever it already is,
1421
+ * present or absent); a field that differs was authored or has since
1422
+ * been edited and is written out.
1423
+ *
1424
+ * @see element-body-properties.ts
1425
+ */
1426
+ resolvedBodyProperties?: TextStyle;
1401
1427
  fontFamily?: string;
1402
1428
  fontSize?: number;
1403
1429
  /** When true, some form of autofit is in effect; see {@link autoFitMode} for which. */
@@ -1580,6 +1606,16 @@ interface TextStyle {
1580
1606
  align: 'l' | 'ctr' | 'r' | 'dec';
1581
1607
  leader?: 'none' | 'dot' | 'hyphen' | 'underscore';
1582
1608
  }>;
1609
+ /**
1610
+ * True when the paragraph's own `a:pPr` authored an EMPTY `<a:tabLst/>`
1611
+ * (explicitly "no tab stops", overriding whatever the cascade would
1612
+ * otherwise supply) rather than omitting the element entirely (inherit).
1613
+ * fast-xml-parser gives a childless element as the empty string, so
1614
+ * `tabLst` and no-`tabLst` are otherwise indistinguishable once `tabStops`
1615
+ * comes back empty either way. Paragraph-scope only; not part of the
1616
+ * element-level geometry cascade.
1617
+ */
1618
+ tabStopsExplicitEmpty?: boolean;
1583
1619
  /** Body text wrapping mode from `a:bodyPr/@wrap`. */
1584
1620
  textWrap?: 'square' | 'none';
1585
1621
  /** Preset text warp type from `a:bodyPr/a:prstTxWarp`. */
@@ -1622,6 +1658,20 @@ interface TextStyle {
1622
1658
  * serialised back on save, so it never disturbs the round-trip typefaces.
1623
1659
  */
1624
1660
  scriptFallbackFont?: string;
1661
+ /**
1662
+ * Set alongside {@link scriptFallbackFont} when the resolved {@link fontFamily}
1663
+ * came only from the paragraph/list-style/theme CASCADE (the run's own
1664
+ * `a:rPr` authored no `a:latin`/`a:ea`/`a:cs` of its own). A run always
1665
+ * inherits SOME font this way (typically the theme's `+mn-lt`), so without
1666
+ * this flag `fontFamily` was indistinguishable from a run that genuinely
1667
+ * chose that font itself, and the renderer never applied the theme's
1668
+ * per-script override (see #83): `+mn-lt` names only the LATIN member of
1669
+ * the font scheme and was never meant to cover text in a different
1670
+ * dominant script. An explicit `a:latin`/`a:ea`/`a:cs` authored on the run
1671
+ * itself still always wins; only the cascade default yields to the
1672
+ * script-specific override.
1673
+ */
1674
+ fontFamilyIsCascadeDefault?: boolean;
1625
1675
  /** Text language from `a:rPr/@lang`. */
1626
1676
  language?: string;
1627
1677
  /** Hyperlink mouse-over target from `a:hlinkMouseOver`. */
@@ -1974,6 +2024,18 @@ interface BulletInfo {
1974
2024
  /** When true, `<a:buSzTx/>` was specified — inherit the bullet size from
1975
2025
  * the run text font size. */
1976
2026
  sizeInherit?: boolean;
2027
+ /**
2028
+ * True when this bullet resolution came from the paragraph's OWN `a:pPr`
2029
+ * rather than the shape's `a:lstStyle`, an inherited placeholder, or the
2030
+ * master's `a:defPPr` / `p:txStyles`. `resolveParagraphBulletInfo` walks
2031
+ * that cascade and returns the first match, so without this flag a
2032
+ * writer that re-emits every resolved `BulletInfo` in full pins an
2033
+ * inherited bullet (e.g. a master `buFont="Arial"` / `buChar="•"`) onto
2034
+ * every paragraph's own `a:pPr` the moment the slide is rewritten. The
2035
+ * save path only writes the bullet group when this is `true`, mirroring
2036
+ * how `paragraphProperties` gates every other per-paragraph field.
2037
+ */
2038
+ ownedByParagraph?: boolean;
1977
2039
  }
1978
2040
  /**
1979
2041
  * A single text run within a paragraph.
@@ -2016,6 +2078,23 @@ interface TextSegment {
2016
2078
  fieldParagraphPropertiesXml?: XmlObject;
2017
2079
  /** Raw OMML XML node for equation segments (from `a14:m` / `m:oMathPara`). */
2018
2080
  equationXml?: Record<string, unknown>;
2081
+ /**
2082
+ * The ORIGINAL top-level paragraph child that carried this equation,
2083
+ * captured verbatim at parse time and keyed by its own tag: `{ 'a14:m':
2084
+ * ... }`, `{ 'm:oMathPara': ... }`, `{ 'm:oMath': ... }`, or `{
2085
+ * 'mc:AlternateContent': ... }` for an equation authored behind a
2086
+ * Choice/Fallback switch. `equationXml` above is the resolved math content
2087
+ * used for rendering (unwrapped one level for `a14:m`/`mc:AlternateContent`
2088
+ * sources); this field exists solely so the writer can re-emit an UNTOUCHED
2089
+ * equation byte-for-byte, Choice and Fallback both, instead of collapsing
2090
+ * it to a bare math element PowerPoint's own writer never produces.
2091
+ * `undefined` for a freshly inserted or edited equation, which the writer
2092
+ * instead reconstructs from `equationXml` (always `{ 'm:oMathPara': ... }`
2093
+ * or `{ 'm:oMath': ... }` for those cases). Any code that replaces
2094
+ * `equationXml` on an existing segment must drop this field, or the writer
2095
+ * would keep re-emitting the equation's OLD XML instead of the edit.
2096
+ */
2097
+ equationSourceXml?: Record<string, unknown>;
2019
2098
  /**
2020
2099
  * Optional equation number for numbered equations (e.g. "(1)", "(2.3)").
2021
2100
  * When present, the equation is rendered centered with the number right-aligned.
@@ -2300,6 +2379,24 @@ interface PptxShapeProperties {
2300
2379
  */
2301
2380
  interface PlaceholderTextLevelStyle {
2302
2381
  fontFamily?: string;
2382
+ /**
2383
+ * The RAW `a:defRPr/a:latin/@typeface` string (verbatim: a theme alias
2384
+ * such as `+mj-lt`/`+mn-lt`, or a literal face name) {@link fontFamily}
2385
+ * was resolved from. Master/layout text styles are parsed once and
2386
+ * cached, so `fontFamily` is a resolved-for-display snapshot; re-emitting
2387
+ * it as the literal name on every save (the master-level analogue of
2388
+ * `colorChoiceXml` below) flattens the theme alias the moment ANYTHING
2389
+ * about the deck is rewritten, even when this level was never touched.
2390
+ * Absent when the level declares no `a:latin`.
2391
+ */
2392
+ fontTypefaceXml?: string;
2393
+ /**
2394
+ * Snapshot of {@link fontFamily} exactly as parsed, before any edit. The
2395
+ * save path diffs the live value against this: unchanged means re-emit
2396
+ * {@link fontTypefaceXml} verbatim (preserve the alias); different means
2397
+ * a genuine edit, so the new literal name is written instead.
2398
+ */
2399
+ resolvedFontFamily?: string;
2303
2400
  fontSize?: number;
2304
2401
  bold?: boolean;
2305
2402
  italic?: boolean;
@@ -2349,8 +2446,32 @@ interface PlaceholderTextLevelStyle {
2349
2446
  tabStops?: TextStyle['tabStops'];
2350
2447
  lineSpacing?: number;
2351
2448
  lineSpacingExactPt?: number;
2449
+ /**
2450
+ * Space before the paragraph in px, resolved from EITHER `a:spcPts`
2451
+ * (absolute) or `a:spcPct` (a percentage of this level's own `a:defRPr`
2452
+ * font size) - the OOXML source is not distinguishable from this field
2453
+ * alone. See {@link spaceBeforePercent} / {@link resolvedSpaceBefore}.
2454
+ */
2352
2455
  spaceBefore?: number;
2353
2456
  spaceAfter?: number;
2457
+ /**
2458
+ * Snapshot of {@link spaceBefore} / {@link spaceAfter} exactly as parsed.
2459
+ * Diffed the same way as {@link resolvedFontFamily}: unchanged means the
2460
+ * writer re-emits the ORIGINAL form (`a:spcPct` when
2461
+ * {@link spaceBeforePercent} / {@link spaceAfterPercent} is set); a value
2462
+ * that has since moved away from the snapshot is a genuine edit and is
2463
+ * always written as `a:spcPts`, since an editor works in absolute units.
2464
+ */
2465
+ resolvedSpaceBefore?: number;
2466
+ resolvedSpaceAfter?: number;
2467
+ /**
2468
+ * The raw `a:spcPct` fraction (e.g. `0.2` for 20%) {@link spaceBefore} /
2469
+ * {@link spaceAfter} was resolved from, when the source used percentage
2470
+ * spacing rather than `a:spcPts`. Absent when the source used `a:spcPts`
2471
+ * (or authored no spacing at all).
2472
+ */
2473
+ spaceBeforePercent?: number;
2474
+ spaceAfterPercent?: number;
2354
2475
  /** Default tab interval in CSS pixels (`a:lvlXpPr/@defTabSz`). */
2355
2476
  defaultTabSize?: number;
2356
2477
  /** Whether East Asian line-breaking rules are enabled. */
@@ -5083,6 +5204,18 @@ interface PptxSmartArtLayoutDefinition {
5083
5204
  rootNode: PptxSmartArtLayoutNode;
5084
5205
  /** Original definition retained for constraint evaluation and foreign rules. */
5085
5206
  rawXml?: XmlObject;
5207
+ /**
5208
+ * The un-parsed layout-definition part text (starting at `<dgm:layoutDef>`,
5209
+ * XML declaration included). `rawXml` above loses the document order of
5210
+ * differently-named siblings (the package-wide `fast-xml-parser`
5211
+ * configuration groups children into one array per tag), which the
5212
+ * per-point DiagramML engine (`core/utils/smartart-engine/`) needs to
5213
+ * execute a `layoutNode` body's `forEach`/`choose`/`constrLst` statements
5214
+ * in their real declared sequence - see that package's `ordered-xml.ts`.
5215
+ * `undefined` when the part could not be read (matches `rawXml`'s own
5216
+ * optionality); the engine falls back to the legacy interpreter then.
5217
+ */
5218
+ rawXmlText?: string;
5086
5219
  }
5087
5220
  //#endregion
5088
5221
  //#region src/core/types/smart-art-node.d.ts
@@ -5321,7 +5454,6 @@ interface PptxSmartArtNode {
5321
5454
  }
5322
5455
  //#endregion
5323
5456
  //#region src/core/types/smart-art-style-definition.d.ts
5324
- /** Editable metadata shared by DiagramML quick-style and color definitions. */
5325
5457
  interface PptxSmartArtDefinitionText {
5326
5458
  value: string;
5327
5459
  language?: string;
@@ -5421,6 +5553,17 @@ interface PptxSmartArtQuickStyle extends PptxSmartArtDefinitionMetadata {
5421
5553
  effectIntensity?: string;
5422
5554
  /** Ordered CT_StyleLabel metadata. Complex style payload remains preserved XML. */
5423
5555
  labels?: PptxSmartArtQuickStyleLabel[];
5556
+ /**
5557
+ * Whole-diagram 3D scene (camera preset/rotation/zoom/fov, light rig,
5558
+ * backdrop) from the quick style's own `dgm:styleDef/dgm:scene3d`, present
5559
+ * for the "Scene" quick styles (Brick, Flat, Metallic, Sunset, Bird's Eye
5560
+ * Scene). One camera renders the whole diagram; per-shape `a:scene3d` is
5561
+ * absent for those styles (see `PptxSmartArtDrawingShape.scene3d`). Each
5562
+ * `dgm:styleLbl` also carries its own per-label `dgm:scene3d`/`dgm:sp3d`,
5563
+ * but PowerPoint bakes those fully resolved onto each cached shape's own
5564
+ * `dsp:spPr/a:sp3d`, so only the diagram-level scene is exposed here.
5565
+ */
5566
+ scene3d?: Pptx3DScene;
5424
5567
  }
5425
5568
  //#endregion
5426
5569
  //#region src/core/types/smart-art.d.ts
@@ -5621,6 +5764,29 @@ interface PptxSmartArtDrawingShape extends PptxCustomPathProperties {
5621
5764
  textFrameY?: number;
5622
5765
  textFrameWidth?: number;
5623
5766
  textFrameHeight?: number;
5767
+ /**
5768
+ * 3D scene (camera/light rig/backdrop) from `dsp:spPr/a:scene3d`, when this
5769
+ * cached shape carries its own per-shape camera. Bevel quick styles
5770
+ * (Polished, Inset, Cartoon, Powder) cache one per shape (always
5771
+ * `orthographicFront`, so the 2D layout stays undistorted). Scene quick
5772
+ * styles (Brick, Flat, Metallic, Sunset, Bird's Eye) instead put ONE camera
5773
+ * on the whole diagram (see `PptxSmartArtQuickStyle.scene3d`) and leave this
5774
+ * undefined on every shape.
5775
+ */
5776
+ scene3d?: Pptx3DScene;
5777
+ /**
5778
+ * 3D extrusion/bevel/contour/material from `dsp:spPr/a:sp3d`. PowerPoint
5779
+ * caches this fully resolved (from the quick style's per-label `dgm:sp3d`)
5780
+ * on every shape for every non-flat quick style, bevel or scene alike.
5781
+ */
5782
+ shape3d?: Pptx3DShape;
5783
+ /**
5784
+ * Text-body 3D extrusion/bevel from `dsp:txBody/a:bodyPr/a:sp3d`. Rare:
5785
+ * present when a quick style extrudes the label text itself off the shape
5786
+ * face (e.g. Bird's Eye Scene: `extrusionH="28000"`), rather than only the
5787
+ * shape body.
5788
+ */
5789
+ text3d?: Text3DStyle;
5624
5790
  }
5625
5791
  /**
5626
5792
  * Presentation layout variables from `dgm:prSet/dgm:presLayoutVars` (data model)
@@ -6162,6 +6328,20 @@ interface PptxTableData {
6162
6328
  * present when there is at least one effect.
6163
6329
  */
6164
6330
  tableEffects?: ParsedTableStyleEffect[];
6331
+ /**
6332
+ * Table-cell-context default text size in points, resolved from the
6333
+ * slide's master `p:otherStyle` (ECMA-376 §19.3.1.42 CT_TextListStyle,
6334
+ * §19.3.1.52 for `p:txStyles`). PowerPoint sizes a table cell's text off
6335
+ * this master default (commonly 18pt) whenever neither the run nor the
6336
+ * (size-less) table style provides one; without it, cell text without an
6337
+ * explicit `a:rPr@sz` fell back to the browser's own default font size
6338
+ * (16px / 12pt) instead. A render-only hint: it is not part of any
6339
+ * individual cell's parsed style and is never written back on save, so
6340
+ * resaving an unstyled cell does not bake in an explicit size that was
6341
+ * never authored. `undefined` when no master/otherStyle size resolves
6342
+ * (renderers should leave the browser default in place in that case).
6343
+ */
6344
+ defaultCellFontSize?: number;
6165
6345
  }
6166
6346
  /**
6167
6347
  * A single fill reference within a table style section.
@@ -6187,6 +6367,14 @@ interface ParsedTableStyleFill {
6187
6367
  tint?: number;
6188
6368
  /** Shade value (0-100 000). */
6189
6369
  shade?: number;
6370
+ /**
6371
+ * Alpha (opacity) value (0-100 000, where 100 000 is fully opaque) from an
6372
+ * `a:alpha` child of `a:schemeClr`/`a:srgbClr`. Several built-in table
6373
+ * styles (e.g. "Light Style 1/3", "Themed Style 1/2") band their rows with
6374
+ * a partially transparent tint of the theme colour rather than a tint/shade
6375
+ * blend.
6376
+ */
6377
+ alpha?: number;
6190
6378
  /** Explicit sRGB hex colour (e.g. `#FF8800`) from `a:srgbClr`. */
6191
6379
  color?: string;
6192
6380
  /** The fill was `a:noFill`: renders transparent and clears lower layers. */
@@ -7022,6 +7210,20 @@ interface ContentPartInkStroke {
7022
7210
  * NAMES differ.
7023
7211
  */
7024
7212
  tiltEncoding?: 'vector' | 'azimuthAltitude';
7213
+ /**
7214
+ * Per-point timestamps (milliseconds), decoded from the source InkML
7215
+ * trace's `T` channel when it declared one.
7216
+ *
7217
+ * Absent for the overwhelming majority of real decks: PowerPoint's own
7218
+ * SaveAs output declares only `X`/`Y` and has no per-point time channel at
7219
+ * all (see `contentpart-real-ink-roundtrip.test.ts`'s fixture), so this is
7220
+ * populated only for InkML sources that genuinely author one (a captured
7221
+ * digitizer session, OneNote, a Surface Hub export). When present, ink
7222
+ * replay ("watch the ink get drawn") uses each stroke's own first/last
7223
+ * timestamp to time its reveal instead of the fixed per-stroke cascade; see
7224
+ * `pptx-viewer-shared`'s `render/ink-replay-timeline.ts`.
7225
+ */
7226
+ pointTimestamps?: number[];
7025
7227
  }
7026
7228
  /**
7027
7229
  * A content-part element wrapped in `mc:AlternateContent`.
@@ -7066,6 +7268,28 @@ interface ZoomPptxElement extends PptxElementBase, PptxImageProperties {
7066
7268
  summaryTargets?: SummaryZoomTarget[];
7067
7269
  /** Layout mode authored on the Summary Zoom container. */
7068
7270
  summaryLayout?: 'grid' | 'fixed';
7271
+ /**
7272
+ * `zmPr/@returnToParent` (MS-PPTX `CT_ZoomObjectProperties`, shared by all
7273
+ * three Zoom kinds): whether continuing forward from the destination slide
7274
+ * during a live show returns to this Zoom's origin slide instead of
7275
+ * advancing linearly through the deck. OOXML default is `true` when the
7276
+ * attribute is present but this codebase leaves it `undefined` when the
7277
+ * source XML omits it, so a round-trip never fabricates the attribute.
7278
+ * For `zoomType: 'summary'`, this mirrors the first tile's own value; see
7279
+ * {@link SummaryZoomTarget.returnToParent} for the per-tile value.
7280
+ */
7281
+ returnToParent?: boolean;
7282
+ /**
7283
+ * `zmPr/@transitionDur` (MS-PPTX `CT_ZoomObjectProperties`): the
7284
+ * zoom-transition length in milliseconds. PowerPoint's own writer emits a
7285
+ * unitless decimal-millisecond value for every OOXML `ST_UniversalTimeOffset`
7286
+ * this codebase has observed (see the media-trim/-fade parsers), so this
7287
+ * follows the same convention rather than the full TIMEOFFSET grammar's
7288
+ * unit suffixes. Undefined uses the destination slide's own transition.
7289
+ * For `zoomType: 'summary'`, this mirrors the first tile's own value; see
7290
+ * {@link SummaryZoomTarget.transitionDurationMs} for the per-tile value.
7291
+ */
7292
+ transitionDurationMs?: number;
7069
7293
  }
7070
7294
  /** A single section tile within a PowerPoint Summary Zoom container. */
7071
7295
  interface SummaryZoomTarget extends PptxImageProperties {
@@ -7081,6 +7305,10 @@ interface SummaryZoomTarget extends PptxImageProperties {
7081
7305
  offsetFactorY?: number;
7082
7306
  scaleFactorX?: number;
7083
7307
  scaleFactorY?: number;
7308
+ /** This tile's own `zmPr/@returnToParent`; see {@link ZoomPptxElement.returnToParent}. */
7309
+ returnToParent?: boolean;
7310
+ /** This tile's own `zmPr/@transitionDur` in milliseconds; see {@link ZoomPptxElement.transitionDurationMs}. */
7311
+ transitionDurationMs?: number;
7084
7312
  rawXml?: XmlObject;
7085
7313
  }
7086
7314
  /**
@@ -8071,6 +8299,17 @@ interface PptxAttributeAnimation {
8071
8299
  * IS consulted regardless of this field's value. Absent means `lin`.
8072
8300
  */
8073
8301
  calcMode?: 'discrete' | 'lin' | 'fmla';
8302
+ /**
8303
+ * `p:anim/@_p14:bounceEnd` (Office 2010 `p14` extension attribute,
8304
+ * MS-OI29500), normalized to a 0-1 fraction of this behaviour's own
8305
+ * duration. PowerPoint's Fly In "Bounce End" effect option writes this on
8306
+ * the position-ramp `p:anim` node(s): the fraction of the duration at
8307
+ * which the primary travel completes, with the remainder spent bouncing
8308
+ * and settling at the final value. Mirrored verbatim by PowerPoint onto
8309
+ * the enclosing `p:cTn/@_p14:presetBounceEnd`. Absent for every animation
8310
+ * that doesn't use this effect option (the overwhelming majority).
8311
+ */
8312
+ bounceEnd?: number;
8074
8313
  }
8075
8314
  /** Signed HSL channel deltas parsed from `p:animClr/p:by/p:hsl`. */
8076
8315
  interface PptxHslColorDelta {
@@ -8152,7 +8391,19 @@ interface PptxTextAnimationTarget {
8152
8391
  * These map directly to OOXML condition event attribute values
8153
8392
  * (ISO/IEC 29500-1 S19.5.28 CT_TLTimeCondition).
8154
8393
  */
8155
- type AnimationConditionEvent = 'onBegin' | 'onEnd' | 'begin' | 'end' | 'onClick' | 'onMouseOver' | 'onMouseOut' | 'onNext' | 'onPrev' | 'onStopAudio' | 'onDblClick';
8394
+ type AnimationConditionEvent = 'onBegin' | 'onEnd' | 'begin' | 'end' | 'onClick' | 'onMouseOver' | 'onMouseOut' | 'onNext' | 'onPrev' | 'onStopAudio' | 'onDblClick' | 'onMediaBookmark';
8395
+ /**
8396
+ * `p14:bmkTgt` (Office 2010 `p14` extension, MS-OI29500): names the specific
8397
+ * media element and bookmark an `evt="onMediaBookmark"` condition fires for.
8398
+ * `bookmarkName` matches a `p14:bmk/@_name` on that media element's own
8399
+ * `p14:bmkLst` (see `MediaBookmark.label` in `core/types/elements.ts`).
8400
+ */
8401
+ interface PptxMediaBookmarkTarget {
8402
+ /** `p14:bmkTgt/@_spid`: the media element's shape id. */
8403
+ shapeId: string;
8404
+ /** `p14:bmkTgt/@_bmkName`: the bookmark's name. */
8405
+ bookmarkName: string;
8406
+ }
8156
8407
  /**
8157
8408
  * Structured representation of a single OOXML animation condition
8158
8409
  * from `p:cond` elements inside `p:stCondLst` or `p:endCondLst`.
@@ -8172,6 +8423,11 @@ type AnimationConditionEvent = 'onBegin' | 'onEnd' | 'begin' | 'end' | 'onClick'
8172
8423
  interface AnimationCondition {
8173
8424
  /** Event that triggers the condition. */
8174
8425
  event?: AnimationConditionEvent;
8426
+ /**
8427
+ * The media element/bookmark this condition fires for, when
8428
+ * {@link event} is `onMediaBookmark`. See {@link PptxMediaBookmarkTarget}.
8429
+ */
8430
+ bookmarkTarget?: PptxMediaBookmarkTarget;
8175
8431
  /** Delay in milliseconds (from `@_delay`). "indefinite" is represented as -1. */
8176
8432
  delay?: number;
8177
8433
  /** Target time node ID reference (from `@_tn`). */
@@ -9490,7 +9746,12 @@ interface PptxHeaderFooter {
9490
9746
  hasDateTime?: boolean;
9491
9747
  dateTimeText?: string;
9492
9748
  dateTimeAuto?: boolean;
9493
- /** OOXML date format pattern (e.g. "M/d/yyyy", "dddd, MMMM dd, yyyy"). */
9749
+ /**
9750
+ * The master date placeholder's own `a:fld/@type` (e.g. "datetime2"), NOT a
9751
+ * format pattern. It is one of the predefined OOXML datetime field types
9752
+ * (`datetime1`-`datetime13`); the display pattern for each is resolved by
9753
+ * `resolveFieldDateText` in `packages/shared/src/render/text-field-substitution.ts`.
9754
+ */
9494
9755
  dateFormat?: string;
9495
9756
  hasSlideNumber?: boolean;
9496
9757
  }
@@ -12028,6 +12289,20 @@ interface ViewportFitOptions {
12028
12289
  /** Positive fit-factor ceiling; null allows enlargement without a ceiling. */
12029
12290
  maxFitScale?: number | null;
12030
12291
  }
12292
+ //#endregion
12293
+ //#region src/web-components/select-value.d.ts
12294
+ /** Public DOM shape used by all bindings; the element is not a native select. */
12295
+ interface PptxUiSelectElement extends HTMLElement {
12296
+ value: string;
12297
+ disabled: boolean;
12298
+ readonly options: HTMLOptionElement[];
12299
+ selectedIndex: number;
12300
+ }
12301
+ declare global {
12302
+ interface HTMLElementTagNameMap {
12303
+ 'pptx-ui-select': PptxUiSelectElement;
12304
+ }
12305
+ }
12031
12306
 
12032
12307
  //#endregion
12033
12308
  //#region src/i18n/locale-catalog.d.ts
@@ -1,96 +1,96 @@
1
1
  'use strict';
2
2
 
3
- var chunkLNSYROED_js = require('../chunk-LNSYROED.js');
4
- require('../chunk-2O66VMWK.js');
5
- var chunkVWGJXNMR_js = require('../chunk-VWGJXNMR.js');
6
- var chunkP5LF34BT_js = require('../chunk-P5LF34BT.js');
7
- var chunkQMSSDBKN_js = require('../chunk-QMSSDBKN.js');
8
- require('../chunk-NXGUR2DO.js');
3
+ var chunk42XEZVUQ_js = require('../chunk-42XEZVUQ.js');
4
+ require('../chunk-KAO5USPE.js');
5
+ var chunkY7LI2JIR_js = require('../chunk-Y7LI2JIR.js');
6
+ var chunkE7O4HTS5_js = require('../chunk-E7O4HTS5.js');
7
+ var chunkUTI4CLYJ_js = require('../chunk-UTI4CLYJ.js');
8
+ require('../chunk-W5KLLGVH.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 chunkLNSYROED_js.CollaborationStatusIndicator; }
15
+ get: function () { return chunk42XEZVUQ_js.CollaborationStatusIndicator; }
16
16
  });
17
17
  Object.defineProperty(exports, "PowerPointViewer", {
18
18
  enumerable: true,
19
- get: function () { return chunkLNSYROED_js.PowerPointViewer; }
19
+ get: function () { return chunk42XEZVUQ_js.PowerPointViewer; }
20
20
  });
21
21
  Object.defineProperty(exports, "UserAvatarBar", {
22
22
  enumerable: true,
23
- get: function () { return chunkLNSYROED_js.UserAvatarBar; }
23
+ get: function () { return chunk42XEZVUQ_js.UserAvatarBar; }
24
24
  });
25
25
  Object.defineProperty(exports, "CollaborationProvider", {
26
26
  enumerable: true,
27
- get: function () { return chunkVWGJXNMR_js.CollaborationProvider; }
27
+ get: function () { return chunkY7LI2JIR_js.CollaborationProvider; }
28
28
  });
29
29
  Object.defineProperty(exports, "RemoteUserCursors", {
30
30
  enumerable: true,
31
- get: function () { return chunkVWGJXNMR_js.RemoteUserCursors; }
31
+ get: function () { return chunkY7LI2JIR_js.RemoteUserCursors; }
32
32
  });
33
33
  Object.defineProperty(exports, "isAudienceTab", {
34
34
  enumerable: true,
35
- get: function () { return chunkVWGJXNMR_js.isAudienceTab; }
35
+ get: function () { return chunkY7LI2JIR_js.isAudienceTab; }
36
36
  });
37
37
  Object.defineProperty(exports, "parseAudienceNonce", {
38
38
  enumerable: true,
39
- get: function () { return chunkVWGJXNMR_js.parseAudienceNonce; }
39
+ get: function () { return chunkY7LI2JIR_js.parseAudienceNonce; }
40
40
  });
41
41
  Object.defineProperty(exports, "useCollaborativeHistory", {
42
42
  enumerable: true,
43
- get: function () { return chunkVWGJXNMR_js.useCollaborativeHistory; }
43
+ get: function () { return chunkY7LI2JIR_js.useCollaborativeHistory; }
44
44
  });
45
45
  Object.defineProperty(exports, "useCollaborativeState", {
46
46
  enumerable: true,
47
- get: function () { return chunkVWGJXNMR_js.useCollaborativeState; }
47
+ get: function () { return chunkY7LI2JIR_js.useCollaborativeState; }
48
48
  });
49
49
  Object.defineProperty(exports, "usePresenceTracking", {
50
50
  enumerable: true,
51
- get: function () { return chunkVWGJXNMR_js.usePresenceTracking; }
51
+ get: function () { return chunkY7LI2JIR_js.usePresenceTracking; }
52
52
  });
53
53
  Object.defineProperty(exports, "useThemeSwitching", {
54
54
  enumerable: true,
55
- get: function () { return chunkVWGJXNMR_js.useThemeSwitching; }
55
+ get: function () { return chunkY7LI2JIR_js.useThemeSwitching; }
56
56
  });
57
57
  Object.defineProperty(exports, "useYjsProvider", {
58
58
  enumerable: true,
59
- get: function () { return chunkVWGJXNMR_js.useYjsProvider; }
59
+ get: function () { return chunkY7LI2JIR_js.useYjsProvider; }
60
60
  });
61
61
  Object.defineProperty(exports, "getAnimationInitialStyle", {
62
62
  enumerable: true,
63
- get: function () { return chunkP5LF34BT_js.getAnimationInitialStyle; }
63
+ get: function () { return chunkE7O4HTS5_js.getAnimationInitialStyle; }
64
64
  });
65
65
  Object.defineProperty(exports, "clearAudienceContent", {
66
66
  enumerable: true,
67
- get: function () { return chunkQMSSDBKN_js.clearAudienceContent; }
67
+ get: function () { return chunkUTI4CLYJ_js.clearAudienceContent; }
68
68
  });
69
69
  Object.defineProperty(exports, "forgetSessionDeck", {
70
70
  enumerable: true,
71
- get: function () { return chunkQMSSDBKN_js.forgetSessionDeck; }
71
+ get: function () { return chunkUTI4CLYJ_js.forgetSessionDeck; }
72
72
  });
73
73
  Object.defineProperty(exports, "getSessionTabId", {
74
74
  enumerable: true,
75
- get: function () { return chunkQMSSDBKN_js.getSessionTabId; }
75
+ get: function () { return chunkUTI4CLYJ_js.getSessionTabId; }
76
76
  });
77
77
  Object.defineProperty(exports, "loadAudienceContent", {
78
78
  enumerable: true,
79
- get: function () { return chunkQMSSDBKN_js.loadAudienceContent; }
79
+ get: function () { return chunkUTI4CLYJ_js.loadAudienceContent; }
80
80
  });
81
81
  Object.defineProperty(exports, "loadSessionDeck", {
82
82
  enumerable: true,
83
- get: function () { return chunkQMSSDBKN_js.loadSessionDeck; }
83
+ get: function () { return chunkUTI4CLYJ_js.loadSessionDeck; }
84
84
  });
85
85
  Object.defineProperty(exports, "rememberSessionDeck", {
86
86
  enumerable: true,
87
- get: function () { return chunkQMSSDBKN_js.rememberSessionDeck; }
87
+ get: function () { return chunkUTI4CLYJ_js.rememberSessionDeck; }
88
88
  });
89
89
  Object.defineProperty(exports, "restoreSessionDeck", {
90
90
  enumerable: true,
91
- get: function () { return chunkQMSSDBKN_js.restoreSessionDeck; }
91
+ get: function () { return chunkUTI4CLYJ_js.restoreSessionDeck; }
92
92
  });
93
93
  Object.defineProperty(exports, "storeAudienceContent", {
94
94
  enumerable: true,
95
- get: function () { return chunkQMSSDBKN_js.storeAudienceContent; }
95
+ get: function () { return chunkUTI4CLYJ_js.storeAudienceContent; }
96
96
  });
Binary file
Binary file
@@ -1,7 +1,7 @@
1
- export { CollaborationStatusIndicator, PowerPointViewer, UserAvatarBar } from '../chunk-YHTDDCSC.mjs';
2
- import '../chunk-QEYWSHNE.mjs';
3
- export { CollaborationProvider, RemoteUserCursors, isAudienceTab, parseAudienceNonce, useCollaborativeHistory, useCollaborativeState, usePresenceTracking, useThemeSwitching, useYjsProvider } from '../chunk-OFSKGB3W.mjs';
4
- export { getAnimationInitialStyle } from '../chunk-KDTE5JOW.mjs';
5
- export { clearAudienceContent, forgetSessionDeck, getSessionTabId, loadAudienceContent, loadSessionDeck, rememberSessionDeck, restoreSessionDeck, storeAudienceContent } from '../chunk-FT3MMIXW.mjs';
6
- import '../chunk-PC7H3C5W.mjs';
1
+ export { CollaborationStatusIndicator, PowerPointViewer, UserAvatarBar } from '../chunk-RXYLPESV.mjs';
2
+ import '../chunk-YQJOCGOK.mjs';
3
+ export { CollaborationProvider, RemoteUserCursors, isAudienceTab, parseAudienceNonce, useCollaborativeHistory, useCollaborativeState, usePresenceTracking, useThemeSwitching, useYjsProvider } from '../chunk-SKTZSG7Q.mjs';
4
+ export { getAnimationInitialStyle } from '../chunk-PLDG3CXW.mjs';
5
+ export { clearAudienceContent, forgetSessionDeck, getSessionTabId, loadAudienceContent, loadSessionDeck, rememberSessionDeck, restoreSessionDeck, storeAudienceContent } from '../chunk-3UWJWJCR.mjs';
6
+ import '../chunk-OBQ453H6.mjs';
7
7
  import '../chunk-XGB3TDIC.mjs';
Binary file
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pptx-react-viewer",
3
- "version": "4.1.6",
3
+ "version": "4.3.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
@@ -1,64 +0,0 @@
1
- 'use strict';
2
-
3
- var chunkDNR6CH6I_js = require('./chunk-DNR6CH6I.js');
4
- var chunkQMSSDBKN_js = require('./chunk-QMSSDBKN.js');
5
- require('./chunk-4VNS5WPM.js');
6
- var react = require('react');
7
- var jsxRuntime = require('react/jsx-runtime');
8
-
9
- function Area3DChartScene({
10
- options,
11
- interaction,
12
- selectedPart = null,
13
- textStyle
14
- }) {
15
- const containerRef = react.useRef(null);
16
- const handleRef = react.useRef(null);
17
- const stableInteraction = chunkDNR6CH6I_js.useStableChart3DInteraction(interaction);
18
- const selectedPartRef = chunkDNR6CH6I_js.useLatestRef(selectedPart);
19
- const textStyleRef = chunkDNR6CH6I_js.useLatestRef(textStyle);
20
- react.useEffect(() => {
21
- const container = containerRef.current;
22
- if (!container) {
23
- return;
24
- }
25
- let disposed = false;
26
- void chunkQMSSDBKN_js.mountAreaChart3D(container, options, stableInteraction).then((handle) => {
27
- if (disposed) {
28
- handle.dispose();
29
- } else {
30
- handleRef.current = handle;
31
- handle.setSelectedPart(selectedPartRef.current);
32
- handle.setTextStyle(textStyleRef.current);
33
- }
34
- return void 0;
35
- });
36
- return () => {
37
- disposed = true;
38
- handleRef.current?.dispose();
39
- handleRef.current = null;
40
- };
41
- }, [options, stableInteraction]);
42
- react.useEffect(() => {
43
- handleRef.current?.resize(options.width, options.height);
44
- }, [options.width, options.height]);
45
- react.useEffect(() => {
46
- handleRef.current?.setSelectedPart(selectedPart);
47
- }, [selectedPart]);
48
- react.useEffect(() => {
49
- handleRef.current?.setTextStyle(textStyle);
50
- }, [textStyle]);
51
- return /* @__PURE__ */ jsxRuntime.jsx(
52
- "div",
53
- {
54
- ref: containerRef,
55
- style: {
56
- width: options.width,
57
- height: options.height,
58
- willChange: "transform"
59
- }
60
- }
61
- );
62
- }
63
-
64
- module.exports = Area3DChartScene;