diff options
Diffstat (limited to 'assets/stylesheets/bootstrap/_dropdown.scss')
-rw-r--r-- | assets/stylesheets/bootstrap/_dropdown.scss | 45 |
1 files changed, 22 insertions, 23 deletions
diff --git a/assets/stylesheets/bootstrap/_dropdown.scss b/assets/stylesheets/bootstrap/_dropdown.scss index fef1c9b..f9ad977 100644 --- a/assets/stylesheets/bootstrap/_dropdown.scss +++ b/assets/stylesheets/bootstrap/_dropdown.scss @@ -1,8 +1,8 @@ // The dropdown wrapper (`<div>`) .dropup, -.dropright, +.dropend, .dropdown, -.dropleft { +.dropstart { position: relative; } @@ -32,21 +32,31 @@ border: $dropdown-border-width solid $dropdown-border-color; @include border-radius($dropdown-border-radius); @include box-shadow($dropdown-box-shadow); + + // Reset positioning when positioned with Popper + &[style] { + right: auto !important; // stylelint-disable-line declaration-no-important + } } // scss-docs-start responsive-breakpoints +// We deliberately hardcode the `bs-` prefix because we check +// this custom property in JS to determine Popper's positioning + @each $breakpoint in map-keys($grid-breakpoints) { @include media-breakpoint-up($breakpoint) { $infix: breakpoint-infix($breakpoint, $grid-breakpoints); - .dropdown-menu#{$infix}-left { - right: auto; - left: 0; + .dropdown-menu#{$infix}-start { + --bs-position: start; + right: auto #{"/* rtl:ignore */"}; + left: 0 #{"/* rtl:ignore */"}; } - .dropdown-menu#{$infix}-right { - right: 0; - left: auto; + .dropdown-menu#{$infix}-end { + --bs-position: end; + right: 0 #{"/* rtl:ignore */"}; + left: auto #{"/* rtl:ignore */"}; } } } @@ -67,7 +77,7 @@ } } -.dropright { +.dropend { .dropdown-menu { top: 0; right: auto; @@ -77,14 +87,14 @@ } .dropdown-toggle { - @include caret(right); + @include caret(end); &::after { vertical-align: 0; } } } -.dropleft { +.dropstart { .dropdown-menu { top: 0; right: 100%; @@ -94,24 +104,13 @@ } .dropdown-toggle { - @include caret(left); + @include caret(start); &::before { vertical-align: 0; } } } -// When enabled Popper.js, reset basic dropdown position -// stylelint-disable-next-line no-duplicate-selectors -.dropdown-menu { - &[x-placement^="top"], - &[x-placement^="right"], - &[x-placement^="bottom"], - &[x-placement^="left"] { - right: auto; - bottom: auto; - } -} // Dividers (basically an `<hr>`) within the dropdown .dropdown-divider { |