@drawer-prefix: ~'@{icecream-prefix}-drawer';
@drawer-ease-in-out: cubic-bezier(0.78, 0.14, 0.15, 0.86);
@drawer-padding-vertical: @icecream-gap-md-x;

.@{drawer-prefix} {
  .extendBase();
  position: fixed;
  z-index: @icecream-z-index-modal;
  outline: none;
  // Drawer 会把 mask 挡住导致点不了自定义的 mask
  pointer-events: none;

  .effect() {
    transition: transform @icecream-transitions @drawer-ease-in-out, opacity @icecream-transitions @drawer-ease-in-out,
      box-shadow @icecream-transitions @drawer-ease-in-out;
  }

  &-content-wrapper {
    .effect();
    position: absolute;
    pointer-events: auto;
    background: @icecream-white;
  }

  &-right {
    top: 0;
    right: 0;
    width: 0%;
    height: 100%;
    .@{drawer-prefix}-content-wrapper,
    .@{drawer-prefix}-content {
      height: 100%;
    }
    .@{drawer-prefix}-content-wrapper {
      right: 0;
    }
  }

  &.@{drawer-prefix}-open {
    width: 100%;

    & .@{drawer-prefix} {
      &-content-wrapper {
        box-shadow: @icecream-box-shadow-md;
      }
    }
  }
}

.@{drawer-prefix}-content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;

  &-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px @drawer-padding-vertical;
    .setFontSize(@icecream-font-size-title);
    font-weight: @icecream-bold;
    border-bottom: 1px solid @icecream-color-grey-5;

    &-close {
      color: @icecream-color-grey-7;
      cursor: pointer;

      &:hover {
        color: @icecream-color-grey-8;
      }
    }
  }

  &-body {
    flex: 1;
    padding: @drawer-padding-vertical;
    position: relative;
    font-size: @icecream-font-size-main;
    overflow-y: auto;
  }

  &-footer {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding: @drawer-padding-vertical;
    text-align: right;

    .@{button-prefix} + .@{button-prefix} {
      margin-left: @icecream-gap-sm;
    }
  }
}
