{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "http://schema.mydesignsystem.com/logos.schema.json",
  "title": "Logos",
  "description": "Component used to display a set of logos",
  "type": "object",
  "properties": {
    "tagline": {
      "type": "string",
      "title": "Logo Tagline",
      "description": "A short tagline atop the logos",
      "examples": ["Our Customers"]
    },
    "logo": {
      "type": "array",
      "title": "Logos",
      "description": "The logos to display",
      "items": {
        "title": "Logo",
        "description": "Logo entry for Logos component",
        "type": "object",
        "properties": {
          "src": {
            "type": "string",
            "format": "image",
            "title": "URL",
            "description": "The URL of the logo image",
            "examples": [
              "img/logos/logoipsum-344.svg",
              "img/logos/logoipsum-347.svg",
              "img/logos/logoipsum-352.svg",
              "img/logos/logoipsum-356.svg",
              "img/logos/logoipsum-358.svg",
              "img/logos/logoipsum-369.svg"
            ]
          },
          "alt": {
            "type": "string",
            "title": "Caption",
            "description": "The alt text of the logo",
            "examples": ["Logo 1"]
          }
        },
        "additionalProperties": false,
        "required": ["src"]
      },
      "minItems": 1
    },
    "align": {
      "type": "string",
      "title": "Alignment",
      "description": "The alignment of the logo layout",
      "enum": ["left", "center"],
      "default": "center"
    },
    "logosPerRow": {
      "type": "integer",
      "title": "Logos Per Row",
      "description": "The amount of logos to display per row",
      "minimum": 2,
      "maximum": 8,
      "examples": [5]
    },
    "cta": {
      "type": "object",
      "title": "Call to Action",
      "description": "The call to action",
      "properties": {
        "toggle": {
          "type": "boolean",
          "default": false,
          "title": "CTA Toggle",
          "description": "Activate/disable the CTA"
        },
        "text": {
          "type": "string",
          "title": "Call to Action Text",
          "description": "A short CTA text",
          "examples": [
            "Explore the success stories of our valued customers and discover more about their journey."
          ]
        },
        "link": {
          "type": "string",
          "title": "Call to Action Link",
          "description": "The CTA link",
          "default": "#",
          "format": "uri"
        },
        "label": {
          "type": "string",
          "title": "Link Label",
          "description": "The text label displayed on the link",
          "examples": ["See all customers"]
        },
        "style": {
          "type": "string",
          "enum": ["button", "text"],
          "default": "text"
        }
      },
      "additionalProperties": false,
      "required": ["style", "link", "label"]
    }
  },
  "additionalProperties": false,
  "required": ["logos"]
}
