144 lines
2.6 KiB
SCSS
144 lines
2.6 KiB
SCSS
@use '../_styles/_variables.scss' as *;
|
|
|
|
$drawer-prefix: '#{$prefix}-drawer';
|
|
|
|
.#{$drawer-prefix} {
|
|
z-index: 1500;
|
|
width: 100%;
|
|
height: 100%;
|
|
pointer-events: none;
|
|
overflow: hidden;
|
|
outline: none;
|
|
box-sizing: border-box;
|
|
margin: 0;
|
|
padding: 0;
|
|
|
|
&-mask {
|
|
position: absolute;
|
|
inset: 0;
|
|
background-color: rgba(0, 0, 0, 0.6);
|
|
opacity: 0;
|
|
transition: opacity 0.25s ease;
|
|
pointer-events: none;
|
|
}
|
|
|
|
&-wrapper {
|
|
position: absolute;
|
|
background: #fff;
|
|
display: flex;
|
|
flex-direction: column;
|
|
font-family: 'PingFang SC', 'Microsoft YaHei', 'Helvetica Neue', Helvetica, Arial, sans-serif;
|
|
transition:
|
|
transform 0.25s ease,
|
|
opacity 0.25s ease;
|
|
}
|
|
|
|
&-header {
|
|
display: flex;
|
|
align-items: center;
|
|
min-height: 46px;
|
|
padding: 16px;
|
|
font-size: 16px;
|
|
font-weight: 600;
|
|
color: $text-color-base;
|
|
border-bottom: 1px solid #e8e8e8;
|
|
box-sizing: border-box;
|
|
|
|
.#{$drawer-prefix}-close {
|
|
flex-shrink: 0;
|
|
margin-left: auto;
|
|
color: $text-color-assist;
|
|
cursor: pointer;
|
|
border-radius: $border-radius;
|
|
width: 20px;
|
|
height: 20px;
|
|
|
|
&:hover {
|
|
background-color: $default-color-hover;
|
|
}
|
|
}
|
|
}
|
|
|
|
&-body {
|
|
flex: 1;
|
|
padding: 16px;
|
|
overflow: auto;
|
|
font-size: 14px;
|
|
}
|
|
|
|
&-footer {
|
|
width: 100%;
|
|
padding: 16px;
|
|
text-align: left;
|
|
border-top: 1px solid #e8e8e8;
|
|
box-sizing: border-box;
|
|
background-color: $bg-color-control;
|
|
display: flex;
|
|
gap: 8px;
|
|
}
|
|
|
|
&-right {
|
|
top: 0;
|
|
right: 0;
|
|
}
|
|
&-left {
|
|
top: 0;
|
|
left: 0;
|
|
}
|
|
&-top {
|
|
top: 0;
|
|
left: 0;
|
|
}
|
|
&-bottom {
|
|
bottom: 0;
|
|
left: 0;
|
|
}
|
|
|
|
&-open {
|
|
pointer-events: auto;
|
|
|
|
.#{$drawer-prefix}-mask {
|
|
opacity: 1;
|
|
pointer-events: auto;
|
|
}
|
|
|
|
&.#{$drawer-prefix}-right .#{$drawer-prefix}-wrapper {
|
|
transform: translateX(0);
|
|
}
|
|
&.#{$drawer-prefix}-left .#{$drawer-prefix}-wrapper {
|
|
transform: translateX(0);
|
|
}
|
|
&.#{$drawer-prefix}-top .#{$drawer-prefix}-wrapper {
|
|
transform: translateY(0);
|
|
}
|
|
&.#{$drawer-prefix}-bottom .#{$drawer-prefix}-wrapper {
|
|
transform: translateY(0);
|
|
}
|
|
}
|
|
|
|
&-right .#{$drawer-prefix}-wrapper {
|
|
top: 0;
|
|
right: 0;
|
|
height: 100%;
|
|
transform: translateX(100%);
|
|
}
|
|
&-left .#{$drawer-prefix}-wrapper {
|
|
top: 0;
|
|
left: 0;
|
|
height: 100%;
|
|
transform: translateX(-100%);
|
|
}
|
|
&-top .#{$drawer-prefix}-wrapper {
|
|
top: 0;
|
|
left: 0;
|
|
width: 100%;
|
|
transform: translateY(-100%);
|
|
}
|
|
&-bottom .#{$drawer-prefix}-wrapper {
|
|
bottom: 0;
|
|
left: 0;
|
|
width: 100%;
|
|
transform: translateY(100%);
|
|
}
|
|
}
|