n8n/packages/design-system/src/css/dialog.scss

148 lines
2.5 KiB
SCSS

@use 'mixins/mixins';
@use 'mixins/utils';
@use './common/var';
@use 'common/popup';
@include mixins.b(overlay) {
width: 100%;
height: 100%;
display: block;
position: fixed;
top: 0;
left: 0;
background-color: hsla(247deg, 14%, 30%, 0.75);
}
@include mixins.b(overlay-dialog) {
width: 100%;
height: 100%;
padding-top: var(--spacing-2xl);
}
@include mixins.b(overlay-message-box) {
width: 100%;
height: 100%;
display: flex;
align-items: center;
justify-content: center;
}
@include mixins.b(dialog) {
position: relative;
margin: 0 auto 50px;
background: var.$dialog-background-color;
border-radius: var(--border-radius-small);
box-shadow: var.$dialog-box-shadow;
box-sizing: border-box;
width: 50%;
@include mixins.when(fullscreen) {
width: 100%;
margin-top: 0;
margin-bottom: 0;
height: 100%;
overflow: auto;
}
@include mixins.e(wrapper) {
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
overflow: auto;
margin: 0;
}
@include mixins.e(header) {
padding: var.$dialog-padding-primary;
padding-bottom: 0px;
}
@include mixins.e(headerbtn) {
position: absolute;
top: var.$dialog-close-top;
right: var.$dialog-padding-primary;
padding: 0;
background: transparent;
border: none;
outline: none;
cursor: pointer;
font-size: var.$message-close-size;
.el-dialog__close {
color: var(--color-info);
}
&:focus,
&:hover {
.el-dialog__close {
color: var(--color-primary);
}
}
}
@include mixins.e(title) {
line-height: var(--font-line-height-compact);
font-size: var(--font-size-xl);
color: var(--color-text-dark);
font-weight: var(--font-weight-regular);
}
@include mixins.e(body) {
padding: var.$dialog-padding-primary;
color: var(--color-text-base);
}
@include mixins.e(footer) {
padding: var.$dialog-padding-primary;
padding-top: 10px;
text-align: right;
box-sizing: border-box;
}
// 内容居中布局
@include mixins.m(center) {
text-align: center;
@include mixins.e(body) {
text-align: initial;
padding: 25px (var.$dialog-padding-primary + 5px) 30px;
}
@include mixins.e(footer) {
text-align: inherit;
}
}
}
.dialog-fade-enter-active {
animation: dialog-fade-in 0.3s;
}
.dialog-fade-leave-active {
animation: dialog-fade-out 0.3s;
}
@keyframes dialog-fade-in {
0% {
transform: translate3d(0, -20px, 0);
opacity: 0;
}
100% {
transform: translate3d(0, 0, 0);
opacity: 1;
}
}
@keyframes dialog-fade-out {
0% {
transform: translate3d(0, 0, 0);
opacity: 1;
}
100% {
transform: translate3d(0, -20px, 0);
opacity: 0;
}
}