> From the [Strife developer docs](https://strife.app/docs/reference/fields/repeatable). Every page is listed in [llms.txt](https://strife.app/docs/llms.txt).

# Repeatable

The Repeatable editor allows editors to add multiple values using the same input type, making it ideal for structured lists and repeatable data patterns.

A Repeatable editor is configured with **one specific editor type**, which is then reused for every item in the list. Supported editor types include standard inputs (text, number, date), textarea, links, and combo boxes. Mixing different editor types within the same Repeatable editor is not supported by design—this ensures consistent data output and predictable rendering.

From a data perspective, the Repeatable editor outputs an **array of value objects**, where each item follows the schema of the selected editor type. This makes the field straightforward to consume in templates, APIs, and custom components.

The Repeatable editor is well suited for use cases such as tag lists, external links, key facts, dates, or any scenario where a controlled set of repeated values is required without introducing additional document structure.

### Settings

In addition to the basic settings, this section provides information about unique settings and configurations specific to this field.

> [!NOTE]
> You can find a comprehensive list of all basic settings in the ['Overview' section](https://strife.app/docs/reference/fields.md).

<table><thead><tr><th width="232">Option</th><th>Description</th><th data-hidden></th></tr></thead><tbody><tr><td>Editor Type</td><td>Select the type of editor that can be added to the repeatable.  Supported editor types include standard inputs (text, number, date), textarea, links, and combo boxes. </td><td></td></tr><tr><td>Size</td><td>Optional setting for limiting the number of references allowed</td><td></td></tr><tr><td>Options*</td><td>Options to display. Only available for combo box editors</td><td></td></tr><tr><td>External source*</td><td>Use an external source to fetch options. Only available for combo box editors</td><td></td></tr></tbody></table>

### Define with JSON

When defining templates using JSON, this field is represented using:

* **Component Name:** `str-repeatable`
* **Type:** `repeatable`
* Reference ID: `str-repeatable`

The settings above map into the `editor` object inside the JSON definition.

> [!NOTE]
> **Note for JSON configuration**\
> When configuring a Repeatable editor using JSON, the editor type is defined by a specific editor ID. Set options.availableTypes to an array containing **exactly one string** with this ID. The correct ID for each editor type is listed on its respective documentation page.

```json
{
  ...
  "editor": {
    "name": "str-repeatable",
    "type": "repeatable",
    "propertyName": "...",
    "attributes": {
      "hint": "...",
      "size": 3,              //Any number
      "externalDataSource": "..." //*Combo Box editors only
    },
    "options": {
      "availableTypes": [...], // Array with single item allowed with editor ID for repeatable editor
      "items": [               //*Combo Box editors only
        {
          "name": "...",
          "value": "...",
          "color": "...",  //Optional, hex color format
          "icon": "...",   //Optional, name of icon
          "avatar": "..."  //Optional, url to avatar
        },
        ...
      ],
    }
    ...    
  },
  ...
}
```

### Live preview

> [!NOTE]
> This field does not have any default Strife Web Components. Custom live preview implementations are fully supported.

> [!NOTE]
> For more information on live preview and Strife Web Components, please refer to the [Live preview documentation](https://strife.app/docs/reference/live-preview.md).
