mirror of
https://github.com/johndoe6345789/metabuilder.git
synced 2026-04-25 14:25:02 +00:00
200 lines
5.9 KiB
JSON
200 lines
5.9 KiB
JSON
{
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
"$id": "https://metabuilder.dev/schemas/package-styles.schema.json",
|
|
"title": "Package Styles",
|
|
"description": "Design tokens and style definitions for MetaBuilder packages",
|
|
"type": "object",
|
|
"properties": {
|
|
"$schema": {
|
|
"type": "string",
|
|
"description": "JSON Schema reference"
|
|
},
|
|
"colors": {
|
|
"type": "object",
|
|
"description": "Color palette definitions",
|
|
"properties": {
|
|
"primary": {
|
|
"$ref": "#/definitions/color"
|
|
},
|
|
"secondary": {
|
|
"$ref": "#/definitions/color"
|
|
},
|
|
"success": {
|
|
"$ref": "#/definitions/color"
|
|
},
|
|
"error": {
|
|
"$ref": "#/definitions/color"
|
|
},
|
|
"warning": {
|
|
"$ref": "#/definitions/color"
|
|
},
|
|
"info": {
|
|
"$ref": "#/definitions/color"
|
|
},
|
|
"background": {
|
|
"$ref": "#/definitions/color"
|
|
},
|
|
"text": {
|
|
"$ref": "#/definitions/color"
|
|
}
|
|
},
|
|
"additionalProperties": {
|
|
"$ref": "#/definitions/color"
|
|
}
|
|
},
|
|
"spacing": {
|
|
"type": "object",
|
|
"description": "Spacing scale definitions",
|
|
"properties": {
|
|
"xs": { "$ref": "#/definitions/size" },
|
|
"sm": { "$ref": "#/definitions/size" },
|
|
"md": { "$ref": "#/definitions/size" },
|
|
"lg": { "$ref": "#/definitions/size" },
|
|
"xl": { "$ref": "#/definitions/size" },
|
|
"xxl": { "$ref": "#/definitions/size" }
|
|
},
|
|
"additionalProperties": {
|
|
"$ref": "#/definitions/size"
|
|
}
|
|
},
|
|
"typography": {
|
|
"type": "object",
|
|
"description": "Typography definitions",
|
|
"properties": {
|
|
"fontFamily": {
|
|
"type": "string",
|
|
"description": "Default font family stack"
|
|
},
|
|
"fontFamilyMono": {
|
|
"type": "string",
|
|
"description": "Monospace font family stack"
|
|
},
|
|
"fontFamilyHeading": {
|
|
"type": "string",
|
|
"description": "Heading font family stack"
|
|
},
|
|
"fontSize": {
|
|
"type": "object",
|
|
"description": "Font size scale",
|
|
"properties": {
|
|
"small": { "$ref": "#/definitions/size" },
|
|
"medium": { "$ref": "#/definitions/size" },
|
|
"large": { "$ref": "#/definitions/size" },
|
|
"xlarge": { "$ref": "#/definitions/size" },
|
|
"xxlarge": { "$ref": "#/definitions/size" }
|
|
},
|
|
"additionalProperties": {
|
|
"$ref": "#/definitions/size"
|
|
}
|
|
},
|
|
"fontWeight": {
|
|
"type": "object",
|
|
"description": "Font weight scale",
|
|
"properties": {
|
|
"light": { "type": "integer" },
|
|
"normal": { "type": "integer" },
|
|
"medium": { "type": "integer" },
|
|
"semibold": { "type": "integer" },
|
|
"bold": { "type": "integer" }
|
|
},
|
|
"additionalProperties": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"lineHeight": {
|
|
"type": "object",
|
|
"description": "Line height scale",
|
|
"properties": {
|
|
"tight": { "type": "number" },
|
|
"normal": { "type": "number" },
|
|
"relaxed": { "type": "number" }
|
|
},
|
|
"additionalProperties": {
|
|
"type": "number"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"borderRadius": {
|
|
"type": "object",
|
|
"description": "Border radius scale",
|
|
"properties": {
|
|
"none": { "$ref": "#/definitions/size" },
|
|
"small": { "$ref": "#/definitions/size" },
|
|
"medium": { "$ref": "#/definitions/size" },
|
|
"large": { "$ref": "#/definitions/size" },
|
|
"full": { "$ref": "#/definitions/size" }
|
|
},
|
|
"additionalProperties": {
|
|
"$ref": "#/definitions/size"
|
|
}
|
|
},
|
|
"shadows": {
|
|
"type": "object",
|
|
"description": "Box shadow definitions",
|
|
"properties": {
|
|
"none": { "type": "string" },
|
|
"small": { "type": "string" },
|
|
"medium": { "type": "string" },
|
|
"large": { "type": "string" }
|
|
},
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"breakpoints": {
|
|
"type": "object",
|
|
"description": "Responsive breakpoints",
|
|
"properties": {
|
|
"xs": { "$ref": "#/definitions/size" },
|
|
"sm": { "$ref": "#/definitions/size" },
|
|
"md": { "$ref": "#/definitions/size" },
|
|
"lg": { "$ref": "#/definitions/size" },
|
|
"xl": { "$ref": "#/definitions/size" }
|
|
},
|
|
"additionalProperties": {
|
|
"$ref": "#/definitions/size"
|
|
}
|
|
},
|
|
"transitions": {
|
|
"type": "object",
|
|
"description": "Transition timing definitions",
|
|
"properties": {
|
|
"fast": { "type": "string" },
|
|
"normal": { "type": "string" },
|
|
"slow": { "type": "string" }
|
|
},
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"zIndex": {
|
|
"type": "object",
|
|
"description": "Z-index scale",
|
|
"properties": {
|
|
"base": { "type": "integer" },
|
|
"dropdown": { "type": "integer" },
|
|
"sticky": { "type": "integer" },
|
|
"modal": { "type": "integer" },
|
|
"popover": { "type": "integer" },
|
|
"tooltip": { "type": "integer" }
|
|
},
|
|
"additionalProperties": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
},
|
|
"definitions": {
|
|
"color": {
|
|
"type": "string",
|
|
"description": "CSS color value",
|
|
"pattern": "^(#[0-9A-Fa-f]{3,8}|rgb\\(|rgba\\(|hsl\\(|hsla\\(|var\\(--)"
|
|
},
|
|
"size": {
|
|
"type": "string",
|
|
"description": "CSS size value (px, rem, em, %, etc.)",
|
|
"pattern": "^(-?\\d+(\\.\\d+)?(px|rem|em|%|vh|vw|ch|ex)?|0)$"
|
|
}
|
|
}
|
|
}
|