diff --git a/CHANGELOG.md b/CHANGELOG.md index 8c5f8b71..6c2d779e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,7 @@ ### New features -* 🎉 #1747 New `$custom-colors` variable for adding your own colors to Bulma's `$colors` map +* 🎉 #1747 New `$custom-colors` and `$custom-shades` variable for adding your own colors and shades to Bulma's `$colors` and `$shades` maps respectively ### Improvements diff --git a/docs/bulma-docs.sass b/docs/bulma-docs.sass index a4ee2fbd..136f154a 100644 --- a/docs/bulma-docs.sass +++ b/docs/bulma-docs.sass @@ -10,6 +10,8 @@ $amazon: #ffd863 $bleeding-green: #ABF47C $bleeding-red: #CA1F26 +// $custom-colors: ("test": $bootstrap, "alt": ($bleeding-red, "jfoeij"), "debug": (pink, black)) + @import "../bulma" @import "./_sass/highlight" @import "./_sass/override" @@ -31,3 +33,5 @@ $bleeding-red: #CA1F26 @import "./_sass/sponsors" @import "./_sass/book" @import "./_sass/native" + +@debug $colors diff --git a/docs/documentation/overview/colors.html b/docs/documentation/overview/colors.html index a0bda48f..7c9f4114 100644 --- a/docs/documentation/overview/colors.html +++ b/docs/documentation/overview/colors.html @@ -14,6 +14,15 @@ colors: - success - warning - danger +shades: +- black-bis +- black-ter +- grey-darker +- grey-dark +- grey-light +- grey-lighter +- white-ter +- white-bis --- {% include subnav/subnav-overview.html %} @@ -82,5 +91,37 @@ colors: {% endfor %} + +
+

+ Bulma also provides a $shades Sass map, that only contains shades of grey between black and white. +

+
+ + + + + + + + + + + {% for shade in page.shades %} + {% assign initial_shade = site.data.colors.initial | where: "id", shade | first %} + + + + + + {% endfor %} + +
ColorVariableValue
+ {{ initial_shade.name | capitalize }} + + ${{ initial_shade.id }} + + {% include elements/color-square.html value=initial_shade.value %} +
diff --git a/sass/utilities/derived-variables.sass b/sass/utilities/derived-variables.sass index 64f19d11..aa912813 100644 --- a/sass/utilities/derived-variables.sass +++ b/sass/utilities/derived-variables.sass @@ -76,8 +76,9 @@ $size-large: $size-4 !default // Lists and maps $custom-colors: null !default +$custom-shades: null !default -$colors: colorMap(("white": ($white, $black), "black": ($black, $white), "light": ($light, $light-invert), "dark": ($dark, $dark-invert), "primary": ($primary, $primary-invert), "link": ($link, $link-invert), "info": ($info, $info-invert), "success": ($success, $success-invert), "warning": ($warning, $warning-invert), "danger": ($danger, $danger-invert)), $custom-colors) !default -$shades: ("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, "white-ter": $white-ter, "white-bis": $white-bis) !default +$colors: mergeColorMaps(("white": ($white, $black), "black": ($black, $white), "light": ($light, $light-invert), "dark": ($dark, $dark-invert), "primary": ($primary, $primary-invert), "link": ($link, $link-invert), "info": ($info, $info-invert), "success": ($success, $success-invert), "warning": ($warning, $warning-invert), "danger": ($danger, $danger-invert)), $custom-colors) !default +$shades: mergeColorMaps(("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, "white-ter": $white-ter, "white-bis": $white-bis), $custom-shades) !default -$sizes: $size-1 $size-2 $size-3 $size-4 $size-5 $size-6 $size-7 !default \ No newline at end of file +$sizes: $size-1 $size-2 $size-3 $size-4 $size-5 $size-6 $size-7 !default diff --git a/sass/utilities/functions.sass b/sass/utilities/functions.sass index d76b484a..3f316be5 100644 --- a/sass/utilities/functions.sass +++ b/sass/utilities/functions.sass @@ -1,4 +1,4 @@ -@function colorMap($bulma-colors, $custom-colors) +@function mergeColorMaps($bulma-colors, $custom-colors) // we return at least bulma hardcoded colors $merged-colors: $bulma-colors // we want a map as input @@ -6,7 +6,13 @@ @each $name, $components in $custom-colors // color name should be a string and colors pair a list with at least one element @if type-of($name) == 'string' and (type-of($components) == 'list' or type-of($components) == 'color') and length($components) >= 1 - $color-base: nth($components, 1) + $color-base: null + // only a single color is provided + @if type-of($components) == 'color' + $color-base: $components + // a list of colors is provided + @else if type-of($components) == 'list' + $color-base: nth($components, 1) $color-invert: null // is an inverted color provided ? @if length($components) > 1