[
  {
    "name": "supertitle",
    "type": "string",
    "required": false,
    "description": "The smaller title to display above the main hero title."
  },
  {
    "name": "title",
    "type": "string",
    "required": false,
    "description": "The main title of the hero. If set, then `headingLevel` also needs to be set."
  },
  {
    "name": "headingLevel",
    "type": "number",
    "required": false,
    "description": "The heading level which represents an element from `<h1>` through to `<h6>`.",
    "default": 1
  },
  {
    "name": "headingSize",
    "type": "string",
    "required": false,
    "description": "The physical size of the hero title (`xl`, `l`, `m` or `s`).",
    "default": "xl"
  },
  {
    "name": "body",
    "type": "string",
    "required": false,
    "description": "The HTML for the main body of the hero. Not displayed if `text` is set."
  },
  {
    "name": "text",
    "type": "string",
    "required": false,
    "description": "The text for the hero which will be inserted into a `<p>` element. Overwrites `body` if it is set."
  },
  {
    "name": "imageSrc",
    "type": "string",
    "required": true,
    "description": "The URL of the hero image."
  },
  {
    "name": "imageAlt",
    "type": "string",
    "required": true,
    "description": "Alternative text for the image in the event that it can’t be displayed."
  },
  {
    "name": "imageWidth",
    "type": "number",
    "required": true,
    "description": "The width of the image in pixels."
  },
  {
    "name": "imageHeight",
    "type": "number",
    "required": true,
    "description": "The height of the image in pixels."
  },
  {
    "name": "imageSources",
    "type": "array",
    "required": true,
    "description": "Alternative sources of the image.",
    "params": [
      {
        "name": "src",
        "type": "string",
        "required": true,
        "description": "The URL of the image."
      },
      {
        "name": "type",
        "type": "string",
        "required": true,
        "description": "The MIME type of the image."
      },
      {
        "name": "media",
        "type": "string",
        "required": false,
        "description": "A conditional media rule for the image."
      },
      {
        "name": "width",
        "type": "number",
        "required": false,
        "description": "The width of the image in pixels."
      },
      {
        "name": "height",
        "type": "number",
        "required": false,
        "description": "The height of the image in pixels."
      }
    ]
  },
  {
    "name": "imageCaption",
    "type": "string",
    "required": false,
    "description": "An optional caption for the hero image, displayed under an expandable section in the top right."
  },
  {
    "name": "actions",
    "type": "array",
    "required": false,
    "description": "An array of actions to add at the bottom of the hero component. Each action is displayed as a button.",
    "params": [
      {
        "name": "text",
        "type": "string",
        "required": true,
        "description": "The text for the action."
      },
      {
        "name": "href",
        "type": "string",
        "required": true,
        "description": "The URL of the action."
      },
      {
        "name": "title",
        "type": "string",
        "required": false,
        "description": "An optional title for the action."
      },
      {
        "name": "icon",
        "type": "string",
        "required": false,
        "description": "The name of a Font Awesome icon, without the `fa-` prefix."
      },
      {
        "name": "rightAlignIcon",
        "type": "boolean",
        "required": false,
        "description": "If `true`, align the icon to the right hand side of the button.",
        "default": false
      },
      {
        "name": "classes",
        "type": "string",
        "required": false,
        "description": "Classes to add to the hero action."
      },
      {
        "name": "attributes",
        "type": "object",
        "required": false,
        "description": "HTML attributes (for example data attributes) to add to the hero action."
      }
    ]
  },
  {
    "name": "style",
    "type": "string",
    "required": false,
    "description": "The style of hero to use. This can be `contrast`, `tint` or `accent`."
  },
  {
    "name": "layout",
    "type": "string",
    "required": false,
    "description": "An alternative layout of the hero component to use. This can be `shift` or `split`."
  },
  {
    "name": "narrow",
    "type": "boolean",
    "required": false,
    "description": "If `true`, use a narrower style hero image.",
    "default": false
  },
  {
    "name": "classes",
    "type": "string",
    "required": false,
    "description": "Classes to add to the hero."
  },
  {
    "name": "attributes",
    "type": "object",
    "required": false,
    "description": "HTML attributes (for example data attributes) to add to the hero."
  }
]
