406 lines
13 KiB
JSON
406 lines
13 KiB
JSON
{
|
|
"$schema": "http://json-schema.org/draft-07/schema",
|
|
"$id": "https://gitea.jbrumond.me/minimal/docs/raw/branch/master/json-schema/color-theme/v1.json",
|
|
"type": "object",
|
|
"title": "Color Theme",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The name of the color theme as it should be displayed to a user\n"
|
|
},
|
|
"labels": {
|
|
"type": "array",
|
|
"description": "The labels field allows for categorizing color themes into high-level groupings like \"light\", \"dark\", or \"high_contrast\". This is purely meta-information that is intended to be used by applications to display color theme options with groupings or other indicators to the user in configuration interfaces\n",
|
|
"items": {
|
|
"type": "string",
|
|
"enum": [
|
|
"light",
|
|
"dark",
|
|
"high_contrast",
|
|
"low_contrast",
|
|
"monochrome",
|
|
"greyscale",
|
|
"protanopia_safe",
|
|
"deuteranopia_safe",
|
|
"tritanopia_safe"
|
|
]
|
|
}
|
|
},
|
|
"colors": {
|
|
"type": "object",
|
|
"description": "Contains the color values that will be used to populate CSS variables",
|
|
"properties": {
|
|
"bg_main": {
|
|
"$ref": "#/definitions/css_color",
|
|
"description": "The primary background color applied to the page as a whole. Must have good contrast against the main copy text colors text_heading, text_body, text_light, text_link, text_link_active, and text_link_visited\n"
|
|
},
|
|
"bg_light": {
|
|
"$ref": "#/definitions/css_color",
|
|
"description": "A lighter background color applied to content panels; Should have a relatively low contrast against the bg_main color, providing only a light accent. Must have good contrast against the main copy text colors text_heading, text_body, text_light, text_link, text_link_active, and text_link_visited\n"
|
|
},
|
|
"bg_heavy": {
|
|
"$ref": "#/definitions/css_color",
|
|
"description": "A heavier background color applied to content panels; Should have a relatively higher contrast against the bg_main color, directing attention to what is \"important\" or \"primary\" content inside of it. Must have good contrast against the main copy text colors text_heading, text_body, text_light, text_link, text_link_active, and text_link_visited\n"
|
|
},
|
|
"bg_popup_mask": {
|
|
"$ref": "#/definitions/css_color"
|
|
},
|
|
"line": {
|
|
"$ref": "#/definitions/css_color"
|
|
},
|
|
"line_safe": {
|
|
"$ref": "#/definitions/css_color"
|
|
},
|
|
"line_warn": {
|
|
"$ref": "#/definitions/css_color"
|
|
},
|
|
"line_danger": {
|
|
"$ref": "#/definitions/css_color"
|
|
},
|
|
"text_heading": {
|
|
"$ref": "#/definitions/css_color",
|
|
"description": "The color of heading text"
|
|
},
|
|
"text_body": {
|
|
"$ref": "#/definitions/css_color",
|
|
"description": "The color of main / normal body copy text"
|
|
},
|
|
"text_light": {
|
|
"$ref": "#/definitions/css_color"
|
|
},
|
|
"text_safe": {
|
|
"$ref": "#/definitions/css_color"
|
|
},
|
|
"text_warn": {
|
|
"$ref": "#/definitions/css_color"
|
|
},
|
|
"text_danger": {
|
|
"$ref": "#/definitions/css_color"
|
|
},
|
|
"text_link": {
|
|
"$ref": "#/definitions/css_color",
|
|
"description": "The default color of hyperlinks"
|
|
},
|
|
"text_link_active": {
|
|
"$ref": "#/definitions/css_color",
|
|
"description": "The color of hyperlinks that are currently active / selected"
|
|
},
|
|
"text_link_visited": {
|
|
"$ref": "#/definitions/css_color",
|
|
"description": "The color of hyperlinks that have been previously visited"
|
|
},
|
|
"bg_qrcode": {
|
|
"$ref": "#/definitions/css_color",
|
|
"description": "The background color (i.e. typically white) of rendered QR codes\n"
|
|
},
|
|
"stroke_qrcode": {
|
|
"$ref": "#/definitions/css_color",
|
|
"description": "The stroke color (i.e. typically black) of rendered QR codes\n"
|
|
},
|
|
"text_highlight": {
|
|
"$ref": "#/definitions/css_color",
|
|
"description": "The color of text highlighted using the <mark>text</mark> tag (or by using ==text== in markdown)\n"
|
|
},
|
|
"bg_text_highlight": {
|
|
"$ref": "#/definitions/css_color",
|
|
"description": "The background color of text highlighted using the <mark>text</mark> tag (or by using ==text== in markdown)\n"
|
|
},
|
|
"text_selection": {
|
|
"$ref": "#/definitions/css_color",
|
|
"description": "The color of text that has been selected by the user"
|
|
},
|
|
"bg_text_selection": {
|
|
"$ref": "#/definitions/css_color",
|
|
"description": "The background color of text that has been selected by the user"
|
|
},
|
|
"bg_button_primary": {
|
|
"$ref": "#/definitions/css_color",
|
|
"description": "The background color of \"primary\" buttons (typically major, positive actions, like \"save\" or \"publish\")\n"
|
|
},
|
|
"bg_button_primary_hover": {
|
|
"$ref": "#/definitions/css_color",
|
|
"description": "The background color of \"primary\" buttons (typically major, positive actions, like \"save\" or \"publish\") while the user is hovering over them\n"
|
|
},
|
|
"text_button_primary": {
|
|
"$ref": "#/definitions/css_color",
|
|
"description": "The text color of \"primary\" buttons (typically major, positive actions, like \"save\" or \"publish\")\n"
|
|
},
|
|
"bg_button_secondary": {
|
|
"$ref": "#/definitions/css_color",
|
|
"description": "The background color of \"secondary\" buttons (typically safe, unimpactful, or backward moving actions, like \"cancel\" or \"preview\")\n"
|
|
},
|
|
"bg_button_secondary_hover": {
|
|
"$ref": "#/definitions/css_color",
|
|
"description": "The background color of \"secondary\" buttons (typically safe, unimpactful, or backward moving actions, like \"cancel\" or \"preview\") while the user is hovering over them\n"
|
|
},
|
|
"text_button_secondary": {
|
|
"$ref": "#/definitions/css_color",
|
|
"description": "The text color of \"secondary\" buttons (typically safe, unimpactful, or backward moving actions, like \"cancel\" or \"preview\")\n"
|
|
},
|
|
"bg_error_box": {
|
|
"$ref": "#/definitions/css_color"
|
|
},
|
|
"border_error_box": {
|
|
"$ref": "#/definitions/css_color"
|
|
},
|
|
"text_error_box": {
|
|
"$ref": "#/definitions/css_color"
|
|
},
|
|
"bg_input": {
|
|
"$ref": "#/definitions/css_color"
|
|
},
|
|
"border_input": {
|
|
"$ref": "#/definitions/css_color"
|
|
},
|
|
"border_input_invalid": {
|
|
"$ref": "#/definitions/css_color"
|
|
},
|
|
"icon_active_indicator": {
|
|
"$ref": "#/definitions/css_color"
|
|
},
|
|
"icon_success_indicator": {
|
|
"$ref": "#/definitions/css_color"
|
|
},
|
|
"icon_failure_indicator": {
|
|
"$ref": "#/definitions/css_color"
|
|
},
|
|
"icon_warning_indicator": {
|
|
"$ref": "#/definitions/css_color"
|
|
},
|
|
"accent_info": {
|
|
"$ref": "#/definitions/css_color"
|
|
},
|
|
"accent_highlight": {
|
|
"$ref": "#/definitions/css_color"
|
|
},
|
|
"accent_warning": {
|
|
"$ref": "#/definitions/css_color"
|
|
},
|
|
"accent_problem": {
|
|
"$ref": "#/definitions/css_color"
|
|
},
|
|
"chart_axis": {
|
|
"$ref": "#/definitions/css_color"
|
|
},
|
|
"chart_text": {
|
|
"$ref": "#/definitions/css_color"
|
|
},
|
|
"chart_guideline": {
|
|
"$ref": "#/definitions/css_color"
|
|
},
|
|
"chart_shape_red_fill": {
|
|
"$ref": "#/definitions/css_color"
|
|
},
|
|
"chart_shape_red_line": {
|
|
"$ref": "#/definitions/css_color"
|
|
},
|
|
"chart_shape_orange_fill": {
|
|
"$ref": "#/definitions/css_color"
|
|
},
|
|
"chart_shape_orange_line": {
|
|
"$ref": "#/definitions/css_color"
|
|
},
|
|
"chart_shape_yellow_fill": {
|
|
"$ref": "#/definitions/css_color"
|
|
},
|
|
"chart_shape_yellow_line": {
|
|
"$ref": "#/definitions/css_color"
|
|
},
|
|
"chart_shape_green_fill": {
|
|
"$ref": "#/definitions/css_color"
|
|
},
|
|
"chart_shape_green_line": {
|
|
"$ref": "#/definitions/css_color"
|
|
},
|
|
"chart_shape_teal_fill": {
|
|
"$ref": "#/definitions/css_color"
|
|
},
|
|
"chart_shape_teal_line": {
|
|
"$ref": "#/definitions/css_color"
|
|
},
|
|
"chart_shape_pink_fill": {
|
|
"$ref": "#/definitions/css_color"
|
|
},
|
|
"chart_shape_pink_line": {
|
|
"$ref": "#/definitions/css_color"
|
|
},
|
|
"chart_shape_purple_fill": {
|
|
"$ref": "#/definitions/css_color"
|
|
},
|
|
"chart_shape_purple_line": {
|
|
"$ref": "#/definitions/css_color"
|
|
},
|
|
"chart_shape_blue_fill": {
|
|
"$ref": "#/definitions/css_color"
|
|
},
|
|
"chart_shape_blue_line": {
|
|
"$ref": "#/definitions/css_color"
|
|
},
|
|
"chart_shape_indigo_fill": {
|
|
"$ref": "#/definitions/css_color"
|
|
},
|
|
"chart_shape_indigo_line": {
|
|
"$ref": "#/definitions/css_color"
|
|
},
|
|
"chart_shape_magenta_fill": {
|
|
"$ref": "#/definitions/css_color"
|
|
},
|
|
"chart_shape_magenta_line": {
|
|
"$ref": "#/definitions/css_color"
|
|
},
|
|
"chart_shape_brown_fill": {
|
|
"$ref": "#/definitions/css_color"
|
|
},
|
|
"chart_shape_brown_line": {
|
|
"$ref": "#/definitions/css_color"
|
|
},
|
|
"code_normal": {
|
|
"$ref": "#/definitions/css_color"
|
|
},
|
|
"code_shadow": {
|
|
"$ref": "#/definitions/css_color"
|
|
},
|
|
"code_background": {
|
|
"$ref": "#/definitions/css_color"
|
|
},
|
|
"code_selection": {
|
|
"$ref": "#/definitions/css_color"
|
|
},
|
|
"code_comment": {
|
|
"$ref": "#/definitions/css_color"
|
|
},
|
|
"code_punc": {
|
|
"$ref": "#/definitions/css_color"
|
|
},
|
|
"code_operator": {
|
|
"$ref": "#/definitions/css_color"
|
|
},
|
|
"code_const_literal": {
|
|
"$ref": "#/definitions/css_color"
|
|
},
|
|
"code_number_literal": {
|
|
"$ref": "#/definitions/css_color"
|
|
},
|
|
"code_boolean_literal": {
|
|
"$ref": "#/definitions/css_color"
|
|
},
|
|
"code_tag": {
|
|
"$ref": "#/definitions/css_color"
|
|
},
|
|
"code_string": {
|
|
"$ref": "#/definitions/css_color"
|
|
},
|
|
"code_keyword": {
|
|
"$ref": "#/definitions/css_color"
|
|
},
|
|
"code_func_name": {
|
|
"$ref": "#/definitions/css_color"
|
|
},
|
|
"code_class_name": {
|
|
"$ref": "#/definitions/css_color"
|
|
},
|
|
"code_regex_important": {
|
|
"$ref": "#/definitions/css_color"
|
|
},
|
|
"code_variable": {
|
|
"$ref": "#/definitions/css_color"
|
|
},
|
|
"code_builtin": {
|
|
"$ref": "#/definitions/css_color"
|
|
},
|
|
"code_attr_name": {
|
|
"$ref": "#/definitions/css_color"
|
|
},
|
|
"code_gutter_divider": {
|
|
"$ref": "#/definitions/css_color"
|
|
},
|
|
"code_line_number": {
|
|
"$ref": "#/definitions/css_color"
|
|
},
|
|
"code_line_highlight": {
|
|
"$ref": "#/definitions/css_color"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"definitions": {
|
|
"css_color": {
|
|
"oneOf": [
|
|
{
|
|
"type": "string",
|
|
"format": "regex",
|
|
"pattern": "^(#[0-9a-fA-F]{3}(?:[0-9a-fA-F]{3}(?:[0-9a-fA-F]{2})?)?)$",
|
|
"examples": [
|
|
"#000",
|
|
"#ff0000",
|
|
"#ffccaa88"
|
|
]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"format": "regex",
|
|
"pattern": "^(rgb\\(\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*\\))$",
|
|
"examples": [
|
|
"rgb(10, 70, 130)"
|
|
]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"format": "regex",
|
|
"pattern": "^(rgba\\(\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([01]|[01]?\\.[0-9]{1,3})\\s*\\))$",
|
|
"examples": [
|
|
"rgba(10, 70, 130, 0.5)"
|
|
]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"const": "transparent"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"const": "currentcolor"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"black",
|
|
"silver",
|
|
"gray",
|
|
"white",
|
|
"maroon",
|
|
"red",
|
|
"purple",
|
|
"fuchsia",
|
|
"green",
|
|
"lime",
|
|
"olive",
|
|
"yellow",
|
|
"navy",
|
|
"blue",
|
|
"teal",
|
|
"aqua"
|
|
]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"orange"
|
|
]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"aliceblue",
|
|
"antiquewhite"
|
|
]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"rebeccapurple"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
} |