mirror of
https://github.com/bitwarden/browser.git
synced 2024-12-02 13:23:29 +01:00
358 lines
10 KiB
SCSS
358 lines
10 KiB
SCSS
$dark-icon-themes: "theme_dark";
|
|
|
|
$primary: #175ddc;
|
|
$primary-accent: #1252a3;
|
|
$secondary: #ced4da;
|
|
$secondary-alt: #1a3b66;
|
|
$success: #00a65a;
|
|
$info: #555555;
|
|
$warning: #bf7e16;
|
|
$danger: #dd4b39;
|
|
$white: #ffffff;
|
|
|
|
// Bootstrap Variable Overrides
|
|
|
|
$theme-colors: (
|
|
"primary-accent": $primary-accent,
|
|
"secondary-alt": $secondary-alt,
|
|
);
|
|
|
|
$body-bg: $white;
|
|
$body-color: #333333;
|
|
|
|
$font-family-sans-serif: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif,
|
|
"Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
|
|
|
|
$h1-font-size: 1.7rem;
|
|
$h2-font-size: 1.3rem;
|
|
$h3-font-size: 1rem;
|
|
$h4-font-size: 1rem;
|
|
$h5-font-size: 1rem;
|
|
$h6-font-size: 1rem;
|
|
|
|
$small-font-size: 90%;
|
|
$font-size-lg: 1.15rem;
|
|
$code-font-size: 100%;
|
|
|
|
$navbar-padding-y: 0.75rem;
|
|
$grid-gutter-width: 20px;
|
|
$card-spacer-y: 0.6rem;
|
|
|
|
$list-group-item-padding-y: 0.6rem;
|
|
$list-group-active-color: $body-color;
|
|
$list-group-active-bg: $white;
|
|
$list-group-active-border-color: rgba(#000000, 0.125);
|
|
|
|
$dropdown-link-color: $body-color;
|
|
$dropdown-link-hover-bg: rgba(#000000, 0.06);
|
|
$dropdown-link-active-color: $dropdown-link-color;
|
|
$dropdown-link-active-bg: rgba(#000000, 0.1);
|
|
$dropdown-item-padding-x: 1rem;
|
|
|
|
$navbar-brand-font-size: 35px;
|
|
$navbar-brand-height: 35px;
|
|
$navbar-brand-padding-y: 0;
|
|
$navbar-dark-color: rgba($white, 0.7);
|
|
$navbar-dark-hover-color: rgba($white, 0.9);
|
|
$navbar-nav-link-padding-x: 0.8rem;
|
|
|
|
$input-bg: #fbfbfb;
|
|
$input-focus-bg: $white;
|
|
$input-disabled-bg: #e0e0e0;
|
|
$input-placeholder-color: #b4b4b4;
|
|
|
|
$table-accent-bg: rgba(#000000, 0.02);
|
|
$table-hover-bg: rgba(#000000, 0.03);
|
|
|
|
$modal-backdrop-opacity: 0.3;
|
|
$btn-font-weight: 600;
|
|
$lead-font-weight: normal;
|
|
|
|
$grid-breakpoints: (
|
|
xs: 0,
|
|
sm: 1px,
|
|
md: 2px,
|
|
lg: 3px,
|
|
xl: 4px,
|
|
);
|
|
|
|
$border-color: $secondary;
|
|
|
|
// MFA Types for logo styling with no dark theme alternative
|
|
|
|
$mfaTypes: 0, 2, 3, 4, 6;
|
|
|
|
// Theme Variables
|
|
// Light
|
|
|
|
$lightDangerHover: #c43421;
|
|
$lightInputColor: #465057;
|
|
$lightInputPlaceholderColor: #b6b8b8;
|
|
|
|
// Dark
|
|
|
|
$darkPrimary: #6a99f0;
|
|
$darkPrimary-alt: #b4ccf9;
|
|
$darkDanger: #ff8d85;
|
|
$darkDangerHover: #ffbfbb;
|
|
$darkSuccess: #52e07c;
|
|
$darkWarning: #ffeb66;
|
|
$darkInfo: #a4b0c6;
|
|
$darkLinks: #6a99f0;
|
|
$darkGrey1: #bac0ce;
|
|
$darkGrey2: #8d94a5;
|
|
$darkBlue1: #4c525f;
|
|
$darkBlue2: #3c424e;
|
|
$darkDarkBlue1: #2f343d;
|
|
$darkDarkBlue2: #1f242e;
|
|
$darkInputColor: $white;
|
|
$darkInputPlaceholderColor: $darkGrey1;
|
|
|
|
$themes: (
|
|
light: (
|
|
primary: $primary,
|
|
primaryAlt: $primary-accent,
|
|
danger: $danger,
|
|
info: #343a40,
|
|
success: $success,
|
|
warning: $warning,
|
|
backgroundColor: $white,
|
|
badgeDangerBackground: $danger,
|
|
badgeDangerText: $white,
|
|
badgeInfoBackground: #555555,
|
|
badgeInfoText: $white,
|
|
badgePrimaryBackground: $primary,
|
|
badgePrimaryBackgroundHover: #134eb9,
|
|
badgePrimaryText: $white,
|
|
badgeSecondaryBackground: #ced4da,
|
|
badgeSecondaryText: #212529,
|
|
bgLightColor: #f8f9fa,
|
|
bgPrimaryColor: $primary,
|
|
borderColor: $border-color,
|
|
borderPrimaryColor: $primary,
|
|
browserInputIconsFilter: invert(0),
|
|
btnDanger: $danger,
|
|
btnDangerHover: $lightDangerHover,
|
|
btnDangerText: $white,
|
|
btnLinkText: $primary,
|
|
btnLinkTextHover: #104097,
|
|
btnOutlineDangerBackground: $input-bg,
|
|
btnOutlineDangerBackgroundHover: $danger,
|
|
btnOutlineDangerBorder: #ced4da,
|
|
btnOutlineDangerBorderHover: $danger,
|
|
btnOutlineDangerText: $danger,
|
|
btnOutlineDangerTextHover: $white,
|
|
btnOutlinePrimaryBackground: $input-bg,
|
|
btnOutlinePrimaryBackgroundHover: $primary,
|
|
btnOutlinePrimaryBorder: #ced4da,
|
|
btnOutlinePrimaryBorderHover: $primary,
|
|
btnOutlinePrimaryText: $primary,
|
|
btnOutlinePrimaryTextHover: $white,
|
|
btnOutlineSecondaryBackground: $input-bg,
|
|
btnOutlineSecondaryBackgroundHover: #ced4da,
|
|
btnOutlineSecondaryBorder: #ced4da,
|
|
btnOutlineSecondaryBorderHover: #ced4da,
|
|
btnOutlineSecondaryText: #6c757d,
|
|
btnOutlineSecondaryTextHover: #333333,
|
|
btnPrimary: $primary,
|
|
btnPrimaryBorderHover: #1249ae,
|
|
btnPrimaryHover: #134eb9,
|
|
btnPrimaryText: $white,
|
|
btnSecondary: $secondary,
|
|
btnSecondaryBorder: $secondary,
|
|
btnSecondaryBorderHover: #b1bbc4,
|
|
btnSecondaryHover: #b8c1ca,
|
|
btnSecondaryText: #212529,
|
|
btnSecondaryTextHover: #212529,
|
|
calloutBackground: #fafafa,
|
|
calloutColor: #212529,
|
|
cdkDraggingBackground: $white,
|
|
codeColor: #e83e8c,
|
|
dropdownBackground: $white,
|
|
dropdownHover: rgba(0, 0, 0, 0.06),
|
|
dropdownTextColor: $body-color,
|
|
dropdownTextMuted: #6c757d,
|
|
focus: rgb(23 93 220 / 25%),
|
|
footerBackgroundColor: #fbfbfb,
|
|
foregroundColor: $white,
|
|
headerColor: rgba(0, 0, 0, 0.03),
|
|
iconColor: #777777,
|
|
iconHover: $body-color,
|
|
imgFilter: invert(0) grayscale(0),
|
|
inputBackgroundColor: $input-bg,
|
|
inputBorderColor: $border-color,
|
|
inputDisabledBackground: #e0e0e0,
|
|
inputDisabledColor: #6c757d,
|
|
inputPlaceholderColor: $lightInputPlaceholderColor,
|
|
inputTextColor: $lightInputColor,
|
|
layoutFrontendColor: #ecf0f5,
|
|
learnMoreHover: #104097,
|
|
linkColor: $primary,
|
|
linkColorHover: #104097,
|
|
linkWeight: 400,
|
|
listItemActive: $body-color,
|
|
listItemBorder: rgba(0, 0, 0, 0.125),
|
|
loadingSvg: url("../images/loading.svg"),
|
|
logoSuffix: "dark",
|
|
mfaLogoSuffix: ".png",
|
|
navActiveBackground: $white,
|
|
navActiveWeight: 600,
|
|
navBackground: $primary,
|
|
navBackgroundAlt: $secondary-alt,
|
|
navOrgBackgroundColor: #fbfbfb,
|
|
navWeight: 600,
|
|
pwLetter: $body-color,
|
|
pwNumber: #007fde,
|
|
pwSpecial: #c40800,
|
|
pwStrengthBackground: #e9ecef,
|
|
separator: $secondary,
|
|
separatorHr: rgb(0, 0, 0, 0.1),
|
|
tableColorHover: #333333,
|
|
tableLinkColor: $primary,
|
|
tableLinkColorHover: #104097,
|
|
tableRowHover: rgba(0, 0, 0, 0.03),
|
|
tableSeparator: #dee2e6,
|
|
textColor: $body-color,
|
|
textDangerColor: $white,
|
|
textInfoColor: $white,
|
|
textHeadingColor: #333333,
|
|
textMuted: #6c757d,
|
|
textSuccessColor: $white,
|
|
textWarningColor: $white,
|
|
),
|
|
dark: (
|
|
primary: $darkPrimary,
|
|
primaryAlt: $darkPrimary-alt,
|
|
danger: $darkDanger,
|
|
info: $darkInfo,
|
|
success: $darkSuccess,
|
|
warning: $darkWarning,
|
|
backgroundColor: $darkDarkBlue2,
|
|
badgeDangerBackground: $darkDanger,
|
|
badgeDangerText: $darkDarkBlue2,
|
|
badgeInfoBackground: $darkInfo,
|
|
badgeInfoText: $darkDarkBlue2,
|
|
badgePrimaryBackground: $darkLinks,
|
|
badgePrimaryBackgroundHover: $darkPrimary-alt,
|
|
badgePrimaryText: $darkDarkBlue2,
|
|
badgeSecondaryBackground: $darkGrey2,
|
|
badgeSecondaryText: $darkDarkBlue2,
|
|
bgLightColor: $darkDarkBlue2,
|
|
bgPrimaryColor: $darkPrimary,
|
|
borderColor: $darkBlue1,
|
|
borderPrimaryColor: $darkPrimary,
|
|
browserInputIconsFilter: invert(1),
|
|
btnDanger: $darkDanger,
|
|
btnDangerHover: $darkDangerHover,
|
|
btnDangerText: $darkDarkBlue2,
|
|
btnLinkText: $white,
|
|
btnLinkTextHover: $darkGrey1,
|
|
btnOutlineDangerBackground: $darkDanger,
|
|
btnOutlineDangerBackgroundHover: $darkDangerHover,
|
|
btnOutlineDangerBorder: $darkDanger,
|
|
btnOutlineDangerBorderHover: $darkDangerHover,
|
|
btnOutlineDangerText: $darkDarkBlue2,
|
|
btnOutlineDangerTextHover: $darkDarkBlue2,
|
|
btnOutlinePrimaryBackground: $darkPrimary,
|
|
btnOutlinePrimaryBackgroundHover: $darkPrimary-alt,
|
|
btnOutlinePrimaryBorder: $darkPrimary,
|
|
btnOutlinePrimaryBorderHover: $darkPrimary-alt,
|
|
btnOutlinePrimaryText: $darkDarkBlue2,
|
|
btnOutlinePrimaryTextHover: $darkDarkBlue2,
|
|
btnOutlineSecondaryBackground: transparent,
|
|
btnOutlineSecondaryBackgroundHover: transparent,
|
|
btnOutlineSecondaryBorder: $darkGrey1,
|
|
btnOutlineSecondaryBorderHover: $darkGrey2,
|
|
btnOutlineSecondaryText: $white,
|
|
btnOutlineSecondaryTextHover: $darkGrey2,
|
|
btnPrimary: $darkLinks,
|
|
btnPrimaryBorderHover: $darkPrimary-alt,
|
|
btnPrimaryHover: $darkPrimary-alt,
|
|
btnPrimaryText: $darkDarkBlue2,
|
|
btnSecondary: transparent,
|
|
btnSecondaryBorder: $darkGrey1,
|
|
btnSecondaryBorderHover: $darkGrey2,
|
|
btnSecondaryHover: transparent,
|
|
btnSecondaryText: $white,
|
|
btnSecondaryTextHover: $darkGrey2,
|
|
calloutBackground: $darkBlue2,
|
|
calloutColor: $white,
|
|
cdkDraggingBackground: $darkDarkBlue1,
|
|
codeColor: #e83e8c,
|
|
dropdownBackground: $darkDarkBlue1,
|
|
dropdownHover: rgba(255, 255, 255, 0.03),
|
|
dropdownTextColor: $white,
|
|
dropdownTextMuted: #bec6cf,
|
|
focus: rgb(106 153 240 / 25%),
|
|
footerBackgroundColor: $darkBlue1,
|
|
foregroundColor: $darkDarkBlue1,
|
|
headerColor: $darkBlue1,
|
|
iconColor: #777777,
|
|
iconHover: $darkGrey2,
|
|
imgFilter: invert(1) grayscale(1),
|
|
inputBackgroundColor: transparent,
|
|
inputBorderColor: $darkGrey1,
|
|
inputDisabledBackground: $darkBlue2,
|
|
inputDisabledColor: $darkGrey1,
|
|
inputPlaceholderColor: $darkInputPlaceholderColor,
|
|
inputTextColor: $darkInputColor,
|
|
layoutFrontendColor: $darkDarkBlue2,
|
|
learnMoreHover: $darkPrimary-alt,
|
|
linkColor: $darkLinks,
|
|
linkColorHover: $darkLinks,
|
|
linkWeight: 600,
|
|
listItemActive: $darkPrimary,
|
|
listItemBorder: $darkBlue1,
|
|
loadingSvg: url("../images/loading-white.svg"),
|
|
logoSuffix: "white",
|
|
mfaLogoSuffix: "-w.png",
|
|
navActiveBackground: $darkDarkBlue2,
|
|
navActiveWeight: 600,
|
|
navBackground: $darkDarkBlue1,
|
|
navBackgroundAlt: $darkDarkBlue1,
|
|
navOrgBackgroundColor: #161c26,
|
|
navWeight: 400,
|
|
pwLetter: $white,
|
|
pwNumber: #52bdfb,
|
|
pwSpecial: #ff7c70,
|
|
pwStrengthBackground: $darkBlue2,
|
|
separator: $darkBlue1,
|
|
separatorHr: $darkBlue1,
|
|
tableColorHover: $darkGrey1,
|
|
tableLinkColor: $white,
|
|
tableLinkColorHover: $white,
|
|
tableRowHover: rgba(255, 255, 255, 0.03),
|
|
tableSeparator: $darkBlue1,
|
|
textColor: $darkGrey1,
|
|
textDangerColor: $darkDarkBlue2,
|
|
textHeadingColor: $white,
|
|
textInfoColor: $darkDarkBlue2,
|
|
textMuted: $darkGrey1,
|
|
textSuccessColor: $darkDarkBlue2,
|
|
textWarningColor: $darkDarkBlue2,
|
|
),
|
|
);
|
|
|
|
@mixin themify($themes: $themes) {
|
|
@each $theme, $map in $themes {
|
|
html.theme_#{$theme} & {
|
|
$theme-map: () !global;
|
|
@each $key, $submap in $map {
|
|
$value: map-get(map-get($themes, $theme), "#{$key}");
|
|
$theme-map: map-merge(
|
|
$theme-map,
|
|
(
|
|
$key: $value,
|
|
)
|
|
) !global;
|
|
}
|
|
@content;
|
|
$theme-map: null !global;
|
|
}
|
|
}
|
|
}
|
|
|
|
@function themed($key) {
|
|
@return map-get($theme-map, $key);
|
|
} ;
|