@import 'utils/flex.util';

////
/// @group Flex
////

///
.d-flex {
  display: flex;
}

///
.d-inline-flex {
  display: inline-flex;
}

/// @deprecated Use d-flex
.d-flex-row {
  display: flex;
}

///
.d-flex-row-rev {
  flex-direction: row-reverse;
  display: flex;
}

///
.d-flex-column {
  flex-direction: column;
  display: flex;
}

///
.d-flex-column-rev {
  flex-direction: column-reverse;
  display: flex;
}

///
.d-flex-wrap {
  flex-wrap: wrap;
}

///
.d-flex-no-wrap {
  flex-wrap: nowrap;
}

///
.items-start {
  -webkit-box-align: start;
  align-items: flex-start;
}

///
.items-end {
  align-items: flex-end;
}

///
.items-center {
  align-items: center;
}

///
.items-baseline {
  align-items: baseline;
}

///
.items-stretch {
  align-items: stretch;
}

///
.self-auto {
  align-self: auto;
}

///
.self-start {
  align-self: flex-start;
}

///
.self-end {
  align-self: flex-end;
}

///
.self-center {
  align-self: center;
}

///
.self-stretch {
  align-self: stretch;
}

///
.justify-start {
  justify-content: flex-start;
}

///
.justify-end {
  justify-content: flex-end;
}

///
.justify-center {
  justify-content: center;
}

///
.justify-between {
  justify-content: space-between;
}

///
.justify-around {
  justify-content: space-around;
}

///
.content-center {
  align-content: center;
}

///
.content-start {
  align-content: flex-start;
}

///
.content-end {
  align-content: flex-end;
}

///
.content-between {
  align-content: space-between;
}

///
.content-around {
  align-content: space-around;
}

///
.flex-1 {
  -webkit-box-flex: 1;
  flex: 1;
}

///
.d-flex-auto {
  flex: auto;
}

///
.d-flex-basis-100 {
  flex-basis: 100%;
}

///
.d-flex-basis-auto {
  flex-basis: auto;
}

///
.d-flex-initial {
  flex: initial;
}

///
.d-flex-none {
  flex: none;
}

///
.d-flex-grow {
  flex-grow: 1;
}

///
.d-flex-shrink {
  flex-shrink: 1;
}

///
.d-flex-no-grow {
  -webkit-box-flex: 0;
  flex-grow: 0;
}

///
.d-flex-no-shrink {
  flex-shrink: 0;
}

/// flex--a-b-c Selectors
@include d-flex-x-y-z;

/// Flex item width reset (relevant to flex-basis: "auto")
.d-flex-item-width-reset {
  min-width: 0;
}

.d-flex-item-height-reset {
  min-height: 0;
}

/// align to start-center
.align-start-center {
  justify-content: flex-start;
  align-content: center;
  align-items: center;
}

///
.align-center-end {
  justify-content: center;
  align-items: flex-end;
}

///
.align-center-start {
  justify-content: center;
  align-items: flex-start;
}

/// align to center
.align-center,
.align-center-center {
  justify-content: center;
  align-content: center;
  align-items: center;
}

///
.align-end-center {
  justify-content: flex-end;
  align-content: center;
  align-items: center;
}

///
.align-space-between-center {
  justify-content: space-between;
  align-items: center;
}

///
.align-space-around-center {
  justify-content: space-around;
  align-items: center;
}
