Compare commits

...
Sign in to create a new pull request.

10 commits

Author SHA1 Message Date
Jeremy Thomas
f007bd379f Bound lightness 2020-03-23 09:31:09 +00:00
Jeremy Thomas
2594422d7a Merge branch 'master' into css-variables 2020-03-16 18:48:36 +11:00
Jeremy Thomas
5bacb28145 Fix colors index 2020-01-17 21:22:47 +01:00
Jeremy Thomas
65946caa2b Merge branch 'master' into css-variables 2020-01-05 20:38:06 +00:00
Jeremy Thomas
2a3e86cf20 Remove functions.scss 2019-09-21 10:22:43 +01:00
Jeremy Thomas
6dc88bd30c Disabled buttons 2019-09-21 00:40:16 +01:00
Jeremy Thomas
b6f9893f74 Add outlined button with css variables 2019-09-20 20:02:53 +01:00
Jeremy Thomas
4be21d8b75 Init CSS variables 2019-09-20 11:40:21 +01:00
Jeremy Thomas
d4b86bb4d5 Fix rounded buttons 2019-09-19 21:27:14 +01:00
Jeremy Thomas
502a86d12b Change green, increase control size 2019-09-19 20:59:21 +01:00
8 changed files with 1392 additions and 44 deletions

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

View file

@ -19,6 +19,10 @@ $message-body-pre-code-background-color: transparent !default
$message-header-body-border-width: 0 !default
$message-colors: $colors !default
\:root
--bulma-message-background-color-lightness: 96
--bulma-message-color-lightness: 29
.message
@extend %block
background-color: $message-background-color
@ -97,3 +101,35 @@ $message-colors: $colors !default
background-color: $message-body-pre-background-color
pre code
background-color: $message-body-pre-code-background-color
.vmessage-header
@extend .message-header
background-color: var(--cssvar-header-background-color)
color: var(--cssvar-header-color)
.vmessage-body
@extend .message-body
border-color: var(--cssvar-body-border-color)
color: var(--cssvar-body-color)
.vmessage
--cssvar-background-color: #{$message-background-color}
--cssvar-header-background-color: #{$message-header-background-color}
--cssvar-header-color: #{$message-header-color}
--cssvar-body-border-color: #{$message-body-border-color}
--cssvar-body-color: #{$message-body-color}
background-color: var(--cssvar-background-color)
margin-bottom: 1.5rem
strong
color: currentColor
a:not(.button):not(.tag):not(.dropdown-item)
color: currentColor
text-decoration: underline
@each $name, $trio in $colors
$base: "#{$prefix}#{$name}"
&.is-#{$name}
--cssvar-background-color: var(--#{$base}-light)
--cssvar-header-background-color: var(--#{$base})
--cssvar-header-color: var(--#{$base}-invert)
--cssvar-body-border-color: var(--#{$base})
--cssvar-body-color: var(--#{$base}-dark)

View file

@ -1,4 +1,5 @@
$button-color: $text-strong !default
$button-color-invert: $white !default
$button-background-color: $scheme-main !default
$button-family: false !default
@ -23,6 +24,12 @@ $button-text-color: $text !default
$button-text-decoration: underline !default
$button-text-hover-background-color: $background !default
$button-text-hover-color: $text-strong !default
$button-text-focus-background-color: $border-light !default
$button-text-focus-border-color: $border !default
$button-text-focus-color: $text-strong !default
$button-text-focus-box-shadow-color: $border-light !default
$button-text-active-background-color: $border-light !default
$button-text-active-color: $text-strong !default
$button-disabled-background-color: $scheme-main !default
$button-disabled-border-color: $border !default
@ -321,3 +328,202 @@ $button-static-border-color: $border !default
.button:not(.is-fullwidth)
margin-left: 0.25rem
margin-right: 0.25rem
.vbuttons
display: flex
flex-wrap: wrap
.vbutton
margin: 0 1em 1em 0
.vbutton
--cssvar-background-color: #{$button-background-color}
--cssvar-border-color: #{$button-border-color}
--cssvar-color: #{$button-color}
--cssvar-hover-border-color: #{$button-hover-border-color}
--cssvar-hover-color: #{$button-hover-color}
--cssvar-focus-border-color: #{$button-focus-border-color}
--cssvar-focus-color: #{$button-focus-color}
--cssvar-focus-box-shadow-color: #{$button-focus-box-shadow-color}
--cssvar-active-border-color: #{$button-active-border-color}
--cssvar-active-color: #{$button-active-color}
--cssvar-outlined-color: #{$button-color}
--cssvar-outlined-hover-background-color: #{$button-color}
--cssvar-outlined-hover-color: #{$button-color-invert}
--cssvar-outlined-active-background-color: #{darken($button-color, 5%)}
--cssvar-outlined-active-color: #{$button-color-invert}
--cssvar-outlined-focus-box-shadow-color: #{$border}
@extend %control
@extend %unselectable
background-color: var(--cssvar-background-color)
border-color: var(--cssvar-border-color)
border-width: $button-border-width
color: var(--cssvar-color)
cursor: pointer
@if $button-family
font-family: $button-family
justify-content: center
padding-bottom: $button-padding-vertical
padding-left: $button-padding-horizontal
padding-right: $button-padding-horizontal
padding-top: $button-padding-vertical
text-align: center
white-space: nowrap
strong
color: inherit
.icon
&,
&.is-small,
&.is-medium,
&.is-large
height: 1.5em
width: 1.5em
&:first-child:not(:last-child)
margin-left: calc(-0.375em - #{$button-border-width})
margin-right: 0.1875em
&:last-child:not(:first-child)
margin-left: 0.1875em
margin-right: calc(-0.375em - #{$button-border-width})
&:first-child:last-child
margin-left: calc(-0.375em - #{$button-border-width})
margin-right: calc(-0.375em - #{$button-border-width})
&:hover,
&.is-hovered
background-color: var(--cssvar-hover-background-color)
border-color: var(--cssvar-hover-border-color)
color: var(--cssvar-hover-color)
&:focus,
&.is-focused
border-color: var(--cssvar-focus-border-color)
&:not(:active)
box-shadow: $button-focus-box-shadow-size #{var(--cssvar-focus-box-shadow-color)}
&:active,
&.is-active
background-color: var(--cssvar-active-background-color)
border-color: var(--cssvar-active-border-color)
color: var(--cssvar-active-color)
&.is-outlined
--cssvar-background-color: transparent
--cssvar-border-color: #{$button-color}
--cssvar-color: #{$button-color}
--cssvar-hover-background-color: #{$button-color}
--cssvar-hover-color: #{$button-color-invert}
--cssvar-active-background-color: #{darken($button-color, 5%)}
--cssvar-active-color: #{$button-color-invert}
--cssvar-focus-border-color: #{$button-color}
--cssvar-focus-box-shadow-color: #{$border}
&:not(:hover):not(.is-hovered):not(:active):not(.is-active)
background-color: transparent
&:not(.is-inverted):not([disabled])
&:hover,
&.is-hovered,
&:active,
&.is-active
border-color: transparent
&.is-outlined.is-inverted
background-color: transparent
&.is-text
--cssvar-background-color: transparent
--cssvar-border-color: transparent
--cssvar-color: #{$text}
--cssvar-hover-background-color: #{$button-text-hover-background-color}
--cssvar-hover-border-color: transparent
--cssvar-hover-color: #{$button-text-hover-color}
--cssvar-focus-background-color: #{$button-text-focus-background-color}
--cssvar-focus-border-color: transparent
--cssvar-focus-border-color: #{$button-text-focus-border-color}
--cssvar-focus-color: #{$button-text-focus-color}
--cssvar-focus-box-shadow-color: #{$button-text-focus-box-shadow-color}
--cssvar-active-background-color: #{$button-text-active-background-color}
--cssvar-active-border-color: transparent
--cssvar-active-color: #{$button-text-active-color}
text-decoration: underline
@each $name, $trio in $colors
$base: "#{$prefix}#{$name}"
&.is-#{$name}
--cssvar-background-color: var(--#{$base})
--cssvar-border-color: transparent
--cssvar-color: var(--#{$base}-invert)
--cssvar-hover-background-color: var(--#{$base}-hover)
--cssvar-hover-border-color: transparent
--cssvar-hover-color: var(--#{$base}-invert)
--cssvar-focus-background-color: var(--#{$base})
--cssvar-focus-border-color: transparent
--cssvar-focus-color: var(--#{$base}-invert)
--cssvar-focus-box-shadow-color: hsl(var(--#{$base}-h), calc(var(--#{$base}-s)), 86%)
--cssvar-active-background-color: var(--#{$base}-active)
--cssvar-active-border-color: transparent
--cssvar-active-color: var(--#{$base}-invert)
--cssvar-outlined-color: var(--#{$base})
&.is-inverted
--cssvar-background-color: var(--#{$base}-invert)
--cssvar-color: var(--#{$base})
--cssvar-hover-background-color: var(--#{$base}-invert)
--cssvar-hover-color: var(--#{$base}-hover)
--cssvar-active-background-color: var(--#{$base}-invert)
--cssvar-active-color: var(--#{$base}-active)
&.is-outlined
--cssvar-background-color: transparent
--cssvar-border-color: var(--#{$base})
--cssvar-color: var(--#{$base})
--cssvar-hover-background-color: var(--#{$base})
--cssvar-focus-border-color: var(--#{$base})
&.is-outlined.is-inverted
--cssvar-background-color: transparent
--cssvar-border-color: var(--#{$base}-invert)
--cssvar-color: var(--#{$base}-invert)
--cssvar-hover-border-color: var(--#{$base}-hover)
--cssvar-hover-color: var(--#{$base}-invert)
--cssvar-active-border-color: var(--#{$base}-active)
--cssvar-active-color: var(--#{$base}-active)
--cssvar-focus-box-shadow-color: hsl(var(--#{$base}-h), calc(var(--#{$base}-s)), 14%)
&.is-light
--cssvar-background-color: var(--#{$base}-light)
--cssvar-border-color: transparent
--cssvar-color: var(--#{$base}-dark)
--cssvar-hover-background-color: var(--#{$base}-light-hover)
--cssvar-hover-border-color: transparent
--cssvar-hover-color: var(--#{$base}-dark)
--cssvar-focus-background-color: var(--#{$base}-light)
--cssvar-focus-border-color: transparent
--cssvar-focus-color: var(--#{$base}-dark)
--cssvar-focus-box-shadow-color: hsl(var(--#{$base}-h), calc(var(--#{$base}-s)), 86%)
--cssvar-active-background-color: var(--#{$base}-light-active)
--cssvar-active-border-color: transparent
--cssvar-active-color: var(--#{$base}-dark)
// Sizes
&.is-small
+button-small
&.is-normal
+button-normal
&.is-medium
+button-medium
&.is-large
+button-large
// Modifiers
&[disabled],
fieldset[disabled] &
--cssvar-hover-background-color: var(--cssvar-background-color) !important
--cssvar-hover-border-color: var(--cssvar-border-color) !important
--cssvar-hover-color: var(--cssvar-color) !important
opacity: $button-disabled-opacity
&.is-fullwidth
display: flex
width: 100%
&.is-loading
color: transparent !important
pointer-events: none
&::after
@extend %loader
+center(1em)
border-color: transparent transparent var(--cssvar-color) var(--cssvar-color) !important
position: absolute !important
&.is-static
--cssvar-background-color: #{$button-static-background-color}
--cssvar-border-color: #{$button-static-border-color}
--cssvar-color: #{$button-static-color}
box-shadow: none
pointer-events: none
&.is-rounded
border-radius: $radius-rounded
padding-left: 1.25em
padding-right: 1.25em

View file

@ -2,6 +2,7 @@
display: inline-block
max-width: 100%
position: relative
text-rendering: auto
vertical-align: top
&:not(.is-multiple)
height: $input-height

View file

@ -100,7 +100,60 @@ $size-large: $size-4 !default
$custom-colors: null !default
$custom-shades: null !default
$colors: mergeColorMaps(("white": ($white, $black), "black": ($black, $white), "light": ($light, $light-invert), "dark": ($dark, $dark-invert), "primary": ($primary, $primary-invert, $primary-light, $primary-dark), "link": ($link, $link-invert, $link-light, $link-dark), "info": ($info, $info-invert, $info-light, $info-dark), "success": ($success, $success-invert, $success-light, $success-dark), "warning": ($warning, $warning-invert, $warning-light, $warning-dark), "danger": ($danger, $danger-invert, $danger-light, $danger-dark)), $custom-colors) !default
$colors: mergeColorMaps(("white": ($white, $black), "black": ($black, $white), "light": ($light, $light-invert), "dark": ($dark, $dark-invert), "primary": ($primary, $primary-invert, $primary-light, $primary-dark, "white"), "link": ($link, $link-invert, $link-light, $link-dark, "white"), "info": ($info, $info-invert, $info-light, $info-dark, "white"), "success": ($success, $success-invert, $success-light, $success-dark, "white"), "warning": ($warning, $warning-invert, $warning-light, $warning-dark), "danger": ($danger, $danger-invert, $danger-light, $danger-dark, "white")), $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
// @function findLightColor($color)
// @if type-of($color) == 'color'
// $l: 96%
// @if lightness($color) > 96%
// $l: lightness($color)
// @return change-color($color, $lightness: $l)
// @return $background
// @function findDarkColor($color)
// @if type-of($color) == 'color'
// $l: 29%
// @if lightness($color) < 29%
// $l: lightness($color)
// @return change-color($color, $lightness: $l)
// @return $text-strong
=css-variable($color, $name, $cssvar-invert)
$hue: hue($color)
$saturation: saturation($color)
$lightness: lightness($color)
$base: "#{$prefix}#{$name}"
--#{$base}-h: #{$hue}
--#{$base}-s: #{$saturation}
--#{$base}-l: #{$lightness}
--#{$base}: hsl(var(--#{$base}-h), calc(var(--#{$base}-s)), calc(var(--#{$base}-l)))
--#{$base}-hover: hsl(var(--#{$base}-h), calc(var(--#{$base}-s)), calc(var(--#{$base}-l) - 5%))
--#{$base}-active: hsl(var(--#{$base}-h), calc(var(--#{$base}-s)), calc(var(--#{$base}-l) - 10%))
$light: findLightColor($color)
--#{$base}-light: #{$light}
--#{$base}-light-hover: #{darken($light, 5%)}
--#{$base}-light-active: #{darken($light, 10%)}
$dark: findDarkColor($color)
--#{$base}-dark: #{$dark}
--#{$base}-dark-hover: #{darken($dark, 5%)}
--#{$base}-dark-active: #{darken($dark, 10%)}
@if $cssvar-invert
--#{$base}-invert: var(--#{$prefix}#{$cssvar-invert})
@else
--#{$base}-invert: #{findColorInvert($color)}
\:root
@each $name, $components in $colors
$color: nth($components, 1)
$color-invert: nth($components, 2)
$cssvar-invert: false
@if length($components) >= 5
$cssvar-invert: nth($components, 5)
+css-variable($color, $name, $cssvar-invert)

View file

@ -84,21 +84,27 @@
@function findLightColor($color)
@if type-of($color) == 'color'
$l: 96%
@if lightness($color) > 96%
$l: lightness($color)
@return change-color($color, $lightness: $l)
$target-l: max(lightness($color), 96%)
@return change-color($color, $lightness: $target-l)
@return $background
@function findDarkColor($color)
@if type-of($color) == 'color'
$base-l: 29%
$min-l: 29%
$max-l: 48%
$luminance: colorLuminance($color)
$luminance-delta: (0.53 - $luminance)
$target-l: round($base-l + ($luminance-delta * 53))
@return change-color($color, $lightness: max($base-l, $target-l))
$target-l: round($min-l + ($luminance-delta * 53))
@return change-color($color, $lightness: max($min-l, min($max-l, $target-l)))
@return $text-strong
@function getCssVariable($color, $name)
$hue: hue($color)
$saturation: saturation($color)
$lightness: lightness($color)
$alpha: alpha($color)
@return $hue, $saturation, $lightness
@function bulmaRgba($color, $alpha)
@if type-of($color) != 'color'
@return $color

View file

@ -71,7 +71,9 @@ $radius: 4px !default
$radius-large: 6px !default
$radius-rounded: 290486px !default
$speed: 86ms !default
$prefix: "bulma-"
// Flags
$variable-columns: true !default
$css-variables: true !default