Components
<Page>
Section titled “<Page>”Top-level container for one logical page (may overflow into multiple physical pages).
| Prop | Type | Default | Notes |
|---|---|---|---|
size |
'A4' | 'LETTER' | 'LEGAL' |
A4 |
Paper preset |
orientation |
'portrait' | 'landscape' |
portrait |
|
padding |
number | { top, right, bottom, left } |
0 |
PDF points |
contentWidth |
number |
(derived) | Overrides content area width |
children |
nodes | Layout children |
Generic flex container (display: flex by default).
| Prop | Notes |
|---|---|
style |
Satori-supported flexbox / box styles |
children |
Nested nodes |
Atomic — never split across pages.
<Text>
Section titled “<Text>”| Prop | Notes |
|---|---|
style |
fontSize, fontFamily, lineHeight, colors, margins, … |
children |
String or nested text |
Splittable — overflows split on word boundaries.
<Image>
Section titled “<Image>”| Prop | Notes |
|---|---|
src |
Path, URL, or data URI |
width / height |
Required PDF points |
style |
Optional Satori styles |
alt |
Reserved for future a11y metadata |
Atomic.
<Table>
Section titled “<Table>”| Prop | Notes |
|---|---|
columns |
ColumnDefinition[] |
data |
Array of row objects |
style |
Outer container styles |
headerStyle / rowStyle |
Table-level header / row styles |
options.stripe |
Alternating row backgrounds |
options.stripeColor |
Stripe color (default #f9f9f9) |
options.headerRepeat |
Repeat header on new pages (default on) |
ColumnDefinition
Section titled “ColumnDefinition”| Field | Notes |
|---|---|
header |
Header label |
key |
Property key on each data row |
width |
Number (pt) or percentage string |
flex |
Flex weight when width omitted |
align |
'left' | 'right' | 'center' |
style |
Legacy shared header+cell styles |
headerStyle / cellStyle |
Column-specific overrides |
Style merge: table styles → column style → headerStyle/cellStyle → resolved width.