@import '../bootstrap'
@import '../theme'

v-stepper($material)
  background: $material.bg-color

  .v-stepper__step
    &:not(.v-stepper__step--active):not(.v-stepper__step--complete):not(.v-stepper__step--error)
      .v-stepper__step__step
        background: rgba($material.fg-color, $material.disabledORhints-text-percent)

    &__step
      color: $material.stepper.active

      .v-icon
        color: $material.stepper.active

  .v-stepper__header
    .v-divider
      border-color: rgba($material.fg-color, $material.divider-percent)

  .v-stepper__step
    &--active
      .v-stepper__label
        text-shadow: 0px 0px 0px rgba($material.fg-color, 1)

    &--editable:hover
      background: rgba($material.fg-color, .06)

      .v-stepper__label
        text-shadow: 0px 0px 0px rgba($material.fg-color, 1)

    &--complete
      .v-stepper__label
        color: $material.stepper.completed

    &--inactive
      &.v-stepper__step--editable:not(.v-stepper__step--error)
        &:hover
          .v-stepper__step__step
            background: $material.stepper.hover

  .v-stepper__label
    color: rgba($material.fg-color, $material.disabledORhints-text-percent)

    small
      color: rgba($material.fg-color, $material.secondary-text-percent)

  &--non-linear
    .v-stepper__step:not(.v-stepper__step--complete):not(.v-stepper__step--error)
      .v-stepper__label
        color: rgba($material.fg-color, $material.secondary-text-percent)

  &--vertical
    .v-stepper__content:not(:last-child)
      border-left: 1px solid rgba($material.fg-color, $material.divider-percent)

v-stepper-rtl()
  .v-stepper__step__step
    margin-right: 0
    margin-left: 12px

theme(v-stepper, "v-stepper")
rtl(v-stepper-rtl, "v-stepper")

.v-stepper
  overflow: hidden
  position: relative
  elevation(2)

.v-stepper
  &__header
    height: 72px
    align-items: stretch
    display: flex
    flex-wrap: wrap
    justify-content: space-between
    elevation(2)

    .v-divider
      align-self: center
      margin: 0 -16px

.v-stepper
  &__items
    position: relative
    overflow: hidden

.v-stepper
  &__step__step
    align-items: center
    border-radius: 50%
    display: inline-flex
    font-size: 12px
    justify-content: center
    height: 24px
    margin-right: 8px
    min-width: 24px
    width: 24px
    transition: .3s $transition.fast-in-fast-out

    .v-icon
      font-size: 18px

.v-stepper
  &__step
    align-items: center
    display: flex
    flex-direction: row
    padding: 24px
    position: relative

    &--active
      .v-stepper__label
        transition: .3s $transition.ease-in-out

    &--editable
      cursor: pointer

    &.v-stepper__step--error
      .v-stepper__step__step
        background: transparent
        color: inherit

        .v-icon
          font-size: 24px
          color: inherit

      .v-stepper__label
        color: inherit
        text-shadow: none
        font-weight: 500

        small
          color: inherit

.v-stepper
  &__label
    align-items: flex-start
    display: flex
    flex-direction: column
    text-align: left

    small
      font-size: 12px
      font-weight: 300
      text-shadow: none

.v-stepper
  &__wrapper
    overflow: hidden
    transition: none

.v-stepper
  &__content
    top: 0
    padding: 24px 24px 16px 24px
    flex: 1 0 auto
    // Chrome has an issue with overflow hidden for rendering
    // Originally used translateZ but this messes up fixed
    // elements within the stepper
    // Fix for #512 and #620
    // overflow: hidden
    width: 100%

    > .v-btn
      margin: 24px 8px 8px 0

  &--is-booted
    .v-stepper__content, .v-stepper__wrapper
      transition: .3s $transition.swing

.v-stepper
  &--vertical
    padding-bottom: 36px

    .v-stepper__content
      margin: -8px -36px -16px 36px
      padding: 16px 60px 16px 23px
      width: auto

    .v-stepper__step
      padding: 24px 24px 16px

    .v-stepper__step__step
      margin-right: 12px

  &--alt-labels
    .v-stepper__header
      height: auto

      .v-divider
        margin: 35px -67px 0
        align-self: flex-start

    .v-stepper__step
      flex-direction: column
      justify-content: flex-start
      align-items: center
      flex-basis: 175px

      small
        align-self: center

    .v-stepper__step__step
      margin-right: 0
      margin-bottom: 11px

@media $display-breakpoints.sm-and-down
  .v-stepper:not(.v-stepper--vertical)
    .v-stepper__label
      display: none

    .v-stepper__step__step
      margin-right: 0
