components/elements/ButtonGrid/schema.jsjavascript
/**
 * Content-block contract of the "buttonGrid" element (pattern:
 * StoryTitle/schema.js). Button ids reference sibling view ids - checked by
 * scripts/validate-content.mjs.
 */
export default {
  type: "buttonGrid",
  region: "content",
  required: ["buttons"],
  properties: {
    buttons: {
      type: "array",
      items: {
        type: "object",
        required: ["id", "logo"],
        additionalProperties: false,
        properties: {
          id: { type: "string", minLength: 1 },
          logo: { type: "string", pattern: "^/assets/.+" },
        },
      },
    },
  },
};