pptx-kit 0.2.0 → 0.4.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,74 @@
1
1
  # pptx-kit
2
2
 
3
+ ## 0.4.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 9809441: Chart label fonts, table cell merging, and aspect-ratio-preserving image placement
8
+
9
+ **`ChartTextStyle.font`** — chart titles, axis titles, axis tick labels,
10
+ legends, and data labels now accept a font face
11
+ (`titleStyle: { font: 'Yu Gothic' }`). The builder writes both
12
+ `<a:latin typeface>` and `<a:ea typeface>` so CJK families render
13
+ correctly in PowerPoint, and `getSlideCharts` / `getShapeChartSpec` read
14
+ the face back for round-trips. Works through both `addSlideChart` and
15
+ `setChartSpec`. (The SVG preview keeps its fixed substitution font set —
16
+ authored chart faces affect the emitted PPTX, not the preview raster.)
17
+
18
+ **`mergeTableCells(table, { row, col, rowSpan, colSpan })`** — the write
19
+ counterpart to `getTableCellSpan`. Merges a rectangular block into its
20
+ top-left anchor, emitting `gridSpan` / `rowSpan` on the anchor and
21
+ `hMerge` / `vMerge` on the covered cells per ECMA-376 §21.1.3.18.
22
+ Out-of-range blocks, 1×1 blocks, and overlaps with existing merges are
23
+ rejected with descriptive errors before anything is mutated.
24
+
25
+ **`fit: 'contain'` on `addSlideImage` / `setShapeImage`** — preserve the
26
+ image's aspect ratio instead of stretching to the target box. `'contain'`
27
+ inscribes and centers the image (natural size read from the PNG / JPEG
28
+ header); other formats fall back to the default `'fill'` (the existing
29
+ stretch behavior) rather than erroring. On `setShapeImage`,
30
+ `fit: 'contain'` re-fits the replacement image inside the picture's
31
+ current box.
32
+
33
+ ## 0.3.0
34
+
35
+ ### Minor Changes
36
+
37
+ - 3459aa5: `createPresentation()` now returns an immediately-authorable deck
38
+
39
+ Previously `createPresentation()` returned an OPC package with only the OPC
40
+ defaults — no slide master, layouts, theme, or slide size — so
41
+ `getSlideLayouts()` came back empty and `addSlide({ layout })` was
42
+ impossible. From-scratch authoring (a headline feature in the README) did
43
+ not actually work without loading a template file.
44
+
45
+ `createPresentation()` now ships a slide master, the Office theme, and three
46
+ layouts — `Blank`, `Title Slide`, and `Title and Content` — so you can go
47
+ straight to `addSlide` / `addTitleSlide` / `addContentSlide` and `savePresentation`.
48
+ Every emitted part is validated against the ECMA-376 XSDs in CI. The slide
49
+ size defaults to 16:9 and is selectable: `createPresentation({ size: '4:3' })`.
50
+
51
+ Also in this release (input-validation hardening at the authoring boundary):
52
+
53
+ - `addSlideChart` now rejects a series `color` (and `pointColors` /
54
+ `trendline.color` / plot- and chart-area fills / axis & gridline colors)
55
+ that isn't an sRGB hex (`#RRGGBB` or `RRGGBB`) with a clear error, instead
56
+ of silently emitting an invalid `<a:srgbClr val="…"/>` that PowerPoint
57
+ dropped or repaired. Bare `RRGGBB` (no `#`) is accepted and normalized;
58
+ scheme tokens like `accent1` are correctly rejected, since charts emit
59
+ `srgbClr`.
60
+ - `addSlideTable` with empty `rows: []` (or a row with no cells) now throws
61
+ an actionable `addSlideTable: …` error at the boundary rather than
62
+ producing a grid-less `<a:tbl>` that triggers PowerPoint's repair dialog.
63
+ (The error message previously named the old internal `addTable` path.)
64
+ - `findSlideLayout`'s case-sensitive, locale-dependent name matching is now
65
+ documented in its JSDoc and the README, pointing readers to the
66
+ locale-stable `findSlideLayoutByType` and to `RegExp`/`i` for
67
+ case-insensitive name lookups. No behavior change.
68
+
69
+ No breaking changes. `createPresentation()` keeps its zero-argument call
70
+ signature; the new `{ size }` options object is optional.
71
+
3
72
  ## 0.2.0
4
73
 
5
74
  ### Minor Changes
package/README.md CHANGED
@@ -135,6 +135,42 @@ replaceTokensInPresentation(pres, { name: 'Alice', event: 'Re:Invent', date: '20
135
135
  const out = await savePresentation(pres);
136
136
  ```
137
137
 
138
+ ### Build a deck from scratch (no template file)
139
+
140
+ `createPresentation()` returns an immediately-authorable deck — a slide
141
+ master, the Office theme, and three layouts (`Blank`, `Title Slide`,
142
+ `Title and Content`) — with no slides yet. No `.pptx` template needed.
143
+
144
+ ```ts
145
+ import {
146
+ addContentSlide,
147
+ addTitleSlide,
148
+ createPresentation,
149
+ findSlideLayoutByType,
150
+ addSlide,
151
+ findSlidePlaceholder,
152
+ savePresentation,
153
+ setShapeText,
154
+ } from 'pptx-kit';
155
+
156
+ // Defaults to 16:9; pass { size: '4:3' } for the classic ratio.
157
+ const pres = createPresentation();
158
+
159
+ // Sugar helpers pick the right layout by its locale-stable type token.
160
+ addTitleSlide(pres, 'Q3 Business Review');
161
+ addContentSlide(pres, { title: 'Agenda', body: 'Highlights and risks' });
162
+
163
+ // Or bind a layout explicitly. Prefer findSlideLayoutByType — it matches
164
+ // the `type` token (`'title'`, `'obj'`, `'blank'`), which is stable
165
+ // across PowerPoint UI languages. findSlideLayout(pres, 'Blank') matches
166
+ // the user-visible name, which is case-sensitive and localized.
167
+ const titleLayout = findSlideLayoutByType(pres, 'title')!;
168
+ const slide = addSlide(pres, { layout: titleLayout });
169
+ setShapeText(findSlidePlaceholder(slide, 'ctrTitle')!, 'Authored with pptx-kit');
170
+
171
+ const out: Uint8Array = await savePresentation(pres);
172
+ ```
173
+
138
174
  ### Build a deck from a blank template
139
175
 
140
176
  ```ts
@@ -292,40 +328,40 @@ for (const i of issues) console.error(i.severity, i.message);
292
328
  Each row lists the free-function entry points. Read/write pairs are
293
329
  shown together.
294
330
 
295
- | Capability | API |
296
- | -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
297
- | Load / save | `loadPresentation(input)`, `savePresentation(pres)`, `loadPresentationFile(path)` (node), `savePresentationToFile(pres, path)` (node) |
298
- | Create | `createPresentation()` |
299
- | Slide CRUD | `getSlides`, `getSlideAt`, `getSlideIndex`, `addSlide`, `removeSlide`, `moveSlide`, `duplicateSlide`, `clearSlideShapes` |
300
- | Slide layout | `getSlideLayouts`, `findSlideLayout`, `getSlideLayout(slide)`, `setSlideLayout(slide, layout)`, `getSlideLayoutName`, `getSlideLayoutType` |
301
- | Slide metadata | `getSlideTitle` / `setSlideTitle`, `getSlideSize` / `setSlideSize`, `isSlideHidden` / `setSlideHidden`, `getSlideText` |
302
- | Slide sections | `getSlideSections`, `setSlideSections` (p14 sectionLst) |
303
- | Placeholders | `findSlidePlaceholder(slide, 'title' \| 'body' \| ...)` |
304
- | Token / text replace | `replaceTokensInPresentation`, `replaceTokensInSlide`, `replaceTextInPresentation`, `replaceTextInSlide` |
305
- | Background | `getSlideBackground` / `setSlideBackground` / `clearSlideBackground` |
306
- | Notes | `getSlideNotes` / `setSlideNotes` |
307
- | Transitions | `getSlideTransition` / `setSlideTransition` / `clearSlideTransition` |
308
- | Animations | `getShapeAnimation` / `setShapeAnimation` (`fadeIn` / `fadeOut` / `appear` / `disappear`), `clearSlideAnimations` |
309
- | Comments | `addSlideComment`, `getSlideComments`, `removeSlideComment`, `getCommentAuthors`, `getCommentText` / `getCommentAuthor` / `getCommentPosition` |
310
- | Shape authoring | `addSlideTextBox`, `addSlideShape`, `addSlideLine`, `addSlideTable`, `addSlideImage`, `addSlideChart` |
311
- | Shape lookup | `findShapeByName`, `findShapesByName`, `findShapesByKind`, `findShapeInPresentation`, `getAllShapes`, `getSlideShapes` |
312
- | Shape text | `setShapeText`, `setShapeBullets`, `setShapeAlignment`, `setShapeTextFormat`, `setShapeHyperlink` / `getShapeHyperlink` |
313
- | Per-paragraph | `setParagraphAlignment` / `getParagraphAlignment`, `setParagraphLevel` / `getParagraphLevel`, `setParagraphBullet` / `getParagraphBullet` |
314
- | Per-run text | `setShapeRunText` / `getShapeRunText`, `setShapeRunFormat` / `getShapeRunFormat`, `getShapeParagraphCount`, `getShapeRunCount` |
315
- | Text frame | `setShapeTextAnchor` / `getShapeTextAnchor`, `setShapeTextMargins` / `getShapeTextMargins` |
316
- | Fill | `setShapeFill` / `getShapeFill`, `setShapeGradientFill`, `setShapePatternFill`, `setShapeImageFill`, `setShapeNoFill`, `clearShapeFill` |
317
- | Stroke | `setShapeStroke` / `getShapeStroke`, `setShapeStrokeDash` / `getShapeStrokeDash`, `setShapeStrokeArrow` / `getShapeStrokeArrow`, `…NoStroke` |
318
- | Effects | `setShapeShadow` / `setShapeGlow` / `getShapeEffect`, `clearShapeEffects` |
319
- | Geometry | `setShapePosition`, `setShapeSize`, `setShapeRotation`, `setShapeFlip`, `setShapeBounds` / `getShapeBounds` |
320
- | Pictures | `setShapeImage`, `setShapeImageCrop` / `getShapeImageCrop`, `setShapeImageOpacity` / `getShapeImageOpacity`, `setShapeImageBrightness`, `…Contrast` |
321
- | Z-order | `bringShapeToFront`, `sendShapeToBack`, `bringShapeForward`, `sendShapeBackward` |
322
- | Click actions | `setShapeClickAction` / `getShapeClickAction` (`url` / `slide` / `nextSlide` / `prevSlide` / `firstSlide` / `lastSlide`) |
323
- | Shape removal | `removeShape` |
324
- | Tables | `getTableCell` / `getTableCells`, `setTableCellText` / `getTableCellText`, `setTableCellFill` / `clearTableCellFill`, `setTableCellAlignment`, `setTableCellTextFormat`, `insertTableRow` / `removeTableRow`, `insertTableColumn` / `removeTableColumn` |
325
- | Charts | `addSlideChart`, `getSlideCharts`, `setChartSpec` — kinds: `bar`, `column`, `line`, `pie`, `doughnut`, `area` |
326
- | Theme | `getPresentationTheme` — color scheme (`accent1`..`accent6`, `dark1`, `light1`, `hyperlink`, ...) |
327
- | Validation | `validatePresentation(pres)` — invariant checks, returns `ValidationIssue[]` |
328
- | Units | `inches(n)`, `cm(n)`, `mm(n)`, `pt(n)`, `emu(n)` — return branded `Emu` numbers |
331
+ | Capability | API |
332
+ | -------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
333
+ | Load / save | `loadPresentation(input)`, `savePresentation(pres)`, `loadPresentationFile(path)` (node), `savePresentationToFile(pres, path)` (node) |
334
+ | Create | `createPresentation({ size?: '16:9' \| '4:3' })` — blank deck with master + theme + `Blank` / `Title Slide` / `Title and Content` layouts |
335
+ | Slide CRUD | `getSlides`, `getSlideAt`, `getSlideIndex`, `addSlide`, `removeSlide`, `moveSlide`, `duplicateSlide`, `clearSlideShapes` |
336
+ | Slide layout | `getSlideLayouts`, `findSlideLayout` (by name — case-sensitive, exact; pass a `RegExp` for case-insensitive), `findSlideLayoutByType` (by locale-stable `type` token — preferred), `getSlideLayout(slide)`, `setSlideLayout(slide, layout)`, `getSlideLayoutName`, `getSlideLayoutType` |
337
+ | Slide metadata | `getSlideTitle` / `setSlideTitle`, `getSlideSize` / `setSlideSize`, `isSlideHidden` / `setSlideHidden`, `getSlideText` |
338
+ | Slide sections | `getSlideSections`, `setSlideSections` (p14 sectionLst) |
339
+ | Placeholders | `findSlidePlaceholder(slide, 'title' \| 'body' \| ...)` |
340
+ | Token / text replace | `replaceTokensInPresentation`, `replaceTokensInSlide`, `replaceTextInPresentation`, `replaceTextInSlide` |
341
+ | Background | `getSlideBackground` / `setSlideBackground` / `clearSlideBackground` |
342
+ | Notes | `getSlideNotes` / `setSlideNotes` |
343
+ | Transitions | `getSlideTransition` / `setSlideTransition` / `clearSlideTransition` |
344
+ | Animations | `getShapeAnimation` / `setShapeAnimation` (`fadeIn` / `fadeOut` / `appear` / `disappear`), `clearSlideAnimations` |
345
+ | Comments | `addSlideComment`, `getSlideComments`, `removeSlideComment`, `getCommentAuthors`, `getCommentText` / `getCommentAuthor` / `getCommentPosition` |
346
+ | Shape authoring | `addSlideTextBox`, `addSlideShape`, `addSlideLine`, `addSlideTable`, `addSlideImage`, `addSlideChart` |
347
+ | Shape lookup | `findShapeByName`, `findShapesByName`, `findShapesByKind`, `findShapeInPresentation`, `getAllShapes`, `getSlideShapes` |
348
+ | Shape text | `setShapeText`, `setShapeBullets`, `setShapeAlignment`, `setShapeTextFormat`, `setShapeHyperlink` / `getShapeHyperlink` |
349
+ | Per-paragraph | `setParagraphAlignment` / `getParagraphAlignment`, `setParagraphLevel` / `getParagraphLevel`, `setParagraphBullet` / `getParagraphBullet` |
350
+ | Per-run text | `setShapeRunText` / `getShapeRunText`, `setShapeRunFormat` / `getShapeRunFormat`, `getShapeParagraphCount`, `getShapeRunCount` |
351
+ | Text frame | `setShapeTextAnchor` / `getShapeTextAnchor`, `setShapeTextMargins` / `getShapeTextMargins` |
352
+ | Fill | `setShapeFill` / `getShapeFill`, `setShapeGradientFill`, `setShapePatternFill`, `setShapeImageFill`, `setShapeNoFill`, `clearShapeFill` |
353
+ | Stroke | `setShapeStroke` / `getShapeStroke`, `setShapeStrokeDash` / `getShapeStrokeDash`, `setShapeStrokeArrow` / `getShapeStrokeArrow`, `…NoStroke` |
354
+ | Effects | `setShapeShadow` / `setShapeGlow` / `getShapeEffect`, `clearShapeEffects` |
355
+ | Geometry | `setShapePosition`, `setShapeSize`, `setShapeRotation`, `setShapeFlip`, `setShapeBounds` / `getShapeBounds` |
356
+ | Pictures | `setShapeImage`, `setShapeImageCrop` / `getShapeImageCrop`, `setShapeImageOpacity` / `getShapeImageOpacity`, `setShapeImageBrightness`, `…Contrast` |
357
+ | Z-order | `bringShapeToFront`, `sendShapeToBack`, `bringShapeForward`, `sendShapeBackward` |
358
+ | Click actions | `setShapeClickAction` / `getShapeClickAction` (`url` / `slide` / `nextSlide` / `prevSlide` / `firstSlide` / `lastSlide`) |
359
+ | Shape removal | `removeShape` |
360
+ | Tables | `getTableCell` / `getTableCells`, `setTableCellText` / `getTableCellText`, `setTableCellFill` / `clearTableCellFill`, `setTableCellAlignment`, `setTableCellTextFormat`, `insertTableRow` / `removeTableRow`, `insertTableColumn` / `removeTableColumn` |
361
+ | Charts | `addSlideChart`, `getSlideCharts`, `setChartSpec` — kinds: `bar`, `column`, `line`, `pie`, `doughnut`, `area` |
362
+ | Theme | `getPresentationTheme` — color scheme (`accent1`..`accent6`, `dark1`, `light1`, `hyperlink`, ...) |
363
+ | Validation | `validatePresentation(pres)` — invariant checks, returns `ValidationIssue[]` |
364
+ | Units | `inches(n)`, `cm(n)`, `mm(n)`, `pt(n)`, `emu(n)` — return branded `Emu` numbers |
329
365
 
330
366
  ## Compatibility
331
367
 
package/dist/index.d.ts CHANGED
@@ -375,11 +375,25 @@ type PresentationInput = Uint8Array | ArrayBuffer | Blob;
375
375
  * Loads an existing `.pptx` and returns a `PresentationData` value.
376
376
  */
377
377
  declare const loadPresentation: (input: PresentationInput) => Promise<PresentationData>;
378
+ /** Slide-canvas aspect ratio for {@link createPresentation}. */
379
+ type PresentationSize = '16:9' | '4:3';
378
380
  /**
379
- * Creates a fresh, empty `PresentationData`. The result is NOT yet a
380
- * valid PPTX — it carries only the OPC defaults.
381
+ * Creates a fresh, immediately-authorable `PresentationData`.
382
+ *
383
+ * The returned deck carries a slide master, the Office theme, and three
384
+ * slide layouts — `'Blank'`, `'Title Slide'`, and `'Title and Content'` —
385
+ * but no slides yet. Add one with {@link addSlide} (or the
386
+ * `addBlankSlide` / `addTitleSlide` / `addContentSlide` helpers), then
387
+ * `savePresentation` to emit a `.pptx` that opens cleanly in PowerPoint,
388
+ * Keynote, Google Slides, and LibreOffice.
389
+ *
390
+ * @param options.size Slide aspect ratio. `'16:9'` (12192000×6858000 EMU,
391
+ * PowerPoint's modern default) or `'4:3'` (9144000×6858000). Defaults to
392
+ * `'16:9'`.
381
393
  */
382
- declare const createPresentation: () => PresentationData;
394
+ declare const createPresentation: (options?: {
395
+ size?: PresentationSize;
396
+ }) => PresentationData;
383
397
  /**
384
398
  * Serializes a presentation back to PPTX bytes.
385
399
  */
@@ -1833,14 +1847,29 @@ declare const getCommentPosition: (comment: SlideCommentData) => CommentPosition
1833
1847
  */
1834
1848
  declare const getCommentSlide: (comment: SlideCommentData) => SlideData;
1835
1849
 
1850
+ /**
1851
+ * How an image fills its target box:
1852
+ *
1853
+ * - `'fill'` — stretch to the exact `w × h`, ignoring aspect ratio
1854
+ * (the historical behavior, and the default for back-compat).
1855
+ * - `'contain'` — scale to fit inside the box preserving aspect ratio,
1856
+ * then center the result. The box's empty margins stay transparent.
1857
+ */
1858
+ type ImageFit = 'fill' | 'contain';
1836
1859
  /**
1837
1860
  * Replaces a picture's media with `bytes`. Same-format replacements
1838
1861
  * write in place; cross-format replacements allocate a new media part
1839
- * and repoint the rel. The original geometry — crop, sizing, transform —
1840
- * is preserved.
1862
+ * and repoint the rel. The geometry — crop, transform — is preserved.
1863
+ *
1864
+ * Pass `options.fit: 'contain'` to re-fit the picture's extent to the
1865
+ * replacement image's aspect ratio, inscribed and centered in the shape's
1866
+ * current `(off, ext)` box. The default `'fill'` leaves the extent as-is
1867
+ * (the historical behavior). When the new image's natural size can't be
1868
+ * measured (non-PNG/JPEG), `'contain'` is a no-op rather than an error.
1841
1869
  */
1842
1870
  declare const setShapeImage: (shape: SlideShapeData, bytes: Uint8Array, options?: {
1843
1871
  format?: ImageFormat;
1872
+ fit?: ImageFit;
1844
1873
  }) => void;
1845
1874
 
1846
1875
  /** What clicking the shape should do. */
@@ -2139,6 +2168,14 @@ type ChartGrouping = 'clustered' | 'stacked' | 'percentStacked' | 'standard';
2139
2168
  * renderer's default for this label position."
2140
2169
  */
2141
2170
  interface ChartTextStyle {
2171
+ /**
2172
+ * Font face applied to both the latin and east-asian typeface slots —
2173
+ * `<a:rPr><a:latin typeface="…"/><a:ea typeface="…"/>`. East-asian is
2174
+ * set alongside latin so a Japanese / CJK family (e.g. `'Yu Gothic'`)
2175
+ * renders the labels instead of the renderer's latin-only fallback.
2176
+ * Mirrors the latin/ea pairing PowerPoint emits for CJK chart fonts.
2177
+ */
2178
+ readonly font?: string;
2142
2179
  /** Font size in points. From `<a:rPr sz="N"/>` where N is in 100ths of a pt. */
2143
2180
  readonly sizePt?: number;
2144
2181
  /** Bold flag from `<a:rPr b="1"/>`. */
@@ -2816,6 +2853,34 @@ declare const getTableCellSpan: (cell: TableCellData) => {
2816
2853
  hMerge: boolean;
2817
2854
  vMerge: boolean;
2818
2855
  };
2856
+ /**
2857
+ * Merges a rectangular block of table cells into a single visual cell.
2858
+ *
2859
+ * The block's top-left cell `(row, col)` becomes the anchor and carries
2860
+ * `gridSpan` (= `colSpan`) / `rowSpan`; the cells it covers are marked
2861
+ * `hMerge` / `vMerge` per ECMA-376 §21.1.3.18 (`CT_TableCell`) so the
2862
+ * grid stays rectangular while PowerPoint paints only the anchor. This
2863
+ * is the write counterpart to {@link getTableCellSpan}.
2864
+ *
2865
+ * Constraints, enforced loudly (these are authoring-boundary inputs):
2866
+ *
2867
+ * - `rowSpan` / `colSpan` must be ≥ 1, and at least one must be > 1
2868
+ * (a 1×1 "merge" is a no-op the caller didn't mean).
2869
+ * - The block must lie fully inside the table grid.
2870
+ * - No cell in the block may already participate in another merge —
2871
+ * overlapping merges corrupt the grid and trip PowerPoint's repair
2872
+ * dialog. Split the existing merge first.
2873
+ *
2874
+ * The anchor cell's text is preserved; covered cells keep their own
2875
+ * `<a:txBody>` in the XML (PowerPoint ignores it while the merge marker
2876
+ * is set) so the operation stays losslessly reversible.
2877
+ */
2878
+ declare const mergeTableCells: (table: SlideShapeData, block: {
2879
+ readonly row: number;
2880
+ readonly col: number;
2881
+ readonly rowSpan: number;
2882
+ readonly colSpan: number;
2883
+ }) => void;
2819
2884
  /**
2820
2885
  * One side of a cell's border, as read from `<a:tcPr><a:ln{L|R|T|B}>`.
2821
2886
  * `widthEmu` is the line width in EMU; `color` is `#RRGGBB` or `null`
@@ -3931,6 +3996,13 @@ declare const addSlideTable: (slide: SlideData, opts: {
3931
3996
  * rel, and appends a `<p:pic>` element to the slide's `<p:spTree>`.
3932
3997
  *
3933
3998
  * Format is detected from magic bytes; pass `opts.format` to override.
3999
+ *
4000
+ * `opts.fit` controls how the image fills the `w × h` box. `'fill'` (the
4001
+ * default) stretches to the exact box, ignoring aspect ratio. `'contain'`
4002
+ * scales the image to fit inside the box preserving its aspect ratio and
4003
+ * centers it — measured from the PNG / JPEG header. For other formats (or
4004
+ * an unreadable header) `'contain'` falls back to `'fill'` rather than
4005
+ * erroring, since the natural size is unknown.
3934
4006
  */
3935
4007
  declare const addSlideImage: (slide: SlideData, bytes: Uint8Array, opts: {
3936
4008
  x: Emu;
@@ -3939,6 +4011,7 @@ declare const addSlideImage: (slide: SlideData, bytes: Uint8Array, opts: {
3939
4011
  h: Emu;
3940
4012
  format?: ImageFormat;
3941
4013
  name?: string;
4014
+ fit?: ImageFit;
3942
4015
  }) => SlideShapeData;
3943
4016
 
3944
4017
  /** PowerPoint's user-visible layout name. */
@@ -3990,6 +4063,15 @@ declare const getSlideLayoutPlaceholders: (layout: SlideLayoutData) => ReadonlyA
3990
4063
  * or `null` if none does. Accepts a literal string (exact equality)
3991
4064
  * or a `RegExp` for pattern matches — useful when template providers
3992
4065
  * suffix versions onto names (`'Title and Content v2'`).
4066
+ *
4067
+ * String matching is **case-sensitive** and exact: `findSlideLayout(pres,
4068
+ * 'Blank')` matches a layout named `"Blank"` but not `"blank"`. The
4069
+ * user-visible name is also locale-dependent (a deck authored in a
4070
+ * non-English PowerPoint localizes `"Blank"`), so prefer
4071
+ * {@link findSlideLayoutByType} — which matches the locale-stable
4072
+ * `<p:sldLayout type="…">` token (`'blank'`, `'title'`, `'obj'`, …) —
4073
+ * when you need a robust lookup. Pass a `RegExp` with the `i` flag here
4074
+ * for a case-insensitive name match.
3993
4075
  */
3994
4076
  declare const findSlideLayout: (pres: PresentationData, name: string | RegExp) => SlideLayoutData | null;
3995
4077
  /**
@@ -5092,4 +5174,4 @@ declare const SLIDE_SIZE_16_10: SlideSize;
5092
5174
 
5093
5175
  declare const VERSION: string;
5094
5176
 
5095
- export { type AllShapesEntry, type AnimationEffect, type AnimationOptions, type ArrowOptions, type BulletStyle, type ChartAxisScaling, type ChartDataLabelPosition, type ChartDataLabels, type ChartGrouping, type ChartKind, type ChartSeries, type ChartSpec, type ChartTextStyle, type ChartTrendline, type CommentAuthor, type CommentPosition, type CoreProperties, type CustomGeometry, type Emu, type ExtendedProperties, type GeomCommand, type GeomPath, type GeomPoint, type GlowOptions, type GradientFillOptions, type GradientStop, type ImageCrop, type ImageFormat, type IssueSeverity, type LineDash, type LineEndSize, type LineEndType, type MediaPart, type PackagePartInfo, type ParagraphAlignment, type ParagraphProperties, type PathFillMode, type PatternFillOptions, type PatternPreset, type PresentationChartEntry, type PresentationCommentEntry, type PresentationData, type PresentationFonts, type PresentationHyperlinkEntry, type PresentationImageEntry, type PresentationInput, type PresentationNotesEntry, type PresentationSummary, type PresentationTableEntry, type PresentationTheme, type PresentationThumbnail, type PresetShape, SLIDE_SIZE_16_10, SLIDE_SIZE_16_9, SLIDE_SIZE_4_3, type ShadowOptions, type ShapeBounds, type ShapeClickAction, type ShapeEffect, type ShapeEffectAny, type ShapeFill, type ShapeParagraphElement, type ShapeStroke, type SlideBackground, type SlideChartData, type SlideComment, type SlideCommentData, type SlideData, type SlideInfo, type SlideLayoutBackgroundShape, type SlideLayoutData, type SlideLayoutPlaceholder, type SlideOutlineEntry, type SlideSection, type SlideShapeData, type SlideSize, type TableCellBorder, type TableCellBorders, type TableCellData, type TableCellParagraph, type TextAnchor, type TextAutoFit, type TextFormat, type TextWrap, type TransitionEffect, type TransitionOptions, VERSION, type ValidationIssue, _internalPackageOf, addBlankSlide, addContentSlide, addSectionHeaderSlide, addSlide, addSlideAt, addSlideChart, addSlideComment, addSlideImage, addSlideLine, addSlideShape, addSlideTable, addSlideTextBox, addTitleSlide, appendShapeText, appendSlideNotes, bringShapeForward, bringShapeToFront, centerShapeOnSlide, clearAllHyperlinks, clearAllSlideComments, clearAllSlideNotes, clearShapeEffects, clearShapeFill, clearShapeStroke, clearSlideAnimations, clearSlideBackground, clearSlideComments, clearSlideHyperlinks, clearSlideShapes, clearSlideTransition, clearTableCellFill, cm, compactPackage, copyShape, createPresentation, duplicateSlide, duplicateSlideAt, emu, findChartByKind, findChartsBySeriesName, findChartsWithDataLabels, findChartsWithTrendlines, findCommentAuthorByName, findCommentsAfter, findCommentsBefore, findCommentsByAuthor, findCommentsByText, findEmptyPlaceholders, findFlippedShapes, findLayoutsWithPlaceholderType, findOverlappingShapePairs, findShapeById, findShapeByName, findShapeByText, findShapeInPresentation, findShapesAtPoint, findShapesByEffect, findShapesByHyperlink, findShapesByKind, findShapesByName, findShapesByPreset, findShapesByText, findShapesInRect, findShapesOutsideCanvas, findShapesWithAnimation, findShapesWithHyperlinks, findSlideByPartName, findSlideByText, findSlideByTitle, findSlideLayout, findSlideLayoutByPartName, findSlideLayoutByType, findSlidePlaceholder, findSlidePlaceholderByIdx, findSlidePlaceholders, findSlidesByHyperlink, findSlidesByLayoutName, findSlidesByLayoutPartName, findSlidesByLayoutType, findSlidesByNotes, findSlidesByText, findSlidesWithChartKind, findSlidesWithChartTrendlines, findSlidesWithCommentsByAuthor, getAllCharts, getAllComments, getAllHyperlinks, getAllImages, getAllNotes, getAllShapes, getAllTables, getCommentAuthor, getCommentAuthors, getCommentDate, getCommentPosition, getCommentSlide, getCommentText, getCommentsSortedByDate, getCoreProperties, getDistinctHyperlinkUrls, getEmptySlides, getExtendedProperties, getGroupChildren, getGroupTransform, getHiddenSlides, getMaxShapeId, getMaxShapeIdInPresentation, getMediaParts, getOrphanMediaPartNames, getOutlineText, getPackageSize, getParagraphAlignment, getParagraphBullet, getParagraphBulletImageBytes, getParagraphBulletStyle, getParagraphIndent, getParagraphLevel, getParagraphLineSpacing, getParagraphPropertiesEffective, getParagraphSpacing, getPresentationChartCountsBySlide, getPresentationChartKindCounts, getPresentationCommentCountsByAuthor, getPresentationCommentCountsBySlide, getPresentationCommenters, getPresentationCreated, getPresentationFonts, getPresentationHyperlinkCountsBySlide, getPresentationImageCountsBySlide, getPresentationModified, getPresentationNotesLength, getPresentationNotesLengthsBySlide, getPresentationNotesText, getPresentationShapeCountsBySlide, getPresentationSummary, getPresentationTableCountsBySlide, getPresentationText, getPresentationTextLength, getPresentationTextLengthsBySlide, getPresentationTheme, getShapeAdjustValues, getShapeAltTitle, getShapeAnimation, getShapeAt, getShapeBodyPrEffective, getShapeBounds, getShapeBoundsResolved, getShapeCenter, getShapeChartCategories, getShapeChartKind, getShapeChartSeriesNames, getShapeChartSeriesValues, getShapeChartSpec, getShapeClickAction, getShapeCustomGeometry, getShapeDescription, getShapeEffect, getShapeEffects, getShapeEffectsEffective, getShapeFill, getShapeFillColor, getShapeFillColorResolved, getShapeFillEffective, getShapeFlip, getShapeGradientFill, getShapeGradientFillEffective, getShapeHyperlink, getShapeHyperlinkTooltip, getShapeId, getShapeImageBiLevelThreshold, getShapeImageBrightness, getShapeImageBytes, getShapeImageContrast, getShapeImageCrop, getShapeImageDuotone, getShapeImageFillBytes, getShapeImageFormat, getShapeImageLinkUrl, getShapeImageOpacity, getShapeImagePartName, getShapeIndex, getShapeKind, getShapeName, getShapeParagraphCount, getShapeParagraphElements, getShapePatternFill, getShapePlaceholderIdx, getShapePlaceholderType, getShapePosition, getShapePreset, getShapeRotation, getShapeRunClickAction, getShapeRunCount, getShapeRunFormat, getShapeRunFormatEffective, getShapeRunHyperlink, getShapeRunHyperlinkTooltip, getShapeRunText, getShapeSize, getShapeSlide, getShapeStroke, getShapeStrokeArrow, getShapeStrokeCap, getShapeStrokeColor, getShapeStrokeColorResolved, getShapeStrokeCompound, getShapeStrokeDash, getShapeStrokeEffective, getShapeStrokeJoin, getShapeStrokeWidth, getShapeText, getShapeTextAnchor, getShapeTextAutoFit, getShapeTextAutoFitParams, getShapeTextBodyRotationDeg, getShapeTextColumns, getShapeTextDirection, getShapeTextMargins, getShapeTextWrap, getShapeXmlString, getShapeZIndex, getShapesBounds, getSlideAt, getSlideBackground, getSlideBackgroundGradientFill, getSlideBackgroundImageBytes, getSlideBackgroundPatternFill, getSlideBody, getSlideCharts, getSlideColorMapOverride, getSlideCommentAuthors, getSlideComments, getSlideCount, getSlideIndex, getSlideInfo, getSlideLayout, getSlideLayoutBackground, getSlideLayoutBackgroundGradientFill, getSlideLayoutBackgroundImageBytes, getSlideLayoutBackgroundPatternFill, getSlideLayoutBackgroundShapes, getSlideLayoutCount, getSlideLayoutName, getSlideLayoutPartName, getSlideLayoutPlaceholders, getSlideLayoutShapes, getSlideLayoutType, getSlideLayoutUsageCounts, getSlideLayoutUsageCountsByType, getSlideLayouts, getSlideMasterBackground, getSlideMasterBackgroundGradientFill, getSlideMasterBackgroundImageBytes, getSlideMasterBackgroundPatternFill, getSlideMasterCount, getSlideMasterPartName, getSlideMasterPartNames, getSlideMasterShapes, getSlideMasterUsageCounts, getSlideMediaPartNames, getSlideNotes, getSlideNotesLength, getSlideOutline, getSlidePartName, getSlideSections, getSlideShapes, getSlideSize, getSlideTables, getSlideText, getSlideTextLength, getSlideTitle, getSlideTransition, getSlideXmlString, getSlides, getSlidesByLayout, getSlidesWithCharts, getSlidesWithComments, getSlidesWithEmptyPlaceholders, getSlidesWithHyperlinks, getSlidesWithImages, getSlidesWithNotes, getSlidesWithOverlap, getSlidesWithTables, getTableCell, getTableCellAlignment, getTableCellAnchor, getTableCellBorders, getTableCellFill, getTableCellMargins, getTableCellParagraphs, getTableCellPosition, getTableCellSpan, getTableCellText, getTableCellTextDirection, getTableCells, getTableColumnWidths, getTableDimensions, getTableRowHeights, getTableSize, getTableStyleFlags, getTableStyleId, getThumbnail, getUnusedSlideLayouts, getUnusedSlideMasters, getVisibleSlides, hasShapeImage, hasShapeText, hasSlideNotes, importSlide, inches, incrementRevision, insertTableColumn, insertTableRow, isChartShape, isParagraphBulletPicture, isShapeHidden, isShapeImageGrayscale, isShapePlaceholder, isShapeTextBox, isSlideHidden, isTableShape, listPackageParts, loadPresentation, mergePresentations, mm, moveSlide, pointInShape, pt, readPackagePart, removeShape, removeSlide, removeSlideComment, removeSlideNotes, removeTableColumn, removeTableRow, removeThumbnail, renameShape, replaceHyperlink, replaceTextInNotes, replaceTextInPresentation, replaceTextInSlide, replaceTextInSlideNotes, replaceTokensInPresentation, replaceTokensInSlide, resolveDrawingColor, reverseSlides, savePresentation, searchSlides, sendShapeBackward, sendShapeToBack, setChartSpec, setCoreProperties, setExtendedProperties, setMediaPartBytes, setParagraphAlignment, setParagraphBullet, setParagraphLevel, setParagraphSpacing, setShapeAlignment, setShapeAltTitle, setShapeAnimation, setShapeBounds, setShapeBullets, setShapeClickAction, setShapeDescription, setShapeFill, setShapeFlip, setShapeGlow, setShapeGradientFill, setShapeHidden, setShapeHyperlink, setShapeImage, setShapeImageBrightness, setShapeImageContrast, setShapeImageCrop, setShapeImageFill, setShapeImageOpacity, setShapeNoFill, setShapeNoStroke, setShapePatternFill, setShapePosition, setShapeRotation, setShapeRunFormat, setShapeRunHyperlink, setShapeRunText, setShapeShadow, setShapeSize, setShapeStroke, setShapeStrokeArrow, setShapeStrokeCap, setShapeStrokeCompound, setShapeStrokeDash, setShapeStrokeJoin, setShapeText, setShapeTextAnchor, setShapeTextAutoFit, setShapeTextBodyRotationDeg, setShapeTextColumns, setShapeTextDirection, setShapeTextFormat, setShapeTextMargins, setShapeTextWrap, setShapeZIndex, setSlideBackground, setSlideBackgroundImage, setSlideBody, setSlideHidden, setSlideLayout, setSlideNotes, setSlidePlaceholders, setSlideSections, setSlideSize, setSlideTitle, setSlideTransition, setTableCellAlignment, setTableCellAnchor, setTableCellBorders, setTableCellFill, setTableCellMargins, setTableCellText, setTableCellTextDirection, setTableCellTextFormat, setTableColumnWidth, setTableRowHeight, setTableStyleFlags, setTableStyleId, setThumbnail, shapesOverlap, slideHasAnimations, slidesUsingMediaPart, sortSlides, swapSlides, touchModified, translateShapes, validatePresentation };
5177
+ export { type AllShapesEntry, type AnimationEffect, type AnimationOptions, type ArrowOptions, type BulletStyle, type ChartAxisScaling, type ChartDataLabelPosition, type ChartDataLabels, type ChartGrouping, type ChartKind, type ChartSeries, type ChartSpec, type ChartTextStyle, type ChartTrendline, type CommentAuthor, type CommentPosition, type CoreProperties, type CustomGeometry, type Emu, type ExtendedProperties, type GeomCommand, type GeomPath, type GeomPoint, type GlowOptions, type GradientFillOptions, type GradientStop, type ImageCrop, type ImageFit, type ImageFormat, type IssueSeverity, type LineDash, type LineEndSize, type LineEndType, type MediaPart, type PackagePartInfo, type ParagraphAlignment, type ParagraphProperties, type PathFillMode, type PatternFillOptions, type PatternPreset, type PresentationChartEntry, type PresentationCommentEntry, type PresentationData, type PresentationFonts, type PresentationHyperlinkEntry, type PresentationImageEntry, type PresentationInput, type PresentationNotesEntry, type PresentationSize, type PresentationSummary, type PresentationTableEntry, type PresentationTheme, type PresentationThumbnail, type PresetShape, SLIDE_SIZE_16_10, SLIDE_SIZE_16_9, SLIDE_SIZE_4_3, type ShadowOptions, type ShapeBounds, type ShapeClickAction, type ShapeEffect, type ShapeEffectAny, type ShapeFill, type ShapeParagraphElement, type ShapeStroke, type SlideBackground, type SlideChartData, type SlideComment, type SlideCommentData, type SlideData, type SlideInfo, type SlideLayoutBackgroundShape, type SlideLayoutData, type SlideLayoutPlaceholder, type SlideOutlineEntry, type SlideSection, type SlideShapeData, type SlideSize, type TableCellBorder, type TableCellBorders, type TableCellData, type TableCellParagraph, type TextAnchor, type TextAutoFit, type TextFormat, type TextWrap, type TransitionEffect, type TransitionOptions, VERSION, type ValidationIssue, _internalPackageOf, addBlankSlide, addContentSlide, addSectionHeaderSlide, addSlide, addSlideAt, addSlideChart, addSlideComment, addSlideImage, addSlideLine, addSlideShape, addSlideTable, addSlideTextBox, addTitleSlide, appendShapeText, appendSlideNotes, bringShapeForward, bringShapeToFront, centerShapeOnSlide, clearAllHyperlinks, clearAllSlideComments, clearAllSlideNotes, clearShapeEffects, clearShapeFill, clearShapeStroke, clearSlideAnimations, clearSlideBackground, clearSlideComments, clearSlideHyperlinks, clearSlideShapes, clearSlideTransition, clearTableCellFill, cm, compactPackage, copyShape, createPresentation, duplicateSlide, duplicateSlideAt, emu, findChartByKind, findChartsBySeriesName, findChartsWithDataLabels, findChartsWithTrendlines, findCommentAuthorByName, findCommentsAfter, findCommentsBefore, findCommentsByAuthor, findCommentsByText, findEmptyPlaceholders, findFlippedShapes, findLayoutsWithPlaceholderType, findOverlappingShapePairs, findShapeById, findShapeByName, findShapeByText, findShapeInPresentation, findShapesAtPoint, findShapesByEffect, findShapesByHyperlink, findShapesByKind, findShapesByName, findShapesByPreset, findShapesByText, findShapesInRect, findShapesOutsideCanvas, findShapesWithAnimation, findShapesWithHyperlinks, findSlideByPartName, findSlideByText, findSlideByTitle, findSlideLayout, findSlideLayoutByPartName, findSlideLayoutByType, findSlidePlaceholder, findSlidePlaceholderByIdx, findSlidePlaceholders, findSlidesByHyperlink, findSlidesByLayoutName, findSlidesByLayoutPartName, findSlidesByLayoutType, findSlidesByNotes, findSlidesByText, findSlidesWithChartKind, findSlidesWithChartTrendlines, findSlidesWithCommentsByAuthor, getAllCharts, getAllComments, getAllHyperlinks, getAllImages, getAllNotes, getAllShapes, getAllTables, getCommentAuthor, getCommentAuthors, getCommentDate, getCommentPosition, getCommentSlide, getCommentText, getCommentsSortedByDate, getCoreProperties, getDistinctHyperlinkUrls, getEmptySlides, getExtendedProperties, getGroupChildren, getGroupTransform, getHiddenSlides, getMaxShapeId, getMaxShapeIdInPresentation, getMediaParts, getOrphanMediaPartNames, getOutlineText, getPackageSize, getParagraphAlignment, getParagraphBullet, getParagraphBulletImageBytes, getParagraphBulletStyle, getParagraphIndent, getParagraphLevel, getParagraphLineSpacing, getParagraphPropertiesEffective, getParagraphSpacing, getPresentationChartCountsBySlide, getPresentationChartKindCounts, getPresentationCommentCountsByAuthor, getPresentationCommentCountsBySlide, getPresentationCommenters, getPresentationCreated, getPresentationFonts, getPresentationHyperlinkCountsBySlide, getPresentationImageCountsBySlide, getPresentationModified, getPresentationNotesLength, getPresentationNotesLengthsBySlide, getPresentationNotesText, getPresentationShapeCountsBySlide, getPresentationSummary, getPresentationTableCountsBySlide, getPresentationText, getPresentationTextLength, getPresentationTextLengthsBySlide, getPresentationTheme, getShapeAdjustValues, getShapeAltTitle, getShapeAnimation, getShapeAt, getShapeBodyPrEffective, getShapeBounds, getShapeBoundsResolved, getShapeCenter, getShapeChartCategories, getShapeChartKind, getShapeChartSeriesNames, getShapeChartSeriesValues, getShapeChartSpec, getShapeClickAction, getShapeCustomGeometry, getShapeDescription, getShapeEffect, getShapeEffects, getShapeEffectsEffective, getShapeFill, getShapeFillColor, getShapeFillColorResolved, getShapeFillEffective, getShapeFlip, getShapeGradientFill, getShapeGradientFillEffective, getShapeHyperlink, getShapeHyperlinkTooltip, getShapeId, getShapeImageBiLevelThreshold, getShapeImageBrightness, getShapeImageBytes, getShapeImageContrast, getShapeImageCrop, getShapeImageDuotone, getShapeImageFillBytes, getShapeImageFormat, getShapeImageLinkUrl, getShapeImageOpacity, getShapeImagePartName, getShapeIndex, getShapeKind, getShapeName, getShapeParagraphCount, getShapeParagraphElements, getShapePatternFill, getShapePlaceholderIdx, getShapePlaceholderType, getShapePosition, getShapePreset, getShapeRotation, getShapeRunClickAction, getShapeRunCount, getShapeRunFormat, getShapeRunFormatEffective, getShapeRunHyperlink, getShapeRunHyperlinkTooltip, getShapeRunText, getShapeSize, getShapeSlide, getShapeStroke, getShapeStrokeArrow, getShapeStrokeCap, getShapeStrokeColor, getShapeStrokeColorResolved, getShapeStrokeCompound, getShapeStrokeDash, getShapeStrokeEffective, getShapeStrokeJoin, getShapeStrokeWidth, getShapeText, getShapeTextAnchor, getShapeTextAutoFit, getShapeTextAutoFitParams, getShapeTextBodyRotationDeg, getShapeTextColumns, getShapeTextDirection, getShapeTextMargins, getShapeTextWrap, getShapeXmlString, getShapeZIndex, getShapesBounds, getSlideAt, getSlideBackground, getSlideBackgroundGradientFill, getSlideBackgroundImageBytes, getSlideBackgroundPatternFill, getSlideBody, getSlideCharts, getSlideColorMapOverride, getSlideCommentAuthors, getSlideComments, getSlideCount, getSlideIndex, getSlideInfo, getSlideLayout, getSlideLayoutBackground, getSlideLayoutBackgroundGradientFill, getSlideLayoutBackgroundImageBytes, getSlideLayoutBackgroundPatternFill, getSlideLayoutBackgroundShapes, getSlideLayoutCount, getSlideLayoutName, getSlideLayoutPartName, getSlideLayoutPlaceholders, getSlideLayoutShapes, getSlideLayoutType, getSlideLayoutUsageCounts, getSlideLayoutUsageCountsByType, getSlideLayouts, getSlideMasterBackground, getSlideMasterBackgroundGradientFill, getSlideMasterBackgroundImageBytes, getSlideMasterBackgroundPatternFill, getSlideMasterCount, getSlideMasterPartName, getSlideMasterPartNames, getSlideMasterShapes, getSlideMasterUsageCounts, getSlideMediaPartNames, getSlideNotes, getSlideNotesLength, getSlideOutline, getSlidePartName, getSlideSections, getSlideShapes, getSlideSize, getSlideTables, getSlideText, getSlideTextLength, getSlideTitle, getSlideTransition, getSlideXmlString, getSlides, getSlidesByLayout, getSlidesWithCharts, getSlidesWithComments, getSlidesWithEmptyPlaceholders, getSlidesWithHyperlinks, getSlidesWithImages, getSlidesWithNotes, getSlidesWithOverlap, getSlidesWithTables, getTableCell, getTableCellAlignment, getTableCellAnchor, getTableCellBorders, getTableCellFill, getTableCellMargins, getTableCellParagraphs, getTableCellPosition, getTableCellSpan, getTableCellText, getTableCellTextDirection, getTableCells, getTableColumnWidths, getTableDimensions, getTableRowHeights, getTableSize, getTableStyleFlags, getTableStyleId, getThumbnail, getUnusedSlideLayouts, getUnusedSlideMasters, getVisibleSlides, hasShapeImage, hasShapeText, hasSlideNotes, importSlide, inches, incrementRevision, insertTableColumn, insertTableRow, isChartShape, isParagraphBulletPicture, isShapeHidden, isShapeImageGrayscale, isShapePlaceholder, isShapeTextBox, isSlideHidden, isTableShape, listPackageParts, loadPresentation, mergePresentations, mergeTableCells, mm, moveSlide, pointInShape, pt, readPackagePart, removeShape, removeSlide, removeSlideComment, removeSlideNotes, removeTableColumn, removeTableRow, removeThumbnail, renameShape, replaceHyperlink, replaceTextInNotes, replaceTextInPresentation, replaceTextInSlide, replaceTextInSlideNotes, replaceTokensInPresentation, replaceTokensInSlide, resolveDrawingColor, reverseSlides, savePresentation, searchSlides, sendShapeBackward, sendShapeToBack, setChartSpec, setCoreProperties, setExtendedProperties, setMediaPartBytes, setParagraphAlignment, setParagraphBullet, setParagraphLevel, setParagraphSpacing, setShapeAlignment, setShapeAltTitle, setShapeAnimation, setShapeBounds, setShapeBullets, setShapeClickAction, setShapeDescription, setShapeFill, setShapeFlip, setShapeGlow, setShapeGradientFill, setShapeHidden, setShapeHyperlink, setShapeImage, setShapeImageBrightness, setShapeImageContrast, setShapeImageCrop, setShapeImageFill, setShapeImageOpacity, setShapeNoFill, setShapeNoStroke, setShapePatternFill, setShapePosition, setShapeRotation, setShapeRunFormat, setShapeRunHyperlink, setShapeRunText, setShapeShadow, setShapeSize, setShapeStroke, setShapeStrokeArrow, setShapeStrokeCap, setShapeStrokeCompound, setShapeStrokeDash, setShapeStrokeJoin, setShapeText, setShapeTextAnchor, setShapeTextAutoFit, setShapeTextBodyRotationDeg, setShapeTextColumns, setShapeTextDirection, setShapeTextFormat, setShapeTextMargins, setShapeTextWrap, setShapeZIndex, setSlideBackground, setSlideBackgroundImage, setSlideBody, setSlideHidden, setSlideLayout, setSlideNotes, setSlidePlaceholders, setSlideSections, setSlideSize, setSlideTitle, setSlideTransition, setTableCellAlignment, setTableCellAnchor, setTableCellBorders, setTableCellFill, setTableCellMargins, setTableCellText, setTableCellTextDirection, setTableCellTextFormat, setTableColumnWidth, setTableRowHeight, setTableStyleFlags, setTableStyleId, setThumbnail, shapesOverlap, slideHasAnimations, slidesUsingMediaPart, sortSlides, swapSlides, touchModified, translateShapes, validatePresentation };