Skip to content

Commit 081874b

Browse files
committed
fix(Carousel): display issues of carousel child elements in contextual light and dark modes
1 parent 1252eab commit 081874b

File tree

3 files changed

+28
-27
lines changed

3 files changed

+28
-27
lines changed

scss/_carousel.scss

Lines changed: 15 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
@use "mixins/ltr-rtl" as *;
55
@use "mixins/transition" as *;
66
@use "variables" as *;
7+
@use "variables-dark" as *;
78

89
// Notes on the classes:
910
//
@@ -106,6 +107,7 @@
106107
color: $carousel-control-color;
107108
text-align: center;
108109
background: none;
110+
filter: var(--#{$prefix}carousel-control-icon-filter);
109111
border: 0;
110112
opacity: $carousel-control-opacity;
111113
@include transition($carousel-control-transition);
@@ -202,42 +204,31 @@
202204
left: (100% - $carousel-caption-width) * .5;
203205
padding-top: $carousel-caption-padding-y;
204206
padding-bottom: $carousel-caption-padding-y;
205-
color: $carousel-caption-color;
207+
color: var(--#{$prefix}carousel-caption-color);
206208
text-align: center;
207209
}
208210

209211
// Dark mode carousel
210212

211213
@mixin carousel-dark() {
212-
.carousel-control-prev-icon,
213-
.carousel-control-next-icon {
214-
filter: $carousel-dark-control-icon-filter;
215-
}
216-
217-
.carousel-indicators [data#{$data-infix}target] {
218-
background-color: $carousel-dark-indicator-active-bg;
219-
}
220-
221-
.carousel-caption {
222-
color: $carousel-dark-caption-color;
223-
}
214+
--#{$prefix}carousel-indicator-active-bg: #{$carousel-indicator-active-bg-dark};
215+
--#{$prefix}carousel-caption-color: #{$carousel-caption-color-dark};
216+
--#{$prefix}carousel-control-icon-filter: #{$carousel-control-icon-filter-dark};
224217
}
225218

226219
.carousel-dark {
227220
@include carousel-dark();
228221
}
229222

223+
:root,
224+
[data-coreui-theme="light"] {
225+
--#{$prefix}carousel-indicator-active-bg: #{$carousel-indicator-active-bg};
226+
--#{$prefix}carousel-caption-color: #{$carousel-caption-color};
227+
--#{$prefix}carousel-control-icon-filter: #{$carousel-control-icon-filter};
228+
}
229+
230230
@if $enable-dark-mode {
231-
@include color-mode(dark) {
232-
@if $color-mode-type == "media-query" {
233-
.carousel {
234-
@include carousel-dark();
235-
}
236-
} @else {
237-
.carousel,
238-
&.carousel {
239-
@include carousel-dark();
240-
}
241-
}
231+
@include color-mode(dark, true) {
232+
@include carousel-dark();
242233
}
243234
}

scss/_variables-dark.scss

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,3 +147,12 @@ $accordion-icon-active-color-dark: $primary-text-emphasis-dark !default;
147147
$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;
148148
$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;
149149
// scss-docs-end sass-dark-mode-vars
150+
151+
152+
//
153+
// Carousel
154+
//
155+
156+
$carousel-indicator-active-bg-dark: $carousel-dark-indicator-active-bg !default;
157+
$carousel-caption-color-dark: $carousel-dark-caption-color !default;
158+
$carousel-control-icon-filter-dark: $carousel-dark-control-icon-filter !default;

scss/_variables.scss

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1854,6 +1854,7 @@ $carousel-control-width: 15% !default;
18541854
$carousel-control-opacity: .5 !default;
18551855
$carousel-control-hover-opacity: .9 !default;
18561856
$carousel-control-transition: opacity .15s ease !default;
1857+
$carousel-control-icon-filter: null !default;
18571858

18581859
$carousel-indicator-width: 30px !default;
18591860
$carousel-indicator-height: 3px !default;
@@ -1879,9 +1880,9 @@ $carousel-transition: transform $carousel-transition-duration eas
18791880
// scss-docs-end carousel-variables
18801881

18811882
// scss-docs-start carousel-dark-variables
1882-
$carousel-dark-indicator-active-bg: $black !default;
1883-
$carousel-dark-caption-color: $black !default;
1884-
$carousel-dark-control-icon-filter: invert(1) grayscale(100) !default;
1883+
$carousel-dark-indicator-active-bg: $black !default; // Deprecated in v5.3.2
1884+
$carousel-dark-caption-color: $black !default; // Deprecated in v5.3.2
1885+
$carousel-dark-control-icon-filter: invert(1) grayscale(100) !default; // Deprecated in v5.3.2
18851886
// scss-docs-end carousel-dark-variables
18861887

18871888
// scss-docs-start sidebar-variables

0 commit comments

Comments
 (0)