毕设专用git仓库
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

192 lines
3.7 KiB

@use 'sass:map';
@use 'mixins/mixins' as *;
@use 'mixins/utils' as *;
@use 'mixins/var' as *;
@use 'common/var' as *;
@use 'common/popup' as *;
@include b(dialog) {
@include set-component-css-var('dialog', $dialog);
position: relative;
margin: var(#{getCssVarName('dialog-margin-top')}, 15vh) auto 50px;
background: getCssVar('dialog', 'bg-color');
border-radius: getCssVar('dialog', 'border-radius');
box-shadow: getCssVar('dialog', 'box-shadow');
box-sizing: border-box;
padding: getCssVar('dialog', 'padding-primary');
width: var(#{getCssVarName('dialog-width')}, 50%);
overflow-wrap: break-word;
&:focus {
outline: none !important;
}
@include when(align-center) {
margin: auto;
}
@include when(fullscreen) {
@include set-css-var-value('dialog-width', 100%);
@include set-css-var-value('dialog-margin-top', 0);
margin-bottom: 0;
height: 100%;
overflow: auto;
border-radius: 0px;
}
@include e(wrapper) {
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
overflow: auto;
margin: 0;
}
@include when(draggable) {
@include e(header) {
cursor: move;
user-select: none;
}
}
@include e(header) {
padding-bottom: getCssVar('dialog', 'padding-primary');
&.show-close {
padding-right: calc(
getCssVar('dialog', 'padding-primary') +
var(
#{getCssVarName('message-close-size')},
map.get($message, 'close-size')
)
);
}
}
@include e(headerbtn) {
position: absolute;
top: 0;
right: 0;
padding: 0;
width: 48px;
height: 48px;
background: transparent;
border: none;
outline: none;
cursor: pointer;
font-size: var(
#{getCssVarName('message-close-size')},
map.get($message, 'close-size')
);
.#{$namespace}-dialog__close {
color: getCssVar('color', 'info');
font-size: inherit;
}
&:focus,
&:hover {
.#{$namespace}-dialog__close {
color: getCssVar('color', 'primary');
}
}
}
@include e(title) {
line-height: getCssVar('dialog-font-line-height');
font-size: getCssVar('dialog-title-font-size');
color: getCssVar('text-color', 'primary');
}
@include e(body) {
color: getCssVar('text-color', 'regular');
font-size: getCssVar('dialog-content-font-size');
}
@include e(footer) {
padding-top: getCssVar('dialog', 'padding-primary');
text-align: right;
box-sizing: border-box;
}
// 内容居中布局
@include m(center) {
text-align: center;
@include e(body) {
text-align: initial;
}
@include e(footer) {
text-align: inherit;
}
}
}
.#{$namespace}-overlay-dialog {
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
overflow: auto;
}
.dialog-fade-enter-active {
animation: modal-fade-in getCssVar('transition-duration');
.#{$namespace}-overlay-dialog {
animation: dialog-fade-in getCssVar('transition-duration');
}
}
.dialog-fade-leave-active {
animation: modal-fade-out getCssVar('transition-duration');
.#{$namespace}-overlay-dialog {
animation: dialog-fade-out getCssVar('transition-duration');
}
}
@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;
}
}
@keyframes modal-fade-in {
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}
@keyframes modal-fade-out {
0% {
opacity: 1;
}
100% {
opacity: 0;
}
}