@import "../node_modules/tinper-bee-core/scss/minxin-variables"; @import "../node_modules/tinper-bee-core/scss/minxin-mixins"; $text-color : #666; $font-size-base : 12px; $line-height: 1.5; $table-border-color: $border-color-base; $table-head-background-color: #f7f7f7; $vertical-padding: 16px; $horizontal-padding: 8px; $table-border-color: #e9e9e9; $table-hover-color: unquote("rgb(#{$palette-blue-50})") !default; $table-move-in-color: $bg-color-base; .u-table { font-size: $font-size-base; color: $text-color; transition: opacity 0.3s ease; position: relative; line-height: $line-height; overflow: hidden; table { width: 100%; border-collapse: collapse; text-align: left; } th { background: $table-head-background-color; font-weight: bold; transition: background .3s ease; } td { border-bottom: 1px solid $table-border-color; } tr { transition: all .3s ease; &:hover { background: $table-hover-color; } } tr.tr-row-hover { background: $table-hover-color; } th, td { padding: $vertical-padding $horizontal-padding; } &-scroll { overflow: auto; } &-header { overflow: hidden; background: $table-head-background-color; } &-fixed-header &-body { background: #fff; position: relative; } &-fixed-header &-body-inner { height: 100%; overflow: scroll; } &-fixed-header &-scroll &-header { overflow-x: scroll; padding-bottom: 20px; margin-bottom: -20px; overflow-y: scroll; box-sizing: border-box; } &-title { padding: $vertical-padding $horizontal-padding; border-top: 1px solid $table-border-color; } &-content { position: relative; } &-footer { // padding: $vertical-padding $horizontal-padding; // border-bottom: 1px solid $table-border-color; } &-placeholder { padding: 16px 8px; background: #fff; border-bottom: 1px solid $table-border-color; text-align: center; position: relative; } &-expand-icon-col { width: 10px; } &-row, &-expanded-row { &-expand-icon { cursor: pointer; display: inline-block; width: 16px; height: 16px; text-align: center; line-height: 16px; border: 1px solid $table-border-color; user-select: none; background: #fff; } &-spaced { visibility: hidden; } &-spaced:after { content: '.' } &-expanded:after { content: '-' } &-collapsed:after { content: '+' } } tr.u-table-expanded-row { background: #f7f7f7; &:hover { background: #f7f7f7; } } &-column-hidden { display: none; } &-prev-columns-page, &-next-columns-page { cursor: pointer; color: #666; z-index: 1; &:hover { color: #2db7f5; } &-disabled { cursor: not-allowed; color: #999; &:hover { color: #999; } } } &-prev-columns-page { margin-right: 8px; &:before { content: '<'; } } &-next-columns-page { float: right; &:before { content: '>'; } } &-fixed-left, &-fixed-right { position: absolute; top: 0; overflow: hidden; z-index: 1; table { width: auto; background: #fff; } } &-fixed-left { left: 0; box-shadow: 4px 0 4px rgba(100, 100, 100, 0.1); & &-body-inner { margin-right: -20px; padding-right: 20px; } &-fixed-header & &-body-inner { padding-right: 0; } } &-fixed-right { right: 0; box-shadow: -4px 0 4px rgba(100, 100, 100, 0.1); // hide expand row content in right fixed Table // https://github.com/ant-design/ant-design/issues/1898 &-expanded-row { color: transparent; pointer-events: none; } } & &-scroll-position-left &-fixed-left { box-shadow: none; } & &-scroll-position-right &-fixed-right { box-shadow: none; } } .u-table.bordered { table { border-collapse: collapse; } th, td { border: 1px solid $table-border-color; } } .move-enter, .move-appear { opacity: 0; animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); animation-duration: 2.5s; animation-fill-mode: both; animation-play-state: paused; } .move-leave { animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); animation-duration: .5s; animation-fill-mode: both; animation-play-state: paused; } .move-enter.move-enter-active, .move-appear.move-enter-active { animation-name: moveLeftIn; animation-play-state: running; } .move-leave.move-leave-active { animation-name: moveRightOut; animation-play-state: running; } @keyframes moveLeftIn { 0% { transform-origin: 0 0; transform: translateX(30px); opacity: 0; background: $table-move-in-color; } 20% { transform-origin: 0 0; transform: translateX(0); opacity: 1; } 80%{ background: $table-move-in-color; } 100%{ background: transparent; opacity: 1; } } @keyframes moveRightOut { 0% { transform-origin: 0 0; transform: translateX(0); opacity: 1; } 100% { transform-origin: 0 0; transform: translateX(-30px); opacity: 0; } }