aboutsummaryrefslogtreecommitdiffstats
path: root/app/assets/stylesheets/themes/default/_dark.scss
diff options
context:
space:
mode:
Diffstat (limited to 'app/assets/stylesheets/themes/default/_dark.scss')
-rw-r--r--app/assets/stylesheets/themes/default/_dark.scss159
1 files changed, 159 insertions, 0 deletions
diff --git a/app/assets/stylesheets/themes/default/_dark.scss b/app/assets/stylesheets/themes/default/_dark.scss
new file mode 100644
index 0000000..2bf12e2
--- /dev/null
+++ b/app/assets/stylesheets/themes/default/_dark.scss
@@ -0,0 +1,159 @@
+@import "../../functions";
+
+// Default: Dark theme
+@mixin dark {
+ --background-color: #{mix($black, $grey-900, 37.5%)};
+
+ // Texts colors
+ --color: #{$grey-200};
+ --h1-color: #{$grey-50};
+ --h2-color: #{mix($grey-100, $grey-50)};
+ --h3-color: #{$grey-100};
+ --h4-color: #{mix($grey-200, $grey-100)};
+ --h5-color: #{$grey-200};
+ --h6-color: #{mix($grey-300, $grey-200)};
+
+ // Muted colors
+ --muted-color: #{$grey-500};
+ --muted-border-color: #{mix($grey-900, $grey-800, 75%)};
+
+ // Primary colors
+ --primary: #{$primary-600};
+ --primary-hover: #{$primary-500};
+ --primary-focus: #{rgba($primary-600, 0.25)};
+ --primary-inverse: #{$white};
+
+ // Secondary colors
+ --secondary: #{$grey-600};
+ --secondary-hover: #{$grey-500};
+ --secondary-focus: #{rgba($grey-500, 0.25)};
+ --secondary-inverse: #{$white};
+
+ // Contrast colors
+ --contrast: #{$grey-50};
+ --contrast-hover: #{$white};
+ --contrast-focus: #{rgba($grey-500, 0.25)};
+ --contrast-inverse: #{$black};
+
+ // Highlighted text (<mark>)
+ --mark-background-color: #{mix($grey-300, $amber-300)};
+ --mark-color: #{mix($black, $grey-900, 37.5%)};
+
+ // Inserted (<ins>) & Deleted (<ins>)
+ --ins-color: #{$green-700};
+ --del-color: #{$red-800};
+
+ // Blockquote
+ --blockquote-border-color: var(--muted-border-color);
+ --blockquote-footer-color: var(--muted-color);
+
+ // Button
+ // To disable box-shadow, remove the var or set to '0 0 0 rgba(0, 0, 0, 0)'
+ // Don't use, 'none, 'false, 'null', '0', etc.
+ --button-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
+ --button-hover-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
+
+ // Form elements
+ --form-element-background-color: #{mix($black, $grey-900, 37.5%)};
+ --form-element-border-color: #{mix($grey-800, $grey-700)};
+ --form-element-color: var(--color);
+ --form-element-placeholder-color: var(--muted-color);
+ --form-element-active-background-color: var(--form-element-background-color);
+ --form-element-active-border-color: var(--primary);
+ --form-element-focus-color: var(--primary-focus);
+ --form-element-disabled-background-color: #{$grey-800};
+ --form-element-disabled-border-color: #{$grey-700};
+ --form-element-disabled-opacity: 0.5;
+ --form-element-invalid-border-color: #{$red-900};
+ --form-element-invalid-active-border-color: #{$red-800};
+ --form-element-invalid-focus-color: #{rgba($red-800, 0.25)};
+ --form-element-valid-border-color: #{$green-800};
+ --form-element-valid-active-border-color: #{$green-700};
+ --form-element-valid-focus-color: #{rgba($green-700, 0.25)};
+
+ // Switch (input[type="checkbox"][role="switch"])
+ --switch-background-color: #{mix($grey-800, $grey-700)};
+ --switch-color: var(--primary-inverse);
+ --switch-checked-background-color: var(--primary);
+
+ // Range (input[type="range"])
+ --range-border-color: #{mix($grey-900, $grey-800)};
+ --range-active-border-color: #{$grey-800};
+ --range-thumb-border-color: var(--background-color);
+ --range-thumb-color: var(--secondary);
+ --range-thumb-hover-color: var(--secondary-hover);
+ --range-thumb-active-color: var(--primary);
+
+ // Table
+ --table-border-color: var(--muted-border-color);
+ --table-row-stripped-background-color: #{rgba($grey-500, 0.05)};
+
+ // Code
+ --code-background-color: #{mix($black, $grey-900, 12.5%)};
+ --code-color: var(--muted-color);
+ --code-kbd-background-color: var(--contrast);
+ --code-kbd-color: var(--contrast-inverse);
+ --code-tag-color: #{hsl(330, 30%, 50%)};
+ --code-property-color: #{hsl(185, 30%, 50%)};
+ --code-value-color: #{hsl(40, 10%, 50%)};
+ --code-comment-color: #{mix($grey-700, $grey-600)};
+
+ // Accordion (<details>)
+ --accordion-border-color: var(--muted-border-color);
+ --accordion-active-summary-color: var(--primary);
+ --accordion-close-summary-color: var(--color);
+ --accordion-open-summary-color: var(--muted-color);
+
+ // Card (<article>)
+ $box-shadow-elevation: 1rem;
+ $box-shadow-blur-strengh: 6rem;
+ $box-shadow-opacity: 0.06;
+ --card-background-color: #{mix($black, $grey-900, 25%)};
+ --card-border-color: var(--card-background-color);
+ --card-box-shadow:
+ #{($box-shadow-elevation * 0.5 * 0.029)} #{($box-shadow-elevation * 0.029)} #{($box-shadow-blur-strengh * 0.029)} #{rgba($black, ($box-shadow-opacity * 0.283))},
+ #{($box-shadow-elevation * 0.5 * 0.067)} #{($box-shadow-elevation * 0.067)} #{($box-shadow-blur-strengh * 0.067)} #{rgba($black, ($box-shadow-opacity * 0.4))},
+ #{($box-shadow-elevation * 0.5 * 0.125)} #{($box-shadow-elevation * 0.125)} #{($box-shadow-blur-strengh * 0.125)} #{rgba($black, ($box-shadow-opacity * 0.5))},
+ #{($box-shadow-elevation * 0.5 * 0.225)} #{($box-shadow-elevation * 0.225)} #{($box-shadow-blur-strengh * 0.225)} #{rgba($black, ($box-shadow-opacity * 0.6))},
+ #{($box-shadow-elevation * 0.5 * 0.417)} #{($box-shadow-elevation * 0.417)} #{($box-shadow-blur-strengh * 0.417)} #{rgba($black, ($box-shadow-opacity * 0.717))},
+ #{($box-shadow-elevation * 0.5)} #{$box-shadow-elevation} #{$box-shadow-blur-strengh} #{rgba($black, $box-shadow-opacity)},
+ 0 0 0 0.0625rem #{rgba($black, ($box-shadow-opacity * 0.25) )};
+ --card-sectionning-background-color: #{mix($black, $grey-900, 12.5%)};
+
+ // Dropdown (<details role="list">)
+ --dropdown-background-color: #{$grey-900};
+ --dropdown-border-color: #{mix($grey-900, $grey-800)};
+ --dropdown-box-shadow: var(--card-box-shadow);
+ --dropdown-color: var(--color);
+ --dropdown-hover-background-color: #{rgba(mix($grey-900, $grey-800), 0.75)};
+
+ // Modal (<dialog>)
+ --modal-overlay-background-color: #{rgba(mix($grey-900, $grey-800), 0.8)};
+
+ // Progress
+ --progress-background-color: #{mix($grey-900, $grey-800)};
+ --progress-color: var(--primary);
+
+ // Loading ([aria-busy=true])
+ --loading-spinner-opacity: 0.5;
+
+ // Tooltip ([data-tooltip])
+ --tooltip-background-color: var(--contrast);
+ --tooltip-color: var(--contrast-inverse);
+
+ // Icons
+ --icon-checkbox: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='#{to-rgb($white)}' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
+ --icon-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='#{to-rgb($grey-300)}' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
+ --icon-chevron-button: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='#{to-rgb($white)}' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
+ --icon-chevron-button-inverse: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='#{to-rgb($black)}' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
+ --icon-close: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='#{to-rgb($grey-500)}' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'%3E%3C/line%3E%3Cline x1='6' y1='6' x2='18' y2='18'%3E%3C/line%3E%3C/svg%3E");
+ --icon-date: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='#{to-rgb($grey-300)}' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E");
+ --icon-invalid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='#{to-rgb($red-900)}' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E");
+ --icon-minus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='#{to-rgb($white)}' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'%3E%3C/line%3E%3C/svg%3E");
+ --icon-search: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='#{to-rgb($grey-300)}' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E");
+ --icon-time: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='#{to-rgb($grey-300)}' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cpolyline points='12 6 12 12 16 14'%3E%3C/polyline%3E%3C/svg%3E");
+ --icon-valid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='#{to-rgb($green-800)}' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
+
+ // Document
+ color-scheme: dark;
+}