From 5fcb01d3a69c246bdd174729bfdfb913f83e8a54 Mon Sep 17 00:00:00 2001 From: axolotle Date: Sun, 23 May 2021 21:43:17 +0200 Subject: [PATCH] add DotButton component --- src/assets/scss/abstracts/_mixins.scss | 51 +++++++++++++++++++ src/components/globals/DotButton.vue | 69 ++++++++++++++++++++++++++ 2 files changed, 120 insertions(+) create mode 100644 src/components/globals/DotButton.vue diff --git a/src/assets/scss/abstracts/_mixins.scss b/src/assets/scss/abstracts/_mixins.scss index 23e9598..1e5bfb3 100644 --- a/src/assets/scss/abstracts/_mixins.scss +++ b/src/assets/scss/abstracts/_mixins.scss @@ -48,3 +48,54 @@ } } +@mixin dot-button-variant( + $background, + $border, + $hover-background: darken($background, 7.5%), + $hover-border: lighten($border, 5%), + $active-background: $background, + $active-border: $border +) { + color: color-yiq($background); + background-color: lighten($background, 15%); + @if $background == $white { + border-color: $black; + border-width: 3px; + } @else { + border-color: lighten($border, 15%); + } + + &:focus, + &.focus { + color: color-yiq($hover-background); + @if $background == $white { + border-color: $black; + } @else { + border-color: $hover-border; + } + } + + // Disabled comes first so active can properly restyle + // &.disabled, + // &:disabled { + // color: color-yiq($background); + // background-color: $background; + // border-color: $border; + // } + + &:not(:disabled):not(.disabled):active, + &:not(:disabled):not(.disabled).active, + .show > &.dropdown-toggle { + color: color-yiq($active-background); + background-color: $active-background; + @if $background == $white { + border-color: $black; + } @else { + border-color: $active-border; + + &:focus { + border-color: $hover-border; + } + } + } +} diff --git a/src/components/globals/DotButton.vue b/src/components/globals/DotButton.vue new file mode 100644 index 0000000..ede237c --- /dev/null +++ b/src/components/globals/DotButton.vue @@ -0,0 +1,69 @@ + + + + +