{
  "type":"object",
  "$schema": "http://json-schema.org/draft-04/schema",
  "id": "http://jsonschema.net",
  "$ref": "http://localhost/plugins/content/component/model.schema",
  "globals": {
    "ariaRegion": {
      "type": "string",
      "required": true,
      "default": "This component is a flipcard comprised of flippable cards containing display image. Select the front face image to flip to the back face of these card to display associated text.",
      "inputType": "Text",
      "validators": []
    }
  },
  "properties":{
    "_supportedLayout": {
      "type": "string",
      "required": true,
      "enum": ["full-width", "half-width", "both"],
      "default": "both",
      "editorOnly": true
    },
    "instruction": {
      "type": "string",
      "required": false,
      "default": "",
      "inputType": "Text",
      "validators": [],
      "help": "This is the instruction text"
    },
    "_flipType": {
      "type": "string",
      "required": true,
      "enum": ["allFlip", "singleFlip"],
      "inputType": {"type": "Select", "options": ["allFlip", "singleFlip"]},
      "title": "Set flip type",
      "default": "allFlip",
      "validators": ["required"],
      "help": "'singleFlip' or 'allFlip'"
    },
    "_flipTime": {
      "type": "number",
      "required": true,
      "inputType": "Number",
      "title": "Flip animation time",
      "default": 400,
      "validators": ["required", "number"],
      "help": "How much time should the flip animation takes"
    },
    "_items": {
      "type": "array",
      "required": true,
      "title": "Items",
      "items": {
        "type": "object",
        "required": true,
        "properties": {
          "frontImage": {
            "type": "object",
            "required": true,
            "title": "Graphic",
            "properties":{
              "alt": {
                "type": "string",
                "required": false,
                "default": "",
                "inputType": "Text",
                "validators": [],
                "help": "The alternative text for this image"
              },
              "src": {
                "type": "string",
                "required": true,
                "default": "",
                "inputType": "Asset:image",
                "validators": ["required"],
                "help": "Front side image source"
              }
            }
          },
          "backTitle": {
            "type": "string",
            "required": false,
            "inputType": "Text",
            "title": "Item Title",
            "default": "",
            "validators": [],
            "help": "Enter a title text for back side of flipcard element"
          },
          "backBody": {
            "type": "string",
            "required": false,
            "inputType": "TextArea",
            "title": "Item Body",
            "default": "",
            "validators": [],
            "help": "Enter body text for back side of flipcard element"
          }
        }
      }
    }
  }
}