You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

189 lines
4.1 KiB

@use "sass:list";
@use '../helpers/baseMixin.scss';
.vxe-split {
width: 100%;
&.is--vertical {
& > .vxe-split-wrapper {
flex-direction: column;
& > .vxe-split-pane {
width: 100%;
}
}
}
&.is--drag {
user-select: none;
& > .vxe-split-wrapper {
& > .vxe-split-pane {
& > .vxe-split-pane--wrapper {
&::after {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 1;
background: transparent;
user-select: none;
}
}
}
}
}
}
.vxe-split-wrapper {
height: 100%;
display: flex;
flex-direction: row;
overflow: hidden;
}
.vxe-split-slots {
display: none;
}
.vxe-split-pane-handle {
position: relative;
flex-shrink: 0;
user-select: none;
}
.vxe-split-pane--wrapper {
position: relative;
word-break: break-word;
overflow: hidden;
flex-grow: 1;
}
.vxe-split-pane--inner {
height: 100%;
width: 100%;
overflow: auto;
& > .vxe-split {
height: 100%;
}
}
.vxe-split-pane-handle-bar {
background-color: var(--vxe-ui-split-handle-bar-background-color);
}
.vxe-split-pane-action-btn {
position: absolute;
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
font-size: 0.5em;
border-radius: var(--vxe-ui-base-border-radius);
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
z-index: 2;
color: var(--vxe-ui-layout-background-color);
background-color: var(--vxe-ui-split-handle-button-background-color);
border: 1px solid var(--vxe-ui-input-border-color);
cursor: pointer;
@include baseMixin.createAnimationTransition(transform, 0.1s);
&:hover {
background-color: var(--vxe-ui-font-primary-lighten-color);
}
&:active {
transform: translate(-50%, -50%) scale(0.9);
}
}
.vxe-split-pane {
display: flex;
position: relative;
overflow: hidden;
&.is--hidden {
width: 0;
}
&.is--padding {
& > .vxe-split-pane--wrapper {
padding: var(--vxe-ui-layout-padding-default);
}
}
&.is--fill {
flex-grow: 1;
}
&.is--width,
&.is--height {
flex-shrink: 0;
}
&.is--border {
& > .vxe-split-pane--wrapper {
border: 1px solid var(--vxe-ui-base-popup-border-color);
}
}
&.is--resize {
&.is--expand {
&.is--horizontal {
& > .vxe-split-pane-handle {
.vxe-split-pane-handle-bar {
cursor: w-resize;
}
}
}
&.is--vertical {
& > .vxe-split-pane-handle {
.vxe-split-pane-handle-bar {
cursor: n-resize;
}
}
}
& > .vxe-split-pane-handle {
& > .vxe-split-pane-handle-bar {
background-color: var(--vxe-ui-split-handle-bar-background-color);
&:hover {
background-color: var(--vxe-ui-font-primary-lighten-color);
}
&:active {
background-color: var(--vxe-ui-font-primary-darken-color);
}
}
}
}
}
&.is--horizontal {
flex-direction: row;
& > .vxe-split-pane-handle {
.vxe-split-pane-handle-bar {
width: var(--vxe-ui-split-handle-bar-horizontal-width);
height: 100%;
}
.vxe-split-pane-action-btn {
width: var(--vxe-ui-split-handle-bar-horizontal-width);
height: var(--vxe-ui-split-handle-bar-horizontal-height);
}
}
&.is--border {
& > .vxe-split-pane-handle {
border-width: 1px 0 1px 0;
}
}
}
&.is--vertical {
flex-direction: column;
& > .vxe-split-pane-handle {
.vxe-split-pane-handle-bar {
height: var(--vxe-ui-split-handle-bar-vertical-height);
width: 100%;
}
.vxe-split-pane-action-btn {
width: var(--vxe-ui-split-handle-bar-vertical-width);
height: var(--vxe-ui-split-handle-bar-vertical-height);
}
}
&.is--border {
& > .vxe-split-pane-handle {
border-width: 0 1px 0 1px;
}
}
}
}
.vxe-modal--content {
& > .vxe-split {
height: 100%;
}
}