Skip to content

Interface: TableToSlidesProps ​

Options for tableToSlides. The conversion computes its own column widths, always pages, and repeats every <thead> row, so colW, autoPage and autoPageHeaderRows are not options here.

Extends ​

  • Omit<TableProps, "autoPage" | "colW" | "autoPageHeaderRows">

Properties ​

addImage? ​

optional addImage?: object

Add an image to slide(s) created during autopaging

  • image prop requires either path or data
  • see DataOrPathProps for details on image props
  • see PositionProps for details on options props

image ​

image: DataOrPathProps

options ​

options: PositionProps


addShape? ​

optional addShape?: object

Add a shape to slide(s) created during autopaging

options ​

options: ShapeProps

shapeName ​

shapeName: SHAPE_NAME


addTable? ​

optional addTable?: object

Add a table to slide(s) created during autopaging

options ​

options: TableProps

rows ​

rows: TableRow[]


addText? ​

optional addText?: object

Add a text object to slide(s) created during autopaging

options ​

options: TextPropsOptions

text ​

text: TextProps[]


align? ​

optional align?: HAlign

Horizontal alignment

When a shape's text is an array of runs, set this on every run of a paragraph. breakLine is not the only paragraph boundary: two adjacent runs whose align differs start a new one, so stating it on the opening run alone splits the paragraph in two. That is the mirror of bullet, paraMarginLeft and paraIndent, which are read from the opening run only. Neither mistake changes the run count — the only symptom is a differently shaped paragraph, with no error.

Default ​

ts
'left'

Inherited from ​

TextBaseProps.align


altText? ​

optional altText?: string

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


autoPageCharWeight? ​

optional autoPageCharWeight?: number

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)

Overrides ​

TableProps.autoPageCharWeight


autoPageLineWeight? ​

optional autoPageLineWeight?: number

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 // each line is priced taller, so fewer lines fit on a slide before the table pages

Overrides ​

TableProps.autoPageLineWeight


autoPagePlaceholder? ​

optional autoPagePlaceholder?: boolean

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

Inherited from ​

TableProps.autoPagePlaceholder


autoPageRepeatHeader? ​

optional autoPageRepeatHeader?: boolean

Whether to repeat head row(s) on new tables created by autopaging

Default ​

ts
false

Overrides ​

TableProps.autoPageRepeatHeader


autoPageSlideStartY? ​

optional autoPageSlideStartY?: number

The y location to use on subsequent slides created by autopaging

Default ​

ts
(top margin of Slide)

Overrides ​

TableProps.autoPageSlideStartY


bold? ​

optional bold?: boolean

Bold style

Default ​

ts
false

Inherited from ​

TextBaseProps.bold


border? ​

optional border?: StrokeProps | [StrokeProps | null, StrokeProps | null, StrokeProps | null, StrokeProps | null]

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.

A null entry is a hole — that edge inherits from the table style — where { type: 'none' } writes an explicit no-line that overrides it. Authoring nothing at all depends on tableStyle: a styled table leaves every edge absent so the style paints its grid, and a table with no style takes four no-fill sides, which is what keeps it clear of PowerPoint's no-style black hairline grid.

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

Inherited from ​

TableProps.border


breakLine? ​

optional breakLine?: boolean

Add a line-break

Default ​

ts
false

Inherited from ​

TextBaseProps.breakLine


bullet? ​

optional bullet?: boolean | "inherit" | TextBulletProps

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.

When a shape's text is an array of runs, state this on the opening run only. A run that draws a bullet starts a new paragraph by itself, so repeating it — the placement that align requires — turns one three-run paragraph into three one-run paragraphs. A paragraph takes its properties from its first run.

Default ​

ts
false

Inherited from ​

TextBaseProps.bullet


caps? ​

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

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

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[]

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 is the grid column a cell starts in, counting each cell's colspan (default 1) and the rowspans carried down from earlier rows, so merged cells map to the correct column.

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'} }]

Inherited from ​

TableProps.columns


document? ​

optional document?: TableToSlidesDocument

Document to resolve a table id against.

  • only consulted when the table is identified by string id; passing the element itself needs no document, since one is reached through the element's ownerDocument
  • defaults to the global document, which is what a browser caller gets
  • supply this to convert a table outside a browser (any DOM implementation will do)

fill? ​

optional fill?: FillOption

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. A bare Color is shorthand for a solid fill (FillOption).

Examples ​

ts
'FF0000' // hex color (red), shorthand for { color:'FF0000' }
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

Inherited from ​

TableProps.fill


fit? ​

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

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'

Inherited from ​

TableProps.fit


fitColumns? ​

optional fitColumns?: "shrink"

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)

Inherited from ​

TableProps.fitColumns


fontFace? ​

optional fontFace?: string

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

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

Font size

Example ​

ts
12 // Font size 12

Inherited from ​

TextBaseProps.fontSize


h? ​

optional h?: Coord

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

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

Inherited from ​

TableProps.hasBandedColumns


hasBandedRows? ​

optional hasBandedRows?: boolean

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

Inherited from ​

TableProps.hasBandedRows


hasFirstColumn? ​

optional hasFirstColumn?: boolean

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

Inherited from ​

TableProps.hasFirstColumn


hasFooter? ​

optional hasFooter?: boolean

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

Inherited from ​

TableProps.hasFooter


hasHeader? ​

optional hasHeader?: boolean

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

Inherited from ​

TableProps.hasHeader


hasLastColumn? ​

optional hasLastColumn?: boolean

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

Inherited from ​

TableProps.hasLastColumn


headerRow? ​

optional headerRow?: TableCellProps

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' }

Inherited from ​

TableProps.headerRow


highlight? ​

optional highlight?: string

Text highlight color (hex format)

Example ​

ts
'FFFF00' // yellow

Inherited from ​

TextBaseProps.highlight


italic? ​

optional italic?: boolean

italic style

Default ​

ts
false

Inherited from ​

TextBaseProps.italic


lang? ​

optional lang?: string

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

Cell margin (inches)

  • affects all table cells, is superceded by cell options

Inherited from ​

TableProps.margin


masterTitle? ​

optional masterTitle?: string

Title of the slide master to use for the auto-paged slides (the title passed to defineSlideMaster). Matches the masterTitle option of addSlide.

  • define a master slide to have your auto-paged slides carry a corporate design, etc.

objectLock? ​

optional objectLock?: ObjectLockProps

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

Object name

  • used instead of the default name for the object's kind: Text 1, Shape 2, Image 1 and so on, numbered per kind (see docs/reference/object-names.md)
  • PowerPoint: Home > Arrange > Selection Pane...

Example ​

ts
'Antenna Design 9'

Inherited from ​

ObjectNameProps.objectName


outerBorder? ​

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

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

Inherited from ​

TableProps.outerBorder


paraIndent? ​

optional paraIndent?: number | "inherit"

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

Remarks ​

Read from the opening run of a paragraph, like bullet and unlike align; a value on a continuation run is ignored.

Inherited from ​

TextBaseProps.paraIndent


paraMarginLeft? ​

optional paraMarginLeft?: number | "inherit"

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

Remarks ​

Read from the opening run of a paragraph, like bullet and unlike align; a value on a continuation run is ignored.

Inherited from ​

TextBaseProps.paraMarginLeft


placeholder? ​

optional placeholder?: string

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'

Inherited from ​

TableProps.placeholder


rowH? ​

optional rowH?: number | (number | null)[]

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

An entry pins its row only when it is a number greater than zero. 0, a negative value and anything that does not read as a finite number are not heights, so they do not pin: the row is sized from the table's h instead, or grows to fit if there is none, and a table/invalid-row-height diagnostic says so. A missing array slot, or null in it, is different and is silent — that is how an auto-height row is spelled.

The reading is shared by everything that answers a question about row height: the emitted <a:tr h>, the export-time measured-fit pass, the auto-pager, and pptx.tableLayout(). A prediction that disagreed with what the export bakes would be worse than no prediction (docs/contributing/design/text-fit.md).

Default ​

rows of equal height based upon h

Inherited from ​

TableProps.rowH


rtl? ​

optional rtl?: boolean

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

Inherited from ​

TableProps.rtl


slideMargin? ​

optional slideMargin?: Margin

Slide margin

  • this margin will be across all slides created by auto-paging

Overrides ​

TableProps.slideMargin


softBreakBefore? ​

optional softBreakBefore?: boolean

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

Default ​

ts
false

Inherited from ​

TextBaseProps.softBreakBefore


tableFill? ​

optional tableFill?: FillOption

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 FillOption a cell does — solid, gradient, pattern or picture, or a bare Color as shorthand for a solid fill.

Examples ​

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

Inherited from ​

TableProps.tableFill


tableStyle? ​

optional tableStyle?: `{${string}}`

Table style to apply: a built-in style as a TableStyle member, or any other style GUID in braces, such as the id a table read back from a deck names. Emits <a:tableStyleId> inside <a:tblPr> with that 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 → "Apply a built-in table style".

Example ​

ts
tableStyle: TableStyle.MEDIUM_STYLE_2_ACCENT_1 // import { TableStyle } from 'pptx-ts'

Inherited from ​

TableProps.tableStyle


tabStops? ​

optional tabStops?: object[]

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"

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

Default ​

ts
'horz'

Inherited from ​

TextBaseProps.textDirection


textWarp? ​

optional textWarp?: "textNoShape" | "textPlain" | "textStop" | "textTriangle" | "textTriangleInverted" | "textChevron" | "textChevronInverted" | "textRingInside" | "textRingOutside" | "textArchUp" | "textArchDown" | "textCircle" | "textButton" | "textArchUpPour" | "textArchDownPour" | "textCirclePour" | "textButtonPour" | "textCurveUp" | "textCurveDown" | "textCanUp" | "textCanDown" | "textWave1" | "textWave2" | "textDoubleWave1" | "textWave4" | "textInflate" | "textDeflate" | "textInflateBottom" | "textDeflateBottom" | "textInflateTop" | "textDeflateTop" | "textDeflateInflate" | "textDeflateInflateDeflate" | "textFadeRight" | "textFadeLeft" | "textFadeUp" | "textFadeDown" | "textSlantUp" | "textSlantDown" | "textCascadeUp" | "textCascadeDown"

Preset text warp / WordArt shape (<a:bodyPr><a:prstTxWarp prst="..">), which bends the text along a preset path (arch, circle, wave, …) — the whole ST_TextShapeType set.

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

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

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" | "words" | "sng" | "dbl" | "heavy" | "dotted" | "dottedHeavy" | "dash" | "dashHeavy" | "dashLong" | "dashLongHeavy" | "dotDash" | "dotDashHeavy" | "dotDotDash" | "dotDotDashHeavy" | "wavy" | "wavyHeavy" | "wavyDbl"

Default ​

ts
(unset) inherit

Inherited from ​

TextBaseProps.underline


valign? ​

optional valign?: VAlign

vertical alignment

Default ​

ts
'top'

Inherited from ​

TextBaseProps.valign


verbose? ​

optional verbose?: boolean

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

Inherited from ​

TableProps.verbose


w? ​

optional w?: Coord

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

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

Vertical position

  • inches or percentage

Examples ​

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

Inherited from ​

PositionProps.y