<a id="layout-renderers-reference"></a>
<a id="renderers-catalog"></a>
# Layout Renderers Reference

This page lists the renderers available for use in custom object layout definitions. Each renderer is a reusable UI component that replaces the default property input for a Field node.

<a id="number-spinner"></a>
<a id="renderer-number-spinner"></a>
## Number Spinner

**Name:** `number-spinner`

Numeric input with increment/decrement buttons. Min, max and decimal places are read from the property definition.

**Allowed field types:** numeric

<a id="options"></a>
### Options

| Name | Type | Default | Help | Choices |
| --- | --- | --- | --- | --- |
| `step` | number |  | Override increment/decrement step size. Defaults to 1, or 10**-decimal_places when the property defines decimals. |  |

<a id="example"></a>
### Example

```json
{
  "type": "Field",
  "fieldId": "FieldName",
  "renderer": "number-spinner",
  "rendererOptions": {
    "step": 1
  }
}
```

<a id="radio-buttons"></a>
<a id="renderer-radio-buttons"></a>
## Radio Buttons

**Name:** `radio-buttons`

Displays choice values as radio buttons instead of a dropdown.

**Allowed field types:** choice

<a id="id1"></a>
### Options

| Name | Type | Default | Help | Choices |
| --- | --- | --- | --- | --- |
| `orientation` | string | vertical | Layout direction for the radio buttons | vertical, horizontal |

<a id="id2"></a>
### Example

```json
{
  "type": "Field",
  "fieldId": "FieldName",
  "renderer": "radio-buttons",
  "rendererOptions": {
    "orientation": "vertical"
  }
}
```

<a id="transfer-list"></a>
<a id="renderer-transfer-list"></a>
## Transfer List

**Name:** `transfer-list`

Dual-pane picker for a Set property. Allowed values and separator are taken from the property definition.

**Allowed field types:** set

<a id="id3"></a>
### Example

```json
{
  "type": "Field",
  "fieldId": "FieldName",
  "renderer": "transfer-list"
}
```
