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