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

# fields.repeatable()

A repeatable list of a single primitive editor. Feature-gated per team.

A repeatable list of a single inner editor. Maps to editor `{ name: 'str-repeatable', type: 'repeatable' }`, with `of` compiled to the inner editor id in `options.availableTypes`.

> [!WARNING]
> The repeatable editor is feature-gated per team — confirm it's enabled before relying on it in a schema you plan to push.

## Example

```ts
fields.repeatable({
  label: 'Tags',
  of: 'text',
  size: 10,
})
```

## Options

| Option         | Type                                                   | Required | Description                                                |
| -------------- | ------------------------------------------------------ | -------- | ---------------------------------------------------------- |
| `label`        | `string`                                               | Yes      | Label shown to editors in Strife Studio.                   |
| `of`           | `'text' \| 'number' \| 'date' \| 'datetime' \| 'link'` | Yes      | The editor repeated for each row.                          |
| `description`  | `string`                                               | No       | Tooltip shown to editors.                                  |
| `searchable`   | `boolean`                                              | No       | Include in the team's search index.                        |
| `filterable`   | `boolean`                                              | No       | Allow filtering content lists by this value.               |
| `protected`    | `boolean`                                              | No       | Restrict editing to users with the appropriate permission. |
| `propertyName` | `string`                                               | No       | Override the stored property name.                         |
| `size`         | `number \| null`                                       | No       | Maximum number of rows.                                    |
| `hint`         | `string \| null`                                       | No       | Display hint shown above the list in the editor.           |

No `localizable` option.

## Output type

Depends on `of`: `number` → `number[]`, `link` → `Link[]`, everything else (`text`, `date`, `datetime`) → `string[]`.

## See also

* [Repeatable](https://strife.app/docs/reference/fields/repeatable.md) — the same editor, documented from the Strife Studio UI side.
* [`fields.multiInput()`](https://strife.app/docs/reference/field-reference/fields.multiinput.md) — a similar repeatable-primitive shape with a different editor and a wider set of input types.
