style: update colors

This commit is contained in:
Lucas Larroche 2022-12-26 11:35:56 +07:00
parent 52e1072a08
commit 6ade871f3f
20 changed files with 892 additions and 756 deletions

View file

@ -1,65 +0,0 @@
// Navy-Grey
$grey-hue: 205 !default;
$grey-50: hsl($grey-hue, 20%, 94%) !default;
$grey-100: hsl($grey-hue, 18%, 86%) !default;
$grey-200: hsl($grey-hue, 16%, 77%) !default;
$grey-300: hsl($grey-hue, 14%, 68%) !default;
$grey-400: hsl($grey-hue, 12%, 59%) !default;
$grey-500: hsl($grey-hue, 10%, 50%) !default;
$grey-600: hsl($grey-hue, 15%, 41%) !default;
$grey-700: hsl($grey-hue, 20%, 32%) !default;
$grey-800: hsl($grey-hue, 25%, 23%) !default;
$grey-900: hsl($grey-hue, 30%, 15%) !default;
// Light Blue
$primary-hue: 195 !default;
$primary-50: hsl($primary-hue, 90%, 94%) !default;
$primary-100: hsl($primary-hue, 88%, 86%) !default;
$primary-200: hsl($primary-hue, 86%, 77%) !default;
$primary-300: hsl($primary-hue, 84%, 68%) !default;
$primary-400: hsl($primary-hue, 82%, 59%) !default;
$primary-500: hsl($primary-hue, 80%, 50%) !default;
$primary-600: hsl($primary-hue, 85%, 41%) !default;
$primary-700: hsl($primary-hue, 90%, 32%) !default;
$primary-800: hsl($primary-hue, 95%, 23%) !default;
$primary-900: hsl($primary-hue, 100%, 15%) !default;
// Black & White
$black: #000 !default;
$white: #fff !default;
// Amber
$amber-50: #fff8e1 !default;
$amber-100: #ffecb3 !default;
$amber-200: #ffe082 !default;
$amber-300: #ffd54f !default;
$amber-400: #ffca28 !default;
$amber-500: #ffc107 !default;
$amber-600: #ffb300 !default;
$amber-700: #ffa000 !default;
$amber-800: #ff8f00 !default;
$amber-900: #ff6f00 !default;
// Green
$green-50: #e8f5e9 !default;
$green-100: #c8e6c9 !default;
$green-200: #a5d6a7 !default;
$green-300: #81c784 !default;
$green-400: #66bb6a !default;
$green-500: #4caf50 !default;
$green-600: #43a047 !default;
$green-700: #388e3c !default;
$green-800: #2e7d32 !default;
$green-900: #1b5e20 !default;
// Red
$red-50: #ffebee !default;
$red-100: #ffcdd2 !default;
$red-200: #ef9a9a !default;
$red-300: #e57373 !default;
$red-400: #ef5350 !default;
$red-500: #f44336 !default;
$red-600: #e53935 !default;
$red-700: #d32f2f !default;
$red-800: #c62828 !default;
$red-900: #b71c1c !default;

View file

@ -1,36 +1,54 @@
@use "sass:map";
@use "colors" as *;
@use "../../../node_modules/@picocss/colors/scss/colors" as *;
@use "../../settings" as *;
@use "../../utils/box-shadow";
@use "../../utils/functions";
// Default: Dark theme
@mixin theme {
#{$✨}background-color: #{mix($black, $grey-900, 37.5%)};
#{$✨}background-color: #{mix($slate-950, $slate-900)};
// Text color
#{$✨}color: #{$grey-200};
#{$✨}color: #{$zinc-200};
// Muted colors
#{$✨}muted-color: #{$grey-500};
#{$✨}muted-border-color: #{mix($grey-900, $grey-800, 75%)};
#{$✨}muted-color: #{$zinc-450};
#{$✨}muted-border-color: #{$slate-850};
// Primary colors
#{$✨}primary: #{$primary-600};
#{$✨}primary-hover: #{$primary-500};
#{$✨}primary-focus: #{rgba($primary-600, 0.25)};
#{$✨}primary: #{$azure-350};
#{$✨}primary-hover: #{$azure-300};
#{$✨}primary-underline: #{rgba($azure-350, 0.5)};
#{$✨}primary-underline-hover: var(#{$}primary);
#{$✨}primary-background: #{$azure-600};
#{$✨}primary-background-hover: #{$azure-550};
#{$✨}primary-border: var(#{$}primary-background);
#{$✨}primary-border-hover: var(#{$}primary-background-hover);
#{$✨}primary-focus: #{rgba($azure-350, 0.25)};
#{$✨}primary-inverse: #{$white};
// Secondary colors
#{$✨}secondary: #{$grey-600};
#{$✨}secondary-hover: #{$grey-500};
#{$✨}secondary-focus: #{rgba($grey-500, 0.25)};
#{$✨}secondary: #{$zinc-350};
#{$✨}secondary-hover: #{$slate-300};
#{$✨}secondary-underline: #{rgba($zinc-350, 0.5)};
#{$✨}secondary-underline-hover: var(#{$}secondary);
#{$✨}secondary-background: #{$slate-650};
#{$✨}secondary-background-hover: #{$slate-600};
#{$✨}secondary-border: var(#{$}secondary-background);
#{$✨}secondary-border-hover: var(#{$}secondary-background-hover);
#{$✨}secondary-focus: #{rgba($slate-350, 0.25)};
#{$✨}secondary-inverse: #{$white};
// Contrast colors
#{$✨}contrast: #{$grey-50};
#{$✨}contrast-hover: #{$white};
#{$✨}contrast-focus: #{rgba($grey-500, 0.25)};
#{$✨}contrast: #{$slate-100};
#{$✨}contrast-hover: #{$slate-50};
#{$✨}contrast-underline: #{rgba($slate-100, 0.5)};
#{$✨}contrast-underline-hover: var(#{$}contrast);
#{$✨}contrast-background: #{$slate-50};
#{$✨}contrast-background-hover: #{$white};
#{$✨}contrast-border: var(#{$}contrast-background);
#{$✨}contrast-border-hover: var(#{$}contrast-background-hover);
#{$✨}contrast-focus: #{rgba($slate-150, 0.25)};
#{$✨}contrast-inverse: #{$black};
// Box shadow
@ -39,20 +57,20 @@
// Typography
@if map.get($modules, "content/typography") {
// Headings colors
#{$✨}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)};
#{$✨}h1-color: #{$zinc-50};
#{$✨}h2-color: #{$zinc-100};
#{$✨}h3-color: #{$zinc-200};
#{$✨}h4-color: #{$zinc-250};
#{$✨}h5-color: #{$zinc-300};
#{$✨}h6-color: #{$zinc-400};
// Highlighted text (<mark>)
#{$✨}mark-background-color: #{mix($grey-300, $amber-300)};
#{$✨}mark-color: #{mix($black, $grey-900, 37.5%)};
#{$✨}mark-background-color: #{$azure-750};
#{$✨}mark-color: #{$white};
// Inserted (<ins>) & Deleted (<ins>)
#{$✨}ins-color: #{$green-700};
#{$✨}del-color: #{$red-800};
#{$✨}ins-color: #{$jade-400};
#{$✨}del-color: #{$red-400};
// Blockquote
#{$✨}blockquote-border-color: var(#{$}muted-border-color);
@ -70,55 +88,56 @@
// Table
@if map.get($modules, "content/table") {
#{$✨}table-border-color: var(#{$}muted-border-color);
#{$✨}table-row-stripped-background-color: #{rgba($grey-500, 0.05)};
#{$✨}table-row-stripped-background-color: #{rgba($zinc-500, 0.0375)};
}
// Code
@if map.get($modules, "content/code") {
#{$✨}code-background-color: #{mix($black, $grey-900, 12.5%)};
#{$✨}code-background-color: #{mix($slate-900, $slate-850, 75%)};
#{$✨}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)};
#{$✨}code-kbd-background-color: var(#{$}color);
#{$✨}code-kbd-color: var(#{$}background-color);
}
// Form elements
@if map.get($modules, "forms/basics") {
#{$✨}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-background-color: #{mix($slate-900, $slate-850)};
#{$✨}form-element-border-color: #{$slate-800};
#{$✨}form-element-color: #{$zinc-100};
#{$✨}form-element-placeholder-color: #{$zinc-400};
#{$✨}form-element-active-background-color: #{mix($slate-900, $slate-850, 75%)};
#{$✨}form-element-active-border-color: var(#{$}primary-border);
#{$✨}form-element-focus-color: var(#{$}primary-border);
#{$✨}form-element-disabled-background-color: var(#{$}form-element-background-color);
#{$✨}form-element-disabled-border-color: var(#{$}form-element-border-color);
#{$✨}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)};
#{$✨}form-element-invalid-border-color: #{$red-700};
#{$✨}form-element-invalid-active-border-color: #{$red-650};
#{$✨}form-element-invalid-focus-color: var(#{$}form-element-invalid-active-border-color);
#{$✨}form-element-valid-border-color: #{$jade-600};
#{$✨}form-element-valid-active-border-color: #{$jade-550};
#{$✨}form-element-valid-focus-color: var(#{$}form-element-valid-active-border-color);
// Focus for buttons, radio and select
input:is([type="submit"], [type="button"], [type="reset"], [type="checkbox"], [type="radio"], [type="file"]) {
#{$✨}form-element-focus-color: var(#{$}primary-focus);
}
}
// Switch (input[type="checkbox"][role="switch"])
@if map.get($modules, "forms/checkbox-radio-switch") {
#{$✨}switch-background-color: #{mix($grey-800, $grey-700)};
#{$✨}switch-background-color: #{$slate-750};
#{$✨}switch-color: var(#{$}primary-inverse);
#{$✨}switch-checked-background-color: var(#{$}primary);
#{$✨}switch-checked-background-color: var(#{$}primary-background);
}
// Range (input[type="range"])
@if map.get($modules, "forms/input-range") {
#{$✨}range-border-color: #{mix($grey-900, $grey-800)};
#{$✨}range-active-border-color: #{$grey-800};
#{$✨}range-border-color: #{$slate-850};
#{$✨}range-active-border-color: #{$slate-800};
#{$✨}range-thumb-border-color: var(#{$}background-color);
#{$✨}range-thumb-color: var(#{$}secondary);
#{$✨}range-thumb-hover-color: var(#{$}secondary-hover);
#{$✨}range-thumb-color: var(#{$}secondary-background);
#{$✨}range-thumb-hover-color: var(#{$}secondary-background-hover);
#{$✨}range-thumb-active-color: var(#{$}primary);
}
@ -132,19 +151,19 @@
// Card (<article>)
@if map.get($modules, "components/card") {
#{$✨}card-background-color: #{mix($black, $grey-900, 25%)};
#{$✨}card-background-color: #{$slate-900};
#{$✨}card-border-color: var(#{$}card-background-color);
#{$✨}card-box-shadow: var(#{$}box-shadow);
#{$✨}card-sectionning-background-color: #{mix($black, $grey-900, 12.5%)};
#{$✨}card-sectionning-background-color: #{mix($slate-900, $slate-850, 75%)};
}
// Dropdown (<details role="list">)
@if map.get($modules, "components/dropdown") {
#{$✨}dropdown-background-color: #{$grey-900};
#{$✨}dropdown-border-color: #{mix($grey-900, $grey-800)};
#{$✨}dropdown-background-color: #{$slate-900};
#{$✨}dropdown-border-color: #{$slate-850};
#{$✨}dropdown-box-shadow: var(#{$}box-shadow);
#{$✨}dropdown-color: var(#{$}color);
#{$✨}dropdown-hover-background-color: #{rgba(mix($grey-900, $grey-800), 0.75)};
#{$✨}dropdown-hover-background-color: #{$slate-850};
}
// Loading ([aria-busy=true])
@ -154,18 +173,18 @@
// Modal (<dialog>)
@if map.get($modules, "components/modal") {
#{$✨}modal-overlay-background-color: #{rgba(mix($grey-900, $grey-800), 0.8)};
#{$✨}modal-overlay-background-color: #{rgba(mix($black, $zinc-950), 0.85)};
}
// Progress
@if map.get($modules, "components/progress") {
#{$✨}progress-background-color: #{mix($grey-900, $grey-800)};
#{$✨}progress-color: var(#{$}primary);
#{$✨}progress-background-color: #{$slate-850};
#{$✨}progress-color: var(#{$}primary-background);
}
// Tooltip ([data-tooltip])
@if map.get($modules, "components/tooltip") {
#{$✨}tooltip-background-color: var(#{$}contrast);
#{$✨}tooltip-background-color: var(#{$}contrast-background);
#{$✨}tooltip-color: var(#{$}contrast-inverse);
}
@ -176,35 +195,35 @@
}
// Chevron icons
@if map.get($modules, "forms/basic") or
@if map.get($modules, "forms/basics") or
map.get($modules, "components/accordion") or
map.get($modules, "components/dropdown")
{
#{$✨}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='#{functions.display-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: 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='#{functions.display-rgb($zinc-400)}' 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='#{functions.display-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='#{functions.display-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");
}
// Datetime icons
@if map.get($modules, "input-date") {
#{$✨}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='#{functions.display-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-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='#{functions.display-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");
@if map.get($modules, "forms/input-date") {
#{$✨}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='#{functions.display-rgb($zinc-400)}' stroke-width='1.5' 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-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='#{functions.display-rgb($zinc-400)}' stroke-width='1.5' 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");
}
// Form validation icons
@if map.get($modules, "forms/basic") {
#{$✨}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='#{functions.display-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");
#{$✨}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='#{functions.display-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");
@if map.get($modules, "forms/basics") {
#{$✨}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='#{functions.display-rgb($jade-600)}' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%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='#{functions.display-rgb($red-700)}' 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");
}
// Search icon
@if map.get($modules, "forms/input-search") {
#{$✨}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='#{functions.display-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-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='#{functions.display-rgb($zinc-400)}' stroke-width='1.5' 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");
}
// Close icon
@if map.get($modules, "components/modal") {
#{$✨}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='#{functions.display-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-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='#{functions.display-rgb($zinc-400)}' stroke-width='3' 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");
}
// Document

View file

@ -1,5 +1,5 @@
@use "sass:map";
@use "colors" as *;
@use "../../../node_modules/@picocss/colors/scss/colors" as *;
@use "../../settings" as *;
@use "../../utils/box-shadow";
@use "../../utils/functions";
@ -9,50 +9,68 @@
#{$✨}background-color: #{$white};
// Text color
#{$✨}color: #{$grey-700};
#{$✨}color: #{$zinc-750};
// Muted colors
#{$✨}muted-color: #{$grey-500};
#{$✨}muted-border-color: #{$grey-50};
#{$✨}muted-color: #{$zinc-550};
#{$✨}muted-border-color: #{mix($slate-100, $slate-50)};
// Primary colors
#{$✨}primary: #{$primary-600};
#{$✨}primary-hover: #{$primary-700};
#{$✨}primary-focus: #{rgba($primary-600, 0.125)};
#{$✨}primary: #{$azure-550};
#{$✨}primary-hover: #{$azure-600};
#{$✨}primary-underline: #{rgba($azure-550, 0.5)};
#{$✨}primary-underline-hover: var(#{$}primary);
#{$✨}primary-background: #{$azure-550};
#{$✨}primary-background-hover: #{$azure-600};
#{$✨}primary-border: var(#{$}primary-background);
#{$✨}primary-border-hover: var(#{$}primary-background-hover);
#{$✨}primary-focus: #{rgba($azure-400, 0.25)};
#{$✨}primary-inverse: #{$white};
// Secondary colors
#{$✨}secondary: #{$grey-600};
#{$✨}secondary-hover: #{$grey-700};
#{$✨}secondary-focus: #{rgba($grey-600, 0.125)};
#{$✨}secondary: #{$slate-550};
#{$✨}secondary-hover: #{$slate-600};
#{$✨}secondary-underline: #{rgba($slate-550, 0.5)};
#{$✨}secondary-underline-hover: var(#{$}secondary);
#{$✨}secondary-background: #{$slate-550};
#{$✨}secondary-background-hover: #{$slate-600};
#{$✨}secondary-border: var(#{$}secondary-background);
#{$✨}secondary-border-hover: var(#{$}secondary-background-hover);
#{$✨}secondary-focus: #{rgba($slate-550, 0.25)};
#{$✨}secondary-inverse: #{$white};
// Contrast colors
#{$✨}contrast: #{$grey-900};
#{$✨}contrast-hover: #{$black};
#{$✨}contrast-focus: #{rgba($grey-600, 0.125)};
#{$✨}contrast: #{$slate-900};
#{$✨}contrast-hover: #{$slate-950};
#{$✨}contrast-underline: #{rgba($slate-900, 0.5)};
#{$✨}contrast-underline-hover: var(#{$}secondary);
#{$✨}contrast-background: #{$slate-900};
#{$✨}contrast-background-hover: #{$black};
#{$✨}contrast-border: var(#{$}contrast-background);
#{$✨}contrast-border-hover: var(#{$}contrast-background-hover);
#{$✨}contrast-focus: #{rgba($slate-550, 0.25)};
#{$✨}contrast-inverse: #{$white};
// Box shadow
#{$✨}box-shadow: box-shadow.shadow($grey-900);
#{$✨}box-shadow: box-shadow.shadow($slate-500);
// Typography
@if map.get($modules, "content/typography") {
// Headings colors
#{$✨}h1-color: #{$grey-900};
#{$✨}h2-color: #{mix($grey-900, $grey-800)};
#{$✨}h3-color: #{$grey-800};
#{$✨}h4-color: #{mix($grey-800, $grey-700)};
#{$✨}h5-color: #{$grey-700};
#{$✨}h6-color: #{mix($grey-700, $grey-600)};
#{$✨}h1-color: #{$zinc-800};
#{$✨}h2-color: #{$zinc-750};
#{$✨}h3-color: #{$zinc-700};
#{$✨}h4-color: #{$zinc-650};
#{$✨}h5-color: #{$zinc-600};
#{$✨}h6-color: #{$zinc-550};
// Highlighted text (<mark>)
#{$✨}mark-background-color: #{mix($amber-100, $amber-50)};
#{$✨}mark-color: #{mix($grey-900, $amber-900, 75%)};
#{$✨}mark-color: #{$zinc-950};
// Inserted (<ins>) & Deleted (<ins>)
#{$✨}ins-color: #{$green-700};
#{$✨}del-color: #{$red-800};
#{$✨}ins-color: #{$jade-600};
#{$✨}del-color: #{$red-650};
// Blockquote
#{$✨}blockquote-border-color: var(#{$}muted-border-color);
@ -70,55 +88,56 @@
// Table
@if map.get($modules, "content/table") {
#{$✨}table-border-color: var(#{$}muted-border-color);
#{$✨}table-row-stripped-background-color: #{mix($grey-50, $white)};
#{$✨}table-row-stripped-background-color: #{rgba($zinc-500, 0.0375)};
}
// Code
@if map.get($modules, "content/code") {
#{$✨}code-background-color: #{$grey-50};
#{$✨}code-background-color: #{mix($slate-50, $white, 25%)};
#{$✨}code-color: var(#{$}muted-color);
#{$✨}code-kbd-background-color: var(#{$}contrast);
#{$✨}code-kbd-color: var(#{$}contrast-inverse);
#{$✨}code-tag-color: #{hsl(330, 40%, 50%)};
#{$✨}code-property-color: #{hsl(185, 40%, 40%)};
#{$✨}code-value-color: #{hsl(40, 20%, 50%)};
#{$✨}code-comment-color: #{$grey-300};
#{$✨}code-kbd-background-color: var(#{$}color);
#{$✨}code-kbd-color: var(#{$}background-color);
}
// Form elements
@if map.get($modules, "forms/basics") {
#{$✨}form-element-background-color: transparent;
#{$✨}form-element-border-color: #{$grey-300};
#{$✨}form-element-color: var(#{$}color);
#{$✨}form-element-background-color: #{mix($slate-50, $white, 25%)};
#{$✨}form-element-border-color: #{$slate-150};
#{$✨}form-element-color: #{$zinc-850};
#{$✨}form-element-placeholder-color: var(#{$}muted-color);
#{$✨}form-element-active-background-color: transparent;
#{$✨}form-element-active-border-color: var(#{$}primary);
#{$✨}form-element-focus-color: var(#{$}primary-focus);
#{$✨}form-element-disabled-background-color: #{$grey-100};
#{$✨}form-element-disabled-border-color: #{$grey-300};
#{$✨}form-element-active-background-color: #{$white};
#{$✨}form-element-active-border-color: var(#{$}primary-border);
#{$✨}form-element-focus-color: var(#{$}primary-border);
#{$✨}form-element-disabled-background-color: var(#{$}form-element-background-color);
#{$✨}form-element-disabled-border-color: var(#{$}form-element-border-color);
#{$✨}form-element-disabled-opacity: 0.5;
#{$✨}form-element-invalid-border-color: #{$red-800};
#{$✨}form-element-invalid-active-border-color: #{$red-700};
#{$✨}form-element-invalid-focus-color: #{rgba($red-700, 0.125)};
#{$✨}form-element-valid-border-color: #{$green-700};
#{$✨}form-element-valid-active-border-color: #{$green-600};
#{$✨}form-element-valid-focus-color: #{rgba($green-600, 0.125)};
#{$✨}form-element-invalid-border-color: #{$red-600};
#{$✨}form-element-invalid-active-border-color: #{$red-650};
#{$✨}form-element-invalid-focus-color: var(#{$}form-element-invalid-active-border-color);
#{$✨}form-element-valid-border-color: #{$jade-500};
#{$✨}form-element-valid-active-border-color: #{$jade-550};
#{$✨}form-element-valid-focus-color: var(#{$}form-element-valid-active-border-color);
// Focus for buttons, radio and select
input:is([type="submit"], [type="button"], [type="reset"], [type="checkbox"], [type="radio"], [type="file"]) {
#{$✨}form-element-focus-color: var(#{$}primary-focus);
}
}
// Switch (input[type="checkbox"][role="switch"])
@if map.get($modules, "forms/checkbox-radio-switch") {
#{$✨}switch-background-color: #{$grey-200};
#{$✨}switch-background-color: #{$slate-200};
#{$✨}switch-color: var(#{$}primary-inverse);
#{$✨}switch-checked-background-color: var(#{$}primary);
#{$✨}switch-checked-background-color: var(#{$}primary-background);
}
// Range (input[type="range"])
@if map.get($modules, "forms/input-range") {
#{$✨}range-border-color: #{$grey-100};
#{$✨}range-active-border-color: #{$grey-200};
#{$✨}range-border-color: #{$slate-100};
#{$✨}range-active-border-color: #{$slate-200};
#{$✨}range-thumb-border-color: var(#{$}background-color);
#{$✨}range-thumb-color: var(#{$}secondary);
#{$✨}range-thumb-hover-color: var(#{$}secondary-hover);
#{$✨}range-thumb-color: var(#{$}secondary-background);
#{$✨}range-thumb-hover-color: var(#{$}secondary-background-hover);
#{$✨}range-thumb-active-color: var(#{$}primary);
}
@ -135,16 +154,16 @@
#{$✨}card-background-color: var(#{$}background-color);
#{$✨}card-border-color: var(#{$}muted-border-color);
#{$✨}card-box-shadow: var(#{$}box-shadow);
#{$✨}card-sectionning-background-color: #{mix($grey-50, $white, 25%)};
#{$✨}card-sectionning-background-color: #{mix($slate-50, $white, 25%)};
}
// Dropdown (<details role="list">)
@if map.get($modules, "components/dropdown") {
#{$✨}dropdown-background-color: #{mix($grey-50, $white, 25%)};
#{$✨}dropdown-border-color: #{mix($grey-100, $grey-50)};
#{$✨}dropdown-background-color: #{$white};
#{$✨}dropdown-border-color: #{$slate-50};
#{$✨}dropdown-box-shadow: var(#{$}box-shadow);
#{$✨}dropdown-color: var(#{$}color);
#{$✨}dropdown-hover-background-color: #{$grey-50};
#{$✨}dropdown-hover-background-color: #{mix($slate-50, $white)};
}
// Loading ([aria-busy=true])
@ -154,18 +173,18 @@
// Modal (<dialog>)
@if map.get($modules, "components/modal") {
#{$✨}modal-overlay-background-color: #{rgba($grey-100, 0.7)};
#{$✨}modal-overlay-background-color: #{rgba($slate-50, 0.7)};
}
// Progress
@if map.get($modules, "components/progress") {
#{$✨}progress-background-color: #{$grey-100};
#{$✨}progress-color: var(#{$}primary);
#{$✨}progress-background-color: #{$slate-100};
#{$✨}progress-color: var(#{$}primary-background);
}
// Tooltip ([data-tooltip])
@if map.get($modules, "components/tooltip") {
#{$✨}tooltip-background-color: var(#{$}contrast);
#{$✨}tooltip-background-color: var(#{$}contrast-background);
#{$✨}tooltip-color: var(#{$}contrast-inverse);
}
@ -176,35 +195,35 @@
}
// Chevron icons
@if map.get($modules, "forms/basic") or
@if map.get($modules, "forms/basics") or
map.get($modules, "components/accordion") or
map.get($modules, "components/dropdown")
{
#{$✨}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='#{functions.display-rgb($grey-700)}' 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='#{functions.display-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='#{functions.display-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: 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='#{functions.display-rgb($zinc-400)}' stroke-width='2.5' 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='#{functions.display-rgb($white)}' stroke-width='2.5' 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='#{functions.display-rgb($white)}' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
}
// Datetime icons
@if map.get($modules, "input-date") {
#{$✨}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='#{functions.display-rgb($grey-700)}' 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-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='#{functions.display-rgb($grey-700)}' 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");
@if map.get($modules, "forms/input-date") {
#{$✨}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='#{functions.display-rgb($zinc-400)}' 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-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='#{functions.display-rgb($zinc-400)}' 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");
}
// Form validation icons
@if map.get($modules, "forms/basic") {
#{$✨}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='#{functions.display-rgb($green-700)}' 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");
#{$✨}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='#{functions.display-rgb($red-800)}' 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");
@if map.get($modules, "forms/basics") {
#{$✨}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='#{functions.display-rgb($jade-500)}' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%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='#{functions.display-rgb($red-600)}' 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");
}
// Search icon
@if map.get($modules, "forms/input-search") {
#{$✨}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='#{functions.display-rgb($grey-700)}' 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-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='#{functions.display-rgb($zinc-400)}' 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");
}
// Close icon
@if map.get($modules, "components/modal") {
#{$✨}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='#{functions.display-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-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='#{functions.display-rgb($zinc-400)}' stroke-width='3' 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");
}
// Document

View file

@ -14,6 +14,7 @@
#{$✨}line-height: 1.5;
#{$✨}font-weight: 400;
#{$✨}font-size: 16px;
#{$✨}text-underline-offset: 0.1rem;
// Responsive root font size
@if $enable-responsive-typography {
@ -29,7 +30,7 @@
// Borders
#{$✨}border-radius: 0.25rem;
#{$✨}border-width: 1px;
#{$✨}outline-width: 3px;
#{$✨}outline-width: 0.1875rem;
// Transitions
#{$✨}transition: 0.2s ease-in-out;
@ -70,7 +71,7 @@
// Modal (<dialog>)
@if map.get($modules, "components/modal") {
#{$✨}modal-overlay-backdrop-filter: blur(0.25rem);
#{$✨}modal-overlay-backdrop-filter: blur(0.375rem);
}
// Spacings for nav component
@ -159,7 +160,7 @@
// Link
@if map.get($modules, "content/link") {
a {
#{$✨}text-decoration: none;
#{$✨}text-decoration: underline;
// Secondary & Contrast
@if enable-classes {
@ -245,15 +246,21 @@
}
}
// Inputs and Selects
input:not([type="submit"], [type="button"], [type="reset"], [type="checkbox"], [type="radio"], [type="file"]),
:where(select, textarea) {
#{$✨}outline-width: 0.0625rem;
}
// Checkboxes, Radios and Switches
@if map.get($modules, "forms/checkbox-radio-switch") {
[type="checkbox"],
[type="radio"] {
#{$✨}border-width: 2px;
#{$✨}border-width: 0.125rem;
}
[type="checkbox"][role="switch"] {
#{$✨}border-width: 3px;
#{$✨}border-width: 0.1875rem;
}
}
}