{ "$id": "https://git.drupalcode.org/project/drupal/-/raw/HEAD/core/assets/schemas/v1/metadata.schema.json", "$schema": "http://json-schema.org/draft-04/schema#", "$defs": { "slotDefinition": { "type": "object", "patternProperties": { "^[a-zA-Z0-9_-]$": { "type": "object", "properties": { "title": { "type": "string", "title": "Title" }, "description": { "type": "string", "title": "Description" }, "examples": { "type": "array", "items": { "type": "string" } } } } } }, "cssAttributes": { "type": [ "object", "array" ], "patternProperties": { ".*": { "type": [ "object", "array" ], "properties": { "attributes": { "type": "object" }, "group": { "type": "string" }, "media": { "type": "string" }, "minified": { "type": "boolean" }, "preprocess": { "type": "boolean" }, "type": { "type": "string" }, "weight": { "type": "integer" } } } } }, "cssDefinition": { "type": [ "object", "array" ], "properties": { "base": { "$ref": "#/$defs/cssAttributes" }, "layout": { "$ref": "#/$defs/cssAttributes" }, "component": { "$ref": "#/$defs/cssAttributes" }, "state": { "$ref": "#/$defs/cssAttributes" }, "theme": { "$ref": "#/$defs/cssAttributes" } } }, "jsAttributes": { "type": [ "object", "array" ], "patternProperties": { ".*": { "type": [ "object", "array" ], "properties": { "attributes": { "type": "object" }, "preprocess": { "type": "boolean" }, "type": { "type": "string" }, "weight": { "type": "number" } } } } }, "libraryDefinition": { "type": "object", "properties": { "dependencies": { "type": "array", "items": { "type": "string" } }, "css": { "type": [ "object", "array" ], "properties": { "base": { "$ref": "#/$defs/cssAttributes" }, "layout": { "$ref": "#/$defs/cssAttributes" }, "component": { "$ref": "#/$defs/cssAttributes" }, "state": { "$ref": "#/$defs/cssAttributes" }, "theme": { "$ref": "#/$defs/cssAttributes" } } }, "js": { "$ref": "#/$defs/jsAttributes" } } } }, "type": "object", "properties": { "$schema": { "type": "string", "format": "uri" }, "name": { "type": "string", "title": "Name", "description": "Human readable version of the component name", "examples": [ "Button", "Module 23F" ] }, "description": { "type": "string", "title": "Description", "description": "Human readable description for the component", "examples": [ "Plain button. Only available for use in other components. Do not include directly." ] }, "status": { "type": "string", "title": "Development Status", "description": "Use this property to identify if the component can be safely used in production.", "enum": [ "experimental", "stable", "deprecated", "obsolete" ] }, "props": { "$ref": "http://json-schema.org/draft-04/schema#" }, "slots": { "$ref": "#/$defs/slotDefinition" }, "libraryOverrides": { "$ref": "#/$defs/libraryDefinition" }, "thirdPartySettings": { "type": [ "object", "array" ], "additionalProperties": true, "patternProperties": { ".*": { "type": "object", "additionalProperties": true } } } } }