export default {
  "metadata": { "section": "Card" },
  "definitions": {
    "CardNode": {
      "metadata": {
        "tsRicosNode": true,
        "features": ["PAGING"],
        "description": "A card container node that can hold any block-level content."
      },
      "properties": {
        "type": {
          "enum": ["CARD"],
          "metadata": {
            "description": "Node type. \n Must be `CARD`."
          }
        },
        "nodes": {
          "elements": {
            "ref": "CardChildNode"
          },
          "metadata": {
            "tsRicosNodesChildren": true,
            "description": "Child nodes that the card contains."
          }
        }
      },
      "optionalProperties": {
        "id": {
          "type": "string",
          "metadata": {
            "format": "NODE_ID",
            "description": "[Node ID](#node-ids)."
          }
        },
        "cardData": {
          "ref": "CardData",
          "metadata": {
            "description": "Card details."
          }
        }
      }
    },
    "CardData": {
      "optionalProperties": {
        "background": {
          "ref": "Background",
          "metadata": {
            "description": "Background styling (color or gradient)."
          }
        },
        "backgroundImage": {
          "ref": "BackgroundImage",
          "metadata": {
            "description": "Background image."
          }
        }
      }
    },
    "CardChildNode": {
      "metadata": {
        "description": "Nodes that can be placed inside a Card.",
        "refUnion": [
          "ParagraphNode",
          "HeadingNode",
          "BulletedListNode",
          "OrderedListNode",
          "CheckboxListNode",
          "BlockquoteNode",
          "CodeBlockNode",
          "VideoNode",
          "DividerNode",
          "FileNode",
          "GalleryNode",
          "GifNode",
          "HtmlNode",
          "TocNode",
          "ImageNode",
          "LinkPreviewNode",
          "PollNode",
          "AppEmbedNode",
          "ButtonNode",
          "CollapsibleListNode",
          "TableNode",
          "EmbedNode",
          "AudioNode",
          "LayoutNode",
          "ExternalNode",
          "ShapeNode",
          "SmartBlockNode"
        ]
      }
    }
  }
}