/* Copyright: Ankitects Pty Ltd and contributors * License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html */ @use "fusion-vars"; @import "bootstrap/scss/functions"; @import "bootstrap/scss/variables"; @mixin impressed-shadow($intensity) { box-shadow: inset 0 calc(var(--buttons-size) / 15) calc(var(--buttons-size) / 5) rgba(black, $intensity); } @mixin btn-border-radius { border-top-left-radius: var(--border-left-radius); border-bottom-left-radius: var(--border-left-radius); border-top-right-radius: var(--border-right-radius); border-bottom-right-radius: var(--border-right-radius); } $btn-base-color-day: white; @mixin btn-day-base { color: var(--text-fg); background-color: $btn-base-color-day; border-color: var(--medium-border) !important; } @mixin btn-day( $with-hover: true, $with-active: true, $with-disabled: true, $with-margin: true ) { .btn-day { @include btn-day-base; @content ($btn-base-color-day); @if ($with-hover) { &:hover, &.hover { background-color: darken($btn-base-color-day, 8%); } } @if ($with-active) { &:active, &.active { @include impressed-shadow(0.25); } &:active.active { box-shadow: none; } } @if ($with-disabled) { &[disabled] { background-color: $btn-base-color-day !important; box-shadow: none !important; } } @if ($with-margin) { margin-left: -1px; } } } $btn-base-color-night: fusion-vars.$button-border; @mixin btn-night-base { color: var(--text-fg); background: linear-gradient( 0deg, fusion-vars.$button-gradient-start 0%, fusion-vars.$button-gradient-end 100% ); } @mixin btn-night( $with-hover: true, $with-active: true, $with-disabled: true, $with-margin: true ) { .btn-night { @include btn-night-base; @content ($btn-base-color-night); box-shadow: 0 0 3px fusion-vars.$button-outline; border: 1px solid fusion-vars.$button-border; -webkit-appearance: none; @if ($with-hover) { &:hover, &.hover { background: linear-gradient( 0deg, lighten(fusion-vars.$button-gradient-start, 8%) 0%, lighten(fusion-vars.$button-gradient-end, 8%) 100% ); border-color: lighten(fusion-vars.$button-border, 8%); } } @if ($with-active) { &:active, &.active { @include impressed-shadow(0.35); border-color: darken($btn-base-color-night, 8%); } &:active.active { box-shadow: none; border-color: $btn-base-color-night; } } @if ($with-disabled) { &[disabled] { background-color: $btn-base-color-night !important; box-shadow: none !important; border-color: $btn-base-color-night !important; } } @if ($with-margin) { margin-left: 1px; } } } // should be similar to -webkit-focus-ring-color $focus-color: rgba(21 97 174); @function down-arrow($color) { @return url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='transparent' stroke='#{$color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"); }