{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://deckyard.app/schema/v3/slide-types/logo-wall-slide.schema.json",
  "title": "logo-wall-slide slide content",
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "maxLength": 120,
      "title": "Title"
    },
    "subheading": {
      "type": "string",
      "maxLength": 220,
      "title": "Subheading"
    },
    "background": {
      "type": "string",
      "title": "Background"
    },
    "logoCount": {
      "type": "string",
      "enum": [
        "1",
        "2",
        "3",
        "4",
        "5",
        "6",
        "7",
        "8",
        "9",
        "10",
        "11",
        "12",
        ""
      ],
      "title": "Number of logos"
    },
    "logos": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "image": {
            "type": "string",
            "title": "Logo image"
          },
          "name": {
            "type": "string",
            "maxLength": 80,
            "title": "Name"
          },
          "link": {
            "type": "string",
            "maxLength": 500,
            "title": "Link URL"
          }
        },
        "additionalProperties": true
      },
      "minItems": 0,
      "maxItems": 30,
      "title": "Logos"
    },
    "logo1Image": {
      "type": "string",
      "title": "Logo 1 image"
    },
    "logo1Name": {
      "type": "string",
      "maxLength": 80,
      "title": "Logo 1 name"
    },
    "logo1Alt": {
      "type": "string",
      "maxLength": 180,
      "title": "Logo 1 alt text"
    },
    "logo1Link": {
      "type": "string",
      "maxLength": 500,
      "title": "Logo 1 link"
    },
    "logo2Image": {
      "type": "string",
      "title": "Logo 2 image"
    },
    "logo2Name": {
      "type": "string",
      "maxLength": 80,
      "title": "Logo 2 name"
    },
    "logo2Alt": {
      "type": "string",
      "maxLength": 180,
      "title": "Logo 2 alt text"
    },
    "logo2Link": {
      "type": "string",
      "maxLength": 500,
      "title": "Logo 2 link"
    },
    "logo3Image": {
      "type": "string",
      "title": "Logo 3 image"
    },
    "logo3Name": {
      "type": "string",
      "maxLength": 80,
      "title": "Logo 3 name"
    },
    "logo3Alt": {
      "type": "string",
      "maxLength": 180,
      "title": "Logo 3 alt text"
    },
    "logo3Link": {
      "type": "string",
      "maxLength": 500,
      "title": "Logo 3 link"
    },
    "logo4Image": {
      "type": "string",
      "title": "Logo 4 image"
    },
    "logo4Name": {
      "type": "string",
      "maxLength": 80,
      "title": "Logo 4 name"
    },
    "logo4Alt": {
      "type": "string",
      "maxLength": 180,
      "title": "Logo 4 alt text"
    },
    "logo4Link": {
      "type": "string",
      "maxLength": 500,
      "title": "Logo 4 link"
    },
    "logo5Image": {
      "type": "string",
      "title": "Logo 5 image"
    },
    "logo5Name": {
      "type": "string",
      "maxLength": 80,
      "title": "Logo 5 name"
    },
    "logo5Alt": {
      "type": "string",
      "maxLength": 180,
      "title": "Logo 5 alt text"
    },
    "logo5Link": {
      "type": "string",
      "maxLength": 500,
      "title": "Logo 5 link"
    },
    "logo6Image": {
      "type": "string",
      "title": "Logo 6 image"
    },
    "logo6Name": {
      "type": "string",
      "maxLength": 80,
      "title": "Logo 6 name"
    },
    "logo6Alt": {
      "type": "string",
      "maxLength": 180,
      "title": "Logo 6 alt text"
    },
    "logo6Link": {
      "type": "string",
      "maxLength": 500,
      "title": "Logo 6 link"
    },
    "logo7Image": {
      "type": "string",
      "title": "Logo 7 image"
    },
    "logo7Name": {
      "type": "string",
      "maxLength": 80,
      "title": "Logo 7 name"
    },
    "logo7Alt": {
      "type": "string",
      "maxLength": 180,
      "title": "Logo 7 alt text"
    },
    "logo7Link": {
      "type": "string",
      "maxLength": 500,
      "title": "Logo 7 link"
    },
    "logo8Image": {
      "type": "string",
      "title": "Logo 8 image"
    },
    "logo8Name": {
      "type": "string",
      "maxLength": 80,
      "title": "Logo 8 name"
    },
    "logo8Alt": {
      "type": "string",
      "maxLength": 180,
      "title": "Logo 8 alt text"
    },
    "logo8Link": {
      "type": "string",
      "maxLength": 500,
      "title": "Logo 8 link"
    },
    "logo9Image": {
      "type": "string",
      "title": "Logo 9 image"
    },
    "logo9Name": {
      "type": "string",
      "maxLength": 80,
      "title": "Logo 9 name"
    },
    "logo9Alt": {
      "type": "string",
      "maxLength": 180,
      "title": "Logo 9 alt text"
    },
    "logo9Link": {
      "type": "string",
      "maxLength": 500,
      "title": "Logo 9 link"
    },
    "logo10Image": {
      "type": "string",
      "title": "Logo 10 image"
    },
    "logo10Name": {
      "type": "string",
      "maxLength": 80,
      "title": "Logo 10 name"
    },
    "logo10Alt": {
      "type": "string",
      "maxLength": 180,
      "title": "Logo 10 alt text"
    },
    "logo10Link": {
      "type": "string",
      "maxLength": 500,
      "title": "Logo 10 link"
    },
    "logo11Image": {
      "type": "string",
      "title": "Logo 11 image"
    },
    "logo11Name": {
      "type": "string",
      "maxLength": 80,
      "title": "Logo 11 name"
    },
    "logo11Alt": {
      "type": "string",
      "maxLength": 180,
      "title": "Logo 11 alt text"
    },
    "logo11Link": {
      "type": "string",
      "maxLength": 500,
      "title": "Logo 11 link"
    },
    "logo12Image": {
      "type": "string",
      "title": "Logo 12 image"
    },
    "logo12Name": {
      "type": "string",
      "maxLength": 80,
      "title": "Logo 12 name"
    },
    "logo12Alt": {
      "type": "string",
      "maxLength": 180,
      "title": "Logo 12 alt text"
    },
    "logo12Link": {
      "type": "string",
      "maxLength": 500,
      "title": "Logo 12 link"
    },
    "a11yTitle": {
      "type": "string",
      "maxLength": 140,
      "title": "Accessibility title",
      "description": "Optional. Screen readers announce this when the slide becomes active. Prefer a short, descriptive phrase."
    },
    "a11ySummary": {
      "type": "string",
      "maxLength": 280,
      "title": "Accessibility summary",
      "description": "Optional extra context for screen readers (announced after the title). Keep it brief."
    },
    "slideBgImage": {
      "type": "string",
      "title": "Background image",
      "description": "Optional. Fills the whole slide behind the content. Large images are resized automatically; use the focus control to pick which part stays visible when cropped."
    },
    "slideBgFit": {
      "type": "string",
      "enum": [
        "cover",
        "contain",
        ""
      ],
      "title": "Background fit"
    },
    "slideBgFocusX": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "const": ""
        }
      ],
      "title": "Background focus X"
    },
    "slideBgFocusY": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "const": ""
        }
      ],
      "title": "Background focus Y"
    },
    "slideBgOverlay": {
      "type": "string",
      "enum": [
        "auto",
        "none",
        "light",
        "dark",
        "gradient-top",
        "gradient-bottom",
        ""
      ],
      "title": "Background overlay",
      "description": "Auto adds a subtle scrim only when the image is too busy for readable text. Gradient options darken one edge behind the text."
    },
    "slideBgText": {
      "type": "string",
      "enum": [
        "auto",
        "light",
        "dark",
        ""
      ],
      "title": "Text colour",
      "description": "Auto picks the theme text colour with the best contrast for the background image. Light/dark force it. (Legacy \"default\" is treated as the theme default.)"
    },
    "slideLogo": {
      "type": "string",
      "enum": [
        "none",
        "top-right",
        ""
      ],
      "title": "Theme logo",
      "description": "Show the active theme logo in a corner of this slide."
    }
  },
  "additionalProperties": true
}