Style System
The django-logikal component system comes with a standard light and dark color theme, which is
automatically included when using the component_head()
function.
You may override the standard color theme or define your own custom color theme using the following CSS variables:
Colors
Surfaces
--color-white– Defaults to#ffffff.--color-black– Defaults to#000000.--color-surface-palegray– Defaults to#f9f9f9.--color-surface-lightgray– Defaults to#f4f4f4.--color-surface-gray– Defaults to#eeeeee.--color-surface-deepgray– Defaults to#e2e2e2.--color-surface-lightpurple– Defaults to#6642e7.--color-surface-purple– Defaults to#5b33d6.--color-surface-deeppurple– Defaults to#4f29bf.--color-surface-lightred– Defaults to#c02046.--color-surface-red– Defaults to#ab1a3d.
Shadows
--color-surface-white-shadow– Defaults to#a1a1a15c.--color-surface-palegray-shadow– Defaults to#9999995c.
Text
--color-text-gray– Defaults to#ababab.--color-text-deepgray– Defaults to#848484.--color-text-lightpurple– Defaults to#7155f1.--color-text-purple– Defaults to#5b33d6.--color-text-deeppurple– Defaults to#38198e.--color-text-red– Defaults to#aa144e.
Theme
Areas
--theme-color-body– Defaults tovar(--color-white).--theme-color-body-content– Defaults tovar(--color-black).--theme-color-group– Defaults tovar(--color-surface-palegray).--theme-color-group-content– Defaults tovar(--color-black).--theme-color-group-outline– Defaults tovar(--color-surface-lightgray).--theme-color-group-shadow– Defaults tovar(--color-surface-white-shadow).--theme-color-subgroup– Defaults tovar(--color-surface-lightgray).--theme-color-subgroup-content– Defaults tovar(--color-black).--theme-color-subgroup-outline– Defaults tovar(--color-surface-gray).--theme-color-subgroup-shadow– Defaults tovar(--color-surface-palegray-shadow).
Elements
Active
--theme-color-active– Defaults tovar(--color-surface-purple).
--theme-color-active-content– Defaults tovar(--color-white).
--theme-color-active-outline– Defaults tovar(--color-surface-purple).
--theme-color-active-highlight– Defaults tovar(--color-surface-lightpurple).
--theme-color-active-highlight-content– Defaults tovar(--color-white).
--theme-color-active-highlight-outline– Defaults tovar(--color-surface-lightpurple).
--theme-color-active-hit– Defaults tovar(--color-surface-deeppurple).
--theme-color-active-hit-content– Defaults tovar(--color-white).
--theme-color-active-hit-outline– Defaults tovar(--color-surface-deeppurple).Neutral
--theme-color-neutral– Defaults totransparent.
--theme-color-neutral-content– Defaults tovar(--color-black).
--theme-color-neutral-content-hint– Defaults tovar(--color-text-gray).
--theme-color-neutral-outline– Defaults tovar(--color-black).
--theme-color-neutral-highlight– Defaults totransparent.
--theme-color-neutral-highlight-content– Defaults tovar(--color-black).
--theme-color-neutral-highlight-outline– Defaults tovar(--color-surface-lightpurple).
--theme-color-neutral-hit– Defaults totransparent.
--theme-color-neutral-hit-content– Defaults tovar(--color-black).
--theme-color-neutral-hit-outline– Defaults tovar(--color-surface-deeppurple).
--theme-color-neutral-disabled– Defaults totransparent.
--theme-color-neutral-disabled-content– Defaults tovar(--color-text-deepgray).
--theme-color-neutral-disabled-outline– Defaults tovar(--color-surface-deepgray).
--theme-color-neutral-error– Defaults totransparent.
--theme-color-neutral-error-content– Defaults tovar(--color-black).
--theme-color-neutral-error-outline– Defaults tovar(--color-surface-red).
--theme-color-neutral-error-highlight– Defaults totransparent.
--theme-color-neutral-error-highlight-content– Defaults tovar(--color-black).
--theme-color-neutral-error-highlight-outline– Defaults tovar(--color-surface-lightred).
Text
--theme-color-text-active– Defaults tovar(--color-text-purple).--theme-color-text-highlight– Defaults tovar(--color-text-lightpurple).--theme-color-text-hit– Defaults tovar(--color-text-deeppurple).--theme-color-text-error– Defaults tovar(--color-text-red).
In addition to the theme colors, you may also override the style system’s other design characteristics via the following CSS variables:
Units
Typography
Font families
--font-family-body– Defaults to"lato", sans-serif.
--font-family-display– Defaults to"lato", sans-serif.
--font-family-monospace– Defaults to"roboto-mono", monospace.Font sizing
--font-size-body-normal– Defaults to1rem/1.5rem.
--font-size-display-small– Defaults to1rem/1.5rem.
--font-size-display-normal– Defaults to1.5rem/1.5rem.
--font-size-display-large– Defaults to2.25rem/2.25rem.
--font-size-monospace-normal– Defaults to0.875rem/1.5rem.
Lengths
Gaps
--length-gap-subelement– Defaults to0.25rem.
--length-gap-element– Defaults to0.5rem.
--length-gap-group– Defaults to1rem.
--length-gap-group-large– Defaults to3rem.Radii
--length-radius-element– Defaults to0.375rem.
--length-radius-group– Defaults to0.75rem.Edges
--length-edge– Defaults to0.0625rem.Shadows
--length-shadow-element-small– Defaults to0.025rem 0.0375rem 0.05rem.
--length-shadow-element-normal– Defaults to0.025rem 0.05rem 0.0625rem -0.075rem.
--length-shadow-element-large– Defaults to0.0625rem 0.125rem 0.15rem -0.15rem.
--length-shadow-group-small– Defaults to0.025rem 0.0375rem 0.05rem.
--length-shadow-group-normal– Defaults to0.05rem 0.1rem 0.125rem -0.05rem.
--length-shadow-group-large– Defaults to0.125rem 0.25rem 0.325rem -0.1rem.
--length-shadow-group-xlarge– Defaults to0.25rem 0.625rem 0.75rem -0.15rem.Text
--length-text-indent– Defaults to2em.
--length-margin-header– Defaults tocalc(4.172rem - var(--length-gap-group-large)/2.618) 0 calc(var(--length-gap-group-large)/2.618 + 2.578rem).
--length-margin-header-tagline– Defaults to1.5rem 0 0.
--length-margin-subheader– Defaults to2.75rem 0 1.75rem.
--length-margin-paragraph– Defaults to1.5rem 0.
--length-margin-paragraph-small– Defaults to0.5rem 0 1rem.Elements
--length-logo-height– Defaults to1em.
--length-button-icon– Defaults to1.25em.
--length-element– Defaults to15rem.
--length-form– Defaults to18.75rem.
--length-card-normal– Defaults to22rem.
--length-text– Defaults to40em.Splits
--split-equal– Defaults to1fr 1fr.
--split-golden-ratio– Defaults to1.618fr 1fr.
--split-golden-ratio-reverse– Defaults to1fr 1.618fr.
Theme
Typography
--theme-font-display-small– Defaults tobold var(--font-size-display-small) var(--font-family-display).--theme-font-display-normal– Defaults tobold var(--font-size-display-normal) var(--font-family-display).--theme-font-display-normal-subtitle– Defaults toitalic var(--font-size-display-normal) var(--font-family-display).--theme-font-display-large– Defaults tobold var(--font-size-display-large) var(--font-family-display).--theme-font-body-normal– Defaults tovar(--font-size-body-normal) var(--font-family-body).--theme-font-body-normal-emphasis– Defaults tobold var(--font-size-body-normal) var(--font-family-body).--theme-font-monospace-normal– Defaults tovar(--font-size-monospace-normal) var(--font-family-monospace).
Outlines
--theme-outline-group– Defaults tovar(--length-edge) solid var(--theme-color-group-outline).--theme-outline-subgroup– Defaults tovar(--length-edge) solid var(--theme-color-subgroup-outline).--theme-outline-active– Defaults tovar(--length-edge) solid var(--theme-color-active-outline).--theme-outline-active-highlight– Defaults tovar(--length-edge) solid var(--theme-color-active-highlight-outline).--theme-outline-active-hit– Defaults tovar(--length-edge) solid var(--theme-color-active-hit-outline).--theme-outline-neutral– Defaults tovar(--length-edge) solid var(--theme-color-neutral-outline).--theme-outline-neutral-highlight– Defaults tovar(--length-edge) solid var(--theme-color-neutral-highlight-outline).--theme-outline-neutral-hit– Defaults tovar(--length-edge) solid var(--theme-color-neutral-hit-outline).--theme-outline-neutral-disabled– Defaults tovar(--length-edge) solid var(--theme-color-neutral-disabled-outline).--theme-outline-neutral-error– Defaults tovar(--length-edge) solid var(--theme-color-neutral-error-outline).--theme-outline-neutral-error-highlight– Defaults tovar(--length-edge) solid var(--theme-color-neutral-error-highlight-outline).
Shadows
--theme-shadow-element– Defaults tovar(--length-shadow-element-small) var(--theme-color-subgroup-shadow), var(--length-shadow-element-normal) var(--theme-color-subgroup-shadow), var(--length-shadow-element-large) var(--theme-color-subgroup-shadow).--theme-shadow-group– Defaults tovar(--length-shadow-group-small) var(--theme-color-group-shadow), var(--length-shadow-group-normal) var(--theme-color-group-shadow), var(--length-shadow-group-large) var(--theme-color-group-shadow), var(--length-shadow-group-xlarge) var(--theme-color-group-shadow).--theme-shadow-subgroup– Defaults tovar(--length-shadow-group-small) var(--theme-color-subgroup-shadow), var(--length-shadow-group-normal) var(--theme-color-subgroup-shadow), var(--length-shadow-group-large) var(--theme-color-subgroup-shadow), var(--length-shadow-group-xlarge) var(--theme-color-subgroup-shadow).
Tip
Remember that you can always override any style in your own stylesheets. However, the standard values are a result of a meticulous design process, so make sure to do any adjustments with great care for usability and a relentless focus on good design principles.