Skip to content

@shbernal/ts-pptx


@shbernal/ts-pptx / index / TableProps

Interface: TableProps

Defined in: src/types/table.ts:295

Extends

Extended by

Properties

_arrObjTabHeadRows?

optional _arrObjTabHeadRows?: TableRow[]

Defined in: src/types/table.ts:296


align?

optional align?: HAlign

Defined in: src/types/text.ts:18

Horizontal alignment

Default

ts
'left'

Inherited from

TextBaseProps.align


altText?

optional altText?: string

Defined in: src/types/object.ts:43

Alt Text value ("How would you describe this object and its contents to someone who is blind?")

  • serialized to the generated object's p:cNvPr descr attribute
  • PowerPoint: [right-click on the object] > "Edit Alt Text..."

Example

ts
'Quarterly revenue bar chart'

Inherited from

ObjectNameProps.altText


autoPage?

optional autoPage?: boolean

Defined in: src/types/table.ts:313

Whether to enable auto-paging

  • auto-paging creates new slides as content overflows a slide

Default

ts
false

autoPageCharWeight?

optional autoPageCharWeight?: number

Defined in: src/types/table.ts:321

Auto-paging character weight

  • adjusts how many characters are used before lines wrap
  • range: -1.0 to 1.0

Default

ts
0.0

Example

ts
0.5 // lines are longer (increases the number of characters that can fit on a given line)

autoPageHeaderRows?

optional autoPageHeaderRows?: number

Defined in: src/types/table.ts:342

Number of rows that comprise table headers

  • required when autoPageRepeatHeader is set to true.

Example

ts
2 - repeats the first two table rows on each new slide created

Default

ts
1

autoPageLineWeight?

optional autoPageLineWeight?: number

Defined in: src/types/table.ts:329

Auto-paging line weight

  • adjusts how many lines are used before slides wrap
  • range: -1.0 to 1.0

Default

ts
0.0

Example

ts
0.5 // tables are taller (increases the number of lines that can fit on a given slide)

autoPagePlaceholder?

optional autoPagePlaceholder?: boolean

Defined in: src/types/table.ts:355

Whether populated placeholders on the source slide (e.g. a title set via addText(text, { placeholder })) are copied onto each overflow slide created by autoPage.

  • new slides otherwise inherit only the layout's empty placeholders, so a title set on the first slide would not appear on continuation slides.

Default

ts
false

autoPageRepeatHeader?

optional autoPageRepeatHeader?: boolean

Defined in: src/types/table.ts:335

Whether table header row(s) should be repeated on each new slide creating by autoPage. Use autoPageHeaderRows to designate how many rows comprise the table header (1+).

Default

ts
false

autoPageSlideStartY?

optional autoPageSlideStartY?: number

Defined in: src/types/table.ts:347

The y location to use on subsequent slides created by autopaging

Default

ts
(top margin of Slide)

bold?

optional bold?: boolean

Defined in: src/types/text.ts:23

Bold style

Default

ts
false

Inherited from

TextBaseProps.bold


border?

optional border?: BorderProps | [BorderProps, BorderProps, BorderProps, BorderProps]

Defined in: src/types/table.ts:371

Default border for every cell in the table — not the table's outer perimeter.

A single BorderProps is broadcast to all four sides of each cell; an array is read in TRBL order and applied to each cell's own four sides. So border: [{type:'solid'}, {type:'none'}, {type:'solid'}, {type:'none'}] gives every cell a top and bottom rule — a full set of horizontal grid lines, not a rule at the top and bottom of the table. A cell's own options.border overrides this entirely.

For the perimeter, use outerBorder, which applies only to the cells on the table's outside edge. The two compose: border draws the interior grid and outerBorder overrides the edges it reaches.

Examples

ts
border: { type:'solid', color:'D9D9D9', width:0.5 } // full grid
ts
border: [{type:'solid'}, {type:'none'}, {type:'solid'}, {type:'none'}] // horizontal rules only

breakLine?

optional breakLine?: boolean

Defined in: src/types/text.ts:28

Add a line-break

Default

ts
false

Inherited from

TextBaseProps.breakLine


bullet?

optional bullet?: boolean | "inherit" | { characterCode?: string; color?: string; fontFace?: string; image?: { data?: string; path?: string; }; indent?: number; numberStartAt?: number; numberType?: "alphaLcParenBoth" | "alphaLcParenR" | "alphaLcPeriod" | "alphaUcParenBoth" | "alphaUcParenR" | "alphaUcPeriod" | "arabicParenBoth" | "arabicParenR" | "arabicPeriod" | "arabicPlain" | "romanLcParenBoth" | "romanLcParenR" | "romanLcPeriod" | "romanUcParenBoth" | "romanUcParenR" | "romanUcPeriod"; size?: number; type?: "number" | "bullet"; }

Defined in: src/types/text.ts:53

Add standard or custom bullet

  • use true for standard bullet
  • pass object options for custom bullet
  • false (and omitting the option) is the explicit off: it writes <a:buNone/> plus marL="0" indent="0", which overrides whatever bullet the layout's or master's list style sets for this level
  • 'inherit' states nothing at all — no bullet child and no margin attributes — so the list style keeps reaching the paragraph. This is the one state omission cannot spell, because omitting the option means false here for compatibility

The margins are only a default of the bullet state: paraMarginLeft and paraIndent state @marL/@indent independently in any of the three, including an inherited margin under a drawn bullet.

Union Members

boolean


"inherit"


Type Literal

{ characterCode?: string; color?: string; fontFace?: string; image?: { data?: string; path?: string; }; indent?: number; numberStartAt?: number; numberType?: "alphaLcParenBoth" | "alphaLcParenR" | "alphaLcPeriod" | "alphaUcParenBoth" | "alphaUcParenR" | "alphaUcPeriod" | "arabicParenBoth" | "arabicParenR" | "arabicPeriod" | "arabicPlain" | "romanLcParenBoth" | "romanLcParenR" | "romanLcPeriod" | "romanUcParenBoth" | "romanUcParenR" | "romanUcPeriod"; size?: number; type?: "number" | "bullet"; }

characterCode?

optional characterCode?: string

Bullet character code (unicode)

Example
ts
'25BA' // 'BLACK RIGHT-POINTING POINTER' (U+25BA)
color?

optional color?: string

Bullet glyph color (separate from the text run color)

Example
ts
'FF0000' // red bullet
fontFace?

optional fontFace?: string

Bullet glyph font typeface (<a:buFont/>), e.g. for symbol-font bullets

Example
ts
'Wingdings' // render `characterCode` using the Wingdings font
image?

optional image?: object

Image to use as the bullet glyph ("picture bullet", <a:buBlip>)

  • supply an image path (filesystem/URL) or base64 data (same forms as addImage())
  • raster formats (PNG/JPG/GIF) and SVG are supported; use size to scale relative to the text height
  • SVG bullets embed a PNG preview plus the SVG (the same dual-rel handling as addImage())
  • takes precedence over type/characterCode when set
Examples
ts
image: { path: 'images/star.png' }
ts
image: { data: 'image/png;base64,iVBOR...' }
ts
image: { path: 'images/star.svg' }
image.data?

optional data?: string

image.path?

optional path?: string

indent?

optional indent?: number

Indentation (space between bullet and text) (points)

Default
ts
27 // DEF_BULLET_MARGIN
Example
ts
10 // Indents text 10 points from bullet
numberStartAt?

optional numberStartAt?: number

Number bullets start at

Default
ts
1
Example
ts
10 // numbered bullets start with 10
numberType?

optional numberType?: "alphaLcParenBoth" | "alphaLcParenR" | "alphaLcPeriod" | "alphaUcParenBoth" | "alphaUcParenR" | "alphaUcPeriod" | "arabicParenBoth" | "arabicParenR" | "arabicPeriod" | "arabicPlain" | "romanLcParenBoth" | "romanLcParenR" | "romanLcPeriod" | "romanUcParenBoth" | "romanUcParenR" | "romanUcPeriod"

Number type

Example
ts
'romanLcParenR' // roman numerals lower-case with paranthesis right
size?

optional size?: number

Bullet glyph size as a percentage of the run's text size (25–400)

Default
ts
100
Example
ts
80 // bullet glyph is 80% of the text size
type?

optional type?: "number" | "bullet"

Bullet type

Default
ts
bullet

Default

ts
false

Inherited from

TextBaseProps.bullet


caps?

optional caps?: "small" | "all" | "none"

Defined in: src/types/text.ts:149

Text capitalization (a:rPr/@cap, ST_TextCapsType)

  • 'all' = ALL CAPS
  • 'small' = Small Caps
  • 'none' = the explicit off: it writes cap="none", which overrides a capitalization the run would otherwise inherit. Omitting the option states nothing and lets that inheritance stand
  • PowerPoint: Font > Effects > All Caps / Small Caps

Default

ts
(unset) inherit

Inherited from

TextBaseProps.caps


color?

optional color?: string

Defined in: src/types/text.ts:157

Text color

  • HexColor or ThemeColor
  • MS-PPT > Format Shape > Text Options > Text Fill & Outline > Text Fill > Color

Examples

ts
'FF0000' // hex color (red)
ts
SchemeColor.text1 // Theme color (Text1)

Inherited from

TextBaseProps.color


columns?

optional columns?: TableCellProps[]

Defined in: src/types/table.ts:545

Per-column default cell styling, applied as direct per-cell formatting.

columns[i] is merged onto every cell that starts in column i (fill, color, bold, align, valign, border, margin, …), so a wide colored matrix — per-column fills, maturity-gradient headers — does not require hand-writing a fill onto every cell. Entries may be sparse (columns[2] alone styles only column 2); an undefined/omitted entry leaves that column untouched. The whole option is optional and degrades cleanly to today's text-on-white when not given.

Precedence (highest wins), matching how PowerPoint resolves styling — direct cell formatting overrides a table-style region:

  1. explicit per-cell options
  2. headerRow (row 0 only)
  3. this columns[colIdx]
  4. a built-in tableStyle / the library's per-cell defaults

The merge is property-level, so a header cell keeps headerRow's typography and takes its column's fill when they set different properties. For a graduated header band, put shared header typography (bold/white/centered, no fill) in headerRow and let each columns[i].fill supply that column's fill.

Column index counts each cell's colspan (default 1) within a row, so merged cells map to the correct column; it does not track rowspans inherited from earlier rows.

There is deliberately no built-in "group bracket" annotation. Label a span of columns by composing existing primitives: addShape('rightBrace', …) (or 'bracePair') plus addText, positioned from the table's x and colW (a span's x/w is the running sum of the preceding/covered column widths).

Examples

ts
columns: [{}, { fill: { color:'E8F0FE' } }, { fill: { color:'C6DAFC' } }] // per-column solid fills
ts
// gradient header: shared typography on headerRow, graduated fills per column
headerRow: { color:'FFFFFF', bold:true, align:'center' },
columns: [{}, { fill:{color:'BBD3FB'} }, { fill:{color:'89AEF6'} }, { fill:{color:'4B7BE5'} }]

colW?

optional colW?: number | number[]

Defined in: src/types/table.ts:398

Width of table columns (inches)

  • single value is applied to every column equally based upon w
  • array of values in applied to each column in order

Default

columns of equal width based upon w


fill?

optional fill?: ShapeFillProps

Defined in: src/types/table.ts:562

Default cell background — stamped onto every cell, not painted behind the table.

Each cell that does not set its own options.fill (or take one from headerRow / columns[i]) gets this as its own a:tcPr fill. A picture fill is embedded once and shared by every cell that inherits it.

Visually this is usually what you want, but it is not what a source deck contains, and it has one real consequence: because every cell ends up explicitly filled, a cell that later gets its own fill has nothing to fall back to. For a genuine table background — one a:tblPr fill that cells sit on top of — use tableFill.

Examples

ts
{ color:'FF0000' } // hex color (red)
ts
{ color:'0088CC', transparency:50 } // hex color, 50% transparent
ts
{ color:SchemeColor.accent1 } // theme color Accent1
ts
{ type:'image', image:{ path:'watermark.png' } } // picture fill

fit?

optional fit?: "resize" | "none" | TextFitShrinkProps | "shrink"

Defined in: src/types/table.ts:423

Table-level text-fit policy, cascaded to every cell that does not set its own TableCellProps.fit.

  • 'shrink': each cell whose row has a fixed height that its wrapped text would exceed gets a reduced literal font size baked onto its runs so the text fits (see TableCellProps.fit for the full semantics and the font-metrics requirement). Cells that set their own fit win over this table default.
  • 'none' / 'resize' / the object form are accepted for parity with TextPropsOptions.fit but only 'shrink' is acted on for table cells.

Default

ts
undefined (cells keep their authored size)

Example

ts
'shrink'

fitColumns?

optional fitColumns?: "shrink"

Defined in: src/types/table.ts:410

Shrink columns proportionally so a too-wide table fits the slide.

  • 'shrink': if the total column width exceeds the space available between the table's x and the right slide margin, scale every column down by the same factor so the whole table fits. Columns that already fit are untouched.
  • applies to an explicit colW array (the common "too many columns" case) and to a w wider than the slide; never grows columns and never enforces a minimum width, so a very high column count can still become thin.
  • opt-in: explicit widths are otherwise emitted as-is and may run off the slide.

Default

ts
undefined (no scaling)

fontFace?

optional fontFace?: string

Defined in: src/types/text.ts:167

Font face name

Applied to the Latin (<a:latin>) and complex-script (<a:cs>) font slots, matching how PowerPoint writes a font picked from the UI. The East Asian slot (<a:ea>) is left to inherit from the theme unless fontFaceEA is set — forcing a Latin-only face into the East Asian slot duplicates/ghosts text in Office 365.

Example

ts
'Arial' // Arial font

Inherited from

TextBaseProps.fontFace


fontFaceEA?

optional fontFaceEA?: string

Defined in: src/types/text.ts:175

East Asian font face name (<a:ea> slot), used to render CJK (Chinese/Japanese/Korean) glyphs

Set this when the East Asian font differs from fontFace. When omitted, <a:ea> inherits the theme East Asian font, which is what PowerPoint does for Latin fonts.

Example

ts
'微軟正黑體' // render East Asian glyphs with Microsoft JhengHei

Inherited from

TextBaseProps.fontFaceEA


fontSize?

optional fontSize?: number

Defined in: src/types/text.ts:180

Font size

Example

ts
12 // Font size 12

Inherited from

TextBaseProps.fontSize


h?

optional h?: Coord

Defined in: src/types/core.ts:49

Height

  • inches or percentage

Examples

ts
10.25 // height in inches
ts
'75%' // height as percentage of slide size

Inherited from

PositionProps.h


hasBandedColumns?

optional hasBandedColumns?: boolean

Defined in: src/types/table.ts:451

Enable alternating column (band) shading. Emits bandCol="1" on <a:tblPr>, activating band1V/band2V style regions. Requires tableStyle to have a visible effect.

Default

ts
false

hasBandedRows?

optional hasBandedRows?: boolean

Defined in: src/types/table.ts:444

Enable alternating row (band) shading. Emits bandRow="1" on <a:tblPr>, activating band1H/band2H style regions. Requires tableStyle to have a visible effect.

Default

ts
false

hasFirstColumn?

optional hasFirstColumn?: boolean

Defined in: src/types/table.ts:458

Apply special styling to the first column. Emits firstCol="1" on <a:tblPr>, activating the firstCol style region. Requires tableStyle to have a visible effect.

Default

ts
false

hasFooter?

optional hasFooter?: boolean

Defined in: src/types/table.ts:437

Mark the last row as a footer row. Emits lastRow="1" on <a:tblPr>, activating the last-row style region. Requires tableStyle to have a visible effect.

Default

ts
false

hasHeader?

optional hasHeader?: boolean

Defined in: src/types/table.ts:430

Mark the first row as a header row. Emits firstRow="1" on <a:tblPr>, activating the first-row style region of the table style and satisfying the PowerPoint accessibility checker's "table header" rule.

Default

ts
false

hasLastColumn?

optional hasLastColumn?: boolean

Defined in: src/types/table.ts:465

Apply special styling to the last column. Emits lastCol="1" on <a:tblPr>, activating the lastCol style region. Requires tableStyle to have a visible effect.

Default

ts
false

headerRow?

optional headerRow?: TableCellProps

Defined in: src/types/table.ts:509

Inline styling for the header (first) row, applied as direct per-cell formatting.

This is how a header is styled distinctly from the body: each property is merged onto every cell of row 0 (fill, color, bold, align, border, etc.).

Precedence (highest wins), matching how PowerPoint resolves styling — direct cell formatting overrides a table-style region:

  1. explicit per-cell options on a row-0 cell
  2. this headerRow
  3. the firstRow region of a built-in tableStyle
  4. the library's per-cell defaults

Setting headerRow also implies hasHeader: true (emits firstRow="1" for the accessibility "table header" marker) unless hasHeader is explicitly set to false.

Example

ts
headerRow: { fill: { color:'1A2B3C' }, color:'FFFFFF', bold:true, align:'center' }

highlight?

optional highlight?: string

Defined in: src/types/text.ts:185

Text highlight color (hex format)

Example

ts
'FFFF00' // yellow

Inherited from

TextBaseProps.highlight


italic?

optional italic?: boolean

Defined in: src/types/text.ts:190

italic style

Default

ts
false

Inherited from

TextBaseProps.italic


lang?

optional lang?: string

Defined in: src/types/text.ts:197

language

  • ISO 639-1 standard language code

Default

ts
'en-US' // english US

Example

ts
'fr-CA' // french Canadian

Inherited from

TextBaseProps.lang


margin?

optional margin?: Margin

Defined in: src/types/table.ts:584

Cell margin (inches)

  • affects all table cells, is superceded by cell options

objectLock?

optional objectLock?: ObjectLockProps

Defined in: src/types/object.ts:54

Object lock flags (DrawingML a:spLocks / a:picLocks / a:graphicFrameLocks)

  • restrict how the object can be manipulated in PowerPoint (e.g. prevent moving, resizing, or grouping)
  • each flag maps 1:1 to the OOXML attribute of the same name; only flags set to true are emitted
  • PowerPoint UI: Selection Pane / right-click protections (most locks are honored at edit time, not as a password)
  • flags only apply to the object types that support them (see each flag); flags set on an unsupported object type are ignored with a console warning

Examples

ts
{ noMove: true, noResize: true } // pin an object in place
ts
{ noGrp: true } // exclude from grouping

Inherited from

ObjectNameProps.objectLock


objectName?

optional objectName?: string

Defined in: src/types/object.ts:36

Object name

  • used instead of default "Object N" name
  • PowerPoint: Home > Arrange > Selection Pane...

Default

ts
'Object 1'

Example

ts
'Antenna Design 9'

Inherited from

ObjectNameProps.objectName


outerBorder?

optional outerBorder?: BorderProps | [BorderProps?, BorderProps?, BorderProps?, BorderProps?]

Defined in: src/types/table.ts:391

Border for the table's outer perimeter only — the top edge of the first row, the bottom edge of the last row, the left edge of the first column and the right edge of the last column.

A single BorderProps is used for all four perimeter sides; an array is read in TRBL order, so outerBorder: [box, box, box, box] boxes the table and outerBorder: [rule, undefined, rule, undefined] rules only above and below it. An undefined/omitted entry leaves that side to whatever border (or the cell's own options.border) already put there.

Applied after every other border source, so it wins on the sides it touches and leaves the interior alone — the "outline the table, no interior grid" case is outerBorder with no border at all. Merged cells are handled: a span's covered cells inherit the origin's borders, so a colspan straddling the last column still gets the right-hand rule.

Examples

ts
outerBorder: { type:'solid', color:'1A2B3C', width:1 } // box the table
ts
outerBorder: [{type:'solid'}, undefined, {type:'solid'}, undefined] // rules above and below

paraIndent?

optional paraIndent?: number | "inherit"

Defined in: src/types/text.ts:214

First-line indent (points) — a:pPr/@indent, the offset of the paragraph's FIRST line from paraMarginLeft. Negative hangs the first line to the left of the body, which is what a bulleted paragraph does; positive indents it to the right, the "first line indented" prose form. PowerPoint: Paragraph > Indentation > Special.

  • 'inherit' writes no @indent at all, so the paragraph takes whatever its list style (a:lstStyle → placeholder → layout → master) sets — the same third state bullet spells, on the attribute beside it
  • omitting the option keeps the bullet-derived default: a drawn bullet hangs the first line by its margin, bullet: false writes indent="0", bullet: 'inherit' writes nothing
  • a value here overrides all of those, in every bullet state

Examples

ts
-18 // hang the first line 18pt left of the body text
ts
18 // indent the first line 18pt, prose style
ts
'inherit' // keep the list style's indent, even on a bulleted paragraph

Inherited from

TextBaseProps.paraIndent


paraMarginLeft?

optional paraMarginLeft?: number | "inherit"

Defined in: src/types/text.ts:229

Left margin of the paragraph (points) — a:pPr/@marL, where the paragraph's body text starts. This is the paragraph's own margin, not the text frame's internal padding (margin) and not the discrete outline level (indentLevel, which writes a:p/@lvl). PowerPoint: Paragraph > Indentation > Before text.

  • 'inherit' writes no @marL at all, so the paragraph takes whatever its list style (a:lstStyle → placeholder → layout → master) sets — the third state that omission cannot spell, since omitting it writes the bullet-derived default
  • omitting the option keeps that default: a drawn bullet writes its own margin (see bullet.indent), bullet: false writes marL="0", bullet: 'inherit' writes nothing
  • a value here overrides all of those, in every bullet state

Examples

ts
36 // body text starts 36pt (0.5in) from the frame's text edge
ts
'inherit' // keep the list style's margin, even on a bulleted paragraph

Inherited from

TextBaseProps.paraMarginLeft


placeholder?

optional placeholder?: string

Defined in: src/types/table.ts:306

Name of a table/content placeholder defined on the slide layout/master to bind this table to.

  • when it matches a layout/master placeholder, the table's <p:graphicFrame> emits that placeholder's <p:ph> (idx/type) so PowerPoint treats the table as filling the placeholder (e.g. a "Title and Content" content placeholder)
  • the table also inherits the placeholder's position/size for any of x/y/w/h left unset

Example

ts
'body' // bind to the layout placeholder named 'body'

rowH?

optional rowH?: number | number[]

Defined in: src/types/table.ts:591

Height of table rows (inches)

  • single value is applied to every row equally based upon h
  • array of values in applied to each row in order

Default

rows of equal height based upon h


rtl?

optional rtl?: boolean

Defined in: src/types/table.ts:474

Lay the table out right-to-left. Emits rtl="1" on <a:tblPr>, which mirrors the column order so the first column renders on the right — the correct layout for RTL scripts (Arabic, Hebrew). This controls only the table/column direction; per-cell text direction is set with each cell's rtlMode option.

Default

ts
false

softBreakBefore?

optional softBreakBefore?: boolean

Defined in: src/types/text.ts:234

Add a soft line-break (shift+enter) before line text content

Default

ts
false

Inherited from

TextBaseProps.softBreakBefore


tableFill?

optional tableFill?: ShapeFillProps

Defined in: src/types/table.ts:579

The table's own background (a:tblPr fill) — one fill behind the whole table that every cell sits on top of.

The counterpart to fill, and the difference is where the paint lands rather than how it looks: fill copies a colour onto every cell, while this writes a single fill on the table itself. That matters when a cell is meant to be transparent — with tableFill, an unfilled cell shows the table background through; with fill there is no such thing as an unfilled cell. It is also what a deck read back from PowerPoint actually carries, so a replica reproduces the source's structure rather than an equivalent-looking flattening of it.

Takes the same ShapeFillProps a cell does — solid, gradient, pattern or picture.

Examples

ts
{ color:'F2F2F2' } // a light background behind the whole table
ts
{ type:'image', image:{ path:'watermark.png' } } // one watermark, not one per cell

tableStyle?

optional tableStyle?: TableStyle

Defined in: src/types/table.ts:491

Built-in table style to apply, as a TableStyle member. Emits <a:tableStyleId> inside <a:tblPr> with the corresponding GUID. Style flags (hasHeader, hasFooter, hasBandedRows, etc.) select which regions of the chosen style are activated; they have no visible effect without a tableStyle set.

Only a built-in GUID renders. PowerPoint resolves <a:tableStyleId> against its own table-style gallery and never reads a style definition out of the package, so a GUID it does not recognise leaves the table with PowerPoint's no-style look — a black hairline grid. For brand colours use direct formatting instead: headerRow, columns[i], the table-level border / fill, or per-cell options. See docs/tables.md → "Table styles".

Example

ts
tableStyle: pptx.TableStyle.MEDIUM_STYLE_2_ACCENT_1

tabStops?

optional tabStops?: object[]

Defined in: src/types/text.ts:240

tab stops

  • PowerPoint: Paragraph > Tabs > Tab stop position

alignment?

optional alignment?: "r" | "ctr" | "l" | "dec"

position

position: number

Example

ts
[{ position:1 }, { position:3 }] // Set first tab stop to 1 inch, set second tab stop to 3 inches

Inherited from

TextBaseProps.tabStops


textDirection?

optional textDirection?: "horz" | "vert" | "vert270" | "wordArtVert"

Defined in: src/types/text.ts:249

text direction horz = horizontal vert = rotate 90^ vert270 = rotate 270^ wordArtVert = stacked

Default

ts
'horz'

Inherited from

TextBaseProps.textDirection


textWarp?

optional textWarp?: string

Defined in: src/types/text.ts:36

Preset text warp / WordArt shape (<a:bodyPr><a:prstTxWarp prst="..">), which bends the text along a preset path (arch, circle, wave, …). The value is an OOXML ST_TextShapeType preset name.

Examples

ts
'textArchUp' // bend text along an upward arch (e.g. a label following a ring/arc)
ts
'textCircle'

Inherited from

TextBaseProps.textWarp


transparency?

optional transparency?: number

Defined in: src/types/text.ts:256

Transparency (percent)

  • MS-PPT > Format Shape > Text Options > Text Fill & Outline > Text Fill > Transparency
  • range: 0-100

Default

ts
0

Inherited from

TextBaseProps.transparency


underline?

optional underline?: object

Defined in: src/types/text.ts:267

underline properties

  • PowerPoint: Font > Color & Underline > Underline Style/Underline Color
  • style is the full ST_TextUnderlineType enumeration (ECMA-376 §20.1.10.81)
  • 'none' is the explicit off: it writes a:rPr/@u="none", which overrides an underline the run would otherwise inherit from its list style, placeholder, layout or master. Omitting the option instead states nothing and lets that inheritance stand — the two are different facts, not two spellings of one.

color?

optional color?: string

style?

optional style?: "none" | "dash" | "dashHeavy" | "dashLong" | "dashLongHeavy" | "dbl" | "dotDash" | "dotDashHeavy" | "dotDotDash" | "dotDotDashHeavy" | "dotted" | "dottedHeavy" | "heavy" | "sng" | "wavy" | "wavyDbl" | "wavyHeavy" | "words"

Default

ts
(unset) inherit

Inherited from

TextBaseProps.underline


valign?

optional valign?: VAlign

Defined in: src/types/text.ts:293

vertical alignment

Default

ts
'top'

Inherited from

TextBaseProps.valign


verbose?

optional verbose?: boolean

Defined in: src/types/table.ts:598

DEV-ONLY diagnostic flag: when true, logs a verbose trace of the auto-paging calculations to the console. Intended for debugging table layout only; leave unset in production. Inherited by TableToSlidesProps.

Default

ts
false

w?

optional w?: Coord

Defined in: src/types/core.ts:56

Width

  • inches or percentage

Examples

ts
10.25 // width in inches
ts
'75%' // width as percentage of slide size

Inherited from

PositionProps.w


x?

optional x?: Coord

Defined in: src/types/core.ts:35

Horizontal position

  • inches or percentage

Examples

ts
10.25 // position in inches
ts
'75%' // position as percentage of slide size

Inherited from

PositionProps.x


y?

optional y?: Coord

Defined in: src/types/core.ts:42

Vertical position

  • inches or percentage

Examples

ts
10.25 // position in inches
ts
'75%' // position as percentage of slide size

Inherited from

PositionProps.y