1 // stylelint-disable function-disallowed-list
4 // scss-docs-start offcanvas-css-vars
5 --#{$prefix}offcanvas-zindex: #{$zindex-offcanvas};
6 --#{$prefix}offcanvas-width: #{$offcanvas-horizontal-width};
7 --#{$prefix}offcanvas-height: #{$offcanvas-vertical-height};
8 --#{$prefix}offcanvas-padding-x: #{$offcanvas-padding-x};
9 --#{$prefix}offcanvas-padding-y: #{$offcanvas-padding-y};
10 --#{$prefix}offcanvas-color: #{$offcanvas-color};
11 --#{$prefix}offcanvas-bg: #{$offcanvas-bg-color};
12 --#{$prefix}offcanvas-border-width: #{$offcanvas-border-width};
13 --#{$prefix}offcanvas-border-color: #{$offcanvas-border-color};
14 --#{$prefix}offcanvas-box-shadow: #{$offcanvas-box-shadow};
15 // scss-docs-end offcanvas-css-vars
18 @each $breakpoint in map-keys($grid-breakpoints) {
19 $next: breakpoint-next($breakpoint, $grid-breakpoints);
20 $infix: breakpoint-infix($next, $grid-breakpoints);
23 @extend %offcanvas-css-vars;
27 @each $breakpoint in map-keys($grid-breakpoints) {
28 $next: breakpoint-next($breakpoint, $grid-breakpoints);
29 $infix: breakpoint-infix($next, $grid-breakpoints);
32 @include media-breakpoint-down($next) {
35 z-index: var(--#{$prefix}offcanvas-zindex);
37 flex-direction: column;
39 color: var(--#{$prefix}offcanvas-color);
41 background-color: var(--#{$prefix}offcanvas-bg);
42 background-clip: padding-box;
44 @include box-shadow(var(--#{$prefix}offcanvas-box-shadow));
45 @include transition(transform $offcanvas-transition-duration ease-in-out);
50 width: var(--#{$prefix}offcanvas-width);
51 border-right: var(--#{$prefix}offcanvas-border-width) solid var(--#{$prefix}offcanvas-border-color);
52 transform: translateX(-100%);
58 width: var(--#{$prefix}offcanvas-width);
59 border-left: var(--#{$prefix}offcanvas-border-width) solid var(--#{$prefix}offcanvas-border-color);
60 transform: translateX(100%);
67 height: var(--#{$prefix}offcanvas-height);
69 border-bottom: var(--#{$prefix}offcanvas-border-width) solid var(--#{$prefix}offcanvas-border-color);
70 transform: translateY(-100%);
76 height: var(--#{$prefix}offcanvas-height);
78 border-top: var(--#{$prefix}offcanvas-border-width) solid var(--#{$prefix}offcanvas-border-color);
79 transform: translateY(100%);
94 @if not ($infix == "") {
95 @include media-breakpoint-up($next) {
96 --#{$prefix}offcanvas-height: auto;
97 --#{$prefix}offcanvas-border-width: 0;
98 background-color: transparent !important; // stylelint-disable-line declaration-no-important
109 // Reset `background-color` in case `.bg-*` classes are used in offcanvas
110 background-color: transparent !important; // stylelint-disable-line declaration-no-important
117 .offcanvas-backdrop {
118 @include overlay-backdrop($zindex-offcanvas-backdrop, $offcanvas-backdrop-bg, $offcanvas-backdrop-opacity);
124 justify-content: space-between;
125 padding: var(--#{$prefix}offcanvas-padding-y) var(--#{$prefix}offcanvas-padding-x);
128 padding: calc(var(--#{$prefix}offcanvas-padding-y) * .5) calc(var(--#{$prefix}offcanvas-padding-x) * .5);
129 margin-top: calc(-.5 * var(--#{$prefix}offcanvas-padding-y));
130 margin-right: calc(-.5 * var(--#{$prefix}offcanvas-padding-x));
131 margin-bottom: calc(-.5 * var(--#{$prefix}offcanvas-padding-y));
137 line-height: $offcanvas-title-line-height;
142 padding: var(--#{$prefix}offcanvas-padding-y) var(--#{$prefix}offcanvas-padding-x);