<template>
  <div class="van-steps" :class="stepsClass">
    <div class="van-steps__status" v-if="title || description">
      <div class="van-steps__icon" v-if="icon || $slots.icon">
        <slot name="icon">
          <van-icon :name="icon" :class="iconClass"></van-icon>
        </slot>
      </div>
      <div class="van-steps__message">
        <div class="van-steps__message-wrapper">
          <h4 class="van-steps__title" v-text="title"></h4>
          <p class="van-steps__desc" v-text="description"></p>
        </div>
      </div>
      <slot name="message-extra">
      </slot>
    </div>
    <div class="van-steps__items" :class="{
        'van-steps__items--alone': !title && !description
      }">
      <slot></slot>
    </div>
  </div>
</template>

<script>
import Icon from '../icon';

export default {
  name: 'van-steps',

  components: {
    [Icon.name]: Icon
  },

  props: {
    active: Number,
    icon: String,
    iconClass: {
      type: String,
      default: ''
    },
    title: String,
    description: String,
    direction: {
      type: String,
      default: 'horizontal'
    },
    activeColor: {
      type: String,
      default: '#06bf04'
    }
  },

  data() {
    return {
      steps: []
    };
  },

  computed: {
    stepsClass() {
      return [
        `van-steps--${this.direction}`, {
          [`van-steps--${this.steps.length}`]: this.direction === 'horizontal'
        }
      ];
    }
  }
};
</script>