34 lines
1.7 KiB
JSON
34 lines
1.7 KiB
JSON
{
|
|
"$schema": "http://json-schema.org/draft-07/schema#", "type": "object",
|
|
"required": ["basis-artifact-id", "basis-artifact-sha256", "user-flows", "screen-inventory", "state-matrix", "accessibility", "design-system-bindings", "visual-rationale"],
|
|
"properties": {
|
|
"basis-artifact-id": {"type": "string", "minLength": 1}, "basis-artifact-sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"},
|
|
"user-flows": {"type": "array", "minItems": 1}, "screen-inventory": {"type": "array", "minItems": 1},
|
|
"state-matrix": {"type": "array", "minItems": 1}, "accessibility": {"type": "object", "minProperties": 1},
|
|
"design-system-bindings": {
|
|
"type": "array", "minItems": 1,
|
|
"items": {
|
|
"anyOf": [
|
|
{"type": "string", "minLength": 1},
|
|
{"type": "object", "required": ["release-id", "release-ref", "release-sha256", "component-ids", "delta"], "properties": {
|
|
"release-id": {"type": "string", "minLength": 1},
|
|
"release-ref": {"type": "string", "minLength": 1},
|
|
"release-sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"},
|
|
"component-ids": {"type": "array"},
|
|
"delta": {"type": "object", "required": ["tokens", "components"], "properties": {
|
|
"tokens": {"type": "array"},
|
|
"components": {"type": "array", "items": {"anyOf": [
|
|
{"type": "string", "minLength": 1},
|
|
{"type": "object", "required": ["id", "reason"], "properties": {
|
|
"id": {"type": "string", "minLength": 1},
|
|
"reason": {"type": "string", "minLength": 1}
|
|
}}
|
|
]}}
|
|
}}
|
|
}}
|
|
]
|
|
}
|
|
}, "visual-rationale": {"type": "string", "minLength": 1}
|
|
}
|
|
}
|