@use "sass:list"; @use '../helpers/baseMixin.scss'; .vxe-split { position: relative; width: 100%; &.is--vertical { & > .vxe-split-wrapper { flex-direction: column; & > .vxe-split-pane { width: 100%; } } } &.is--drag { user-select: none; &.is-resize--immediate { &.is--horizontal { cursor: w-resize; } &.is--vertical { cursor: n-resize; } } &.is-resize--lazy { &.is--horizontal { cursor: col-resize; } &.is--vertical { cursor: row-resize; } } & > .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--resizable-split-tip { display: none; position: absolute; top: 0; left: 0; z-index: 7; pointer-events: none; user-select: none; cursor: col-resize; &.is-resize--lazy { &:before { content: ""; display: block; height: 100%; background-color: var(--vxe-ui-split-resizable-drag-line-color); } } &.is--horizontal { width: 1px; height: 100%; .vxe-split--resizable-split-number-prev { right: 0; } .vxe-split--resizable-split-number-next { left: 1px; } } &.is--vertical { width: 100%; height: 1px; .vxe-split--resizable-split-number-prev { bottom: 0; } .vxe-split--resizable-split-number-next { top: 1px; } } } .vxe-split--resizable-split-tip-number { position: absolute; top: 0; left: 0; user-select: none; pointer-events: none; } .vxe-split--resizable-split-number-prev, .vxe-split--resizable-split-number-next { position: absolute; padding: 0.25em 0.25em; font-size: 12px; border-radius: var(--vxe-ui-border-radius); white-space: nowrap; color: #ffffff; background-color: var(--vxe-ui-split-resizable-drag-line-color); } .vxe-split-wrapper { height: 100%; display: flex; flex-direction: row; overflow: hidden; } .vxe-split-slots { display: none; } .vxe-split-pane-handle { display: flex; 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); &:hover { background-color: var(--vxe-ui-split-handle-bar-hover-background-color); } } .vxe-split-pane-action-btn-wrapper { position: absolute; display: flex; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 2; } .vxe-split-pane-action-btn { display: flex; flex-direction: row; align-items: center; justify-content: center; border-radius: var(--vxe-ui-base-border-radius); 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 { color: #ffffff; background-color: var(--vxe-ui-font-primary-color); } &:active { transform: scale(0.9); } & > i { font-size: 0.6em; } } .vxe-split-pane-handle { &.is--horizontal { flex-direction: row; &.is--border { border-width: 1px 0 1px 0; } .vxe-split-pane-action-btn-wrapper { flex-direction: column; & div { margin-top: 1em; &:first-child { margin-top: 0; } } } .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--vertical { flex-direction: column; &.is--border { border-width: 0 1px 0 1px; } .vxe-split-pane-action-btn-wrapper { flex-direction: row; & div { margin-left: 1em; &:first-child { margin-left: 0; } } } .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--resize { &.is-resize--immediate { &.is--horizontal { .vxe-split-pane-handle-bar { cursor: w-resize; } } &.is--vertical { .vxe-split-pane-handle-bar { cursor: n-resize; } } & > .vxe-split-pane-handle-bar { &:active { background-color: var(--vxe-ui-font-primary-color); } } } &.is-resize--lazy { &.is--horizontal { .vxe-split-pane-handle-bar { cursor: col-resize; } } &.is--vertical { .vxe-split-pane-handle-bar { cursor: row-resize; } } } } } .vxe-split-pane { display: flex; position: relative; overflow: hidden; &.is--fill { flex-grow: 1; } &.is--hidden { &.is--horizontal { width: 0; } &.is--vertical { height: 0; } } &.is--padding { & > .vxe-split-pane--wrapper { padding: var(--vxe-ui-layout-padding-default); } } &.is--hidden, &.is--width, &.is--height { flex-shrink: 0; } &.is--border { & > .vxe-split-pane--wrapper { border: 1px solid var(--vxe-ui-base-popup-border-color); } } } .vxe-split--render-vars { width: 0; height: 0; overflow: hidden; .vxe-split--handle-bar-info { width: var(--vxe-ui-split-handle-bar-horizontal-width); height: var(--vxe-ui-split-handle-bar-vertical-height); } } .vxe-modal--content { & > .vxe-split { height: 100%; } } .vxe-split { font-size: var(--vxe-ui-font-size-default); &.size--medium { font-size: var(--vxe-ui-font-size-medium); } &.size--small { font-size: var(--vxe-ui-font-size-small); } &.size--mini { font-size: var(--vxe-ui-font-size-mini); } }