components/elements/CircleInfographic/schema.jsjavascript
/**
 * Content-block contract of the "circleInfographic" element (pattern:
 * StoryTitle/schema.js). The `icons` small/big values are icon names, not
 * asset paths.
 */
export default {
  type: "circleInfographic",
  region: "content",
  required: ["circle"],
  properties: {
    headline: { type: "string" },
    circle: {
      type: "array",
      items: {
        type: "object",
        additionalProperties: false,
        properties: {
          text: { type: "string" },
          icon: { type: "string" },
          icons: {
            type: "array",
            items: {
              type: "object",
              additionalProperties: false,
              properties: {
                small: { type: "string" },
                big: { type: "string" },
              },
            },
          },
          card: {
            type: "object",
            additionalProperties: false,
            properties: {
              headline: { type: "string" },
              text: { type: "string" },
              underline: { type: "string" },
            },
          },
        },
      },
    },
  },
};