Add functions to register and assign CSS variables

This commit is contained in:
Jeremy Thomas
2020-08-22 11:19:21 +02:00
parent 0ecc5bd35d
commit 166fcdb32c
11 changed files with 168 additions and 89 deletions

View File

@@ -1,57 +1,77 @@
$menu-item-color: $text !default
$menu-item-radius: $radius-small !default
$menu-item-hover-color: $text-strong !default
$menu-item-hover-background-color: $background !default
$menu-item-active-color: $link-invert !default
$menu-item-active-background-color: $link !default
$menu-font-size: var(--size-normal, #{$size-normal}) !default
$menu-list-border-left: 1px solid $border !default
$menu-item-color: var(--text, #{$text}) !default
$menu-item-radius: var(--radius-small, #{$radius-small}) !default
$menu-item-hover-color: var(--text-strong, #{$text-strong}) !default
$menu-item-hover-background-color: var(--background, #{$background}) !default
$menu-item-active-color: var(--link-invert, #{$link-invert}) !default
$menu-item-active-background-color: var(--link, #{$link}) !default
$menu-list-border-left: 1px solid var(--border, #{$border}) !default
$menu-list-line-height: 1.25 !default
$menu-list-link-padding: 0.5em 0.75em !default
$menu-nested-list-margin: 0.75em !default
$menu-nested-list-padding-left: 0.75em !default
$menu-label-color: $text-light !default
$menu-label-color: var(--text-light, #{$text-light}) !default
$menu-label-font-size: 0.75em !default
$menu-label-letter-spacing: 0.1em !default
$menu-label-spacing: 1em !default
.menu
font-size: $size-normal
--menu-font-size: #{$content-font-size}
--menu-list-line-height: #{$menu-list-line-height}
--menu-item-radius: #{$menu-item-radius}
--menu-item-color: #{$menu-item-color}
--menu-list-link-padding: #{$menu-list-link-padding}
--menu-item-hover-background-color: #{$menu-item-hover-background-color}
--menu-item-hover-color: #{$menu-item-hover-color}
--menu-item-active-background-color: #{$menu-item-active-background-color}
--menu-item-active-color: #{$menu-item-active-color}
--menu-list-border-left: #{$menu-list-border-left}
--menu-nested-list-padding-left: #{$menu-nested-list-padding-left}
--menu-nested-list-margin: #{$menu-nested-list-margin}
--menu-label-color: #{$menu-label-color}
--menu-label-font-size: #{$menu-label-font-size}
--menu-label-letter-spacing: #{$menu-label-letter-spacing}
--menu-label-spacing: #{$menu-label-spacing}
--menu-label-spacing: #{$menu-label-spacing}
font-size: var(--menu-font-size)
// Sizes
&.is-small
font-size: $size-small
--menu-font-size: var(--size-small, #{$size-small})
&.is-medium
font-size: $size-medium
--menu-font-size: var(--size-medium, #{$size-medium})
&.is-large
font-size: $size-large
--menu-font-size: var(--size-large, #{$size-large})
.menu-list
line-height: $menu-list-line-height
line-height: var(--menu-list-line-height)
a
border-radius: $menu-item-radius
color: $menu-item-color
border-radius: var(--menu-item-radius)
color: var(--menu-item-color)
display: block
padding: $menu-list-link-padding
padding: var(--menu-list-link-padding)
&:hover
background-color: $menu-item-hover-background-color
color: $menu-item-hover-color
background-color: var(--menu-item-hover-background-color)
color: var(--menu-item-hover-color)
// Modifiers
&.is-active
background-color: $menu-item-active-background-color
color: $menu-item-active-color
background-color: var(--menu-item-active-background-color)
color: var(--menu-item-active-color)
li
ul
+ltr-property("border", $menu-list-border-left, false)
margin: $menu-nested-list-margin
+ltr-property("padding", $menu-nested-list-padding-left, false)
+ltr-property("border", var(--menu-list-border-left), false)
margin: var(--menu-nested-list-margin)
+ltr-property("padding", var(--menu-nested-list-padding-left), false)
.menu-label
color: $menu-label-color
font-size: $menu-label-font-size
letter-spacing: $menu-label-letter-spacing
color: var(--menu-label-color)
font-size: var(--menu-label-font-size)
letter-spacing: var(--menu-label-letter-spacing)
text-transform: uppercase
&:not(:first-child)
margin-top: $menu-label-spacing
margin-top: var(--menu-label-spacing)
&:not(:last-child)
margin-bottom: $menu-label-spacing
margin-bottom: var(--menu-label-spacing)