/* The color-scheme CSS property https://web.dev/color-scheme/ */ :root{ // variable prefix --prefix: #{$prefix}; --#{$prefix}pure-black: #{$pure-black}; // Icons sizing --#{$prefix}icon-size: #{$icon-size}; --#{$prefix}icon-size-xs: #{$icon-size-xs}; --#{$prefix}icon-size-sm: #{$icon-size-sm}; --#{$prefix}icon-size-md: #{$icon-size-md}; --#{$prefix}icon-size-lg: #{$icon-size-lg}; --#{$prefix}icon-size-xl: #{$icon-size-xl}; @function calculate-contrast($color) { @return if(lightness($color) > 75%, var(--#{$prefix}pure-black), var(--#{$prefix}white)); } @each $color, $value in $custom-theme-colors { // Construct CSS variable names with Sass interpolation --#{$prefix}#{$color}-contrast: #{calculate-contrast($value)}; } } :root, [data-bs-theme="light"] { // global custom variables --#{$prefix}bg-label-tint-amount: #{$bg-label-tint-amount}; --#{$prefix}border-subtle-amount: #{$border-subtle-amount}; --#{$prefix}base-color: #{$black}; --#{$prefix}base-color-rgb: #{$base-rgb}; --#{$prefix}paper-bg: #{$paper-bg}; --#{$prefix}paper-bg-rgb: #{$paper-bg-rgb}; --#{$prefix}min-contrast-ratio: #{$min-contrast-ratio}; // Box-shadow variables --#{$prefix}box-shadow: #{$box-shadow}; --#{$prefix}box-shadow-xs: #{$box-shadow-xs}; --#{$prefix}box-shadow-sm: #{$box-shadow-sm}; --#{$prefix}box-shadow-lg: #{$box-shadow-lg}; --#{$prefix}box-shadow-xl: #{$box-shadow-xl}; --#{$prefix}floating-component-shadow: #{$floating-component-shadow}; // TODO: CheckInBS6 - A new variable has been created because the `$link-color` SCSS #{to-rgb($link-color)} variable was being used, and changing the color did not reflect the update. This new variable ensures that future color changes are applied correctly. --#{$prefix}custom-link-color: var(--#{$prefix}primary); // Navbar --#{$prefix}navbar-bg: #{$navbar-bg}; --#{$prefix}navbar-box-shadow: #{$navbar-box-shadow}; --#{$prefix}navbar-border-width: #{$border-width}; --#{$prefix}navbar-border-color: #{$navbar-bg}; // Menu --#{$prefix}menu-header-color: #{$navbar-light-color}; // Tabs & Pills --#{$prefix}nav-box-shadow: #{$nav-box-shadow}; --#{$prefix}nav-border-color: #{$nav-border-color}; } [data-bs-theme="dark"] { @function calculate-contrast($color) { @return if(lightness($color) > 75%, var(--#{$prefix}pure-black), var(--#{$prefix}white)); } @each $color, $value in $theme-colors-dark { --#{$prefix}#{$color}-contrast: #{calculate-contrast($value)}; } } @if $enable-dark-mode { @include color-mode(dark, true) { color-scheme: dark; @each $color, $value in $grays-dark { --#{$prefix}gray-#{$color}: #{$value}; } @each $color, $value in $theme-colors-dark { --#{$prefix}#{$color}: #{$value}; } @each $color, $value in $theme-colors-rgb-dark { --#{$prefix}#{$color}-rgb: #{$value}; } // global custom variables --#{$prefix}bg-label-tint-amount: #{$bg-label-tint-amount-dark}; --#{$prefix}border-subtle-amount: #{$border-subtle-amount-dark}; --#{$prefix}base-color: #{$base-dark}; --#{$prefix}base-color-rgb: #{$base-rgb-dark}; --#{$prefix}paper-bg: #{$paper-bg-dark}; --#{$prefix}paper-bg-rgb: #{$paper-bg-rgb-dark}; // Box-shadow variables --#{$prefix}box-shadow: #{$box-shadow-dark}; --#{$prefix}box-shadow-xs: #{$box-shadow-xs-dark}; --#{$prefix}box-shadow-sm: #{$box-shadow-sm-dark}; --#{$prefix}box-shadow-lg: #{$box-shadow-lg-dark}; --#{$prefix}box-shadow-xl: #{$box-shadow-xl-dark}; --#{$prefix}floating-component-shadow: #{$box-shadow-dark}; // Navbar --#{$prefix}navbar-box-shadow: #{$navbar-box-shadow-dark}; } } // ? styles specifically for apex-chart dark variant .apexcharts-theme-dark { @each $color, $value in $theme-colors-dark { --#{$prefix}#{$color}: #{$value}; } --#{$prefix}border-color: #{$border-color-dark}; --#{$prefix}box-shadow: #{$box-shadow-dark}; --#{$prefix}body-color: #{$body-color-dark}; --#{$prefix}heading-color: #{$headings-color-dark}; --#{$prefix}paper-bg: #{$paper-bg-dark}; --#{$prefix}base-color: #{$base-dark}; --#{$prefix}secondary-color: #{$body-secondary-color-dark}; }