123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213 |
- @use 'sass:map';
- @use 'mixins/mixins' as *;
- @use 'mixins/var' as *;
- @use 'common/var' as *;
- @use 'common/popup' as *;
- @include b(message-box) {
- @include set-component-css-var('messagebox', $messagebox);
- }
- @include b(message-box) {
- display: inline-block;
- position: relative;
- max-width: getCssVar('messagebox-width');
- width: 100%;
- padding: getCssVar('messagebox-padding-primary');
- vertical-align: middle;
- background-color: getCssVar('bg-color');
- border-radius: getCssVar('messagebox-border-radius');
- font-size: getCssVar('messagebox-font-size');
- box-shadow: getCssVar('messagebox-box-shadow');
- text-align: left;
- overflow: hidden;
- backface-visibility: hidden;
- // To avoid small screen overflowing, see #11919
- box-sizing: border-box;
- overflow-wrap: break-word;
- &:focus {
- outline: none !important;
- }
- @at-root .#{$namespace}-overlay.is-message-box {
- .#{$namespace}-overlay-message-box {
- text-align: center;
- position: fixed;
- top: 0;
- right: 0;
- bottom: 0;
- left: 0;
- padding: 16px;
- overflow: auto;
- &::after {
- content: '';
- display: inline-block;
- height: 100%;
- width: 0;
- vertical-align: middle;
- }
- }
- }
- @include when(draggable) {
- @include e(header) {
- cursor: move;
- user-select: none;
- }
- }
- @include e(header) {
- padding-bottom: getCssVar('messagebox-padding-primary');
- &.show-close {
- padding-right: calc(
- getCssVar('messagebox-padding-primary') +
- var(
- #{getCssVarName('message-close-size')},
- map.get($message, 'close-size')
- )
- );
- }
- }
- @include e(title) {
- font-size: getCssVar('messagebox-font-size');
- line-height: getCssVar('messagebox-font-line-height');
- color: getCssVar('messagebox-title-color');
- }
- @include e(headerbtn) {
- position: absolute;
- top: 0;
- right: 0;
- padding: 0;
- width: 40px;
- height: 40px;
- border: none;
- outline: none;
- background: transparent;
- font-size: var(
- #{getCssVarName('message-close-size')},
- map.get($message, 'close-size')
- );
- cursor: pointer;
- .#{$namespace}-message-box__close {
- color: getCssVar('color-info');
- font-size: inherit;
- }
- &:focus,
- &:hover {
- .#{$namespace}-message-box__close {
- color: getCssVar('color-primary');
- }
- }
- }
- @include e(content) {
- color: getCssVar('messagebox-content-color');
- font-size: getCssVar('messagebox-content-font-size');
- }
- @include e(container) {
- display: flex;
- align-items: center;
- gap: 12px;
- }
- @include e(input) {
- padding-top: 12px;
- & div.invalid > input {
- border-color: getCssVar('color-error');
- &:focus {
- border-color: getCssVar('color-error');
- }
- }
- }
- @include e(status) {
- font-size: 24px;
- @each $type in (success, info, warning, error) {
- &.#{$namespace}-message-box-icon--#{$type} {
- @include css-var-from-global(('messagebox', 'color'), ('color', $type));
- color: getCssVar('messagebox-color');
- }
- }
- }
- @include e(message) {
- margin: 0;
- & p {
- margin: 0;
- line-height: getCssVar('messagebox-font-line-height');
- }
- }
- @include e(errormsg) {
- color: getCssVar('color-error');
- font-size: getCssVar('messagebox-error-font-size');
- line-height: getCssVar('messagebox-font-line-height');
- }
- @include e(btns) {
- display: flex;
- flex-wrap: wrap;
- justify-content: flex-end;
- align-items: center;
- padding-top: getCssVar('messagebox-padding-primary');
- }
- // centerAlign 布局
- @include m(center) {
- @include e(title) {
- display: flex;
- align-items: center;
- justify-content: center;
- gap: 6px;
- }
- @include e(status) {
- font-size: inherit;
- }
- @include e(btns) {
- justify-content: center;
- }
- @include e(container) {
- justify-content: center;
- }
- }
- }
- .fade-in-linear-enter-active {
- .#{$namespace}-overlay-message-box {
- animation: msgbox-fade-in getCssVar('transition-duration');
- }
- }
- .fade-in-linear-leave-active {
- .#{$namespace}-overlay-message-box {
- animation: msgbox-fade-in getCssVar('transition-duration') reverse;
- }
- }
- @keyframes msgbox-fade-in {
- 0% {
- transform: translate3d(0, -20px, 0);
- opacity: 0;
- }
- 100% {
- transform: translate3d(0, 0, 0);
- opacity: 1;
- }
- }
|