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 @@ + + + + +