blue
View on GitHub

Color

Deskblocks uses a color system to simplify color management and application, allowing developers to focus on features rather than the complexities of color.


Color System

Managing colors for an app that supports multiple themes (blue, red, green, orange, yellow), modes (light and dark), and various contrast levels can be complex. To address this, a semantic color system has been developed. This system handles all the heavy lifting, allowing developers to focus on features without worrying about the intricacies of color management.

Semantic Color Token

The semantic color token system organizes colors in a meaningful way, making them easier to manage and apply. Though it may initially seem to have a lot of tokens, once you understand its structure, it becomes easy to use. All tokens follow the same semantic structure.

--db-color-{type}-{role}-{prominence}-{interaction}

In this structure, db acts as the namespace, representing ‘deskblocks,’ followed by the keyword ‘color’ and additional parameters specifies the type, role, prominence, and interaction. Among these, only ‘type’ is mandatory, while the others are optional.

Type

The type parameter specifies the type of element that is being colored. There are four possible values for type:

  --db-color-bg  --db-color-text  --db-color-icon​ 
  --db-color-border

Role

Roles are a way to define the underlying hue based on its intended use rather than the specific color. For example, a success message uses a green background, so instead of labeling it as --db-color-bg-green , it’s called --db-color-bg-success . Here are a few examples.

  --db-color-bg-brand  --db-color-text-info  --db-color-border-warning  --db-color-icon-danger

The possible values for the role parameter are:

Prominence

To establish hierarchy and adjust visual emphasis, bg, text, and icon elements can be modified with secondary and tertiary variations. Similarly, for borders, there are three options: the default option, which doesn’t require a modifier --db-color-border can be used as for standard divider, strong for a darker border, and light for a lighter border.

  --db-color-text-secondary  --db-color-bg-brand-secondary  --db-color-icon-tertiary  --db-color-border-light  --db-color-border  --db-color-border-strong

Interaction

The interaction state of an element can be modified using the hover and pressed modifiers.

  --db-color-bg-brand-pressed  --db-color-text-danger-hover

Color Tokens

Background

Variable Blue Red Green Orange Yellow
--db-color-bg
#ffffff
#ffffff
#ffffff
#ffffff
#ffffff
--db-color-bg-hover
#f7f9fc
#fbf9fa
#f6fafa
#fbf9f7
#faf9f6
--db-color-bg-pressed
#eff1f4
#f2f0f1
#edf1f1
#f2f0ee
#f1f1ee
--db-color-bg-secondary
#f7f9fc
#fbf9fa
#f6fafa
#fbf9f7
#faf9f6
--db-color-bg-secondary-hover
#eff1f4
#f2f0f1
#edf1f1
#f2f0ee
#f1f1ee
--db-color-bg-tertiary
#e9ebee
#eceaeb
#e8ecec
#edebe9
#ebebe8
--db-color-bg-tertiary-hover
#e0e3e6
#e4e2e3
#dfe3e3
#e4e2e0
#e2e3e0
--db-color-bg-inverse
#2d3133
#2d3133
#2d3133
#2d3133
#2d3133
--db-color-bg-disabled
#eff1f4
#f2f0f1
#edf1f1
#f2f0ee
#f1f1ee
--db-color-bg-selected
#f5f6ff
#fff4f3
#d4ffee
#fff4f0
#fff5e7
--db-color-bg-selected-hover
#edf0ff
#ffedeb
#b0ffe2
#ffede4
#ffefd2
--db-color-bg-selected-pressed
#edf0ff
#ffedeb
#b0ffe2
#ffede4
#ffefd2
--db-color-bg-switch-active
#029934
#029934
#029934
#029934
#029934
--db-color-bg-switch-active-hover
#237a30
#237a30
#237a30
#237a30
#237a30
--db-color-bg-switch-active-disabled
#33e288
#33e288
#33e288
#33e288
#33e288
--db-color-bg-switch-inactive
#dbdde0
#dedcdd
#d9dede
#dedcdb
#ddddda
--db-color-bg-switch-inactive-hover
#c4c7ca
#c7c6c7
#c3c7c7
#c3c7c7
#c6c7c4
--db-color-bg-switch-inactive-disabled
#eff1f4
#f2f0f1
#edf1f1
#f2f0ee
#f1f1ee
--db-color-bg-brand
#2a81f9
#f04340
#029934
#cf6700
#a57e00
--db-color-bg-brand-hover
#2968c6
#c13937
#237a30
#a35613
#846611
--db-color-bg-brand-pressed
#335da4
#a43b37
#2e6b33
#8c4f1f
#745b1a
--db-color-bg-brand-secondary
#f5f6ff
#fff4f3
#d4ffee
#fff4f0
#fff5e7
--db-color-bg-brand-disabled
#acc7ff
#ffb3ad
#33e288
#ffb787
#f0c044
--db-color-bg-info
#2a81f9
#2a81f9
#2a81f9
#2a81f9
#2a81f9
--db-color-bg-info-hover
#2968c6
#2968c6
#2968c6
#2968c6
#2968c6
--db-color-bg-info-pressed
#335da4
#335da4
#335da4
#335da4
#335da4
--db-color-bg-info-secondary
#f5f6ff
#f5f6ff
#f5f6ff
#f5f6ff
#f5f6ff
--db-color-bg-info-disabled
#acc7ff
#acc7ff
#acc7ff
#acc7ff
#acc7ff
--db-color-bg-success
#029934
#029934
#029934
#029934
#029934
--db-color-bg-success-hover
#237a30
#237a30
#237a30
#237a30
#237a30
--db-color-bg-success-pressed
#2e6b33
#2e6b33
#2e6b33
#2e6b33
#2e6b33
--db-color-bg-success-secondary
#d4ffee
#d4ffee
#d4ffee
#d4ffee
#d4ffee
--db-color-bg-success-disabled
#33e288
#33e288
#33e288
#33e288
#33e288
--db-color-bg-warning
#cf6700
#cf6700
#cf6700
#cf6700
#cf6700
--db-color-bg-warning-hover
#a35613
#a35613
#a35613
#a35613
#a35613
--db-color-bg-warning-pressed
#8c4f1f
#8c4f1f
#8c4f1f
#8c4f1f
#8c4f1f
--db-color-bg-warning-secondary
#fff4f0
#fff4f0
#fff4f0
#fff4f0
#fff4f0
--db-color-bg-warning-disabled
#ffb787
#ffb787
#ffb787
#ffb787
#ffb787
--db-color-bg-danger
#f04340
#f04340
#f04340
#f04340
#f04340
--db-color-bg-danger-hover
#c13937
#c13937
#c13937
#c13937
#c13937
--db-color-bg-danger-pressed
#a43b37
#a43b37
#a43b37
#a43b37
#a43b37
--db-color-bg-danger-secondary
#fff4f3
#fff4f3
#fff4f3
#fff4f3
#fff4f3
--db-color-bg-danger-disabled
#ffb3ad
#ffb3ad
#ffb3ad
#ffb3ad
#ffb3ad

Text

Variable Blue Red Green Orange Yellow
--db-color-text-brand
#2a81f9
#f04340
#029934
#cf6700
#a57e00
--db-color-text-brand-hover
#2968c6
#c13937
#237a30
#a35613
#846611
--db-color-text-brand-pressed
#335da4
#a43b37
#2e6b33
#8c4f1f
#745b1a
--db-color-text-brand-secondary
#7fabff
#ff8980
#39c35f
#ff8e35
#d2a529
--db-color-text-brand-disabled
#acc7ff
#ffb3ad
#33e288
#ffb787
#f0c044
--db-color-text-onbrand
#ffffff
#ffffff
#ffffff
#ffffff
#ffffff
--db-color-text-info
#2a81f9
#2a81f9
#2a81f9
#2a81f9
#2a81f9
--db-color-text-info-hover
#2968c6
#2968c6
#2968c6
#2968c6
#2968c6
--db-color-text-info-pressed
#335da4
#335da4
#335da4
#335da4
#335da4
--db-color-text-info-secondary
#7fabff
#7fabff
#7fabff
#7fabff
#7fabff
--db-color-text-info-disabled
#acc7ff
#acc7ff
#acc7ff
#acc7ff
#acc7ff
--db-color-text-oninfo
#ffffff
#ffffff
#ffffff
#ffffff
#ffffff
--db-color-text-success
#029934
#029934
#029934
#029934
#029934
--db-color-text-success-hover
#237a30
#237a30
#237a30
#237a30
#237a30
--db-color-text-success-pressed
#2e6b33
#2e6b33
#2e6b33
#2e6b33
#2e6b33
--db-color-text-success-secondary
#39c35f
#39c35f
#39c35f
#39c35f
#39c35f
--db-color-text-success-disabled
#33e288
#33e288
#33e288
#33e288
#33e288
--db-color-text-onsuccess
#ffffff
#ffffff
#ffffff
#ffffff
#ffffff
--db-color-text-warning
#cf6700
#cf6700
#cf6700
#cf6700
#cf6700
--db-color-text-warning-hover
#a35613
#a35613
#a35613
#a35613
#a35613
--db-color-text-warning-pressed
#8c4f1f
#8c4f1f
#8c4f1f
#8c4f1f
#8c4f1f
--db-color-text-warning-secondary
#ff8e35
#ff8e35
#ff8e35
#ff8e35
#ff8e35
--db-color-text-warning-disabled
#ffb787
#ffb787
#ffb787
#ffb787
#ffb787
--db-color-text-onwarning
#ffffff
#ffffff
#ffffff
#ffffff
#ffffff
--db-color-text-danger
#f04340
#f04340
#f04340
#f04340
#f04340
--db-color-text-danger-hover
#c13937
#c13937
#c13937
#c13937
#c13937
--db-color-text-danger-pressed
#a43b37
#a43b37
#a43b37
#a43b37
#a43b37
--db-color-text-danger-secondary
#ff8980
#ff8980
#ff8980
#ff8980
#ff8980
--db-color-text-danger-disabled
#ffb3ad
#ffb3ad
#ffb3ad
#ffb3ad
#ffb3ad
--db-color-text-ondanger
#ffffff
#ffffff
#ffffff
#ffffff
#ffffff
--db-color-text
#000000
#000000
#000000
#000000
#000000
--db-color-text-secondary
#5b5f61
#5e5e5f
#5a5f5f
#5e5e5d
#5d5f5d
--db-color-text-tertiary
#818487
#848384
#808585
#848482
#838482
--db-color-text-disabled
#c4c7ca
#c7c6c7
#c3c7c7
#c8c6c4
#c6c7c4
--db-color-text-placeholder
#c4c7ca
#c7c6c7
#c3c7c7
#c8c6c4
#c6c7c4
--db-color-text-oninverse
#ffffff
#ffffff
#ffffff
#ffffff
#ffffff

Border

Variable Blue Red Green Orange Yellow
--db-color-border-brand
#cfddff
#ffd3ce
#18fbb1
#ffd4ba
#ffd87e
--db-color-border-info
#cfddff
#cfddff
#cfddff
#cfddff
#cfddff
--db-color-border-info-hover
#2a81f9
#2a81f9
#2a81f9
#2a81f9
#2a81f9
--db-color-border-info-light
#e4ebff
#e4ebff
#e4ebff
#e4ebff
#e4ebff
--db-color-border-info-strong
#2a81f9
#2a81f9
#2a81f9
#2a81f9
#2a81f9
--db-color-border-info-strong-hover
#2968c6
#2968c6
#2968c6
#2968c6
#2968c6
--db-color-border-info-disabled
#e4ebff
#e4ebff
#e4ebff
#e4ebff
#e4ebff
--db-color-border-brand-hover
#2a81f9
#f04340
#029934
#cf6700
#a57e00
--db-color-border-brand-light
#e4ebff
#ffe5e3
#83ffd3
#ffe6d8
#ffe9bb
--db-color-border-brand-strong
#2a81f9
#f04340
#029934
#cf6700
#a57e00
--db-color-border-brand-strong-hover
#2968c6
#c13937
#237a30
#a35613
#846611
--db-color-border-brand-disabled
#e4ebff
#ffe5e3
#83ffd3
#ffe6d8
#ffe9bb
--db-color-border-success
#18fbb1
#18fbb1
#18fbb1
#18fbb1
#18fbb1
--db-color-border-success-hover
#029934
#029934
#029934
#029934
#029934
--db-color-border-success-light
#83ffd3
#83ffd3
#83ffd3
#83ffd3
#83ffd3
--db-color-border-success-strong
#029934
#029934
#029934
#029934
#029934
--db-color-border-success-strong-hover
#237a30
#237a30
#237a30
#237a30
#237a30
--db-color-border-warning
#ffd4ba
#ffd4ba
#ffd4ba
#ffd4ba
#ffd4ba
--db-color-border-danger
#ffd3ce
#ffd3ce
#ffd3ce
#ffd3ce
#ffd3ce
--db-color-border-danger-hover
#f04340
#f04340
#f04340
#f04340
#f04340
--db-color-border-danger-light
#ffe5e3
#ffe5e3
#ffe5e3
#ffe5e3
#ffe5e3
--db-color-border-danger-strong
#f04340
#f04340
#f04340
#f04340
#f04340
--db-color-border-danger-strong-hover
#c13937
#c13937
#c13937
#c13937
#c13937
--db-color-border-danger-disabled
#ffe5e3
#ffe5e3
#ffe5e3
#ffe5e3
#ffe5e3
--db-color-border-warning-hover
#cf6700
#cf6700
#cf6700
#cf6700
#cf6700
--db-color-border-warning-light
#ffe6d8
#ffe6d8
#ffe6d8
#ffe6d8
#ffe6d8
--db-color-border-warning-strong
#cf6700
#cf6700
#cf6700
#cf6700
#cf6700
--db-color-border-success-disabled
#83ffd3
#83ffd3
#83ffd3
#83ffd3
#83ffd3
--db-color-border-warning-strong-hover
#a35613
#a35613
#a35613
#a35613
#a35613
--db-color-border-warning-disabled
#ffe6d8
#ffe6d8
#ffe6d8
#ffe6d8
#ffe6d8
--db-color-border
#dbdde0
#dedcdd
#d9dede
#dedcdb
#ddddda
--db-color-border-hover
#818487
#848384
#808585
#848482
#838482
--db-color-border-light
#e9ebee
#eceaeb
#e8ecec
#edebe9
#ebebe8
--db-color-border-strong
#818487
#848384
#808585
#848482
#838482
--db-color-border-disabled
#e9ebee
#eceaeb
#e8ecec
#edebe9
#ebebe8
--db-color-border-focus
#7fabff
#ff8980
#39c35f
#ff8e35
#ffce51
--db-color-border-oninverse
#44474a
#44474a
#44474a
#44474a
#44474a

Icon

Variable Blue Red Green Orange Yellow
--db-color-icon-brand
#2a81f9
#f04340
#029934
#cf6700
#a57e00
--db-color-icon-brand-hover
#2968c6
#c13937
#237a30
#a35613
#846611
--db-color-icon-brand-pressed
#335da4
#a43b37
#2e6b33
#8c4f1f
#745b1a
--db-color-icon-brand-disabled
#acc7ff
#ffb3ad
#33e288
#ffb787
#f0c044
--db-color-icon-onbrand
#ffffff
#ffffff
#ffffff
#ffffff
#ffffff
--db-color-icon-info
#2a81f9
#2a81f9
#2a81f9
#2a81f9
#2a81f9
--db-color-icon-info-hover
#2968c6
#2968c6
#2968c6
#2968c6
#2968c6
--db-color-icon-info-pressed
#335da4
#335da4
#335da4
#335da4
#335da4
--db-color-icon-info-disabled
#acc7ff
#acc7ff
#acc7ff
#acc7ff
#acc7ff
--db-color-icon-oninfo
#ffffff
#ffffff
#ffffff
#ffffff
#ffffff
--db-color-icon-success
#029934
#029934
#029934
#029934
#029934
--db-color-icon-success-hover
#237a30
#237a30
#237a30
#237a30
#237a30
--db-color-icon-success-pressed
#2e6b33
#2e6b33
#2e6b33
#2e6b33
#2e6b33
--db-color-icon-success-disabled
#33e288
#33e288
#33e288
#33e288
#33e288
--db-color-icon-onsuccess
#ffffff
#ffffff
#ffffff
#ffffff
#ffffff
--db-color-icon-warning
#cf6700
#cf6700
#cf6700
#cf6700
#cf6700
--db-color-icon-warning-hover
#a35613
#a35613
#a35613
#a35613
#a35613
--db-color-icon-warning-pressed
#8c4f1f
#8c4f1f
#8c4f1f
#8c4f1f
#8c4f1f
--db-color-icon-warning-disabled
#ffb787
#ffb787
#ffb787
#ffb787
#ffb787
--db-color-icon-onwarning
#ffffff
#ffffff
#ffffff
#ffffff
#ffffff
--db-color-icon-danger
#f04340
#f04340
#f04340
#f04340
#f04340
--db-color-icon-danger-hover
#c13937
#c13937
#c13937
#c13937
#c13937
--db-color-icon-danger-pressed
#a43b37
#a43b37
#a43b37
#a43b37
#a43b37
--db-color-icon-danger-disabled
#ffb3ad
#ffb3ad
#ffb3ad
#ffb3ad
#ffb3ad
--db-color-icon-ondanger
#ffffff
#ffffff
#ffffff
#ffffff
#ffffff
--db-color-icon
#000000
#000000
#000000
#000000
#000000
--db-color-icon-hover
#000000
#000000
#000000
#000000
#000000
--db-color-icon-interactive-hover
#2a81f9
#f04340
#029934
#cf6700
#a57e00
--db-color-icon-pressed
#000000
#000000
#000000
#000000
#000000
--db-color-icon-secondary
#5b5f61
#5e5e5f
#5a5f5f
#5e5e5d
#5d5f5d
--db-color-icon-secondary-hover
#000000
#000000
#000000
#000000
#000000
--db-color-icon-tertiary
#818487
#848384
#808585
#848482
#838482
--db-color-icon-tertiary-hover
#000000
#000000
#000000
#000000
#000000
--db-color-icon-selected
#2a81f9
#f04340
#029934
#cf6700
#a57e00
--db-color-icon-oninverse
#ffffff
#ffffff
#ffffff
#ffffff
#ffffff
--db-color-icon-disabled
#c4c7ca
#c7c6c7
#c3c7c7
#c8c6c4
#c6c7c4