@use '../mixins/function.scss' as *;
@use '../mixins/mixins.scss' as *;

@include b(modal) {
  position: absolute;
  color: getCssVar('color', 'text-1');
  box-shadow: getCssVar('shadow', '1');
  display: flex;
  flex-direction: column;
  border-radius: getCssVar('radius', 'larger');
  vertical-align: middle;
  background-color: getCssVar('color', 'bg-3');
  transform-origin: center center;
  backface-visibility: hidden;
  will-change: transform;
  overflow: hidden;
  @include when(drag) {
    @include be(modal, header) {
      cursor: move;
    }
  }
  @include when(fullscreen) {
    inset: 0;
    height: 100%;
    width: 100%;
    border-radius: 0;
    box-shadow: none;
    @include be(modal, header) {
      cursor: default;
    }
  }
  @include e(container) {
    position: fixed;
    inset: 0;
  }
  @include e(wrapper) {
    position: absolute;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
    & > div {
      pointer-events: auto;
    }
  }
  @include e(mask) {
    position: absolute;
    inset: 0;
    backdrop-filter: blur(3px);
    overflow: hidden;
    background-color: rgba(0, 0, 0, 0.5);
  }
  @include e(header) {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 20px 20px 0 20px;
  }
  @include e(header-icon) {
    display: flex;
    align-items: center;
    gap: 4px;
  }
  @include e(title) {
    font-size: getCssVar('font-size', 'large');
    font-weight: 500;
    line-height: 1.5715;
    flex: 1;
  }
  @include e(body) {
    flex: 1;
    padding: 20px;
    overflow: hidden;
  }
  @include e(footer) {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding: 0 20px 20px 20px;
    gap: 8px;
  }
  @include e(resize-top-left) {
    position: absolute;
    top: 0;
    left: 0;
    width: 12px;
    height: 12px;
    cursor: nw-resize;
  }
  @include e(resize-top) {
    position: absolute;
    top: 0;
    left: 8px;
    width: calc(100% - 16px);
    height: 8px;
    cursor: ns-resize;
  }
  @include e(resize-top-right) {
    position: absolute;
    top: 0;
    right: 0;
    width: 12px;
    height: 12px;
    cursor: ne-resize;
  }
  @include e(resize-bottom-left) {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 12px;
    height: 12px;
    cursor: sw-resize;
  }
  @include e(resize-bottom) {
    position: absolute;
    bottom: 0;
    left: 8px;
    width: calc(100% - 16px);
    height: 8px;
    cursor: ns-resize;
  }
  @include e(resize-bottom-right) {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 12px;
    height: 12px;
    cursor: se-resize;
  }
  @include e(resize-left) {
    position: absolute;
    top: 8px;
    left: 0;
    width: 8px;
    height: calc(100% - 16px);
    cursor: ew-resize;
  }
  @include e(resize-right) {
    position: absolute;
    top: 8px;
    right: 0;
    width: 8px;
    height: calc(100% - 16px);
    cursor: ew-resize;
  }
}
