@use '../../style/themes/default.scss' as *;
@use '../../style/util.scss' as *;

/* 固定顶栏 */
.ele-admin-fixed-header {
  .ele-admin-header {
    position: sticky;
    top: 0;
  }

  .ele-admin-body > .ele-admin-tabs {
    position: sticky;
    top: eleVar('header', 'height');
  }

  &:not(.ele-admin-fixed-sidebar) {
    .ele-admin-sidebar,
    .ele-admin-sidebox {
      z-index: calc(#{eleVar('layout', 'index')} + 2);
    }

    &:not(.ele-admin-logo-auto):not(.ele-admin-dark-sidebar) {
      .ele-admin-logo {
        box-shadow: 0 -0.8px 0 eleVar('header', 'line-color') inset;
      }

      &.ele-admin-tab-card .ele-admin-logo,
      &:not(.ele-admin-has-tab) .ele-admin-logo {
        box-shadow: none;
      }
    }
  }
}

/* 固定侧栏 */
.ele-admin-fixed-sidebar {
  .ele-admin-sidebox,
  &:not(.ele-admin-mix-sidebar) .ele-admin-sidebar,
  &.ele-admin-fixed-header.ele-admin-mix-sidebar .ele-admin-sidebar {
    position: sticky;
    top: eleVar('header', 'height');
    height: calc(100vh - #{eleVar('header', 'height')});
  }

  &:not(.ele-admin-fixed-header) {
    &:not(.ele-admin-logo-auto) {
      .ele-admin-logo {
        position: fixed;
        top: 0;
        left: 0;
      }

      &:not(.ele-admin-mix-sidebar) {
        .ele-admin-header {
          padding-left: eleVar('sidebar', 'width');
        }

        &.ele-admin-collapse .ele-admin-header {
          padding-left: eleVar('sidebar', 'collapse-width');
        }
      }

      &.ele-admin-mix-sidebar {
        .ele-admin-header {
          padding-left: eleVar('sidebox', 'width');
        }

        &.ele-admin-compact .ele-admin-header {
          padding-left: eleVar('sidebar', 'collapse-width');
        }
      }
    }

    &.ele-admin-logo-auto .ele-admin-sidebox,
    &.ele-admin-logo-auto:not(.ele-admin-mix-sidebar) .ele-admin-sidebar {
      top: -1px;
      height: eleVar('layout', 'height');
    }
  }
}

/* 固定主体 */
.ele-admin-fixed-body {
  height: eleVar('layout', 'height');

  .ele-admin-main,
  .ele-admin-body,
  .ele-admin-wrapper,
  .ele-admin-content {
    overflow-x: hidden;
    overflow-y: auto;
  }

  .ele-admin-body,
  .ele-admin-sidebar,
  .ele-admin-sidebox {
    height: 100%;
  }

  .ele-admin-wrapper > .el-backtop {
    z-index: eleVar('layout', 'index');
  }
}

/* 内容全屏 */
.ele-admin-maximized.ele-admin-layout {
  .ele-admin-header,
  .ele-admin-sidebar,
  .ele-admin-sidebox,
  &.ele-admin-expanded .ele-admin-body > .ele-admin-tabs {
    display: none;
  }

  &.ele-admin-fixed-header .ele-admin-body > .ele-admin-tabs {
    top: 0;
  }

  .ele-admin-sidebar + .ele-admin-body,
  .ele-admin-sidebox + .ele-admin-body {
    width: 100%;
  }
}

/* 图标置于顶栏 */
.ele-admin-logo-auto {
  .ele-admin-header {
    .ele-admin-logo {
      width: auto;
      padding: 0 12px 0 24px;
      color: eleVar('logo', 'color');
      background: none;
      box-shadow: none;
      transition: none;

      & > img + h1 {
        display: inline;
      }
    }

    &.is-dark .ele-admin-logo,
    &.is-primary .ele-admin-logo {
      color: eleVar('logo', 'dark-color');
    }
  }

  .ele-admin-sidebar,
  .ele-admin-sidebox {
    z-index: calc(#{eleVar('layout', 'index')} + 2);
  }
}
