@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%); } }