$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 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 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: # Content Background Colors 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 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 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 bg_popup_mask: $ref: "#/definitions/css_color" # todo: description # line: $ref: "#/definitions/css_color" # todo: description line_safe: $ref: "#/definitions/css_color" # todo: description line_warn: $ref: "#/definitions/css_color" # todo: description line_danger: $ref: "#/definitions/css_color" # todo: description # Main Content Text Colors 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" # todo: description text_safe: $ref: "#/definitions/css_color" # todo: description text_warn: $ref: "#/definitions/css_color" # todo: description text_danger: $ref: "#/definitions/css_color" # todo: description 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 # QR Codes bg_qrcode: $ref: "#/definitions/css_color" description: > The background color (i.e. typically white) of rendered QR codes stroke_qrcode: $ref: "#/definitions/css_color" description: > The stroke color (i.e. typically black) of rendered QR codes # Text Highlighted with text_highlight: $ref: "#/definitions/css_color" description: > The color of text highlighted using the text tag (or by using ==text== in markdown) bg_text_highlight: $ref: "#/definitions/css_color" description: > The background color of text highlighted using the text tag (or by using ==text== in markdown) # User-Selected Text 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 # Buttons bg_button_primary: $ref: "#/definitions/css_color" description: > The background color of "primary" buttons (typically major, positive actions, like "save" or "publish") 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 text_button_primary: $ref: "#/definitions/css_color" description: > The text color of "primary" buttons (typically major, positive actions, like "save" or "publish") 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") 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 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") # Error Boxes / Alerts bg_error_box: $ref: "#/definitions/css_color" # todo: description border_error_box: $ref: "#/definitions/css_color" # todo: description text_error_box: $ref: "#/definitions/css_color" # todo: description # Inputs / Forms bg_input: $ref: "#/definitions/css_color" # todo: description border_input: $ref: "#/definitions/css_color" # todo: description border_input_invalid: $ref: "#/definitions/css_color" # todo: description # Activity / Result Indicators icon_active_indicator: $ref: "#/definitions/css_color" # todo: description icon_success_indicator: $ref: "#/definitions/css_color" # todo: description icon_failure_indicator: $ref: "#/definitions/css_color" # todo: description icon_warning_indicator: $ref: "#/definitions/css_color" # todo: description # Semantic Accent Colors accent_info: $ref: "#/definitions/css_color" # todo: description accent_highlight: $ref: "#/definitions/css_color" # todo: description accent_warning: $ref: "#/definitions/css_color" # todo: description accent_problem: $ref: "#/definitions/css_color" # todo: description # Charts chart_axis: $ref: "#/definitions/css_color" # todo: description chart_text: $ref: "#/definitions/css_color" # todo: description chart_guideline: $ref: "#/definitions/css_color" # todo: description chart_shape_red_fill: $ref: "#/definitions/css_color" # todo: description chart_shape_red_line: $ref: "#/definitions/css_color" # todo: description chart_shape_orange_fill: $ref: "#/definitions/css_color" # todo: description chart_shape_orange_line: $ref: "#/definitions/css_color" # todo: description chart_shape_yellow_fill: $ref: "#/definitions/css_color" # todo: description chart_shape_yellow_line: $ref: "#/definitions/css_color" # todo: description chart_shape_green_fill: $ref: "#/definitions/css_color" # todo: description chart_shape_green_line: $ref: "#/definitions/css_color" # todo: description chart_shape_teal_fill: $ref: "#/definitions/css_color" # todo: description chart_shape_teal_line: $ref: "#/definitions/css_color" # todo: description chart_shape_pink_fill: $ref: "#/definitions/css_color" # todo: description chart_shape_pink_line: $ref: "#/definitions/css_color" # todo: description chart_shape_purple_fill: $ref: "#/definitions/css_color" # todo: description chart_shape_purple_line: $ref: "#/definitions/css_color" # todo: description chart_shape_blue_fill: $ref: "#/definitions/css_color" # todo: description chart_shape_blue_line: $ref: "#/definitions/css_color" # todo: description chart_shape_indigo_fill: $ref: "#/definitions/css_color" # todo: description chart_shape_indigo_line: $ref: "#/definitions/css_color" # todo: description chart_shape_magenta_fill: $ref: "#/definitions/css_color" # todo: description chart_shape_magenta_line: $ref: "#/definitions/css_color" # todo: description chart_shape_brown_fill: $ref: "#/definitions/css_color" # todo: description chart_shape_brown_line: $ref: "#/definitions/css_color" # todo: description # Pre-Formatted / Syntax Highlighted Code Blocks code_normal: $ref: "#/definitions/css_color" # todo: description code_shadow: $ref: "#/definitions/css_color" # todo: description code_background: $ref: "#/definitions/css_color" # todo: description code_selection: $ref: "#/definitions/css_color" # todo: description code_comment: $ref: "#/definitions/css_color" # todo: description code_punc: $ref: "#/definitions/css_color" # todo: description code_operator: $ref: "#/definitions/css_color" # todo: description code_const_literal: $ref: "#/definitions/css_color" # todo: description code_number_literal: $ref: "#/definitions/css_color" # todo: description code_boolean_literal: $ref: "#/definitions/css_color" # todo: description code_tag: $ref: "#/definitions/css_color" # todo: description code_string: $ref: "#/definitions/css_color" # todo: description code_keyword: $ref: "#/definitions/css_color" # todo: description code_func_name: $ref: "#/definitions/css_color" # todo: description code_class_name: $ref: "#/definitions/css_color" # todo: description code_regex_important: $ref: "#/definitions/css_color" # todo: description code_variable: $ref: "#/definitions/css_color" # todo: description code_builtin: $ref: "#/definitions/css_color" # todo: description code_attr_name: $ref: "#/definitions/css_color" # todo: description code_gutter_divider: $ref: "#/definitions/css_color" # todo: description code_line_number: $ref: "#/definitions/css_color" # todo: description code_line_highlight: $ref: "#/definitions/css_color" # todo: description definitions: css_color: oneOf: # Hex Colors - type: string format: regex pattern: ^(#[0-9a-fA-F]{3}(?:[0-9a-fA-F]{3}(?:[0-9a-fA-F]{2})?)?)$ examples: - "#000" - "#ff0000" - "#ffccaa88" # RGB Colors - 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) # RGBA Colors - 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) # todo: other color function formats, like hsl # transparent - type: string const: transparent # currentcolor - type: string const: currentcolor # Named Colors: CSS Level 1 - type: string enum: - black - silver - gray - white - maroon - red - purple - fuchsia - green - lime - olive - yellow - navy - blue - teal - aqua # Named Colors: CSS Level 2 - type: string enum: - orange # Named Colors: CSS Level 3 - type: string enum: - aliceblue - antiquewhite # todo: fill in the rest of level3 colors... # see: https://developer.mozilla.org/en-US/docs/Web/CSS/named-color # Named Colors: CSS Level 4 - type: string enum: - rebeccapurple