woodpecker/web/src/shared/components/drawer/drawer.less
2019-11-12 14:27:39 +01:00

183 lines
2.2 KiB
Plaintext

@import '~shared/styles/colors';
//
// backdrop
//
.backdrop {
background-color: rgba(0, 0, 0, 0.54);
bottom: 0px;
left: 0px;
position: fixed;
right: 0px;
top: 0px;
}
//
// drawer wrapper
//
.inner {
background: @white;
bottom: 0px;
box-shadow: 0px 8px 10px -5px rgba(0, 0, 0, 0.2), 0px 16px 24px 2px rgba(0, 0, 0, 0.14), 0px 6px
30px 5px rgba(0, 0, 0, 0.12);
box-sizing: border-box;
display: flex;
flex-direction: column;
left: 0px;
overflow: hidden;
position: fixed;
right: 0px;
top: 0px;
transition: left ease-in 0.15s;
width: 300px;
}
//
// drawer
//
.drawer {
display: none;
height: 0px;
left: -1000px;
position: fixed;
top: -1000px;
width: 0px;
&.open {
display: flex;
.inner {
left: 0px;
transition: left ease-in 0.15s;
}
}
&.right {
.inner {
left: auto;
right: 0px;
}
}
}
//
// close button
//
.close {
align-items: center;
background: transparent;
border: 0px;
cursor: pointer;
display: flex;
margin: 0px;
outline: none;
padding: 10px 10px;
text-align: right;
width: 100%;
svg {
fill: @gray-light;
}
}
.right .close {
flex-direction: row-reverse;
}
//
// menu
//
.drawer ul {
border-top: 1px solid @gray-light;
margin: 0px;
padding: 10px 0px;
li {
display: block;
margin: 0px;
padding: 0px 10px;
}
a {
color: @gray-dark;
display: block;
line-height: 32px;
padding: 0px 10px;
text-decoration: none;
&:hover {
background: @gray-light;
}
}
button {
align-items: center;
background: @white;
border: 0px;
cursor: pointer;
display: flex;
margin: 0px;
padding: 0px 10px;
width: 100%;
&:hover {
background: @gray-light;
}
&[disabled] {
color: @gray;
cursor: wait;
&:hover {
background: @gray-light;
}
svg {
fill: @gray;
}
}
span {
flex: 1;
line-height: 32px;
padding-left: 10px;
text-align: left;
}
svg {
display: inline-block;
height: 22px;
width: 22px;
}
}
}
.drawer > section:first-of-type ul {
border-top: 0px;
}
:global {
.fade-enter {
opacity: 0.01;
&.fade-enter-active {
opacity: 1;
transition: opacity 150ms ease-in;
}
}
.fade-leave {
opacity: 1;
&.fade-leave-active {
opacity: 0.01;
transition: opacity 150ms ease-in;
}
}
}