> For the complete documentation index, see [llms.txt](/llms.txt).
> The full corpus is at [llms-full.txt](/llms-full.txt).

# Container

> **Container** = `object`

Defined in: packages/editor/src/renderers/renderer.types.ts:160

A container registration. Identifies a block object `_type` whose value
holds editable children in `arrayField`. The optional `of` array carries
nested registrations that override how immediate children of this
container render at this lexical scope.

`of` overrides apply ONE level down only. Children at deeper levels fall
through to global registrations.

The `kind` field is injected by `defineContainer` and discriminates
containers from other registration kinds at runtime.

:::caution[Alpha]
This API should not be used in production and may be trimmed from a public release.
:::

## Properties

### arrayField

> **arrayField**: `string`

Defined in: packages/editor/src/renderers/renderer.types.ts:163

***

### kind

> **kind**: `"container"`

Defined in: packages/editor/src/renderers/renderer.types.ts:161

***

### of?

> `optional` **of**: `ReadonlyArray`\<`Container` \| [`TextBlock`](/api/editor/type-aliases/textblock/) \| [`BlockObject`](/api/editor/type-aliases/blockobject/)\>

Defined in: packages/editor/src/renderers/renderer.types.ts:175

Block-level positional overrides. Inline-content kinds (`Span`,
`InlineObject`) belong in `TextBlock.of`, not here.

***

### render?

> `optional` **render**: [`ContainerRender`](/api/editor/type-aliases/containerrender/)

Defined in: packages/editor/src/renderers/renderer.types.ts:170

Outer render. Two modes:
- omitted: fall through to global registered render (or engine default)
- function: use this render. The function receives a `renderDefault`
  prop that returns the engine default when called.

***

### type

> **type**: `string`

Defined in: packages/editor/src/renderers/renderer.types.ts:162