\n This API is subject to change. Bug fixes and new features will be released based on developer\n feedback throughout the preview period.\n
\n
\n\n\nWix Ricos defines its own data structure, the Ricos document. Its a central\npiece of Ricos technology as the rich content editor and viewer are built\naround it.\n\nFundamentally, the object structure is a **tree of nodes** representing content\nblocks. It includes basic text container nodes (like paragraphs, headings,\nlists, and so on), as well as more complex nodes that require Ricos plugins to\nwork. These complex nodes allow for the creation of advanced content blocks\n(like videos, tables, galleries, and so on).\n\nThe Ricos document resembles HTML, with various node types acting like HTML\ntags and their fields functioning as attributes. The `nodes` field represents the\nchildren of HTML tags. The primary difference, and the reason Ricos does not use\nHTML as its structure, is that the Ricos document imposes more constraints. This\nallows it to be more easily manipulated and displayed across different\nenvironments.\n\n
\n Caution: This document describes the full reference of Ricos document schema. However, when creating rich content with Wix APIs that access a Ricos Document, beware of the plugins that each product supports. A list of supported plugins is described in each API where the Ricos Document is used.\n
\n
\n\n## Quicklinks\n- For **text** use [Paragraph](#paragraphnode), [Heading](#headingnode), [Blockquote](#blockquotenode), [CodeBlock](#codeblocknode), [Text](#textnode) nodes.\n- For **lists** use [BulletedList](#bulletedlistnode), [OrderedList](#orderedlistnode), [CollapsibleList](#collapsiblelistnode), [Table](#tablenode) nodes.\n- For **media** use [Image](#imagenode), [Video](#videonode), [Gallery](#gallerynode), [Gif](#gifnode), [Audio](#audionode), [File](#filenode) nodes.\n- For **embeds** use [AppEmbed](#appembednode), [Embed](#embednode), [LinkPreview](#linkpreviewnode), [Html](#htmlnode) nodes.\n- Other nodes: [Divider](#dividernode), [Button](#buttonnode).\n- **Decorations**: [Bold](#bolddecoration), [Italic](#italicdecoration), [Underline](#underlinedecoration), [Spoiler](#spoilerdecoration), [Anchor](#anchordecoration), [Mention](#mentiondecoration), [Link](#linkdecoration), [Color](#colordecoration), [FontSize](#fontsizedecoration)\n\n## Playground\n\nYou can experiment with with rich content directly using the\nembedded playground we provide. You can experiment in the following way:\n- By editing the Ricos document in the `Document` section of the\nplayground.\n- By editing content in the `Editor` section. You will see how the\nRicos document is updated to reflect any changes made in the `Editor` section.\n\nFor a more comfortable experience you can try viewing examples in the [Full\nplayground](https://ricos.dev).\n\n\n\n\n
\n\n\n\n\n## Reference\n\n##### RicosDocument\n\n\n\n| Field | Type | Description |\n| :------ | :------ | :------ |\n| nodes Required | Array <RootNode> | An array of nodes representing content elements, such as `ParagraphNode`, `HeadingNode`, and so on. |\n| metadata | Metadata | Data about the Ricos document, such as version. This property is applicable only when using the ricos content editor and is auto-generated. |\n| documentStyle | DocumentStyle | Defines styles for nodes. For example, you can define general styling for `headerOne`, and then override some of the properties separately for a specific header. |\n\n## Nodes\nThis section describes all possible nodes in the Ricos Document.\nSome are [unions](#tagged-unions), such as [RootNode](#rootnode).\n\nHere is the list of specific nodes, presented in alphabetical order for quick access:\n[AppEmbedNode](#appembednode),\n[AudioNode](#audionode),\n[BlockquoteNode](#blockquotenode),\n[BulletedListNode](#bulletedlistnode),\n[ButtonNode](#buttonnode),\n[CodeBlockNode](#codeblocknode),\n[CollapsibleItemNode](#collapsibleitemnode),\n[CollapsibleItemBodyNode](#collapsibleitembodynode),\n[CollapsibleItemTitleNode](#collapsibleitemtitlenode),\n[CollapsibleListNode](#collapsiblelistnode),\n[DividerNode](#dividernode),\n[EmbedNode](#embednode),\n[FileNode](#filenode),\n[GalleryNode](#gallerynode),\n[GifNode](#gifnode),\n[HeadingNode](#headingnode),\n[HtmlNode](#htmlnode),\n[ImageNode](#imagenode),\n[LinkPreviewNode](#linkpreviewnode),\n[ListItemNode](#listitemnode),\n[OrderedListNode](#orderedlistnode),\n[ParagraphNode](#paragraphnode),\n[PollNode](#pollnode),\n[TableCellNode](#tablecellnode),\n[TableNode](#tablenode),\n[TableRowNode](#tablerownode),\n[TextNode](#textnode),\n[VideoNode](#videonode).\n\n##### RootNode\n\n**Used in:** RicosDocument\n\nRepresents nodes that can be added to the root level of `nodes` array.\n\n _This type is [Tagged Union](#tagged-unions)\nwith `type` field being the discriminating tag._ \n\n| Variant | Tag value | Description |\n| :------ | :------ | :------ |\n| AppEmbedNode | `APP_EMBED` | Similar to `LinkPreviewNode`, this node is used to embed external content preview, but from Wix business solutions. You can embed previews from the Wix Bookings, Wix Stores and Wix Events apps. |\n| AudioNode | `AUDIO` | A multimedia node used to embed and play audio content directly in a webpage. When rendered, it is displayed as the audio player with the specified audio file (can be a platform such as Spotify or Soundloud, and Wix Media). Users can interact with the controls to play, pause, rewind, and adjust the volume of the audio. |\n| BlockquoteNode | `BLOCKQUOTE` | Used to visually distinguish quoted or cited content from the surrounding text. When rendered, it is displayed as the quoted text with indentation or other styling to visually separate it from the surrounding content. |\n| BulletedListNode | `BULLETED_LIST` | Presents a group of items in a visually organized manner, where each item is preceded by a bullet point. Bulleted lists are commonly used to present unordered information. |\n| ButtonNode | `BUTTON` | A node that is used to trigger an action when clicked or activated. |\n| CodeBlockNode | `CODE_BLOCK` | Used to present programming code snippets, markup, or other text-based content that should be displayed exactly as it appears, without any interpretation or formatting applied by the browser. When rendered, it is displayed as the code block with a monospaced font, preserving indentation, line breaks, and spacing as specified in the code. |\n| CollapsibleListNode | `COLLAPSIBLE_LIST` | A list of items where each item can be expanded or collapsed to reveal or hide additional content associated with it. |\n| DividerNode | `DIVIDER` | A visual node that is used to separate content sections in a page. When rendered, it is displayed as a horizontal line between the paragraphs, acting as a divider between them. |\n| EmbedNode | `EMBED` | Similar to `HtmlNode`, this node is used to display embedded content when you post a link to that resource, without having to parse the resource directly. It provides a standardized way for web developers to include content such as videos, images, and other multimedia elements from supported providers without needing to handle the complex embedding code themselves. For more information, read [oembed](https://oembed.com/). |\n| FileNode | `FILE` | A digital file stored on a computer that is uploaded and accessed in a page. Files can include various types of content, such as text documents, images, videos, and so on. |\n| GalleryNode | `GALLERY` | A collection of images displayed together in a visually appealing and organized manner. |\n| GifNode | `GIF` | GIF images are made up of a series of frames, allowing them to display animations or short video clips without the need for additional plugins or technologies. |\n| HeadingNode | `HEADING` | Used to denote the heading or title of a section. Headings are hierarchical, with different levels indicating the relative importance of the heading in the content's structure. There are 6 levels of headings, where `1` is the highest level and `6` is the lowest. |\n| HtmlNode | `HTML` | Incorporates external content, such as interactive maps, or entire web pages. |\n| ImageNode | `IMAGE` | Displays standalone pictures in a page. |\n| LinkPreviewNode | `LINK_PREVIEW` | A preview or summary of a webpage. Link previews include elements such as the title of the linked page, a brief description or excerpt of the content, and possibly a thumbnail image or other relevant information. |\n| OrderedListNode | `ORDERED_LIST` | Presents a group of items in a sequentially numbered or lettered manner. Ordered lists are used to represent information that has a specific order or sequence. |\n| ParagraphNode | `PARAGRAPH` | Used to structure text content, providing a clear separation between different ideas or sections of text. They are rendered with default styling that typically includes some space above and below the paragraph, making it visually distinct from the surrounding content. |\n| PollNode | `POLL` | A node that allows users to vote or express their opinions on a particular question, topic, or issue. |\n| TableNode | `TABLE` | A structural node used to display data in rows and columns. |\n| VideoNode | `VIDEO` | A multimedia node that is used to embed and play video content directly in a page. When rendered, it is displayed as the video player with the specified video file. Users can interact with the controls to play, pause, rewind, and adjust the volume of the video. |\n\n#### ParagraphNode\n\n**Used in:** RootNode, BlockquoteNode, ListItemChildNode, TableCellChildNode, CollapsibleTitleChildNode, CollapsibleItemBodyChildNode\n\nUsed to structure text content, providing a clear separation between different ideas or sections of text. They are rendered with default styling that typically includes some space above and below the paragraph, making it visually distinct from the surrounding content.\n\n\n\n\n
\n\n\n\n\n| Field | Type | Description |\n| :------ | :------ | :------ |\n| type Required | `\"PARAGRAPH\"` | Node type. Value: `PARAGRAPH` |\n| nodes | Array <TextNode> | Paragraph children. |\n| id | string format NODE_ID | [Node ID](#node-ids). |\n| style | NodeStyle | Paragraphs vertical padding. **Note:** This node requires the [lineSpacing](#plugins) plugin for styling. |\n| paragraphData | ParagraphData | Paragraph node attributes. |\n\n##### ParagraphData\n\n**Used in:** ParagraphNode\n\n\n\n| Field | Type | Description |\n| :------ | :------ | :------ |\n| textStyle | TextStyle | Styling for the paragraph text. |\n| indentation | int32 | Paragraph margin from the left side. Possible values are from `1` to `4`. Actual indentation is equal to **indentation * 40px**. |\n\n#### TextNode\n\n**Used in:** ParagraphNode, HeadingNode, CodeBlockNode\n\nText nodes hold the text itself (think `span` tag in HTML). The difference between `TextNode` and HTML `span` is that text nodes can't be nested and must contain non-empty string. Their appearance and behavior can be modified using [decorations](#decorations).\n\n\n\n\n
\n\n\n\n\n| Field | Type | Description |\n| :------ | :------ | :------ |\n| type Required | `\"TEXT\"` | Node type. Value: `TEXT` |\n| textData Required | TextData | Text options. |\n| id | string format NODE_ID | [Node ID](#node-ids). |\n\n##### TextData\n\n**Used in:** TextNode\n\n\n\n| Field | Type | Description |\n| :------ | :------ | :------ |\n| text Required | string
minLength: 1 | A piece of text, possibly enhanced with additional decorations. Must not be empty. |\n| decorations | Array <Decoration> Unique Tags | Text decoration options, such as font and text color. Each type of decoration must appear at most once in this array. |\n\n#### HeadingNode\n\n**Used in:** RootNode, ListItemChildNode, TableCellChildNode, CollapsibleTitleChildNode, CollapsibleItemBodyChildNode\n\nUsed to denote the heading or title of a section. Headings are hierarchical, with different levels indicating the relative importance of the heading in the content's structure. There are 6 levels of headings, where `1` is the highest level and `6` is the lowest.\n\n\n\n\n
\n\n\n\n\n| Field | Type | Description |\n| :------ | :------ | :------ |\n| type Required | `\"HEADING\"` | Node type. Value: `HEADING` |\n| nodes | Array <TextNode> | Child nodes to define the heading text. |\n| id | string format NODE_ID | [Node ID](#node-ids). |\n| style | NodeStyle | Defines the heading style, such as padding and background color. **Note:** This node requires the [lineSpacing](#plugins) plugin for styling. |\n| headingData | HeadingData | Heading options. |\n\n##### HeadingData\n\n**Used in:** HeadingNode\n\n\n\n| Field | Type | Description |\n| :------ | :------ | :------ |\n| level | int32 | Heading size from `1` to `6`, where `1` is the highest level and `6` is the lowest. |\n| textStyle | TextStyle | Defines the heading text style, such as text alignment and line height. |\n| indentation | int32 | Heading margin from the left side. Possible values are from `1` to `4`. The indentation is measured in relative to the font size *em* units, by the following formula: **indentation * 1.5**. For example, if indentation is `2`, then margin is equal to **3em**. Therefore the margin is 3 times the size of the font. |\n\n#### ImageNode\n\n**Used in:** RootNode, ListItemChildNode, TableCellChildNode, CollapsibleItemBodyChildNode\n\n
\n\n\n\n\n| Field | Type | Description |\n| :------ | :------ | :------ |\n| type Required | `\"IMAGE\"` | Node type. Value: `IMAGE` |\n| imageData Required | ImageData | Image options. |\n| id | string format NODE_ID | [Node ID](#node-ids). |\n\n##### ImageData\n\n**Used in:** ImageNode\n\n\n\n| Field | Type | Description |\n| :------ | :------ | :------ |\n| image Required | Media | Image file details, such as source and dimensions. |\n| containerData | PluginContainerData | Styling for the image container, such as dimensions and alignment. |\n| link | Link | Link details, such as URL, or anchor, if image is also used as a link. |\n| disableExpand | boolean | Whether the image expands to the full screen when clicked. Default: `false` |\n| altText | string | An alternate text for an image. Used for improved accessibility and shown when the image can't be displayed. |\n| caption | string | Image title. |\n| disableDownload | boolean | Whether the download image button is disabled. Default: `false` |\n\n#### OrderedListNode\n\n**Used in:** RootNode, ListItemChildNode, TableCellChildNode, CollapsibleTitleChildNode, CollapsibleItemBodyChildNode\n\nPresents a group of items in a sequentially numbered or lettered manner. Ordered lists are used to represent information that has a specific order or sequence.\n\n\n\n\n
\n\n\n\n\n| Field | Type | Description |\n| :------ | :------ | :------ |\n| type Required | `\"ORDERED_LIST\"` | Node type. Value: `ORDERED_LIST` |\n| nodes Required | Array <ListItemNode> minItems: 1 | List items. |\n| id | string format NODE_ID | [Node ID](#node-ids). |\n| orderedListData | OrderedListData | Ordered list details. |\n\n##### OrderedListData\n\n**Used in:** OrderedListNode\n\n\n\n| Field | Type | Description |\n| :------ | :------ | :------ |\n| indentation Deprecated | int32 | List margin from the left side. Possible values are from `1` to `4`. The indentation is measured in relative to the font size *em* units, by the following formula: **indentation * 1.5**. For example, if indentation is `2`, then margin is equal to **3em**. Therefore the margin is 3 times the size of the font. |\n| offset | int32 | An integer (ranging from 0 to 4) used to control the additional indentation level of an ordered or bulleted list node, beyond its original HTML-defined nesting. When offset is 0, the list node appears at its default nesting level; as the value increases from 1 to 4, the node is indented further, creating the visual impression of deeper nesting without altering the actual HTML structure. |\n| start | int32 | An integer to start counting from for the list items, overriding the default start of 1. |\n\n#### BulletedListNode\n\n**Used in:** RootNode, ListItemChildNode, TableCellChildNode, CollapsibleTitleChildNode, CollapsibleItemBodyChildNode\n\nPresents a group of items in a visually organized manner, where each item is preceded by a bullet point. Bulleted lists are commonly used to present unordered information.\n\n\n\n\n
\n\n\n\n\n| Field | Type | Description |\n| :------ | :------ | :------ |\n| type Required | `\"BULLETED_LIST\"` | Node type. Value: `BULLETED_LIST` |\n| nodes Required | Array <ListItemNode> minItems: 1 | List items. |\n| id | string format NODE_ID | [Node ID](#node-ids). |\n| bulletedListData | BulletedListData | Bulleted list details. |\n\n##### BulletedListData\n\n**Used in:** BulletedListNode\n\n\n\n| Field | Type | Description |\n| :------ | :------ | :------ |\n| indentation Deprecated | int32 | |\n| offset | int32 | An integer (ranging from 0 to 4) used to control the additional indentation level of an ordered or bulleted list node, beyond its original HTML-defined nesting. When `offset` is `0`, the list node appears at its default nesting level; as the value increases from 1 to 4, the node is indented further, creating the visual impression of deeper nesting without altering the actual HTML structure. |\n\n##### ListItemNode\n\n**Used in:** BulletedListNode, OrderedListNode\n\n\n\n
\n Items in field nodes must conform to the following pattern: \n\n`(PARAGRAPH|HEADING|IMAGE|VIDEO|GIF|GALLERY) (PARAGRAPH|BULLETED_LIST|ORDERED_LIST|HEADING|IMAGE|VIDEO|GIF|GALLERY)*`\n\nA list item must start with a paragraph or heading, followed by any number of paragraphs, bulleted lists, or ordered lists.\n\nMore about [patterns](#patterns)\n
\n\n\n\n| Field | Type | Description |\n| :------ | :------ | :------ |\n| type Required | `\"LIST_ITEM\"` | Node type. Value: `LIST_ITEM` |\n| nodes Required | Array <ListItemChildNode> | Child nodes that the list item contains. Array items must adhere to the pattern described above this table. |\n| id | string format NODE_ID | [Node ID](#node-ids). |\n\n##### ListItemChildNode\n\n**Used in:** ListItemNode\n\n _This type is [Tagged Union](#tagged-unions)\nwith `type` field being the discriminating tag._ \n\n| Variant | Tag value | Description |\n| :------ | :------ | :------ |\n| BulletedListNode | `BULLETED_LIST` | Presents a group of items in a visually organized manner, where each item is preceded by a bullet point. Bulleted lists are commonly used to present unordered information. |\n| GalleryNode | `GALLERY` | A collection of images displayed together in a visually appealing and organized manner. |\n| GifNode | `GIF` | GIF images are made up of a series of frames, allowing them to display animations or short video clips without the need for additional plugins or technologies. |\n| HeadingNode | `HEADING` | Used to denote the heading or title of a section. Headings are hierarchical, with different levels indicating the relative importance of the heading in the content's structure. There are 6 levels of headings, where `1` is the highest level and `6` is the lowest. |\n| ImageNode | `IMAGE` | Displays standalone pictures in a page. |\n| OrderedListNode | `ORDERED_LIST` | Presents a group of items in a sequentially numbered or lettered manner. Ordered lists are used to represent information that has a specific order or sequence. |\n| ParagraphNode | `PARAGRAPH` | Used to structure text content, providing a clear separation between different ideas or sections of text. They are rendered with default styling that typically includes some space above and below the paragraph, making it visually distinct from the surrounding content. |\n| VideoNode | `VIDEO` | A multimedia node that is used to embed and play video content directly in a page. When rendered, it is displayed as the video player with the specified video file. Users can interact with the controls to play, pause, rewind, and adjust the volume of the video. |\n\n#### BlockquoteNode\n\n**Used in:** RootNode, TableCellChildNode, CollapsibleTitleChildNode, CollapsibleItemBodyChildNode\n\nUsed to visually distinguish quoted or cited content from the surrounding text. When rendered, it is displayed as the quoted text with indentation or other styling to visually separate it from the surrounding content.\n\n\n\n\n
\n\n\n\n\n| Field | Type | Description |\n| :------ | :------ | :------ |\n| type Required | `\"BLOCKQUOTE\"` | Node type. Value: `BLOCKQUOTE` |\n| nodes Required | Array <ParagraphNode> minItems: 1 maxItems: 1 | Child nodes to define a blockquote paragraph. |\n| id | string format NODE_ID | [Node ID](#node-ids). |\n| blockquoteData | BlockquoteData | Blockquote details. |\n| style | NodeStyle | Defines the blockquote style, such as padding and background color. **Note:** This node requires the [lineSpacing](#plugins) plugin for styling. |\n\n##### BlockquoteData\n\n**Used in:** BlockquoteNode\n\n\n\n| Field | Type | Description |\n| :------ | :------ | :------ |\n| indentation | int32 | Blockquote margin from the left side. Possible values are from `1` to `4`. The indentation is measured in relative to the font size *em* units, by the following formula: **indentation * 1.5**. For example, if indentation is `2`, then margin is equal to **3em**. Therefore the margin is 3 times the size of the font. |\n\n#### GifNode\n\n**Used in:** RootNode, ListItemChildNode, TableCellChildNode, CollapsibleItemBodyChildNode\n\n
\n\nGIF images are made up of a series of frames, allowing them to display animations or short video clips without the need for additional plugins or technologies.\n\n\n\n\n
\n\nA multimedia node that is used to embed and play video content directly in a page. When rendered, it is displayed as the video player with the specified video file. Users can interact with the controls to play, pause, rewind, and adjust the volume of the video.\n\n\n\n\n
\n\n\n\n\n| Field | Type | Description |\n| :------ | :------ | :------ |\n| type Required | `\"VIDEO\"` | Node type. Value: `VIDEO` |\n| videoData Required | VideoData | Video details. |\n| id | string format NODE_ID | [Node ID](#node-ids). |\n\n##### VideoData\n\n**Used in:** VideoNode\n\n\n\n| Field | Type | Description |\n| :------ | :------ | :------ |\n| video Required | Media | Video file details, such as source and dimensions. |\n| containerData | PluginContainerData | Styling for the video container, such as dimensions and alignment. |\n| thumbnail | Media | Video thumbnail details, such as dimensions. |\n| disableDownload | boolean | Whether the video download button is disabled. Default: `false` |\n| title | string | Video title. |\n| options | PlaybackOptions | Playback details. |\n\n##### PlaybackOptions\n\n**Used in:** VideoData\n\n\n\n| Field | Type | Description |\n| :------ | :------ | :------ |\n| autoPlay | boolean | Whether the media automatically starts playing after opening a page. |\n| playInLoop | boolean | Whether the media is looped. |\n| showControls | boolean | Whether to show the media controls. |\n\n#### TableNode\n\n**Used in:** RootNode, CollapsibleItemBodyChildNode\n\n
\n\n\n\n\n| Field | Type | Description |\n| :------ | :------ | :------ |\n| type Required | `\"TABLE\"` | Node type. Value: `TABLE` |\n| nodes Required | Array <TableRowNode> minItems: 1 | Child nodes to define table rows. |\n| id | string format NODE_ID | [Node ID](#node-ids). |\n| tableData | TableData | Table details. |\n\n##### TableRowNode\n\n**Used in:** TableNode\n\n\n\n| Field | Type | Description |\n| :------ | :------ | :------ |\n| type Required | `\"TABLE_ROW\"` | Node type. Value: `TABLE_ROW` |\n| nodes Required | Array <TableCellNode> minItems: 1 | Child nodes to define table cells. |\n| id | string format NODE_ID | [Node ID](#node-ids). |\n\n##### TableData\n\n**Used in:** TableNode\n\n\n\n| Field | Type | Description |\n| :------ | :------ | :------ |\n| containerData | PluginContainerData | Styling for the table container, such as dimensions and alignment. |\n| dimensions | TableData_Dimensions | Table dimensions. |\n| rowHeader | boolean | Whether the table's first row is a heading. Default: `false` |\n| columnHeader | boolean | Whether the table's first column is a heading. Default: `false` |\n\n##### TableData_Dimensions\n\n**Used in:** TableData\n\n\n\n| Field | Type | Description |\n| :------ | :------ | :------ |\n| colsWidthRatio | Array <float64 > | Each column width as related to the width of table. |\n| rowsHeight | Array <uint32 > | Height of each row. |\n| colsMinWidth | Array <uint32 > | Minimum width of each column. |\n\n##### TableCellNode\n\n**Used in:** TableRowNode\n\n\n\n| Field | Type | Description |\n| :------ | :------ | :------ |\n| type Required | `\"TABLE_CELL\"` | Node type. Value: `TABLE_CELL` |\n| nodes Required | Array <TableCellChildNode> minItems: 1 | Child nodes to define cell content. |\n| id | string format NODE_ID | [Node ID](#node-ids). |\n| tableCellData | TableCellData | Table cell details. |\n\n##### TableCellChildNode\n\n**Used in:** TableCellNode\n\nTable cell content node.\n\n _This type is [Tagged Union](#tagged-unions)\nwith `type` field being the discriminating tag._ \n\n| Variant | Tag value | Description |\n| :------ | :------ | :------ |\n| AppEmbedNode | `APP_EMBED` | Similar to `LinkPreviewNode`, this node is used to embed external content preview, but from Wix business solutions. You can embed previews from the Wix Bookings, Wix Stores and Wix Events apps. |\n| AudioNode | `AUDIO` | A multimedia node used to embed and play audio content directly in a webpage. When rendered, it is displayed as the audio player with the specified audio file (can be a platform such as Spotify or Soundloud, and Wix Media). Users can interact with the controls to play, pause, rewind, and adjust the volume of the audio. |\n| BlockquoteNode | `BLOCKQUOTE` | Used to visually distinguish quoted or cited content from the surrounding text. When rendered, it is displayed as the quoted text with indentation or other styling to visually separate it from the surrounding content. |\n| BulletedListNode | `BULLETED_LIST` | Presents a group of items in a visually organized manner, where each item is preceded by a bullet point. Bulleted lists are commonly used to present unordered information. |\n| ButtonNode | `BUTTON` | A node that is used to trigger an action when clicked or activated. |\n| CodeBlockNode | `CODE_BLOCK` | Used to present programming code snippets, markup, or other text-based content that should be displayed exactly as it appears, without any interpretation or formatting applied by the browser. When rendered, it is displayed as the code block with a monospaced font, preserving indentation, line breaks, and spacing as specified in the code. |\n| DividerNode | `DIVIDER` | A visual node that is used to separate content sections in a page. When rendered, it is displayed as a horizontal line between the paragraphs, acting as a divider between them. |\n| EmbedNode | `EMBED` | Similar to `HtmlNode`, this node is used to display embedded content when you post a link to that resource, without having to parse the resource directly. It provides a standardized way for web developers to include content such as videos, images, and other multimedia elements from supported providers without needing to handle the complex embedding code themselves. For more information, read [oembed](https://oembed.com/). |\n| FileNode | `FILE` | A digital file stored on a computer that is uploaded and accessed in a page. Files can include various types of content, such as text documents, images, videos, and so on. |\n| GifNode | `GIF` | GIF images are made up of a series of frames, allowing them to display animations or short video clips without the need for additional plugins or technologies. |\n| HeadingNode | `HEADING` | Used to denote the heading or title of a section. Headings are hierarchical, with different levels indicating the relative importance of the heading in the content's structure. There are 6 levels of headings, where `1` is the highest level and `6` is the lowest. |\n| HtmlNode | `HTML` | Incorporates external content, such as interactive maps, or entire web pages. |\n| ImageNode | `IMAGE` | Displays standalone pictures in a page. |\n| LinkPreviewNode | `LINK_PREVIEW` | A preview or summary of a webpage. Link previews include elements such as the title of the linked page, a brief description or excerpt of the content, and possibly a thumbnail image or other relevant information. |\n| OrderedListNode | `ORDERED_LIST` | Presents a group of items in a sequentially numbered or lettered manner. Ordered lists are used to represent information that has a specific order or sequence. |\n| ParagraphNode | `PARAGRAPH` | Used to structure text content, providing a clear separation between different ideas or sections of text. They are rendered with default styling that typically includes some space above and below the paragraph, making it visually distinct from the surrounding content. |\n| VideoNode | `VIDEO` | A multimedia node that is used to embed and play video content directly in a page. When rendered, it is displayed as the video player with the specified video file. Users can interact with the controls to play, pause, rewind, and adjust the volume of the video. |\n\n##### TableCellData\n\n**Used in:** TableCellNode\n\n\n\n| Field | Type | Description |\n| :------ | :------ | :------ |\n| cellStyle | TableCellData_CellStyle | Styling for the cell, such as background color and text alignment. |\n| borderColors | TableCellData_BorderColors | Cell border colors. |\n\n##### TableCellData_CellStyle\n\n**Used in:** TableCellData\n\n\n\n| Field | Type | Description |\n| :------ | :------ | :------ |\n| verticalAlignment | `enum`: `\"TOP\"`, `\"MIDDLE\"`, `\"BOTTOM\"` | Vertical alignment for the cell's text. Possible values: - `TOP`: Aligns the top padding edge of the cell with the top of the row. - `MIDDLE`: Centers the padding box of the cell in the row. - `BOTTOM`: Aligns the bottom padding edge of the cell with the bottom of the row. |\n| backgroundColor | string format COLOR_HEX | Cell background color in a hexadecimal value, for example `#4287f5`. |\n\n##### TableCellData_BorderColors\n\n**Used in:** TableCellData\n\n\n\n| Field | Type | Description |\n| :------ | :------ | :------ |\n| left | string format COLOR_HEX | Left border color in a hexadecimal value. |\n| right | string format COLOR_HEX | Right border color in a hexadecimal value. |\n| top | string format COLOR_HEX | Top border color in a hexadecimal value. |\n| bottom | string format COLOR_HEX | Bottom border color in a hexadecimal value. |\n\n#### AppEmbedNode\n\n**Used in:** RootNode, TableCellChildNode, CollapsibleItemBodyChildNode\n\n
\n\nSimilar to `LinkPreviewNode`, this node is used to embed external content preview, but from Wix business solutions. You can embed previews from the Wix Bookings, Wix Stores and Wix Events apps.\n\n\n\n\n
\n\nSimilar to `HtmlNode`, this node is used to display embedded content when you post a link to that resource, without having to parse the resource directly. It provides a standardized way for web developers to include content such as videos, images, and other multimedia elements from supported providers without needing to handle the complex embedding code themselves. For more information, read [oembed](https://oembed.com/).\n\n\n\n\n
\n\n\n\n\n| Field | Type | Description |\n| :------ | :------ | :------ |\n| type Required | `\"EMBED\"` | Node type. Value: `EMBED` |\n| embedData Required | EmbedData | oEmbed details. |\n| id | string format NODE_ID | [Node ID](#node-ids). |\n\n##### EmbedData\n\n**Used in:** EmbedNode\n\n\n\n| Field | Type | Description |\n| :------ | :------ | :------ |\n| containerData | PluginContainerData | oEmbed node container styling. |\n| oembed | Oembed | [oEmbed](https://www.oembed.com) details. |\n| src | string | Original asset source. |\n\n##### Oembed\n\n**Used in:** EmbedData\n\n\n\n| Field | Type | Description |\n| :------ | :------ | :------ |\n| type | string | Resource type. For more information read the [oEmbed](https://www.oembed.com) official website. |\n| width | int32 | Width of the resource specified in the `url` field in pixels. |\n| height | int32 | Height of the resource specified in the `url` field in pixels. |\n| title | string | A text title, describing the resource. |\n| url | string | The source URL for the resource. |\n| html | string | HTML required to embed a video player. The HTML should have no padding or margins. |\n| authorName | string | Name of the author or owner of the resource. |\n| authorUrl | string | URL for the author or owner of the resource. |\n| providerName | string | Name of the resource provider. |\n| providerUrl | string | URL for the resource provider. |\n| thumbnailUrl | string | URL for a thumbnail image for the resource. If this property is defined, `thumbnailWidth` and `thumbnailHeight` must also be defined. |\n| thumbnailWidth | string | Width of the resource's thumbnail image. If this property is defined, `thumbnailUrl` and `thumbnailHeight` must also be defined. |\n| thumbnailHeight | string | Height of the resource's thumbnail image. If this property is defined, `thumbnailUrl` and `thumbnailWidth`must also be defined. |\n| videoUrl | string | URL for an embedded video. |\n| version | string | The oEmbed version number. This value must be `1.0`. |\n\n#### DividerNode\n\n**Used in:** RootNode, TableCellChildNode, CollapsibleItemBodyChildNode\n\n
\n\nA visual node that is used to separate content sections in a page. When rendered, it is displayed as a horizontal line between the paragraphs, acting as a divider between them.\n\n\n\n\n
\n\nUsed to present programming code snippets, markup, or other text-based content that should be displayed exactly as it appears, without any interpretation or formatting applied by the browser. When rendered, it is displayed as the code block with a monospaced font, preserving indentation, line breaks, and spacing as specified in the code.\n\n\n\n\n
\n\nA preview or summary of a webpage. Link previews include elements such as the title of the linked page, a brief description or excerpt of the content, and possibly a thumbnail image or other relevant information.\n\n\n\n\n
\n\nA multimedia node used to embed and play audio content directly in a webpage. When rendered, it is displayed as the audio player with the specified audio file (can be a platform such as Spotify or Soundloud, and Wix Media). Users can interact with the controls to play, pause, rewind, and adjust the volume of the audio.\n\n\n\n\n
\n\n\n\n\n| Field | Type | Description |\n| :------ | :------ | :------ |\n| type Required | `\"GALLERY\"` | Node type. Value: `GALLERY` |\n| galleryData Required | GalleryData | Gallery node details. |\n| id | string format NODE_ID | [Node ID](#node-ids). |\n\n##### GalleryData\n\n**Used in:** GalleryNode\n\n\n\n| Field | Type | Description |\n| :------ | :------ | :------ |\n| items Required | Array <GalleryData_Item> minItems: 1 | Gallery items details. |\n| containerData | PluginContainerData | Gallery container styling. |\n| options | GalleryOptions | Gallery appearance options. |\n| disableExpand | boolean | Whether the expand button is disabled. Default: `false` |\n| disableDownload | boolean | Whether the download button is disabled. Default: `false` |\n\n##### GalleryOptions\n\n**Used in:** GalleryData\n\n\n\n| Field | Type | Description |\n| :------ | :------ | :------ |\n| layout | GalleryOptions_Layout | Gallery layout. |\n| item | GalleryOptions_ItemStyle | Styling for gallery items. |\n| thumbnails | GalleryOptions_Thumbnails | Styling for gallery thumbnail images. |\n\n##### GalleryOptions_Layout\n\n**Used in:** GalleryOptions\n\n\n\n| Field | Type | Description |\n| :------ | :------ | :------ |\n| type | `enum`: `\"COLLAGE\"`, `\"MASONRY\"`, `\"GRID\"`, `\"THUMBNAIL\"`, `\"SLIDER\"`, `\"SLIDESHOW\"`, `\"PANORAMA\"`, `\"COLUMN\"`, `\"MAGIC\"`, `\"FULLSIZE\"` | Gallery layout type. Possible values: - `COLLAGE`: Presents images in various sizes and positions, creating an artistic or dynamic layout. - `MASONRY`: A grid-based design that places items in optimal positions based on available vertical space, creating an arrangement where items of varying heights fit together like bricks in a wall. - `GRID`: A layout structure that organizes items into rows and columns, creating a clean, uniform, and visually appealing arrangement of images. - `THUMBNAIL`: A smaller, scaled-down version of an image that serves as a preview. - `SLIDER`: A component that allows users to browse through a set of images by sliding or swiping through them, typically in a confined viewing area. - `SLIDESHOW`: A component that automatically or manually transitions through a set of images in a designated area. - `PANORAMA`: Wide-angle or 360-degree image that allows users to view an extended horizontal view of a scene. - `COLUMN`: Arrangement of the gallery items in vertical sections. - `MAGIC`: Visually stunning, dynamic effects that enhance the user experience. - `FULLSIZE`: A layout where each image or item is displayed at its full size, taking up the entire viewport or a significant portion of the screen.. |\n| horizontalScroll | boolean | Whether the horizontal scroll is enabled. Default: `true`, unless the `type` field is set to `GRID` or `COLLAGE`. |\n| orientation | `enum`: `\"ROWS\"`, `\"COLUMNS\"` | Gallery orientation. Possible values: - `ROWS`: Gallery items are arranged horizontally in rows. - `COLUMNS`: Gallery items are arranged vertically in columns. |\n| numberOfColumns | int32 | The number of columns to display on computer screens. |\n| mobileNumberOfColumns | int32 | The number of columns to display on mobile phone screens. |\n\n##### GalleryOptions_ItemStyle\n\n**Used in:** GalleryOptions\n\n\n\n| Field | Type | Description |\n| :------ | :------ | :------ |\n| targetSize | int32 | Dimension for each gallery item in pixels (behavaior changes according to a gallery type). |\n| ratio | float64 | Item ratio |\n| crop | `enum`: `\"FILL\"`, `\"FIT\"` | Sets how gallery item images are cropped. Possible values: - `FILL`: Each item in the gallery is cropped and resized to completely fill its container, ensuring that no empty space is left while maintaining the aspect ratio of the original image. - `FIT`: Each item in the gallery is resized to fit entirely in its container without any cropping. |\n| spacing | int32 | The spacing between gallery items in pixels. |\n\n##### GalleryOptions_Thumbnails\n\n**Used in:** GalleryOptions\n\n\n\n| Field | Type | Description |\n| :------ | :------ | :------ |\n| placement | `enum`: `\"TOP\"`, `\"RIGHT\"`, `\"BOTTOM\"`, `\"LEFT\"`, `\"NONE\"` | Thumbnail alignment. Possible values: - `TOP` - `RIGHT` - `BOTTOM` - `LEFT` - `NONE` |\n| spacing | int32 | Spacing between thumbnails in pixels. |\n\n##### GalleryData_Item\n\n**Used in:** GalleryData\n\n\n\n
\n Fields image, video are in Required One Of group.\n\nRead more about One Of groups [here](#one-of).\n
\n\n\n\n| Field | Type | Description |\n| :------ | :------ | :------ |\n| title | string | Item title. |\n| altText | string | Item's alternative text. |\n| image Required One Of | GalleryData_Item_Image | Image item. |\n| video Required One Of | GalleryData_Item_Video | Video item. |\n\n##### GalleryData_Item_Video\n\n**Used in:** GalleryData_Item\n\n\n\n| Field | Type | Description |\n| :------ | :------ | :------ |\n| media Required | Media | Video file details. |\n| thumbnail | Media | Video thumbnail file details. |\n\n##### GalleryData_Item_Image\n\n**Used in:** GalleryData_Item\n\n\n\n| Field | Type | Description |\n| :------ | :------ | :------ |\n| media Required | Media | Image file details. |\n| link | Link | Link details for images that are links. |\n\n#### CollapsibleListNode\n\n**Used in:** RootNode, CollapsibleItemBodyChildNode\n\n
Note: This type requires the collapsibleListplugin.
\n\nA list of items where each item can be expanded or collapsed to reveal or hide additional content associated with it.\n\n\n\n\n
\n\n\n\n\n| Field | Type | Description |\n| :------ | :------ | :------ |\n| type Required | `\"COLLAPSIBLE_LIST\"` | Node type. Value: `COLLAPSIBLE_LIST` |\n| nodes Required | Array <CollapsibleItemNode> minItems: 1 | Collapsible list child nodes. |\n| id | string format NODE_ID | [Node ID](#node-ids). |\n| collapsibleListData | CollapsibleListData | Collapsible list details. |\n\n##### CollapsibleListData\n\n**Used in:** CollapsibleListNode\n\n\n\n| Field | Type | Description |\n| :------ | :------ | :------ |\n| containerData | PluginContainerData | Collapsible list container styling. |\n| expandOnlyOne | boolean | Whether only one item can be expanded at a time. Default: `false` |\n| initialExpandedItems | `enum`: `\"FIRST\"`, `\"ALL\"`, `\"NONE\"` | Sets which items are automatically expanded after the page loads. Possible values: - `FIRST` - `ALL` - `NONE` |\n| direction | `enum`: `\"LTR\"`, `\"RTL\"` | Direction of the text in the list. Possible values: - `LTR`: Left to right. - `RTL`: Right to left. |\n| isQapageData | boolean | Whether the collapsible item will appear in search results as a FAQ. |\n\n##### CollapsibleItemNode\n\n**Used in:** CollapsibleListNode\n\n\n\n
\n Items in field nodes must conform to the following pattern: \n\n`COLLAPSIBLE_ITEM_TITLE COLLAPSIBLE_ITEM_BODY`\n\nMust contain title as the first item and body as the second.\n\nMore about [patterns](#patterns)\n
\n\n\n\n| Field | Type | Description |\n| :------ | :------ | :------ |\n| type Required | `\"COLLAPSIBLE_ITEM\"` | Node type. Value: `COLLAPSIBLE_ITEM` |\n| nodes Required | Array <CollapsibleItemChildNode> | Collapsible list item. Array items must adhere to the pattern described above this table. |\n| id | string format NODE_ID | [Node ID](#node-ids). |\n\n##### CollapsibleItemChildNode\n\n**Used in:** CollapsibleItemNode\n\n _This type is [Tagged Union](#tagged-unions)\nwith `type` field being the discriminating tag._ \n\n| Variant | Tag value | Description |\n| :------ | :------ | :------ |\n| CollapsibleItemBodyNode | `COLLAPSIBLE_ITEM_BODY` | Collapsible list item body node. |\n| CollapsibleItemTitleNode | `COLLAPSIBLE_ITEM_TITLE` | Collapsible list item title node. |\n\n##### CollapsibleItemTitleNode\n\n**Used in:** CollapsibleItemChildNode\n\nCollapsible list item title node.\n\n\n\n| Field | Type | Description |\n| :------ | :------ | :------ |\n| type Required | `\"COLLAPSIBLE_ITEM_TITLE\"` | Node type. Value: `COLLAPSIBLE_ITEM_TITLE` |\n| nodes Required | Array <CollapsibleTitleChildNode> minItems: 1 maxItems: 1 | Collapsible list item title child nodes. |\n| id | string format NODE_ID | [Node ID](#node-ids). |\n\n##### CollapsibleTitleChildNode\n\n**Used in:** CollapsibleItemTitleNode\n\n _This type is [Tagged Union](#tagged-unions)\nwith `type` field being the discriminating tag._ \n\n| Variant | Tag value | Description |\n| :------ | :------ | :------ |\n| BlockquoteNode | `BLOCKQUOTE` | Used to visually distinguish quoted or cited content from the surrounding text. When rendered, it is displayed as the quoted text with indentation or other styling to visually separate it from the surrounding content. |\n| BulletedListNode | `BULLETED_LIST` | Presents a group of items in a visually organized manner, where each item is preceded by a bullet point. Bulleted lists are commonly used to present unordered information. |\n| CodeBlockNode | `CODE_BLOCK` | Used to present programming code snippets, markup, or other text-based content that should be displayed exactly as it appears, without any interpretation or formatting applied by the browser. When rendered, it is displayed as the code block with a monospaced font, preserving indentation, line breaks, and spacing as specified in the code. |\n| HeadingNode | `HEADING` | Used to denote the heading or title of a section. Headings are hierarchical, with different levels indicating the relative importance of the heading in the content's structure. There are 6 levels of headings, where `1` is the highest level and `6` is the lowest. |\n| OrderedListNode | `ORDERED_LIST` | Presents a group of items in a sequentially numbered or lettered manner. Ordered lists are used to represent information that has a specific order or sequence. |\n| ParagraphNode | `PARAGRAPH` | Used to structure text content, providing a clear separation between different ideas or sections of text. They are rendered with default styling that typically includes some space above and below the paragraph, making it visually distinct from the surrounding content. |\n\n##### CollapsibleItemBodyNode\n\n**Used in:** CollapsibleItemChildNode\n\nCollapsible list item body node.\n\n\n\n| Field | Type | Description |\n| :------ | :------ | :------ |\n| type Required | `\"COLLAPSIBLE_ITEM_BODY\"` | Node type. Value: `COLLAPSIBLE_ITEM_BODY` |\n| nodes Required | Array <CollapsibleItemBodyChildNode> minItems: 1 | Collapsible list item body child nodes. |\n| id | string format NODE_ID | [Node ID](#node-ids). |\n\n##### CollapsibleItemBodyChildNode\n\n**Used in:** CollapsibleItemBodyNode\n\nCollapsible list item body node.\n\n _This type is [Tagged Union](#tagged-unions)\nwith `type` field being the discriminating tag._ \n\n| Variant | Tag value | Description |\n| :------ | :------ | :------ |\n| AppEmbedNode | `APP_EMBED` | Similar to `LinkPreviewNode`, this node is used to embed external content preview, but from Wix business solutions. You can embed previews from the Wix Bookings, Wix Stores and Wix Events apps. |\n| AudioNode | `AUDIO` | A multimedia node used to embed and play audio content directly in a webpage. When rendered, it is displayed as the audio player with the specified audio file (can be a platform such as Spotify or Soundloud, and Wix Media). Users can interact with the controls to play, pause, rewind, and adjust the volume of the audio. |\n| BlockquoteNode | `BLOCKQUOTE` | Used to visually distinguish quoted or cited content from the surrounding text. When rendered, it is displayed as the quoted text with indentation or other styling to visually separate it from the surrounding content. |\n| BulletedListNode | `BULLETED_LIST` | Presents a group of items in a visually organized manner, where each item is preceded by a bullet point. Bulleted lists are commonly used to present unordered information. |\n| ButtonNode | `BUTTON` | A node that is used to trigger an action when clicked or activated. |\n| CodeBlockNode | `CODE_BLOCK` | Used to present programming code snippets, markup, or other text-based content that should be displayed exactly as it appears, without any interpretation or formatting applied by the browser. When rendered, it is displayed as the code block with a monospaced font, preserving indentation, line breaks, and spacing as specified in the code. |\n| CollapsibleListNode | `COLLAPSIBLE_LIST` | A list of items where each item can be expanded or collapsed to reveal or hide additional content associated with it. |\n| DividerNode | `DIVIDER` | A visual node that is used to separate content sections in a page. When rendered, it is displayed as a horizontal line between the paragraphs, acting as a divider between them. |\n| EmbedNode | `EMBED` | Similar to `HtmlNode`, this node is used to display embedded content when you post a link to that resource, without having to parse the resource directly. It provides a standardized way for web developers to include content such as videos, images, and other multimedia elements from supported providers without needing to handle the complex embedding code themselves. For more information, read [oembed](https://oembed.com/). |\n| FileNode | `FILE` | A digital file stored on a computer that is uploaded and accessed in a page. Files can include various types of content, such as text documents, images, videos, and so on. |\n| GalleryNode | `GALLERY` | A collection of images displayed together in a visually appealing and organized manner. |\n| GifNode | `GIF` | GIF images are made up of a series of frames, allowing them to display animations or short video clips without the need for additional plugins or technologies. |\n| HeadingNode | `HEADING` | Used to denote the heading or title of a section. Headings are hierarchical, with different levels indicating the relative importance of the heading in the content's structure. There are 6 levels of headings, where `1` is the highest level and `6` is the lowest. |\n| HtmlNode | `HTML` | Incorporates external content, such as interactive maps, or entire web pages. |\n| ImageNode | `IMAGE` | Displays standalone pictures in a page. |\n| LinkPreviewNode | `LINK_PREVIEW` | A preview or summary of a webpage. Link previews include elements such as the title of the linked page, a brief description or excerpt of the content, and possibly a thumbnail image or other relevant information. |\n| OrderedListNode | `ORDERED_LIST` | Presents a group of items in a sequentially numbered or lettered manner. Ordered lists are used to represent information that has a specific order or sequence. |\n| ParagraphNode | `PARAGRAPH` | Used to structure text content, providing a clear separation between different ideas or sections of text. They are rendered with default styling that typically includes some space above and below the paragraph, making it visually distinct from the surrounding content. |\n| PollNode | `POLL` | A node that allows users to vote or express their opinions on a particular question, topic, or issue. |\n| TableNode | `TABLE` | A structural node used to display data in rows and columns. |\n| VideoNode | `VIDEO` | A multimedia node that is used to embed and play video content directly in a page. When rendered, it is displayed as the video player with the specified video file. Users can interact with the controls to play, pause, rewind, and adjust the volume of the video. |\n\n#### FileNode\n\n**Used in:** RootNode, TableCellChildNode, CollapsibleItemBodyChildNode\n\n
\n\nA digital file stored on a computer that is uploaded and accessed in a page. Files can include various types of content, such as text documents, images, videos, and so on.\n\n\n\n\n
\n\n\n\n\n| Field | Type | Description |\n| :------ | :------ | :------ |\n| type Required | `\"HTML\"` | Node type. Value: `HTML` |\n| htmlData Required | HTMLData | HTML details. |\n| id | string format NODE_ID | [Node ID](#node-ids). |\n\n##### HTMLData\n\n**Used in:** HtmlNode\n\n\n\n
\n Fields url, html are in One Of group.\n\nRead more about One Of groups [here](#one-of).\n
\n\n\n\n| Field | Type | Description |\n| :------ | :------ | :------ |\n| containerData | PluginContainerData | HTML node container styling. |\n| source | `enum`: `\"HTML\"`, `\"ADSENSE\"` | HTML code type. Possible values: - `HTML`: HTML code. - [`ADSENSE`](https://adsense.google.com/start/): A service provided by Google for serving advertisements on web pages. |\n| url One Of | string | HTML code URL. |\n| html One Of | string | HTML code. |\n\n## Decorations\n\nThis section lists what type of styling you can apply for [Text\nNodes](#textnode). You can apply several styles at once, but one type of\ndecoration should not be applied more than once.\n\n\n\n\n
\n\n\n\n\n##### Decoration\n\n**Used in:** TextNodeStyle, TextData\n\n _This type is [Tagged Union](#tagged-unions)\nwith `type` field being the discriminating tag._ \n\n| Variant | Tag value | Description |\n| :------ | :------ | :------ |\n| AnchorDecoration | `ANCHOR` | Clickable text in a hyperlink. Rendered in a different color, indicating that it is a link that users can click to navigate to section in the same page. |\n| BoldDecoration | `BOLD` | Text that is styled to appear thicker and more prominent than normal text. |\n| ColorDecoration | `COLOR` | Text that is styled using background and text colors. **Note:** This decoration requires the [colorDecoration](#plugins) plugin. |\n| FontSizeDecoration | `FONT_SIZE` | Text font size. |\n| ItalicDecoration | `ITALIC` | Text that is styled to appear slanted or italicized, which is typically used for emphasis, citations, or to distinguish certain types of content. |\n| LinkDecoration | `LINK` | Clickable text in a hyperlink. This text is what users see and click on to navigate to another web page or another resource. **Note:** This decoration requires the [link](#plugins) plugin. |\n| MentionDecoration | `MENTION` | A piece of text that mentions a specific user, often in social media platforms, forums, or content management systems. **Note:** This decoration requires the [mention](#plugins) plugin. |\n| SpoilerDecoration | `SPOILER` | Text that is styled to appear blurred. **Note:** This decoration requires the [spoiler](#plugins) plugin. |\n| UnderlineDecoration | `UNDERLINE` | Text that is styled with a line underneath it. |\n\n#### BoldDecoration\n\n**Used in:** Decoration\n\nText that is styled to appear thicker and more prominent than normal text.\n\n\n\n\n
\n\n\n\n\n| Field | Type | Description |\n| :------ | :------ | :------ |\n| type Required | `\"BOLD\"` | Decoration type. Value: `BOLD` |\n| fontWeightValue | float32 | Font weight. Values are from `100` to `900`. |\n\n#### ItalicDecoration\n\n**Used in:** Decoration\n\nText that is styled to appear slanted or italicized, which is typically used for emphasis, citations, or to distinguish certain types of content.\n\n\n\n\n
\n\n\n\n\n| Field | Type | Description |\n| :------ | :------ | :------ |\n| type Required | `\"ITALIC\"` | Decoration type. Value: `ITALIC` |\n| italicData | boolean | Whether to enable the italic text. |\n\n#### UnderlineDecoration\n\n**Used in:** Decoration\n\nText that is styled with a line underneath it.\n\n\n\n\n
\n\n\n\n\n| Field | Type | Description |\n| :------ | :------ | :------ |\n| type Required | `\"SPOILER\"` | Decoration type. Value: `SPOILER` |\n| spoilerData | SpoilerData | Spoiler details. |\n\n##### SpoilerData\n\n**Used in:** SpoilerDecoration\n\n\n\n| Field | Type | Description |\n| :------ | :------ | :------ |\n| id | string format NODE_ID | [Node ID](#node-ids). |\n\n#### AnchorDecoration\n\n**Used in:** Decoration\n\nClickable text in a hyperlink. Rendered in a different color, indicating that it is a link that users can click to navigate to section in the same page.\n\n\n\n\n
\n\nA piece of text that mentions a specific user, often in social media platforms, forums, or content management systems. **Note:** This decoration requires the [mention](#plugins) plugin.\n\n\n\n\n
\n\n\n\n\n| Field | Type | Description |\n| :------ | :------ | :------ |\n| type Required | `\"MENTION\"` | Decoration type. Value: `MENTION` |\n| mentionData | MentionData | Anchor details. |\n\n##### MentionData\n\n**Used in:** MentionDecoration\n\n\n\n| Field | Type | Description |\n| :------ | :------ | :------ |\n| name | string | The display name of the mentioned user. |\n| slug | string | The username of the mentioned user, appearing after the \"@\" character. |\n| id | string | ID of the mentioned user. |\n\n#### LinkDecoration\n\n**Used in:** Decoration\n\n
\n\nClickable text in a hyperlink. This text is what users see and click on to navigate to another web page or another resource. **Note:** This decoration requires the [link](#plugins) plugin.\n\n\n\n\n
\n\n\n\n\n| Field | Type | Description |\n| :------ | :------ | :------ |\n| type Required | `\"FONT_SIZE\"` | Decoration type. Value: `FONT_SIZE` |\n| fontSizeData | FontSizeData | Font size details. |\n\n##### FontSizeData\n\n**Used in:** FontSizeDecoration\n\n\n\n| Field | Type | Description |\n| :------ | :------ | :------ |\n| unit | `enum`: `\"PX\"`, `\"EM\"` | Font size units. Possible values: - `PX`: Size in pixels. - `EM`: Relative to the font size of the element (2em means 2 times the size of the current font) |\n| value | float32 | Font size value. |\n\n## Metadata\n\nMetadata is used to tell the information about the Ricos document itself, like\na version. Can be skipped.\n\n##### Metadata\n\n**Used in:** RicosDocument\n\n\n\n| Field | Type | Description |\n| :------ | :------ | :------ |\n| version | uint32 | Ricos document version. |\n| id Deprecated | any | |\n| createdTimestamp Deprecated | any | |\n| updatedTimestamp Deprecated | any | |\n\n## Document Styles\n\n#### DocumentStyle\n\n**Used in:** RicosDocument\n\nThis object sets a default styling for a type of node throughout the entire Ricos Document. For example, we can set the text color for all Heading 1 nodes.\nYou can override the styling of Text nodes separately using [Decorations](#decorations).\n\n\n\n\n
\n\n\n\n\n| Field | Type | Description |\n| :------ | :------ | :------ |\n| headerOne | TextNodeStyle | Style for the H1 nodes. |\n| headerTwo | TextNodeStyle | Style for the H2 nodes. |\n| headerThree | TextNodeStyle | Style for the H3 nodes. |\n| headerFour | TextNodeStyle | Style for the H4 nodes. |\n| headerFive | TextNodeStyle | Style for the H5 nodes. |\n| headerSix | TextNodeStyle | Style for the H6 nodes. |\n| paragraph | TextNodeStyle | Style for the paragraph nodes. |\n| blockquote | TextNodeStyle | Style for the block quote nodes. |\n| codeBlock | TextNodeStyle | Style for the codeblock nodes. |\n\n##### TextNodeStyle\n\n**Used in:** DocumentStyle\n\n\n\n| Field | Type | Description |\n| :------ | :------ | :------ |\n| decorations | Array <Decoration> | Decorations for text nodes. |\n| nodeStyle | NodeStyle | Node style, such as padding. **Note:** This node requires the [lineSpacing](#plugins) plugin. |\n| lineHeight | string | Text line height. |\n\n## Common Types\n\nTypes listed in this section are commonly used in other types.\n\n### ContainerData\n\nThis object defines the layout of node container that is used by videos,\ngalleries, HTML, images, polls, and so on.\n\n##### PluginContainerData\n\n**Used in:** VideoData, DividerData, FileData, GalleryData, GIFData, HTMLData, ImageData, LinkPreviewData, PollData, ButtonData, CollapsibleListData, TableData, EmbedData, AudioData\n\n\n\n| Field | Type | Description |\n| :------ | :------ | :------ |\n| width | PluginContainerData_Width | Node width in a container when it's displayed. |\n| alignment | `enum`: `\"CENTER\"`, `\"LEFT\"`, `\"RIGHT\"` | Node alignment in its container. Possible values: - `CENTER` - `LEFT` - `RIGHT` |\n| spoiler | PluginContainerData_Spoiler | Spoiler cover settings. |\n| height | PluginContainerData_Height | Node height in a container when it's displayed. |\n| textWrap | boolean | Whether the text should wrap around the node when it's displayed. If `textWrap` is `false`, the node takes up the width of its container. Default: `true` for all node types except `DIVIDER`. |\n\n##### PluginContainerData_Spoiler\n\n**Used in:** PluginContainerData\n\n\n\n| Field | Type | Description |\n| :------ | :------ | :------ |\n| enabled | boolean | Whether the spoiler cover is enabled. Default: `false` |\n| description | string | Description displayed on top of the spoiler cover. |\n| buttonText | string | Text of a button that removes the spoiler cover. |\n\n##### PluginContainerData_Width\n\n**Used in:** PluginContainerData\n\nThe width of the node when it's displayed.\n\n\n\n
\n Fields size, custom are in One Of group.\n\nRead more about One Of groups [here](#one-of).\n
\n\n\n\n| Field | Type | Description |\n| :------ | :------ | :------ |\n| size One Of | `enum`: `\"CONTENT\"`, `\"SMALL\"`, `\"ORIGINAL\"`, `\"FULL_WIDTH\"` | Width size of a node in a container. Possible values: - `CONTENT`: The width of the container matches the content width. - `SMALL`: A small width. - `ORIGINAL`: The width of the container matches the original image width. **Note:** This value is applicable for `imageData` containers only. `FULL_WIDTH`: The image container takes up the full width of the screen. **Note:** This value is applicable for `imageData` containers only. |\n| custom One Of | string | A custom width value in pixels. |\n\n##### PluginContainerData_Height\n\n**Used in:** PluginContainerData\n\n\n\n| Field | Type | Description |\n| :------ | :------ | :------ |\n| custom | string | A custom height value in pixels. |\n\n#### NodeStyle\n\n**Used in:** TextNodeStyle, ParagraphNode, HeadingNode, BlockquoteNode, CodeBlockNode\n\n
\n\n\n\n| Field | Type | Description |\n| :------ | :------ | :------ |\n| paddingTop | string | The top padding value in pixels. |\n| paddingBottom | string | The bottom padding value in pixels. |\n| backgroundColor Deprecated | string | |\n\n#### TextStyle\n\n**Used in:** ParagraphData, HeadingData, CodeBlockData\n\n\n\n| Field | Type | Description |\n| :------ | :------ | :------ |\n| textAlignment | `enum`: `\"AUTO\"`, `\"LEFT\"`, `\"RIGHT\"`, `\"CENTER\"`, `\"JUSTIFY\"` | Text alignment. Possible values: - `AUTO`: Text aligns itself automatically. - `LEFT`: Text is aligned to the left. - `RIGHT`: Text is aligned to the right. - `CENTER`: Text is centered. - `JUSTIFY`: Text is justified to both margins. Default: `AUTO`. |\n| lineHeight | string | Vertical spacing between lines of text in an element. |\n\n#### Link\n\n**Used in:** ImageData, LinkPreviewData, ButtonData, LinkData, GalleryData_Item_Image\n\nLink object.\n\n\n\n
\n Fields url, anchor are in Required One Of group.\n\nRead more about One Of groups [here](#one-of).\n
\n\n\n\n| Field | Type | Description |\n| :------ | :------ | :------ |\n| url Required One Of | string | Absolute URL for the linked document. |\n| anchor Required One Of | string | Target Node ID, where the user is redirected after clicking the anchor. |\n| target | `enum`: `\"SELF\"`, `\"BLANK\"`, `\"PARENT\"`, `\"TOP\"` | The HTML `target` attribute value for the link. This property defines where the linked document opens. Possible values: `SELF` - Default. Opens the linked document in the same frame as the link. `BLANK` - Opens the linked document in a new browser tab or window. `PARENT` - Opens the linked document in the link's parent frame. `TOP` - Opens the linked document in the full body of the link's browser tab or window. |\n| rel | Link_Rel | This object specifies the relationship between the current document and the linked document. |\n\n##### Link_Rel\n\n**Used in:** Link\n\n\n\n| Field | Type | Description |\n| :------ | :------ | :------ |\n| nofollow | boolean | Indicates to search engine crawlers not to follow the link. Default: `false` |\n| sponsored | boolean | Indicates to search engine crawlers that the link is a paid placement such as sponsored content or an advertisement. Default: `false` |\n| ugc | boolean | Indicates that this link is user-generated content and isn't necessarily trusted or endorsed by the page author. Default: `false` |\n| noreferrer | boolean | Indicates that this link protects referral information from being passed to the target website. |\n\n#### FileSource\n\n**Used in:** FileData, Media\n\nFile source object.\n\n\n\n
\n Fields url, id are in Required One Of group.\n\nRead more about One Of groups [here](#one-of).\n
\n\n\n\n| Field | Type | Description |\n| :------ | :------ | :------ |\n| url Required One Of | string | Absolute URL for the file's source. |\n| id Required One Of | string | ID that's resolved to a URL by a resolver function. |\n| private | boolean | Indicates whether the file's source is private. Default: `false` |\n\n#### Media\n\n**Used in:** VideoData, ImageData, AudioData, PollData_Poll, AppEmbedDataProduct, AppEmbedDataEvent, AppEmbedDataBooking, GalleryData_Item_Image, GalleryData_Item_Video, PollData_Poll_Option, PollData_Background_ImageVariant\n\n\n\n| Field | Type | Description |\n| :------ | :------ | :------ |\n| src Required | FileSource | Media data source. |\n| width | int32 | Media width in pixels. |\n| height | int32 | Media height in pixels. |\n| duration | float64 | Media duration in seconds. Only relevant for audio and video files. |\n\n\n\n## Explanations\n\n### Node Ids\nEach node ID should be a unique string in the document. These IDs are\nused primarily to identify nodes for anchor behavior, and sometimes as HTML\nIDs to execute rendering.\n\nThe node ID is mainly used for anchor behavior, as illustrated in the\n[AnchorDecoration](#anchordecoration) example. The editor automatically\ngenerates the ID. If you are creating the Ricos Document via an API, you must\nmanually add this ID if necessary.\n\n### Plugins\n\nThis article describes the full reference of Ricos Document schema.\nHowever, some parts of the Ricos document are operational only\nwhen the corresponding plugins in the API are enabled. For example\n[ImageNode](#imagenode) can be used only when the `image` plugin is\nenabled. A complete list of supported plugins is available in the field\ndescriptions of each API that supports the Ricos Document type.\n\nFull list of plugins which have effect on Ricos Document:\n[actionButton](#plugin-actionButton),\n[audio](#plugin-audio),\n[codeBlock](#plugin-codeBlock),\n[collapsibleList](#plugin-collapsibleList),\n[divider](#plugin-divider),\n[file](#plugin-file),\n[gallery](#plugin-gallery),\n[giphy](#plugin-giphy),\n[html](#plugin-html),\n[image](#plugin-image),\n[lineSpacing](#plugin-lineSpacing),\n[linkButton](#plugin-linkButton),\n[linkPreview](#plugin-linkPreview),\n[link](#plugin-link),\n[mention](#plugin-mention),\n[poll](#plugin-poll),\n[spoiler](#plugin-spoiler),\n[table](#plugin-table),\n[textColor](#plugin-textColor),\n[textHighlight](#plugin-textHighlight),\n[appEmbed](#plugin-appEmbed),\n[video](#plugin-video),\n\n\n### Tagged unions\n\nTagged unions are fundamental to the Ricos Document. They\naccommodate various nodes with different shapes that can occupy the\nsame space. At the root level, there can be more than 10 different\nnodes. How do we unambiguously determine which node is which? Tagged\nunions facilitate this by incorporating a common field present in\nevery node\u2019s object. In the Ricos Document, this field is named type\nbut may also be referred to as \u2018tag.\u2019 Each node (or decoration)\ncontains this same field, yet each possesses a distinct string value\nin it. This differentiation allows for easy identification of\neach node, despite them occupying the \u201Csame space.\u201D\n\nLearn more about them on [Wikipedia](https://en.wikipedia.org/wiki/Tagged_union)\n\n### Formats\n\n| Format | Description |\n| :------ | :------ |\n| WEB_URL | A URL that starts with `http://` or `https://`. |\n| COLOR_HEX | A color in hexadecimal RGB or RGBA format, such as `#FF0000` or `#FF000050`. Accepts shorthands like #F00 and #F005 |\n| NODE_ID | A unique identifier for a node. It must start with a letter and can contain only letters, numbers, hyphens, and underscores. |\n\n### Validations\n\n| Validation | Description |\n| :------ | :------ |\n| `minItems` | Minimum number of items in array |\n| `maxItems` | Maximum number of items in array |\n| `minLength` | Minimum length of string |\n| `maxLength` | Maximum length of string |\n| `uniqueTags` | The items in array must have unique union tags on them |\n\n### Patterns\n\nMost node children are arrays, which can contain zero or more of the\nspecified nodes in any order. However, there are exceptions like\n[ListItemNode](#listitemnode) and\n[CollapsibleItem](#collapsibleitemnode), which have specific\nrestrictions on how these arrays can be structured. For example, a\n[CollapsibleItem](#collapsibleitemnode) must contain one [CollapsibleItemTitleNode](#collapsibleitemtitlenode) and\none [CollapsibleItemBodyNode](#collapsibleitembodynode). A (ListItemNode)[#listitemnode) must have a\n(ParagraphNode)[#paragraphnode] or (HeadingNode)[#headingnode) as the first child, followed by any\nnumber of paragraphs, headings, or lists. The strict pattern\ndescription uses syntax similar to regular expressions:\n\n - `*` indicates any number of items\n - `+` indicates one or more items\n - `()` parentheses are used for groups and enclose item tags that can be used interchangeably.\n\nFor specific pattern descriptions, refer to the properties table containing the patterned field above.\n\n### One Of\n\nFields in the **One Of** groups have a constraint\nthat only one of them can be set at the same\ntime.\n\nThe variation **Required One Of** adds\nanother constraint: one (and still at most one)\nof the fields must be set.\n";
//# sourceMappingURL=ricos-document-reference.d.ts.map