export default {
  "metadata": { "section": "Gif" },
  "definitions": {
    "GifNode": {
      "metadata": {
        "tsRicosNode": true,
        "examples": ["gif-basic"],
        "features": ["GIF"],
        "description": "GIF images."
      },
      "properties": {
        "type": {
          "enum": ["GIF"],
          "metadata": {
            "description": "Node type. \n Must be `GIF`."
          }
        },
        "gifData": {
          "ref": "GIFData",
          "metadata": {
            "description": "GIF details."
          }
        }
      },
      "optionalProperties": {
        "id": {
          "type": "string",
          "metadata": {
            "format": "NODE_ID",
            "description": "[Node ID](#node-ids)."
          }
        },
        "nodes": {
          "metadata": {
            "tsRicosNodesChildren": true,
            "description": "Child nodes to define a GIF caption."
          },
          "elements": {
            "ref": "CaptionNode"
          }
        }
      }
    },
    "GIFData": {
      "optionalProperties": {
        "containerData": {
          "ref": "PluginContainerData",
          "metadata": {
            "description": "GIF container styling."
          }
        },
        "original": {
          "metadata": { "description": "Source for the full size GIF." },
          "ref": "GIF"
        },
        "downsized": {
          "metadata": { "description": "Source for the downsized GIF." },
          "ref": "GIF"
        },
        "height": { "type": "int32", "metadata": { "description": "Height in pixels." } },
        "width": { "type": "int32", "metadata": { "description": "Width in pixels." } },
        "gifType": { 
          "enum": ["NORMAL", "STICKER"],
          "metadata": { "emitEnum": "GIFData_GIFType", "description": "Type of GIF (Sticker or NORMAL). \n Default: `NORMAL`" }
        }
      }
    },
    "GIF": {
      "optionalProperties": {
        "gif": {
          "type": "string",
          "metadata": {
            "format": "WEB_URL",
            "description": "GIF source URL."
          }
        },
        "mp4": {
          "type": "string",
          "metadata": {
            "format": "WEB_URL",
            "description": "MP4 source URL."
          }
        },
        "still": {
          "type": "string",
          "metadata": {
            "format": "WEB_URL",
            "description": "GIF thumbnail URL."
          }
        }
      }
    }
  }
}