Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision
  • koma/feature/preference-polling-form
  • main
  • renovate/django-5.x
  • renovate/django-bootstrap5-25.x
  • renovate/django-debug-toolbar-6.x
  • renovate/djangorestframework-3.x
  • renovate/jsonschema-4.x
7 results

Target

Select target project
  • konstantin/akplanning
  • matedealer/akplanning
  • kif/akplanning
  • mirco/akplanning
  • lordofthevoid/akplanning
  • voidptr/akplanning
  • xayomer/akplanning-fork
  • mollux/akplanning
  • neumantm/akplanning
  • mmarx/akplanning
  • nerf/akplanning
  • felix_bonn/akplanning
  • sebastian.uschmann/akplanning
13 results
Select Git revision
  • 520-akowner
  • 520-fix-event-wizard-datepicker
  • 520-fix-scheduling
  • 520-improve-scheduling
  • 520-improve-scheduling-2
  • 520-improve-submission
  • 520-improve-trackmanager
  • 520-improve-wall
  • 520-message-resolved
  • 520-status
  • 520-upgrades
  • add_express_interest_to_ak_overview
  • admin-production-color
  • bugfixes
  • csp
  • featire-ical-export
  • feature-ak-requirement-lists
  • feature-akslide-export-better-filename
  • feature-akslides
  • feature-better-admin
  • feature-better-cv-list
  • feature-colors
  • feature-constraint-checking
  • feature-constraint-checking-wip
  • feature-dashboard-history-button
  • feature-event-status
  • feature-event-wizard
  • feature-export-flag
  • feature-improve-admin
  • feature-improve-filters
  • feature-improved-user-creation-workflow
  • feature-interest-view
  • feature-mails
  • feature-modular-status
  • feature-plan-autoreload
  • feature-present-default
  • feature-register-link
  • feature-remaining-constraint-validation
  • feature-room-import
  • feature-scheduler-improve
  • feature-scheduling-2.0
  • feature-special-attention
  • feature-time-input
  • feature-tracker
  • feature-wiki-wishes
  • feature-wish-slots
  • feature-wizard-buttons
  • features-availabilities
  • fix-ak-times-above-folg
  • fix-api
  • fix-constraint-violation-string
  • fix-cv-checking
  • fix-default-slot-length
  • fix-default-slot-localization
  • fix-doc-minor
  • fix-duration-display
  • fix-event-tz-pytz-update
  • fix-history-interest
  • fix-interest-view
  • fix-js
  • fix-pipeline
  • fix-plan-timezone-now
  • fix-room-add
  • fix-scheduling-drag
  • fix-slot-defaultlength
  • fix-timezone
  • fix-translation-scheduling
  • fix-virtual-room-admin
  • fix-wizard-csp
  • font-locally
  • improve-admin
  • improve-online
  • improve-slides
  • improve-submission-coupling
  • interest_restriction
  • main
  • master
  • meta-debug-toolbar
  • meta-export
  • meta-makemessages
  • meta-performance
  • meta-tests
  • meta-tests-gitlab-test
  • meta-upgrades
  • mollux-master-patch-02906
  • port-availabilites-fullcalendar
  • qs
  • remove-tags
  • renovate/configure
  • renovate/django-4.x
  • renovate/django-5.x
  • renovate/django-bootstrap-datepicker-plus-5.x
  • renovate/django-bootstrap5-23.x
  • renovate/django-bootstrap5-24.x
  • renovate/django-compressor-4.x
  • renovate/django-debug-toolbar-4.x
  • renovate/django-registration-redux-2.x
  • renovate/django-simple-history-3.x
  • renovate/django-split-settings-1.x
  • renovate/django-timezone-field-5.x
100 results
Show changes
Showing
with 991 additions and 303 deletions
...@@ -177,7 +177,7 @@ $_luminance-list: .0008 .001 .0011 .0013 .0015 .0017 .002 .0022 .0025 .0027 .003 ...@@ -177,7 +177,7 @@ $_luminance-list: .0008 .001 .0011 .0013 .0015 .0017 .002 .0022 .0025 .0027 .003
@return if($l1 > $l2, divide($l1 + .05, $l2 + .05), divide($l2 + .05, $l1 + .05)); @return if($l1 > $l2, divide($l1 + .05, $l2 + .05), divide($l2 + .05, $l1 + .05));
} }
// Return WCAG2.1 relative luminance // Return WCAG2.2 relative luminance
// See https://www.w3.org/TR/WCAG/#dfn-relative-luminance // See https://www.w3.org/TR/WCAG/#dfn-relative-luminance
// See https://www.w3.org/TR/WCAG/#dfn-contrast-ratio // See https://www.w3.org/TR/WCAG/#dfn-contrast-ratio
@function luminance($color) { @function luminance($color) {
...@@ -188,7 +188,7 @@ $_luminance-list: .0008 .001 .0011 .0013 .0015 .0017 .002 .0022 .0025 .0027 .003 ...@@ -188,7 +188,7 @@ $_luminance-list: .0008 .001 .0011 .0013 .0015 .0017 .002 .0022 .0025 .0027 .003
); );
@each $name, $value in $rgb { @each $name, $value in $rgb {
$value: if(divide($value, 255) < .03928, divide(divide($value, 255), 12.92), nth($_luminance-list, $value + 1)); $value: if(divide($value, 255) < .04045, divide(divide($value, 255), 12.92), nth($_luminance-list, $value + 1));
$rgb: map-merge($rgb, ($name: $value)); $rgb: map-merge($rgb, ($name: $value));
} }
......
...@@ -2,6 +2,12 @@ ...@@ -2,6 +2,12 @@
// //
// Rows contain your columns. // Rows contain your columns.
:root {
@each $name, $value in $grid-breakpoints {
--#{$prefix}breakpoint-#{$name}: #{$value};
}
}
@if $enable-grid-classes { @if $enable-grid-classes {
.row { .row {
@include make-row(); @include make-row();
......
@import "helpers/clearfix"; @import "helpers/clearfix";
@import "helpers/color-bg"; @import "helpers/color-bg";
@import "helpers/colored-links"; @import "helpers/colored-links";
@import "helpers/focus-ring";
@import "helpers/icon-link";
@import "helpers/ratio"; @import "helpers/ratio";
@import "helpers/position"; @import "helpers/position";
@import "helpers/stacks"; @import "helpers/stacks";
......
...@@ -43,31 +43,6 @@ ...@@ -43,31 +43,6 @@
} }
} }
// Interactive list items
//
// Use anchor or button elements instead of `li`s or `div`s to create interactive
// list items. Includes an extra `.active` modifier class for selected items.
.list-group-item-action {
width: 100%; // For `<button>`s (anchors become 100% by default though)
color: var(--#{$prefix}list-group-action-color);
text-align: inherit; // For `<button>`s (anchors inherit)
// Hover state
&:hover,
&:focus {
z-index: 1; // Place hover/focus items above their siblings for proper border styling
color: var(--#{$prefix}list-group-action-hover-color);
text-decoration: none;
background-color: var(--#{$prefix}list-group-action-hover-bg);
}
&:active {
color: var(--#{$prefix}list-group-action-active-color);
background-color: var(--#{$prefix}list-group-action-active-bg);
}
}
// Individual list items // Individual list items
// //
// Use on `li`s or `div`s within the `.list-group` parent. // Use on `li`s or `div`s within the `.list-group` parent.
...@@ -115,6 +90,33 @@ ...@@ -115,6 +90,33 @@
} }
} }
// Interactive list items
//
// Use anchor or button elements instead of `li`s or `div`s to create interactive
// list items. Includes an extra `.active` modifier class for selected items.
.list-group-item-action {
width: 100%; // For `<button>`s (anchors become 100% by default though)
color: var(--#{$prefix}list-group-action-color);
text-align: inherit; // For `<button>`s (anchors inherit)
&:not(.active) {
// Hover state
&:hover,
&:focus {
z-index: 1; // Place hover/focus items above their siblings for proper border styling
color: var(--#{$prefix}list-group-action-hover-color);
text-decoration: none;
background-color: var(--#{$prefix}list-group-action-hover-bg);
}
&:active {
color: var(--#{$prefix}list-group-action-active-color);
background-color: var(--#{$prefix}list-group-action-active-bg);
}
}
}
// Horizontal // Horizontal
// //
// Change the layout of list group items from vertical (default) to horizontal. // Change the layout of list group items from vertical (default) to horizontal.
...@@ -180,13 +182,18 @@ ...@@ -180,13 +182,18 @@
// Add modifier classes to change text and background color on individual items. // Add modifier classes to change text and background color on individual items.
// Organizationally, this must come after the `:hover` states. // Organizationally, this must come after the `:hover` states.
@each $state, $value in $theme-colors { @each $state in map-keys($theme-colors) {
$list-group-variant-bg: shift-color($value, $list-group-item-bg-scale); .list-group-item-#{$state} {
$list-group-variant-color: shift-color($value, $list-group-item-color-scale); --#{$prefix}list-group-color: var(--#{$prefix}#{$state}-text-emphasis);
@if (contrast-ratio($list-group-variant-bg, $list-group-variant-color) < $min-contrast-ratio) { --#{$prefix}list-group-bg: var(--#{$prefix}#{$state}-bg-subtle);
$list-group-variant-color: mix($value, color-contrast($list-group-variant-bg), abs($list-group-item-color-scale)); --#{$prefix}list-group-border-color: var(--#{$prefix}#{$state}-border-subtle);
--#{$prefix}list-group-action-hover-color: var(--#{$prefix}emphasis-color);
--#{$prefix}list-group-action-hover-bg: var(--#{$prefix}#{$state}-border-subtle);
--#{$prefix}list-group-action-active-color: var(--#{$prefix}emphasis-color);
--#{$prefix}list-group-action-active-bg: var(--#{$prefix}#{$state}-border-subtle);
--#{$prefix}list-group-active-color: var(--#{$prefix}#{$state}-bg-subtle);
--#{$prefix}list-group-active-bg: var(--#{$prefix}#{$state}-text-emphasis);
--#{$prefix}list-group-active-border-color: var(--#{$prefix}#{$state}-text-emphasis);
} }
@include list-group-item-variant($state, $list-group-variant-bg, $list-group-variant-color);
} }
// scss-docs-end list-group-modifiers // scss-docs-end list-group-modifiers
...@@ -6,6 +6,90 @@ ...@@ -6,6 +6,90 @@
$theme-colors-rgb: map-loop($theme-colors, to-rgb, "$value") !default; $theme-colors-rgb: map-loop($theme-colors, to-rgb, "$value") !default;
// scss-docs-end theme-colors-rgb // scss-docs-end theme-colors-rgb
// scss-docs-start theme-text-map
$theme-colors-text: (
"primary": $primary-text-emphasis,
"secondary": $secondary-text-emphasis,
"success": $success-text-emphasis,
"info": $info-text-emphasis,
"warning": $warning-text-emphasis,
"danger": $danger-text-emphasis,
"light": $light-text-emphasis,
"dark": $dark-text-emphasis,
) !default;
// scss-docs-end theme-text-map
// scss-docs-start theme-bg-subtle-map
$theme-colors-bg-subtle: (
"primary": $primary-bg-subtle,
"secondary": $secondary-bg-subtle,
"success": $success-bg-subtle,
"info": $info-bg-subtle,
"warning": $warning-bg-subtle,
"danger": $danger-bg-subtle,
"light": $light-bg-subtle,
"dark": $dark-bg-subtle,
) !default;
// scss-docs-end theme-bg-subtle-map
// scss-docs-start theme-border-subtle-map
$theme-colors-border-subtle: (
"primary": $primary-border-subtle,
"secondary": $secondary-border-subtle,
"success": $success-border-subtle,
"info": $info-border-subtle,
"warning": $warning-border-subtle,
"danger": $danger-border-subtle,
"light": $light-border-subtle,
"dark": $dark-border-subtle,
) !default;
// scss-docs-end theme-border-subtle-map
$theme-colors-text-dark: null !default;
$theme-colors-bg-subtle-dark: null !default;
$theme-colors-border-subtle-dark: null !default;
@if $enable-dark-mode {
// scss-docs-start theme-text-dark-map
$theme-colors-text-dark: (
"primary": $primary-text-emphasis-dark,
"secondary": $secondary-text-emphasis-dark,
"success": $success-text-emphasis-dark,
"info": $info-text-emphasis-dark,
"warning": $warning-text-emphasis-dark,
"danger": $danger-text-emphasis-dark,
"light": $light-text-emphasis-dark,
"dark": $dark-text-emphasis-dark,
) !default;
// scss-docs-end theme-text-dark-map
// scss-docs-start theme-bg-subtle-dark-map
$theme-colors-bg-subtle-dark: (
"primary": $primary-bg-subtle-dark,
"secondary": $secondary-bg-subtle-dark,
"success": $success-bg-subtle-dark,
"info": $info-bg-subtle-dark,
"warning": $warning-bg-subtle-dark,
"danger": $danger-bg-subtle-dark,
"light": $light-bg-subtle-dark,
"dark": $dark-bg-subtle-dark,
) !default;
// scss-docs-end theme-bg-subtle-dark-map
// scss-docs-start theme-border-subtle-dark-map
$theme-colors-border-subtle-dark: (
"primary": $primary-border-subtle-dark,
"secondary": $secondary-border-subtle-dark,
"success": $success-border-subtle-dark,
"info": $info-border-subtle-dark,
"warning": $warning-border-subtle-dark,
"danger": $danger-border-subtle-dark,
"light": $light-border-subtle-dark,
"dark": $dark-border-subtle-dark,
) !default;
// scss-docs-end theme-border-subtle-dark-map
}
// Utilities maps // Utilities maps
// //
// Extends the default `$theme-colors` maps to help create our utilities. // Extends the default `$theme-colors` maps to help create our utilities.
...@@ -25,6 +109,17 @@ $utilities-text: map-merge( ...@@ -25,6 +109,17 @@ $utilities-text: map-merge(
) )
) !default; ) !default;
$utilities-text-colors: map-loop($utilities-text, rgba-css-var, "$key", "text") !default; $utilities-text-colors: map-loop($utilities-text, rgba-css-var, "$key", "text") !default;
$utilities-text-emphasis-colors: (
"primary-emphasis": var(--#{$prefix}primary-text-emphasis),
"secondary-emphasis": var(--#{$prefix}secondary-text-emphasis),
"success-emphasis": var(--#{$prefix}success-text-emphasis),
"info-emphasis": var(--#{$prefix}info-text-emphasis),
"warning-emphasis": var(--#{$prefix}warning-text-emphasis),
"danger-emphasis": var(--#{$prefix}danger-text-emphasis),
"light-emphasis": var(--#{$prefix}light-text-emphasis),
"dark-emphasis": var(--#{$prefix}dark-text-emphasis)
) !default;
// scss-docs-end utilities-text-colors // scss-docs-end utilities-text-colors
// scss-docs-start utilities-bg-colors // scss-docs-start utilities-bg-colors
...@@ -37,18 +132,43 @@ $utilities-bg: map-merge( ...@@ -37,18 +132,43 @@ $utilities-bg: map-merge(
) )
) !default; ) !default;
$utilities-bg-colors: map-loop($utilities-bg, rgba-css-var, "$key", "bg") !default; $utilities-bg-colors: map-loop($utilities-bg, rgba-css-var, "$key", "bg") !default;
$utilities-bg-subtle: (
"primary-subtle": var(--#{$prefix}primary-bg-subtle),
"secondary-subtle": var(--#{$prefix}secondary-bg-subtle),
"success-subtle": var(--#{$prefix}success-bg-subtle),
"info-subtle": var(--#{$prefix}info-bg-subtle),
"warning-subtle": var(--#{$prefix}warning-bg-subtle),
"danger-subtle": var(--#{$prefix}danger-bg-subtle),
"light-subtle": var(--#{$prefix}light-bg-subtle),
"dark-subtle": var(--#{$prefix}dark-bg-subtle)
) !default;
// scss-docs-end utilities-bg-colors // scss-docs-end utilities-bg-colors
// scss-docs-start utilities-border-colors // scss-docs-start utilities-border-colors
$utilities-border: map-merge( $utilities-border: map-merge(
$utilities-colors, $utilities-colors,
( (
"black": to-rgb($black),
"white": to-rgb($white) "white": to-rgb($white)
) )
) !default; ) !default;
$utilities-border-colors: map-loop($utilities-border, rgba-css-var, "$key", "border") !default; $utilities-border-colors: map-loop($utilities-border, rgba-css-var, "$key", "border") !default;
$utilities-border-subtle: (
"primary-subtle": var(--#{$prefix}primary-border-subtle),
"secondary-subtle": var(--#{$prefix}secondary-border-subtle),
"success-subtle": var(--#{$prefix}success-border-subtle),
"info-subtle": var(--#{$prefix}info-border-subtle),
"warning-subtle": var(--#{$prefix}warning-border-subtle),
"danger-subtle": var(--#{$prefix}danger-border-subtle),
"light-subtle": var(--#{$prefix}light-border-subtle),
"dark-subtle": var(--#{$prefix}dark-border-subtle)
) !default;
// scss-docs-end utilities-border-colors // scss-docs-end utilities-border-colors
$utilities-links-underline: map-loop($utilities-colors, rgba-css-var, "$key", "link-underline") !default;
$negative-spacers: if($enable-negative-margins, negativify-map($spacers), null) !default; $negative-spacers: if($enable-negative-margins, negativify-map($spacers), null) !default;
$gutters: $spacers !default; $gutters: $spacers !default;
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
// Helpers // Helpers
@import "mixins/breakpoints"; @import "mixins/breakpoints";
@import "mixins/color-mode";
@import "mixins/color-scheme"; @import "mixins/color-scheme";
@import "mixins/image"; @import "mixins/image";
@import "mixins/resize"; @import "mixins/resize";
...@@ -21,13 +22,11 @@ ...@@ -21,13 +22,11 @@
@import "mixins/utilities"; @import "mixins/utilities";
// Components // Components
@import "mixins/alert";
@import "mixins/backdrop"; @import "mixins/backdrop";
@import "mixins/buttons"; @import "mixins/buttons";
@import "mixins/caret"; @import "mixins/caret";
@import "mixins/pagination"; @import "mixins/pagination";
@import "mixins/lists"; @import "mixins/lists";
@import "mixins/list-group";
@import "mixins/forms"; @import "mixins/forms";
@import "mixins/table-variants"; @import "mixins/table-variants";
......
...@@ -59,8 +59,8 @@ ...@@ -59,8 +59,8 @@
// When fading in the modal, animate it to slide down // When fading in the modal, animate it to slide down
.modal.fade & { .modal.fade & {
@include transition($modal-transition);
transform: $modal-fade-transform; transform: $modal-fade-transform;
@include transition($modal-transition);
} }
.modal.show & { .modal.show & {
transform: $modal-show-transform; transform: $modal-show-transform;
...@@ -126,14 +126,17 @@ ...@@ -126,14 +126,17 @@
display: flex; display: flex;
flex-shrink: 0; flex-shrink: 0;
align-items: center; align-items: center;
justify-content: space-between; // Put modal header elements (title and dismiss) on opposite ends
padding: var(--#{$prefix}modal-header-padding); padding: var(--#{$prefix}modal-header-padding);
border-bottom: var(--#{$prefix}modal-header-border-width) solid var(--#{$prefix}modal-header-border-color); border-bottom: var(--#{$prefix}modal-header-border-width) solid var(--#{$prefix}modal-header-border-color);
@include border-top-radius(var(--#{$prefix}modal-inner-border-radius)); @include border-top-radius(var(--#{$prefix}modal-inner-border-radius));
.btn-close { .btn-close {
padding: calc(var(--#{$prefix}modal-header-padding-y) * .5) calc(var(--#{$prefix}modal-header-padding-x) * .5); padding: calc(var(--#{$prefix}modal-header-padding-y) * .5) calc(var(--#{$prefix}modal-header-padding-x) * .5);
margin: calc(-.5 * var(--#{$prefix}modal-header-padding-y)) calc(-.5 * var(--#{$prefix}modal-header-padding-x)) calc(-.5 * var(--#{$prefix}modal-header-padding-y)) auto; // Split properties to avoid invalid calc() function if value is 0
margin-top: calc(-.5 * var(--#{$prefix}modal-header-padding-y));
margin-right: calc(-.5 * var(--#{$prefix}modal-header-padding-x));
margin-bottom: calc(-.5 * var(--#{$prefix}modal-header-padding-y));
margin-left: auto;
} }
} }
......
...@@ -28,6 +28,8 @@ ...@@ -28,6 +28,8 @@
font-weight: var(--#{$prefix}nav-link-font-weight); font-weight: var(--#{$prefix}nav-link-font-weight);
color: var(--#{$prefix}nav-link-color); color: var(--#{$prefix}nav-link-color);
text-decoration: if($link-decoration == none, null, none); text-decoration: if($link-decoration == none, null, none);
background: none;
border: 0;
@include transition($nav-link-transition); @include transition($nav-link-transition);
&:hover, &:hover,
...@@ -36,8 +38,14 @@ ...@@ -36,8 +38,14 @@
text-decoration: if($link-hover-decoration == underline, none, null); text-decoration: if($link-hover-decoration == underline, none, null);
} }
&:focus-visible {
outline: 0;
box-shadow: $nav-link-focus-box-shadow;
}
// Disabled state lightens text // Disabled state lightens text
&.disabled { &.disabled,
&:disabled {
color: var(--#{$prefix}nav-link-disabled-color); color: var(--#{$prefix}nav-link-disabled-color);
pointer-events: none; pointer-events: none;
cursor: default; cursor: default;
...@@ -63,7 +71,6 @@ ...@@ -63,7 +71,6 @@
.nav-link { .nav-link {
margin-bottom: calc(-1 * var(--#{$prefix}nav-tabs-border-width)); // stylelint-disable-line function-disallowed-list margin-bottom: calc(-1 * var(--#{$prefix}nav-tabs-border-width)); // stylelint-disable-line function-disallowed-list
background: none;
border: var(--#{$prefix}nav-tabs-border-width) solid transparent; border: var(--#{$prefix}nav-tabs-border-width) solid transparent;
@include border-top-radius(var(--#{$prefix}nav-tabs-border-radius)); @include border-top-radius(var(--#{$prefix}nav-tabs-border-radius));
...@@ -73,13 +80,6 @@ ...@@ -73,13 +80,6 @@
isolation: isolate; isolation: isolate;
border-color: var(--#{$prefix}nav-tabs-link-hover-border-color); border-color: var(--#{$prefix}nav-tabs-link-hover-border-color);
} }
&.disabled,
&:disabled {
color: var(--#{$prefix}nav-link-disabled-color);
background-color: transparent;
border-color: transparent;
}
} }
.nav-link.active, .nav-link.active,
...@@ -110,15 +110,7 @@ ...@@ -110,15 +110,7 @@
// scss-docs-end nav-pills-css-vars // scss-docs-end nav-pills-css-vars
.nav-link { .nav-link {
background: none;
border: 0;
@include border-radius(var(--#{$prefix}nav-pills-border-radius)); @include border-radius(var(--#{$prefix}nav-pills-border-radius));
&:disabled {
color: var(--#{$prefix}nav-link-disabled-color);
background-color: transparent;
border-color: transparent;
}
} }
.nav-link.active, .nav-link.active,
...@@ -129,6 +121,39 @@ ...@@ -129,6 +121,39 @@
} }
//
// Underline
//
.nav-underline {
// scss-docs-start nav-underline-css-vars
--#{$prefix}nav-underline-gap: #{$nav-underline-gap};
--#{$prefix}nav-underline-border-width: #{$nav-underline-border-width};
--#{$prefix}nav-underline-link-active-color: #{$nav-underline-link-active-color};
// scss-docs-end nav-underline-css-vars
gap: var(--#{$prefix}nav-underline-gap);
.nav-link {
padding-right: 0;
padding-left: 0;
border-bottom: var(--#{$prefix}nav-underline-border-width) solid transparent;
&:hover,
&:focus {
border-bottom-color: currentcolor;
}
}
.nav-link.active,
.show > .nav-link {
font-weight: $font-weight-bold;
color: var(--#{$prefix}nav-underline-link-active-color);
border-bottom-color: currentcolor;
}
}
// //
// Justified variants // Justified variants
// //
...@@ -144,8 +169,8 @@ ...@@ -144,8 +169,8 @@
.nav-justified { .nav-justified {
> .nav-link, > .nav-link,
.nav-item { .nav-item {
flex-basis: 0;
flex-grow: 1; flex-grow: 1;
flex-basis: 0;
text-align: center; text-align: center;
} }
} }
......
...@@ -100,10 +100,12 @@ ...@@ -100,10 +100,12 @@
margin-bottom: 0; margin-bottom: 0;
list-style: none; list-style: none;
.show > .nav-link, .nav-link {
.nav-link.active { &.active,
&.show {
color: var(--#{$prefix}navbar-active-color); color: var(--#{$prefix}navbar-active-color);
} }
}
.dropdown-menu { .dropdown-menu {
position: static; position: static;
...@@ -137,8 +139,8 @@ ...@@ -137,8 +139,8 @@
// the default flexbox row orientation. Requires the use of `flex-wrap: wrap` // the default flexbox row orientation. Requires the use of `flex-wrap: wrap`
// on the `.navbar` parent. // on the `.navbar` parent.
.navbar-collapse { .navbar-collapse {
flex-basis: 100%;
flex-grow: 1; flex-grow: 1;
flex-basis: 100%;
// For always expanded or extra full navbars, ensure content aligns itself // For always expanded or extra full navbars, ensure content aligns itself
// properly vertically. Can be easily overridden with flex utilities. // properly vertically. Can be easily overridden with flex utilities.
align-items: center; align-items: center;
...@@ -264,7 +266,8 @@ ...@@ -264,7 +266,8 @@
@include deprecate("`.navbar-light`", "v5.2.0", "v6.0.0", true); @include deprecate("`.navbar-light`", "v5.2.0", "v6.0.0", true);
} }
.navbar-dark { .navbar-dark,
.navbar[data-bs-theme="dark"] {
// scss-docs-start navbar-dark-css-vars // scss-docs-start navbar-dark-css-vars
--#{$prefix}navbar-color: #{$navbar-dark-color}; --#{$prefix}navbar-color: #{$navbar-dark-color};
--#{$prefix}navbar-hover-color: #{$navbar-dark-hover-color}; --#{$prefix}navbar-hover-color: #{$navbar-dark-hover-color};
...@@ -276,3 +279,11 @@ ...@@ -276,3 +279,11 @@
--#{$prefix}navbar-toggler-icon-bg: #{escape-svg($navbar-dark-toggler-icon-bg)}; --#{$prefix}navbar-toggler-icon-bg: #{escape-svg($navbar-dark-toggler-icon-bg)};
// scss-docs-end navbar-dark-css-vars // scss-docs-end navbar-dark-css-vars
} }
@if $enable-dark-mode {
@include color-mode(dark) {
.navbar-toggler-icon {
--#{$prefix}navbar-toggler-icon-bg: #{escape-svg($navbar-dark-toggler-icon-bg)};
}
}
}
...@@ -12,6 +12,8 @@ ...@@ -12,6 +12,8 @@
--#{$prefix}offcanvas-border-width: #{$offcanvas-border-width}; --#{$prefix}offcanvas-border-width: #{$offcanvas-border-width};
--#{$prefix}offcanvas-border-color: #{$offcanvas-border-color}; --#{$prefix}offcanvas-border-color: #{$offcanvas-border-color};
--#{$prefix}offcanvas-box-shadow: #{$offcanvas-box-shadow}; --#{$prefix}offcanvas-box-shadow: #{$offcanvas-box-shadow};
--#{$prefix}offcanvas-transition: #{transform $offcanvas-transition-duration ease-in-out};
--#{$prefix}offcanvas-title-line-height: #{$offcanvas-title-line-height};
// scss-docs-end offcanvas-css-vars // scss-docs-end offcanvas-css-vars
} }
...@@ -42,7 +44,7 @@ ...@@ -42,7 +44,7 @@
background-clip: padding-box; background-clip: padding-box;
outline: 0; outline: 0;
@include box-shadow(var(--#{$prefix}offcanvas-box-shadow)); @include box-shadow(var(--#{$prefix}offcanvas-box-shadow));
@include transition(transform $offcanvas-transition-duration ease-in-out); @include transition(var(--#{$prefix}offcanvas-transition));
&.offcanvas-start { &.offcanvas-start {
top: 0; top: 0;
...@@ -121,20 +123,21 @@ ...@@ -121,20 +123,21 @@
.offcanvas-header { .offcanvas-header {
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: space-between;
padding: var(--#{$prefix}offcanvas-padding-y) var(--#{$prefix}offcanvas-padding-x); padding: var(--#{$prefix}offcanvas-padding-y) var(--#{$prefix}offcanvas-padding-x);
.btn-close { .btn-close {
padding: calc(var(--#{$prefix}offcanvas-padding-y) * .5) calc(var(--#{$prefix}offcanvas-padding-x) * .5); padding: calc(var(--#{$prefix}offcanvas-padding-y) * .5) calc(var(--#{$prefix}offcanvas-padding-x) * .5);
// Split properties to avoid invalid calc() function if value is 0
margin-top: calc(-.5 * var(--#{$prefix}offcanvas-padding-y)); margin-top: calc(-.5 * var(--#{$prefix}offcanvas-padding-y));
margin-right: calc(-.5 * var(--#{$prefix}offcanvas-padding-x)); margin-right: calc(-.5 * var(--#{$prefix}offcanvas-padding-x));
margin-bottom: calc(-.5 * var(--#{$prefix}offcanvas-padding-y)); margin-bottom: calc(-.5 * var(--#{$prefix}offcanvas-padding-y));
margin-left: auto;
} }
} }
.offcanvas-title { .offcanvas-title {
margin-bottom: 0; margin-bottom: 0;
line-height: $offcanvas-title-line-height; line-height: var(--#{$prefix}offcanvas-title-line-height);
} }
.offcanvas-body { .offcanvas-body {
......
...@@ -75,7 +75,7 @@ ...@@ -75,7 +75,7 @@
margin-left: $pagination-margin-start; margin-left: $pagination-margin-start;
} }
@if $pagination-margin-start == ($pagination-border-width * -1) { @if $pagination-margin-start == calc(-1 * #{$pagination-border-width}) {
&:first-child { &:first-child {
.page-link { .page-link {
@include border-start-radius(var(--#{$prefix}pagination-border-radius)); @include border-start-radius(var(--#{$prefix}pagination-border-radius));
......
...@@ -3,12 +3,15 @@ ...@@ -3,12 +3,15 @@
// scss-docs-start progress-keyframes // scss-docs-start progress-keyframes
@if $enable-transitions { @if $enable-transitions {
@keyframes progress-bar-stripes { @keyframes progress-bar-stripes {
0% { background-position-x: $progress-height; } 0% {
background-position-x: var(--#{$prefix}progress-height);
}
} }
} }
// scss-docs-end progress-keyframes // scss-docs-end progress-keyframes
.progress { .progress,
.progress-stacked {
// scss-docs-start progress-css-vars // scss-docs-start progress-css-vars
--#{$prefix}progress-height: #{$progress-height}; --#{$prefix}progress-height: #{$progress-height};
@include rfs($progress-font-size, --#{$prefix}progress-font-size); @include rfs($progress-font-size, --#{$prefix}progress-font-size);
...@@ -46,6 +49,14 @@ ...@@ -46,6 +49,14 @@
background-size: var(--#{$prefix}progress-height) var(--#{$prefix}progress-height); background-size: var(--#{$prefix}progress-height) var(--#{$prefix}progress-height);
} }
.progress-stacked > .progress {
overflow: visible;
}
.progress-stacked > .progress > .progress-bar {
width: 100%;
}
@if $enable-transitions { @if $enable-transitions {
.progress-bar-animated { .progress-bar-animated {
animation: $progress-bar-animation-timing progress-bar-stripes; animation: $progress-bar-animation-timing progress-bar-stripes;
......
...@@ -87,7 +87,7 @@ hr { ...@@ -87,7 +87,7 @@ hr {
font-style: $headings-font-style; font-style: $headings-font-style;
font-weight: $headings-font-weight; font-weight: $headings-font-weight;
line-height: $headings-line-height; line-height: $headings-line-height;
color: $headings-color; color: var(--#{$prefix}heading-color);
} }
h1 { h1 {
...@@ -217,6 +217,7 @@ small { ...@@ -217,6 +217,7 @@ small {
mark { mark {
padding: $mark-padding; padding: $mark-padding;
color: var(--#{$prefix}highlight-color);
background-color: var(--#{$prefix}highlight-bg); background-color: var(--#{$prefix}highlight-bg);
} }
...@@ -241,11 +242,11 @@ sup { top: -.5em; } ...@@ -241,11 +242,11 @@ sup { top: -.5em; }
// Links // Links
a { a {
color: var(--#{$prefix}link-color); color: rgba(var(--#{$prefix}link-color-rgb), var(--#{$prefix}link-opacity, 1));
text-decoration: $link-decoration; text-decoration: $link-decoration;
&:hover { &:hover {
color: var(--#{$prefix}link-hover-color); --#{$prefix}link-color-rgb: var(--#{$prefix}link-hover-color-rgb);
text-decoration: $link-hover-decoration; text-decoration: $link-hover-decoration;
} }
} }
...@@ -498,9 +499,9 @@ legend { ...@@ -498,9 +499,9 @@ legend {
width: 100%; width: 100%;
padding: 0; padding: 0;
margin-bottom: $legend-margin-bottom; margin-bottom: $legend-margin-bottom;
@include font-size($legend-font-size);
font-weight: $legend-font-weight; font-weight: $legend-font-weight;
line-height: inherit; line-height: inherit;
@include font-size($legend-font-size);
+ * { + * {
clear: left; // 2 clear: left; // 2
...@@ -524,15 +525,15 @@ legend { ...@@ -524,15 +525,15 @@ legend {
height: auto; height: auto;
} }
// 1. Correct the outline style in Safari. // 1. This overrides the extra rounded corners on search inputs in iOS so that our
// 2. This overrides the extra rounded corners on search inputs in iOS so that our
// `.form-control` class can properly style them. Note that this cannot simply // `.form-control` class can properly style them. Note that this cannot simply
// be added to `.form-control` as it's not specific enough. For details, see // be added to `.form-control` as it's not specific enough. For details, see
// https://github.com/twbs/bootstrap/issues/11586. // https://github.com/twbs/bootstrap/issues/11586.
// 2. Correct the outline style in Safari.
[type="search"] { [type="search"] {
outline-offset: -2px; // 1 -webkit-appearance: textfield; // 1
-webkit-appearance: textfield; // 2 outline-offset: -2px; // 2
} }
// 1. A few input types should stay LTR // 1. A few input types should stay LTR
......
:root { :root,
[data-bs-theme="light"] {
// Note: Custom variable values only support SassScript inside `#{}`. // Note: Custom variable values only support SassScript inside `#{}`.
// Colors // Colors
...@@ -21,10 +22,20 @@ ...@@ -21,10 +22,20 @@
--#{$prefix}#{$color}-rgb: #{$value}; --#{$prefix}#{$color}-rgb: #{$value};
} }
@each $color, $value in $theme-colors-text {
--#{$prefix}#{$color}-text-emphasis: #{$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}white-rgb: #{to-rgb($white)};
--#{$prefix}black-rgb: #{to-rgb($black)}; --#{$prefix}black-rgb: #{to-rgb($black)};
--#{$prefix}body-color-rgb: #{to-rgb($body-color)};
--#{$prefix}body-bg-rgb: #{to-rgb($body-bg)};
// Fonts // Fonts
...@@ -39,17 +50,50 @@ ...@@ -39,17 +50,50 @@
@if $font-size-root != null { @if $font-size-root != null {
--#{$prefix}root-font-size: #{$font-size-root}; --#{$prefix}root-font-size: #{$font-size-root};
} }
--#{$prefix}body-font-family: #{$font-family-base}; --#{$prefix}body-font-family: #{inspect($font-family-base)};
@include rfs($font-size-base, --#{$prefix}body-font-size); @include rfs($font-size-base, --#{$prefix}body-font-size);
--#{$prefix}body-font-weight: #{$font-weight-base}; --#{$prefix}body-font-weight: #{$font-weight-base};
--#{$prefix}body-line-height: #{$line-height-base}; --#{$prefix}body-line-height: #{$line-height-base};
--#{$prefix}body-color: #{$body-color};
@if $body-text-align != null { @if $body-text-align != null {
--#{$prefix}body-text-align: #{$body-text-align}; --#{$prefix}body-text-align: #{$body-text-align};
} }
--#{$prefix}body-color: #{$body-color};
--#{$prefix}body-color-rgb: #{to-rgb($body-color)};
--#{$prefix}body-bg: #{$body-bg}; --#{$prefix}body-bg: #{$body-bg};
--#{$prefix}body-bg-rgb: #{to-rgb($body-bg)};
--#{$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)};
// scss-docs-end root-body-variables // scss-docs-end root-body-variables
--#{$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-color: #{$mark-color};
--#{$prefix}highlight-bg: #{$mark-bg};
// scss-docs-start root-border-var // scss-docs-start root-border-var
--#{$prefix}border-width: #{$border-width}; --#{$prefix}border-width: #{$border-width};
--#{$prefix}border-style: #{$border-style}; --#{$prefix}border-style: #{$border-style};
...@@ -60,14 +104,84 @@ ...@@ -60,14 +104,84 @@
--#{$prefix}border-radius-sm: #{$border-radius-sm}; --#{$prefix}border-radius-sm: #{$border-radius-sm};
--#{$prefix}border-radius-lg: #{$border-radius-lg}; --#{$prefix}border-radius-lg: #{$border-radius-lg};
--#{$prefix}border-radius-xl: #{$border-radius-xl}; --#{$prefix}border-radius-xl: #{$border-radius-xl};
--#{$prefix}border-radius-2xl: #{$border-radius-2xl}; --#{$prefix}border-radius-xxl: #{$border-radius-xxl};
--#{$prefix}border-radius-2xl: var(--#{$prefix}border-radius-xxl); // Deprecated in v5.3.0 for consistency
--#{$prefix}border-radius-pill: #{$border-radius-pill}; --#{$prefix}border-radius-pill: #{$border-radius-pill};
// scss-docs-end root-border-var // scss-docs-end root-border-var
--#{$prefix}link-color: #{$link-color}; --#{$prefix}box-shadow: #{$box-shadow};
--#{$prefix}link-hover-color: #{$link-hover-color}; --#{$prefix}box-shadow-sm: #{$box-shadow-sm};
--#{$prefix}box-shadow-lg: #{$box-shadow-lg};
--#{$prefix}box-shadow-inset: #{$box-shadow-inset};
--#{$prefix}code-color: #{$code-color}; // 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};
// scss-docs-end root-focus-variables
--#{$prefix}highlight-bg: #{$mark-bg}; // scss-docs-start root-form-validation-variables
--#{$prefix}form-valid-color: #{$form-valid-color};
--#{$prefix}form-valid-border-color: #{$form-valid-border-color};
--#{$prefix}form-invalid-color: #{$form-invalid-color};
--#{$prefix}form-invalid-border-color: #{$form-invalid-border-color};
// scss-docs-end root-form-validation-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)};
@each $color, $value in $theme-colors-text-dark {
--#{$prefix}#{$color}-text-emphasis: #{$value};
}
@each $color, $value in $theme-colors-bg-subtle-dark {
--#{$prefix}#{$color}-bg-subtle: #{$value};
}
@each $color, $value in $theme-colors-border-subtle-dark {
--#{$prefix}#{$color}-border-subtle: #{$value};
}
--#{$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}highlight-color: #{$mark-color-dark};
--#{$prefix}highlight-bg: #{$mark-bg-dark};
--#{$prefix}border-color: #{$border-color-dark};
--#{$prefix}border-color-translucent: #{$border-color-translucent-dark};
--#{$prefix}form-valid-color: #{$form-valid-color-dark};
--#{$prefix}form-valid-border-color: #{$form-valid-border-color-dark};
--#{$prefix}form-invalid-color: #{$form-invalid-color-dark};
--#{$prefix}form-invalid-border-color: #{$form-invalid-border-color-dark};
// scss-docs-end root-dark-mode-vars
}
} }
...@@ -3,6 +3,12 @@ ...@@ -3,6 +3,12 @@
// //
.table { .table {
// Reset needed for nesting tables
--#{$prefix}table-color-type: initial;
--#{$prefix}table-bg-type: initial;
--#{$prefix}table-color-state: initial;
--#{$prefix}table-bg-state: initial;
// End of reset
--#{$prefix}table-color: #{$table-color}; --#{$prefix}table-color: #{$table-color};
--#{$prefix}table-bg: #{$table-bg}; --#{$prefix}table-bg: #{$table-bg};
--#{$prefix}table-border-color: #{$table-border-color}; --#{$prefix}table-border-color: #{$table-border-color};
...@@ -16,7 +22,6 @@ ...@@ -16,7 +22,6 @@
width: 100%; width: 100%;
margin-bottom: $spacer; margin-bottom: $spacer;
color: var(--#{$prefix}table-color);
vertical-align: $table-cell-vertical-align; vertical-align: $table-cell-vertical-align;
border-color: var(--#{$prefix}table-border-color); border-color: var(--#{$prefix}table-border-color);
...@@ -27,9 +32,11 @@ ...@@ -27,9 +32,11 @@
// stylelint-disable-next-line selector-max-universal // stylelint-disable-next-line selector-max-universal
> :not(caption) > * > * { > :not(caption) > * > * {
padding: $table-cell-padding-y $table-cell-padding-x; padding: $table-cell-padding-y $table-cell-padding-x;
// Following the precept of cascades: https://codepen.io/miriamsuzanne/full/vYNgodb
color: var(--#{$prefix}table-color-state, var(--#{$prefix}table-color-type, var(--#{$prefix}table-color)));
background-color: var(--#{$prefix}table-bg); background-color: var(--#{$prefix}table-bg);
border-bottom-width: $table-border-width; border-bottom-width: $table-border-width;
box-shadow: inset 0 0 0 9999px var(--#{$prefix}table-accent-bg); box-shadow: inset 0 0 0 9999px var(--#{$prefix}table-bg-state, var(--#{$prefix}table-bg-type, var(--#{$prefix}table-accent-bg)));
} }
> tbody { > tbody {
...@@ -42,7 +49,7 @@ ...@@ -42,7 +49,7 @@
} }
.table-group-divider { .table-group-divider {
border-top: ($table-border-width * 2) solid $table-group-separator-color; border-top: calc(#{$table-border-width} * 2) solid $table-group-separator-color; // stylelint-disable-line function-disallowed-list
} }
// //
...@@ -72,7 +79,7 @@ ...@@ -72,7 +79,7 @@
// //
// When borders are added on all sides of the cells, the corners can render odd when // When borders are added on all sides of the cells, the corners can render odd when
// these borders do not have the same color or if they are semi-transparent. // these borders do not have the same color or if they are semi-transparent.
// Therefor we add top and border bottoms to the `tr`s and left and right borders // Therefore we add top and border bottoms to the `tr`s and left and right borders
// to the `td`s or `th`s // to the `td`s or `th`s
.table-bordered { .table-bordered {
...@@ -104,16 +111,16 @@ ...@@ -104,16 +111,16 @@
// For rows // For rows
.table-striped { .table-striped {
> tbody > tr:nth-of-type(#{$table-striped-order}) > * { > tbody > tr:nth-of-type(#{$table-striped-order}) > * {
--#{$prefix}table-accent-bg: var(--#{$prefix}table-striped-bg); --#{$prefix}table-color-type: var(--#{$prefix}table-striped-color);
color: var(--#{$prefix}table-striped-color); --#{$prefix}table-bg-type: var(--#{$prefix}table-striped-bg);
} }
} }
// For columns // For columns
.table-striped-columns { .table-striped-columns {
> :not(caption) > tr > :nth-child(#{$table-striped-columns-order}) { > :not(caption) > tr > :nth-child(#{$table-striped-columns-order}) {
--#{$prefix}table-accent-bg: var(--#{$prefix}table-striped-bg); --#{$prefix}table-color-type: var(--#{$prefix}table-striped-color);
color: var(--#{$prefix}table-striped-color); --#{$prefix}table-bg-type: var(--#{$prefix}table-striped-bg);
} }
} }
...@@ -122,8 +129,8 @@ ...@@ -122,8 +129,8 @@
// The `.table-active` class can be added to highlight rows or cells // The `.table-active` class can be added to highlight rows or cells
.table-active { .table-active {
--#{$prefix}table-accent-bg: var(--#{$prefix}table-active-bg); --#{$prefix}table-color-state: var(--#{$prefix}table-active-color);
color: var(--#{$prefix}table-active-color); --#{$prefix}table-bg-state: var(--#{$prefix}table-active-bg);
} }
// Hover effect // Hover effect
...@@ -132,8 +139,8 @@ ...@@ -132,8 +139,8 @@
.table-hover { .table-hover {
> tbody > tr:hover > * { > tbody > tr:hover > * {
--#{$prefix}table-accent-bg: var(--#{$prefix}table-hover-bg); --#{$prefix}table-color-state: var(--#{$prefix}table-hover-color);
color: var(--#{$prefix}table-hover-color); --#{$prefix}table-bg-state: var(--#{$prefix}table-hover-bg);
} }
} }
......
...@@ -17,7 +17,6 @@ ...@@ -17,7 +17,6 @@
z-index: var(--#{$prefix}tooltip-zindex); z-index: var(--#{$prefix}tooltip-zindex);
display: block; display: block;
padding: var(--#{$prefix}tooltip-arrow-height);
margin: var(--#{$prefix}tooltip-margin); margin: var(--#{$prefix}tooltip-margin);
@include deprecate("`$tooltip-margin`", "v5", "v5.x", true); @include deprecate("`$tooltip-margin`", "v5", "v5.x", true);
// Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element. // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.
...@@ -45,7 +44,7 @@ ...@@ -45,7 +44,7 @@
} }
.bs-tooltip-top .tooltip-arrow { .bs-tooltip-top .tooltip-arrow {
bottom: 0; bottom: calc(-1 * var(--#{$prefix}tooltip-arrow-height)); // stylelint-disable-line function-disallowed-list
&::before { &::before {
top: -1px; top: -1px;
...@@ -56,7 +55,7 @@ ...@@ -56,7 +55,7 @@
/* rtl:begin:ignore */ /* rtl:begin:ignore */
.bs-tooltip-end .tooltip-arrow { .bs-tooltip-end .tooltip-arrow {
left: 0; left: calc(-1 * var(--#{$prefix}tooltip-arrow-height)); // stylelint-disable-line function-disallowed-list
width: var(--#{$prefix}tooltip-arrow-height); width: var(--#{$prefix}tooltip-arrow-height);
height: var(--#{$prefix}tooltip-arrow-width); height: var(--#{$prefix}tooltip-arrow-width);
...@@ -70,7 +69,7 @@ ...@@ -70,7 +69,7 @@
/* rtl:end:ignore */ /* rtl:end:ignore */
.bs-tooltip-bottom .tooltip-arrow { .bs-tooltip-bottom .tooltip-arrow {
top: 0; top: calc(-1 * var(--#{$prefix}tooltip-arrow-height)); // stylelint-disable-line function-disallowed-list
&::before { &::before {
bottom: -1px; bottom: -1px;
...@@ -81,7 +80,7 @@ ...@@ -81,7 +80,7 @@
/* rtl:begin:ignore */ /* rtl:begin:ignore */
.bs-tooltip-start .tooltip-arrow { .bs-tooltip-start .tooltip-arrow {
right: 0; right: calc(-1 * var(--#{$prefix}tooltip-arrow-height)); // stylelint-disable-line function-disallowed-list
width: var(--#{$prefix}tooltip-arrow-height); width: var(--#{$prefix}tooltip-arrow-height);
height: var(--#{$prefix}tooltip-arrow-width); height: var(--#{$prefix}tooltip-arrow-width);
......
...@@ -34,11 +34,11 @@ ...@@ -34,11 +34,11 @@
// Type display classes // Type display classes
@each $display, $font-size in $display-font-sizes { @each $display, $font-size in $display-font-sizes {
.display-#{$display} { .display-#{$display} {
@include font-size($font-size);
font-family: $display-font-family; font-family: $display-font-family;
font-style: $display-font-style; font-style: $display-font-style;
font-weight: $display-font-weight; font-weight: $display-font-weight;
line-height: $display-line-height; line-height: $display-line-height;
@include font-size($font-size);
} }
} }
......
...@@ -22,6 +22,20 @@ $utilities: map-merge( ...@@ -22,6 +22,20 @@ $utilities: map-merge(
) )
), ),
// scss-docs-end utils-float // scss-docs-end utils-float
// Object Fit utilities
// scss-docs-start utils-object-fit
"object-fit": (
responsive: true,
property: object-fit,
values: (
contain: contain,
cover: cover,
fill: fill,
scale: scale-down,
none: none,
)
),
// scss-docs-end utils-object-fit
// Opacity utilities // Opacity utilities
// scss-docs-start utils-opacity // scss-docs-start utils-opacity
"opacity": ( "opacity": (
...@@ -39,6 +53,14 @@ $utilities: map-merge( ...@@ -39,6 +53,14 @@ $utilities: map-merge(
"overflow": ( "overflow": (
property: overflow, property: overflow,
values: auto hidden visible scroll, values: auto hidden visible scroll,
),
"overflow-x": (
property: overflow-x,
values: auto hidden visible scroll,
),
"overflow-y": (
property: overflow-y,
values: auto hidden visible scroll,
), ),
// scss-docs-end utils-overflow // scss-docs-end utils-overflow
// scss-docs-start utils-display // scss-docs-start utils-display
...@@ -47,7 +69,7 @@ $utilities: map-merge( ...@@ -47,7 +69,7 @@ $utilities: map-merge(
print: true, print: true,
property: display, property: display,
class: d, class: d,
values: inline inline-block block grid table table-row table-cell flex inline-flex none values: inline inline-block block grid inline-grid table table-row table-cell flex inline-flex none
), ),
// scss-docs-end utils-display // scss-docs-end utils-display
// scss-docs-start utils-shadow // scss-docs-start utils-shadow
...@@ -55,13 +77,21 @@ $utilities: map-merge( ...@@ -55,13 +77,21 @@ $utilities: map-merge(
property: box-shadow, property: box-shadow,
class: shadow, class: shadow,
values: ( values: (
null: $box-shadow, null: var(--#{$prefix}box-shadow),
sm: $box-shadow-sm, sm: var(--#{$prefix}box-shadow-sm),
lg: $box-shadow-lg, lg: var(--#{$prefix}box-shadow-lg),
none: none, none: none,
) )
), ),
// scss-docs-end utils-shadow // scss-docs-end utils-shadow
// scss-docs-start utils-focus-ring
"focus-ring": (
css-var: true,
css-variable-name: focus-ring-color,
class: focus-ring,
values: map-loop($theme-colors-rgb, rgba-css-var, "$key", "focus-ring")
),
// scss-docs-end utils-focus-ring
// scss-docs-start utils-position // scss-docs-start utils-position
"position": ( "position": (
property: position, property: position,
...@@ -141,9 +171,13 @@ $utilities: map-merge( ...@@ -141,9 +171,13 @@ $utilities: map-merge(
), ),
values: $utilities-border-colors values: $utilities-border-colors
), ),
"subtle-border-color": (
property: border-color,
class: border,
values: $utilities-border-subtle
),
"border-width": ( "border-width": (
css-var: true, property: border-width,
css-variable-name: border-width,
class: border, class: border,
values: $border-widths values: $border-widths
), ),
...@@ -450,6 +484,18 @@ $utilities: map-merge( ...@@ -450,6 +484,18 @@ $utilities: map-merge(
class: gap, class: gap,
values: $spacers values: $spacers
), ),
"row-gap": (
responsive: true,
property: row-gap,
class: row-gap,
values: $spacers
),
"column-gap": (
responsive: true,
property: column-gap,
class: column-gap,
values: $spacers
),
// scss-docs-end utils-spacing // scss-docs-end utils-spacing
// Text // Text
// scss-docs-start utils-text // scss-docs-start utils-text
...@@ -473,11 +519,12 @@ $utilities: map-merge( ...@@ -473,11 +519,12 @@ $utilities: map-merge(
property: font-weight, property: font-weight,
class: fw, class: fw,
values: ( values: (
light: $font-weight-light,
lighter: $font-weight-lighter, lighter: $font-weight-lighter,
light: $font-weight-light,
normal: $font-weight-normal, normal: $font-weight-normal,
bold: $font-weight-bold, medium: $font-weight-medium,
semibold: $font-weight-semibold, semibold: $font-weight-semibold,
bold: $font-weight-bold,
bolder: $font-weight-bolder bolder: $font-weight-bolder
) )
), ),
...@@ -535,9 +582,12 @@ $utilities: map-merge( ...@@ -535,9 +582,12 @@ $utilities: map-merge(
values: map-merge( values: map-merge(
$utilities-text-colors, $utilities-text-colors,
( (
"muted": $text-muted, "muted": var(--#{$prefix}secondary-color), // deprecated
"black-50": rgba($black, .5), // deprecated "black-50": rgba($black, .5), // deprecated
"white-50": rgba($white, .5), // deprecated "white-50": rgba($white, .5), // deprecated
"body-secondary": var(--#{$prefix}secondary-color),
"body-tertiary": var(--#{$prefix}tertiary-color),
"body-emphasis": var(--#{$prefix}emphasis-color),
"reset": inherit, "reset": inherit,
) )
) )
...@@ -552,7 +602,62 @@ $utilities: map-merge( ...@@ -552,7 +602,62 @@ $utilities: map-merge(
100: 1 100: 1
) )
), ),
"text-color": (
property: color,
class: text,
values: $utilities-text-emphasis-colors
),
// scss-docs-end utils-color // scss-docs-end utils-color
// scss-docs-start utils-links
"link-opacity": (
css-var: true,
class: link-opacity,
state: hover,
values: (
10: .1,
25: .25,
50: .5,
75: .75,
100: 1
)
),
"link-offset": (
property: text-underline-offset,
class: link-offset,
state: hover,
values: (
1: .125em,
2: .25em,
3: .375em,
)
),
"link-underline": (
property: text-decoration-color,
class: link-underline,
local-vars: (
"link-underline-opacity": 1
),
values: map-merge(
$utilities-links-underline,
(
null: rgba(var(--#{$prefix}link-color-rgb), var(--#{$prefix}link-underline-opacity, 1)),
)
)
),
"link-underline-opacity": (
css-var: true,
class: link-underline-opacity,
state: hover,
values: (
0: 0,
10: .1,
25: .25,
50: .5,
75: .75,
100: 1
),
),
// scss-docs-end utils-links
// scss-docs-start utils-bg-color // scss-docs-start utils-bg-color
"background-color": ( "background-color": (
property: background-color, property: background-color,
...@@ -563,7 +668,9 @@ $utilities: map-merge( ...@@ -563,7 +668,9 @@ $utilities: map-merge(
values: map-merge( values: map-merge(
$utilities-bg-colors, $utilities-bg-colors,
( (
"transparent": transparent "transparent": transparent,
"body-secondary": rgba(var(--#{$prefix}secondary-bg-rgb), var(--#{$prefix}bg-opacity)),
"body-tertiary": rgba(var(--#{$prefix}tertiary-bg-rgb), var(--#{$prefix}bg-opacity)),
) )
) )
), ),
...@@ -578,6 +685,11 @@ $utilities: map-merge( ...@@ -578,6 +685,11 @@ $utilities: map-merge(
100: 1 100: 1
) )
), ),
"subtle-background-color": (
property: background-color,
class: bg,
values: $utilities-bg-subtle
),
// scss-docs-end utils-bg-color // scss-docs-end utils-bg-color
"gradient": ( "gradient": (
property: background-image, property: background-image,
...@@ -606,7 +718,7 @@ $utilities: map-merge( ...@@ -606,7 +718,7 @@ $utilities: map-merge(
2: var(--#{$prefix}border-radius), 2: var(--#{$prefix}border-radius),
3: var(--#{$prefix}border-radius-lg), 3: var(--#{$prefix}border-radius-lg),
4: var(--#{$prefix}border-radius-xl), 4: var(--#{$prefix}border-radius-xl),
5: var(--#{$prefix}border-radius-2xl), 5: var(--#{$prefix}border-radius-xxl),
circle: 50%, circle: 50%,
pill: var(--#{$prefix}border-radius-pill) pill: var(--#{$prefix}border-radius-pill)
) )
...@@ -614,22 +726,62 @@ $utilities: map-merge( ...@@ -614,22 +726,62 @@ $utilities: map-merge(
"rounded-top": ( "rounded-top": (
property: border-top-left-radius border-top-right-radius, property: border-top-left-radius border-top-right-radius,
class: rounded-top, class: rounded-top,
values: (null: var(--#{$prefix}border-radius)) values: (
null: var(--#{$prefix}border-radius),
0: 0,
1: var(--#{$prefix}border-radius-sm),
2: var(--#{$prefix}border-radius),
3: var(--#{$prefix}border-radius-lg),
4: var(--#{$prefix}border-radius-xl),
5: var(--#{$prefix}border-radius-xxl),
circle: 50%,
pill: var(--#{$prefix}border-radius-pill)
)
), ),
"rounded-end": ( "rounded-end": (
property: border-top-right-radius border-bottom-right-radius, property: border-top-right-radius border-bottom-right-radius,
class: rounded-end, class: rounded-end,
values: (null: var(--#{$prefix}border-radius)) values: (
null: var(--#{$prefix}border-radius),
0: 0,
1: var(--#{$prefix}border-radius-sm),
2: var(--#{$prefix}border-radius),
3: var(--#{$prefix}border-radius-lg),
4: var(--#{$prefix}border-radius-xl),
5: var(--#{$prefix}border-radius-xxl),
circle: 50%,
pill: var(--#{$prefix}border-radius-pill)
)
), ),
"rounded-bottom": ( "rounded-bottom": (
property: border-bottom-right-radius border-bottom-left-radius, property: border-bottom-right-radius border-bottom-left-radius,
class: rounded-bottom, class: rounded-bottom,
values: (null: var(--#{$prefix}border-radius)) values: (
null: var(--#{$prefix}border-radius),
0: 0,
1: var(--#{$prefix}border-radius-sm),
2: var(--#{$prefix}border-radius),
3: var(--#{$prefix}border-radius-lg),
4: var(--#{$prefix}border-radius-xl),
5: var(--#{$prefix}border-radius-xxl),
circle: 50%,
pill: var(--#{$prefix}border-radius-pill)
)
), ),
"rounded-start": ( "rounded-start": (
property: border-bottom-left-radius border-top-left-radius, property: border-bottom-left-radius border-top-left-radius,
class: rounded-start, class: rounded-start,
values: (null: var(--#{$prefix}border-radius)) values: (
null: var(--#{$prefix}border-radius),
0: 0,
1: var(--#{$prefix}border-radius-sm),
2: var(--#{$prefix}border-radius),
3: var(--#{$prefix}border-radius-lg),
4: var(--#{$prefix}border-radius-xl),
5: var(--#{$prefix}border-radius-xxl),
circle: 50%,
pill: var(--#{$prefix}border-radius-pill)
)
), ),
// scss-docs-end utils-border-radius // scss-docs-end utils-border-radius
// scss-docs-start utils-visibility // scss-docs-start utils-visibility
...@@ -640,8 +792,15 @@ $utilities: map-merge( ...@@ -640,8 +792,15 @@ $utilities: map-merge(
visible: visible, visible: visible,
invisible: hidden, invisible: hidden,
) )
) ),
// scss-docs-end utils-visibility // scss-docs-end utils-visibility
// scss-docs-start utils-zindex
"z-index": (
property: z-index,
class: z,
values: $zindex-levels,
)
// scss-docs-end utils-zindex
), ),
$utilities $utilities
); );
// Dark color mode variables
//
// Custom variables for the `[data-bs-theme="dark"]` theme. Use this as a starting point for your own custom color modes by creating a new theme-specific file like `_variables-dark.scss` and adding the variables you need.
//
// Global colors
//
// scss-docs-start sass-dark-mode-vars
// scss-docs-start theme-text-dark-variables
$primary-text-emphasis-dark: tint-color($primary, 40%) !default;
$secondary-text-emphasis-dark: tint-color($secondary, 40%) !default;
$success-text-emphasis-dark: tint-color($success, 40%) !default;
$info-text-emphasis-dark: tint-color($info, 40%) !default;
$warning-text-emphasis-dark: tint-color($warning, 40%) !default;
$danger-text-emphasis-dark: tint-color($danger, 40%) !default;
$light-text-emphasis-dark: $gray-100 !default;
$dark-text-emphasis-dark: $gray-300 !default;
// scss-docs-end theme-text-dark-variables
// scss-docs-start theme-bg-subtle-dark-variables
$primary-bg-subtle-dark: shade-color($primary, 80%) !default;
$secondary-bg-subtle-dark: shade-color($secondary, 80%) !default;
$success-bg-subtle-dark: shade-color($success, 80%) !default;
$info-bg-subtle-dark: shade-color($info, 80%) !default;
$warning-bg-subtle-dark: shade-color($warning, 80%) !default;
$danger-bg-subtle-dark: shade-color($danger, 80%) !default;
$light-bg-subtle-dark: $gray-800 !default;
$dark-bg-subtle-dark: mix($gray-800, $black) !default;
// scss-docs-end theme-bg-subtle-dark-variables
// scss-docs-start theme-border-subtle-dark-variables
$primary-border-subtle-dark: shade-color($primary, 40%) !default;
$secondary-border-subtle-dark: shade-color($secondary, 40%) !default;
$success-border-subtle-dark: shade-color($success, 40%) !default;
$info-border-subtle-dark: shade-color($info, 40%) !default;
$warning-border-subtle-dark: shade-color($warning, 40%) !default;
$danger-border-subtle-dark: shade-color($danger, 40%) !default;
$light-border-subtle-dark: $gray-700 !default;
$dark-border-subtle-dark: $gray-800 !default;
// scss-docs-end theme-border-subtle-dark-variables
$body-color-dark: $gray-300 !default;
$body-bg-dark: $gray-900 !default;
$body-secondary-color-dark: rgba($body-color-dark, .75) !default;
$body-secondary-bg-dark: $gray-800 !default;
$body-tertiary-color-dark: rgba($body-color-dark, .5) !default;
$body-tertiary-bg-dark: mix($gray-800, $gray-900, 50%) !default;
$body-emphasis-color-dark: $white !default;
$border-color-dark: $gray-700 !default;
$border-color-translucent-dark: rgba($white, .15) !default;
$headings-color-dark: inherit !default;
$link-color-dark: tint-color($primary, 40%) !default;
$link-hover-color-dark: shift-color($link-color-dark, -$link-shade-percentage) !default;
$code-color-dark: tint-color($code-color, 40%) !default;
$mark-color-dark: $body-color-dark !default;
$mark-bg-dark: $yellow-800 !default;
//
// Forms
//
$form-select-indicator-color-dark: $body-color-dark !default;
$form-select-indicator-dark: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#{$form-select-indicator-color-dark}' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/></svg>") !default;
$form-switch-color-dark: rgba($white, .25) !default;
$form-switch-bg-image-dark: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-color-dark}'/></svg>") !default;
// scss-docs-start form-validation-colors-dark
$form-valid-color-dark: $green-300 !default;
$form-valid-border-color-dark: $green-300 !default;
$form-invalid-color-dark: $red-300 !default;
$form-invalid-border-color-dark: $red-300 !default;
// scss-docs-end form-validation-colors-dark
//
// Accordion
//
$accordion-icon-color-dark: $primary-text-emphasis-dark !default;
$accordion-icon-active-color-dark: $primary-text-emphasis-dark !default;
$accordion-button-icon-dark: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$accordion-icon-color-dark}'><path fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/></svg>") !default;
$accordion-button-active-icon-dark: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$accordion-icon-active-color-dark}'><path fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/></svg>") !default;
// scss-docs-end sass-dark-mode-vars
//
// Carousel
//
$carousel-indicator-active-bg-dark: $carousel-dark-indicator-active-bg !default;
$carousel-caption-color-dark: $carousel-dark-caption-color !default;
$carousel-control-icon-filter-dark: $carousel-dark-control-icon-filter !default;
//
// Close button
//
$btn-close-filter-dark: $btn-close-white-filter !default;
...@@ -67,8 +67,8 @@ $colors: ( ...@@ -67,8 +67,8 @@ $colors: (
) !default; ) !default;
// scss-docs-end colors-map // scss-docs-end colors-map
// The contrast ratio to reach against white, to determine if color changes from "light" to "dark". Acceptable values for WCAG 2.0 are 3, 4.5 and 7. // The contrast ratio to reach against white, to determine if color changes from "light" to "dark". Acceptable values for WCAG 2.2 are 3, 4.5 and 7.
// See https://www.w3.org/TR/WCAG20/#visual-audio-contrast-contrast // See https://www.w3.org/TR/WCAG/#contrast-minimum
$min-contrast-ratio: 4.5 !default; $min-contrast-ratio: 4.5 !default;
// Customize the light and dark text colors for use in our color contrast function. // Customize the light and dark text colors for use in our color contrast function.
...@@ -321,6 +321,39 @@ $theme-colors: ( ...@@ -321,6 +321,39 @@ $theme-colors: (
) !default; ) !default;
// scss-docs-end theme-colors-map // scss-docs-end theme-colors-map
// scss-docs-start theme-text-variables
$primary-text-emphasis: shade-color($primary, 60%) !default;
$secondary-text-emphasis: shade-color($secondary, 60%) !default;
$success-text-emphasis: shade-color($success, 60%) !default;
$info-text-emphasis: shade-color($info, 60%) !default;
$warning-text-emphasis: shade-color($warning, 60%) !default;
$danger-text-emphasis: shade-color($danger, 60%) !default;
$light-text-emphasis: $gray-700 !default;
$dark-text-emphasis: $gray-700 !default;
// scss-docs-end theme-text-variables
// scss-docs-start theme-bg-subtle-variables
$primary-bg-subtle: tint-color($primary, 80%) !default;
$secondary-bg-subtle: tint-color($secondary, 80%) !default;
$success-bg-subtle: tint-color($success, 80%) !default;
$info-bg-subtle: tint-color($info, 80%) !default;
$warning-bg-subtle: tint-color($warning, 80%) !default;
$danger-bg-subtle: tint-color($danger, 80%) !default;
$light-bg-subtle: mix($gray-100, $white) !default;
$dark-bg-subtle: $gray-400 !default;
// scss-docs-end theme-bg-subtle-variables
// scss-docs-start theme-border-subtle-variables
$primary-border-subtle: tint-color($primary, 60%) !default;
$secondary-border-subtle: tint-color($secondary, 60%) !default;
$success-border-subtle: tint-color($success, 60%) !default;
$info-border-subtle: tint-color($info, 60%) !default;
$warning-border-subtle: tint-color($warning, 60%) !default;
$danger-border-subtle: tint-color($danger, 60%) !default;
$light-border-subtle: $gray-200 !default;
$dark-border-subtle: $gray-500 !default;
// scss-docs-end theme-border-subtle-variables
// Characters which are escaped by the escape-svg function // Characters which are escaped by the escape-svg function
$escaped-characters: ( $escaped-characters: (
("<", "%3c"), ("<", "%3c"),
...@@ -351,6 +384,9 @@ $enable-negative-margins: false !default; ...@@ -351,6 +384,9 @@ $enable-negative-margins: false !default;
$enable-deprecation-messages: true !default; $enable-deprecation-messages: true !default;
$enable-important-utilities: true !default; $enable-important-utilities: true !default;
$enable-dark-mode: true !default;
$color-mode-type: data !default; // `data` or `media-query`
// Prefix for :root CSS variables // Prefix for :root CSS variables
$variable-prefix: bs- !default; // Deprecated in v5.2.0 for the shorter `$prefix` $variable-prefix: bs- !default; // Deprecated in v5.2.0 for the shorter `$prefix`
...@@ -398,9 +434,17 @@ $position-values: ( ...@@ -398,9 +434,17 @@ $position-values: (
// //
// Settings for the `<body>` element. // Settings for the `<body>` element.
$body-bg: $white !default;
$body-color: $gray-900 !default;
$body-text-align: null !default; $body-text-align: null !default;
$body-color: $gray-900 !default;
$body-bg: $white !default;
$body-secondary-color: rgba($body-color, .75) !default;
$body-secondary-bg: $gray-200 !default;
$body-tertiary-color: rgba($body-color, .5) !default;
$body-tertiary-bg: $gray-100 !default;
$body-emphasis-color: $black !default;
// Links // Links
// //
...@@ -415,6 +459,15 @@ $link-hover-decoration: null !default; ...@@ -415,6 +459,15 @@ $link-hover-decoration: null !default;
$stretched-link-pseudo-element: after !default; $stretched-link-pseudo-element: after !default;
$stretched-link-z-index: 1 !default; $stretched-link-z-index: 1 !default;
// Icon links
// scss-docs-start icon-link-variables
$icon-link-gap: .375rem !default;
$icon-link-underline-offset: .25em !default;
$icon-link-icon-size: 1em !default;
$icon-link-icon-transition: .2s ease-in-out transform !default;
$icon-link-icon-transform: translate3d(.25em, 0, 0) !default;
// scss-docs-end icon-link-variables
// Paragraphs // Paragraphs
// //
// Style p element. // Style p element.
...@@ -485,7 +538,6 @@ $border-widths: ( ...@@ -485,7 +538,6 @@ $border-widths: (
4: 4px, 4: 4px,
5: 5px 5: 5px
) !default; ) !default;
$border-style: solid !default; $border-style: solid !default;
$border-color: $gray-300 !default; $border-color: $gray-300 !default;
$border-color-translucent: rgba($black, .175) !default; $border-color-translucent: rgba($black, .175) !default;
...@@ -496,9 +548,12 @@ $border-radius: .375rem !default; ...@@ -496,9 +548,12 @@ $border-radius: .375rem !default;
$border-radius-sm: .25rem !default; $border-radius-sm: .25rem !default;
$border-radius-lg: .5rem !default; $border-radius-lg: .5rem !default;
$border-radius-xl: 1rem !default; $border-radius-xl: 1rem !default;
$border-radius-2xl: 2rem !default; $border-radius-xxl: 2rem !default;
$border-radius-pill: 50rem !default; $border-radius-pill: 50rem !default;
// scss-docs-end border-radius-variables // scss-docs-end border-radius-variables
// fusv-disable
$border-radius-2xl: $border-radius-xxl !default; // Deprecated in v5.3.0
// fusv-enable
// scss-docs-start box-shadow-variables // scss-docs-start box-shadow-variables
$box-shadow: 0 .5rem 1rem rgba($black, .15) !default; $box-shadow: 0 .5rem 1rem rgba($black, .15) !default;
...@@ -510,6 +565,14 @@ $box-shadow-inset: inset 0 1px 2px rgba($black, .075) !default; ...@@ -510,6 +565,14 @@ $box-shadow-inset: inset 0 1px 2px rgba($black, .075) !default;
$component-active-color: $white !default; $component-active-color: $white !default;
$component-active-bg: $primary !default; $component-active-bg: $primary !default;
// scss-docs-start focus-ring-variables
$focus-ring-width: .25rem !default;
$focus-ring-opacity: .25 !default;
$focus-ring-color: rgba($primary, $focus-ring-opacity) !default;
$focus-ring-blur: 0 !default;
$focus-ring-box-shadow: 0 0 $focus-ring-blur $focus-ring-width $focus-ring-color !default;
// scss-docs-end focus-ring-variables
// scss-docs-start caret-variables // scss-docs-start caret-variables
$caret-width: .3em !default; $caret-width: .3em !default;
$caret-vertical-align: $caret-width * .85 !default; $caret-vertical-align: $caret-width * .85 !default;
...@@ -556,6 +619,7 @@ $font-size-lg: $font-size-base * 1.25 !default; ...@@ -556,6 +619,7 @@ $font-size-lg: $font-size-base * 1.25 !default;
$font-weight-lighter: lighter !default; $font-weight-lighter: lighter !default;
$font-weight-light: 300 !default; $font-weight-light: 300 !default;
$font-weight-normal: 400 !default; $font-weight-normal: 400 !default;
$font-weight-medium: 500 !default;
$font-weight-semibold: 600 !default; $font-weight-semibold: 600 !default;
$font-weight-bold: 700 !default; $font-weight-bold: 700 !default;
$font-weight-bolder: bolder !default; $font-weight-bolder: bolder !default;
...@@ -591,7 +655,7 @@ $headings-font-family: null !default; ...@@ -591,7 +655,7 @@ $headings-font-family: null !default;
$headings-font-style: null !default; $headings-font-style: null !default;
$headings-font-weight: 500 !default; $headings-font-weight: 500 !default;
$headings-line-height: 1.2 !default; $headings-line-height: 1.2 !default;
$headings-color: null !default; $headings-color: inherit !default;
// scss-docs-end headings-variables // scss-docs-end headings-variables
// scss-docs-start display-headings // scss-docs-start display-headings
...@@ -618,7 +682,9 @@ $small-font-size: .875em !default; ...@@ -618,7 +682,9 @@ $small-font-size: .875em !default;
$sub-sup-font-size: .75em !default; $sub-sup-font-size: .75em !default;
$text-muted: $gray-600 !default; // fusv-disable
$text-muted: var(--#{$prefix}secondary-color) !default; // Deprecated in 5.3.0
// fusv-enable
$initialism-font-size: $small-font-size !default; $initialism-font-size: $small-font-size !default;
...@@ -636,9 +702,13 @@ $hr-height: null !default; // Deprecated in v5.2.0 ...@@ -636,9 +702,13 @@ $hr-height: null !default; // Deprecated in v5.2.0
// fusv-enable // fusv-enable
$hr-border-color: null !default; // Allows for inherited colors $hr-border-color: null !default; // Allows for inherited colors
$hr-border-width: $border-width !default; $hr-border-width: var(--#{$prefix}border-width) !default;
$hr-opacity: .25 !default; $hr-opacity: .25 !default;
// scss-docs-start vr-variables
$vr-border-width: var(--#{$prefix}border-width) !default;
// scss-docs-end vr-variables
$legend-margin-bottom: .5rem !default; $legend-margin-bottom: .5rem !default;
$legend-font-size: 1.5rem !default; $legend-font-size: 1.5rem !default;
$legend-font-weight: null !default; $legend-font-weight: null !default;
...@@ -648,6 +718,7 @@ $dt-font-weight: $font-weight-bold !default; ...@@ -648,6 +718,7 @@ $dt-font-weight: $font-weight-bold !default;
$list-inline-padding: .5rem !default; $list-inline-padding: .5rem !default;
$mark-padding: .1875em !default; $mark-padding: .1875em !default;
$mark-color: $body-color !default;
$mark-bg: $yellow-100 !default; $mark-bg: $yellow-100 !default;
// scss-docs-end type-variables // scss-docs-end type-variables
...@@ -664,26 +735,26 @@ $table-cell-padding-x-sm: .25rem !default; ...@@ -664,26 +735,26 @@ $table-cell-padding-x-sm: .25rem !default;
$table-cell-vertical-align: top !default; $table-cell-vertical-align: top !default;
$table-color: var(--#{$prefix}body-color) !default; $table-color: var(--#{$prefix}emphasis-color) !default;
$table-bg: transparent !default; $table-bg: var(--#{$prefix}body-bg) !default;
$table-accent-bg: transparent !default; $table-accent-bg: transparent !default;
$table-th-font-weight: null !default; $table-th-font-weight: null !default;
$table-striped-color: $table-color !default; $table-striped-color: $table-color !default;
$table-striped-bg-factor: .05 !default; $table-striped-bg-factor: .05 !default;
$table-striped-bg: rgba($black, $table-striped-bg-factor) !default; $table-striped-bg: rgba(var(--#{$prefix}emphasis-color-rgb), $table-striped-bg-factor) !default;
$table-active-color: $table-color !default; $table-active-color: $table-color !default;
$table-active-bg-factor: .1 !default; $table-active-bg-factor: .1 !default;
$table-active-bg: rgba($black, $table-active-bg-factor) !default; $table-active-bg: rgba(var(--#{$prefix}emphasis-color-rgb), $table-active-bg-factor) !default;
$table-hover-color: $table-color !default; $table-hover-color: $table-color !default;
$table-hover-bg-factor: .075 !default; $table-hover-bg-factor: .075 !default;
$table-hover-bg: rgba($black, $table-hover-bg-factor) !default; $table-hover-bg: rgba(var(--#{$prefix}emphasis-color-rgb), $table-hover-bg-factor) !default;
$table-border-factor: .1 !default; $table-border-factor: .2 !default;
$table-border-width: $border-width !default; $table-border-width: var(--#{$prefix}border-width) !default;
$table-border-color: var(--#{$prefix}border-color) !default; $table-border-color: var(--#{$prefix}border-color) !default;
$table-striped-order: odd !default; $table-striped-order: odd !default;
...@@ -691,7 +762,7 @@ $table-striped-columns-order: even !default; ...@@ -691,7 +762,7 @@ $table-striped-columns-order: even !default;
$table-group-separator-color: currentcolor !default; $table-group-separator-color: currentcolor !default;
$table-caption-color: $text-muted !default; $table-caption-color: var(--#{$prefix}secondary-color) !default;
$table-bg-scale: -80% !default; $table-bg-scale: -80% !default;
// scss-docs-end table-variables // scss-docs-end table-variables
...@@ -721,11 +792,11 @@ $input-btn-font-family: null !default; ...@@ -721,11 +792,11 @@ $input-btn-font-family: null !default;
$input-btn-font-size: $font-size-base !default; $input-btn-font-size: $font-size-base !default;
$input-btn-line-height: $line-height-base !default; $input-btn-line-height: $line-height-base !default;
$input-btn-focus-width: .25rem !default; $input-btn-focus-width: $focus-ring-width !default;
$input-btn-focus-color-opacity: .25 !default; $input-btn-focus-color-opacity: $focus-ring-opacity !default;
$input-btn-focus-color: rgba($component-active-bg, $input-btn-focus-color-opacity) !default; $input-btn-focus-color: $focus-ring-color !default;
$input-btn-focus-blur: 0 !default; $input-btn-focus-blur: $focus-ring-blur !default;
$input-btn-focus-box-shadow: 0 0 $input-btn-focus-blur $input-btn-focus-width $input-btn-focus-color !default; $input-btn-focus-box-shadow: $focus-ring-box-shadow !default;
$input-btn-padding-y-sm: .25rem !default; $input-btn-padding-y-sm: .25rem !default;
$input-btn-padding-x-sm: .5rem !default; $input-btn-padding-x-sm: .5rem !default;
...@@ -735,7 +806,7 @@ $input-btn-padding-y-lg: .5rem !default; ...@@ -735,7 +806,7 @@ $input-btn-padding-y-lg: .5rem !default;
$input-btn-padding-x-lg: 1rem !default; $input-btn-padding-x-lg: 1rem !default;
$input-btn-font-size-lg: $font-size-lg !default; $input-btn-font-size-lg: $font-size-lg !default;
$input-btn-border-width: $border-width !default; $input-btn-border-width: var(--#{$prefix}border-width) !default;
// scss-docs-end input-btn-variables // scss-docs-end input-btn-variables
...@@ -744,6 +815,7 @@ $input-btn-border-width: $border-width !default; ...@@ -744,6 +815,7 @@ $input-btn-border-width: $border-width !default;
// For each of Bootstrap's buttons, define text, background, and border color. // For each of Bootstrap's buttons, define text, background, and border color.
// scss-docs-start btn-variables // scss-docs-start btn-variables
$btn-color: var(--#{$prefix}body-color) !default;
$btn-padding-y: $input-btn-padding-y !default; $btn-padding-y: $input-btn-padding-y !default;
$btn-padding-x: $input-btn-padding-x !default; $btn-padding-x: $input-btn-padding-x !default;
$btn-font-family: $input-btn-font-family !default; $btn-font-family: $input-btn-font-family !default;
...@@ -771,11 +843,12 @@ $btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default; ...@@ -771,11 +843,12 @@ $btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;
$btn-link-color: var(--#{$prefix}link-color) !default; $btn-link-color: var(--#{$prefix}link-color) !default;
$btn-link-hover-color: var(--#{$prefix}link-hover-color) !default; $btn-link-hover-color: var(--#{$prefix}link-hover-color) !default;
$btn-link-disabled-color: $gray-600 !default; $btn-link-disabled-color: $gray-600 !default;
$btn-link-focus-shadow-rgb: to-rgb(mix(color-contrast($link-color), $link-color, 15%)) !default;
// Allows for customizing button radius independently from global border radius // Allows for customizing button radius independently from global border radius
$btn-border-radius: $border-radius !default; $btn-border-radius: var(--#{$prefix}border-radius) !default;
$btn-border-radius-sm: $border-radius-sm !default; $btn-border-radius-sm: var(--#{$prefix}border-radius-sm) !default;
$btn-border-radius-lg: $border-radius-lg !default; $btn-border-radius-lg: var(--#{$prefix}border-radius-lg) !default;
$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default; $btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;
...@@ -797,7 +870,7 @@ $form-text-margin-top: .25rem !default; ...@@ -797,7 +870,7 @@ $form-text-margin-top: .25rem !default;
$form-text-font-size: $small-font-size !default; $form-text-font-size: $small-font-size !default;
$form-text-font-style: null !default; $form-text-font-style: null !default;
$form-text-font-weight: null !default; $form-text-font-weight: null !default;
$form-text-color: $text-muted !default; $form-text-color: var(--#{$prefix}secondary-color) !default;
// scss-docs-end form-text-variables // scss-docs-end form-text-variables
// scss-docs-start form-label-variables // scss-docs-start form-label-variables
...@@ -824,19 +897,19 @@ $input-padding-y-lg: $input-btn-padding-y-lg !default; ...@@ -824,19 +897,19 @@ $input-padding-y-lg: $input-btn-padding-y-lg !default;
$input-padding-x-lg: $input-btn-padding-x-lg !default; $input-padding-x-lg: $input-btn-padding-x-lg !default;
$input-font-size-lg: $input-btn-font-size-lg !default; $input-font-size-lg: $input-btn-font-size-lg !default;
$input-bg: $body-bg !default; $input-bg: var(--#{$prefix}body-bg) !default;
$input-disabled-color: null !default; $input-disabled-color: null !default;
$input-disabled-bg: $gray-200 !default; $input-disabled-bg: var(--#{$prefix}secondary-bg) !default;
$input-disabled-border-color: null !default; $input-disabled-border-color: null !default;
$input-color: $body-color !default; $input-color: var(--#{$prefix}body-color) !default;
$input-border-color: $gray-400 !default; $input-border-color: var(--#{$prefix}border-color) !default;
$input-border-width: $input-btn-border-width !default; $input-border-width: $input-btn-border-width !default;
$input-box-shadow: $box-shadow-inset !default; $input-box-shadow: var(--#{$prefix}box-shadow-inset) !default;
$input-border-radius: $border-radius !default; $input-border-radius: var(--#{$prefix}border-radius) !default;
$input-border-radius-sm: $border-radius-sm !default; $input-border-radius-sm: var(--#{$prefix}border-radius-sm) !default;
$input-border-radius-lg: $border-radius-lg !default; $input-border-radius-lg: var(--#{$prefix}border-radius-lg) !default;
$input-focus-bg: $input-bg !default; $input-focus-bg: $input-bg !default;
$input-focus-border-color: tint-color($component-active-bg, 50%) !default; $input-focus-border-color: tint-color($component-active-bg, 50%) !default;
...@@ -844,10 +917,10 @@ $input-focus-color: $input-color !default; ...@@ -844,10 +917,10 @@ $input-focus-color: $input-color !default;
$input-focus-width: $input-btn-focus-width !default; $input-focus-width: $input-btn-focus-width !default;
$input-focus-box-shadow: $input-btn-focus-box-shadow !default; $input-focus-box-shadow: $input-btn-focus-box-shadow !default;
$input-placeholder-color: $gray-600 !default; $input-placeholder-color: var(--#{$prefix}secondary-color) !default;
$input-plaintext-color: $body-color !default; $input-plaintext-color: var(--#{$prefix}body-color) !default;
$input-height-border: $input-border-width * 2 !default; $input-height-border: calc(#{$input-border-width} * 2) !default; // stylelint-disable-line function-disallowed-list
$input-height-inner: add($input-line-height * 1em, $input-padding-y * 2) !default; $input-height-inner: add($input-line-height * 1em, $input-padding-y * 2) !default;
$input-height-inner-half: add($input-line-height * .5em, $input-padding-y) !default; $input-height-inner-half: add($input-line-height * .5em, $input-padding-y) !default;
...@@ -874,11 +947,11 @@ $form-check-transition: null !default; ...@@ -874,11 +947,11 @@ $form-check-transition: null !default;
$form-check-input-active-filter: brightness(90%) !default; $form-check-input-active-filter: brightness(90%) !default;
$form-check-input-bg: $input-bg !default; $form-check-input-bg: $input-bg !default;
$form-check-input-border: 1px solid rgba($black, .25) !default; $form-check-input-border: var(--#{$prefix}border-width) solid var(--#{$prefix}border-color) !default;
$form-check-input-border-radius: .25em !default; $form-check-input-border-radius: .25em !default;
$form-check-radio-border-radius: 50% !default; $form-check-radio-border-radius: 50% !default;
$form-check-input-focus-border: $input-focus-border-color !default; $form-check-input-focus-border: $input-focus-border-color !default;
$form-check-input-focus-box-shadow: $input-btn-focus-box-shadow !default; $form-check-input-focus-box-shadow: $focus-ring-box-shadow !default;
$form-check-input-checked-color: $component-active-color !default; $form-check-input-checked-color: $component-active-color !default;
$form-check-input-checked-bg-color: $component-active-bg !default; $form-check-input-checked-bg-color: $component-active-bg !default;
...@@ -919,7 +992,7 @@ $input-group-addon-padding-y: $input-padding-y !default; ...@@ -919,7 +992,7 @@ $input-group-addon-padding-y: $input-padding-y !default;
$input-group-addon-padding-x: $input-padding-x !default; $input-group-addon-padding-x: $input-padding-x !default;
$input-group-addon-font-weight: $input-font-weight !default; $input-group-addon-font-weight: $input-font-weight !default;
$input-group-addon-color: $input-color !default; $input-group-addon-color: $input-color !default;
$input-group-addon-bg: $gray-200 !default; $input-group-addon-bg: var(--#{$prefix}tertiary-bg) !default;
$input-group-addon-border-color: $input-border-color !default; $input-group-addon-border-color: $input-border-color !default;
// scss-docs-end input-group-variables // scss-docs-end input-group-variables
...@@ -934,7 +1007,7 @@ $form-select-line-height: $input-line-height !default; ...@@ -934,7 +1007,7 @@ $form-select-line-height: $input-line-height !default;
$form-select-color: $input-color !default; $form-select-color: $input-color !default;
$form-select-bg: $input-bg !default; $form-select-bg: $input-bg !default;
$form-select-disabled-color: null !default; $form-select-disabled-color: null !default;
$form-select-disabled-bg: $gray-200 !default; $form-select-disabled-bg: $input-disabled-bg !default;
$form-select-disabled-border-color: $input-disabled-border-color !default; $form-select-disabled-border-color: $input-disabled-border-color !default;
$form-select-bg-position: right $form-select-padding-x center !default; $form-select-bg-position: right $form-select-padding-x center !default;
$form-select-bg-size: 16px 12px !default; // In pixels because image dimensions $form-select-bg-size: 16px 12px !default; // In pixels because image dimensions
...@@ -948,7 +1021,7 @@ $form-select-feedback-icon-size: $input-height-inner-half $input-height-i ...@@ -948,7 +1021,7 @@ $form-select-feedback-icon-size: $input-height-inner-half $input-height-i
$form-select-border-width: $input-border-width !default; $form-select-border-width: $input-border-width !default;
$form-select-border-color: $input-border-color !default; $form-select-border-color: $input-border-color !default;
$form-select-border-radius: $input-border-radius !default; $form-select-border-radius: $input-border-radius !default;
$form-select-box-shadow: $box-shadow-inset !default; $form-select-box-shadow: var(--#{$prefix}box-shadow-inset) !default;
$form-select-focus-border-color: $input-focus-border-color !default; $form-select-focus-border-color: $input-focus-border-color !default;
$form-select-focus-width: $input-focus-width !default; $form-select-focus-width: $input-focus-width !default;
...@@ -971,9 +1044,9 @@ $form-select-transition: $input-transition !default; ...@@ -971,9 +1044,9 @@ $form-select-transition: $input-transition !default;
$form-range-track-width: 100% !default; $form-range-track-width: 100% !default;
$form-range-track-height: .5rem !default; $form-range-track-height: .5rem !default;
$form-range-track-cursor: pointer !default; $form-range-track-cursor: pointer !default;
$form-range-track-bg: $gray-300 !default; $form-range-track-bg: var(--#{$prefix}secondary-bg) !default;
$form-range-track-border-radius: 1rem !default; $form-range-track-border-radius: 1rem !default;
$form-range-track-box-shadow: $box-shadow-inset !default; $form-range-track-box-shadow: var(--#{$prefix}box-shadow-inset) !default;
$form-range-thumb-width: 1rem !default; $form-range-thumb-width: 1rem !default;
$form-range-thumb-height: $form-range-thumb-width !default; $form-range-thumb-height: $form-range-thumb-width !default;
...@@ -984,14 +1057,14 @@ $form-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !defa ...@@ -984,14 +1057,14 @@ $form-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !defa
$form-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default; $form-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default;
$form-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in Edge $form-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in Edge
$form-range-thumb-active-bg: tint-color($component-active-bg, 70%) !default; $form-range-thumb-active-bg: tint-color($component-active-bg, 70%) !default;
$form-range-thumb-disabled-bg: $gray-500 !default; $form-range-thumb-disabled-bg: var(--#{$prefix}secondary-color) !default;
$form-range-thumb-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default; $form-range-thumb-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;
// scss-docs-end form-range-variables // scss-docs-end form-range-variables
// scss-docs-start form-file-variables // scss-docs-start form-file-variables
$form-file-button-color: $input-color !default; $form-file-button-color: $input-color !default;
$form-file-button-bg: $input-group-addon-bg !default; $form-file-button-bg: var(--#{$prefix}tertiary-bg) !default;
$form-file-button-hover-bg: shade-color($form-file-button-bg, 5%) !default; $form-file-button-hover-bg: var(--#{$prefix}secondary-bg) !default;
// scss-docs-end form-file-variables // scss-docs-end form-file-variables
// scss-docs-start form-floating-variables // scss-docs-start form-floating-variables
...@@ -1001,8 +1074,10 @@ $form-floating-padding-x: $input-padding-x !default; ...@@ -1001,8 +1074,10 @@ $form-floating-padding-x: $input-padding-x !default;
$form-floating-padding-y: 1rem !default; $form-floating-padding-y: 1rem !default;
$form-floating-input-padding-t: 1.625rem !default; $form-floating-input-padding-t: 1.625rem !default;
$form-floating-input-padding-b: .625rem !default; $form-floating-input-padding-b: .625rem !default;
$form-floating-label-height: 1.5em !default;
$form-floating-label-opacity: .65 !default; $form-floating-label-opacity: .65 !default;
$form-floating-label-transform: scale(.85) translateY(-.5rem) translateX(.15rem) !default; $form-floating-label-transform: scale(.85) translateY(-.5rem) translateX(.15rem) !default;
$form-floating-label-disabled-color: $gray-600 !default;
$form-floating-transition: opacity .1s ease-in-out, transform .1s ease-in-out !default; $form-floating-transition: opacity .1s ease-in-out, transform .1s ease-in-out !default;
// scss-docs-end form-floating-variables // scss-docs-end form-floating-variables
...@@ -1016,20 +1091,35 @@ $form-feedback-valid-color: $success !default; ...@@ -1016,20 +1091,35 @@ $form-feedback-valid-color: $success !default;
$form-feedback-invalid-color: $danger !default; $form-feedback-invalid-color: $danger !default;
$form-feedback-icon-valid-color: $form-feedback-valid-color !default; $form-feedback-icon-valid-color: $form-feedback-valid-color !default;
$form-feedback-icon-valid: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'><path fill='#{$form-feedback-icon-valid-color}' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/></svg>") !default; $form-feedback-icon-valid: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'><path fill='#{$form-feedback-icon-valid-color}' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1'/></svg>") !default;
$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default; $form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;
$form-feedback-icon-invalid: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='#{$form-feedback-icon-invalid-color}'><circle cx='6' cy='6' r='4.5'/><path stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/><circle cx='6' cy='8.2' r='.6' fill='#{$form-feedback-icon-invalid-color}' stroke='none'/></svg>") !default; $form-feedback-icon-invalid: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='#{$form-feedback-icon-invalid-color}'><circle cx='6' cy='6' r='4.5'/><path stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/><circle cx='6' cy='8.2' r='.6' fill='#{$form-feedback-icon-invalid-color}' stroke='none'/></svg>") !default;
// scss-docs-end form-feedback-variables // scss-docs-end form-feedback-variables
// scss-docs-start form-validation-colors
$form-valid-color: $form-feedback-valid-color !default;
$form-valid-border-color: $form-feedback-valid-color !default;
$form-invalid-color: $form-feedback-invalid-color !default;
$form-invalid-border-color: $form-feedback-invalid-color !default;
// scss-docs-end form-validation-colors
// scss-docs-start form-validation-states // scss-docs-start form-validation-states
$form-validation-states: ( $form-validation-states: (
"valid": ( "valid": (
"color": $form-feedback-valid-color, "color": var(--#{$prefix}form-valid-color),
"icon": $form-feedback-icon-valid "icon": $form-feedback-icon-valid,
"tooltip-color": #fff,
"tooltip-bg-color": var(--#{$prefix}success),
"focus-box-shadow": 0 0 $input-btn-focus-blur $input-focus-width rgba(var(--#{$prefix}success-rgb), $input-btn-focus-color-opacity),
"border-color": var(--#{$prefix}form-valid-border-color),
), ),
"invalid": ( "invalid": (
"color": $form-feedback-invalid-color, "color": var(--#{$prefix}form-invalid-color),
"icon": $form-feedback-icon-invalid "icon": $form-feedback-icon-invalid,
"tooltip-color": #fff,
"tooltip-bg-color": var(--#{$prefix}danger),
"focus-box-shadow": 0 0 $input-btn-focus-blur $input-focus-width rgba(var(--#{$prefix}danger-rgb), $input-btn-focus-color-opacity),
"border-color": var(--#{$prefix}form-invalid-border-color),
) )
) !default; ) !default;
// scss-docs-end form-validation-states // scss-docs-end form-validation-states
...@@ -1052,6 +1142,16 @@ $zindex-tooltip: 1080 !default; ...@@ -1052,6 +1142,16 @@ $zindex-tooltip: 1080 !default;
$zindex-toast: 1090 !default; $zindex-toast: 1090 !default;
// scss-docs-end zindex-stack // scss-docs-end zindex-stack
// scss-docs-start zindex-levels-map
$zindex-levels: (
n1: -1,
0: 0,
1: 1,
2: 2,
3: 3
) !default;
// scss-docs-end zindex-levels-map
// Navs // Navs
...@@ -1063,19 +1163,24 @@ $nav-link-font-weight: null !default; ...@@ -1063,19 +1163,24 @@ $nav-link-font-weight: null !default;
$nav-link-color: var(--#{$prefix}link-color) !default; $nav-link-color: var(--#{$prefix}link-color) !default;
$nav-link-hover-color: var(--#{$prefix}link-hover-color) !default; $nav-link-hover-color: var(--#{$prefix}link-hover-color) !default;
$nav-link-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out !default; $nav-link-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out !default;
$nav-link-disabled-color: $gray-600 !default; $nav-link-disabled-color: var(--#{$prefix}secondary-color) !default;
$nav-link-focus-box-shadow: $focus-ring-box-shadow !default;
$nav-tabs-border-color: $gray-300 !default;
$nav-tabs-border-width: $border-width !default; $nav-tabs-border-color: var(--#{$prefix}border-color) !default;
$nav-tabs-border-radius: $border-radius !default; $nav-tabs-border-width: var(--#{$prefix}border-width) !default;
$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default; $nav-tabs-border-radius: var(--#{$prefix}border-radius) !default;
$nav-tabs-link-active-color: $gray-700 !default; $nav-tabs-link-hover-border-color: var(--#{$prefix}secondary-bg) var(--#{$prefix}secondary-bg) $nav-tabs-border-color !default;
$nav-tabs-link-active-bg: $body-bg !default; $nav-tabs-link-active-color: var(--#{$prefix}emphasis-color) !default;
$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default; $nav-tabs-link-active-bg: var(--#{$prefix}body-bg) !default;
$nav-tabs-link-active-border-color: var(--#{$prefix}border-color) var(--#{$prefix}border-color) $nav-tabs-link-active-bg !default;
$nav-pills-border-radius: $border-radius !default;
$nav-pills-border-radius: var(--#{$prefix}border-radius) !default;
$nav-pills-link-active-color: $component-active-color !default; $nav-pills-link-active-color: $component-active-color !default;
$nav-pills-link-active-bg: $component-active-bg !default; $nav-pills-link-active-bg: $component-active-bg !default;
$nav-underline-gap: 1rem !default;
$nav-underline-border-width: .125rem !default;
$nav-underline-link-active-color: var(--#{$prefix}emphasis-color) !default;
// scss-docs-end nav-variables // scss-docs-end nav-variables
...@@ -1101,12 +1206,13 @@ $navbar-toggler-border-radius: $btn-border-radius !default; ...@@ -1101,12 +1206,13 @@ $navbar-toggler-border-radius: $btn-border-radius !default;
$navbar-toggler-focus-width: $btn-focus-width !default; $navbar-toggler-focus-width: $btn-focus-width !default;
$navbar-toggler-transition: box-shadow .15s ease-in-out !default; $navbar-toggler-transition: box-shadow .15s ease-in-out !default;
$navbar-light-color: rgba($black, .55) !default; $navbar-light-color: rgba(var(--#{$prefix}emphasis-color-rgb), .65) !default;
$navbar-light-hover-color: rgba($black, .7) !default; $navbar-light-hover-color: rgba(var(--#{$prefix}emphasis-color-rgb), .8) !default;
$navbar-light-active-color: rgba($black, .9) !default; $navbar-light-active-color: rgba(var(--#{$prefix}emphasis-color-rgb), 1) !default;
$navbar-light-disabled-color: rgba($black, .3) !default; $navbar-light-disabled-color: rgba(var(--#{$prefix}emphasis-color-rgb), .3) !default;
$navbar-light-toggler-icon-bg: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='#{$navbar-light-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>") !default; $navbar-light-icon-color: rgba($body-color, .75) !default;
$navbar-light-toggler-border-color: rgba($black, .1) !default; $navbar-light-toggler-icon-bg: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='#{$navbar-light-icon-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>") !default;
$navbar-light-toggler-border-color: rgba(var(--#{$prefix}emphasis-color-rgb), .15) !default;
$navbar-light-brand-color: $navbar-light-active-color !default; $navbar-light-brand-color: $navbar-light-active-color !default;
$navbar-light-brand-hover-color: $navbar-light-active-color !default; $navbar-light-brand-hover-color: $navbar-light-active-color !default;
// scss-docs-end navbar-variables // scss-docs-end navbar-variables
...@@ -1116,7 +1222,8 @@ $navbar-dark-color: rgba($white, .55) !default; ...@@ -1116,7 +1222,8 @@ $navbar-dark-color: rgba($white, .55) !default;
$navbar-dark-hover-color: rgba($white, .75) !default; $navbar-dark-hover-color: rgba($white, .75) !default;
$navbar-dark-active-color: $white !default; $navbar-dark-active-color: $white !default;
$navbar-dark-disabled-color: rgba($white, .25) !default; $navbar-dark-disabled-color: rgba($white, .25) !default;
$navbar-dark-toggler-icon-bg: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='#{$navbar-dark-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>") !default; $navbar-dark-icon-color: $navbar-dark-color !default;
$navbar-dark-toggler-icon-bg: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='#{$navbar-dark-icon-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>") !default;
$navbar-dark-toggler-border-color: rgba($white, .1) !default; $navbar-dark-toggler-border-color: rgba($white, .1) !default;
$navbar-dark-brand-color: $navbar-dark-active-color !default; $navbar-dark-brand-color: $navbar-dark-active-color !default;
$navbar-dark-brand-hover-color: $navbar-dark-active-color !default; $navbar-dark-brand-hover-color: $navbar-dark-active-color !default;
...@@ -1133,24 +1240,24 @@ $dropdown-padding-x: 0 !default; ...@@ -1133,24 +1240,24 @@ $dropdown-padding-x: 0 !default;
$dropdown-padding-y: .5rem !default; $dropdown-padding-y: .5rem !default;
$dropdown-spacer: .125rem !default; $dropdown-spacer: .125rem !default;
$dropdown-font-size: $font-size-base !default; $dropdown-font-size: $font-size-base !default;
$dropdown-color: $body-color !default; $dropdown-color: var(--#{$prefix}body-color) !default;
$dropdown-bg: $white !default; $dropdown-bg: var(--#{$prefix}body-bg) !default;
$dropdown-border-color: var(--#{$prefix}border-color-translucent) !default; $dropdown-border-color: var(--#{$prefix}border-color-translucent) !default;
$dropdown-border-radius: $border-radius !default; $dropdown-border-radius: var(--#{$prefix}border-radius) !default;
$dropdown-border-width: $border-width !default; $dropdown-border-width: var(--#{$prefix}border-width) !default;
$dropdown-inner-border-radius: subtract($dropdown-border-radius, $dropdown-border-width) !default; $dropdown-inner-border-radius: calc(#{$dropdown-border-radius} - #{$dropdown-border-width}) !default; // stylelint-disable-line function-disallowed-list
$dropdown-divider-bg: $dropdown-border-color !default; $dropdown-divider-bg: $dropdown-border-color !default;
$dropdown-divider-margin-y: $spacer * .5 !default; $dropdown-divider-margin-y: $spacer * .5 !default;
$dropdown-box-shadow: $box-shadow !default; $dropdown-box-shadow: var(--#{$prefix}box-shadow) !default;
$dropdown-link-color: $gray-900 !default; $dropdown-link-color: var(--#{$prefix}body-color) !default;
$dropdown-link-hover-color: shade-color($dropdown-link-color, 10%) !default; $dropdown-link-hover-color: $dropdown-link-color !default;
$dropdown-link-hover-bg: $gray-200 !default; $dropdown-link-hover-bg: var(--#{$prefix}tertiary-bg) !default;
$dropdown-link-active-color: $component-active-color !default; $dropdown-link-active-color: $component-active-color !default;
$dropdown-link-active-bg: $component-active-bg !default; $dropdown-link-active-bg: $component-active-bg !default;
$dropdown-link-disabled-color: $gray-500 !default; $dropdown-link-disabled-color: var(--#{$prefix}tertiary-color) !default;
$dropdown-item-padding-y: $spacer * .25 !default; $dropdown-item-padding-y: $spacer * .25 !default;
$dropdown-item-padding-x: $spacer !default; $dropdown-item-padding-x: $spacer !default;
...@@ -1192,33 +1299,33 @@ $pagination-padding-x-lg: 1.5rem !default; ...@@ -1192,33 +1299,33 @@ $pagination-padding-x-lg: 1.5rem !default;
$pagination-font-size: $font-size-base !default; $pagination-font-size: $font-size-base !default;
$pagination-color: var(--#{$prefix}link-color) !default; $pagination-color: var(--#{$prefix}link-color) !default;
$pagination-bg: $white !default; $pagination-bg: var(--#{$prefix}body-bg) !default;
$pagination-border-radius: $border-radius !default; $pagination-border-radius: var(--#{$prefix}border-radius) !default;
$pagination-border-width: $border-width !default; $pagination-border-width: var(--#{$prefix}border-width) !default;
$pagination-margin-start: ($pagination-border-width * -1) !default; $pagination-margin-start: calc(-1 * #{$pagination-border-width}) !default; // stylelint-disable-line function-disallowed-list
$pagination-border-color: $gray-300 !default; $pagination-border-color: var(--#{$prefix}border-color) !default;
$pagination-focus-color: var(--#{$prefix}link-hover-color) !default; $pagination-focus-color: var(--#{$prefix}link-hover-color) !default;
$pagination-focus-bg: $gray-200 !default; $pagination-focus-bg: var(--#{$prefix}secondary-bg) !default;
$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default; $pagination-focus-box-shadow: $focus-ring-box-shadow !default;
$pagination-focus-outline: 0 !default; $pagination-focus-outline: 0 !default;
$pagination-hover-color: var(--#{$prefix}link-hover-color) !default; $pagination-hover-color: var(--#{$prefix}link-hover-color) !default;
$pagination-hover-bg: $gray-200 !default; $pagination-hover-bg: var(--#{$prefix}tertiary-bg) !default;
$pagination-hover-border-color: $gray-300 !default; $pagination-hover-border-color: var(--#{$prefix}border-color) !default; // Todo in v6: remove this?
$pagination-active-color: $component-active-color !default; $pagination-active-color: $component-active-color !default;
$pagination-active-bg: $component-active-bg !default; $pagination-active-bg: $component-active-bg !default;
$pagination-active-border-color: $pagination-active-bg !default; $pagination-active-border-color: $component-active-bg !default;
$pagination-disabled-color: $gray-600 !default; $pagination-disabled-color: var(--#{$prefix}secondary-color) !default;
$pagination-disabled-bg: $white !default; $pagination-disabled-bg: var(--#{$prefix}secondary-bg) !default;
$pagination-disabled-border-color: $gray-300 !default; $pagination-disabled-border-color: var(--#{$prefix}border-color) !default;
$pagination-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default; $pagination-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;
$pagination-border-radius-sm: $border-radius-sm !default; $pagination-border-radius-sm: var(--#{$prefix}border-radius-sm) !default;
$pagination-border-radius-lg: $border-radius-lg !default; $pagination-border-radius-lg: var(--#{$prefix}border-radius-lg) !default;
// scss-docs-end pagination-variables // scss-docs-end pagination-variables
...@@ -1235,18 +1342,20 @@ $placeholder-opacity-min: .2 !default; ...@@ -1235,18 +1342,20 @@ $placeholder-opacity-min: .2 !default;
$card-spacer-y: $spacer !default; $card-spacer-y: $spacer !default;
$card-spacer-x: $spacer !default; $card-spacer-x: $spacer !default;
$card-title-spacer-y: $spacer * .5 !default; $card-title-spacer-y: $spacer * .5 !default;
$card-border-width: $border-width !default; $card-title-color: null !default;
$card-subtitle-color: null !default;
$card-border-width: var(--#{$prefix}border-width) !default;
$card-border-color: var(--#{$prefix}border-color-translucent) !default; $card-border-color: var(--#{$prefix}border-color-translucent) !default;
$card-border-radius: $border-radius !default; $card-border-radius: var(--#{$prefix}border-radius) !default;
$card-box-shadow: null !default; $card-box-shadow: null !default;
$card-inner-border-radius: subtract($card-border-radius, $card-border-width) !default; $card-inner-border-radius: subtract($card-border-radius, $card-border-width) !default;
$card-cap-padding-y: $card-spacer-y * .5 !default; $card-cap-padding-y: $card-spacer-y * .5 !default;
$card-cap-padding-x: $card-spacer-x !default; $card-cap-padding-x: $card-spacer-x !default;
$card-cap-bg: rgba($black, .03) !default; $card-cap-bg: rgba(var(--#{$prefix}body-color-rgb), .03) !default;
$card-cap-color: null !default; $card-cap-color: null !default;
$card-height: null !default; $card-height: null !default;
$card-color: null !default; $card-color: null !default;
$card-bg: $white !default; $card-bg: var(--#{$prefix}body-bg) !default;
$card-img-overlay-padding: $spacer !default; $card-img-overlay-padding: $spacer !default;
$card-group-margin: $grid-gutter-width * .5 !default; $card-group-margin: $grid-gutter-width * .5 !default;
// scss-docs-end card-variables // scss-docs-end card-variables
...@@ -1256,11 +1365,11 @@ $card-group-margin: $grid-gutter-width * .5 !default; ...@@ -1256,11 +1365,11 @@ $card-group-margin: $grid-gutter-width * .5 !default;
// scss-docs-start accordion-variables // scss-docs-start accordion-variables
$accordion-padding-y: 1rem !default; $accordion-padding-y: 1rem !default;
$accordion-padding-x: 1.25rem !default; $accordion-padding-x: 1.25rem !default;
$accordion-color: $body-color !default; // Sass variable because of $accordion-button-icon $accordion-color: var(--#{$prefix}body-color) !default;
$accordion-bg: $body-bg !default; $accordion-bg: var(--#{$prefix}body-bg) !default;
$accordion-border-width: $border-width !default; $accordion-border-width: var(--#{$prefix}border-width) !default;
$accordion-border-color: var(--#{$prefix}border-color) !default; $accordion-border-color: var(--#{$prefix}border-color) !default;
$accordion-border-radius: $border-radius !default; $accordion-border-radius: var(--#{$prefix}border-radius) !default;
$accordion-inner-border-radius: subtract($accordion-border-radius, $accordion-border-width) !default; $accordion-inner-border-radius: subtract($accordion-border-radius, $accordion-border-width) !default;
$accordion-body-padding-y: $accordion-padding-y !default; $accordion-body-padding-y: $accordion-padding-y !default;
...@@ -1268,23 +1377,25 @@ $accordion-body-padding-x: $accordion-padding-x !default; ...@@ -1268,23 +1377,25 @@ $accordion-body-padding-x: $accordion-padding-x !default;
$accordion-button-padding-y: $accordion-padding-y !default; $accordion-button-padding-y: $accordion-padding-y !default;
$accordion-button-padding-x: $accordion-padding-x !default; $accordion-button-padding-x: $accordion-padding-x !default;
$accordion-button-color: $accordion-color !default; $accordion-button-color: var(--#{$prefix}body-color) !default;
$accordion-button-bg: var(--#{$prefix}accordion-bg) !default; $accordion-button-bg: var(--#{$prefix}accordion-bg) !default;
$accordion-transition: $btn-transition, border-radius .15s ease !default; $accordion-transition: $btn-transition, border-radius .15s ease !default;
$accordion-button-active-bg: tint-color($component-active-bg, 90%) !default; $accordion-button-active-bg: var(--#{$prefix}primary-bg-subtle) !default;
$accordion-button-active-color: shade-color($primary, 10%) !default; $accordion-button-active-color: var(--#{$prefix}primary-text-emphasis) !default;
$accordion-button-focus-border-color: $input-focus-border-color !default; // fusv-disable
$accordion-button-focus-border-color: $input-focus-border-color !default; // Deprecated in v5.3.3
// fusv-enable
$accordion-button-focus-box-shadow: $btn-focus-box-shadow !default; $accordion-button-focus-box-shadow: $btn-focus-box-shadow !default;
$accordion-icon-width: 1.25rem !default; $accordion-icon-width: 1.25rem !default;
$accordion-icon-color: $accordion-button-color !default; $accordion-icon-color: $body-color !default;
$accordion-icon-active-color: $accordion-button-active-color !default; $accordion-icon-active-color: $primary-text-emphasis !default;
$accordion-icon-transition: transform .2s ease-in-out !default; $accordion-icon-transition: transform .2s ease-in-out !default;
$accordion-icon-transform: rotate(-180deg) !default; $accordion-icon-transform: rotate(-180deg) !default;
$accordion-button-icon: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$accordion-icon-color}'><path fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/></svg>") !default; $accordion-button-icon: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='#{$accordion-icon-color}' stroke-linecap='round' stroke-linejoin='round'><path d='m2 5 6 6 6-6'/></svg>") !default;
$accordion-button-active-icon: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$accordion-icon-active-color}'><path fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/></svg>") !default; $accordion-button-active-icon: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='#{$accordion-icon-active-color}' stroke-linecap='round' stroke-linejoin='round'><path d='m2 5 6 6 6-6'/></svg>") !default;
// scss-docs-end accordion-variables // scss-docs-end accordion-variables
// Tooltips // Tooltips
...@@ -1292,9 +1403,9 @@ $accordion-button-active-icon: url("data:image/svg+xml,<svg xmlns='http://www.w ...@@ -1292,9 +1403,9 @@ $accordion-button-active-icon: url("data:image/svg+xml,<svg xmlns='http://www.w
// scss-docs-start tooltip-variables // scss-docs-start tooltip-variables
$tooltip-font-size: $font-size-sm !default; $tooltip-font-size: $font-size-sm !default;
$tooltip-max-width: 200px !default; $tooltip-max-width: 200px !default;
$tooltip-color: $white !default; $tooltip-color: var(--#{$prefix}body-bg) !default;
$tooltip-bg: $black !default; $tooltip-bg: var(--#{$prefix}emphasis-color) !default;
$tooltip-border-radius: $border-radius !default; $tooltip-border-radius: var(--#{$prefix}border-radius) !default;
$tooltip-opacity: .9 !default; $tooltip-opacity: .9 !default;
$tooltip-padding-y: $spacer * .25 !default; $tooltip-padding-y: $spacer * .25 !default;
$tooltip-padding-x: $spacer * .5 !default; $tooltip-padding-x: $spacer * .5 !default;
...@@ -1322,21 +1433,21 @@ $form-feedback-tooltip-border-radius: $tooltip-border-radius !default; ...@@ -1322,21 +1433,21 @@ $form-feedback-tooltip-border-radius: $tooltip-border-radius !default;
// scss-docs-start popover-variables // scss-docs-start popover-variables
$popover-font-size: $font-size-sm !default; $popover-font-size: $font-size-sm !default;
$popover-bg: $white !default; $popover-bg: var(--#{$prefix}body-bg) !default;
$popover-max-width: 276px !default; $popover-max-width: 276px !default;
$popover-border-width: $border-width !default; $popover-border-width: var(--#{$prefix}border-width) !default;
$popover-border-color: var(--#{$prefix}border-color-translucent) !default; $popover-border-color: var(--#{$prefix}border-color-translucent) !default;
$popover-border-radius: $border-radius-lg !default; $popover-border-radius: var(--#{$prefix}border-radius-lg) !default;
$popover-inner-border-radius: subtract($popover-border-radius, $popover-border-width) !default; $popover-inner-border-radius: calc(#{$popover-border-radius} - #{$popover-border-width}) !default; // stylelint-disable-line function-disallowed-list
$popover-box-shadow: $box-shadow !default; $popover-box-shadow: var(--#{$prefix}box-shadow) !default;
$popover-header-font-size: $font-size-base !default; $popover-header-font-size: $font-size-base !default;
$popover-header-bg: shade-color($popover-bg, 6%) !default; $popover-header-bg: var(--#{$prefix}secondary-bg) !default;
$popover-header-color: $headings-color !default; $popover-header-color: $headings-color !default;
$popover-header-padding-y: .5rem !default; $popover-header-padding-y: .5rem !default;
$popover-header-padding-x: $spacer !default; $popover-header-padding-x: $spacer !default;
$popover-body-color: $body-color !default; $popover-body-color: var(--#{$prefix}body-color) !default;
$popover-body-padding-y: $spacer !default; $popover-body-padding-y: $spacer !default;
$popover-body-padding-x: $spacer !default; $popover-body-padding-x: $spacer !default;
...@@ -1359,16 +1470,16 @@ $toast-padding-x: .75rem !default; ...@@ -1359,16 +1470,16 @@ $toast-padding-x: .75rem !default;
$toast-padding-y: .5rem !default; $toast-padding-y: .5rem !default;
$toast-font-size: .875rem !default; $toast-font-size: .875rem !default;
$toast-color: null !default; $toast-color: null !default;
$toast-background-color: rgba($white, .85) !default; $toast-background-color: rgba(var(--#{$prefix}body-bg-rgb), .85) !default;
$toast-border-width: $border-width !default; $toast-border-width: var(--#{$prefix}border-width) !default;
$toast-border-color: var(--#{$prefix}border-color-translucent) !default; $toast-border-color: var(--#{$prefix}border-color-translucent) !default;
$toast-border-radius: $border-radius !default; $toast-border-radius: var(--#{$prefix}border-radius) !default;
$toast-box-shadow: $box-shadow !default; $toast-box-shadow: var(--#{$prefix}box-shadow) !default;
$toast-spacing: $container-padding-x !default; $toast-spacing: $container-padding-x !default;
$toast-header-color: $gray-600 !default; $toast-header-color: var(--#{$prefix}secondary-color) !default;
$toast-header-background-color: rgba($white, .85) !default; $toast-header-background-color: rgba(var(--#{$prefix}body-bg-rgb), .85) !default;
$toast-header-border-color: rgba($black, .05) !default; $toast-header-border-color: $toast-border-color !default;
// scss-docs-end toast-variables // scss-docs-end toast-variables
...@@ -1380,7 +1491,7 @@ $badge-font-weight: $font-weight-bold !default; ...@@ -1380,7 +1491,7 @@ $badge-font-weight: $font-weight-bold !default;
$badge-color: $white !default; $badge-color: $white !default;
$badge-padding-y: .35em !default; $badge-padding-y: .35em !default;
$badge-padding-x: .65em !default; $badge-padding-x: .65em !default;
$badge-border-radius: $border-radius !default; $badge-border-radius: var(--#{$prefix}border-radius) !default;
// scss-docs-end badge-variables // scss-docs-end badge-variables
...@@ -1396,14 +1507,14 @@ $modal-dialog-margin-y-sm-up: 1.75rem !default; ...@@ -1396,14 +1507,14 @@ $modal-dialog-margin-y-sm-up: 1.75rem !default;
$modal-title-line-height: $line-height-base !default; $modal-title-line-height: $line-height-base !default;
$modal-content-color: null !default; $modal-content-color: var(--#{$prefix}body-color) !default;
$modal-content-bg: $white !default; $modal-content-bg: var(--#{$prefix}body-bg) !default;
$modal-content-border-color: var(--#{$prefix}border-color-translucent) !default; $modal-content-border-color: var(--#{$prefix}border-color-translucent) !default;
$modal-content-border-width: $border-width !default; $modal-content-border-width: var(--#{$prefix}border-width) !default;
$modal-content-border-radius: $border-radius-lg !default; $modal-content-border-radius: var(--#{$prefix}border-radius-lg) !default;
$modal-content-inner-border-radius: subtract($modal-content-border-radius, $modal-content-border-width) !default; $modal-content-inner-border-radius: subtract($modal-content-border-radius, $modal-content-border-width) !default;
$modal-content-box-shadow-xs: $box-shadow-sm !default; $modal-content-box-shadow-xs: var(--#{$prefix}box-shadow-sm) !default;
$modal-content-box-shadow-sm-up: $box-shadow !default; $modal-content-box-shadow-sm-up: var(--#{$prefix}box-shadow) !default;
$modal-backdrop-bg: $black !default; $modal-backdrop-bg: $black !default;
$modal-backdrop-opacity: .5 !default; $modal-backdrop-opacity: .5 !default;
...@@ -1438,24 +1549,26 @@ $modal-scale-transform: scale(1.02) !default; ...@@ -1438,24 +1549,26 @@ $modal-scale-transform: scale(1.02) !default;
$alert-padding-y: $spacer !default; $alert-padding-y: $spacer !default;
$alert-padding-x: $spacer !default; $alert-padding-x: $spacer !default;
$alert-margin-bottom: 1rem !default; $alert-margin-bottom: 1rem !default;
$alert-border-radius: $border-radius !default; $alert-border-radius: var(--#{$prefix}border-radius) !default;
$alert-link-font-weight: $font-weight-bold !default; $alert-link-font-weight: $font-weight-bold !default;
$alert-border-width: $border-width !default; $alert-border-width: var(--#{$prefix}border-width) !default;
$alert-bg-scale: -80% !default;
$alert-border-scale: -70% !default;
$alert-color-scale: 40% !default;
$alert-dismissible-padding-r: $alert-padding-x * 3 !default; // 3x covers width of x plus default padding on either side $alert-dismissible-padding-r: $alert-padding-x * 3 !default; // 3x covers width of x plus default padding on either side
// scss-docs-end alert-variables // scss-docs-end alert-variables
// fusv-disable
$alert-bg-scale: -80% !default; // Deprecated in v5.2.0, to be removed in v6
$alert-border-scale: -70% !default; // Deprecated in v5.2.0, to be removed in v6
$alert-color-scale: 40% !default; // Deprecated in v5.2.0, to be removed in v6
// fusv-enable
// Progress bars // Progress bars
// scss-docs-start progress-variables // scss-docs-start progress-variables
$progress-height: 1rem !default; $progress-height: 1rem !default;
$progress-font-size: $font-size-base * .75 !default; $progress-font-size: $font-size-base * .75 !default;
$progress-bg: $gray-200 !default; $progress-bg: var(--#{$prefix}secondary-bg) !default;
$progress-border-radius: $border-radius !default; $progress-border-radius: var(--#{$prefix}border-radius) !default;
$progress-box-shadow: $box-shadow-inset !default; $progress-box-shadow: var(--#{$prefix}box-shadow-inset) !default;
$progress-bar-color: $white !default; $progress-bar-color: $white !default;
$progress-bar-bg: $primary !default; $progress-bar-bg: $primary !default;
$progress-bar-animation-timing: 1s linear infinite !default; $progress-bar-animation-timing: 1s linear infinite !default;
...@@ -1466,30 +1579,32 @@ $progress-bar-transition: width .6s ease !default; ...@@ -1466,30 +1579,32 @@ $progress-bar-transition: width .6s ease !default;
// List group // List group
// scss-docs-start list-group-variables // scss-docs-start list-group-variables
$list-group-color: $gray-900 !default; $list-group-color: var(--#{$prefix}body-color) !default;
$list-group-bg: $white !default; $list-group-bg: var(--#{$prefix}body-bg) !default;
$list-group-border-color: rgba($black, .125) !default; $list-group-border-color: var(--#{$prefix}border-color) !default;
$list-group-border-width: $border-width !default; $list-group-border-width: var(--#{$prefix}border-width) !default;
$list-group-border-radius: $border-radius !default; $list-group-border-radius: var(--#{$prefix}border-radius) !default;
$list-group-item-padding-y: $spacer * .5 !default; $list-group-item-padding-y: $spacer * .5 !default;
$list-group-item-padding-x: $spacer !default; $list-group-item-padding-x: $spacer !default;
$list-group-item-bg-scale: -80% !default; // fusv-disable
$list-group-item-color-scale: 40% !default; $list-group-item-bg-scale: -80% !default; // Deprecated in v5.3.0
$list-group-item-color-scale: 40% !default; // Deprecated in v5.3.0
// fusv-enable
$list-group-hover-bg: $gray-100 !default; $list-group-hover-bg: var(--#{$prefix}tertiary-bg) !default;
$list-group-active-color: $component-active-color !default; $list-group-active-color: $component-active-color !default;
$list-group-active-bg: $component-active-bg !default; $list-group-active-bg: $component-active-bg !default;
$list-group-active-border-color: $list-group-active-bg !default; $list-group-active-border-color: $list-group-active-bg !default;
$list-group-disabled-color: $gray-600 !default; $list-group-disabled-color: var(--#{$prefix}secondary-color) !default;
$list-group-disabled-bg: $list-group-bg !default; $list-group-disabled-bg: $list-group-bg !default;
$list-group-action-color: $gray-700 !default; $list-group-action-color: var(--#{$prefix}secondary-color) !default;
$list-group-action-hover-color: $list-group-action-color !default; $list-group-action-hover-color: var(--#{$prefix}emphasis-color) !default;
$list-group-action-active-color: $body-color !default; $list-group-action-active-color: var(--#{$prefix}body-color) !default;
$list-group-action-active-bg: $gray-200 !default; $list-group-action-active-bg: var(--#{$prefix}secondary-bg) !default;
// scss-docs-end list-group-variables // scss-docs-end list-group-variables
...@@ -1497,11 +1612,11 @@ $list-group-action-active-bg: $gray-200 !default; ...@@ -1497,11 +1612,11 @@ $list-group-action-active-bg: $gray-200 !default;
// scss-docs-start thumbnail-variables // scss-docs-start thumbnail-variables
$thumbnail-padding: .25rem !default; $thumbnail-padding: .25rem !default;
$thumbnail-bg: $body-bg !default; $thumbnail-bg: var(--#{$prefix}body-bg) !default;
$thumbnail-border-width: $border-width !default; $thumbnail-border-width: var(--#{$prefix}border-width) !default;
$thumbnail-border-color: var(--#{$prefix}border-color) !default; $thumbnail-border-color: var(--#{$prefix}border-color) !default;
$thumbnail-border-radius: $border-radius !default; $thumbnail-border-radius: var(--#{$prefix}border-radius) !default;
$thumbnail-box-shadow: $box-shadow-sm !default; $thumbnail-box-shadow: var(--#{$prefix}box-shadow-sm) !default;
// scss-docs-end thumbnail-variables // scss-docs-end thumbnail-variables
...@@ -1509,7 +1624,7 @@ $thumbnail-box-shadow: $box-shadow-sm !default; ...@@ -1509,7 +1624,7 @@ $thumbnail-box-shadow: $box-shadow-sm !default;
// scss-docs-start figure-variables // scss-docs-start figure-variables
$figure-caption-font-size: $small-font-size !default; $figure-caption-font-size: $small-font-size !default;
$figure-caption-color: $gray-600 !default; $figure-caption-color: var(--#{$prefix}secondary-color) !default;
// scss-docs-end figure-variables // scss-docs-end figure-variables
...@@ -1522,8 +1637,8 @@ $breadcrumb-padding-x: 0 !default; ...@@ -1522,8 +1637,8 @@ $breadcrumb-padding-x: 0 !default;
$breadcrumb-item-padding-x: .5rem !default; $breadcrumb-item-padding-x: .5rem !default;
$breadcrumb-margin-bottom: 1rem !default; $breadcrumb-margin-bottom: 1rem !default;
$breadcrumb-bg: null !default; $breadcrumb-bg: null !default;
$breadcrumb-divider-color: $gray-600 !default; $breadcrumb-divider-color: var(--#{$prefix}secondary-color) !default;
$breadcrumb-active-color: $gray-600 !default; $breadcrumb-active-color: var(--#{$prefix}secondary-color) !default;
$breadcrumb-divider: quote("/") !default; $breadcrumb-divider: quote("/") !default;
$breadcrumb-divider-flipped: $breadcrumb-divider !default; $breadcrumb-divider-flipped: $breadcrumb-divider !default;
$breadcrumb-border-radius: null !default; $breadcrumb-border-radius: null !default;
...@@ -1537,6 +1652,7 @@ $carousel-control-width: 15% !default; ...@@ -1537,6 +1652,7 @@ $carousel-control-width: 15% !default;
$carousel-control-opacity: .5 !default; $carousel-control-opacity: .5 !default;
$carousel-control-hover-opacity: .9 !default; $carousel-control-hover-opacity: .9 !default;
$carousel-control-transition: opacity .15s ease !default; $carousel-control-transition: opacity .15s ease !default;
$carousel-control-icon-filter: null !default;
$carousel-indicator-width: 30px !default; $carousel-indicator-width: 30px !default;
$carousel-indicator-height: 3px !default; $carousel-indicator-height: 3px !default;
...@@ -1554,17 +1670,17 @@ $carousel-caption-spacer: 1.25rem !default; ...@@ -1554,17 +1670,17 @@ $carousel-caption-spacer: 1.25rem !default;
$carousel-control-icon-width: 2rem !default; $carousel-control-icon-width: 2rem !default;
$carousel-control-prev-icon-bg: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$carousel-control-color}'><path d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/></svg>") !default; $carousel-control-prev-icon-bg: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$carousel-control-color}'><path d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/></svg>") !default;
$carousel-control-next-icon-bg: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$carousel-control-color}'><path d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/></svg>") !default; $carousel-control-next-icon-bg: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$carousel-control-color}'><path d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/></svg>") !default;
$carousel-transition-duration: .6s !default; $carousel-transition-duration: .6s !default;
$carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`) $carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)
// scss-docs-end carousel-variables // scss-docs-end carousel-variables
// scss-docs-start carousel-dark-variables // scss-docs-start carousel-dark-variables
$carousel-dark-indicator-active-bg: $black !default; $carousel-dark-indicator-active-bg: $black !default; // Deprecated in v5.3.4
$carousel-dark-caption-color: $black !default; $carousel-dark-caption-color: $black !default; // Deprecated in v5.3.4
$carousel-dark-control-icon-filter: invert(1) grayscale(100) !default; $carousel-dark-control-icon-filter: invert(1) grayscale(100) !default; // Deprecated in v5.3.4
// scss-docs-end carousel-dark-variables // scss-docs-end carousel-dark-variables
...@@ -1591,13 +1707,14 @@ $btn-close-height: $btn-close-width !default; ...@@ -1591,13 +1707,14 @@ $btn-close-height: $btn-close-width !default;
$btn-close-padding-x: .25em !default; $btn-close-padding-x: .25em !default;
$btn-close-padding-y: $btn-close-padding-x !default; $btn-close-padding-y: $btn-close-padding-x !default;
$btn-close-color: $black !default; $btn-close-color: $black !default;
$btn-close-bg: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$btn-close-color}'><path d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/></svg>") !default; $btn-close-bg: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$btn-close-color}'><path d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414'/></svg>") !default;
$btn-close-focus-shadow: $input-btn-focus-box-shadow !default; $btn-close-focus-shadow: $focus-ring-box-shadow !default;
$btn-close-opacity: .5 !default; $btn-close-opacity: .5 !default;
$btn-close-hover-opacity: .75 !default; $btn-close-hover-opacity: .75 !default;
$btn-close-focus-opacity: 1 !default; $btn-close-focus-opacity: 1 !default;
$btn-close-disabled-opacity: .25 !default; $btn-close-disabled-opacity: .25 !default;
$btn-close-white-filter: invert(1) grayscale(100%) brightness(200%) !default; $btn-close-filter: null !default;
$btn-close-white-filter: invert(1) grayscale(100%) brightness(200%) !default; // Deprecated in v5.3.4
// scss-docs-end close-variables // scss-docs-end close-variables
...@@ -1612,8 +1729,8 @@ $offcanvas-transition-duration: .3s !default; ...@@ -1612,8 +1729,8 @@ $offcanvas-transition-duration: .3s !default;
$offcanvas-border-color: $modal-content-border-color !default; $offcanvas-border-color: $modal-content-border-color !default;
$offcanvas-border-width: $modal-content-border-width !default; $offcanvas-border-width: $modal-content-border-width !default;
$offcanvas-title-line-height: $modal-title-line-height !default; $offcanvas-title-line-height: $modal-title-line-height !default;
$offcanvas-bg-color: $modal-content-bg !default; $offcanvas-bg-color: var(--#{$prefix}body-bg) !default;
$offcanvas-color: $modal-content-color !default; $offcanvas-color: var(--#{$prefix}body-color) !default;
$offcanvas-box-shadow: $modal-content-box-shadow-xs !default; $offcanvas-box-shadow: $modal-content-box-shadow-xs !default;
$offcanvas-backdrop-bg: $modal-backdrop-bg !default; $offcanvas-backdrop-bg: $modal-backdrop-bg !default;
$offcanvas-backdrop-opacity: $modal-backdrop-opacity !default; $offcanvas-backdrop-opacity: $modal-backdrop-opacity !default;
...@@ -1632,3 +1749,5 @@ $kbd-bg: var(--#{$prefix}body-color) !default; ...@@ -1632,3 +1749,5 @@ $kbd-bg: var(--#{$prefix}body-color) !default;
$nested-kbd-font-weight: null !default; // Deprecated in v5.2.0, removing in v6 $nested-kbd-font-weight: null !default; // Deprecated in v5.2.0, removing in v6
$pre-color: null !default; $pre-color: null !default;
@import "variables-dark"; // TODO: can be removed safely in v6, only here to avoid breaking changes in v5.3