/**
 * @license
 * Copyright Tyler Technologies, Inc. 
 * License: Apache-2.0
 */
@use '../../core/styles/animation';
@use '../../core/styles/theme';
@use '../../core/styles/elevation';
@use './variables';
@use '../base/mixins' as base-mixins;
@use '../base/variables' as base-variables;

@mixin core-styles() {
  @include base-mixins.core-styles;

  .forge-drawer__root {
    @include root;
  }

  .forge-drawer {
    &--mini {
      @include base;
  
      .forge-drawer__content {
        overflow: hidden;
      }
    }

    &--closed {
      width: 0;
    }
  }
}

@mixin host() {
  @include base-mixins.host;

  width: var(--forge-drawer-mini-width, variables.$width);
  overflow: visible !important;
}

@mixin host-right {
  min-width: var(--forge-drawer-mini-width, variables.$width);
  width: auto;
}

@mixin base() {
  width: var(--forge-drawer-mini-width, variables.$width);
  z-index: #{elevation.z-index-variable(surface)};
  transition: width #{animation.variable(duration-short4)} #{animation.variable(easing-standard)};
}

@mixin root() {
  z-index: #{elevation.z-index-variable(surface)};
  height: 100%;
}

@mixin hover() {
  width: var(--forge-drawer-width, base-variables.$width) !important;
  transition: width #{animation.variable(duration-medium2)} #{animation.variable(easing-standard)} variables.$transition-delay;
}
