component.schema.json•2.06 kB
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1
},
"description": {
"type": "string"
},
"category": {
"type": "string"
},
"props": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": { "type": "string" },
"type": { "type": "string" },
"required": { "type": "boolean" },
"default": {},
"description": { "type": "string" }
},
"required": ["name", "type", "required", "description"],
"additionalProperties": false
}
},
"variants": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": { "type": "string" },
"props": { "type": "object" },
"description": { "type": "string" }
},
"required": ["name", "props", "description"],
"additionalProperties": false
}
},
"examples": {
"type": "array",
"items": {
"type": "object",
"properties": {
"title": { "type": "string" },
"description": { "type": "string" },
"code": { "type": "string" },
"language": { "type": "string" }
},
"required": ["title", "description", "code", "language"],
"additionalProperties": false
}
},
"guidelines": {
"type": "array",
"items": { "type": "string" }
},
"accessibility": {
"type": "object",
"properties": {
"ariaLabels": {
"type": "array",
"items": { "type": "string" }
},
"keyboardNavigation": { "type": "string" },
"screenReaderSupport": { "type": "string" },
"colorContrast": { "type": "string" }
},
"additionalProperties": false
}
},
"required": ["name", "description", "category", "props", "variants", "examples", "guidelines", "accessibility"],
"additionalProperties": false
}