react-toolbox/components/drawer/style.scss

87 lines
1.7 KiB
SCSS
Raw Normal View History

@import "../variables";
@import "../mixins";
//-- Variables
$drawer-width: 24 * $unit;
$drawer-bg-color: unquote("rgb(#{$palette-grey-50})") !default;
$drawer-text-color: unquote("rgb(#{$palette-grey-800})") !default;
$drawer-border-color: unquote("rgb(#{$palette-grey-300})") !default;
$drawer-overlay-color: unquote("rgb(#{$color-black})");
$drawer-transition-duration: .2s;
$drawer-transition-delay: .1s;
//-- Local styles
.drawer {
position: fixed;
top: 0;
right: 0;
left: 0;
z-index: 2;
width: 100vw;
height: 100vh;
pointer-events: none;
}
2015-10-04 16:12:53 +03:00
.active {
pointer-events: all;
> .content {
transition-delay: $drawer-transition-delay;
transform: translateX(0);
}
> .overlay {
opacity: .5;
}
}
.left {
> .content {
left: 0;
border-right: 1px solid $drawer-border-color;
}
2015-10-04 16:12:53 +03:00
&:not(.active) > .content {
transform: translateX(- $drawer-width);
}
}
.right {
> .content {
right: 0;
border-left: 1px solid $drawer-border-color;
}
2015-10-04 16:12:53 +03:00
&:not(.active) > .content {
transform: translateX($drawer-width);
}
}
.overlay {
width: 100%;
height: 100%;
background-color: $drawer-overlay-color;
opacity: 0;
transition-timing-function: $animation-curve-default;
transition-duration: $drawer-transition-duration;
transition-property: opacity;
}
.content {
@include shadow-2dp();
position: absolute;
top: 0;
display: block;
width: $drawer-width;
height: 100%;
overflow-y: scroll;
color: $drawer-text-color;
background-color: $drawer-bg-color;
transition-delay: 0s;
transition-timing-function: $animation-curve-default;
transition-duration: $drawer-transition-duration;
transition-property: transform;
transform-style: preserve-3d;
will-change: transform;
}