pptx-react-viewer 3.1.5 → 3.2.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 (157) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/{AiChatPanel-ITCVRVKP.mjs → AiChatPanel-C3E7NLX3.mjs} +4 -4
  3. package/dist/AiChatPanel-C3E7NLX3.mjs.br +0 -0
  4. package/dist/AiChatPanel-C3E7NLX3.mjs.gz +0 -0
  5. package/dist/{AiChatPanel-TO5PHBGW.js → AiChatPanel-TKBVSYD2.js} +24 -24
  6. package/dist/AiChatPanel-TKBVSYD2.js.br +0 -0
  7. package/dist/AiChatPanel-TKBVSYD2.js.gz +0 -0
  8. package/dist/{Area3DChartScene-2UNQ3J3V.js → Area3DChartScene-3A3CXKN3.js} +2 -2
  9. package/dist/Area3DChartScene-3A3CXKN3.js.br +0 -0
  10. package/dist/Area3DChartScene-3A3CXKN3.js.gz +0 -0
  11. package/dist/{Area3DChartScene-7PHPDOTG.mjs → Area3DChartScene-7YCFWEGX.mjs} +1 -1
  12. package/dist/Area3DChartScene-7YCFWEGX.mjs.br +3 -0
  13. package/dist/Area3DChartScene-7YCFWEGX.mjs.gz +0 -0
  14. package/dist/{Bar3DChartScene-BLPUHYRZ.mjs → Bar3DChartScene-7CNSJ35X.mjs} +1 -1
  15. package/dist/Bar3DChartScene-7CNSJ35X.mjs.br +0 -0
  16. package/dist/Bar3DChartScene-7CNSJ35X.mjs.gz +0 -0
  17. package/dist/{Bar3DChartScene-MC5S3AGT.js → Bar3DChartScene-BDUENAWJ.js} +2 -2
  18. package/dist/Bar3DChartScene-BDUENAWJ.js.br +0 -0
  19. package/dist/Bar3DChartScene-BDUENAWJ.js.gz +0 -0
  20. package/dist/{Line3DChartScene-JVVZRIDD.js → Line3DChartScene-R352CZ5U.js} +2 -2
  21. package/dist/Line3DChartScene-R352CZ5U.js.br +0 -0
  22. package/dist/Line3DChartScene-R352CZ5U.js.gz +0 -0
  23. package/dist/{Line3DChartScene-L5B4YFG3.mjs → Line3DChartScene-SMTHK6MD.mjs} +1 -1
  24. package/dist/Line3DChartScene-SMTHK6MD.mjs.br +3 -0
  25. package/dist/Line3DChartScene-SMTHK6MD.mjs.gz +0 -0
  26. package/dist/{Model3DScene-6TNWS5LV.mjs → Model3DScene-AUVJXXPV.mjs} +1 -1
  27. package/dist/Model3DScene-AUVJXXPV.mjs.br +0 -0
  28. package/dist/Model3DScene-AUVJXXPV.mjs.gz +0 -0
  29. package/dist/{Model3DScene-LRDNQNKJ.js → Model3DScene-Y4SGFQYW.js} +2 -2
  30. package/dist/{Model3DScene-LRDNQNKJ.js.br → Model3DScene-Y4SGFQYW.js.br} +0 -0
  31. package/dist/Model3DScene-Y4SGFQYW.js.gz +0 -0
  32. package/dist/{PieChart3DScene-PZWZCXHX.js → PieChart3DScene-TK2VT4RS.js} +2 -2
  33. package/dist/PieChart3DScene-TK2VT4RS.js.br +0 -0
  34. package/dist/PieChart3DScene-TK2VT4RS.js.gz +0 -0
  35. package/dist/{PieChart3DScene-XXAIVP4I.mjs → PieChart3DScene-UD7GRH55.mjs} +1 -1
  36. package/dist/PieChart3DScene-UD7GRH55.mjs.br +0 -0
  37. package/dist/PieChart3DScene-UD7GRH55.mjs.gz +0 -0
  38. package/dist/{SurfaceChart3DScene-UBQV3ZN2.js → SurfaceChart3DScene-ERFXZW2O.js} +2 -2
  39. package/dist/SurfaceChart3DScene-ERFXZW2O.js.br +0 -0
  40. package/dist/SurfaceChart3DScene-ERFXZW2O.js.gz +0 -0
  41. package/dist/{SurfaceChart3DScene-CRUGJSCY.mjs → SurfaceChart3DScene-TXY6UZSW.mjs} +1 -1
  42. package/dist/SurfaceChart3DScene-TXY6UZSW.mjs.br +0 -0
  43. package/dist/SurfaceChart3DScene-TXY6UZSW.mjs.gz +0 -0
  44. package/dist/{chunk-SWRY3SI5.js → chunk-ALO4ZOHQ.js} +46 -1
  45. package/dist/chunk-ALO4ZOHQ.js.br +0 -0
  46. package/dist/{chunk-SWRY3SI5.js.gz → chunk-ALO4ZOHQ.js.gz} +0 -0
  47. package/dist/{chunk-LXYDXLKZ.js → chunk-ARQGUUYU.js} +421 -460
  48. package/dist/chunk-ARQGUUYU.js.br +0 -0
  49. package/dist/chunk-ARQGUUYU.js.gz +0 -0
  50. package/dist/{chunk-T2QG2HD5.js → chunk-B6UIVRFA.js} +167 -167
  51. package/dist/chunk-B6UIVRFA.js.br +0 -0
  52. package/dist/chunk-B6UIVRFA.js.gz +0 -0
  53. package/dist/{chunk-YDEEINER.js → chunk-FJDZ7AEE.js} +6446 -3739
  54. package/dist/chunk-FJDZ7AEE.js.br +0 -0
  55. package/dist/chunk-FJDZ7AEE.js.gz +0 -0
  56. package/dist/{chunk-BPWSJLLG.mjs → chunk-FMEEIS6L.mjs} +2 -2
  57. package/dist/chunk-FMEEIS6L.mjs.br +0 -0
  58. package/dist/chunk-FMEEIS6L.mjs.gz +0 -0
  59. package/dist/{chunk-XIHK52SB.mjs → chunk-G7UBIKAG.mjs} +6445 -3740
  60. package/dist/chunk-G7UBIKAG.mjs.br +0 -0
  61. package/dist/chunk-G7UBIKAG.mjs.gz +0 -0
  62. package/dist/{chunk-P3VXXUZM.mjs → chunk-PPNXPEEZ.mjs} +20 -14
  63. package/dist/chunk-PPNXPEEZ.mjs.br +0 -0
  64. package/dist/chunk-PPNXPEEZ.mjs.gz +0 -0
  65. package/dist/{chunk-LGVNUG3G.js → chunk-Q52HT4EZ.js} +9 -8
  66. package/dist/chunk-Q52HT4EZ.js.br +0 -0
  67. package/dist/chunk-Q52HT4EZ.js.gz +0 -0
  68. package/dist/{chunk-ARJE3V6V.mjs → chunk-RHSA5BW5.mjs} +46 -1
  69. package/dist/chunk-RHSA5BW5.mjs.br +0 -0
  70. package/dist/{chunk-ARJE3V6V.mjs.gz → chunk-RHSA5BW5.mjs.gz} +0 -0
  71. package/dist/{chunk-ZPF4L6SD.js → chunk-RRAL4Y7V.js} +1136 -1130
  72. package/dist/chunk-RRAL4Y7V.js.br +0 -0
  73. package/dist/chunk-RRAL4Y7V.js.gz +0 -0
  74. package/dist/{chunk-QOLYY7E3.mjs → chunk-RX6FE24O.mjs} +7 -6
  75. package/dist/chunk-RX6FE24O.mjs.br +0 -0
  76. package/dist/chunk-RX6FE24O.mjs.gz +0 -0
  77. package/dist/{chunk-A2UAUSJM.mjs → chunk-UHR7EYFM.mjs} +18 -57
  78. package/dist/chunk-UHR7EYFM.mjs.br +0 -0
  79. package/dist/chunk-UHR7EYFM.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 +170 -17
  87. package/dist/index.js +47 -47
  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 +170 -17
  94. package/dist/internals.d.ts.map +1 -1
  95. package/dist/internals.js +79 -79
  96. package/dist/internals.js.br +0 -0
  97. package/dist/internals.js.gz +0 -0
  98. package/dist/internals.mjs +4 -4
  99. package/dist/internals.mjs.br +0 -0
  100. package/dist/internals.mjs.gz +0 -0
  101. package/dist/viewer/index.d.ts +170 -17
  102. package/dist/viewer/index.js +27 -27
  103. package/dist/viewer/index.js.br +0 -0
  104. package/dist/viewer/index.js.gz +0 -0
  105. package/dist/viewer/index.mjs +6 -6
  106. package/dist/viewer/index.mjs.br +0 -0
  107. package/dist/viewer/index.mjs.gz +0 -0
  108. package/package.json +1 -1
  109. package/dist/AiChatPanel-ITCVRVKP.mjs.br +0 -0
  110. package/dist/AiChatPanel-ITCVRVKP.mjs.gz +0 -0
  111. package/dist/AiChatPanel-TO5PHBGW.js.br +0 -0
  112. package/dist/AiChatPanel-TO5PHBGW.js.gz +0 -0
  113. package/dist/Area3DChartScene-2UNQ3J3V.js.br +0 -0
  114. package/dist/Area3DChartScene-2UNQ3J3V.js.gz +0 -0
  115. package/dist/Area3DChartScene-7PHPDOTG.mjs.br +0 -0
  116. package/dist/Area3DChartScene-7PHPDOTG.mjs.gz +0 -0
  117. package/dist/Bar3DChartScene-BLPUHYRZ.mjs.br +0 -0
  118. package/dist/Bar3DChartScene-BLPUHYRZ.mjs.gz +0 -0
  119. package/dist/Bar3DChartScene-MC5S3AGT.js.br +0 -0
  120. package/dist/Bar3DChartScene-MC5S3AGT.js.gz +0 -0
  121. package/dist/Line3DChartScene-JVVZRIDD.js.br +0 -0
  122. package/dist/Line3DChartScene-JVVZRIDD.js.gz +0 -0
  123. package/dist/Line3DChartScene-L5B4YFG3.mjs.br +0 -0
  124. package/dist/Line3DChartScene-L5B4YFG3.mjs.gz +0 -0
  125. package/dist/Model3DScene-6TNWS5LV.mjs.br +0 -0
  126. package/dist/Model3DScene-6TNWS5LV.mjs.gz +0 -0
  127. package/dist/Model3DScene-LRDNQNKJ.js.gz +0 -0
  128. package/dist/PieChart3DScene-PZWZCXHX.js.br +0 -0
  129. package/dist/PieChart3DScene-PZWZCXHX.js.gz +0 -0
  130. package/dist/PieChart3DScene-XXAIVP4I.mjs.br +0 -0
  131. package/dist/PieChart3DScene-XXAIVP4I.mjs.gz +0 -0
  132. package/dist/SurfaceChart3DScene-CRUGJSCY.mjs.br +0 -1
  133. package/dist/SurfaceChart3DScene-CRUGJSCY.mjs.gz +0 -0
  134. package/dist/SurfaceChart3DScene-UBQV3ZN2.js.br +0 -0
  135. package/dist/SurfaceChart3DScene-UBQV3ZN2.js.gz +0 -0
  136. package/dist/chunk-A2UAUSJM.mjs.br +0 -0
  137. package/dist/chunk-A2UAUSJM.mjs.gz +0 -0
  138. package/dist/chunk-ARJE3V6V.mjs.br +0 -0
  139. package/dist/chunk-BPWSJLLG.mjs.br +0 -0
  140. package/dist/chunk-BPWSJLLG.mjs.gz +0 -0
  141. package/dist/chunk-LGVNUG3G.js.br +0 -0
  142. package/dist/chunk-LGVNUG3G.js.gz +0 -0
  143. package/dist/chunk-LXYDXLKZ.js.br +0 -0
  144. package/dist/chunk-LXYDXLKZ.js.gz +0 -0
  145. package/dist/chunk-P3VXXUZM.mjs.br +0 -0
  146. package/dist/chunk-P3VXXUZM.mjs.gz +0 -0
  147. package/dist/chunk-QOLYY7E3.mjs.br +0 -0
  148. package/dist/chunk-QOLYY7E3.mjs.gz +0 -0
  149. package/dist/chunk-SWRY3SI5.js.br +0 -0
  150. package/dist/chunk-T2QG2HD5.js.br +0 -0
  151. package/dist/chunk-T2QG2HD5.js.gz +0 -0
  152. package/dist/chunk-XIHK52SB.mjs.br +0 -0
  153. package/dist/chunk-XIHK52SB.mjs.gz +0 -0
  154. package/dist/chunk-YDEEINER.js.br +0 -0
  155. package/dist/chunk-YDEEINER.js.gz +0 -0
  156. package/dist/chunk-ZPF4L6SD.js.br +0 -0
  157. package/dist/chunk-ZPF4L6SD.js.gz +0 -0
@@ -223,6 +223,12 @@ interface PptxShapeLocks {
223
223
  * `a:spLocks` / `a:picLocks` / `a:cxnSpLocks` / `a:grpSpLocks`.
224
224
  */
225
225
  noDrilldown?: boolean;
226
+ /**
227
+ * `a:picLocks/@noCrop`: forbids cropping the picture. Declared ONLY by
228
+ * `CT_PictureLocking`, so it is written for pictures (and media authored as
229
+ * a `p:pic`) and never onto the other lock elements.
230
+ */
231
+ noCrop?: boolean;
226
232
  /**
227
233
  * Text-box flag from `p:cNvSpPr/@txBox`. Not a lock in the strict sense,
228
234
  * but it lives on the same non-visual-properties node as `a:spLocks`, so
@@ -2164,13 +2170,32 @@ interface PlaceholderTextLevelStyle {
2164
2170
  bulletSizePercent?: number;
2165
2171
  /** Bullet colour from `a:buClr` as hex string. */
2166
2172
  bulletColor?: string;
2173
+ /**
2174
+ * The colour-choice node inside `a:buClr` this level's {@link bulletColor}
2175
+ * resolved from (`a:schemeClr` / `a:sysClr` / `a:prstClr` / `a:srgbClr`,
2176
+ * transforms included), mirroring `BulletInfo.colorXml`. Re-emitted
2177
+ * verbatim on save so a themed bullet is not downgraded to a literal
2178
+ * `a:srgbClr`. Absent when the level declares no bullet colour.
2179
+ */
2180
+ bulletColorXml?: XmlObject;
2167
2181
  /** Bullet size in points from `a:buSzPts`. */
2168
2182
  bulletSizePts?: number;
2169
2183
  /** True when `a:buNone` is present at this level. */
2170
2184
  bulletNone?: boolean;
2171
2185
  marginLeft?: number;
2186
+ /** Paragraph right margin in px (from `@_marR` EMU). */
2187
+ marginRight?: number;
2172
2188
  indent?: number;
2189
+ /**
2190
+ * Paragraph alignment as a `TextStyle['align']` token (`left`, `center`,
2191
+ * `right`, `justify`, `justLow`, `dist`, `thaiDist`), never the raw OOXML
2192
+ * `@algn` value.
2193
+ */
2173
2194
  alignment?: string;
2195
+ /** Right-to-left paragraph direction (`@rtl`). */
2196
+ rtl?: boolean;
2197
+ /** Tab stops from `a:tabLst/a:tab` (positions in px). */
2198
+ tabStops?: TextStyle['tabStops'];
2174
2199
  lineSpacing?: number;
2175
2200
  lineSpacingExactPt?: number;
2176
2201
  spaceBefore?: number;
@@ -2396,6 +2421,20 @@ type PptxChartType = 'bar' | 'line' | 'pie' | 'ofPie' | 'doughnut' | 'area' | 's
2396
2421
  * ```
2397
2422
  */
2398
2423
  type PptxChartBarDirection = 'col' | 'bar';
2424
+ /**
2425
+ * 3-D bar/column shape (OOXML `ST_Shape`, `c:bar3DChart/c:shape/@val` or a
2426
+ * per-series `c:ser/c:shape` override). `coneToMax` / `pyramidToMax` scale
2427
+ * the cone/pyramid so it reaches full height at the value axis maximum,
2428
+ * appearing truncated below it; the plain `cone`/`pyramid` always come to a
2429
+ * full point at the bar's own value.
2430
+ *
2431
+ * @example
2432
+ * ```ts
2433
+ * const shape: PptxBar3DShape = "cylinder";
2434
+ * // => "cylinder", one of: "box" | "cone" | "coneToMax" | "cylinder" | "pyramid" | "pyramidToMax"
2435
+ * ```
2436
+ */
2437
+ type PptxBar3DShape = 'box' | 'cone' | 'coneToMax' | 'cylinder' | 'pyramid' | 'pyramidToMax';
2399
2438
  /**
2400
2439
  * Supported trendline regression types.
2401
2440
  *
@@ -2824,6 +2863,12 @@ interface PptxChartSeries {
2824
2863
  * series.
2825
2864
  */
2826
2865
  seriesChartType?: PptxChartType;
2866
+ /**
2867
+ * Per-series 3-D bar/column shape override (`c:ser/c:shape`), legal only
2868
+ * inside a bar3D chart-type container. Overrides {@link PptxChartData.barShape}
2869
+ * for this series alone.
2870
+ */
2871
+ shape?: PptxBar3DShape;
2827
2872
  boxWhiskerOptions?: PptxChartBoxWhiskerOptions;
2828
2873
  histogramOptions?: PptxChartHistogramOptions;
2829
2874
  waterfallOptions?: PptxChartWaterfallOptions;
@@ -3125,6 +3170,28 @@ interface PptxChartData {
3125
3170
  * default), so only horizontal bar charts need to carry the field.
3126
3171
  */
3127
3172
  barDirection?: PptxChartBarDirection;
3173
+ /**
3174
+ * 3-D bar/column shape (`c:bar3DChart/c:shape/@val`). Bar3D only; a plain
3175
+ * bar chart has no `c:shape` element. A per-series `c:ser/c:shape`
3176
+ * ({@link PptxChartSeries.shape}) overrides this for that series.
3177
+ */
3178
+ barShape?: PptxBar3DShape;
3179
+ /**
3180
+ * Radar chart drawing style (`c:radarChart/c:radarStyle/@val`). `standard`
3181
+ * draws an outline only, `marker` adds markers at each vertex (PowerPoint's
3182
+ * own default for every radar chart it authors), and `filled` paints the
3183
+ * enclosed polygon with the series fill and omits markers. Radar only.
3184
+ */
3185
+ radarStyle?: 'standard' | 'marker' | 'filled';
3186
+ /**
3187
+ * Whether a surface chart renders as a wireframe grid rather than a solid
3188
+ * coloured surface (`c:surfaceChart/c:wireframe/@val` or
3189
+ * `c:surface3DChart/c:wireframe/@val`, both modeled as chart type
3190
+ * `"surface"`). A `CT_Boolean` element: absent from the source XML
3191
+ * defaults to `true` per schema, so `undefined` here means "not present in
3192
+ * the source" and callers should treat it as `true`. Surface only.
3193
+ */
3194
+ wireframe?: boolean;
3128
3195
  /**
3129
3196
  * Scatter presentation mode (`c:scatterChart/c:scatterStyle/@val`).
3130
3197
  *
@@ -3322,6 +3389,26 @@ interface PptxBackgroundRemovalMark {
3322
3389
  * // => retains the middle of the image; the marks list stays empty
3323
3390
  * ```
3324
3391
  */
3392
+ /**
3393
+ * Snapshot of the a14 Corrections / Color panel values as they were read from
3394
+ * the file, kept on {@link PptxImageEffects.prerenderedCorrections} so a
3395
+ * renderer can tell a baked-in value from one changed in this library.
3396
+ */
3397
+ interface PptxImagePrerenderedCorrections {
3398
+ sharpenSoften?: {
3399
+ amount: number;
3400
+ };
3401
+ brightnessContrast?: {
3402
+ bright?: number;
3403
+ contrast?: number;
3404
+ };
3405
+ colorTemperature?: {
3406
+ colorTemp: number;
3407
+ };
3408
+ colorSaturation?: {
3409
+ sat: number;
3410
+ };
3411
+ }
3325
3412
  interface PptxBackgroundRemoval {
3326
3413
  /** Top edge of the retained rectangle (0..1 fraction of the image height). */
3327
3414
  top: number;
@@ -3388,18 +3475,71 @@ interface PptxImageEffects {
3388
3475
  */
3389
3476
  backgroundRemoval?: PptxBackgroundRemoval;
3390
3477
  /**
3391
- * `a14:imgLayer/@r:embed` relationship id of the PRISTINE original image
3478
+ * `a14:imgLayer/@r:embed`: relationship id of the PRISTINE original image
3392
3479
  * the baked effects were derived from (PowerPoint stores it as an HD Photo
3393
3480
  * `.wdp` part, which browsers cannot decode).
3394
3481
  */
3395
3482
  originalImageRelId?: string;
3483
+ /**
3484
+ * PowerPoint 2010+ Corrections panel "Sharpen/Soften"
3485
+ * (`a14:sharpenSoften/@amount`). Raw as the XML carries it: 1/1000ths of a
3486
+ * percent, `-100000` (fully softened) .. `100000` (fully sharpened).
3487
+ * Edit-time metadata like the artistic effects: PowerPoint bakes the result
3488
+ * into the stored bitmap.
3489
+ */
3490
+ sharpenSoften?: {
3491
+ amount: number;
3492
+ };
3493
+ /**
3494
+ * PowerPoint 2010+ Corrections panel "Brightness/Contrast"
3495
+ * (`a14:brightnessContrast/@bright`, `@contrast`). Raw 1/1000ths of a
3496
+ * percent, `-100000` .. `100000`. Distinct from the legacy `a:blip/@bright`
3497
+ * + `@contrast` pair in {@link PptxImageEffects.brightness} /
3498
+ * {@link PptxImageEffects.contrast}, which PowerPoint 2007 wrote and which
3499
+ * a renderer still applies.
3500
+ */
3501
+ brightnessContrast?: {
3502
+ bright?: number;
3503
+ contrast?: number;
3504
+ };
3505
+ /**
3506
+ * PowerPoint 2010+ Color panel "Color Tone"
3507
+ * (`a14:colorTemperature/@colorTemp`). Raw Kelvin value, `1500` .. `11500`;
3508
+ * `6500` is neutral.
3509
+ */
3510
+ colorTemperature?: {
3511
+ colorTemp: number;
3512
+ };
3513
+ /**
3514
+ * PowerPoint 2010+ Color panel "Color Saturation" (`a14:saturation/@sat`).
3515
+ * Raw 1/1000ths of a percent: `100000` is unchanged, `0` is grayscale,
3516
+ * `400000` the maximum. Named `colorSaturation` because
3517
+ * {@link PptxImageEffects.saturation} is the viewer-side -100..100 knob
3518
+ * that has no OOXML counterpart.
3519
+ */
3520
+ colorSaturation?: {
3521
+ sat: number;
3522
+ };
3523
+ /**
3524
+ * The Corrections / Color panel values ALREADY baked into the image data,
3525
+ * which a renderer must not apply a second time. The a14 counterpart of
3526
+ * {@link PptxImageEffects.artisticPrerenderedEffect}: PowerPoint writes the
3527
+ * corrected bitmap to the main `a:blip` and keeps the pristine original in
3528
+ * `a14:imgLayer` (measured on a real deck: the stored PNG is a monotone tonal
3529
+ * transform of the `.wdp` original, slope 0.7 for `contrast="-40000"`).
3530
+ *
3531
+ * Holds the VALUES rather than a boolean so that changing one of the four
3532
+ * fields in this library's inspector still renders: a field that differs
3533
+ * from its snapshot is applied, one that matches is skipped.
3534
+ */
3535
+ prerenderedCorrections?: PptxImagePrerenderedCorrections;
3396
3536
  /** Alpha modulation fixed: non-negative percentage (100 means unchanged opacity). */
3397
3537
  alphaModFix?: number;
3398
3538
  /** Original alpha modulation fixed node, including foreign attributes. */
3399
3539
  alphaModFixRawXml?: XmlObject;
3400
- /** Bi-level threshold converts to 1-bit black/white (0-100). */
3540
+ /** Bi-level threshold: converts to 1-bit black/white (0-100). */
3401
3541
  biLevel?: number;
3402
- /** Colour change swap one colour range for another (used for transparency keying). */
3542
+ /** Colour change: swap one colour range for another (used for transparency keying). */
3403
3543
  clrChange?: {
3404
3544
  clrFrom: string;
3405
3545
  clrTo: string;
@@ -3422,11 +3562,11 @@ interface PptxImageEffects {
3422
3562
  /** Original effect XML, including colour transforms and foreign attributes. */
3423
3563
  rawXml?: XmlObject;
3424
3564
  };
3425
- /** Alpha ceiling (`a:alphaCeiling`) clamps any non-zero alpha to fully opaque. Boolean flag. */
3565
+ /** Alpha ceiling (`a:alphaCeiling`): clamps any non-zero alpha to fully opaque. Boolean flag. */
3426
3566
  alphaCeiling?: boolean;
3427
3567
  /** Original alpha ceiling node, including foreign attributes. */
3428
3568
  alphaCeilingRawXml?: XmlObject;
3429
- /** Alpha floor (`a:alphaFloor`) clamps any non-fully-opaque alpha to fully transparent. Boolean flag. */
3569
+ /** Alpha floor (`a:alphaFloor`): clamps any non-fully-opaque alpha to fully transparent. Boolean flag. */
3430
3570
  alphaFloor?: boolean;
3431
3571
  /** Original alpha floor node, including foreign attributes. */
3432
3572
  alphaFloorRawXml?: XmlObject;
@@ -3450,16 +3590,16 @@ interface PptxImageEffects {
3450
3590
  */
3451
3591
  amt?: number;
3452
3592
  };
3453
- /** Alpha replace (`a:alphaRepl`) replaces alpha with the given fixed-percent value (0..100). */
3593
+ /** Alpha replace (`a:alphaRepl`): replaces alpha with the given fixed-percent value (0..100). */
3454
3594
  alphaRepl?: number;
3455
3595
  /** Original alpha replace node, including foreign attributes. */
3456
3596
  alphaReplRawXml?: XmlObject;
3457
- /** Alpha bi-level (`a:alphaBiLevel`) threshold (0..100) above which alpha becomes fully opaque. */
3597
+ /** Alpha bi-level (`a:alphaBiLevel`): threshold (0..100) above which alpha becomes fully opaque. */
3458
3598
  alphaBiLevel?: number;
3459
3599
  /** Original alpha bi-level node, including foreign attributes. */
3460
3600
  alphaBiLevelRawXml?: XmlObject;
3461
3601
  /**
3462
- * Colour replace (`a:clrRepl`) replaces all colour information in an image
3602
+ * Colour replace (`a:clrRepl`): replaces all colour information in an image
3463
3603
  * with the given solid colour. Stores the raw colour child to preserve scheme
3464
3604
  * colour references and modifiers.
3465
3605
  */
@@ -3469,24 +3609,24 @@ interface PptxImageEffects {
3469
3609
  /** Raw opaque colour XML for round-trip. */
3470
3610
  rawXml?: Record<string, unknown>;
3471
3611
  };
3472
- /** Luminance modulation (`a:lum`) bright/contrast as fixed percentages (0..100). */
3612
+ /** Luminance modulation (`a:lum`): bright/contrast as fixed percentages (0..100). */
3473
3613
  lum?: {
3474
3614
  bright?: number;
3475
3615
  contrast?: number;
3476
3616
  };
3477
- /** HSL modulation (`a:hsl`) hue (0..360 degrees), saturation/luminance (-100..100). */
3617
+ /** HSL modulation (`a:hsl`): hue (0..360 degrees), saturation/luminance (-100..100). */
3478
3618
  hsl?: {
3479
3619
  hue?: number;
3480
3620
  sat?: number;
3481
3621
  lum?: number;
3482
3622
  };
3483
- /** Image-effect tint (`a:tint` inside blip) hue (0..360), amount (-100..100). */
3623
+ /** Image-effect tint (`a:tint` inside blip): hue (0..360), amount (-100..100). */
3484
3624
  tint?: {
3485
3625
  hue?: number;
3486
3626
  amt?: number;
3487
3627
  };
3488
3628
  /**
3489
- * Fill overlay (`a:fillOverlay`) overlays a fill on top of the blip.
3629
+ * Fill overlay (`a:fillOverlay`): overlays a fill on top of the blip.
3490
3630
  * Stores blend mode and the raw inner fill XML for round-trip.
3491
3631
  */
3492
3632
  fillOverlay?: {
@@ -3528,7 +3668,7 @@ interface PptxImageEffects {
3528
3668
  background?: string;
3529
3669
  };
3530
3670
  };
3531
- /** Blur (`a:blur`) radius in EMU and grow flag. */
3671
+ /** Blur (`a:blur`): radius in EMU and grow flag. */
3532
3672
  blur?: {
3533
3673
  rad?: number;
3534
3674
  grow?: boolean;
@@ -3540,12 +3680,12 @@ interface PptxImageEffects {
3540
3680
  * @example
3541
3681
  * ```ts
3542
3682
  * const shape: PptxCropShape = "ellipse";
3543
- * // => "ellipse" one of: none | ellipse | roundedRect | triangle | diamond | pentagon | hexagon | star
3683
+ * // => "ellipse": one of: none | ellipse | roundedRect | triangle | diamond | pentagon | hexagon | star
3544
3684
  * ```
3545
3685
  */
3546
3686
  type PptxCropShape = 'none' | 'ellipse' | 'roundedRect' | 'triangle' | 'diamond' | 'pentagon' | 'hexagon' | 'star';
3547
3687
  /**
3548
- * Image content mixin present on image and picture elements.
3688
+ * Image content mixin: present on image and picture elements.
3549
3689
  *
3550
3690
  * Contains the decoded image data (base64 data URL or archive path),
3551
3691
  * alt text, crop insets, tiling settings, and image effects.
@@ -3615,7 +3755,16 @@ interface PptxImageProperties {
3615
3755
  dpi?: number;
3616
3756
  /** Image recolour/artistic effect properties. */
3617
3757
  imageEffects?: PptxImageEffects;
3618
- /** Crop-to-shape — CSS clip-path shape name. */
3758
+ /**
3759
+ * Crop-to-shape (CSS clip-path shape name).
3760
+ *
3761
+ * PowerPoint implements "Crop to Shape" by writing the picture's own
3762
+ * `a:prstGeom`, so this is a typed view over `shapeType`: on load it is
3763
+ * derived from the preset (`ellipse` -> `'ellipse'`, `roundRect` ->
3764
+ * `'roundedRect'`, `star5` -> `'star'`, ...; see
3765
+ * `utils/crop-shape-geometry`), and on save a changed value rewrites the
3766
+ * preset. `'none'` / `undefined` leaves the geometry alone.
3767
+ */
3619
3768
  cropShape?: PptxCropShape;
3620
3769
  }
3621
3770
  //#endregion
@@ -7532,7 +7681,11 @@ interface PptxSlide {
7532
7681
  */
7533
7682
  slideId?: string;
7534
7683
  sourceSlideId?: string;
7535
- /** Optional author-supplied slide name (set via `SlideBuilder.setName`). */
7684
+ /**
7685
+ * The slide name, `p:cSld/@name`: loaded from the part, written back on
7686
+ * save (an empty string clears the attribute), and settable via
7687
+ * `SlideBuilder.setName`.
7688
+ */
7536
7689
  name?: string;
7537
7690
  layoutPath?: string;
7538
7691
  layoutName?: string;
@@ -1,96 +1,96 @@
1
1
  'use strict';
2
2
 
3
- var chunkZPF4L6SD_js = require('../chunk-ZPF4L6SD.js');
4
- require('../chunk-LGVNUG3G.js');
5
- var chunkLXYDXLKZ_js = require('../chunk-LXYDXLKZ.js');
6
- var chunkT2QG2HD5_js = require('../chunk-T2QG2HD5.js');
7
- var chunkYDEEINER_js = require('../chunk-YDEEINER.js');
8
- require('../chunk-SWRY3SI5.js');
3
+ var chunkRRAL4Y7V_js = require('../chunk-RRAL4Y7V.js');
4
+ require('../chunk-Q52HT4EZ.js');
5
+ var chunkARQGUUYU_js = require('../chunk-ARQGUUYU.js');
6
+ var chunkB6UIVRFA_js = require('../chunk-B6UIVRFA.js');
7
+ var chunkFJDZ7AEE_js = require('../chunk-FJDZ7AEE.js');
8
+ require('../chunk-ALO4ZOHQ.js');
9
9
  require('../chunk-4VNS5WPM.js');
10
10
 
11
11
 
12
12
 
13
13
  Object.defineProperty(exports, "CollaborationProvider", {
14
14
  enumerable: true,
15
- get: function () { return chunkZPF4L6SD_js.CollaborationProvider; }
15
+ get: function () { return chunkRRAL4Y7V_js.CollaborationProvider; }
16
16
  });
17
17
  Object.defineProperty(exports, "CollaborationStatusIndicator", {
18
18
  enumerable: true,
19
- get: function () { return chunkZPF4L6SD_js.CollaborationStatusIndicator; }
19
+ get: function () { return chunkRRAL4Y7V_js.CollaborationStatusIndicator; }
20
20
  });
21
21
  Object.defineProperty(exports, "PowerPointViewer", {
22
22
  enumerable: true,
23
- get: function () { return chunkZPF4L6SD_js.PowerPointViewer; }
23
+ get: function () { return chunkRRAL4Y7V_js.PowerPointViewer; }
24
24
  });
25
25
  Object.defineProperty(exports, "RemoteUserCursors", {
26
26
  enumerable: true,
27
- get: function () { return chunkZPF4L6SD_js.RemoteUserCursors; }
27
+ get: function () { return chunkRRAL4Y7V_js.RemoteUserCursors; }
28
28
  });
29
29
  Object.defineProperty(exports, "UserAvatarBar", {
30
30
  enumerable: true,
31
- get: function () { return chunkZPF4L6SD_js.UserAvatarBar; }
31
+ get: function () { return chunkRRAL4Y7V_js.UserAvatarBar; }
32
32
  });
33
33
  Object.defineProperty(exports, "isAudienceTab", {
34
34
  enumerable: true,
35
- get: function () { return chunkLXYDXLKZ_js.isAudienceTab; }
35
+ get: function () { return chunkARQGUUYU_js.isAudienceTab; }
36
36
  });
37
37
  Object.defineProperty(exports, "parseAudienceNonce", {
38
38
  enumerable: true,
39
- get: function () { return chunkLXYDXLKZ_js.parseAudienceNonce; }
39
+ get: function () { return chunkARQGUUYU_js.parseAudienceNonce; }
40
40
  });
41
41
  Object.defineProperty(exports, "useCollaborativeHistory", {
42
42
  enumerable: true,
43
- get: function () { return chunkLXYDXLKZ_js.useCollaborativeHistory; }
43
+ get: function () { return chunkARQGUUYU_js.useCollaborativeHistory; }
44
44
  });
45
45
  Object.defineProperty(exports, "useCollaborativeState", {
46
46
  enumerable: true,
47
- get: function () { return chunkLXYDXLKZ_js.useCollaborativeState; }
47
+ get: function () { return chunkARQGUUYU_js.useCollaborativeState; }
48
48
  });
49
49
  Object.defineProperty(exports, "usePresenceTracking", {
50
50
  enumerable: true,
51
- get: function () { return chunkLXYDXLKZ_js.usePresenceTracking; }
51
+ get: function () { return chunkARQGUUYU_js.usePresenceTracking; }
52
52
  });
53
53
  Object.defineProperty(exports, "useThemeSwitching", {
54
54
  enumerable: true,
55
- get: function () { return chunkLXYDXLKZ_js.useThemeSwitching; }
55
+ get: function () { return chunkARQGUUYU_js.useThemeSwitching; }
56
56
  });
57
57
  Object.defineProperty(exports, "useYjsProvider", {
58
58
  enumerable: true,
59
- get: function () { return chunkLXYDXLKZ_js.useYjsProvider; }
59
+ get: function () { return chunkARQGUUYU_js.useYjsProvider; }
60
60
  });
61
61
  Object.defineProperty(exports, "getAnimationInitialStyle", {
62
62
  enumerable: true,
63
- get: function () { return chunkT2QG2HD5_js.getAnimationInitialStyle; }
63
+ get: function () { return chunkB6UIVRFA_js.getAnimationInitialStyle; }
64
64
  });
65
65
  Object.defineProperty(exports, "clearAudienceContent", {
66
66
  enumerable: true,
67
- get: function () { return chunkYDEEINER_js.clearAudienceContent; }
67
+ get: function () { return chunkFJDZ7AEE_js.clearAudienceContent; }
68
68
  });
69
69
  Object.defineProperty(exports, "forgetSessionDeck", {
70
70
  enumerable: true,
71
- get: function () { return chunkYDEEINER_js.forgetSessionDeck; }
71
+ get: function () { return chunkFJDZ7AEE_js.forgetSessionDeck; }
72
72
  });
73
73
  Object.defineProperty(exports, "getSessionTabId", {
74
74
  enumerable: true,
75
- get: function () { return chunkYDEEINER_js.getSessionTabId; }
75
+ get: function () { return chunkFJDZ7AEE_js.getSessionTabId; }
76
76
  });
77
77
  Object.defineProperty(exports, "loadAudienceContent", {
78
78
  enumerable: true,
79
- get: function () { return chunkYDEEINER_js.loadAudienceContent; }
79
+ get: function () { return chunkFJDZ7AEE_js.loadAudienceContent; }
80
80
  });
81
81
  Object.defineProperty(exports, "loadSessionDeck", {
82
82
  enumerable: true,
83
- get: function () { return chunkYDEEINER_js.loadSessionDeck; }
83
+ get: function () { return chunkFJDZ7AEE_js.loadSessionDeck; }
84
84
  });
85
85
  Object.defineProperty(exports, "rememberSessionDeck", {
86
86
  enumerable: true,
87
- get: function () { return chunkYDEEINER_js.rememberSessionDeck; }
87
+ get: function () { return chunkFJDZ7AEE_js.rememberSessionDeck; }
88
88
  });
89
89
  Object.defineProperty(exports, "restoreSessionDeck", {
90
90
  enumerable: true,
91
- get: function () { return chunkYDEEINER_js.restoreSessionDeck; }
91
+ get: function () { return chunkFJDZ7AEE_js.restoreSessionDeck; }
92
92
  });
93
93
  Object.defineProperty(exports, "storeAudienceContent", {
94
94
  enumerable: true,
95
- get: function () { return chunkYDEEINER_js.storeAudienceContent; }
95
+ get: function () { return chunkFJDZ7AEE_js.storeAudienceContent; }
96
96
  });
Binary file
Binary file
@@ -1,7 +1,7 @@
1
- export { CollaborationProvider, CollaborationStatusIndicator, PowerPointViewer, RemoteUserCursors, UserAvatarBar } from '../chunk-P3VXXUZM.mjs';
2
- import '../chunk-QOLYY7E3.mjs';
3
- export { isAudienceTab, parseAudienceNonce, useCollaborativeHistory, useCollaborativeState, usePresenceTracking, useThemeSwitching, useYjsProvider } from '../chunk-A2UAUSJM.mjs';
4
- export { getAnimationInitialStyle } from '../chunk-BPWSJLLG.mjs';
5
- export { clearAudienceContent, forgetSessionDeck, getSessionTabId, loadAudienceContent, loadSessionDeck, rememberSessionDeck, restoreSessionDeck, storeAudienceContent } from '../chunk-XIHK52SB.mjs';
6
- import '../chunk-ARJE3V6V.mjs';
1
+ export { CollaborationProvider, CollaborationStatusIndicator, PowerPointViewer, RemoteUserCursors, UserAvatarBar } from '../chunk-PPNXPEEZ.mjs';
2
+ import '../chunk-RX6FE24O.mjs';
3
+ export { isAudienceTab, parseAudienceNonce, useCollaborativeHistory, useCollaborativeState, usePresenceTracking, useThemeSwitching, useYjsProvider } from '../chunk-UHR7EYFM.mjs';
4
+ export { getAnimationInitialStyle } from '../chunk-FMEEIS6L.mjs';
5
+ export { clearAudienceContent, forgetSessionDeck, getSessionTabId, loadAudienceContent, loadSessionDeck, rememberSessionDeck, restoreSessionDeck, storeAudienceContent } from '../chunk-G7UBIKAG.mjs';
6
+ import '../chunk-RHSA5BW5.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": "3.1.5",
3
+ "version": "3.2.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
@@ -1 +0,0 @@
1
- i ��Nu�HI�\�i�9od��(3�T@Џ�_v��n+el `ѫP��N�WI!P93�p�/M�~�!�@�c���e��mn�j�~=���j#�o�ݗ�˖P��+�|�]�>ym�[g�D��E�hqh��w=�G����Ubc5��V�$s�_�տ&�]�fo}mnIq��t�֔cG�o"�TZz��KJW�?W
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
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file