{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "http://schema.mydesignsystem.com/slider.schema.json",
  "title": "Slider",
  "description": "Slider component for displaying a carousel of content components.",
  "type": "object",
  "properties": {
    "autoplay": {
      "title": "Auto play",
      "description": "Automatically move to next slide after 4 seconds without user interaction",
      "type": "boolean",
      "default": false
    },
    "nav": {
      "title": "Show Navigation",
      "description": "Add bullet navigation",
      "type": "boolean",
      "examples": [
        true
      ]
    },
    "teaseNeighbours": {
      "title": "Tease Neighbour Slides",
      "type": "boolean",
      "default": false
    },
    "equalHeight": {
      "title": "Equalize slides heights",
      "type": "boolean",
      "default": true
    },
    "gap": {
      "title": "Gap",
      "description": "Size of the gap added between slides in pixels",
      "type": "number",
      "default": 0
    },
    "arrows": {
      "title": "Show Arrows",
      "description": "Add arrows on the left and right to navigate to next or previous slide",
      "type": "boolean",
      "examples": [
        true
      ]
    },
    "variant": {
      "title": "Type",
      "description": "Type of the movement",
      "type": "string",
      "enum": [
        "slider",
        "carousel"
      ],
      "default": "carousel"
    },
    "className": {
      "title": "Class",
      "description": "Additional css classes attached to the wrapping element",
      "type": "string"
    },
    "components": {
      "type": "array",
      "title": "Content",
      "description": "Allowed components for content",
      "items": {
        "anyOf": [
          {
            "$schema": "http://json-schema.org/draft-07/schema#",
            "$id": "http://schema.mydesignsystem.com/cta.schema.json",
            "title": "Cta",
            "description": "Call to Action (CTA) component for prompting users to take specific actions on a website.",
            "type": "object",
            "properties": {
              "headline": {
                "title": "Component Headline",
                "description": "Headline for the Component element",
                "type": "string",
                "format": "markdown",
                "examples": [
                  "Headline"
                ]
              },
              "sub": {
                "title": "Component Subheadline",
                "description": "Subheadline below the component headline",
                "type": "string",
                "format": "markdown",
                "examples": [
                  "Subheadline"
                ]
              },
              "text": {
                "title": "Component Text",
                "description": "Info text for the component element",
                "type": "string",
                "format": "markdown"
              },
              "highlightText": {
                "type": "boolean",
                "title": "Highlight Text",
                "description": "Visually highlight the text",
                "default": false
              },
              "colorNeutral": {
                "title": "Color Neutral",
                "description": "Make the text and buttons color neutral",
                "default": false,
                "type": "boolean"
              },
              "inverted": {
                "title": "Inverted",
                "description": "Invert the text and button colors for use on dark backgrounds",
                "default": false,
                "type": "boolean"
              },
              "buttons": {
                "type": "array",
                "items": {
                  "title": "Button",
                  "type": "object",
                  "properties": {
                    "label": {
                      "type": "string",
                      "title": "Label",
                      "description": "Text content to display inside the button",
                      "examples": [
                        "Book a meeting"
                      ]
                    },
                    "icon": {
                      "type": "string",
                      "format": "icon",
                      "title": "Icon",
                      "description": "Choose an icon"
                    },
                    "url": {
                      "type": "string",
                      "title": "URL",
                      "description": "The URL to link to when the button is clicked",
                      "format": "uri"
                    }
                  },
                  "additionalProperties": false
                }
              },
              "backgroundColor": {
                "title": "Background color",
                "description": "Background color for the whole element",
                "type": "string",
                "format": "color"
              },
              "backgroundImage": {
                "title": "Background image",
                "description": "Background image for the whole element",
                "type": "string",
                "format": "image"
              },
              "image": {
                "title": "Image",
                "description": "Image displayed alongside the text content",
                "type": "object",
                "properties": {
                  "src": {
                    "title": "Image source",
                    "description": "Image source to use",
                    "type": "string",
                    "format": "image"
                  },
                  "padding": {
                    "title": "Padding",
                    "description": "Toggle padding of the image",
                    "type": "boolean",
                    "default": true
                  },
                  "alt": {
                    "title": "Alt text",
                    "description": "Image description",
                    "type": "string"
                  },
                  "align": {
                    "title": "Vertical alignment of the image",
                    "description": "Select a vertical alignment for the image",
                    "type": "string",
                    "enum": [
                      "center",
                      "top",
                      "bottom"
                    ],
                    "default": "center"
                  }
                },
                "additionalProperties": false
              },
              "order": {
                "title": "Order",
                "description": "Choose what comes first on mobile and desktop: image or text",
                "type": "object",
                "properties": {
                  "mobileImageLast": {
                    "title": "Mobile image after text",
                    "description": "Switch to displaying the image after the text on mobile",
                    "type": "boolean",
                    "default": false
                  },
                  "desktopImageLast": {
                    "title": "Desktop image after text",
                    "description": "Switch to displaying the image after the text on desktop",
                    "type": "boolean",
                    "default": true
                  }
                },
                "additionalProperties": false
              },
              "textAlign": {
                "title": "Text Alignment",
                "description": "Choose the alginment of the text",
                "enum": [
                  "left",
                  "center"
                ],
                "type": "string",
                "default": "left"
              },
              "align": {
                "title": "Vertical alignment of the content",
                "description": "Select a vertical alignment for the content",
                "type": "string",
                "enum": [
                  "center",
                  "top",
                  "bottom"
                ],
                "default": "center"
              },
              "padding": {
                "title": "Padding",
                "description": "Toggle padding of the content",
                "type": "boolean",
                "default": false
              }
            },
            "additionalProperties": false
          },
          {
            "$schema": "http://json-schema.org/draft-07/schema#",
            "$id": "http://schema.mydesignsystem.com/features.schema.json",
            "title": "Features",
            "description": "Component used to display a set of features",
            "type": "object",
            "properties": {
              "layout": {
                "type": "string",
                "title": "Layout",
                "description": "The layout variant to use for the features",
                "enum": [
                  "largeTiles",
                  "smallTiles",
                  "list"
                ],
                "default": "largeTiles"
              },
              "style": {
                "type": "string",
                "enum": [
                  "intext",
                  "stack",
                  "centered",
                  "besideLarge",
                  "besideSmall"
                ],
                "default": "stack"
              },
              "ctas": {
                "type": "object",
                "properties": {
                  "toggle": {
                    "type": "boolean",
                    "default": true,
                    "title": "CTA Toggle",
                    "description": "Activate/disable the CTAs"
                  },
                  "style": {
                    "type": "string",
                    "enum": [
                      "button",
                      "link",
                      "intext"
                    ],
                    "default": "link"
                  }
                },
                "additionalProperties": false
              },
              "feature": {
                "type": "array",
                "title": "Features",
                "description": "The features to display",
                "items": {
                  "type": "object",
                  "title": "Feature",
                  "properties": {
                    "icon": {
                      "type": "string",
                      "format": "icon",
                      "title": "Icon",
                      "description": "The icon for the feature",
                      "examples": [
                        "person"
                      ]
                    },
                    "title": {
                      "type": "string",
                      "title": "Title",
                      "description": "The title of the feature",
                      "examples": [
                        "Feature 1"
                      ]
                    },
                    "text": {
                      "type": "string",
                      "title": "Text",
                      "description": "The description of the feature",
                      "format": "markdown",
                      "examples": [
                        "This is a feature"
                      ]
                    },
                    "cta": {
                      "type": "object",
                      "properties": {
                        "url": {
                          "type": "string",
                          "title": "Call to Action url",
                          "description": "The CTA url",
                          "default": "#",
                          "format": "uri"
                        },
                        "label": {
                          "type": "string",
                          "title": "Link Label",
                          "description": "The text label displayed on the link",
                          "default": "See more",
                          "examples": [
                            "See all our partners"
                          ]
                        },
                        "icon": {
                          "type": "string",
                          "format": "icon",
                          "title": "Icon",
                          "description": "Icon for the link style of the cta",
                          "examples": [
                            "arrow-right"
                          ],
                          "default": "arrow-right"
                        }
                      },
                      "additionalProperties": false
                    }
                  },
                  "additionalProperties": false
                },
                "minItems": 1,
                "maxItems": 8
              }
            },
            "additionalProperties": false
          },
          {
            "$schema": "http://json-schema.org/draft-07/schema#",
            "$id": "http://schema.mydesignsystem.com/gallery.schema.json",
            "title": "Gallery",
            "description": "Component used to display a gallery of images",
            "type": "object",
            "properties": {
              "images": {
                "type": "array",
                "title": "Images",
                "description": "The images to display in the gallery",
                "items": {
                  "type": "object",
                  "properties": {
                    "src": {
                      "type": "string",
                      "title": "src",
                      "format": "image",
                      "description": "The source of the image",
                      "examples": [
                        "https://example.com/image1.jpg"
                      ]
                    },
                    "alt": {
                      "type": "string",
                      "title": "Alt text",
                      "description": "Alt text of the image",
                      "examples": [
                        "https://example.com/image1.jpg"
                      ]
                    },
                    "caption": {
                      "type": "string",
                      "format": "markdown",
                      "title": "Caption",
                      "description": "The caption of the image",
                      "examples": [
                        "Caption Image"
                      ]
                    }
                  },
                  "additionalProperties": false,
                  "required": [
                    "src"
                  ]
                },
                "minItems": 1,
                "maxItems": 10
              },
              "layout": {
                "type": "string",
                "title": "Layout",
                "description": "The layout of the gallery images",
                "enum": [
                  "stack",
                  "smallTiles",
                  "largeTiles"
                ],
                "default": "smallTiles"
              },
              "aspectRatio": {
                "type": "string",
                "title": "Aspect Ratio",
                "description": "The aspect ratio of the gallery images",
                "enum": [
                  "unset",
                  "square",
                  "wide",
                  "landscape"
                ],
                "default": "unset"
              },
              "lightbox": {
                "type": "boolean",
                "title": "Lightbox",
                "description": "Display images in a lightbox gallery",
                "default": false
              }
            },
            "additionalProperties": false,
            "required": [
              "images"
            ]
          },
          {
            "$schema": "http://json-schema.org/draft-07/schema#",
            "$id": "http://schema.mydesignsystem.com/hero.schema.json",
            "title": "Hero",
            "description": "Hero component for displaying a prominent visual section with headline, subheadline, text, and call-to-action buttons.",
            "type": "object",
            "properties": {
              "headline": {
                "title": "Headline",
                "description": "Headline for the visual",
                "type": "string",
                "format": "markdown"
              },
              "sub": {
                "title": "Module Subheadline",
                "description": "Subheadline below the module headline",
                "type": "string",
                "format": "markdown"
              },
              "text": {
                "title": "Module Text",
                "description": "Info text for the module element",
                "type": "string",
                "format": "markdown"
              },
              "highlightText": {
                "type": "boolean",
                "title": "Highlight Text",
                "description": "Visually highlight the text",
                "default": false
              },
              "colorNeutral": {
                "title": "Color Neutral",
                "description": "Make the text and buttons color neutral",
                "default": false,
                "type": "boolean"
              },
              "height": {
                "title": "Height",
                "type": "string",
                "enum": [
                  "small",
                  "default",
                  "fullImage",
                  "fullScreen"
                ],
                "default": "default"
              },
              "textbox": {
                "type": "boolean",
                "title": "Textbox",
                "default": true,
                "description": "Toggle wether you want your text to be displayed within in box"
              },
              "mobileTextBelow": {
                "type": "boolean",
                "title": "Mobile Text Below",
                "description": "On mobile devices, display the text below the image",
                "default": true
              },
              "invertText": {
                "type": "boolean",
                "title": "Invert Text",
                "description": "Invert the text color for better contrast against the background",
                "default": false
              },
              "buttons": {
                "type": "array",
                "items": {
                  "title": "Button",
                  "type": "object",
                  "properties": {
                    "label": {
                      "type": "string",
                      "title": "Label",
                      "description": "Text content to display inside the button",
                      "examples": [
                        "Book a meeting"
                      ]
                    },
                    "icon": {
                      "type": "string",
                      "format": "icon",
                      "title": "Icon",
                      "description": "Choose an icon"
                    },
                    "url": {
                      "type": "string",
                      "title": "URL",
                      "description": "The URL to link to when the button is clicked",
                      "format": "uri"
                    }
                  },
                  "additionalProperties": false
                }
              },
              "skipButton": {
                "type": "boolean",
                "title": "Skip Button",
                "description": "Add a skip button to the hero module",
                "default": false
              },
              "overlay": {
                "title": "Grid layer",
                "description": "Enable grid layer",
                "type": "boolean",
                "default": false
              },
              "image": {
                "title": "Background image",
                "description": "Sources of background images for different screen sizes",
                "type": "object",
                "required": [
                  "srcMobile"
                ],
                "properties": {
                  "srcMobile": {
                    "title": "Mobile image source",
                    "description": "Background image source for small screens",
                    "type": "string",
                    "format": "image",
                    "examples": [
                      "https://picsum.photos/seed/kdsvisual/640/270"
                    ]
                  },
                  "srcTablet": {
                    "title": "Tablet image source",
                    "description": "Background image source for medium screens",
                    "type": "string",
                    "format": "image",
                    "examples": [
                      "https://picsum.photos/seed/kdsvisual/1280/540"
                    ]
                  },
                  "srcDesktop": {
                    "title": "Desktop image source",
                    "description": "Background image source for large screens",
                    "type": "string",
                    "format": "image",
                    "examples": [
                      "https://picsum.photos/seed/kdsvisual/1920/810"
                    ]
                  },
                  "src": {
                    "title": "Optional source",
                    "description": "Override for img tag of picture element, if needed",
                    "type": "string",
                    "format": "image",
                    "examples": [
                      "https://picsum.photos/seed/kdsvisual/640/270"
                    ]
                  },
                  "indent": {
                    "title": "Image indent",
                    "description": "Choose to indent the image horizontally on small screens",
                    "type": "string",
                    "enum": [
                      "none",
                      "left",
                      "right"
                    ],
                    "default": "none"
                  },
                  "alt": {
                    "title": "Alt text",
                    "description": "Alt text to display for picture",
                    "type": "string"
                  }
                },
                "additionalProperties": false
              },
              "textPosition": {
                "title": "Module aligment",
                "description": "Choose the alginment of the module content",
                "enum": [
                  "center",
                  "below",
                  "offset",
                  "left",
                  "right",
                  "corner",
                  "bottom"
                ],
                "type": "string",
                "default": "left"
              }
            },
            "additionalProperties": false
          },
          {
            "$schema": "http://json-schema.org/draft-07/schema#",
            "$id": "http://schema.mydesignsystem.com/image-text.schema.json",
            "title": "Image Text",
            "description": "Component used to display an image beside or above/below a text block",
            "type": "object",
            "properties": {
              "text": {
                "type": "string",
                "format": "markdown",
                "title": "Text",
                "description": "Text content to display beside the image",
                "examples": [
                  "This is a sample text"
                ]
              },
              "highlightText": {
                "type": "boolean",
                "title": "Highlight Text",
                "description": "Visually highlight the text",
                "default": false
              },
              "image": {
                "type": "object",
                "properties": {
                  "src": {
                    "type": "string",
                    "format": "image",
                    "title": "Image Source",
                    "description": "URL of the image to display",
                    "examples": [
                      "http://example.com/image.jpg"
                    ]
                  },
                  "alt": {
                    "type": "string",
                    "title": "Alt Text",
                    "description": "Alt text of the image",
                    "examples": [
                      "http://example.com/image.jpg"
                    ]
                  }
                },
                "additionalProperties": false
              },
              "layout": {
                "type": "string",
                "enum": [
                  "above",
                  "below",
                  "beside-right",
                  "beside-left"
                ],
                "title": "Layout",
                "description": "Position of the image relative to the text",
                "default": "above"
              }
            },
            "required": [
              "text",
              "image",
              "layout"
            ],
            "additionalProperties": false
          },
          {
            "$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"
            ]
          },
          {
            "$schema": "http://json-schema.org/draft-07/schema#",
            "$id": "http://schema.mydesignsystem.com/stats.schema.json",
            "title": "Stats",
            "description": "Component used to display stats with a number upcounter",
            "type": "object",
            "properties": {
              "align": {
                "title": "Align",
                "description": "Alignment of the stats content",
                "type": "string",
                "enum": [
                  "left",
                  "center"
                ],
                "default": "center"
              },
              "stat": {
                "title": "Stats",
                "type": "array",
                "description": "The stats to display with a number upcounter",
                "items": {
                  "$schema": "http://json-schema.org/draft-07/schema#",
                  "$id": "http://schema.mydesignsystem.com/stat.schema.json",
                  "title": "Stat",
                  "description": "Stat entry of Stats component",
                  "type": "object",
                  "properties": {
                    "number": {
                      "title": "Number",
                      "description": "The number of the stat",
                      "type": "string",
                      "examples": [
                        "1",
                        "5x",
                        "2",
                        "40%",
                        "bis zu 100"
                      ]
                    },
                    "description": {
                      "title": "Description",
                      "description": "Optional description of the stat",
                      "type": "string",
                      "format": "markdown"
                    },
                    "title": {
                      "title": "Title",
                      "description": "Title of the stat",
                      "type": "string",
                      "format": "markdown",
                      "examples": [
                        "Stat 1",
                        "Stat 2",
                        "Stat 3",
                        "Stat 4"
                      ]
                    },
                    "icon": {
                      "title": "Icon",
                      "description": "Optional icon of the stat",
                      "type": "string",
                      "format": "icon",
                      "examples": [
                        "person",
                        "home",
                        "map"
                      ]
                    }
                  },
                  "additionalProperties": false,
                  "required": [
                    "number",
                    "label"
                  ],
                  "examples": [
                    {
                      "number": 1,
                      "label": "Stat 1"
                    },
                    {
                      "number": 2,
                      "label": "Stat 2"
                    },
                    {
                      "number": 3,
                      "label": "Stat 3"
                    },
                    {
                      "value": 4,
                      "label": "Stat 4"
                    }
                  ]
                },
                "minItems": 1,
                "maxItems": 4
              }
            },
            "additionalProperties": false,
            "required": [
              "stats"
            ]
          },
          {
            "$schema": "http://json-schema.org/draft-07/schema#",
            "$id": "http://schema.mydesignsystem.com/teaser-card.schema.json",
            "title": "Teaser Card",
            "description": "Component used to tease content",
            "type": "object",
            "properties": {
              "headline": {
                "type": "string",
                "title": "Headline",
                "description": "Headline for the teaser card",
                "format": "markdown"
              },
              "text": {
                "type": "string",
                "title": "Text",
                "description": "Body text for the teaser card",
                "format": "markdown"
              },
              "label": {
                "type": "string",
                "title": "Label",
                "description": "Label for the Teaser Card"
              },
              "layout": {
                "type": "string",
                "enum": [
                  "stack",
                  "row",
                  "compact"
                ],
                "description": "Layout for the Teaser Card",
                "default": "stack"
              },
              "centered": {
                "type": "boolean",
                "title": "Centered",
                "description": "Whether the Teaser Card is centered",
                "default": false
              },
              "url": {
                "type": "string",
                "title": "Url",
                "description": "Url that should be linked",
                "format": "uri"
              },
              "button": {
                "type": "object",
                "properties": {
                  "label": {
                    "title": "Label",
                    "type": "string",
                    "description": "Label of the button. Still A11Y relevant when the button is hidden."
                  },
                  "chevron": {
                    "title": "Icon",
                    "description": "Toggle arrow icon",
                    "type": "boolean",
                    "default": false
                  },
                  "hidden": {
                    "type": "boolean",
                    "title": "Display Button",
                    "description": "Toggle wether you want the card to have a visible button or not",
                    "default": false
                  }
                },
                "required": [
                  "label"
                ],
                "additionalProperties": false
              },
              "image": {
                "type": "string",
                "title": "Image",
                "description": "Image to display as cover",
                "format": "image"
              },
              "imageAlt": {
                "type": "string",
                "title": "Image Alt",
                "description": "Alternative text for the image, used for accessibility"
              },
              "imageRatio": {
                "type": "string",
                "enum": [
                  "wide",
                  "landscape",
                  "square",
                  "unset"
                ],
                "description": "Aspect ratio of the image",
                "default": "wide"
              }
            },
            "additionalProperties": false,
            "required": [
              "topic",
              "url"
            ]
          },
          {
            "$schema": "http://json-schema.org/draft-07/schema#",
            "$id": "http://schema.mydesignsystem.com/testimonials.schema.json",
            "title": "Testimonials",
            "description": "Display testimonials with an optional image and rating",
            "type": "object",
            "properties": {
              "layout": {
                "title": "Layout",
                "description": "The testimonial layout",
                "type": "string",
                "enum": [
                  "slider",
                  "list",
                  "alternating"
                ],
                "default": "slider"
              },
              "quoteSigns": {
                "title": "Style of the quote signs",
                "description": "The style of the quote signs",
                "type": "string",
                "enum": [
                  "normal",
                  "large",
                  "none"
                ],
                "default": "normal"
              },
              "testimonial": {
                "type": "array",
                "title": "Testimonials",
                "description": "Add testimonials featuring an image, a quote, a source and a rating",
                "items": {
                  "title": "Testimonial",
                  "description": "Testimonial entry of Testimonials component",
                  "type": "object",
                  "properties": {
                    "quote": {
                      "title": "Quote",
                      "description": "The testimonial quote",
                      "type": "string",
                      "format": "markdown",
                      "examples": [
                        "This product is amazing!"
                      ]
                    },
                    "name": {
                      "title": "Name",
                      "description": "The name of the quote author",
                      "type": "string",
                      "examples": [
                        "John Doe"
                      ]
                    },
                    "title": {
                      "title": "Title",
                      "description": "The title of the quote author",
                      "type": "string"
                    },
                    "image": {
                      "type": "object",
                      "properties": {
                        "src": {
                          "title": "Source",
                          "description": "The image to display with the testimonial",
                          "type": "string",
                          "format": "image",
                          "examples": [
                            "https://example.com/image.jpg"
                          ]
                        },
                        "alt": {
                          "title": "Alt Text",
                          "description": "The alt text of the image file",
                          "type": "string"
                        }
                      },
                      "additionalProperties": false
                    },
                    "rating": {
                      "title": "Rating",
                      "description": "The rating of the testimonial, from 1 to 5",
                      "type": "integer",
                      "minimum": 1,
                      "maximum": 5
                    }
                  },
                  "additionalProperties": false,
                  "required": [
                    "quote",
                    "name",
                    "image"
                  ]
                }
              }
            },
            "additionalProperties": false
          },
          {
            "$schema": "http://json-schema.org/draft-07/schema#",
            "$id": "http://schema.mydesignsystem.com/text.schema.json",
            "title": "Text",
            "description": "Component used for displaying text in chapters",
            "type": "object",
            "properties": {
              "text": {
                "type": "string",
                "format": "markdown",
                "title": "Text",
                "description": "Text",
                "examples": [
                  "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet."
                ]
              },
              "layout": {
                "type": "string",
                "title": "Layout",
                "description": "Variant of layout to be used",
                "enum": [
                  "singleColumn",
                  "multiColumn"
                ],
                "default": "singleColumn"
              },
              "align": {
                "type": "string",
                "title": "Alignment",
                "description": "Alignment of text",
                "enum": [
                  "left",
                  "center"
                ],
                "default": "left"
              },
              "highlightText": {
                "type": "boolean",
                "title": "Highlight Text",
                "description": "Visually highlight the text",
                "default": false
              }
            },
            "additionalProperties": false,
            "required": [
              "text"
            ]
          }
        ]
      }
    }
  },
  "additionalProperties": false
}