List Elements
Lists let you render ordered (numbered) and unordered (bulleted) lists, including nested items.
List Properties & Defaults
List Element Properties
| Property | Type | Required | Description | Default |
|---|---|---|---|---|
type | string | ✓ | Element type: list | - |
ordered | boolean | ✗ | true = ordered list (1, 2, 3), false = unordered list (bullets) | false |
items | array | ✓ | List items (1-50 items). Each item can be a simple string or an object with nested items. | - |
spacing | object | ✗ | Custom spacing override (before / after in pt) | From defaults.spacing.list |
List Item Variants (items[])
Each entry in items can be either a simple string or an object with nested items. Using dot notation for nested properties:
| Property | Type | Required | Description |
|---|---|---|---|
items[] | string / object | ✓ | Either a simple text item (string) or an object with text and optional nested items. |
items[].text | string | ✓ (when object) | Item text (supports markdown). Length: 1-1000 characters. |
items[].items | array | ✗ | Nested list items (max 20 items). Each entry again follows the items[] definition (string or object). |
List Defaults (defaults)
Lists share the global defaults with other text-like elements. In particular:
defaults.fontFamily,defaults.fontSize,defaults.color,defaults.lineHeightinfluence list text rendering.defaults.spacing.before.list/defaults.spacing.after.listcontrol vertical spacing before/after list elements.
Nested Default Properties (dot notation)
| Property | Type | Description |
|---|---|---|
defaults.fontFamily | string | Global default font family (applies to lists and other text-based elements). |
defaults.fontSize | number | Global default font size in pt. |
defaults.color | string | Global default text color in hex (e.g. #111827). |
defaults.lineHeight | number | Global line height multiplier (0.5-3.0). |
defaults.spacing.before.list | number | Spacing before list elements in pt (0-100, default: 10). |
defaults.spacing.after.list | number | Spacing after list elements in pt (0-100, default: 10). |
Defaults Example
{
"document": {
"type": "pdf",
"filename": "list-defaults-example"
},
"defaults": {
"fontFamily": "Inter",
"fontSize": 11,
"color": "#111827",
"lineHeight": 1.5,
"spacing": {
"before": {
"list": 10
},
"after": {
"list": 10
}
}
},
"sections": []
}
Unordered List Example
Unordered List JSON
{
"document": {
"type": "pdf",
"filename": "list-unordered-example"
},
"sections": [
{
"type": "flow",
"content": [
{
"type": "h2",
"text": "Unordered List"
},
{
"type": "text",
"text": "This example shows an unordered list with nested items."
},
{
"type": "list",
"ordered": false,
"items": [
"Item 1: simple bullet",
{
"text": "Item 2: parent with nested bullets",
"items": [
"Nested item 2.1",
"Nested item 2.2"
]
},
"Item 3: final bullet"
]
}
]
}
]
}
Ordered List Example
Ordered List JSON
{
"document": {
"type": "pdf",
"filename": "list-ordered-example"
},
"sections": [
{
"type": "flow",
"content": [
{
"type": "h2",
"text": "Ordered List"
},
{
"type": "text",
"text": "This example shows an ordered list with nested items."
},
{
"type": "list",
"ordered": true,
"items": [
"Step 1: Collect requirements",
"Step 2: Design the document structure",
{
"text": "Step 3: Implement the report",
"items": [
"3.1: Configure defaults",
"3.2: Add sections and elements"
]
},
"Step 4: Review and export"
]
}
]
}
]
}