UNPKG

@chief-editor/ui

Version:

UI Component for chief editor

266 lines (217 loc) 6.7 kB
@import "./var.less"; @import "./mixin.less"; .tab-size(@size, @tab-right-span, @tab-bottom-span) { &.@{prefixCls}-tab-type-basic, &.@{prefixCls}-tab-type-line { &.@{prefixCls}-tab-tabPosition-top, &.@{prefixCls}-tab-tabPosition-bottom { > .@{prefixCls}-tab-bar .@{prefixCls}-tab-bar-item { &:not(:last-child) { margin-right: @tab-right-span; } } } &.@{prefixCls}-tab-tabPosition-left, &.@{prefixCls}-tab-tabPosition-right { > .@{prefixCls}-tab-bar .@{prefixCls}-tab-bar-item { &:not(:last-child) { margin-bottom: @tab-bottom-span; } } } .@{prefixCls}-tab-bar { &-item { .font-height(@size); } } } } .@{prefixCls}-tab { display: flex; &-bar { display: flex; flex: none; align-items: center; justify-content: space-between; &-items { align-self: flex-end; position: relative; overflow: hidden; } &-items-inner { display: flex; align-items: center; width: 100%; height: 100%; @transition-value: all ease-in-out @motion-duration-a, transform ease-in-out @motion-duration-c; .property-prefix(transition, @transition-value); &-line { display: none; position: absolute; width: 1px; height: 1px; background-color: @color-primary6; @transition-value: all ease-in-out @motion-duration-b, opacity linear 0s; .property-prefix(transition, @transition-value); } } &-extra { display: flex; justify-content: flex-end; align-items: center; align-self: stretch; flex: auto; } &-collapse { a { padding: 4px 8px; color: @color-text-grey3; & > span:last-child { margin-left: 4px; } } } &-item { display: inline-block; margin-left: 16px; position: relative; width: 100%; cursor: pointer; color: @color-text-grey2; font-size: 12px; font-weight: 400; white-space: nowrap; @transition-value: all ease-in-out @motion-duration-a, font-weight linear 0s, border linear 50ms 0s; .property-prefix(transition, @transition-value); &:hover:not(.@{prefixCls}-tab-bar-item-disabled) { color: @color-text-grey1; } &-active { color: @color-text-grey1; @transition-value: all ease-in-out @motion-duration-a, font-weight linear 0s, border linear 0s @motion-duration-b; .property-prefix(transition, @transition-value); } &-disabled { cursor: not-allowed; color: @color-text-grey4; } } } &-tabPosition-top, &-tabPosition-bottom { flex-direction: column; > .@{prefixCls}-tab-bar { flex-direction: row; .@{prefixCls}-tab-bar-items-inner { flex-direction: row; } .@{prefixCls}-tab-bar-item { padding: 8px 0; } .@{prefixCls}-tab-bar-prev { margin-right: 4px; } .@{prefixCls}-tab-bar-next { margin-left: 4px; } .@{prefixCls}-tab-bar-extra { flex-direction: row; } .@{prefixCls}-tab-bar-extra-content { padding: 4px 0; margin-left: 16px; } .@{prefixCls}-tab-bar-add { margin-left: 8px; margin-right: 8px; } } } &-tabPosition-left, &-tabPosition-right { flex-direction: row; > .@{prefixCls}-tab-bar { flex-direction: column; .@{prefixCls}-tab-bar-items-inner { flex-direction: column; } .@{prefixCls}-tab-bar-items { width: 100%; } .@{prefixCls}-tab-bar-item { padding: 4px 8px; } .@{prefixCls}-tab-bar-prev { margin-bottom: 4px; } .@{prefixCls}-tab-bar-next { margin-top: 4px; } .@{prefixCls}-tab-bar-extra { flex-direction: column; } .@{prefixCls}-tab-bar-extra-content { padding: 0 4px; margin-top: 16px; } .@{prefixCls}-tab-bar-add { margin-left: 8px; margin-right: 8px; } } } &-tabPosition-left { > .@{prefixCls}-tab-bar { .@{prefixCls}-tab-bar-item { text-align: right; } } } &-type-line { &.@{prefixCls}-tab-tabPosition-top, &.@{prefixCls}-tab-tabPosition-bottom { > .@{prefixCls}-tab-bar { margin: 0; } } .line-position(@placement, @border-placement) { &.@{prefixCls}-tab-tabPosition-@{placement} { > .@{prefixCls}-tab-bar { border-@{border-placement}: 1px solid @color-neutral5; .@{prefixCls}-tab-bar-item { border-@{border-placement}: 1px solid transparent; } .@{prefixCls}-tab-bar-item-active { border-@{border-placement}: 1px solid @color-primary6; } } .@{prefixCls}-tab-bar-items-inner-line { display: block; @{border-placement}: 0; } } } .line-position(bottom, top); .line-position(top, bottom); .line-position(right, left); .line-position(left, right); } &-item { flex: 1; display: none; &-active { display: block; } } &-bar-collapse { .@{prefixCls}-tab-bar-item { margin-left: 0; } } }