@import '../../style/themes/default.less';

/* 支持拖拽 */
.ant-modal-wrap.ele-modal-movable > .ant-modal {
  padding-bottom: 0;

  & > .ant-modal-content > .ant-modal-header {
    cursor: move;
    user-select: none;
  }
}

/* 支持拉伸 */
.ant-modal-wrap.ele-modal-resizable > .ant-modal > .ant-modal-content:after {
  content: '';
  position: absolute;
  right: 0;
  bottom: 0;
  width: 12px;
  height: 12px;
  cursor: se-resize;
  background-image: linear-gradient(
    135deg,
    transparent 45%,
    @input-placeholder-color 0,
    @input-placeholder-color 55%,
    transparent 0,
    transparent 75%,
    @input-placeholder-color 0,
    @input-placeholder-color 85%,
    transparent 0
  );
  background-size: 10px 10px;
  background-position: 0 0;
  background-repeat: no-repeat;
}

.ant-modal-wrap.ele-modal-resizable-horizontal
  > .ant-modal
  > .ant-modal-content:after {
  cursor: e-resize;
}

.ant-modal-wrap.ele-modal-resizable-vertical
  > .ant-modal
  > .ant-modal-content:after {
  cursor: s-resize;
}

.ant-modal-wrap.ele-modal-resizable > .ant-modal,
.ant-modal-wrap.ele-modal-wrap-fullscreen > .ant-modal {
  padding-bottom: 0;

  & > .ant-modal-content {
    height: 100%;
    display: flex;
    flex-direction: column;

    & > .ant-modal-body {
      flex: auto;
      overflow: auto;
    }
  }
}

/* 全屏 */
.ant-modal-wrap.ele-modal-wrap-fullscreen {
  overflow: hidden;

  & > .ant-modal {
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: inherit !important;
    min-width: inherit !important;
    max-height: inherit !important;
    min-height: inherit !important;
    margin: 0 !important;
    transform-origin: center !important;
    border: 1px solid @border-color-split;

    & > .ant-modal-content {
      border-radius: 0;

      & > .ant-modal-header {
        cursor: default !important;
      }

      &:after {
        display: none;
      }
    }
  }
}

.ant-modal .ele-modal-icon-fullscreen {
  cursor: pointer;
  font-size: @font-size-base;
  color: @text-color-secondary;

  &:hover {
    color: @icon-color-hover;
  }
}

.ant-modal .ele-modal-title-group {
  display: flex;
  align-items: center;

  & > .ele-modal-title-label {
    flex: 1;
    box-sizing: border-box;
  }
}

/* 支持打开多个 */
.ele-modal-container {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
  z-index: @zindex-modal;
  --modal-multiple-z-index: @zindex-modal;
}

.ant-modal-wrap.ele-modal-multiple {
  pointer-events: none;
  overflow: hidden;
  z-index: var(--modal-multiple-z-index) !important;
}

/* 关闭响应式 */
.ant-modal-wrap.ele-modal-no-responsive {
  position: absolute;

  .ant-modal {
    max-width: none;
  }
}

/* 限制在内部区域, 适配各种布局状态 */
.ele-modal-hide {
  display: none !important;
}

.ant-modal-wrap.ele-modal-inner,
.ant-modal-mask.ele-modal-inner {
  top: @header-height;
  left: @sidebar-width;
  transition: @sidebar-transition;
}

.ele-state-show-tabs.ele-modal-inner {
  top: calc(@header-height + @tabs-height);
}

.ele-state-collapse.ele-modal-inner {
  left: @sidebar-collapse-width;
}

.ele-state-side-mix.ele-modal-inner {
  left: calc(@sidebar-nav-width + @sidebar-width - @sidebar-collapse-width);

  &.ele-state-collapse {
    left: @sidebar-nav-width;
  }

  &.ele-state-side-mix-single {
    left: @sidebar-nav-width;
  }
}

.ele-state-nav-collapse.ele-modal-inner {
  left: @sidebar-width;

  &.ele-state-side-mix-single {
    left: @sidebar-collapse-width;
  }

  &.ele-state-collapse {
    left: @sidebar-collapse-width;
  }
}

.ele-state-layout-top.ele-modal-inner {
  left: 0;
}

.ele-state-body-fullscreen.ele-modal-inner {
  top: @tabs-height;
  left: 0 !important;
}

.ele-state-content-fullscreen.ele-modal-inner {
  top: 0 !important;
}

.ele-state-mobile.ele-modal-inner {
  left: 0 !important;
}

/* 适配垂直居中 */
.ele-modal-movable.ant-modal-centered,
.ele-modal-resizable.ant-modal-centered {
  text-align: left;
  --modal-centered-left: auto;

  & > .ant-modal {
    left: var(--modal-centered-left);
  }
}
