UNPKG

@prismicio/client

Version:

The official JavaScript + TypeScript client library for Prismic

92 lines (91 loc) 1.74 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; };