mirror of
https://github.com/twbs/bootstrap.git
synced 2024-12-01 13:24:25 +01:00
9e17b2b34c
* Add global variables for box-shadow focus rings * Update instances of -btn-focus-box-shadow to use -ring-box-shadow, unless it's for buttons or inputs * fix variable name * Add CSS variables for global focus styling, document it * Move to CSS vars section * Update scss/_nav.scss Co-authored-by: Gaël Poupard <ffoodd@users.noreply.github.com> * Helper and utils * Fix bundlewatch * Change 'Focus ring' in sidebar so that the page can be visible * Minor typo fix * fix merge * Revamp some more, improve docs Co-authored-by: Gaël Poupard <ffoodd@users.noreply.github.com> Co-authored-by: Julien Déramond <juderamond@gmail.com> Co-authored-by: Patrick H. Lauke <redux@splintered.co.uk>
207 lines
7.8 KiB
SCSS
207 lines
7.8 KiB
SCSS
:root,
|
|
[data-bs-theme="light"] {
|
|
// Note: Custom variable values only support SassScript inside `#{}`.
|
|
|
|
// Colors
|
|
//
|
|
// Generate palettes for full colors, grays, and theme colors.
|
|
|
|
@each $color, $value in $colors {
|
|
--#{$prefix}#{$color}: #{$value};
|
|
}
|
|
|
|
@each $color, $value in $grays {
|
|
--#{$prefix}gray-#{$color}: #{$value};
|
|
}
|
|
|
|
@each $color, $value in $theme-colors {
|
|
--#{$prefix}#{$color}: #{$value};
|
|
}
|
|
|
|
@each $color, $value in $theme-colors-rgb {
|
|
--#{$prefix}#{$color}-rgb: #{$value};
|
|
}
|
|
|
|
@each $color, $value in $theme-colors-text {
|
|
--#{$prefix}#{$color}-text: #{$value};
|
|
}
|
|
|
|
@each $color, $value in $theme-colors-bg-subtle {
|
|
--#{$prefix}#{$color}-bg-subtle: #{$value};
|
|
}
|
|
|
|
@each $color, $value in $theme-colors-border-subtle {
|
|
--#{$prefix}#{$color}-border-subtle: #{$value};
|
|
}
|
|
|
|
--#{$prefix}white-rgb: #{to-rgb($white)};
|
|
--#{$prefix}black-rgb: #{to-rgb($black)};
|
|
--#{$prefix}body-color-rgb: #{to-rgb($body-color)};
|
|
--#{$prefix}body-bg-rgb: #{to-rgb($body-bg)};
|
|
|
|
// Fonts
|
|
|
|
// Note: Use `inspect` for lists so that quoted items keep the quotes.
|
|
// See https://github.com/sass/sass/issues/2383#issuecomment-336349172
|
|
--#{$prefix}font-sans-serif: #{inspect($font-family-sans-serif)};
|
|
--#{$prefix}font-monospace: #{inspect($font-family-monospace)};
|
|
--#{$prefix}gradient: #{$gradient};
|
|
|
|
// Root and body
|
|
// scss-docs-start root-body-variables
|
|
@if $font-size-root != null {
|
|
--#{$prefix}root-font-size: #{$font-size-root};
|
|
}
|
|
--#{$prefix}body-font-family: #{inspect($font-family-base)};
|
|
@include rfs($font-size-base, --#{$prefix}body-font-size);
|
|
--#{$prefix}body-font-weight: #{$font-weight-base};
|
|
--#{$prefix}body-line-height: #{$line-height-base};
|
|
--#{$prefix}body-color: #{$body-color};
|
|
|
|
--#{$prefix}emphasis-color: #{$body-emphasis-color};
|
|
--#{$prefix}emphasis-color-rgb: #{to-rgb($body-emphasis-color)};
|
|
|
|
--#{$prefix}secondary-color: #{$body-secondary-color};
|
|
--#{$prefix}secondary-color-rgb: #{to-rgb($body-secondary-color)};
|
|
--#{$prefix}secondary-bg: #{$body-secondary-bg};
|
|
--#{$prefix}secondary-bg-rgb: #{to-rgb($body-secondary-bg)};
|
|
|
|
--#{$prefix}tertiary-color: #{$body-tertiary-color};
|
|
--#{$prefix}tertiary-color-rgb: #{to-rgb($body-tertiary-color)};
|
|
--#{$prefix}tertiary-bg: #{$body-tertiary-bg};
|
|
--#{$prefix}tertiary-bg-rgb: #{to-rgb($body-tertiary-bg)};
|
|
|
|
@if $body-text-align != null {
|
|
--#{$prefix}body-text-align: #{$body-text-align};
|
|
}
|
|
--#{$prefix}body-bg: #{$body-bg};
|
|
--#{$prefix}body-bg-rgb: #{to-rgb($body-bg)};
|
|
// scss-docs-end root-body-variables
|
|
|
|
@if $headings-color != null {
|
|
--#{$prefix}heading-color: #{$headings-color};
|
|
}
|
|
|
|
--#{$prefix}link-color: #{$link-color};
|
|
--#{$prefix}link-color-rgb: #{to-rgb($link-color)};
|
|
--#{$prefix}link-decoration: #{$link-decoration};
|
|
|
|
--#{$prefix}link-hover-color: #{$link-hover-color};
|
|
--#{$prefix}link-hover-color-rgb: #{to-rgb($link-hover-color)};
|
|
|
|
@if $link-hover-decoration != null {
|
|
--#{$prefix}link-hover-decoration: #{$link-hover-decoration};
|
|
}
|
|
|
|
--#{$prefix}code-color: #{$code-color};
|
|
--#{$prefix}highlight-bg: #{$mark-bg};
|
|
|
|
// scss-docs-start root-border-var
|
|
--#{$prefix}border-width: #{$border-width};
|
|
--#{$prefix}border-style: #{$border-style};
|
|
--#{$prefix}border-color: #{$border-color};
|
|
--#{$prefix}border-color-translucent: #{$border-color-translucent};
|
|
|
|
--#{$prefix}border-radius: #{$border-radius};
|
|
--#{$prefix}border-radius-sm: #{$border-radius-sm};
|
|
--#{$prefix}border-radius-lg: #{$border-radius-lg};
|
|
--#{$prefix}border-radius-xl: #{$border-radius-xl};
|
|
--#{$prefix}border-radius-2xl: #{$border-radius-2xl};
|
|
--#{$prefix}border-radius-pill: #{$border-radius-pill};
|
|
// scss-docs-end root-border-var
|
|
|
|
--#{$prefix}box-shadow: #{$box-shadow};
|
|
--#{$prefix}box-shadow-sm: #{$box-shadow-sm};
|
|
--#{$prefix}box-shadow-lg: #{$box-shadow-lg};
|
|
--#{$prefix}box-shadow-inset: #{$box-shadow-inset};
|
|
|
|
--#{$prefix}emphasis-color: #{$emphasis-color};
|
|
|
|
// scss-docs-start form-control-vars
|
|
--#{$prefix}form-control-bg: var(--#{$prefix}body-bg);
|
|
--#{$prefix}form-control-disabled-bg: var(--#{$prefix}secondary-bg);
|
|
// scss-docs-end form-control-vars
|
|
|
|
--#{$prefix}highlight-bg: #{$mark-bg};
|
|
|
|
@each $name, $value in $grid-breakpoints {
|
|
--#{$prefix}breakpoint-#{$name}: #{$value};
|
|
}
|
|
|
|
// Focus styles
|
|
// scss-docs-start root-focus-variables
|
|
--#{$prefix}focus-ring-width: #{$focus-ring-width};
|
|
--#{$prefix}focus-ring-opacity: #{$focus-ring-opacity};
|
|
--#{$prefix}focus-ring-color: #{$focus-ring-color};
|
|
// By default, there is no `--bs-focus-ring-x`, `--bs-focus-ring-y`, or `--bs-focus-ring-blur`, but we provide CSS variables with fallbacks to initial `0` values
|
|
--#{$prefix}focus-ring-box-shadow: var(--#{$prefix}focus-ring-x, 0) var(--#{$prefix}focus-ring-y, 0) var(--#{$prefix}focus-ring-blur, 0) var(--#{$prefix}focus-ring-width) var(--#{$prefix}focus-ring-color);
|
|
// scss-docs-end root-focus-variables
|
|
}
|
|
|
|
@if $enable-dark-mode {
|
|
@include color-mode(dark, true) {
|
|
color-scheme: dark;
|
|
|
|
// scss-docs-start root-dark-mode-vars
|
|
--#{$prefix}body-color: #{$body-color-dark};
|
|
--#{$prefix}body-color-rgb: #{to-rgb($body-color-dark)};
|
|
--#{$prefix}body-bg: #{$body-bg-dark};
|
|
--#{$prefix}body-bg-rgb: #{to-rgb($body-bg-dark)};
|
|
|
|
--#{$prefix}emphasis-color: #{$body-emphasis-color-dark};
|
|
--#{$prefix}emphasis-color-rgb: #{to-rgb($body-emphasis-color-dark)};
|
|
|
|
--#{$prefix}secondary-color: #{$body-secondary-color-dark};
|
|
--#{$prefix}secondary-color-rgb: #{to-rgb($body-secondary-color-dark)};
|
|
--#{$prefix}secondary-bg: #{$body-secondary-bg-dark};
|
|
--#{$prefix}secondary-bg-rgb: #{to-rgb($body-secondary-bg-dark)};
|
|
|
|
--#{$prefix}tertiary-color: #{$body-tertiary-color-dark};
|
|
--#{$prefix}tertiary-color-rgb: #{to-rgb($body-tertiary-color-dark)};
|
|
--#{$prefix}tertiary-bg: #{$body-tertiary-bg-dark};
|
|
--#{$prefix}tertiary-bg-rgb: #{to-rgb($body-tertiary-bg-dark)};
|
|
|
|
--#{$prefix}emphasis-color: #{$emphasis-color-dark};
|
|
|
|
--#{$prefix}primary-text: #{$primary-text-dark};
|
|
--#{$prefix}secondary-text: #{$secondary-text-dark};
|
|
--#{$prefix}success-text: #{$success-text-dark};
|
|
--#{$prefix}info-text: #{$info-text-dark};
|
|
--#{$prefix}warning-text: #{$warning-text-dark};
|
|
--#{$prefix}danger-text: #{$danger-text-dark};
|
|
--#{$prefix}light-text: #{$light-text-dark};
|
|
--#{$prefix}dark-text: #{$dark-text-dark};
|
|
|
|
--#{$prefix}primary-bg-subtle: #{$primary-bg-subtle-dark};
|
|
--#{$prefix}secondary-bg-subtle: #{$secondary-bg-subtle-dark};
|
|
--#{$prefix}success-bg-subtle: #{$success-bg-subtle-dark};
|
|
--#{$prefix}info-bg-subtle: #{$info-bg-subtle-dark};
|
|
--#{$prefix}warning-bg-subtle: #{$warning-bg-subtle-dark};
|
|
--#{$prefix}danger-bg-subtle: #{$danger-bg-subtle-dark};
|
|
--#{$prefix}light-bg-subtle: #{$light-bg-subtle-dark};
|
|
--#{$prefix}dark-bg-subtle: #{$dark-bg-subtle-dark};
|
|
|
|
--#{$prefix}primary-border-subtle: #{$primary-border-subtle-dark};
|
|
--#{$prefix}secondary-border-subtle: #{$secondary-border-subtle-dark};
|
|
--#{$prefix}success-border-subtle: #{$success-border-subtle-dark};
|
|
--#{$prefix}info-border-subtle: #{$info-border-subtle-dark};
|
|
--#{$prefix}warning-border-subtle: #{$warning-border-subtle-dark};
|
|
--#{$prefix}danger-border-subtle: #{$danger-border-subtle-dark};
|
|
--#{$prefix}light-border-subtle: #{$light-border-subtle-dark};
|
|
--#{$prefix}dark-border-subtle: #{$dark-border-subtle-dark};
|
|
|
|
--#{$prefix}heading-color: #{$headings-color-dark};
|
|
|
|
--#{$prefix}link-color: #{$link-color-dark};
|
|
--#{$prefix}link-hover-color: #{$link-hover-color-dark};
|
|
--#{$prefix}link-color-rgb: #{to-rgb($link-color-dark)};
|
|
--#{$prefix}link-hover-color-rgb: #{to-rgb($link-hover-color-dark)};
|
|
|
|
--#{$prefix}code-color: #{$code-color-dark};
|
|
|
|
--#{$prefix}border-color: #{$border-color-dark};
|
|
--#{$prefix}border-color-translucent: #{$border-color-translucent-dark};
|
|
// scss-docs-end root-dark-mode-vars
|
|
}
|
|
}
|