@shbernal/pptxgenjs 5.2.0 → 5.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.
@@ -1,13 +1,19 @@
1
1
  //#region src/core-interfaces.d.ts
2
2
  /**
3
- * Coordinate number - either:
4
- * - Inches (0-n)
5
- * - Percentage (0-100)
3
+ * Coordinate value. A bare `number` is **always inches** — there is no magnitude-based unit
4
+ * guessing. For other units use an explicit string suffix:
5
+ * - `number` → inches (e.g. `10.25`)
6
+ * - `"<n>%"` → percentage of the slide axis (e.g. `"75%"`)
7
+ * - `"<n>in"` → inches (e.g. `"10.25in"`)
8
+ * - `"<n>pt"` → points (e.g. `"72pt"` = 1 inch)
9
+ * - `"<n>emu"` → raw EMU, the escape hatch for exact OOXML units (e.g. `"914400emu"` = 1 inch)
6
10
  *
7
- * @example 10.25 // coordinate in inches
8
- * @example '75%' // coordinate as percentage of slide size
11
+ * @example 10.25 // inches
12
+ * @example '75%' // percentage of slide size
13
+ * @example '72pt' // points
14
+ * @example '914400emu' // raw EMU
9
15
  */
10
- type Coord = number | `${number}%`;
16
+ type Coord = number | `${number}%` | `${number}in` | `${number}pt` | `${number}emu`;
11
17
  interface PositionProps {
12
18
  /**
13
19
  * Horizontal position
@@ -205,6 +211,11 @@ interface BorderProps {
205
211
  * @default 1
206
212
  */
207
213
  pt?: number;
214
+ /**
215
+ * Line end cap style
216
+ * @default 'flat'
217
+ */
218
+ cap?: LineCap;
208
219
  }
209
220
  interface HyperlinkProps {
210
221
  _rId?: number;
@@ -307,6 +318,11 @@ interface ShapeLineProps extends ShapeFillProps {
307
318
  * @default 'solid'
308
319
  */
309
320
  dashType?: 'solid' | 'dash' | 'dashDot' | 'lgDash' | 'lgDashDot' | 'lgDashDotDot' | 'sysDash' | 'sysDot';
321
+ /**
322
+ * Line end cap style
323
+ * @default 'flat'
324
+ */
325
+ cap?: LineCap;
310
326
  /**
311
327
  * Begin arrow type
312
328
  * @since v3.3.0
@@ -341,6 +357,51 @@ interface ShapeLineProps extends ShapeFillProps {
341
357
  */
342
358
  size?: number;
343
359
  }
360
+ /**
361
+ * Connector routing style. Maps to a connector preset geometry:
362
+ * `straight`→`straightConnector1`, `elbow`→`bentConnector3`, `curved`→`curvedConnector3`.
363
+ */
364
+ type ConnectorType = 'straight' | 'elbow' | 'curved';
365
+ /**
366
+ * A connector is a line drawn between two points, emitted as a PowerPoint connector
367
+ * (`<p:cxnSp>`) so the app treats it as a connector (selectable/reroutable) rather than a
368
+ * plain line shape. Endpoints are given directly; the bounding box and flip flags are derived.
369
+ */
370
+ interface ConnectorProps {
371
+ /**
372
+ * Routing style
373
+ * @default 'straight'
374
+ */
375
+ type?: ConnectorType;
376
+ /** Start point X — inches, or a `Coord` such as `'50%'` / `'2in'` */
377
+ x1: Coord;
378
+ /** Start point Y */
379
+ y1: Coord;
380
+ /** End point X */
381
+ x2: Coord;
382
+ /** End point Y */
383
+ y2: Coord;
384
+ /**
385
+ * Line color (6-digit hex, no `#`)
386
+ * @default '000000'
387
+ */
388
+ color?: HexColor;
389
+ /**
390
+ * Line width (pt)
391
+ * @default 1
392
+ */
393
+ width?: number;
394
+ /** Dash style */
395
+ dashType?: ShapeLineProps['dashType'];
396
+ /** Arrowhead at the start point */
397
+ beginArrowType?: ShapeLineProps['beginArrowType'];
398
+ /** Arrowhead at the end point */
399
+ endArrowType?: ShapeLineProps['endArrowType'];
400
+ /** Selection Pane object name */
401
+ objectName?: string;
402
+ /** Accessibility alt text */
403
+ altText?: string;
404
+ }
344
405
  interface TextBaseProps {
345
406
  /**
346
407
  * Horizontal alignment
@@ -375,6 +436,19 @@ interface TextBaseProps {
375
436
  * @example '25BA' // 'BLACK RIGHT-POINTING POINTER' (U+25BA)
376
437
  */
377
438
  characterCode?: string;
439
+ /**
440
+ * Bullet glyph font typeface (`<a:buFont/>`), e.g. for symbol-font bullets
441
+ * @since v4.0.0
442
+ * @example 'Wingdings' // render `characterCode` using the Wingdings font
443
+ */
444
+ fontFace?: string;
445
+ /**
446
+ * Bullet glyph size as a percentage of the run's text size (25–400)
447
+ * @since v4.0.0
448
+ * @default 100
449
+ * @example 80 // bullet glyph is 80% of the text size
450
+ */
451
+ size?: number;
378
452
  /**
379
453
  * Indentation (space between bullet and text) (points)
380
454
  * @since v3.3.0
@@ -548,6 +622,91 @@ interface ObjectNameProps {
548
622
  * @example 'Quarterly revenue bar chart'
549
623
  */
550
624
  altText?: string;
625
+ /**
626
+ * Object lock flags (DrawingML `a:spLocks` / `a:picLocks` / `a:graphicFrameLocks`)
627
+ * - restrict how the object can be manipulated in PowerPoint (e.g. prevent moving, resizing, or grouping)
628
+ * - each flag maps 1:1 to the OOXML attribute of the same name; only flags set to `true` are emitted
629
+ * - PowerPoint UI: Selection Pane / right-click protections (most locks are honored at edit time, not as a password)
630
+ * - flags only apply to the object types that support them (see each flag); flags set on an unsupported
631
+ * object type are ignored with a console warning
632
+ * @since v4.0.0
633
+ * @example { noMove: true, noResize: true } // pin an object in place
634
+ * @example { noGrp: true } // exclude from grouping
635
+ */
636
+ objectLock?: ObjectLockProps;
637
+ }
638
+ /**
639
+ * Object lock flags. Maps to DrawingML locking elements:
640
+ * - shapes / text boxes / placeholders → `a:spLocks`
641
+ * - images / media → `a:picLocks`
642
+ * - tables → `a:graphicFrameLocks`
643
+ *
644
+ * Each property mirrors the OOXML attribute name. A flag is only serialized for object types whose
645
+ * locking element defines it (noted per-flag); setting an unsupported flag logs a warning and is ignored.
646
+ * @since v4.0.0
647
+ */
648
+ interface ObjectLockProps {
649
+ /** Disallow grouping/ungrouping with other objects. (shapes, images, tables) */
650
+ noGrp?: boolean;
651
+ /** Disallow selecting the object. (shapes, images, tables) */
652
+ noSelect?: boolean;
653
+ /** Disallow moving the object. (shapes, images, tables) */
654
+ noMove?: boolean;
655
+ /** Disallow resizing the object. (shapes, images, tables) */
656
+ noResize?: boolean;
657
+ /** Disallow changing the aspect ratio. (shapes, images, tables) */
658
+ noChangeAspect?: boolean;
659
+ /** Disallow rotating the object. (shapes, images) */
660
+ noRot?: boolean;
661
+ /** Disallow editing the freeform/custom-geometry points. (shapes, images) */
662
+ noEditPoints?: boolean;
663
+ /** Disallow moving the shape's adjustment handles. (shapes, images) */
664
+ noAdjustHandles?: boolean;
665
+ /** Disallow changing arrowheads. (shapes, images) */
666
+ noChangeArrowheads?: boolean;
667
+ /** Disallow changing the shape type (preset geometry). (shapes, images) */
668
+ noChangeShapeType?: boolean;
669
+ /** Disallow editing the text body. (shapes / text boxes) */
670
+ noTextEdit?: boolean;
671
+ /** Disallow cropping the picture. (images) */
672
+ noCrop?: boolean;
673
+ /** Disallow drilling down into the graphical object (e.g. chart data). (tables) */
674
+ noDrilldown?: boolean;
675
+ }
676
+ /**
677
+ * Theme color scheme overrides. Each slot maps to one `<a:clrScheme>` entry in `theme1.xml`;
678
+ * any slot left unset keeps the default Office value. Provide 6-digit hex (no `#`).
679
+ *
680
+ * Slot names use the OOXML scheme names. The PowerPoint UI labels them as:
681
+ * `dk1`=Text/Dark 1, `lt1`=Background/Light 1, `dk2`=Text/Dark 2, `lt2`=Background/Light 2,
682
+ * `accent1`-`accent6`=Accent 1-6, `hlink`=Hyperlink, `folHlink`=Followed Hyperlink.
683
+ * @example { accent1: 'C00000', dk2: '1F3864', hlink: '0070C0' }
684
+ */
685
+ interface ThemeColorScheme {
686
+ /** Text/Dark 1 (default Office: black via `windowText`) */
687
+ dk1?: HexColor;
688
+ /** Background/Light 1 (default Office: white via `window`) */
689
+ lt1?: HexColor;
690
+ /** Text/Dark 2 (default Office: `44546A`) */
691
+ dk2?: HexColor;
692
+ /** Background/Light 2 (default Office: `E7E6E6`) */
693
+ lt2?: HexColor;
694
+ /** Accent 1 (default Office: `4472C4`) */
695
+ accent1?: HexColor;
696
+ /** Accent 2 (default Office: `ED7D31`) */
697
+ accent2?: HexColor;
698
+ /** Accent 3 (default Office: `A5A5A5`) */
699
+ accent3?: HexColor;
700
+ /** Accent 4 (default Office: `FFC000`) */
701
+ accent4?: HexColor;
702
+ /** Accent 5 (default Office: `5B9BD5`) */
703
+ accent5?: HexColor;
704
+ /** Accent 6 (default Office: `70AD47`) */
705
+ accent6?: HexColor;
706
+ /** Hyperlink (default Office: `0563C1`) */
707
+ hlink?: HexColor;
708
+ /** Followed Hyperlink (default Office: `954F72`) */
709
+ folHlink?: HexColor;
551
710
  }
552
711
  interface ThemeProps {
553
712
  /**
@@ -562,9 +721,25 @@ interface ThemeProps {
562
721
  * @default 'Calibri'
563
722
  */
564
723
  bodyFontFace?: string;
724
+ /**
725
+ * Theme color scheme overrides written to `ppt/theme/theme1.xml`.
726
+ * - any unset slot keeps its default Office value
727
+ * - references such as `pptx.SchemeColor.accent1` resolve against these values
728
+ * @example { accent1: 'C00000', accent2: '00B050', hlink: '0070C0' }
729
+ */
730
+ colorScheme?: ThemeColorScheme;
565
731
  }
566
732
  type MediaType = 'audio' | 'online' | 'video';
567
733
  interface ImageBaseProps extends PositionProps, ObjectNameProps {
734
+ /**
735
+ * Sizing note (`w`/`h` inherited from {@link PositionProps}):
736
+ * - When a `data` (base64) image is supplied and `w`/`h` are omitted, the natural pixel
737
+ * size is read from the image header (PNG/JPEG/GIF/BMP/WebP) and used at 96 DPI
738
+ * (natural pixels / 96 = inches).
739
+ * - When only one of `w`/`h` is given, the other is derived from the natural aspect ratio.
740
+ * - `path` images and vector (SVG) data cannot be measured synchronously, so an omitted
741
+ * dimension falls back to 1 inch.
742
+ */
568
743
  /**
569
744
  * Alt Text value ("How would you describe this object and its contents to someone who is blind?")
570
745
  * - PowerPoint: [right-click on an image] > "Edit Alt Text..."
@@ -581,6 +756,14 @@ interface ImageBaseProps extends PositionProps, ObjectNameProps {
581
756
  */
582
757
  flipV?: boolean;
583
758
  hyperlink?: HyperlinkProps;
759
+ /**
760
+ * Border line (`<a:ln>` outline) drawn around the image
761
+ * - same options as a shape outline; a picture supports a single outline, not per-side borders
762
+ * - MS-PPT: Format Picture > Line
763
+ * @example { color: '0088CC', width: 2 } // 2pt blue border
764
+ * @example { color: '666666', width: 1, dashType: 'dash' } // dashed gray border
765
+ */
766
+ line?: ShapeLineProps;
584
767
  /**
585
768
  * Placeholder type
586
769
  * - values: 'body' | 'header' | 'footer' | 'title' | et. al.
@@ -624,6 +807,14 @@ interface ImageBaseProps extends PositionProps, ObjectNameProps {
624
807
  * @default 0
625
808
  */
626
809
  rectRadius?: number;
810
+ /**
811
+ * Preset-geometry adjustment handles (`<a:avLst>` guides) for the clip `shape`.
812
+ * - tune adjustment handles that lack a dedicated option, e.g. chevron point depth
813
+ * - accepts a single guide or an array; each `value` is a `0.0–1.0` fraction (see {@link ShapeAdjustValue})
814
+ * @since v4.0.0
815
+ * @example { name: 'adj', value: 0.25 }
816
+ */
817
+ shapeAdjust?: ShapeAdjustValue | ShapeAdjustValue[];
627
818
  /**
628
819
  * Shadow Props
629
820
  * - MS-PPT > Format Picture > Shadow
@@ -747,6 +938,21 @@ type MediaProps = MediaBaseProps & ((DataOrPathRequiredProps & {
747
938
  */
748
939
  link: string;
749
940
  }));
941
+ /**
942
+ * A single preset-geometry adjustment guide (`<a:gd>` inside `<a:avLst>`).
943
+ * - `name` is the guide name the preset defines, e.g. `'adj'`, `'adj1'`, `'adj2'`.
944
+ * PowerPoint shows these handles as the yellow drag dots on a selected shape.
945
+ * - `value` is a fraction `0.0–1.0` of the handle's range, emitted as a percentage
946
+ * guide formula (`val`, in 1/100000 units, so `0.25` → `fmla="val 25000"`).
947
+ * Most adjustment handles (corner radius, chevron point, callout depth, bevel
948
+ * width, …) are percentage-based and map directly; some shapes accept values
949
+ * beyond `1.0`. For angle-based handles, prefer the `angleRange` shortcut.
950
+ * @since v4.0.0
951
+ */
952
+ interface ShapeAdjustValue {
953
+ name: string;
954
+ value: number;
955
+ }
750
956
  interface ShapeProps extends PositionProps, ObjectNameProps {
751
957
  /**
752
958
  * Horizontal alignment
@@ -761,6 +967,19 @@ interface ShapeProps extends PositionProps, ObjectNameProps {
761
967
  * @default [270, 0]
762
968
  */
763
969
  angleRange?: [number, number];
970
+ /**
971
+ * Preset-geometry adjustment handles (`<a:avLst>` guides) for any preset shape.
972
+ * - Use this to tune adjustment handles that lack a dedicated shortcut option,
973
+ * e.g. chevron/arrow point depth, callout pointer, bevel/frame thickness.
974
+ * - Accepts a single guide or an array; each `value` is a `0.0–1.0` fraction of
975
+ * the handle's range (see {@link ShapeAdjustValue}).
976
+ * - `rectRadius` / `angleRange` remain friendly shortcuts; any `shapeAdjust`
977
+ * guide that does not collide with a shortcut name is emitted in addition.
978
+ * @since v4.0.0
979
+ * @example { name: 'adj', value: 0.25 } // set the single adjust handle to 25%
980
+ * @example [{ name: 'adj1', value: 0.5 }, { name: 'adj2', value: 0.25 }] // two handles
981
+ */
982
+ shapeAdjust?: ShapeAdjustValue | ShapeAdjustValue[];
764
983
  /**
765
984
  * Radius (only for pptx.shapes.BLOCK_ARC)
766
985
  * - You have to setup the angleRange values too
@@ -1105,6 +1324,14 @@ interface TableProps extends PositionProps, TextBaseProps, ObjectNameProps {
1105
1324
  * @default (top margin of Slide)
1106
1325
  */
1107
1326
  autoPageSlideStartY?: number;
1327
+ /**
1328
+ * Whether populated placeholders on the source slide (e.g. a title set via
1329
+ * `addText(text, { placeholder })`) are copied onto each overflow slide created by autoPage.
1330
+ * - new slides otherwise inherit only the layout's empty placeholders, so a title set on the
1331
+ * first slide would not appear on continuation slides (upstream gitbrent/PptxGenJS#1136).
1332
+ * @default false
1333
+ */
1334
+ autoPagePlaceholder?: boolean;
1108
1335
  /**
1109
1336
  * Table border
1110
1337
  * - single value is applied to all 4 sides
@@ -1213,6 +1440,9 @@ interface TableCell {
1213
1440
  _hmerge?: boolean;
1214
1441
  _vmerge?: boolean;
1215
1442
  _rowContinue?: number;
1443
+ /** origin cell of a colspan/rowspan span, set on the dummy `_hmerge`/`_vmerge` cells so they can
1444
+ * inherit the origin's border/fill and render the merged region's outer edges (Issue #680) */
1445
+ _spanOrigin?: TableCell;
1216
1446
  _optImp?: any;
1217
1447
  text?: string | number | TableCell[];
1218
1448
  options?: TableCellProps;
@@ -1238,6 +1468,27 @@ interface TextGlowProps {
1238
1468
  */
1239
1469
  size: number;
1240
1470
  }
1471
+ interface TextFitShrinkProps {
1472
+ /**
1473
+ * Shrink text on overflow (`<a:normAutofit>`)
1474
+ */
1475
+ type: 'shrink';
1476
+ /**
1477
+ * Font scale as a percent (0-100), mapped to `<a:normAutofit fontScale="..">`.
1478
+ *
1479
+ * PowerPoint normally calculates this dynamically when text overflows; set it
1480
+ * explicitly to bake the scale into the generated file.
1481
+ * @example 85 // render text at 85% of its nominal size
1482
+ * @default undefined // attribute omitted (PowerPoint defaults to 100%)
1483
+ */
1484
+ fontScale?: number;
1485
+ /**
1486
+ * Line-space reduction as a percent (0-100), mapped to `<a:normAutofit lnSpcReduction="..">`.
1487
+ * @example 20 // reduce line spacing by 20%
1488
+ * @default undefined // attribute omitted (PowerPoint defaults to 0%)
1489
+ */
1490
+ lnSpcReduction?: number;
1491
+ }
1241
1492
  interface TextPropsOptions extends PositionProps, DataOrPathProps, TextBaseProps, ObjectNameProps {
1242
1493
  _bodyProp?: {
1243
1494
  autoFit?: boolean;
@@ -1247,6 +1498,8 @@ interface TextPropsOptions extends PositionProps, DataOrPathProps, TextBaseProps
1247
1498
  rIns?: number;
1248
1499
  tIns?: number;
1249
1500
  bIns?: number;
1501
+ numCol?: number;
1502
+ spcCol?: number;
1250
1503
  vert?: TextVertType;
1251
1504
  wrap?: boolean;
1252
1505
  };
@@ -1256,6 +1509,24 @@ interface TextPropsOptions extends PositionProps, DataOrPathProps, TextBaseProps
1256
1509
  * Character spacing
1257
1510
  */
1258
1511
  charSpacing?: number;
1512
+ /**
1513
+ * Number of text columns in the text body
1514
+ * - PowerPoint: Format Shape > Shape Options > Size & Properties > Text Box > Columns > "Number"
1515
+ * - range: 1-16
1516
+ * @since v5.3.0
1517
+ * @default 1
1518
+ * @example 2 // flow text into two columns
1519
+ */
1520
+ columns?: number;
1521
+ /**
1522
+ * Spacing between text columns (points)
1523
+ * - PowerPoint: Format Shape > Shape Options > Size & Properties > Text Box > Columns > "Spacing"
1524
+ * - only applies when `columns` > 1
1525
+ * @since v5.3.0
1526
+ * @default 0
1527
+ * @example 10 // 10pt gap between columns
1528
+ */
1529
+ columnSpacing?: number;
1259
1530
  /**
1260
1531
  * Text fit options
1261
1532
  *
@@ -1267,11 +1538,15 @@ interface TextPropsOptions extends PositionProps, DataOrPathProps, TextBaseProps
1267
1538
  * **Note** 'shrink' and 'resize' only take effect after editing text/resize shape.
1268
1539
  * Both PowerPoint and Word dynamically calculate a scaling factor and apply it when edit/resize occurs.
1269
1540
  *
1270
- * There is no way for this library to trigger that behavior, sorry.
1541
+ * There is no way for this library to trigger that behavior, sorry. As a workaround,
1542
+ * pass an object form of 'shrink' to bake explicit `fontScale`/`lnSpcReduction` values
1543
+ * into the file so the text renders pre-shrunk without an edit/resize.
1271
1544
  * @since v3.3.0
1545
+ * @example 'shrink' // emit a bare <a:normAutofit/>
1546
+ * @example { type: 'shrink', fontScale: 85, lnSpcReduction: 20 } // pre-shrink text
1272
1547
  * @default "none"
1273
1548
  */
1274
- fit?: 'none' | 'shrink' | 'resize';
1549
+ fit?: 'none' | 'shrink' | 'resize' | TextFitShrinkProps;
1275
1550
  /**
1276
1551
  * Shape fill
1277
1552
  * @example { color:'FF0000' } // hex color (red)
@@ -1401,7 +1676,12 @@ declare function textRun(text: string | number, options?: TextPropsOptions): Tex
1401
1676
  /** Wraps a run array so TypeScript accepts it as `TextProps[]` without a cast. */
1402
1677
  declare function textRuns(runs: TextProps[]): TextProps[];
1403
1678
  type ChartAxisTickMark = 'none' | 'inside' | 'outside' | 'cross';
1404
- type ChartLineCap = 'flat' | 'round' | 'square';
1679
+ /**
1680
+ * Line end cap style. Maps to the OOXML `cap` attribute on `<a:ln>` (`flat`/`sq`/`rnd`).
1681
+ */
1682
+ type LineCap = 'flat' | 'round' | 'square';
1683
+ /** @deprecated use `LineCap` (the cap type is not chart-specific) */
1684
+ type ChartLineCap = LineCap;
1405
1685
  type ChartLineDash = 'dash' | 'dashDot' | 'lgDash' | 'lgDashDot' | 'lgDashDotDot' | 'solid' | 'sysDash' | 'sysDot';
1406
1686
  interface OptsChartData {
1407
1687
  _dataIndex?: number;
@@ -1427,6 +1707,45 @@ interface OptsChartData {
1427
1707
  * @example [2000, 2010, 2020]
1428
1708
  */
1429
1709
  values?: number[];
1710
+ /**
1711
+ * Custom text label per data point, replacing the auto-generated value label.
1712
+ * Index aligns with `values[]`. Empty string or missing entries fall back to the chart-level label settings.
1713
+ * Supported for BAR, LINE, AREA, RADAR, PIE, and DOUGHNUT chart types.
1714
+ * @example ['Low', '', 'High'] // only points 0 and 2 get custom labels
1715
+ */
1716
+ customLabels?: string[];
1717
+ /**
1718
+ * Per-data-point visual overrides (border / fill), index-aligned with `values[]`.
1719
+ * Empty (`{}`) or missing entries fall back to series/chart styling.
1720
+ * Supported for BAR, LINE, AREA, SCATTER, PIE, and DOUGHNUT chart types.
1721
+ * @example
1722
+ * pointStyles: [
1723
+ * { border: { pt: 2, color: 'FF0000' } }, // point 0: red 2pt border
1724
+ * {}, // point 1: default
1725
+ * { fill: '00B050', border: { type: 'dash', color: '404040' } }, // point 2
1726
+ * ]
1727
+ * @since v5.3.0
1728
+ */
1729
+ pointStyles?: ChartDataPointStyle[];
1730
+ }
1731
+ /**
1732
+ * Per-data-point style override for a chart series.
1733
+ * Each entry applies to the data point at the same index in `values[]`.
1734
+ * Unset fields fall back to the series/chart-level styling.
1735
+ */
1736
+ interface ChartDataPointStyle {
1737
+ /**
1738
+ * Data-point border (line). Reuses {@link BorderProps}.
1739
+ * - `type: 'none'` hides the border; `'dash'` draws a dashed border.
1740
+ * @example { pt: 2, color: 'FF0000' }
1741
+ */
1742
+ border?: BorderProps;
1743
+ /**
1744
+ * Data-point fill color (hex), overriding `chartColors[idx]`.
1745
+ * Most meaningful on fill-based charts (BAR, AREA, PIE, DOUGHNUT).
1746
+ * @example '00B050'
1747
+ */
1748
+ fill?: HexColor;
1430
1749
  }
1431
1750
  interface IOptsChartData extends OptsChartData {
1432
1751
  labels?: string[][];
@@ -1497,11 +1816,29 @@ interface IChartPropsBase {
1497
1816
  lang?: string;
1498
1817
  layout?: PositionProps;
1499
1818
  shadow?: ShadowProps;
1819
+ /**
1820
+ * Show each bubble's size value as a data label (bubble / bubble3D charts only).
1821
+ * Has no effect on other chart types.
1822
+ * @default false
1823
+ */
1824
+ showBubbleSize?: boolean;
1500
1825
  /**
1501
1826
  * @default false
1502
1827
  */
1503
1828
  showLabel?: boolean;
1504
1829
  showLeaderLines?: boolean;
1830
+ /**
1831
+ * Leader line color (pie/doughnut data labels). Requires `showLeaderLines: true`.
1832
+ * When omitted, PowerPoint applies its automatic leader-line color.
1833
+ * @example 'FF0000' // red leader lines
1834
+ */
1835
+ leaderLineColor?: HexColor;
1836
+ /**
1837
+ * Leader line width, in points (pie/doughnut data labels). Requires `showLeaderLines: true`.
1838
+ * @default 0.75
1839
+ * @example 1.5
1840
+ */
1841
+ leaderLineSize?: number;
1505
1842
  /**
1506
1843
  * @default false
1507
1844
  */
@@ -1735,6 +2072,20 @@ interface IChartPropsChartBar {
1735
2072
  * @default 0
1736
2073
  */
1737
2074
  barOverlapPct?: number;
2075
+ /**
2076
+ * Draw connector lines between data points across stacked bar/column series
2077
+ * ("Series Lines" in PowerPoint). Emits `<c:serLines>` in the bar chart.
2078
+ *
2079
+ * - `true` uses PowerPoint's automatic line styling.
2080
+ * - An {@link OptsChartGridLine} object customizes color/size/style/cap.
2081
+ * - Omit (or pass an object with `style: 'none'`) to disable.
2082
+ *
2083
+ * Bar (`bar`) charts only; ignored for 3D bar charts.
2084
+ * @default undefined
2085
+ * @example true
2086
+ * @example { color: '777777', size: 1, style: 'dash' }
2087
+ */
2088
+ barSeriesLine?: boolean | OptsChartGridLine;
1738
2089
  }
1739
2090
  interface IChartPropsChartDoughnut {
1740
2091
  dataNoEffects?: boolean;
@@ -1891,9 +2242,16 @@ interface IChartPropsTitle extends TextBaseProps {
1891
2242
  titleColor?: string;
1892
2243
  titleFontFace?: string;
1893
2244
  titleFontSize?: number;
2245
+ titleItalic?: boolean;
2246
+ titleUnderline?: boolean;
2247
+ /**
2248
+ * Manual title position (inches), relative to the chart.
2249
+ * Each axis is independent: omit `x` to keep automatic horizontal centering,
2250
+ * or omit `y` to keep automatic vertical placement. Provide at least one.
2251
+ */
1894
2252
  titlePos?: {
1895
- x: number;
1896
- y: number;
2253
+ x?: number;
2254
+ y?: number;
1897
2255
  };
1898
2256
  titleRotate?: number;
1899
2257
  }
@@ -1959,11 +2317,23 @@ interface ISlideObject {
1959
2317
  }
1960
2318
  interface WriteBaseProps {
1961
2319
  /**
1962
- * Whether to compress export (can save substantial space, but takes a bit longer to export)
1963
- * @default false
1964
- * @since v3.5.0
2320
+ * Whether to DEFLATE-compress the package (PowerPoint itself always compresses;
2321
+ * set `false` only if export time matters more than file size)
2322
+ * @default true
2323
+ * @since v3.5.0 (default changed false→true in v4.0.0)
1965
2324
  */
1966
2325
  compression?: boolean;
2326
+ /**
2327
+ * How to handle a media asset (image/audio/video) that fails to load during export.
2328
+ * - `'throw'` (default): reject the export with an error naming the failing asset. A deck
2329
+ * that silently embeds a broken-image placeholder is a degenerate result, so failing
2330
+ * loudly is the safe default.
2331
+ * - `'placeholder'`: substitute a broken-image placeholder, emit a `console.warn`, and
2332
+ * continue. Useful for best-effort/batch jobs where one missing asset should not abort
2333
+ * the whole deck.
2334
+ * @default 'throw'
2335
+ */
2336
+ onMediaError?: 'throw' | 'placeholder';
1967
2337
  }
1968
2338
  interface WriteProps extends WriteBaseProps {
1969
2339
  /**
@@ -2029,7 +2399,10 @@ type SlideMasterObject = {
2029
2399
  } | {
2030
2400
  roundRect: ShapeProps;
2031
2401
  } | {
2032
- text: TextProps;
2402
+ text: {
2403
+ text: string | number | TextProps[];
2404
+ options?: TextPropsOptions;
2405
+ };
2033
2406
  } | {
2034
2407
  placeholder: {
2035
2408
  options: PlaceholderProps;
@@ -2105,6 +2478,7 @@ interface SlideLayoutInternal extends SlideBaseProps, SlideLayout {
2105
2478
  interface PresSlide {
2106
2479
  addChart(type: CHART_NAME, data: OptsChartData[], options?: IChartOpts): PresSlide;
2107
2480
  addChart(type: IChartMulti[], options?: IChartOpts): PresSlide;
2481
+ addConnector: (options: ConnectorProps) => PresSlide;
2108
2482
  addImage: (options: ImageProps) => PresSlide;
2109
2483
  addMedia: (options: MediaProps) => PresSlide;
2110
2484
  addNotes: (notes: string) => PresSlide;
@@ -2224,14 +2598,7 @@ declare const DEF_SHAPE_SHADOW: {
2224
2598
  };
2225
2599
  declare const DEF_SLIDE_BKGD = "FFFFFF";
2226
2600
  declare const DEF_SLIDE_MARGIN_IN: [number, number, number, number];
2227
- declare const DEF_TEXT_SHADOW: {
2228
- type: string;
2229
- blur: number;
2230
- offset: number;
2231
- angle: number;
2232
- color: string;
2233
- opacity: number;
2234
- };
2601
+ declare const DEF_TEXT_SHADOW: ShadowProps;
2235
2602
  declare const DEF_TEXT_GLOW: {
2236
2603
  size: number;
2237
2604
  color: string;
@@ -2370,7 +2737,7 @@ declare enum ShapeType {
2370
2737
  'flowChartSort' = "flowChartSort",
2371
2738
  'flowChartSummingJunction' = "flowChartSummingJunction",
2372
2739
  'flowChartTerminator' = "flowChartTerminator",
2373
- 'folderCorner' = "folderCorner",
2740
+ 'foldedCorner' = "foldedCorner",
2374
2741
  'frame' = "frame",
2375
2742
  'funnel' = "funnel",
2376
2743
  'gear6' = "gear6",
@@ -2569,7 +2936,7 @@ declare enum SHAPE_TYPE {
2569
2936
  FLOWCHART_STORED_DATA = "flowChartOnlineStorage",
2570
2937
  FLOWCHART_SUMMING_JUNCTION = "flowChartSummingJunction",
2571
2938
  FLOWCHART_TERMINATOR = "flowChartTerminator",
2572
- FOLDED_CORNER = "folderCorner",
2939
+ FOLDED_CORNER = "foldedCorner",
2573
2940
  FRAME = "frame",
2574
2941
  FUNNEL = "funnel",
2575
2942
  GEAR_6 = "gear6",
@@ -2604,10 +2971,6 @@ declare enum SHAPE_TYPE {
2604
2971
  LINE_CALLOUT_3_ACCENT_BAR = "accentCallout3",
2605
2972
  LINE_CALLOUT_3_BORDER_AND_ACCENT_BAR = "accentBorderCallout3",
2606
2973
  LINE_CALLOUT_3_NO_BORDER = "callout3",
2607
- LINE_CALLOUT_4 = "borderCallout4",
2608
- LINE_CALLOUT_4_ACCENT_BAR = "accentCallout3=4",
2609
- LINE_CALLOUT_4_BORDER_AND_ACCENT_BAR = "accentBorderCallout4",
2610
- LINE_CALLOUT_4_NO_BORDER = "callout4",
2611
2974
  LINE = "line",
2612
2975
  LINE_INVERSE = "lineInv",
2613
2976
  MATH_DIVIDE = "mathDivide",
@@ -2674,7 +3037,16 @@ declare enum SHAPE_TYPE {
2674
3037
  VERTICAL_SCROLL = "verticalScroll",
2675
3038
  WAVE = "wave"
2676
3039
  }
2677
- type SHAPE_NAME = 'accentBorderCallout1' | 'accentBorderCallout2' | 'accentBorderCallout3' | 'accentCallout1' | 'accentCallout2' | 'accentCallout3' | 'actionButtonBackPrevious' | 'actionButtonBeginning' | 'actionButtonBlank' | 'actionButtonDocument' | 'actionButtonEnd' | 'actionButtonForwardNext' | 'actionButtonHelp' | 'actionButtonHome' | 'actionButtonInformation' | 'actionButtonMovie' | 'actionButtonReturn' | 'actionButtonSound' | 'arc' | 'bentArrow' | 'bentUpArrow' | 'bevel' | 'blockArc' | 'borderCallout1' | 'borderCallout2' | 'borderCallout3' | 'bracePair' | 'bracketPair' | 'callout1' | 'callout2' | 'callout3' | 'can' | 'chartPlus' | 'chartStar' | 'chartX' | 'chevron' | 'chord' | 'circularArrow' | 'cloud' | 'cloudCallout' | 'corner' | 'cornerTabs' | 'cube' | 'curvedDownArrow' | 'curvedLeftArrow' | 'curvedRightArrow' | 'curvedUpArrow' | 'custGeom' | 'decagon' | 'diagStripe' | 'diamond' | 'dodecagon' | 'donut' | 'doubleWave' | 'downArrow' | 'downArrowCallout' | 'ellipse' | 'ellipseRibbon' | 'ellipseRibbon2' | 'flowChartAlternateProcess' | 'flowChartCollate' | 'flowChartConnector' | 'flowChartDecision' | 'flowChartDelay' | 'flowChartDisplay' | 'flowChartDocument' | 'flowChartExtract' | 'flowChartInputOutput' | 'flowChartInternalStorage' | 'flowChartMagneticDisk' | 'flowChartMagneticDrum' | 'flowChartMagneticTape' | 'flowChartManualInput' | 'flowChartManualOperation' | 'flowChartMerge' | 'flowChartMultidocument' | 'flowChartOfflineStorage' | 'flowChartOffpageConnector' | 'flowChartOnlineStorage' | 'flowChartOr' | 'flowChartPredefinedProcess' | 'flowChartPreparation' | 'flowChartProcess' | 'flowChartPunchedCard' | 'flowChartPunchedTape' | 'flowChartSort' | 'flowChartSummingJunction' | 'flowChartTerminator' | 'folderCorner' | 'frame' | 'funnel' | 'gear6' | 'gear9' | 'halfFrame' | 'heart' | 'heptagon' | 'hexagon' | 'homePlate' | 'horizontalScroll' | 'irregularSeal1' | 'irregularSeal2' | 'leftArrow' | 'leftArrowCallout' | 'leftBrace' | 'leftBracket' | 'leftCircularArrow' | 'leftRightArrow' | 'leftRightArrowCallout' | 'leftRightCircularArrow' | 'leftRightRibbon' | 'leftRightUpArrow' | 'leftUpArrow' | 'lightningBolt' | 'line' | 'lineInv' | 'mathDivide' | 'mathEqual' | 'mathMinus' | 'mathMultiply' | 'mathNotEqual' | 'mathPlus' | 'moon' | 'noSmoking' | 'nonIsoscelesTrapezoid' | 'notchedRightArrow' | 'octagon' | 'parallelogram' | 'pentagon' | 'pie' | 'pieWedge' | 'plaque' | 'plaqueTabs' | 'plus' | 'quadArrow' | 'quadArrowCallout' | 'rect' | 'ribbon' | 'ribbon2' | 'rightArrow' | 'rightArrowCallout' | 'rightBrace' | 'rightBracket' | 'round1Rect' | 'round2DiagRect' | 'round2SameRect' | 'roundRect' | 'rtTriangle' | 'smileyFace' | 'snip1Rect' | 'snip2DiagRect' | 'snip2SameRect' | 'snipRoundRect' | 'squareTabs' | 'star10' | 'star12' | 'star16' | 'star24' | 'star32' | 'star4' | 'star5' | 'star6' | 'star7' | 'star8' | 'stripedRightArrow' | 'sun' | 'swooshArrow' | 'teardrop' | 'trapezoid' | 'triangle' | 'upArrow' | 'upArrowCallout' | 'upDownArrow' | 'upDownArrowCallout' | 'uturnArrow' | 'verticalScroll' | 'wave' | 'wedgeEllipseCallout' | 'wedgeRectCallout' | 'wedgeRoundRectCallout';
3040
+ type SHAPE_NAME = 'accentBorderCallout1' | 'accentBorderCallout2' | 'accentBorderCallout3' | 'accentCallout1' | 'accentCallout2' | 'accentCallout3' | 'actionButtonBackPrevious' | 'actionButtonBeginning' | 'actionButtonBlank' | 'actionButtonDocument' | 'actionButtonEnd' | 'actionButtonForwardNext' | 'actionButtonHelp' | 'actionButtonHome' | 'actionButtonInformation' | 'actionButtonMovie' | 'actionButtonReturn' | 'actionButtonSound' | 'arc' | 'bentArrow' | 'bentUpArrow' | 'bevel' | 'blockArc' | 'borderCallout1' | 'borderCallout2' | 'borderCallout3' | 'bracePair' | 'bracketPair' | 'callout1' | 'callout2' | 'callout3' | 'can' | 'chartPlus' | 'chartStar' | 'chartX' | 'chevron' | 'chord' | 'circularArrow' | 'cloud' | 'cloudCallout' | 'corner' | 'cornerTabs' | 'cube' | 'curvedDownArrow' | 'curvedLeftArrow' | 'curvedRightArrow' | 'curvedUpArrow' | 'custGeom' | 'decagon' | 'diagStripe' | 'diamond' | 'dodecagon' | 'donut' | 'doubleWave' | 'downArrow' | 'downArrowCallout' | 'ellipse' | 'ellipseRibbon' | 'ellipseRibbon2' | 'flowChartAlternateProcess' | 'flowChartCollate' | 'flowChartConnector' | 'flowChartDecision' | 'flowChartDelay' | 'flowChartDisplay' | 'flowChartDocument' | 'flowChartExtract' | 'flowChartInputOutput' | 'flowChartInternalStorage' | 'flowChartMagneticDisk' | 'flowChartMagneticDrum' | 'flowChartMagneticTape' | 'flowChartManualInput' | 'flowChartManualOperation' | 'flowChartMerge' | 'flowChartMultidocument' | 'flowChartOfflineStorage' | 'flowChartOffpageConnector' | 'flowChartOnlineStorage' | 'flowChartOr' | 'flowChartPredefinedProcess' | 'flowChartPreparation' | 'flowChartProcess' | 'flowChartPunchedCard' | 'flowChartPunchedTape' | 'flowChartSort' | 'flowChartSummingJunction' | 'flowChartTerminator' | 'foldedCorner' | 'frame' | 'funnel' | 'gear6' | 'gear9' | 'halfFrame' | 'heart' | 'heptagon' | 'hexagon' | 'homePlate' | 'horizontalScroll' | 'irregularSeal1' | 'irregularSeal2' | 'leftArrow' | 'leftArrowCallout' | 'leftBrace' | 'leftBracket' | 'leftCircularArrow' | 'leftRightArrow' | 'leftRightArrowCallout' | 'leftRightCircularArrow' | 'leftRightRibbon' | 'leftRightUpArrow' | 'leftUpArrow' | 'lightningBolt' | 'line' | 'lineInv' | 'mathDivide' | 'mathEqual' | 'mathMinus' | 'mathMultiply' | 'mathNotEqual' | 'mathPlus' | 'moon' | 'noSmoking' | 'nonIsoscelesTrapezoid' | 'notchedRightArrow' | 'octagon' | 'parallelogram' | 'pentagon' | 'pie' | 'pieWedge' | 'plaque' | 'plaqueTabs' | 'plus' | 'quadArrow' | 'quadArrowCallout' | 'rect' | 'ribbon' | 'ribbon2' | 'rightArrow' | 'rightArrowCallout' | 'rightBrace' | 'rightBracket' | 'round1Rect' | 'round2DiagRect' | 'round2SameRect' | 'roundRect' | 'rtTriangle' | 'smileyFace' | 'snip1Rect' | 'snip2DiagRect' | 'snip2SameRect' | 'snipRoundRect' | 'squareTabs' | 'star10' | 'star12' | 'star16' | 'star24' | 'star32' | 'star4' | 'star5' | 'star6' | 'star7' | 'star8' | 'stripedRightArrow' | 'sun' | 'swooshArrow' | 'teardrop' | 'trapezoid' | 'triangle' | 'upArrow' | 'upArrowCallout' | 'upDownArrow' | 'upDownArrowCallout' | 'uturnArrow' | 'verticalScroll' | 'wave' | 'wedgeEllipseCallout' | 'wedgeRectCallout' | 'wedgeRoundRectCallout';
3041
+ /**
3042
+ * Every shape geometry name PptxGenJS can serialize without corrupting the
3043
+ * package: the OOXML preset geometries (`ST_ShapeType` — `SHAPE_TYPE` values
3044
+ * plus the unexposed connectors above) and `custGeom` (freeform paths, emitted
3045
+ * as `<a:custGeom>` rather than `<a:prstGeom>`). Used to reject bogus presets
3046
+ * before they become an invalid `<a:prstGeom prst="...">` that triggers
3047
+ * PowerPoint's "needs repair" dialog and drops the shape.
3048
+ */
3049
+ declare const VALID_SHAPE_PRESETS: ReadonlySet<string>;
2678
3050
  declare enum CHART_TYPE {
2679
3051
  'AREA' = "area",
2680
3052
  'BAR' = "bar",
@@ -2709,6 +3081,7 @@ declare enum MASTER_OBJECTS {
2709
3081
  }
2710
3082
  declare enum SLIDE_OBJECT_TYPES {
2711
3083
  'chart' = "chart",
3084
+ 'connector' = "connector",
2712
3085
  'hyperlink' = "hyperlink",
2713
3086
  'image' = "image",
2714
3087
  'media' = "media",
@@ -2719,6 +3092,12 @@ declare enum SLIDE_OBJECT_TYPES {
2719
3092
  'text' = "text",
2720
3093
  'notes' = "notes"
2721
3094
  }
3095
+ /**
3096
+ * Maps a friendly `ConnectorType` to its OOXML connector preset geometry (`prst`).
3097
+ * These are the canonical 1-segment straight, 3-segment bent (elbow), and 3-segment
3098
+ * curved connector presets PowerPoint uses by default.
3099
+ */
3100
+ declare const CONNECTOR_PRESETS: Record<'straight' | 'elbow' | 'curved', string>;
2722
3101
  declare enum PLACEHOLDER_TYPES {
2723
3102
  'title' = "title",
2724
3103
  'body' = "body",
@@ -2839,6 +3218,17 @@ declare const IMG_PLAYBTN = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAB4AAA
2839
3218
  declare const EMU_PER_INCH = 914400;
2840
3219
  declare const EMU_PER_POINT = 12700;
2841
3220
  declare const POINTS_PER_INCH = 72;
3221
+ /**
3222
+ * English Metric Units — the integer unit OOXML serializes geometry in (914400 per inch).
3223
+ *
3224
+ * Branded so a value that has already been resolved to EMU cannot be silently fed back into a
3225
+ * unit converter: {@link coordToEmu} only accepts a user `Coord`, so passing an `Emu` into it is
3226
+ * a compile-time error. This replaces the old runtime "a number ≥ 100 must already be EMU"
3227
+ * magnitude guess, which silently mis-rendered values near the threshold.
3228
+ */
3229
+ type Emu = number & {
3230
+ readonly __unit: 'emu';
3231
+ };
2842
3232
  type StandardLayoutName = 'LAYOUT_4x3' | 'LAYOUT_16x9' | 'LAYOUT_16x10' | 'LAYOUT_WIDE';
2843
3233
  interface StandardLayout {
2844
3234
  /** PptxGenJS layout key used with `pptx.layout`. */
@@ -2858,13 +3248,32 @@ interface StandardLayout {
2858
3248
  /** Slide height in English Metric Units. */
2859
3249
  readonly heightEmu: number;
2860
3250
  }
2861
- declare function inchesToEmu(inches: number): number;
2862
- declare function pointsToEmu(points: number): number;
2863
- declare function pixelsToEmu(pixels: number, dpi: number): number;
3251
+ declare function inchesToEmu(inches: number): Emu;
3252
+ declare function pointsToEmu(points: number): Emu;
3253
+ declare function pixelsToEmu(pixels: number, dpi: number): Emu;
3254
+ /**
3255
+ * Resolve a percentage of an axis length to EMU.
3256
+ * @param percent - percentage value (e.g. `50` for 50%)
3257
+ * @param axisEmu - the axis length in EMU (slide width for x/w, height for y/h)
3258
+ */
3259
+ declare function percentToEmu(percent: number, axisEmu: number): Emu;
3260
+ /**
3261
+ * The single user-coordinate → EMU boundary. Convert each user-supplied coordinate exactly once.
3262
+ *
3263
+ * Accepts (see {@link Coord}):
3264
+ * - a bare `number` → **always inches** (the documented unit); no magnitude guessing
3265
+ * - `"<n>%"` → percentage of `axisEmu`
3266
+ * - `"<n>in"` / `"<n>pt"` / `"<n>emu"` → explicit units (the escape hatch for non-inch values)
3267
+ *
3268
+ * Throws on non-finite or unparseable input rather than silently emitting a degenerate 0-size.
3269
+ * @param value - user coordinate
3270
+ * @param axisEmu - axis length in EMU, used only to resolve percentages
3271
+ */
3272
+ declare function coordToEmu(value: number | string, axisEmu: number): Emu;
2864
3273
  declare function emuToInches(emu: number): number;
2865
3274
  declare function emuToPoints(emu: number): number;
2866
3275
  declare function emuToPixels(emu: number, dpi: number): number;
2867
3276
  declare const STANDARD_LAYOUTS: Readonly<Record<StandardLayoutName, StandardLayout>>;
2868
3277
  //#endregion
2869
- export { OutputType as $, WriteProps as $n, IPresentationProps as $t, DEF_CHART_BORDER as A, SlideMasterChartProps as An, HAlign as At, DEF_SLIDE_MARGIN_IN as B, TableStyleProps as Bn, IChartPropsBase as Bt, CHART_TYPE as C, ShadowProps as Cn, Coord as Ct, DEF_CELL_BORDER as D, SlideBaseProps as Dn, GeometryPoint as Dt, DEF_BULLET_MARGIN as E, ShapeProps as En, DataOrPathRequiredProps as Et, DEF_PRES_LAYOUT as F, TableCellProps as Fn, IChartOpts as Ft, IMG_PLAYBTN as G, TextProps as Gn, IChartPropsChartRadar as Gt, DEF_TEXT_SHADOW as H, TableToSlidesProps as Hn, IChartPropsChartDoughnut as Ht, DEF_PRES_LAYOUT_NAME as I, TableProps as In, IChartOptsLib as It, LAYOUT_IDX_SERIES_BASE as J, ThemeColor as Jn, IChartPropsFillLine as Jt, IMG_SVG_PLACEHOLDER as K, TextPropsOptions as Kn, IChartPropsDataLabel as Kt, DEF_SHAPE_LINE_COLOR as L, TableRow as Ln, IChartPropsAxisCat as Lt, DEF_FONT_COLOR as M, SlideMasterProps as Mn, HyperlinkProps as Mt, DEF_FONT_SIZE as N, SlideNumberProps as Nn, IChartAreaProps as Nt, DEF_CELL_MARGIN_IN as O, SlideLayout as On, GradientFillProps as Ot, DEF_FONT_TITLE_SIZE as P, TableCell as Pn, IChartMulti as Pt, ONEPT as Q, WriteFileProps as Qn, IOptsChartData as Qt, DEF_SHAPE_SHADOW as R, TableRowSlide as Rn, IChartPropsAxisSer as Rt, CHART_NAME as S, SectionProps as Sn, Color as St, ChartType as T, ShapeLineProps as Tn, DataOrPathProps as Tt, EMU as U, TextBaseProps as Un, IChartPropsChartLine as Ut, DEF_TEXT_GLOW as V, TableStyleRegionProps as Vn, IChartPropsChartBar as Vt, IMG_BROKEN as W, TextGlowProps as Wn, IChartPropsChartPie as Wt, LINEH_MODIFIER as X, VAlign as Xn, IChartPropsTitle as Xt, LETTERS as Y, ThemeProps as Yn, IChartPropsLegend as Yt, MASTER_OBJECTS as Z, WriteBaseProps as Zn, IChartSeriesOpts as Zt, AXIS_ID_VALUE_SECONDARY as _, PresLayout as _n, BackgroundProps as _t, StandardLayout as a, LinearGradientFillProps as an, SCHEME_COLOR_NAMES as at, BARCHART_COLORS as b, PresentationProps as bn, ChartLineCap as bt, emuToPixels as c, MediaType as cn, SLDNUMFLDID as ct, pixelsToEmu as d, OptsChartData as dn, ShapeType as dt, ISlideObject as en, textRun as er, PIECHART_COLORS as et, pointsToEmu as f, OptsChartGridLine as fn, TABLE_STYLE as ft, AXIS_ID_VALUE_PRIMARY as g, PositionProps as gn, AddSlideProps as gt, AXIS_ID_SERIES_PRIMARY as h, PlaceholderProps as hn, WRITE_OUTPUT_TYPE as ht, STANDARD_LAYOUTS as i, ImageProps as in, SCHEME_COLORS as it, DEF_CHART_GRIDLINE as j, SlideMasterObject as jn, HexColor as jt, DEF_CELL_MARGIN_PT as k, SlideLayoutInternal as kn, GradientStopProps as kt, emuToPoints as l, ObjectNameProps as ln, SLIDE_OBJECT_TYPES as lt, AXIS_ID_CATEGORY_SECONDARY as m, PatternPreset as mn, TEXT_VALIGN as mt, EMU_PER_POINT as n, ISlideRelChart as nn, PLACEHOLDER_TYPES as nt, StandardLayoutName as o, Margin as on, SHAPE_NAME as ot, AXIS_ID_CATEGORY_PRIMARY as p, PatternFillProps as pn, TEXT_HALIGN as pt, JSZIP_OUTPUT_TYPE as q, TextVertType as qn, IChartPropsDataTable as qt, POINTS_PER_INCH as r, ISlideRelMedia as rn, REGEX_HEX_COLOR as rt, emuToInches as s, MediaProps as sn, SHAPE_TYPE as st, EMU_PER_INCH as t, ISlideRel as tn, textRuns as tr, PLACEHOLDER_TYPE as tt, inchesToEmu as u, ObjectOptions as un, SchemeColor as ut, AlignH as v, PresSlide as vn, BorderProps as vt, CRLF as w, ShapeFillProps as wn, CustomPropertyValue as wt, BULLET_TYPES as x, SectionInternalProps as xn, ChartLineDash as xt, AlignV as y, PresSlideInternal as yn, ChartAxisTickMark as yt, DEF_SLIDE_BKGD as z, TableStyleInternal as zn, IChartPropsAxisVal as zt };
2870
- //# sourceMappingURL=units-y594YyBo.d.ts.map
3278
+ export { LETTERS as $, TableToSlidesProps as $n, IChartPropsChartRadar as $t, DEF_BULLET_MARGIN as A, PresentationProps as An, ConnectorType as At, DEF_PRES_LAYOUT_NAME as B, SlideLayoutInternal as Bn, HyperlinkProps as Bt, BARCHART_COLORS as C, PatternFillProps as Cn, BorderProps as Ct, CONNECTOR_PRESETS as D, PresLayout as Dn, ChartLineDash as Dt, CHART_TYPE as E, PositionProps as En, ChartLineCap as Et, DEF_CHART_GRIDLINE as F, ShapeFillProps as Fn, GeometryPoint as Ft, DEF_TEXT_GLOW as G, TableCell as Gn, IChartPropsAxisCat as Gt, DEF_SHAPE_SHADOW as H, SlideMasterObject as Hn, IChartMulti as Ht, DEF_FONT_COLOR as I, ShapeLineProps as In, GradientFillProps as It, IMG_BROKEN as J, TableRow as Jn, IChartPropsBase as Jt, DEF_TEXT_SHADOW as K, TableCellProps as Kn, IChartPropsAxisSer as Kt, DEF_FONT_SIZE as L, ShapeProps as Ln, GradientStopProps as Lt, DEF_CELL_MARGIN_IN as M, SectionProps as Mn, CustomPropertyValue as Mt, DEF_CELL_MARGIN_PT as N, ShadowProps as Nn, DataOrPathProps as Nt, CRLF as O, PresSlide as On, Color as Ot, DEF_CHART_BORDER as P, ShapeAdjustValue as Pn, DataOrPathRequiredProps as Pt, LAYOUT_IDX_SERIES_BASE as Q, TableStyleRegionProps as Qn, IChartPropsChartPie as Qt, DEF_FONT_TITLE_SIZE as R, SlideBaseProps as Rn, HAlign as Rt, AlignV as S, OptsChartGridLine as Sn, BackgroundProps as St, CHART_NAME as T, PlaceholderProps as Tn, ChartDataPointStyle as Tt, DEF_SLIDE_BKGD as U, SlideMasterProps as Un, IChartOpts as Ut, DEF_SHAPE_LINE_COLOR as V, SlideMasterChartProps as Vn, IChartAreaProps as Vt, DEF_SLIDE_MARGIN_IN as W, SlideNumberProps as Wn, IChartOptsLib as Wt, IMG_SVG_PLACEHOLDER as X, TableStyleInternal as Xn, IChartPropsChartDoughnut as Xt, IMG_PLAYBTN as Y, TableRowSlide as Yn, IChartPropsChartBar as Yt, JSZIP_OUTPUT_TYPE as Z, TableStyleProps as Zn, IChartPropsChartLine as Zt, AXIS_ID_CATEGORY_SECONDARY as _, MediaType as _n, TEXT_HALIGN as _t, STANDARD_LAYOUTS as a, IChartSeriesOpts as an, TextVertType as ar, PLACEHOLDER_TYPE as at, AXIS_ID_VALUE_SECONDARY as b, ObjectOptions as bn, WRITE_OUTPUT_TYPE as bt, coordToEmu as c, ISlideObject as cn, ThemeProps as cr, SCHEME_COLORS as ct, emuToPoints as d, ISlideRelMedia as dn, WriteFileProps as dr, SHAPE_TYPE as dt, IChartPropsDataLabel as en, TextBaseProps as er, LINEH_MODIFIER as et, inchesToEmu as f, ImageProps as fn, WriteProps as fr, SLDNUMFLDID as ft, AXIS_ID_CATEGORY_PRIMARY as g, MediaProps as gn, TABLE_STYLE as gt, pointsToEmu as h, Margin as hn, ShapeType as ht, POINTS_PER_INCH as i, IChartPropsTitle as in, TextPropsOptions as ir, PIECHART_COLORS as it, DEF_CELL_BORDER as j, SectionInternalProps as jn, Coord as jt, ChartType as k, PresSlideInternal as kn, ConnectorProps as kt, emuToInches as l, ISlideRel as ln, VAlign as lr, SCHEME_COLOR_NAMES as lt, pixelsToEmu as m, LinearGradientFillProps as mn, textRuns as mr, SchemeColor as mt, EMU_PER_POINT as n, IChartPropsFillLine as nn, TextGlowProps as nr, ONEPT as nt, StandardLayout as o, IOptsChartData as on, ThemeColor as or, PLACEHOLDER_TYPES as ot, percentToEmu as p, LineCap as pn, textRun as pr, SLIDE_OBJECT_TYPES as pt, EMU as q, TableProps as qn, IChartPropsAxisVal as qt, Emu as r, IChartPropsLegend as rn, TextProps as rr, OutputType as rt, StandardLayoutName as s, IPresentationProps as sn, ThemeColorScheme as sr, REGEX_HEX_COLOR as st, EMU_PER_INCH as t, IChartPropsDataTable as tn, TextFitShrinkProps as tr, MASTER_OBJECTS as tt, emuToPixels as u, ISlideRelChart as un, WriteBaseProps as ur, SHAPE_NAME as ut, AXIS_ID_SERIES_PRIMARY as v, ObjectLockProps as vn, TEXT_VALIGN as vt, BULLET_TYPES as w, PatternPreset as wn, ChartAxisTickMark as wt, AlignH as x, OptsChartData as xn, AddSlideProps as xt, AXIS_ID_VALUE_PRIMARY as y, ObjectNameProps as yn, VALID_SHAPE_PRESETS as yt, DEF_PRES_LAYOUT as z, SlideLayout as zn, HexColor as zt };
3279
+ //# sourceMappingURL=units-DlsWUw1U.d.ts.map