components/elements/PeerList/schema.jsjavascript
/** Content-block contract of the "peerList" element (pattern: StoryTitle/schema.js). */
export default {
  type: "peerList",
  region: "content",
  required: ["peers"],
  properties: {
    peers: {
      type: "array",
      items: {
        type: "object",
        required: ["logo"],
        properties: {
          flag: { type: "string" },
          logo: { type: "string" },
          stats: {
            type: "array",
            items: {
              type: "object",
              required: ["value", "label"],
              additionalProperties: false,
              properties: {
                value: { type: "string" },
                label: { type: "string" },
              },
            },
          },
          highlight: {
            type: "object",
            required: ["headline", "text"],
            additionalProperties: false,
            properties: {
              headline: { type: "string" },
              text: { type: "string" },
            },
          },
        },
      },
    },
  },
};