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

# RegisteredContainer

> **RegisteredContainer** = `object`

Defined in: packages/editor/src/schema/container-types.ts:38

Public view of a registered editable container, surfaced on
[EditorContext.containers](/api/editor/type-aliases/editorcontext/#containers).

Two array properties named `of` live on the same entry with
different semantics:

- `field.of` is the SCHEMA-DECLARED list of types this container's
  child field accepts (from `@portabletext/schema`'s
  `OfDefinition`). Tells you what the schema permits as children.
- `of` (top-level on `RegisteredContainer`) is the list of
  POSITIONAL CHILD REGISTRATIONS - nested
  [RegisteredContainer](/api/editor/type-aliases/registeredcontainer/) or [RegisteredPositional](/api/editor/type-aliases/registeredpositional/)
  entries - that override the global registration when the engine
  descends into this parent. Tells you which child renderings are
  scoped to this parent.

The full container registration (including the render callback)
lives on the editor's internal ResolvedContainers map and
is not exposed on the public context.

Two top-level entries with the same `_type` cannot coexist - the
register handler warns on duplicates. But the SAME `_type`
registered in two different parents' `of` arrays is supported as
a feature; `resolveContainerAt` walks the positional tree using
the path to return the entry that applies at a given position.

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

## Properties

### field

> **field**: `ChildArrayField`

Defined in: packages/editor/src/schema/container-types.ts:41

***

### kind

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

Defined in: packages/editor/src/schema/container-types.ts:39

***

### of?

> `optional` **of**: `ReadonlyArray`\<`RegisteredContainer` \| [`RegisteredPositional`](/api/editor/type-aliases/registeredpositional/)\>

Defined in: packages/editor/src/schema/container-types.ts:42

***

### type

> **type**: `string`

Defined in: packages/editor/src/schema/container-types.ts:40