Interface PortableTextBlock<M, C, S, L>

A Portable Text Block can be thought of as one paragraph, quote or list item. In other words, it is a container for text, that can have a visual style associated with it. The actual text value is stored in portable text spans inside of the childen array.

interface PortableTextBlock<M, C, S, L> {
    _type: string;
    children: C[];
    _key?: string;
    markDefs?: M[];
    style?: S;
    listItem?: L;
    level?: number;
}

Type Parameters

Hierarchy (view full)

Properties

_type: string

Type name identifying this as a portable text block. All items within a portable text array should have a _type property.

Usually 'block', but can be customized to other values

children: C[]

Array of inline items for this block. Usually contain text spans, but can be configured to include inline objects of other types as well.

_key?: string

A key that identifies this block uniquely within the parent array. Used to more easily address the block when editing collaboratively, but is also very useful for keys inside of React and other rendering frameworks that can use keys to optimize operations.

markDefs?: M[]

Array of mark definitions used in child text spans. By having them be on the block level, the same mark definition can be reused for multiple text spans, which is often the case with nested marks.

style?: S

Visual style of the block Common values: 'normal', 'blockquote', 'h1'...'h6'

listItem?: L

If this block is a list item, identifies which style of list item this is Common values: 'bullet', 'number', but can be configured

level?: number

If this block is a list item, identifies which level of nesting it belongs within