@import "./font/font-awesome.min.css";

// text
@prefixCls: zk-table;
@css-prefix: ivu-;
// color
@black: #1F2D3D;
@white: #ffffff;
@border: #e9eaec;
@hoverRow: #ebf7ff;
@backgroundRow: #f8f8f9;
@primary-color: #2d8cf0;
@border-color-base: #dcdee2;  // outside
// Z-index
@zindex-spin: 8;
@zindex-spin-fullscreen : 2010;

.@{prefixCls} {
  position: relative;
  width: 100%;
  box-sizing: border-box;
  background-color: @white;
  border: 1px solid @border;
  font-size: 12px;
  line-height: 26px;
  color: @black;
}

.@{prefixCls}__header-wrapper,
.@{prefixCls}__footer-wrapper {
  overflow: hidden;
}

.@{prefixCls}__body-wrapper {
  overflow: auto;
}

.@{prefixCls}__header,
.@{prefixCls}__body,
.@{prefixCls}__footer {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  border-spacing: 0;
}

.@{prefixCls}__header-row {
  height: 40px;
  box-sizing: border-box;
  background-color: @backgroundRow;
  border-bottom: 1px solid @border;
}

.@{prefixCls}__footer-row {
  height: 40px;
  box-sizing: border-box;
  background-color: @white;
  border-top: 1px solid @border;
}

.@{prefixCls}__body-row {
  height: 48px;
  box-sizing: border-box;
  &:not(:first-of-type) {
    border-top: 1px solid @border;
  }
}

.@{prefixCls}__header-cell,
.@{prefixCls}__body-cell,
.@{prefixCls}__footer-cell {
  box-sizing: border-box;
  text-align: left;
  vertical-align: middle;
  word-break: break-all;
  overflow: hidden;
}

.@{prefixCls}__header-cell {
  font-weight: bold;
}

.@{prefixCls}__cell-inner {
  padding: 6px 12px;
}

.@{prefixCls}--firstProp-header-inner {
  padding-left: 32px;
}

.@{prefixCls}--empty-row {
  height: 80px;
}

.@{prefixCls}--empty-content {
  text-align: center;
}

.@{prefixCls}--center-cell {
  text-align: center;
}

.@{prefixCls}--right-cell {
  text-align: right;
}

.@{prefixCls}--stripe-row {
  background-color: @backgroundRow;
}

.@{prefixCls}--row-hover {
  background-color: @hoverRow;
}

.@{prefixCls}--border-cell {
  &:not(:last-of-type) {
    border-right: 1px solid @border;
  }
}

.@{prefixCls}--tree-icon {
  margin-right: 6px;
  cursor: pointer;
}

.@{prefixCls}--expand-inner {
  text-align: center;
  cursor: pointer;
  transition: transform .2s ease-in-out;
}

.@{prefixCls}--expanded-inner {
  transform: rotate(90deg);
}

.@{prefixCls}--expand-content {
  padding: 20px;
}

// Size

.size(@width; @height) {
  width: @width;
  height: @height;
}

.square(@size) {
  .size(@size; @size);
}

// 排序
.zk-table__sort {
  display: inline-block;
  width: 14px;
  height: 16px;
  margin-left: 5px;
  vertical-align: middle;
  overflow: hidden;
  cursor: pointer;
  position: relative;

  i {
    display: block;
    overflow: hidden;
    color: #c5c8ce;
    transition: color .2s ease-in-out;
    font-size: 16px;
  }

  .fa-fix-up {
    height: 8px;
    line-height: 15px;
  }

  .fa-fix-down {
    height: 8px;
    line-height: 2px;
  }

  .fa-color-balck {
    color: black;
  }

  .fa-sort-enabled {
    color: black;
  }
}

// Spin 样式
@spin-prefix-cls: ~"@{css-prefix}spin";
@spin-dot-size-small: 12px;
@spin-dot-size: 20px;
@spin-dot-size-large: 32px;

.@{spin-prefix-cls} {
    color: @primary-color;
    vertical-align: middle;
    text-align: center;

    &-dot {
        position: relative;
        display: block;
        border-radius: 50%;
        background-color: @primary-color;
        .square(@spin-dot-size);
        animation: ani-spin-bounce 1s 0s ease-in-out infinite;
    }

    &-large &-dot {
        .square(@spin-dot-size-large);
    }

    &-small &-dot {
        .square(@spin-dot-size-small);
    }

    &-fix {
        position: absolute;
        top: 0;
        left: 0;
        z-index: @zindex-spin;
        .square(100%);
        background-color: rgba(255,255,255,.9);
    }
    &-fullscreen{
        z-index: @zindex-spin-fullscreen;
        &-wrapper{
            position: fixed;
            top: 0;
            right: 0;
            bottom: 0;
            left: 0;
        }
    }

    &-fix &-main {
        position: absolute;
        top: 50%;
        left: 50%;
        -ms-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
    }

    &-fix &-dot {
        display: inline-block;
    }

    &-text,
    &-show-text &-dot {
        display: none;
    }

    &-show-text &-text {
        display: block;
    }
}

// use in Table loading, Table right border is not included in .ivu-table-wrapper, so fix it
.@{prefixCls}__body-wrapper{
    > .@{spin-prefix-cls}-fix{
        border: 1px solid @border-color-base;
        border-top: 0;
        border-left: 0;
    }
}

@keyframes ani-spin-bounce {
    0% {
        transform: scale(0);
    }

    100% {
        transform: scale(1);
        opacity: 0;
    }
}

