UNPKG

@prismicio/client

Version:

The official JavaScript + TypeScript client library for Prismic

110 lines (94 loc) 1.61 kB
import type { FieldState } from "./types" import type { RichTextField } from "./richText" /** * A table field. * * @typeParam State - State of the field which determines its shape. * * @see More details: {@link https://prismic.io/docs/table} */ export type TableField<State extends FieldState = FieldState> = State extends "empty" ? null : { /** * The head of the table. */ head?: TableFieldHead /** * The body of the table. */ body: TableFieldBody } /** * Represents a table head. */ export type TableFieldHead = { rows: TableFieldHeadRow[] } /** * Represents a table body. */ export type TableFieldBody = { rows: TableFieldBodyRow[] } /** * Represents a row in a table head. */ export type TableFieldHeadRow = { /** * Unique key of the row. */ key: string /** * Cells in the row. */ cells: TableFieldHeaderCell[] } /** * Represents a table header cell. */ export type TableFieldHeaderCell = { /** * Unique key of the cell. */ key: string /** * The type of the cell. */ type: "header" /** * The content of the cell. */ content: RichTextField } /** * Represents a row in a table body. */ export type TableFieldBodyRow = { /** * Unique key of the row. */ key: string /** * Cells in the row. */ cells: (TableFieldHeaderCell | TableFieldDataCell)[] } /** * Represents a table data cell. */ export type TableFieldDataCell = { /** * Unique key of the cell. */ key: string /** * The type of the cell. */ type: "data" /** * The content of the cell. */ content: RichTextField }