Init themes

This commit is contained in:
Jeremy Thomas
2020-08-15 07:30:41 +01:00
parent 891fb0677e
commit ac043156e1
5 changed files with 361 additions and 63 deletions

View File

@@ -1,46 +1,69 @@
$title-color: $text-strong !default
$title-color: var(--text-strong, #{$text-strong}) !default
$title-family: false !default
$title-size: $size-3 !default
$title-weight: $weight-semibold !default
$title-size: var(--size-3, #{$size-3}) !default
$title-weight: var(--weight-semibold, #{$weight-semibold}) !default
$title-line-height: 1.125 !default
$title-strong-color: inherit !default
$title-strong-weight: inherit !default
$title-sub-size: 0.75em !default
$title-sup-size: 0.75em !default
$subtitle-color: $text !default
$subtitle-color: var(--text, #{$text}) !default
$subtitle-family: false !default
$subtitle-size: $size-5 !default
$subtitle-weight: $weight-normal !default
$subtitle-size: var(--size-5, #{$size-5}) !default
$subtitle-weight: var(--weight-normal, #{$weight-normal}) !default
$subtitle-line-height: 1.25 !default
$subtitle-strong-color: $text-strong !default
$subtitle-strong-weight: $weight-semibold !default
$subtitle-strong-color: var(--text-strong, #{$text-strong}) !default
$subtitle-strong-weight: var(--weight-semibold, #{$weight-semibold}) !default
$subtitle-negative-margin: -1.25rem !default
.title,
.subtitle
--title-sub-size: #{$title-sub-size}
--title-sup-size: #{$title-sup-size}
@extend %block
word-break: break-word
em,
span
font-weight: inherit
sub
font-size: $title-sub-size
font-size: var(--title-sub-size)
sup
font-size: $title-sup-size
font-size: var(--title-sup-size)
.tag
vertical-align: middle
.title
color: $title-color
// Approach A
// CSS Variable takes precedence, if theme is included
// --title-color: var(--text-strong, #{$title-color})
// color: var(--title-color)
// Approach B
// Sass Variable takes precedence
// Problem: --title-color is always set, so the fallback is never used
// --title-color: #{$title-color}
// color: var(--title-color, var(--text-strong))
// Approach C
// Sass variable references a CSS variable
// $title-color: var(--text-strong)
--title-color: #{$title-color}
color: var(--title-color)
--title-size: #{$title-size}
--title-weight: #{$title-weight}
--title-line-height: #{$title-line-height}
--title-strong-color: #{$title-strong-color}
--title-strong-weight: #{$title-strong-weight}
@if $title-family
font-family: $title-family
font-size: $title-size
font-weight: $title-weight
line-height: $title-line-height
font-size: var(--title-size)
font-weight: var(--title-weight)
line-height: var(--title-line-height)
strong
color: $title-strong-color
font-weight: $title-strong-weight
color: var(--title-strong-color)
font-weight: var(--title-strong-weight)
& + .highlight
margin-top: -0.75rem
&:not(.is-spaced) + .subtitle

107
sass/themes/default.sass Normal file
View File

@@ -0,0 +1,107 @@
\:root
// Initial variables
--black: #{$black}
--black-bis: #{$black-bis}
--black-ter: #{$black-ter}
--grey-darker: #{$grey-darker}
--grey-dark: #{$grey-dark}
--grey: #{$grey}
--grey-light: #{$grey-light}
--grey-lighter: #{$grey-lighter}
--grey-lightest: #{$grey-lightest}
--white-ter: #{$white-ter}
--white-bis: #{$white-bis}
--white: #{$white}
--orange: #{$orange}
--yellow: #{$yellow}
--green: #{$green}
--turquoise: #{$turquoise}
--cyan: #{$cyan}
--blue: #{$blue}
--purple: #{$purple}
--red: #{$red}
--family-sans-serif: #{$family-sans-serif}
--family-monospace: #{$family-monospace}
--render-mode: #{$render-mode}
--size-1: #{$size-1}
--size-2: #{$size-2}
--size-3: #{$size-3}
--size-4: #{$size-4}
--size-5: #{$size-5}
--size-6: #{$size-6}
--size-7: #{$size-7}
--weight-light: #{$weight-light}
--weight-normal: #{$weight-normal}
--weight-medium: #{$weight-medium}
--weight-semibold: #{$weight-semibold}
--weight-bold: #{$weight-bold}
--block-spacing: #{$block-spacing}
--easing: #{$easing}
--radius-small: #{$radius-small}
--radius: #{$radius}
--radius-large: #{$radius-large}
--radius-rounded: #{$radius-rounded}
--speed: #{$speed}
// Derived variables
--primary: var(--turquoise)
--info: var(--cyan)
--success: var(--green)
--warning: var(--yellow)
--danger: var(--red)
--light: var(--white-ter)
--dark: var(--grey-darker)
--orange-invert: #{findColorInvert($orange)}
--yellow-invert: #{findColorInvert($yellow)}
--green-invert: #{findColorInvert($green)}
--turquoise-invert: #{findColorInvert($turquoise)}
--cyan-invert: #{findColorInvert($cyan)}
--blue-invert: #{findColorInvert($blue)}
--purple-invert: #{findColorInvert($purple)}
--red-invert: #{findColorInvert($red)}
--primary-invert: #{findColorInvert($primary)}
--primary-light: findLightColor($primary)
--primary-dark: findDarkColor($primary)
--info-invert: #{findColorInvert($info)}
--info-light: findLightColor($info)
--info-dark: findDarkColor($info)
--success-invert: #{findColorInvert($success)}
--success-light: findLightColor($success)
--success-dark: findDarkColor($success)
--warning-invert: #{findColorInvert($warning)}
--warning-light: findLightColor($warning)
--warning-dark: findDarkColor($warning)
--danger-invert: #{findColorInvert($danger)}
--danger-light: findLightColor($danger)
--danger-dark: findDarkColor($danger)
--light-invert: #{findColorInvert($light)}
--dark-invert: #{findColorInvert($dark)}
--scheme-main: var(--white)
--scheme-main-bis: var(--white-bis)
--scheme-main-ter: var(--white-ter)
--scheme-invert: var(--black)
--scheme-invert-bis: var(--black-bis)
--scheme-invert-ter: var(--black-ter)
--background: var(--white-ter)
--border: var(--grey-lighter)
--border-hover: var(--grey-light)
--border-light: var(--grey-lightest)
--border-light-hover: var(--grey-light)
--text: var(--grey-dark)
--text-invert: #{findColorInvert($text)}
--text-light: var(--grey)
--text-strong: var(--grey-darker)
--code: var(--red)
--code-background: var(--background)
--pre: var(--text)
--pre-background: var(--background)
--link: var(--blue)
--link-invert: #{findColorInvert($link)}
--link-light: findLightColor($link)
--link-dark: findDarkColor($link)
--link-visited: var(--purple)
--link-hover: var(--grey-darker)
--link-hover-border: var(--grey-light)
--link-focus: var(--grey-darker)
--link-focus-border: var(--blue)
--link-active: var(--grey-darker)
--link-active-border: var(--grey-dark)