vxe-pc-ui
Version:
A vue based PC component library
168 lines (155 loc) • 3.79 kB
CSS
.vxe-cascader {
position: relative;
display: inline-block;
width: 180px;
color: var(--vxe-ui-font-color);
text-align: left;
}
.vxe-cascader > .vxe-input .vxe-input--inner {
cursor: pointer;
}
.vxe-cascader.is--filterable .vxe-cascader-tree--wrapper {
padding-top: 0;
}
.vxe-cascader.is--filterable .vxe-cascader--panel-header {
border-top: 1px solid var(--vxe-ui-base-popup-border-color);
}
.vxe-cascader.is--disabled > .vxe-input .vxe-input--inner {
cursor: no-drop;
}
.vxe-cascader.is--loading > .vxe-input .vxe-input--inner {
cursor: progress;
}
.vxe-cascader > .vxe-input {
width: 100%;
}
.vxe-cascader > .vxe-input .vxe-input--suffix-icon > i {
display: inline-block;
transition: transform 0.2s ease-in-out;
}
.vxe-cascader.is--active:not(.is--filter) > .vxe-input {
border-color: var(--vxe-ui-font-primary-color);
}
.vxe-cascader--readonly {
color: var(--vxe-ui-font-color);
display: inline-flex;
}
.vxe-cascader--panel {
pointer-events: none;
display: none;
position: absolute;
left: 0;
padding: 4px 0;
color: var(--vxe-ui-font-color);
text-align: left;
}
.vxe-cascader--panel:not(.is--transfer) {
min-width: 100%;
}
.vxe-cascader--panel.is--transfer {
position: fixed;
}
.vxe-cascader--panel.ani--leave {
display: block;
opacity: 0;
transform: scaleY(0.5);
transition: transform 0.3s cubic-bezier(0.23, 1, 0.32, 1), opacity 0.3s cubic-bezier(0.23, 1, 0.32, 1);
transform-origin: center top;
backface-visibility: hidden;
}
.vxe-cascader--panel.ani--leave[placement=top] {
transform-origin: center bottom;
}
.vxe-cascader--panel.ani--enter {
opacity: 1;
transform: scaleY(1);
}
.vxe-cascader--panel.ani--enter > div::after {
display: none;
}
.vxe-cascader--panel > div::after {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 1;
-webkit-user-select: none;
-moz-user-select: none;
user-select: none;
}
.vxe-cascader--panel-search {
display: block;
}
.vxe-cascader--panel-search .vxe-cascader-search--input {
width: 100%;
}
.vxe-cascader--header-button {
display: flex;
flex-direction: row;
white-space: nowrap;
}
.vxe-cascader--header-total {
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
flex-shrink: 0;
padding-left: 0.8em;
}
.vxe-cascader--header-btns {
display: flex;
flex-direction: row;
flex-grow: 1;
justify-content: right;
}
.vxe-cascader--panel-wrapper {
display: flex;
flex-direction: column;
position: relative;
border-radius: var(--vxe-ui-base-border-radius);
border: 1px solid var(--vxe-ui-base-popup-border-color);
box-shadow: var(--vxe-ui-base-popup-box-shadow);
background-color: var(--vxe-ui-layout-background-color);
pointer-events: auto;
}
.vxe-cascader--panel-search {
display: block;
padding: var(--vxe-ui-layout-padding-default);
}
.vxe-cascader--panel-search .vxe-cascader-search--input {
width: 100%;
}
.vxe-cascader--panel-header {
border-bottom: 1px solid var(--vxe-ui-base-popup-border-color);
}
.vxe-cascader--panel-footer {
border-top: 1px solid var(--vxe-ui-base-popup-border-color);
}
.vxe-cascader--panel-header,
.vxe-cascader--panel-footer {
padding: 4px 0;
}
.vxe-cascader-tree--wrapper {
position: relative;
overflow: auto;
padding: var(--vxe-ui-layout-padding-default);
outline: 0;
}
.vxe-cascader,
.vxe-cascader--panel {
font-size: var(--vxe-ui-font-size-default);
}
.vxe-cascader.size--medium,
.vxe-cascader--panel.size--medium {
font-size: var(--vxe-ui-font-size-medium);
}
.vxe-cascader.size--small,
.vxe-cascader--panel.size--small {
font-size: var(--vxe-ui-font-size-small);
}
.vxe-cascader.size--mini,
.vxe-cascader--panel.size--mini {
font-size: var(--vxe-ui-font-size-mini);
}