@use "sass:map";

$drawerWidth: 680px;

.vuiDrawer {
  display: flex;
  flex-direction: column;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  max-width: $drawerWidth;
  background-color: var(--vui-color-empty-shade);
  border-left: 1px solid var(--vui-color-border-medium);
  z-index: $drawerZIndex;
  right: -$drawerWidth;
  transition: right $transitionSpeed cubic-bezier(0, 1, 0, 1);
  pointer-events: none;

  @media screen and (max-width: ($drawerWidth + $sizeM)) {
    max-width: calc(100% - $sizeM);
  }
}

.vuiDrawer-isLoaded {
  right: 0;
  pointer-events: auto;
}

.vuiDrawerHeader {
  padding: $sizeS $sizeL;
}

.vuiDrawerHeader__title {
  font-size: $fontSizeMedium;
  font-weight: $fontWeightBold;
  line-height: 1.2;
  color: var(--vui-color-text);
}

.vuiDrawerContent {
  overflow-y: auto;
  overscroll-behavior: contain;
  flex-grow: 1;
}

.vuiDrawerContent__inner {
  padding: $sizeS $sizeL $sizeL;
}

.vuiDrawerFooter {
  padding: $sizeS $sizeL;
}

// Color
$color: (
  primary: (
    "color": var(--vui-color-primary-shade)
  ),
  danger: (
    "color": var(--vui-color-danger-shade)
  )
);

@each $colorName, $colorValue in $color {
  .vuiDrawer--#{$colorName} {
    .vuiDrawerHeader {
      .vuiIcon {
        color: #{map.get($colorValue, "color")};
      }
    }
  }
}
