@shbernal/ts-pptx 1.0.0 → 2.0.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 (53) hide show
  1. package/README.md +3 -1
  2. package/dist/browser.d.ts +5 -5
  3. package/dist/browser.js +2 -2
  4. package/dist/{diagnostics-DzY9Tyfm.d.ts → diagnostics-CQ0JWc9m.d.ts} +4 -21
  5. package/dist/{diagnostics-DzY9Tyfm.d.ts.map → diagnostics-CQ0JWc9m.d.ts.map} +1 -1
  6. package/dist/{errors-DRLpOpgQ.d.ts → errors-B22h8Qd0.d.ts} +3 -3
  7. package/dist/{errors-DRLpOpgQ.d.ts.map → errors-B22h8Qd0.d.ts.map} +1 -1
  8. package/dist/errors-DGE9zh3U.js.map +1 -1
  9. package/dist/{fit-CbxyHN69.js → fit-BSWY0AYt.js} +0 -0
  10. package/dist/{fit-CbxyHN69.js.map → fit-BSWY0AYt.js.map} +1 -1
  11. package/dist/{html-dom-wVa3TiG7.js → html-dom-BQLUntho.js} +2 -2
  12. package/dist/html-dom-BQLUntho.js.map +1 -0
  13. package/dist/html.d.ts +3 -3
  14. package/dist/html.js +1 -1
  15. package/dist/{image-size-C5Z1sKof.js → image-size-C8uYE8GJ.js} +3 -3
  16. package/dist/{image-size-C5Z1sKof.js.map → image-size-C8uYE8GJ.js.map} +1 -1
  17. package/dist/index.d.ts +5 -5
  18. package/dist/index.js +2 -2
  19. package/dist/inspect.d.ts +1 -1
  20. package/dist/inspect.js +2 -2
  21. package/dist/math.d.ts +1 -1
  22. package/dist/math.js +2 -1
  23. package/dist/math.js.map +1 -1
  24. package/dist/measure.d.ts +2 -2
  25. package/dist/measure.js +1 -1
  26. package/dist/node.d.ts +5 -5
  27. package/dist/node.js +1 -1
  28. package/dist/{pres-5x1bjCzk.d.ts → pres-GU-jjBEx.d.ts} +2 -2
  29. package/dist/{pres-5x1bjCzk.d.ts.map → pres-GU-jjBEx.d.ts.map} +1 -1
  30. package/dist/{presentation-RGOiun5P.d.ts → presentation-CVaTZw1V.d.ts} +316 -18
  31. package/dist/presentation-CVaTZw1V.d.ts.map +1 -0
  32. package/dist/{presentation-B0JWdTN1.js → presentation-MJe9WDi4.js} +21 -27
  33. package/dist/presentation-MJe9WDi4.js.map +1 -0
  34. package/dist/read.d.ts +4 -4
  35. package/dist/read.js +2 -2
  36. package/dist/script.d.ts +2 -2
  37. package/dist/script.d.ts.map +1 -1
  38. package/dist/script.js +0 -0
  39. package/dist/script.js.map +1 -1
  40. package/dist/{shapes-BZU8UTW2.js → shapes-CaOgR0i1.js} +910 -22
  41. package/dist/shapes-CaOgR0i1.js.map +1 -0
  42. package/dist/{slide-B6mDaM-P.d.ts → slide-BBlElWr9.d.ts} +223 -92
  43. package/dist/slide-BBlElWr9.d.ts.map +1 -0
  44. package/dist/{text-WRUbOy2r.js → text-B1ZrPEeK.js} +441 -186
  45. package/dist/text-B1ZrPEeK.js.map +1 -0
  46. package/dist/zip.d.ts +1 -1
  47. package/package.json +9 -20
  48. package/dist/html-dom-wVa3TiG7.js.map +0 -1
  49. package/dist/presentation-B0JWdTN1.js.map +0 -1
  50. package/dist/presentation-RGOiun5P.d.ts.map +0 -1
  51. package/dist/shapes-BZU8UTW2.js.map +0 -1
  52. package/dist/slide-B6mDaM-P.d.ts.map +0 -1
  53. package/dist/text-WRUbOy2r.js.map +0 -1
@@ -1482,6 +1482,21 @@ interface BorderProps {
1482
1482
  * @default solid
1483
1483
  */
1484
1484
  type?: 'none' | 'dash' | 'solid';
1485
+ /**
1486
+ * Dash pattern, using the same vocabulary as {@link ShapeLineProps.dashType}.
1487
+ *
1488
+ * `type` is only a coarse three-way switch, so every dashed border it can express
1489
+ * collapses onto `sysDash`. Set this to pick the exact `a:prstDash` preset instead:
1490
+ * `dashType: 'lgDashDot'` emits `<a:prstDash val="lgDashDot"/>`.
1491
+ *
1492
+ * **Precedence.** When both are set, `dashType` wins over `type` for the dash pattern —
1493
+ * `{ type: 'solid', dashType: 'sysDot' }` draws a dotted rule. The one exception is
1494
+ * `type: 'none'`, which suppresses the border entirely and is decided before any dash
1495
+ * pattern is chosen. An unrecognized value warns and falls back to what `type` implies.
1496
+ * @default (derived from `type`: `sysDash` for `'dash'`, else `solid`)
1497
+ * @example { type: 'solid', color: '999999', dashType: 'lgDash' }
1498
+ */
1499
+ dashType?: ShapeLineProps['dashType'];
1485
1500
  /**
1486
1501
  * Border color (hex)
1487
1502
  * @example 'FF3399'
@@ -1631,10 +1646,11 @@ interface ShapeLineProps extends ShapeFillProps {
1631
1646
  */
1632
1647
  width?: number;
1633
1648
  /**
1634
- * Dash type
1649
+ * Dash type — the full `ST_PresetLineDashVal` set, so any dash a source deck can
1650
+ * carry can also be authored and replicated.
1635
1651
  * @default 'solid'
1636
1652
  */
1637
- dashType?: 'solid' | 'dash' | 'dashDot' | 'lgDash' | 'lgDashDot' | 'lgDashDotDot' | 'sysDash' | 'sysDot';
1653
+ dashType?: 'solid' | 'dot' | 'dash' | 'lgDash' | 'dashDot' | 'lgDashDot' | 'lgDashDotDot' | 'sysDash' | 'sysDot' | 'sysDashDot' | 'sysDashDotDot';
1638
1654
  /**
1639
1655
  * Line end cap style
1640
1656
  * @default 'flat'
@@ -2592,6 +2608,71 @@ interface TableToSlidesProps extends TableProps {
2592
2608
  */
2593
2609
  slideMargin?: Margin;
2594
2610
  }
2611
+ /**
2612
+ * A table cell's corner-to-corner rules (`a:tcPr/a:lnTlToBr` / `a:lnBlToTr`) — the
2613
+ * "Diagonal Down Border" / "Diagonal Up Border" of PowerPoint's border gallery.
2614
+ *
2615
+ * Deliberately its own object rather than two more entries on {@link TableCellProps.border}'s
2616
+ * tuple: widening that tuple to six would break every existing caller for a construct almost
2617
+ * no deck uses, and the two diagonals are not edges — they do not participate in the
2618
+ * perimeter, and they are not inherited by a merged region's covered cells.
2619
+ *
2620
+ * @example diagonal: { tlToBr: { type:'solid', color:'C00000', width:1 } } // strike a cell out
2621
+ * @example diagonal: { tlToBr: { type:'solid' }, blToTr: { type:'solid' } } // an X across the cell
2622
+ */
2623
+ interface TableCellDiagonals {
2624
+ /** Top-left to bottom-right (`╲`, `a:lnTlToBr`). */
2625
+ tlToBr?: BorderProps;
2626
+ /** Bottom-left to top-right (`╱`, `a:lnBlToTr`). */
2627
+ blToTr?: BorderProps;
2628
+ }
2629
+ /** `ST_BevelPresetType` — the bevel profile applied to a cell's edges. */
2630
+ type BevelPresetType = 'relaxedInset' | 'circle' | 'slope' | 'cross' | 'angle' | 'softRound' | 'convex' | 'coolSlant' | 'divot' | 'riblet' | 'hardEdge' | 'artDeco';
2631
+ /** `ST_PresetMaterialType` — how a 3-D surface responds to light. */
2632
+ type PresetMaterialType = 'legacyMatte' | 'legacyPlastic' | 'legacyMetal' | 'legacyWireframe' | 'matte' | 'plastic' | 'metal' | 'warmMatte' | 'translucentPowder' | 'powder' | 'dkEdge' | 'softEdge' | 'clear' | 'flat' | 'softmetal';
2633
+ /** `ST_LightRigType` — the preset lighting scene. */
2634
+ type LightRigType = 'legacyFlat1' | 'legacyFlat2' | 'legacyFlat3' | 'legacyFlat4' | 'legacyNormal1' | 'legacyNormal2' | 'legacyNormal3' | 'legacyNormal4' | 'legacyHarsh1' | 'legacyHarsh2' | 'legacyHarsh3' | 'legacyHarsh4' | 'threePt' | 'balanced' | 'soft' | 'harsh' | 'flood' | 'contrasting' | 'morning' | 'sunrise' | 'sunset' | 'chilly' | 'freezing' | 'flat' | 'twoPt' | 'glow' | 'brightRoom';
2635
+ /** `ST_LightRigDirection` — where the light rig sits relative to the scene. */
2636
+ type LightRigDirection = 'tl' | 't' | 'tr' | 'l' | 'r' | 'bl' | 'b' | 'br';
2637
+ /**
2638
+ * A cell's 3-D bevel (`a:tcPr/a:cell3D`).
2639
+ *
2640
+ * A minimal surface over `CT_Cell3D`, which is a required `a:bevel` plus an optional
2641
+ * `a:lightRig`. PowerPoint's table UI exposes no control for it — it reaches a deck through a
2642
+ * theme's table style or through another producer — so this exists to author and reproduce
2643
+ * one, not as a general 3-D model.
2644
+ */
2645
+ interface TableCell3DProps {
2646
+ /**
2647
+ * The bevel's preset shape (`a:bevel/@prst`).
2648
+ * @default 'circle'
2649
+ */
2650
+ preset?: BevelPresetType;
2651
+ /**
2652
+ * Bevel width in points (`a:bevel/@w`; the attribute is EMU).
2653
+ * @default 6 // 76200 EMU
2654
+ */
2655
+ width?: number;
2656
+ /**
2657
+ * Bevel height in points (`a:bevel/@h`; the attribute is EMU).
2658
+ * @default 6 // 76200 EMU
2659
+ */
2660
+ height?: number;
2661
+ /**
2662
+ * Surface material (`a:cell3D/@prstMaterial`), which decides how the bevel takes light.
2663
+ * @default 'plastic'
2664
+ */
2665
+ material?: PresetMaterialType;
2666
+ /**
2667
+ * Scene lighting (`a:cell3D/a:lightRig`). Both fields are required by the schema, so
2668
+ * either give both or omit the whole object and let the renderer light the bevel.
2669
+ * @example lightRig: { rig: 'threePt', dir: 't' }
2670
+ */
2671
+ lightRig?: {
2672
+ rig: LightRigType;
2673
+ dir: LightRigDirection;
2674
+ };
2675
+ }
2595
2676
  interface TableCellProps extends TextBaseProps {
2596
2677
  /**
2597
2678
  * Auto-paging character weight
@@ -2610,9 +2691,44 @@ interface TableCellProps extends TextBaseProps {
2610
2691
  */
2611
2692
  autoPageLineWeight?: number;
2612
2693
  /**
2613
- * Cell border
2694
+ * The cell's four edge borders (`a:tcPr/a:lnT|lnR|lnB|lnL`).
2695
+ * - a single `BorderProps` is broadcast to all four sides
2696
+ * - an array is read in **TRBL** order (`[top, right, bottom, left]`)
2697
+ *
2698
+ * Overrides the table-level {@link TableProps.border} default entirely — the two do not
2699
+ * merge per side. For the two corner-to-corner rules see {@link diagonal}; for the
2700
+ * table's outside edge see {@link TableProps.outerBorder}.
2614
2701
  */
2615
2702
  border?: BorderProps | [BorderProps, BorderProps, BorderProps, BorderProps];
2703
+ /**
2704
+ * The cell's corner-to-corner rules — PowerPoint's "Diagonal Down/Up Border".
2705
+ *
2706
+ * Kept off {@link border}'s tuple on purpose: see {@link TableCellDiagonals}. A diagonal
2707
+ * on a merged cell is one stroke across the whole region, so only the span origin carries
2708
+ * it — the covered cells inherit the origin's *edges* but never its diagonals.
2709
+ * @example diagonal: { tlToBr: { type:'solid', color:'C00000' } } // strike the cell out
2710
+ */
2711
+ diagonal?: TableCellDiagonals;
2712
+ /**
2713
+ * Centre the cell's whole text **block** horizontally within the cell
2714
+ * (`a:tcPr/@anchorCtr`), independent of each paragraph's own `align`.
2715
+ *
2716
+ * The two do different things and compose: `align` decides where each line sits inside
2717
+ * the text block, `anchorCtr` decides where that block sits inside the cell. With
2718
+ * left-aligned text in a wide cell, `anchorCtr: true` centres the ragged-right column of
2719
+ * lines as a unit while keeping their left edges flush with each other.
2720
+ *
2721
+ * `false` is the schema default, so it emits nothing — the same reasoning as
2722
+ * `horzOverflow: 'clip'`.
2723
+ * @default false
2724
+ */
2725
+ anchorCtr?: boolean;
2726
+ /**
2727
+ * A 3-D bevel on the cell (`a:tcPr/a:cell3D`). Niche: PowerPoint's table UI has no
2728
+ * control for it, so it reaches a deck from a theme or another producer, and this exists
2729
+ * to author and reproduce one. See {@link TableCell3DProps}.
2730
+ */
2731
+ cell3D?: TableCell3DProps;
2616
2732
  /**
2617
2733
  * Cell colspan
2618
2734
  */
@@ -2629,6 +2745,24 @@ interface TableCellProps extends TextBaseProps {
2629
2745
  * @example { image:{ data:'image/png;base64,…' } } // picture fill, `type` inferred
2630
2746
  */
2631
2747
  fill?: ShapeFillProps;
2748
+ /**
2749
+ * What happens to a **single glyph** wider than the cell's text width (`a:tcPr/@horzOverflow`).
2750
+ * - `'clip'` (PowerPoint's default) cuts the glyph off at the cell edge
2751
+ * - `'overflow'` lets it draw past the edge, over whatever is beside it
2752
+ *
2753
+ * This is **not** a text-wrap switch, despite the name. Lines always wrap to the column
2754
+ * width; only an individual character too wide to fit on a line by itself is affected, so
2755
+ * it matters for oversized display type, wide CJK/emoji glyphs, and icon fonts in a narrow
2756
+ * column. PowerPoint has no per-cell no-wrap at all — `wrap="none"` on a cell's `a:bodyPr`
2757
+ * is discarded on the next save (probe:
2758
+ * `test/read/fixtures/authoring/probe-table-cell-wrap.ps1`).
2759
+ * `'clip'` is written as asked but is the schema default, so PowerPoint drops the
2760
+ * attribute again the first time it saves the deck — the visible result is the same
2761
+ * either way, and leaving this unset emits nothing at all.
2762
+ * @default (unset — PowerPoint clips)
2763
+ * @example 'overflow' // a 60pt glyph in a 0.5in column draws whole instead of being cut
2764
+ */
2765
+ horzOverflow?: 'clip' | 'overflow';
2632
2766
  hyperlink?: HyperlinkProps;
2633
2767
  /**
2634
2768
  * Cell margin (inches)
@@ -2658,74 +2792,6 @@ interface TableCellProps extends TextBaseProps {
2658
2792
  */
2659
2793
  fit?: 'none' | 'shrink' | 'resize' | TextFitShrinkProps;
2660
2794
  }
2661
- /**
2662
- * Styling for one region of a custom table style (maps to a `CT_TablePartStyle`).
2663
- * A region (e.g. the header row or banded rows) is shown only when the matching
2664
- * `TableProps` flag is set — `firstRow` needs `hasHeader`, `band1H`/`band2H` need
2665
- * `hasBandedRows`, and so on.
2666
- * @see TableStyleProps
2667
- */
2668
- interface TableStyleRegionProps {
2669
- /**
2670
- * Solid cell fill color (hex).
2671
- * - `HexColor` only; theme references are not supported in custom styles
2672
- * @example '1A2B3C'
2673
- */
2674
- fill?: HexColor;
2675
- /**
2676
- * Text color (hex).
2677
- * @example 'FFFFFF'
2678
- */
2679
- color?: HexColor;
2680
- /** Bold text. */
2681
- bold?: boolean;
2682
- /** Italic text. */
2683
- italic?: boolean;
2684
- /**
2685
- * Cell border(s).
2686
- * - single value is applied to all four sides plus the interior grid lines
2687
- * - array of values in TRBL order styles only the four outer sides
2688
- */
2689
- border?: BorderProps | [BorderProps, BorderProps, BorderProps, BorderProps];
2690
- }
2691
- /**
2692
- * A reusable custom table style written to `ppt/tableStyles.xml`.
2693
- * Pass to `pptx.defineTableStyle()`, which registers it and returns a GUID to use
2694
- * as `TableProps.tableStyle`. Unlike the fixed built-in `TableStyle` set, a custom
2695
- * style can use arbitrary brand colors, is editable in PowerPoint's Table Styles
2696
- * gallery, and bands correctly across any row/column count (including auto-paged tables).
2697
- * @example
2698
- * const brand = pptx.defineTableStyle({
2699
- * name: 'Brand Banded',
2700
- * wholeTbl: { border: { type:'solid', color:'D9D9D9', width:0.5 } },
2701
- * firstRow: { fill:'1A2B3C', color:'FFFFFF', bold:true },
2702
- * band1H: { fill:'EAF1F8' },
2703
- * band2H: { fill:'FFFFFF' },
2704
- * })
2705
- * slide.addTable(rows, { tableStyle: brand, hasHeader:true, hasBandedRows:true })
2706
- */
2707
- interface TableStyleProps {
2708
- /** Display name shown in PowerPoint's Table Styles gallery. */
2709
- name: string;
2710
- /** Base styling applied to every cell. */
2711
- wholeTbl?: TableStyleRegionProps;
2712
- /** Header (first) row — activated by `TableProps.hasHeader`. */
2713
- firstRow?: TableStyleRegionProps;
2714
- /** Footer (last) row — activated by `TableProps.hasFooter`. */
2715
- lastRow?: TableStyleRegionProps;
2716
- /** First column — activated by `TableProps.hasFirstColumn`. */
2717
- firstCol?: TableStyleRegionProps;
2718
- /** Last column — activated by `TableProps.hasLastColumn`. */
2719
- lastCol?: TableStyleRegionProps;
2720
- /** Odd horizontal band — activated by `TableProps.hasBandedRows`. */
2721
- band1H?: TableStyleRegionProps;
2722
- /** Even horizontal band — activated by `TableProps.hasBandedRows`. */
2723
- band2H?: TableStyleRegionProps;
2724
- /** Odd vertical band — activated by `TableProps.hasBandedColumns`. */
2725
- band1V?: TableStyleRegionProps;
2726
- /** Even vertical band — activated by `TableProps.hasBandedColumns`. */
2727
- band2V?: TableStyleRegionProps;
2728
- }
2729
2795
  interface TableProps extends PositionProps, TextBaseProps, ObjectNameProps {
2730
2796
  _arrObjTabHeadRows?: TableRow[];
2731
2797
  /**
@@ -2786,11 +2852,41 @@ interface TableProps extends PositionProps, TextBaseProps, ObjectNameProps {
2786
2852
  */
2787
2853
  autoPagePlaceholder?: boolean;
2788
2854
  /**
2789
- * Table border
2790
- * - single value is applied to all 4 sides
2791
- * - array of values in TRBL order for individual sides
2855
+ * Default border for **every cell** in the table — not the table's outer perimeter.
2856
+ *
2857
+ * A single `BorderProps` is broadcast to all four sides of each cell; an array is read
2858
+ * in TRBL order and applied to each cell's own four sides. So
2859
+ * `border: [{type:'solid'}, {type:'none'}, {type:'solid'}, {type:'none'}]` gives *every*
2860
+ * cell a top and bottom rule — a full set of horizontal grid lines, not a rule at the
2861
+ * top and bottom of the table. A cell's own `options.border` overrides this entirely.
2862
+ *
2863
+ * For the perimeter, use {@link outerBorder}, which applies only to the cells on the
2864
+ * table's outside edge. The two compose: `border` draws the interior grid and
2865
+ * `outerBorder` overrides the edges it reaches.
2866
+ * @example border: { type:'solid', color:'D9D9D9', width:0.5 } // full grid
2867
+ * @example border: [{type:'solid'}, {type:'none'}, {type:'solid'}, {type:'none'}] // horizontal rules only
2792
2868
  */
2793
2869
  border?: BorderProps | [BorderProps, BorderProps, BorderProps, BorderProps];
2870
+ /**
2871
+ * Border for the table's outer perimeter only — the top edge of the first row, the
2872
+ * bottom edge of the last row, the left edge of the first column and the right edge of
2873
+ * the last column.
2874
+ *
2875
+ * A single `BorderProps` is used for all four perimeter sides; an array is read in TRBL
2876
+ * order, so `outerBorder: [box, box, box, box]` boxes the table and
2877
+ * `outerBorder: [rule, undefined, rule, undefined]` rules only above and below it.
2878
+ * An `undefined`/omitted entry leaves that side to whatever {@link border} (or the cell's
2879
+ * own `options.border`) already put there.
2880
+ *
2881
+ * Applied **after** every other border source, so it wins on the sides it touches and
2882
+ * leaves the interior alone — the "outline the table, no interior grid" case is
2883
+ * `outerBorder` with no `border` at all. Merged cells are handled: a span's covered cells
2884
+ * inherit the origin's borders, so a colspan straddling the last column still gets the
2885
+ * right-hand rule.
2886
+ * @example outerBorder: { type:'solid', color:'1A2B3C', width:1 } // box the table
2887
+ * @example outerBorder: [{type:'solid'}, undefined, {type:'solid'}, undefined] // rules above and below
2888
+ */
2889
+ outerBorder?: BorderProps | [BorderProps?, BorderProps?, BorderProps?, BorderProps?];
2794
2890
  /**
2795
2891
  * Width of table columns (inches)
2796
2892
  * - single value is applied to every column equally based upon `w`
@@ -2875,30 +2971,34 @@ interface TableProps extends PositionProps, TextBaseProps, ObjectNameProps {
2875
2971
  */
2876
2972
  rtl?: boolean;
2877
2973
  /**
2878
- * Table style to apply, either a built-in `TableStyle` member or the GUID
2879
- * returned by `pptx.defineTableStyle()` for a custom style.
2974
+ * Built-in table style to apply, as a `TableStyle` member.
2880
2975
  * Emits `<a:tableStyleId>` inside `<a:tblPr>` with the corresponding GUID.
2881
2976
  * Style flags (`hasHeader`, `hasFooter`, `hasBandedRows`, etc.) select which
2882
2977
  * regions of the chosen style are activated; they have no visible effect without
2883
2978
  * a `tableStyle` set.
2884
2979
  *
2885
- * @example tableStyle: pptx.TableStyle.MEDIUM_STYLE_2_ACCENT_1 // built-in
2886
- * @example const brand = pptx.defineTableStyle({ name:'Brand', firstRow:{ fill:'1A2B3C', color:'FFFFFF', bold:true } }); tableStyle: brand
2980
+ * **Only a built-in GUID renders.** PowerPoint resolves `<a:tableStyleId>` against
2981
+ * its own table-style gallery and never reads a style definition out of the package,
2982
+ * so a GUID it does not recognise leaves the table with PowerPoint's no-style look —
2983
+ * a black hairline grid. For brand colours use direct formatting instead:
2984
+ * `headerRow`, `columns[i]`, the table-level {@link border} / {@link fill}, or per-cell
2985
+ * options. See `docs/tables.md` → "Table styles".
2986
+ *
2987
+ * @example tableStyle: pptx.TableStyle.MEDIUM_STYLE_2_ACCENT_1
2887
2988
  */
2888
- tableStyle?: TableStyle | string;
2989
+ tableStyle?: TableStyle;
2889
2990
  /**
2890
2991
  * Inline styling for the header (first) row, applied as direct per-cell formatting.
2891
2992
  *
2892
- * Convenience shortcut for styling a header distinctly from the body **without** first
2893
- * registering a custom style via `pptx.defineTableStyle({ firstRow })`. Each property is
2894
- * merged onto every cell of row 0 (`fill`, `color`, `bold`, `align`, `border`, etc.).
2993
+ * This is how a header is styled distinctly from the body: each property is merged
2994
+ * onto every cell of row 0 (`fill`, `color`, `bold`, `align`, `border`, etc.).
2895
2995
  *
2896
2996
  * Precedence (highest wins), matching how PowerPoint resolves styling — direct cell
2897
2997
  * formatting overrides a table-style region:
2898
2998
  * 1. explicit per-cell `options` on a row-0 cell
2899
2999
  * 2. this `headerRow`
2900
- * 3. the `firstRow` region of any `tableStyle`
2901
- * 4. `wholeTbl` / defaults
3000
+ * 3. the `firstRow` region of a built-in `tableStyle`
3001
+ * 4. the library's per-cell defaults
2902
3002
  *
2903
3003
  * Setting `headerRow` also implies `hasHeader: true` (emits `firstRow="1"` for the
2904
3004
  * accessibility "table header" marker) unless `hasHeader` is explicitly set to `false`.
@@ -2920,7 +3020,7 @@ interface TableProps extends PositionProps, TextBaseProps, ObjectNameProps {
2920
3020
  * 1. explicit per-cell `options`
2921
3021
  * 2. `headerRow` (row 0 only)
2922
3022
  * 3. this `columns[colIdx]`
2923
- * 4. `wholeTbl` / `tableStyle` / defaults
3023
+ * 4. a built-in `tableStyle` / the library's per-cell defaults
2924
3024
  *
2925
3025
  * The merge is property-level, so a header cell keeps `headerRow`'s typography **and**
2926
3026
  * takes its column's `fill` when they set different properties. For a graduated header
@@ -2942,16 +3042,39 @@ interface TableProps extends PositionProps, TextBaseProps, ObjectNameProps {
2942
3042
  */
2943
3043
  columns?: TableCellProps[];
2944
3044
  /**
2945
- * Default cell background for every cell in the table — a solid color or a
2946
- * picture fill. Superseded per cell by `options.fill`, `headerRow`, and
2947
- * `columns[i]`. A picture fill is embedded once and shared by every cell that
2948
- * inherits it.
3045
+ * Default cell background — **stamped onto every cell**, not painted behind the table.
3046
+ *
3047
+ * Each cell that does not set its own `options.fill` (or take one from `headerRow` /
3048
+ * `columns[i]`) gets this as its own `a:tcPr` fill. A picture fill is embedded once and
3049
+ * shared by every cell that inherits it.
3050
+ *
3051
+ * Visually this is usually what you want, but it is not what a source deck contains, and
3052
+ * it has one real consequence: because every cell ends up explicitly filled, a cell that
3053
+ * later gets its own fill has nothing to fall back to. For a genuine table background —
3054
+ * one `a:tblPr` fill that cells sit on top of — use {@link tableFill}.
2949
3055
  * @example { color:'FF0000' } // hex color (red)
2950
3056
  * @example { color:'0088CC', transparency:50 } // hex color, 50% transparent
2951
3057
  * @example { color:SchemeColor.accent1 } // theme color Accent1
2952
3058
  * @example { type:'image', image:{ path:'watermark.png' } } // picture fill
2953
3059
  */
2954
3060
  fill?: ShapeFillProps;
3061
+ /**
3062
+ * The table's own background (`a:tblPr` fill) — one fill behind the whole table that
3063
+ * every cell sits on top of.
3064
+ *
3065
+ * The counterpart to {@link fill}, and the difference is where the paint lands rather
3066
+ * than how it looks: `fill` copies a colour onto every cell, while this writes a single
3067
+ * fill on the table itself. That matters when a cell is meant to be transparent — with
3068
+ * `tableFill`, an unfilled cell shows the table background through; with `fill` there is
3069
+ * no such thing as an unfilled cell. It is also what a deck read back from PowerPoint
3070
+ * actually carries, so a replica reproduces the source's structure rather than an
3071
+ * equivalent-looking flattening of it.
3072
+ *
3073
+ * Takes the same `ShapeFillProps` a cell does — solid, gradient, pattern or picture.
3074
+ * @example { color:'F2F2F2' } // a light background behind the whole table
3075
+ * @example { type:'image', image:{ path:'watermark.png' } } // one watermark, not one per cell
3076
+ */
3077
+ tableFill?: ShapeFillProps;
2955
3078
  /**
2956
3079
  * Cell margin (inches)
2957
3080
  * - affects all table cells, is superceded by cell options
@@ -3320,7 +3443,15 @@ interface ObjectOptions extends ImageBaseProps, PositionProps, ShapeProps, Table
3320
3443
  hasFirstColumn?: boolean;
3321
3444
  hasLastColumn?: boolean;
3322
3445
  rtl?: boolean;
3323
- tableStyle?: TableStyle | string;
3446
+ tableStyle?: TableStyle;
3447
+ /**
3448
+ * Table perimeter border. `addTableDefinition` normalizes it to a 4-tuple (TRBL, sides
3449
+ * left unset as `undefined`) before it reaches the emitter, so the serializer never has
3450
+ * to re-handle the single-`BorderProps` form.
3451
+ */
3452
+ outerBorder?: TableProps['outerBorder'];
3453
+ /** Table background (`a:tblPr` fill), as distinct from `fill`, which is stamped onto each cell. */
3454
+ tableFill?: TableProps['tableFill'];
3324
3455
  }
3325
3456
  interface SlideLayout {
3326
3457
  background?: BackgroundProps;
@@ -3392,5 +3523,5 @@ interface AddSlideProps {
3392
3523
  sectionTitle?: string;
3393
3524
  }
3394
3525
  //#endregion
3395
- export { LinearGradientFillProps as $, CommentProps as $t, ImageBaseProps as A, ChartPropsChartBar as At, ShapeGuide as B, ChartPropsChartWaterfall as Bt, TableRow as C, ChartLineDash as Ct, TableToSlidesDocument as D, ChartPropsAxisSer as Dt, TableStyleRegionProps as E, ChartPropsAxisCat as Et, ShapeAdjustHandle as F, ChartPropsChartPie as Ft, DataOrPathProps as G, ChartPropsTitle as Gt, BackgroundProps as H, ChartPropsDataTable as Ht, ShapeAdjustHandlePolar as I, ChartPropsChartRadar as It, GradientFillProps as J, OptsChartData as Jt, DataOrPathRequiredProps as K, ChartSeriesOpts as Kt, ShapeAdjustHandleXY as L, ChartPropsChartRegionMap as Lt, MediaProps as M, ChartPropsChartDoughnut as Mt, MediaType as N, ChartPropsChartHistogram as Nt, TableToSlidesElement as O, ChartPropsAxisVal as Ot, OleObjectProps as P, ChartPropsChartLine as Pt, ImageFillProps as Q, PlaceholderProps as Qt, ShapeAdjustValue as R, ChartPropsChartStock as Rt, TableProps as S, ChartExStatistics as St, TableStyleProps as T, ChartOpts as Tt, Color as U, ChartPropsFillLine as Ut, ShapeProps as V, ChartPropsDataLabel as Vt, Coord as W, ChartPropsLegend as Wt, HAlign as X, ObjectLockProps as Xt, GradientStopProps as Y, OptsChartGridLine as Yt, HexColor as Z, ObjectNameProps as Zt, TransitionProps as _, ChartAxisTickMark as _t, Slide as a, SlideComment as an, TextVertType as at, TableCell as b, ChartExBinning as bt, MasterTextStyleLevel as c, TextBaseProps as cn, BorderProps as ct, SlideMasterObject as d, TextMeasurement as dn, HyperlinkActionJump as dt, MeasureTextOptions as en, Margin as et, SlideMasterProps as f, TextProps as fn, HyperlinkProps as ft, PresetEffect as g, ChartAreaProps as gt, AnimationTrigger as h, textRuns as hn, ShapeLineProps as ht, ObjectOptions as i, ResolvedCommentAuthor as in, RadialGradientFillProps as it, ImageProps as j, ChartPropsChartBoxWhisker as jt, TableToSlidesProps as k, ChartPropsBase as kt, MasterTextStyleProps as l, TextFitShrinkProps as ln, ConnectorProps as lt, AnimationProps as m, textRun as mn, ShapeFillProps as mt, GroupChildProps as n, NotesTextOptions as nn, PatternPreset as nt, SlideLayout as o, TableCellLayout as on, ThemeColor as ot, SlideNumberProps as p, TextPropsOptions as pn, ShadowProps as pt, GeometryPoint as q, LineCap as qt, GroupProps as r, OverflowBoxOptions as rn, PositionProps as rt, MasterBulletProps as s, TableLayoutResult as sn, VAlign as st, AddSlideProps as t, NotesProps as tn, PatternFillProps as tt, SlideMasterChartProps as u, TextGlowProps as un, ConnectorType as ut, TransitionSoundProps as v, ChartDataPointStyle as vt, TableRowSlide as w, ChartMulti as wt, TableCellProps as x, ChartExGeography as xt, TransitionType as y, ChartErrorBarOptions as yt, ShapeConnectionSite as z, ChartPropsChartSurface as zt };
3396
- //# sourceMappingURL=slide-B6mDaM-P.d.ts.map
3526
+ export { GradientStopProps as $, OptsChartGridLine as $t, TableRowSlide as A, ChartPropsAxisCat as At, ShapeAdjustHandlePolar as B, ChartPropsChartRadar as Bt, PresetMaterialType as C, ChartErrorBarOptions as Ct, TableCellProps as D, ChartLineDash as Dt, TableCellDiagonals as E, ChartExStatistics as Et, ImageProps as F, ChartPropsChartBoxWhisker as Ft, ShapeProps as G, ChartPropsDataLabel as Gt, ShapeAdjustValue as H, ChartPropsChartStock as Ht, MediaProps as I, ChartPropsChartDoughnut as It, Coord as J, ChartPropsLegend as Jt, BackgroundProps as K, ChartPropsDataTable as Kt, MediaType as L, ChartPropsChartHistogram as Lt, TableToSlidesElement as M, ChartPropsAxisVal as Mt, TableToSlidesProps as N, ChartPropsBase as Nt, TableProps as O, ChartMulti as Ot, ImageBaseProps as P, ChartPropsChartBar as Pt, GradientFillProps as Q, OptsChartData as Qt, OleObjectProps as R, ChartPropsChartLine as Rt, LightRigType as S, ChartDataPointStyle as St, TableCell3DProps as T, ChartExGeography as Tt, ShapeConnectionSite as U, ChartPropsChartSurface as Ut, ShapeAdjustHandleXY as V, ChartPropsChartRegionMap as Vt, ShapeGuide as W, ChartPropsChartWaterfall as Wt, DataOrPathRequiredProps as X, ChartSeriesOpts as Xt, DataOrPathProps as Y, ChartPropsTitle as Yt, GeometryPoint as Z, LineCap as Zt, TransitionProps as _, TextPropsOptions as _n, ShadowProps as _t, Slide as a, NotesProps as an, PatternFillProps as at, BevelPresetType as b, ChartAreaProps as bt, MasterTextStyleLevel as c, ResolvedCommentAuthor as cn, RadialGradientFillProps as ct, SlideMasterObject as d, TableLayoutResult as dn, VAlign as dt, ObjectLockProps as en, HAlign as et, SlideMasterProps as f, TextBaseProps as fn, BorderProps as ft, PresetEffect as g, TextProps as gn, HyperlinkProps as gt, AnimationTrigger as h, TextMeasurement as hn, HyperlinkActionJump as ht, ObjectOptions as i, MeasureTextOptions as in, Margin as it, TableToSlidesDocument as j, ChartPropsAxisSer as jt, TableRow as k, ChartOpts as kt, MasterTextStyleProps as l, SlideComment as ln, TextVertType as lt, AnimationProps as m, TextGlowProps as mn, ConnectorType as mt, GroupChildProps as n, PlaceholderProps as nn, ImageFillProps as nt, SlideLayout as o, NotesTextOptions as on, PatternPreset as ot, SlideNumberProps as p, TextFitShrinkProps as pn, ConnectorProps as pt, Color as q, ChartPropsFillLine as qt, GroupProps as r, CommentProps as rn, LinearGradientFillProps as rt, MasterBulletProps as s, OverflowBoxOptions as sn, PositionProps as st, AddSlideProps as t, ObjectNameProps as tn, HexColor as tt, SlideMasterChartProps as u, TableCellLayout as un, ThemeColor as ut, TransitionSoundProps as v, textRun as vn, ShapeFillProps as vt, TableCell as w, ChartExBinning as wt, LightRigDirection as x, ChartAxisTickMark as xt, TransitionType as y, textRuns as yn, ShapeLineProps as yt, ShapeAdjustHandle as z, ChartPropsChartPie as zt };
3527
+ //# sourceMappingURL=slide-BBlElWr9.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slide-BBlElWr9.d.ts","names":[],"sources":["../src/types/text.ts","../src/types/object.ts","../src/types/chart.ts","../src/types/style.ts","../src/types/core.ts","../src/types/shape.ts","../src/types/media.ts","../src/types/table.ts","../src/types/animation.ts","../src/types/master.ts","../src/types/slide.ts"],"mappings":"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"}