@use "colors" as *; @use "../../settings" as *; @use "../../utils/functions"; // Default: Light theme @mixin theme { #{$✨}background-color: #{$white}; // Texts colors #{$✨}color: #{$grey-700}; #{$✨}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)}; // Muted colors #{$✨}muted-color: #{$grey-500}; #{$✨}muted-border-color: #{$grey-50}; // Primary colors #{$✨}primary: #{$primary-600}; #{$✨}primary-hover: #{$primary-700}; #{$✨}primary-focus: #{rgba($primary-600, 0.125)}; #{$✨}primary-inverse: #{$white}; // Secondary colors #{$✨}secondary: #{$grey-600}; #{$✨}secondary-hover: #{$grey-700}; #{$✨}secondary-focus: #{rgba($grey-600, 0.125)}; #{$✨}secondary-inverse: #{$white}; // Contrast colors #{$✨}contrast: #{$grey-900}; #{$✨}contrast-hover: #{$black}; #{$✨}contrast-focus: #{rgba($grey-600, 0.125)}; #{$✨}contrast-inverse: #{$white}; // Highlighted text () #{$✨}mark-background-color: #{mix($amber-100, $amber-50)}; #{$✨}mark-color: #{mix($grey-900, $amber-900, 75%)}; // Inserted () & Deleted () #{$✨}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: transparent; #{$✨}form-element-border-color: #{$grey-300}; #{$✨}form-element-color: var(#{$✨}color); #{$✨}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-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)}; // Switch (input[type="checkbox"][role="switch"]) #{$✨}switch-background-color: #{$grey-200}; #{$✨}switch-color: var(#{$✨}primary-inverse); #{$✨}switch-checked-background-color: var(#{$✨}primary); // Range (input[type="range"]) #{$✨}range-border-color: #{$grey-100}; #{$✨}range-active-border-color: #{$grey-200}; #{$✨}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: #{mix($grey-50, $white)}; // Code #{$✨}code-background-color: #{$grey-50}; #{$✨}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}; // Accordion (
) #{$✨}accordion-border-color: var(#{$✨}muted-border-color); #{$✨}accordion-close-summary-color: var(#{$✨}color); #{$✨}accordion-open-summary-color: var(#{$✨}muted-color); // Card (
) $box-shadow-elevation: 1rem; $box-shadow-blur-strengh: 6rem; $box-shadow-opacity: 0.06; #{$✨}card-background-color: var(#{$✨}background-color); #{$✨}card-border-color: var(#{$✨}muted-border-color); #{$✨}card-box-shadow: #{($box-shadow-elevation * 0.5 * 0.029)} #{($box-shadow-elevation * 0.029)} #{($box-shadow-blur-strengh * 0.029)} #{rgba($grey-900, ($box-shadow-opacity * 0.283))}, #{($box-shadow-elevation * 0.5 * 0.067)} #{($box-shadow-elevation * 0.067)} #{( $box-shadow-blur-strengh * 0.067 )} #{rgba($grey-900, ($box-shadow-opacity * 0.4))}, #{($box-shadow-elevation * 0.5 * 0.125)} #{($box-shadow-elevation * 0.125)} #{( $box-shadow-blur-strengh * 0.125 )} #{rgba($grey-900, ($box-shadow-opacity * 0.5))}, #{($box-shadow-elevation * 0.5 * 0.225)} #{($box-shadow-elevation * 0.225)} #{( $box-shadow-blur-strengh * 0.225 )} #{rgba($grey-900, ($box-shadow-opacity * 0.6))}, #{($box-shadow-elevation * 0.5 * 0.417)} #{($box-shadow-elevation * 0.417)} #{( $box-shadow-blur-strengh * 0.417 )} #{rgba($grey-900, ($box-shadow-opacity * 0.717))}, #{($box-shadow-elevation * 0.5)} #{$box-shadow-elevation} #{$box-shadow-blur-strengh} #{rgba( $grey-900, $box-shadow-opacity )}, 0 0 0 0.0625rem #{rgba($grey-900, ($box-shadow-opacity * 0.25))}; #{$✨}card-sectionning-background-color: #{mix($grey-50, $white, 25%)}; // Dropdown (
) #{$✨}dropdown-background-color: #{mix($grey-50, $white, 25%)}; #{$✨}dropdown-border-color: #{mix($grey-100, $grey-50)}; #{$✨}dropdown-box-shadow: var(#{$✨}card-box-shadow); #{$✨}dropdown-color: var(#{$✨}color); #{$✨}dropdown-hover-background-color: #{$grey-50}; // Modal () #{$✨}modal-overlay-background-color: #{rgba($grey-100, 0.7)}; // Progress #{$✨}progress-background-color: #{$grey-100}; #{$✨}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='#{functions.display-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='#{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-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-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-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"); #{$✨}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='#{functions.display-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='#{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-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"); #{$✨}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"); // Document color-scheme: light; }