Replace SCSS compilation with CSS variables (#4191)

* Replace SCSS compilation with CSS variables

* Update tests

* Update src/pretix/presale/style.py

Co-authored-by: Mira <weller@rami.io>

* Update src/pretix/presale/context.py

Co-authored-by: Mira <weller@rami.io>

* Update src/pretix/presale/views/widget.py

Co-authored-by: Mira <weller@rami.io>

* Update src/pretix/presale/context.py

Co-authored-by: Mira <weller@rami.io>

* Update src/pretix/static/pretixbase/scss/_variables.scss

Co-authored-by: Richard Schreiber <schreiber@rami.io>

* Last minor changes

* Rename file

---------

Co-authored-by: Mira <weller@rami.io>
Co-authored-by: Richard Schreiber <schreiber@rami.io>
This commit is contained in:
Raphael Michel
2024-06-25 13:01:20 +02:00
committed by GitHub
parent 7672e6274d
commit f0a06cd9fe
72 changed files with 867 additions and 1600 deletions

View File

@@ -0,0 +1,159 @@
/* Variables setting for bootstrap */
$gray-darker: lighten(#000, 13.5%);
$gray-dark: lighten(#000, 20%);
$gray: lighten(#000, 33.5%);
$gray-light: lighten(#000, 55%);
$gray-lighter: lighten(#000, 93.5%);
$gray-lightest: lighten(#000, 97.25%);
$font-family-sans-serif: var(--pretix-font-family-sans-serif);
$text-color: #222222 !default;
$text-muted: #767676 !default;
$input-color-placeholder: lighten(#000, 70%) !default;
$border-radius-base: var(--pretix-border-radius-base);
$border-radius-large: var(--pretix-border-radius-large);
$border-radius-small: var(--pretix-border-radius-small);
$navbar-inverse-bg: #3b1c4a !default;
$navbar-inverse-link-color: white;
$navbar-inverse-link-hover-color: $gray-lighter;
$navbar-inverse-brand-hover-color: $gray-lighter;
$navbar-inverse-color: white;
$brand-primary: var(--pretix-brand-primary);
$brand-success: var(--pretix-brand-success);
$brand-info: var(--pretix-brand-info);
$brand-warning: var(--pretix-brand-warning);
$brand-danger: var(--pretix-brand-danger);
$body-bg: var(--pretix-body-bg);
$state-success-bg: var(--pretix-brand-success-lighten-48);
$state-success-bg-hover: var(--pretix-brand-success-lighten-38);
$state-success-border: var(--pretix-brand-success);
$state-success-text: var(--pretix-brand-success-darken-10);
$state-success-text-hover: var(--pretix-brand-success-darken-20);
$state-success-border-focus: var(--pretix-brand-success-darken-20);
$state-success-shadow-focus: var(--pretix-brand-success);
$state-success-shadow: var(--pretix-brand-success-lighten-10);
$state-info-bg: var(--pretix-brand-info-lighten-33);
$state-info-bg-hover: var(--pretix-brand-info-lighten-23);
$state-info-border: var(--pretix-brand-info);
$state-info-text: var(--pretix-brand-info-darken-20);
$state-info-text-hover: var(--pretix-brand-info-darken-30);
$state-warning-bg: var(--pretix-brand-warning-lighten-41);
$state-warning-bg-hover: var(--pretix-brand-warning-lighten-31);
$state-warning-border: var(--pretix-brand-warning);
$state-warning-text: var(--pretix-brand-warning-darken-25);
$state-warning-text-hover: var(--pretix-brand-warning-darken-35);
$state-warning-border-focus: var(--pretix-brand-warning-darken-35);
$state-warning-shadow-focus: var(--pretix-brand-warning-darken-15);
$state-warning-shadow: var(--pretix-brand-warning-darken-5);
$state-danger-bg: var(--pretix-brand-danger-lighten-43);
$state-danger-bg-hover: var(--pretix-brand-danger-lighten-33);
$state-danger-border: var(--pretix-brand-danger);
$state-danger-text: var(--pretix-brand-danger-darken-5);
$state-danger-text-hover: var(--pretix-brand-danger-darken-15);
$state-danger-border-focus: var(--pretix-brand-danger-darken-15);
$state-danger-shadow-focus: var(--pretix-brand-danger-lighten-5);
$state-danger-shadow: var(--pretix-brand-danger-lighten-15);
$panel-success-border: var(--pretix-brand-success-tint-50);
$panel-success-heading-bg: var(--pretix-brand-success-tint-50);
$panel-danger-border: var(--pretix-brand-danger-tint-50);
$panel-danger-heading-bg: var(--pretix-brand-danger-tint-50);
$panel-warning-border: var(--pretix-brand-warning-tint-50);
$panel-warning-heading-bg: var(--pretix-brand-warning-tine-50);
$panel-default-border: #e5e5e5 !default;
$panel-default-heading-bg: #e5e5e5 !default;
$link-hover-color: var(--pretix-brand-primary-darken-15);
$btn-default-border: #CCCCCC;
$btn-primary-border: var(--pretix-brand-primary-darken-5);
$btn-primary-border-active: var(--pretix-brand-primary-darken-30);
$btn-primary-border-hover: var(--pretix-brand-primary-darken-17);
$btn-primary-background-active: var(--pretix-brand-primary-darken-10);
$btn-success-border: var(--pretix-brand-success-darken-5);
$btn-success-border-active: var(--pretix-brand-success-darken-30);
$btn-success-border-hover: var(--pretix-brand-success-darken-17);
$btn-success-background-active: var(--pretix-brand-success-darken-10);
$btn-info-border: var(--pretix-brand-info-darken-5);
$btn-info-border-active: var(--pretix-brand-info-darken-30);
$btn-info-border-hover: var(--pretix-brand-info-darken-17);
$btn-info-background-active: var(--pretix-brand-info-darken-10);
$btn-warning-border: var(--pretix-brand-warning-darken-5);
$btn-warning-border-active: var(--pretix-brand-warning-darken-30);
$btn-warning-border-hover: var(--pretix-brand-warning-darken-17);
$btn-warning-background-active: var(--pretix-brand-warning-darken-10);
$btn-danger-border: var(--pretix-brand-danger-darken-5);
$btn-danger-border-hover: var(--pretix-brand-danger-darken-17);
$btn-danger-border-active: var(--pretix-brand-danger-darken-30);
$btn-danger-background-active: var(--pretix-brand-danger-darken-10);
$list-group-active-text-color: var(--pretix-brand-primary-lighten-40);
$brand-primary-darken-10: var(--pretix-brand-primary-darken-10);
$table-bg: transparent !default;
$table-bg-accent: #f9f9f9 !default;
$table-bg-hover: #f5f5f5 !default;
$table-bg-active: $table-bg-hover !default;
$table-bg-active-hover: darken($table-bg-active, 5%);
$label-default-bg: $gray-light !default;
$label-default-bg-hover: darken($gray-light, 10%);
$label-primary-bg: var(--pretix-brand-primary);
$label-primary-bg-hover: var(--pretix-brand-primary-darken-10);
$label-success-bg: var(--pretix-brand-success);
$label-success-bg-hover: var(--pretix-brand-success-darken-10);
$label-info-bg: var(--pretix-brand-info);
$label-info-bg-hover: var(--pretix-brand-info-darken-10);
$label-warning-bg: var(--pretix-brand-warning);
$label-warning-bg-hover: var(--pretix-brand-warning-darken-10);
$label-danger-bg: var(--pretix-brand-danger);
$label-danger-bg-hover: var(--pretix-brand-danger-darken-10);
$alert-success-bg: var(--pretix-brand-success-lighten-48);
$alert-success-text: var(--pretix-brand-success-darken-10);
$alert-success-border: var(--pretix-brand-success);
$alert-success-hr: var(--pretix-brand-success-darken-5);
$alert-success-link: var(--pretix-brand-success-darken-20);
$alert-info-bg: var(--pretix-brand-info-lighten-33);
$alert-info-text: var(--pretix-brand-info-darken-20);
$alert-info-border: var(--pretix-brand-info);
$alert-info-hr: var(--pretix-brand-info-darken-5);
$alert-info-link: var(--pretix-brand-info-darken-30);
$alert-warning-bg: var(--pretix-brand-warning-lighten-41);
$alert-warning-text: var(--pretix-brand-warning-darken-25);
$alert-warning-border: var(--pretix-brand-warning);
$alert-warning-hr: var(--pretix-brand-warning-darken-5);
$alert-warning-link: var(--pretix-brand-warning-darken-35);
$alert-danger-bg: var(--pretix-brand-danger-lighten-43);
$alert-danger-text: var(--pretix-brand-danger-darken-5);
$alert-danger-border: var(--pretix-brand-danger);
$alert-danger-hr: var(--pretix-brand-danger-darken-5);
$alert-danger-link: var(--pretix-brand-danger-darken-15);
$main-box-bg: #FFFFFF;
$slider-primary-top: var(--pretix-brand-primary);
$slider-primary-bottom: var(--pretix-brand-primary-darken-5);
$slider-secondary-top: var(--pretix-brand-primary-lighten-28-saturate-20);
$slider-secondary-bottom: var(--pretix-brand-primary-lighten-23-saturate-2);
/* The following vars default to $body-bg in bootstrap, which we don't want */
$nav-tabs-active-link-hover-bg: #FFFFFF;
$nav-tabs-justified-active-link-border-color: #FFFFFF;
$thumbnail-bg: #FFFFFF;

View File

@@ -289,10 +289,8 @@ $linear-channel-values:
.9911020971138298
1;
/**
* Calculate the luminance for a color.
* See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests
*/
// Calculate the luminance for a color.
// See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests
@function luminance($color) {
$red: nth($linear-channel-values, red($color) + 1);
$green: nth($linear-channel-values, green($color) + 1);
@@ -301,10 +299,8 @@ $linear-channel-values:
@return .2126 * $red + .7152 * $green + .0722 * $blue;
}
/**
* Calculate the contrast ratio between two colors.
* See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests
*/
// Calculate the contrast ratio between two colors.
// See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests
@function contrast($back, $front) {
$backLum: luminance($back) + .05;
$foreLum: luminance($front) + .05;
@@ -312,10 +308,8 @@ $linear-channel-values:
@return max($backLum, $foreLum) / min($backLum, $foreLum);
}
/**
* Determine whether to use dark or light text on top of given color.
* Returns black for dark text and white for light text.
*/
// Determine whether to use dark or light text on top of given color.
// Returns black for dark text and white for light text.
@function choose-contrast-color($color, $l, $d) {
$lightContrast: contrast($color, $l);
$darkContrast: contrast($color, $d);

View File

@@ -57,56 +57,56 @@ input[type=number]::-webkit-outer-spin-button {
}
.btn-primary:hover, .btn-primary:focus {
box-shadow: inset 0 1px 3px 0 shade($brand-primary, 25%);
box-shadow: inset 0 1px 3px 0 var(--pretix-brand-primary-shade-25);
background: $btn-primary-bg;
}
.btn-primary:active, .btn-primary:active:hover, .btn-primary:active:focus {
box-shadow: inset 0 1px 8px 0 shade($brand-primary, 25%);
box-shadow: inset 0 1px 8px 0 var(--pretix-brand-primary-shade-25);
background: $btn-primary-bg;
outline: 0;
}
.btn-success:hover, .btn-success:focus {
box-shadow: inset 0 1px 3px 0 shade($brand-success, 25%);
box-shadow: inset 0 1px 3px 0 var(--pretix-brand-success-shade-25);
background: $btn-success-bg;
}
.btn-success:active, .btn-success:active:hover, .btn-success:active:focus {
box-shadow: inset 0 1px 8px 0 shade($brand-success, 25%);
box-shadow: inset 0 1px 8px 0 var(--pretix-brand-success-shade-25);
background: $btn-success-bg;
outline: 0;
}
.btn-warning:hover, .btn-warning:focus {
box-shadow: inset 0 1px 3px 0 shade($brand-warning, 25%);
box-shadow: inset 0 1px 3px 0 var(--pretix-brand-warning-shade-25);
background: $btn-warning-bg;
}
.btn-warning:active, .btn-warning:active:hover, .btn-warning:active:focus {
box-shadow: inset 0 1px 8px 0 shade($brand-warning, 25%);
box-shadow: inset 0 1px 8px 0 var(--pretix-brand-warning-shade-25);
background: $btn-warning-bg;
outline: 0;
}
.btn-danger:hover, .btn-danger:focus {
box-shadow: inset 0 1px 8px 0 shade($brand-danger, 25%);
box-shadow: inset 0 1px 8px 0 var(--pretix-brand-danger-shade-25);
background: $btn-danger-bg;
}
.btn-danger:active, .btn-danger:active:hover, .btn-danger:active:focus {
box-shadow: inset 0 1px 3px 0 shade($brand-danger, 25%);
box-shadow: inset 0 1px 3px 0 var(--pretix-brand-danger-shade-25);
background: $btn-danger-bg;
outline: 0;
}
.btn-primary-if-active {
@include button-variant($btn-default-color, $btn-default-bg, $btn-default-border);
@include button-variant($btn-default-color, $btn-default-bg, $btn-default-border, darken($btn-default-bg, 10%), darken($btn-default-border, 25%), darken($btn-default-border, 12%));
box-shadow: 0px 0px 0px 1px #cccccc inset;
box-sizing: border-box;
&.active {
@include button-variant($btn-primary-color, $btn-primary-bg, $btn-primary-border);
@include button-variant($btn-primary-color, $btn-primary-bg, $btn-primary-border, $btn-primary-background-active, $btn-primary-border-active, $btn-primary-border-hover);
}
}
@@ -151,7 +151,7 @@ input[type=number]::-webkit-outer-spin-button {
text-align: left;
}
.alert-legal {
@include alert-variant($alert-info-bg, $alert-info-border, $alert-info-text);
@include alert-variant($alert-info-bg, $alert-info-border, $alert-info-text, $alert-info-hr, $alert-info-link);
}
.alert-success, .alert-danger, .alert-info, .alert-warning, .alert-legal {
position: relative;
@@ -179,19 +179,19 @@ input[type=number]::-webkit-outer-spin-button {
}
.alert-success::before {
background-color: $state-success-border;
background-image: url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2036%2036'%20xmlns='http://www.w3.org/2000/svg'%20xml:space='preserve'%3E%3Crect%20x='5'%20y='5'%20width='26'%20height='26'%20fill='%23fff'/%3E%3Cpath%20d='M25.57%2014.65c0-.23-.1-.46-.26-.62l-1.24-1.24a.89.89%200%200%200-1.24%200l-5.98%206-2.68-2.7a.89.89%200%200%200-1.24%200l-1.24%201.24a.88.88%200%200%200%200%201.24l4.54%204.54a.88.88%200%200%200%201.24%200l7.84-7.84c.17-.16.26-.4.26-.62Z'%20fill='#{url-friendly-colour($state-success-text)}'/%3E%3C/svg%3E%0A");
background-image: var(--pretix-success-icon);
}
.alert-info::before {
background-color: $state-info-border;
background-image: url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2036%2036'%20xmlns='http://www.w3.org/2000/svg'%20xml:space='preserve'%3E%3Ccircle%20cx='18'%20cy='18'%20r='16'%20fill='%23fff'/%3E%3Cpath%20d='M21.74%2022.66a.7.7%200%200%200-.7-.7h-.7v-6.28a.7.7%200%200%200-.7-.7h-4.19a.7.7%200%200%200-.7.7v1.4c0%20.38.32.7.7.7h.7v4.19h-.7a.7.7%200%200%200-.7.7v1.4c0%20.37.32.7.7.7h5.6a.7.7%200%200%200%20.69-.7v-1.4Zm-1.4-12.57a.7.7%200%200%200-.7-.7h-2.8a.7.7%200%200%200-.69.7v2.1c0%20.38.32.7.7.7h2.8a.7.7%200%200%200%20.7-.7v-2.1Z'%20fill='#{url-friendly-colour($state-info-text)}'/%3E%3C/svg%3E%0A");
background-image: var(--pretix-info-icon);
}
.alert-warning::before {
background-color: $state-warning-border;
background-image: url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2036%2036'%20xmlns='http://www.w3.org/2000/svg'%20xml:space='preserve'%3E%3Cpath%20d='M20.04%202.89a2.2%202.2%200%200%200-3.87%200L2.88%2027.24a2.22%202.22%200%200%200%201.94%203.27h26.57a2.22%202.22%200%200%200%201.94-3.27L20.04%202.89Z'%20fill='%23fff'/%3E%3Cpath%20d='M19.92%2025.22c0%20.26-.2.47-.45.47h-2.73a.46.46%200%200%201-.45-.47v-2.7c0-.25.2-.46.45-.46h2.73c.25%200%20.45.21.45.47v2.7Zm-.02-5.31c-.02.19-.24.33-.5.33h-2.62c-.27%200-.48-.14-.48-.33l-.24-6.48c0-.09.04-.23.14-.3.09-.07.21-.16.34-.16h3.12c.13%200%20.26.09.35.16.1.07.14.18.14.27l-.26%206.51Z'%20fill='#{url-friendly-colour($state-warning-text)}'/%3E%3C/svg%3E");
background-image: var(--pretix-warning-icon);
}
.alert-legal::before {
background-color: $state-info-border;
background-image: url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2036%2036'%20xmlns='http://www.w3.org/2000/svg'%20xml:space='preserve'%3E%3Ccircle%20cx='18'%20cy='18'%20r='16'%20fill='%23fff'/%3E%3Cpath%20d='M19.41%2011.55c0-.43.2-.79.58-1.08-.42-.27-.99-.4-1.7-.4-.62%200-1.1.13-1.46.4-.36.26-.54.62-.54%201.08%200%20.42.13.76.38%201.01.18.15.5.33.95.57l1.77.85c1.04.48%201.79.9%202.25%201.25.51.36.88.8%201.1%201.3h-.02c.18.38.27.76.27%201.14%200%201.1-.62%202.18-1.85%203.22.48.46.81.9%201%201.3a3.84%203.84%200%200%201-.05%203.07c-.22.5-.54.91-.95%201.26-.42.34-.92.61-1.5.8a6.45%206.45%200%200%201-3.91%200%205.44%205.44%200%200%201-1.6-.79%203.67%203.67%200%200%201-1.1-1.22%203.11%203.11%200%200%201-.36-1.5c0-.66.17-1.2.52-1.59.36-.39.83-.59%201.42-.59.46%200%20.87.16%201.22.48.36.32.53.7.53%201.16%200%20.56-.33%201.03-1%201.41.03.05.07.1.13.13l.2.16a3.24%203.24%200%200%200%201.9.53c.67%200%201.2-.15%201.6-.46.38-.3.58-.7.58-1.22%200-.37-.13-.69-.38-.96a4.46%204.46%200%200%200-1.16-.82l-.9-.44A24.66%2024.66%200%200%201%2015%2020.44a7.7%207.7%200%200%201-.9-.6c-.86-.73-1.29-1.54-1.29-2.45%200-1.16.62-2.23%201.87-3.22a4.7%204.7%200%200%201-.79-1.16%203.38%203.38%200%200%201%20.95-3.98A5.02%205.02%200%200%201%2018.14%208c1.3%200%202.37.3%203.21.91V8.9c.92.6%201.37%201.38%201.37%202.33%200%20.51-.16.93-.49%201.27-.33.34-.75.5-1.26.5a1.6%201.6%200%200%201-1.12-.4c-.3-.28-.44-.62-.44-1.04Zm-1.27%204.66a26.2%2026.2%200%200%201-1.73-.84c-.6.6-.89%201.13-.89%201.6%200%20.34.13.63.39.87.17.15.42.31.74.5a30.57%2030.57%200%200%200%201.93%201l.85.45c.58-.58.87-1.14.87-1.68%200-.36-.15-.67-.46-.94-.3-.27-.87-.6-1.7-.96Z'%20fill='#{url-friendly-colour($state-info-text)}'/%3E%3C/svg%3E");
background-image: var(--pretix-legal-icon);
}
.alert-danger::before {
background-color: $state-danger-border;
@@ -248,7 +248,7 @@ svg.svg-icon {
.badge-warning { background: $brand-warning; }
.badge-info { background: $brand-info; }
@include table-row-variant('success', lighten($brand-success, 40%));
@include table-row-variant('info', lighten($brand-info, 30%));
@include table-row-variant('warning', lighten($brand-warning, 40%));
@include table-row-variant('danger', lighten($brand-danger, 30%));
@include table-row-variant('success', var(--pretix-brand-success-lighten-40), var(--pretix-brand-success-lighten-35));
@include table-row-variant('info', var(--pretix-brand-info-success-lighten-30), var(--pretix-brand-info-success-lighten-25));
@include table-row-variant('warning', var(--pretix-brand-warning-lighten-40), var(--pretix-brand-warning-lighten-35));
@include table-row-variant('danger', var(--pretix-brand-danger-lighten-30), var(--pretix-brand-danger-lighten-25));

View File

@@ -0,0 +1,134 @@
@import "_contrast.scss";
@function tint($color, $percentage) {
@return mix(white, $color, $percentage);
}
@function shade($color, $percentage) {
@return mix(black, $color, $percentage);
}
@function url-friendly-colour($colour) {
@return '%23' + str-slice('#{$colour}', 2, -1)
}
$widget: false !default;
// Input variables that may be overridden by event themes.
$in-font-family-sans-serif: "Open Sans", "OpenSans", "Helvetica Neue", Helvetica, Arial, sans-serif !default;
$in-brand-primary: #8e44b3 !default;
$in-brand-success: #50a167 !default;
$in-brand-info: #5f9cd4 !default;
$in-brand-warning: #ffb419 !default;
$in-brand-danger: #c44f4f !default;
$in-body-bg: #FFFFFF !default;
$in-border-radius-base: 3px !default;
$in-border-radius-large: 4px !default;
$in-border-radius-small: 2px !default;
:root {
@if (not $widget) {
--pretix-font-family-sans-serif: #{$in-font-family-sans-serif};
}
--pretix-brand-primary: #{$in-brand-primary};
--pretix-brand-success: #{$in-brand-success};
--pretix-brand-info: #{$in-brand-info};
--pretix-brand-warning: #{$in-brand-warning};
--pretix-brand-danger: #{$in-brand-danger};
--pretix-link-contrast-color: #{choose-contrast-color($in-body-bg, white, $in-brand-primary)};
--pretix-link-hover-contrast-color: #{choose-contrast-color($in-body-bg, white, darken($in-brand-primary, 15%))};
--pretix-brand-primary-lighten-5: #{lighten($in-brand-primary, 5%)};
--pretix-brand-primary-lighten-20: #{lighten($in-brand-primary, 20%)};
--pretix-brand-primary-lighten-30: #{lighten($in-brand-primary, 30%)};
--pretix-brand-primary-lighten-40: #{lighten($in-brand-primary, 40%)};
--pretix-brand-primary-lighten-48: #{lighten($in-brand-primary, 48%)};
--pretix-brand-primary-lighten-50: #{lighten($in-brand-primary, 50%)};
--pretix-brand-primary-lighten-53: #{lighten($in-brand-primary, 53%)};
--pretix-brand-primary-lighten-55: #{lighten($in-brand-primary, 55%)};
--pretix-brand-primary-darken-5: #{darken($in-brand-primary, 5%)};
--pretix-brand-primary-darken-10: #{darken($in-brand-primary, 10%)};
--pretix-brand-primary-darken-15: #{darken($in-brand-primary, 15%)};
--pretix-brand-primary-darken-17: #{darken($in-brand-primary, 17%)};
--pretix-brand-primary-darken-20: #{darken($in-brand-primary, 20%)};
--pretix-brand-primary-darken-30: #{darken($in-brand-primary, 30%)};
--pretix-brand-primary-shade-25: #{shade($in-brand-primary, 25%)};
--pretix-brand-primary-lighten-28-saturate-20: #{saturate(lighten($in-brand-primary, 28%), 20%)};
--pretix-brand-primary-lighten-23-saturate-2: #{saturate(lighten($in-brand-primary, 23%), 2%)};
--pretix-brand-success-lighten-10: #{lighten($in-brand-success, 10%)};
--pretix-brand-success-lighten-20: #{lighten($in-brand-success, 20%)};
--pretix-brand-success-lighten-30: #{lighten($in-brand-success, 30%)};
--pretix-brand-success-lighten-35: #{lighten($in-brand-success, 35%)};
--pretix-brand-success-lighten-38: #{lighten($in-brand-success, 38%)};
--pretix-brand-success-lighten-40: #{lighten($in-brand-success, 40%)};
--pretix-brand-success-lighten-48: #{lighten($in-brand-success, 48%)};
--pretix-brand-success-lighten-50: #{lighten($in-brand-success, 50%)};
--pretix-brand-success-darken-5: #{darken($in-brand-success, 5%)};
--pretix-brand-success-darken-10: #{darken($in-brand-success, 10%)};
--pretix-brand-success-darken-12: #{darken($in-brand-success, 12%)};
--pretix-brand-success-darken-15: #{darken($in-brand-success, 15%)};
--pretix-brand-success-darken-17: #{darken($in-brand-success, 17%)};
--pretix-brand-success-darken-20: #{darken($in-brand-success, 20%)};
--pretix-brand-success-darken-30: #{darken($in-brand-success, 30%)};
--pretix-brand-success-tint-50: #{tint($in-brand-success, 50%)};
--pretix-brand-success-shade-25: #{shade($in-brand-success, 25%)};
--pretix-brand-info-lighten-23: #{lighten($in-brand-info, 23%)};
--pretix-brand-info-lighten-25: #{lighten($in-brand-info, 25%)};
--pretix-brand-info-lighten-30: #{lighten($in-brand-info, 30%)};
--pretix-brand-info-lighten-33: #{lighten($in-brand-info, 33%)};
--pretix-brand-info-darken-5: #{darken($in-brand-info, 5%)};
--pretix-brand-info-darken-10: #{darken($in-brand-info, 10%)};
--pretix-brand-info-darken-17: #{darken($in-brand-info, 17%)};
--pretix-brand-info-darken-20: #{darken($in-brand-info, 20%)};
--pretix-brand-info-darken-30: #{darken($in-brand-info, 30%)};
--pretix-brand-info-shade-25: #{shade($in-brand-info, 25%)};
--pretix-brand-warning-lighten-12: #{lighten($in-brand-warning, 12%)};
--pretix-brand-warning-lighten-31: #{lighten($in-brand-warning, 31%)};
--pretix-brand-warning-lighten-35: #{lighten($in-brand-warning, 35%)};
--pretix-brand-warning-lighten-40: #{lighten($in-brand-warning, 40%)};
--pretix-brand-warning-lighten-41: #{lighten($in-brand-warning, 41%)};
--pretix-brand-warning-lighten-43: #{lighten($in-brand-warning, 43%)};
--pretix-brand-warning-darken-5: #{darken($in-brand-warning, 5%)};
--pretix-brand-warning-darken-10: #{darken($in-brand-warning, 10%)};
--pretix-brand-warning-darken-15: #{darken($in-brand-warning, 15%)};
--pretix-brand-warning-darken-17: #{darken($in-brand-warning, 17%)};
--pretix-brand-warning-darken-20: #{darken($in-brand-warning, 20%)};
--pretix-brand-warning-darken-25: #{darken($in-brand-warning, 25%)};
--pretix-brand-warning-darken-30: #{darken($in-brand-warning, 30%)};
--pretix-brand-warning-darken-35: #{darken($in-brand-warning, 35%)};
--pretix-brand-warning-tint-50: #{tint($in-brand-warning, 50%)};
--pretix-brand-warning-shade-25: #{shade($in-brand-warning, 25%)};
--pretix-brand-warning-transparent-60: #{transparentize($in-brand-warning, 0.6)};
--pretix-brand-danger-lighten-5: #{lighten($in-brand-danger, 5%)};
--pretix-brand-danger-lighten-15: #{lighten($in-brand-danger, 15%)};
--pretix-brand-danger-lighten-25: #{lighten($in-brand-danger, 25%)};
--pretix-brand-danger-lighten-30: #{lighten($in-brand-danger, 30%)};
--pretix-brand-danger-lighten-33: #{lighten($in-brand-danger, 33%)};
--pretix-brand-danger-lighten-43: #{lighten($in-brand-danger, 43%)};
--pretix-brand-danger-lighten-45: #{lighten($in-brand-danger, 45%)};
--pretix-brand-danger-darken-5: #{darken($in-brand-danger, 5%)};
--pretix-brand-danger-darken-10: #{darken($in-brand-danger, 10%)};
--pretix-brand-danger-darken-15: #{darken($in-brand-danger, 15%)};
--pretix-brand-danger-darken-17: #{darken($in-brand-danger, 17%)};
--pretix-brand-danger-darken-20: #{darken($in-brand-danger, 20%)};
--pretix-brand-danger-darken-30: #{darken($in-brand-danger, 30%)};
--pretix-brand-danger-tint-50: #{tint($in-brand-danger, 50%)};
--pretix-brand-danger-shade-25: #{shade($in-brand-danger, 25%)};
--pretix-border-radius-base: #{$in-border-radius-base};
--pretix-border-radius-large: #{$in-border-radius-large};
--pretix-border-radius-small: #{$in-border-radius-small};
@if (not $widget) {
--pretix-body-bg: #{$in-body-bg};
--pretix-warning-icon: url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2036%2036'%20xmlns='http://www.w3.org/2000/svg'%20xml:space='preserve'%3E%3Cpath%20d='M20.04%202.89a2.2%202.2%200%200%200-3.87%200L2.88%2027.24a2.22%202.22%200%200%200%201.94%203.27h26.57a2.22%202.22%200%200%200%201.94-3.27L20.04%202.89Z'%20fill='%23fff'/%3E%3Cpath%20d='M19.92%2025.22c0%20.26-.2.47-.45.47h-2.73a.46.46%200%200%201-.45-.47v-2.7c0-.25.2-.46.45-.46h2.73c.25%200%20.45.21.45.47v2.7Zm-.02-5.31c-.02.19-.24.33-.5.33h-2.62c-.27%200-.48-.14-.48-.33l-.24-6.48c0-.09.04-.23.14-.3.09-.07.21-.16.34-.16h3.12c.13%200%20.26.09.35.16.1.07.14.18.14.27l-.26%206.51Z'%20fill='#{url-friendly-colour(darken($in-brand-warning, 25%))}'/%3E%3C/svg%3E");
--pretix-info-icon: url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2036%2036'%20xmlns='http://www.w3.org/2000/svg'%20xml:space='preserve'%3E%3Ccircle%20cx='18'%20cy='18'%20r='16'%20fill='%23fff'/%3E%3Cpath%20d='M21.74%2022.66a.7.7%200%200%200-.7-.7h-.7v-6.28a.7.7%200%200%200-.7-.7h-4.19a.7.7%200%200%200-.7.7v1.4c0%20.38.32.7.7.7h.7v4.19h-.7a.7.7%200%200%200-.7.7v1.4c0%20.37.32.7.7.7h5.6a.7.7%200%200%200%20.69-.7v-1.4Zm-1.4-12.57a.7.7%200%200%200-.7-.7h-2.8a.7.7%200%200%200-.69.7v2.1c0%20.38.32.7.7.7h2.8a.7.7%200%200%200%20.7-.7v-2.1Z'%20fill='#{url-friendly-colour(darken($in-brand-info, 20%))}'/%3E%3C/svg%3E%0A");
--pretix-success-icon: url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2036%2036'%20xmlns='http://www.w3.org/2000/svg'%20xml:space='preserve'%3E%3Crect%20x='5'%20y='5'%20width='26'%20height='26'%20fill='%23fff'/%3E%3Cpath%20d='M25.57%2014.65c0-.23-.1-.46-.26-.62l-1.24-1.24a.89.89%200%200%200-1.24%200l-5.98%206-2.68-2.7a.89.89%200%200%200-1.24%200l-1.24%201.24a.88.88%200%200%200%200%201.24l4.54%204.54a.88.88%200%200%200%201.24%200l7.84-7.84c.17-.16.26-.4.26-.62Z'%20fill='#{url-friendly-colour(darken($in-brand-success, 10%))}'/%3E%3C/svg%3E%0A");
--pretix-legal-icon: url("data:image/svg+xml,%3Csvg%20viewBox='0%200%2036%2036'%20xmlns='http://www.w3.org/2000/svg'%20xml:space='preserve'%3E%3Ccircle%20cx='18'%20cy='18'%20r='16'%20fill='%23fff'/%3E%3Cpath%20d='M19.41%2011.55c0-.43.2-.79.58-1.08-.42-.27-.99-.4-1.7-.4-.62%200-1.1.13-1.46.4-.36.26-.54.62-.54%201.08%200%20.42.13.76.38%201.01.18.15.5.33.95.57l1.77.85c1.04.48%201.79.9%202.25%201.25.51.36.88.8%201.1%201.3h-.02c.18.38.27.76.27%201.14%200%201.1-.62%202.18-1.85%203.22.48.46.81.9%201%201.3a3.84%203.84%200%200%201-.05%203.07c-.22.5-.54.91-.95%201.26-.42.34-.92.61-1.5.8a6.45%206.45%200%200%201-3.91%200%205.44%205.44%200%200%201-1.6-.79%203.67%203.67%200%200%201-1.1-1.22%203.11%203.11%200%200%201-.36-1.5c0-.66.17-1.2.52-1.59.36-.39.83-.59%201.42-.59.46%200%20.87.16%201.22.48.36.32.53.7.53%201.16%200%20.56-.33%201.03-1%201.41.03.05.07.1.13.13l.2.16a3.24%203.24%200%200%200%201.9.53c.67%200%201.2-.15%201.6-.46.38-.3.58-.7.58-1.22%200-.37-.13-.69-.38-.96a4.46%204.46%200%200%200-1.16-.82l-.9-.44A24.66%2024.66%200%200%201%2015%2020.44a7.7%207.7%200%200%201-.9-.6c-.86-.73-1.29-1.54-1.29-2.45%200-1.16.62-2.23%201.87-3.22a4.7%204.7%200%200%201-.79-1.16%203.38%203.38%200%200%201%20.95-3.98A5.02%205.02%200%200%201%2018.14%208c1.3%200%202.37.3%203.21.91V8.9c.92.6%201.37%201.38%201.37%202.33%200%20.51-.16.93-.49%201.27-.33.34-.75.5-1.26.5a1.6%201.6%200%200%201-1.12-.4c-.3-.28-.44-.62-.44-1.04Zm-1.27%204.66a26.2%2026.2%200%200%201-1.73-.84c-.6.6-.89%201.13-.89%201.6%200%20.34.13.63.39.87.17.15.42.31.74.5a30.57%2030.57%200%200%200%201.93%201l.85.45c.58-.58.87-1.14.87-1.68%200-.36-.15-.67-.46-.94-.3-.27-.87-.6-1.7-.96Z'%20fill='#{url-friendly-colour(darken($in-brand-info, 20%))}'/%3E%3C/svg%3E");
}
}

View File

@@ -1,75 +0,0 @@
@function tint($color, $percentage) {
@return mix(white, $color, $percentage);
}
@function shade($color, $percentage) {
@return mix(black, $color, $percentage);
}
@function url-friendly-colour($colour) {
@return '%23' + str-slice('#{$colour}', 2, -1)
}
$gray-darker: lighten(#000, 13.5%);
$gray-dark: lighten(#000, 20%);
$gray: lighten(#000, 33.5%);
$gray-light: lighten(#000, 55%);
$gray-lighter: lighten(#000, 93.5%);
$gray-lightest: lighten(#000, 97.25%);
$font-family-sans-serif: "Open Sans", "OpenSans", "Helvetica Neue", Helvetica, Arial, sans-serif !default;
$text-color: #222222 !default;
$text-muted: #767676 !default;
$input-color-placeholder: lighten(#000, 70%) !default;
$brand-primary: #7f5a91 !default;
$brand-success: #50a167 !default;
$brand-info: #5f9cd4 !default;
$brand-warning: #ffb419 !default;
$brand-danger: #c44f4f !default;
$btn-default-border: #CCCCCC;
$border-radius-base: 3px !default;
$border-radius-large: 4px !default;
$border-radius-small: 2px !default;
$state-success-text: $brand-success;
$state-info-text: $brand-info;
$state-warning-text: $brand-warning;
$state-danger-text: $brand-danger;
$navbar-inverse-bg: #3b1c4a !default;
$navbar-inverse-link-color: white;
$navbar-inverse-link-hover-color: $gray-lighter;
$navbar-inverse-brand-hover-color: $gray-lighter;
$navbar-inverse-color: white;
$state-success-bg: lighten($brand-success, 48%) !default;
$state-success-border: $brand-success;
$state-success-text: darken($brand-success, 10%);
$state-info-bg: lighten($brand-info, 33%) !default;
$state-info-border: $brand-info;
$state-info-text: darken($brand-info, 20%);
$state-warning-bg: lighten($brand-warning, 41%) !default;
$state-warning-border: $brand-warning;
$state-warning-text: darken($brand-warning, 25%);
$state-danger-bg: lighten($brand-danger, 43%) !default;
$state-danger-border: $brand-danger;
$state-danger-text: darken($brand-danger, 5%);
$panel-success-border: tint($brand-success, 50%);
$panel-success-heading-bg: tint($brand-success, 50%);
$panel-danger-border: tint($brand-danger, 50%);
$panel-danger-heading-bg: tint($brand-danger, 50%);
$panel-warning-border: tint($brand-warning, 50%);
$panel-warning-heading-bg: tint($brand-warning, 50%);
$panel-default-border: #e5e5e5 !default;
$panel-default-heading-bg: #e5e5e5 !default;
$body-bg: #FFFFFF !default;
$main-box-bg: #FFFFFF;
/* The following vars default to $body-bg in bootstrap, which we don't want */
$nav-tabs-active-link-hover-bg: #FFFFFF;
$nav-tabs-justified-active-link-border-color: #FFFFFF;
$thumbnail-bg: #FFFFFF;

View File

@@ -1,4 +1,5 @@
@import "_variables.scss";
@import "_theme_variables.scss";
@import "_bootstrap_vars.scss";
@import "../../bootstrap/scss/_bootstrap.scss";
@import "_theme.scss";
@import "../../fontawesome/scss/font-awesome.scss";

View File

@@ -1,4 +1,5 @@
@import "_variables.scss";
@import "_theme_variables.scss";
@import "_bootstrap_vars.scss";
@import "../../bootstrap/scss/_bootstrap.scss";
@import "_theme.scss";
@import "../../fontawesome/scss/font-awesome.scss";