/**
* @Author Think
* @Date 2018/11/24
*/

<template>
  <header :class="[borderCss,cusClass]" class="h-header">
    <!--左侧按钮-->
    <section :style="{'flex':proportion[0] }" class="h-header-left">
      <slot name="left"/>
    </section>
    <!--中间Title-->
    <h1 :style="{'flex':proportion[1] }" class="h-header-center">
      <slot name="center"/>
    </h1>
    <!--右侧安装-->
    <section :style="{'flex':proportion[2] }" class="h-header-right">
      <slot name="right"/>
    </section>
  </header>
</template>

<script>
export default {
  name: 'HHeader',
  props: {
    proportion: {
      //  slot left/center/right 横向面积比例
      type: Array,
      default: () => [1, 2, 1],
    },
    hasBorder: {
      type: Boolean,
      default: true,
    },
    cusClass: {
      type: String,
      default: '',
    },
  },
  computed: {
    borderCss () {
      return this.hasBorder === true ? 'vue-1px-b' : ''
    },
  },
}
</script>

<style lang="less">

  .h-header {
    flex-shrink: 0;
    height: 44px;
    background: #fff;
    display: flex;
    align-items: center;
    color: #4A4A4A;
    box-sizing: content-box;
    overflow: hidden;

    .h-header-center {
      flex: 1;
      font-size: 17px;
      font-weight: 500;
      line-height: 44px;
      text-align: center;
      text-overflow: ellipsis;
      white-space: nowrap;
      overflow: hidden;
      padding: 0;
      margin: 0;

      > * {
        overflow: hidden;
        text-overflow: ellipsis;
      }
    }

    .h-header-left, .h-header-right {
      flex: 0.5;
      height: 100%;
      white-space: nowrap;
      overflow: hidden;
    }

    .h-header-left {
      text-align: left;

      .h-header-btn {
        &:first-of-type {
          padding-left: 15px;
        }
      }
    }

    .h-header-right {
      text-align: right;

      .h-header-btn {
        justify-content: flex-end;

        &:last-of-type {
          padding-right: 15px;
        }
      }
    }

    // 头部按钮的推荐样式
    .h-header-btn {
      display: inline-flex;
      align-items: center;
      font-size: 16px;
      min-width: 60px;
      height: 100%;
      overflow: hidden;
      vertical-align: middle;
      box-sizing: border-box;
      width: 80%;
    }

    .ion-ios-arrow-back {
      font-size: 32px;
      color: @headerColor;
    }

  }

  .h-header-border {
    border-bottom: 1px solid rgba(0, 0, 0, .1); /*no*/
  }

  .bar-custom {
    .h-header-center, .h-header-btn {
      color: #fff;
    }

    .ion-ios-arrow-back {
      color: #fff;
    }
  }

  // ios平台
  .platform-ios .h-header {
    padding-top: 20px;
  }

  // iPhoneX适配
  @media (device-width: 375px) and (device-height: 812px) and (-webkit-min-device-pixel-ratio: 3) {
    .platform-ios {
      .h-header {
        padding-top: 40px;
      }
    }
  }

  // iPhoneX Max适配
  @media (device-width: 414px) and (device-height: 896px) {
    .platform-ios {
      .h-header {
        padding-top: 40px;
      }
    }
  }
</style>