lucid-ui
Version:
A UI component library from AppNexus.
210 lines (170 loc) • 5.31 kB
text/less
@import (reference) '../../styles/variables.less';
@import (reference) '../../styles/mixins.less';
@Submarine-Divider-height: @size-XS;
@Submarine-Bar-header-height: 33px;
@Submarine-transition-duration: @timing-animation-fade;
@Submarine-transition-half-duration: @Submarine-transition-duration / 2;
@Submarine-transition-third-duration: @Submarine-transition-duration / 3;
.@{prefix}-Submarine {
display: flex;
align-items: stretch;
height: 100%;
width: 100%;
flex-direction: column;
& > .@{prefix}-SplitHorizontal-inner {
& > .@{prefix}-Submarine-Bar {
position: relative;
z-index: @zindex-base;
background-color: @color-white;
overflow: auto;
display: flex;
/* https://connect.microsoft.com/IE/feedback/details/949764/ie-11-incorrectly-rejects-flexbox-shorthand-syntax-flex-1-1-0-as-invalid */
/* stylelint-disable-next-line length-zero-no-unit */
flex-shrink: 0px;
.@{prefix}-Submarine-is-position-top& {
border-bottom: @border-standardBorder;
flex-direction: column-reverse;
}
.@{prefix}-Submarine-is-position-bottom& {
border-top: @border-standardBorder;
flex-direction: column;
}
& > .@{prefix}-Submarine-Bar-overlay {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: @color-backgroundColor;
opacity: 1;
z-index: @zindex-base;
.@{prefix}-SplitHorizontal-is-expanded& {
opacity: 0;
pointer-events: none;
}
}
& > .@{prefix}-Submarine-Bar-header {
.box-sizing();
background-color: @color-backgroundColor;
color: @color-textColor;
font-size: @size-L;
font-weight: @font-weight-semiBold;
display: flex;
flex-shrink: 0;
min-height: @Submarine-Bar-header-height;
.@{prefix}-Submarine-is-position-top& {
border-top: @border-standardBorder;
}
.@{prefix}-Submarine-is-position-bottom& {
border-bottom: @border-standardBorder;
}
& > .@{prefix}-Submarine-Bar-Title {
margin: @size-XS auto @size-XS @size-standard;
&-is-shown-collapsed {
z-index: @zindex-base;
}
}
& > .@{prefix}-Submarine-expander {
align-self: center;
flex: 0 0;
margin: 0 @size-XS;
z-index: @zindex-base + 1;
&:focus,
&:active {
background: none;
}
.@{prefix}-ChevronIcon {
stroke: @color-neutral-6;
}
}
}
& > .@{prefix}-Submarine-Bar-content {
flex: 1 0;
padding: @size-XS;
}
}
& > .@{prefix}-SplitHorizontal-Divider.@{prefix}-Submarine-Divider {
position: relative;
display: flex;
flex-shrink: 0;
flex-direction: column;
justify-content: center;
align-items: center;
background-color: @color-backgroundColor;
height: @Submarine-Divider-height;
z-index: @zindex-base - 1;
.@{prefix}-Submarine-is-position-top& {
transform: translateY(-@Submarine-Divider-height);
border-bottom: @border-standardBorder;
}
.@{prefix}-Submarine-is-position-bottom& {
transform: translateY(@Submarine-Divider-height);
border-top: @border-standardBorder;
}
.@{prefix}-SplitHorizontal-is-expanded& {
transform: translateY(0);
}
.@{prefix}-Submarine-is-resize-disabled& {
display: none;
}
&:hover {
background-color: @color-mediumGray;
}
}
& > .@{prefix}-Submarine-Primary {
/* https://connect.microsoft.com/IE/feedback/details/949764/ie-11-incorrectly-rejects-flexbox-shorthand-syntax-flex-1-1-0-as-invalid */
/* stylelint-disable-next-line length-zero-no-unit */
flex-basis: 0px;
overflow: auto;
display: flex;
flex-direction: column;
.@{prefix}-Submarine-is-position-top& {
margin-top: -@Submarine-Divider-height;
.@{prefix}-Submarine-is-resize-disabled& {
margin-top: 0;
}
.@{prefix}-SplitHorizontal-is-expanded& {
margin-top: 0;
}
}
.@{prefix}-Submarine-is-position-bottom& {
margin-bottom: -@Submarine-Divider-height;
.@{prefix}-Submarine-is-resize-disabled& {
margin-bottom: 0;
}
.@{prefix}-SplitHorizontal-is-expanded& {
margin-bottom: 0;
}
}
& > .@{prefix}-Submarine {
flex: 1;
}
}
}
&.@{prefix}-SplitHorizontal-is-animated.@{prefix}-SplitHorizontal-is-animated {
& > .@{prefix}-SplitHorizontal-inner {
& > .@{prefix}-Submarine-Bar {
& > .@{prefix}-Submarine-Bar-overlay {
transition: opacity @Submarine-transition-half-duration;
}
}
& > .@{prefix}-SplitHorizontal-Divider.@{prefix}-Submarine-Divider {
transition: transform @Submarine-transition-third-duration, background-color @Submarine-transition-third-duration;
.@{prefix}-SplitHorizontal-is-expanded& {
transition: transform @Submarine-transition-third-duration @Submarine-transition-duration, background-color @Submarine-transition-third-duration;
}
}
& > .@{prefix}-Submarine-Primary {
.@{prefix}-Submarine-is-position-top& {
transition: margin-top @Submarine-transition-half-duration linear;
}
.@{prefix}-Submarine-is-position-bottom& {
transition: margin-bottom @Submarine-transition-third-duration;
.@{prefix}-SplitHorizontal-is-expanded& {
transition: margin-bottom @Submarine-transition-third-duration @Submarine-transition-duration;
}
}
}
}
}
}