zent
Version:
一套前端设计语言和基于React的实现
448 lines (447 loc) • 11.8 kB
CSS
.zent-cascader-v2 {
display: flex;
flex-wrap: wrap;
cursor: pointer;
font-size: 14px;
position: relative;
text-align: left;
-webkit-user-select: none;
user-select: none;
width: 240px;
vertical-align: middle;
box-sizing: border-box;
border-width: 1px;
border-style: solid;
border-radius: 2px;
line-height: 18px;
padding: 6px 30px 6px 12px;
min-height: 32px;
transition: border-color 0.25s;
border-color: #e0e0e0;
border-color: var(--theme-default-border-color, var(--theme-stroke-5, #e0e0e0));
background-color: #fff;
background-color: var(--theme-section-bg, var(--theme-stroke-9, #fff));
}
.zent-cascader-v2-tag__list {
display: flex;
flex-wrap: wrap;
cursor: pointer;
overflow: hidden;
}
.zent-cascader-v2-tag-collapsed-trigger {
background-color: #f7f7f7;
background-color: var(--theme-body-bg, var(--theme-stroke-7, #f7f7f7));
border-color: #e0e0e0;
border-color: var(--theme-default-border-color, var(--theme-stroke-5, #e0e0e0));
border-radius: 2px;
margin: 4px 4px 4px 0;
padding: 0 4px;
line-height: 16px;
font-size: 12px;
display: flex;
align-items: center;
word-break: break-all;
box-sizing: border-box;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
cursor: pointer;
justify-content: center;
flex-shrink: 0;
margin-top: 2px;
margin-bottom: 2px;
}
.zent-cascader-v2-tag-collapsed-content {
font-size: 14px;
line-height: 20px;
max-width: 216px;
max-height: 80px;
overflow-y: auto;
word-break: break-all;
border-color: #e0e0e0;
border-color: var(--theme-default-border-color, var(--theme-stroke-5, #e0e0e0));
}
.zent-cascader-v2 .zenticon-down,
.zent-cascader-v2 .zenticon-close-circle {
position: absolute;
right: 8px;
top: 5px;
font-size: 20px;
}
.zent-cascader-v2 .zenticon-down {
transition: transform 0.25s;
color: #999;
color: var(--theme-hint-color, var(--theme-stroke-2, #999));
}
.zent-cascader-v2 .zenticon-close-circle {
color: rgba(153, 153, 153, 0.6);
color: rgba(var(--theme-rgb-hint-color, var(--theme-rgb-stroke-2, 153, 153, 153)), 0.6);
}
.zent-cascader-v2--active {
border-color: #114bae;
border-color: var(--theme-primary-active-bg, var(--theme-primary-3, #114bae));
}
.zent-cascader-v2--disabled {
cursor: not-allowed;
color: #ccc;
color: var(--theme-disabled-color, var(--theme-stroke-4, #ccc));
border-color: #e0e0e0;
border-color: var(--theme-default-border-color, var(--theme-stroke-5, #e0e0e0));
background-color: #f7f7f7;
background-color: var(--theme-body-bg, var(--theme-stroke-8, #f7f7f7));
}
.zent-cascader-v2--disabled:hover {
color: #ccc;
color: var(--theme-disabled-color, var(--theme-stroke-4, #ccc));
border-color: #e0e0e0;
border-color: var(--theme-default-border-color, var(--theme-stroke-5, #e0e0e0));
background-color: #f7f7f7;
background-color: var(--theme-body-bg, var(--theme-stroke-8, #f7f7f7));
box-shadow: none;
}
.zent-cascader-v2--disabled .zenticon-down {
color: #ccc;
color: var(--theme-disabled-color, var(--theme-stroke-4, #ccc));
}
.zent-cascader-v2--placeholder {
color: #ccc;
color: var(--theme-disabled-color, var(--theme-stroke-4, #ccc));
}
.zent-cascader-v2--text {
display: inline-block;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
max-width: 100%;
}
.zent-cascader-v2--multiple {
padding-top: 4px;
padding-bottom: 4px;
}
.zent-cascader-v2--multiple .zent-cascader-v2--tag + .zent-cascader-v2--search {
margin-top: 2px;
}
.zent-cascader-v2--multiple .zent-cascader-v2--placeholder {
line-height: 22px;
}
.zent-cascader-v2--multiple-collapsed {
display: flex;
flex-wrap: nowrap;
}
.zent-cascader-v2--search-empty, .zent-cascader-v2__menu-empty {
height: 48px;
display: flex;
align-items: center;
justify-content: center;
color: #ccc;
color: var(--theme-disabled-color, var(--theme-stroke-4, #ccc));
}
.zent-cascader-v2--search-empty {
width: 100%;
}
.zent-cascader-v2__menu-empty {
width: 240px;
}
.zent-cascader-v2--search {
outline: none;
border: 0;
margin: 0;
padding: 0;
min-width: 0;
width: 100%;
}
.zent-cascader-v2--search::-webkit-input-placeholder {
color: #ccc;
color: var(--theme-disabled-color, var(--theme-stroke-4, #ccc));
}
.zent-cascader-v2--search::placeholder {
color: #ccc;
color: var(--theme-disabled-color, var(--theme-stroke-4, #ccc));
}
.zent-cascader-v2--search-item {
color: #333;
color: var(--theme-title-color, var(--theme-stroke-1, #333));
font-size: 14px;
cursor: pointer;
white-space: nowrap;
position: relative;
height: 32px;
line-height: 32px;
text-align: left;
padding: 0 10px;
box-sizing: border-box;
width: 100%;
overflow: hidden;
text-overflow: ellipsis;
}
.zent-cascader-v2--search-item:hover {
background-color: #e6efff;
background-color: var(--theme-default-selected-bg, var(--theme-primary-8, #e6efff));
}
.zent-cascader-v2--search-item--disabled {
color: #ccc;
color: var(--theme-disabled-color, var(--theme-stroke-4, #ccc));
cursor: not-allowed;
}
.zent-cascader-v2--search-item--disabled:hover {
background-color: #fff;
background-color: var(--theme-section-bg, var(--theme-stroke-9, #fff));
}
.zent-cascader-v2--search-item--multiple {
cursor: initial;
}
.zent-cascader-v2--search-item .zent-cascader-v2--highlight {
font-style: normal;
background-color: initial;
color: #155bd4;
color: var(--theme-primary-bg, var(--theme-primary-4, #155bd4));
}
.zent-cascader-v2__menu {
border-right: #e0e0e0;
border-right: var(--theme-default-border-color, var(--theme-stroke-6, #e0e0e0));
display: inline-block;
vertical-align: top;
min-width: 111px;
height: 180px;
list-style: none;
margin: 0;
padding: 0;
border-right-width: 1px;
border-right-style: solid;
overflow: auto;
}
.zent-cascader-v2__menu:last-child {
border-right: 0;
}
.zent-cascader-v2__menu-item {
color: #333;
color: var(--theme-title-color, var(--theme-stroke-1, #333));
font-size: 14px;
cursor: pointer;
white-space: nowrap;
transition: all 0.3s;
position: relative;
height: 32px;
line-height: 32px;
text-align: left;
padding: 0 30px 0 12px;
box-sizing: border-box;
width: 240px;
max-width: 360px;
overflow: hidden;
text-overflow: ellipsis;
display: flex;
}
.zent-cascader-v2__menu-item--leaf {
padding-right: 10px;
}
.zent-cascader-v2__menu-item-label {
display: inline-block;
vertical-align: middle;
max-width: 100%;
overflow: hidden;
text-overflow: ellipsis;
}
.zent-cascader-v2__menu-item-icon {
position: absolute;
right: 8px;
top: 50%;
transform: translateY(-50%);
font-size: 18px;
color: #999;
color: var(--theme-hint-color, var(--theme-stroke-3, #999));
}
.zent-cascader-v2__menu-item-loading {
border-style: solid;
border-color: #155bd4;
border-color: var(--theme-primary-bg, var(--theme-primary-4, #155bd4));
border-width: 1px;
width: 12px;
height: 12px;
margin-top: -6px;
position: absolute;
display: inline-block;
animation: zent-ani-spin 1s infinite linear;
border-radius: 50%;
right: 10px;
top: 50%;
border-top-color: transparent;
box-sizing: border-box;
}
.zent-cascader-v2__menu-item:hover {
background-color: #f7f7f7;
background-color: var(--theme-body-bg, var(--theme-stroke-8, #f7f7f7));
}
.zent-cascader-v2__menu-item--active:not(.zent-cascader-v2__menu-item--multiple) {
background-color: #e6efff;
background-color: var(--theme-default-selected-bg, var(--theme-primary-8, #e6efff));
}
.zent-cascader-v2__menu-item--active:not(.zent-cascader-v2__menu-item--multiple--checkbox) {
font-weight: 500;
}
.zent-cascader-v2__menu-item--disabled {
color: #ccc;
color: var(--theme-disabled-color, var(--theme-stroke-4, #ccc));
cursor: not-allowed;
}
.zent-cascader-v2__menu-item--disabled:hover {
background-color: #fff;
background-color: var(--theme-section-bg, var(--theme-stroke-9, #fff));
}
.zent-cascader-v2__menu-item--multiple--normal {
cursor: pointer;
}
.zent-cascader-v2__menu-item--multiple--checkbox {
cursor: initial;
}
.zent-cascader-v2__menu .zent-checkbox-wrap {
margin-right: 8px;
}
.zent-cascader-v2__menu-scroller {
height: 180px;
}
.zent-cascader-v2__menu-scroller-loading.zent-loading {
text-align: center;
font-size: 12px;
display: flex;
align-items: center;
justify-content: center;
padding: 7px 0;
}
.zent-cascader-v2--tag {
border-color: #e0e0e0;
border-color: var(--theme-default-border-color, var(--theme-stroke-5, #e0e0e0));
border-width: 1px;
border-style: solid;
border-radius: 2px;
margin: 2px 4px 2px 0;
padding-left: 4px;
line-height: 16px;
font-size: 12px;
display: flex;
align-items: center;
cursor: default;
overflow: hidden;
}
.zent-cascader-v2--tag-path {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.zent-cascader-v2--tag-close {
color: #999;
color: var(--theme-hint-color, var(--theme-stroke-3, #999));
cursor: pointer;
font-size: 16px;
}
.zent-cascader-v2__list {
font-size: 0;
padding: 12px 0 12px 12px;
min-height: 215px;
box-sizing: border-box;
}
.zent-cascader-v2__list-item {
display: inline-block;
box-sizing: border-box;
margin: 4px 4px;
}
.zent-cascader-v2__list-link {
cursor: pointer;
display: inline-block;
font-size: 14px;
padding: 0 8px;
line-height: 24px;
vertical-align: middle;
width: 114px;
box-sizing: border-box;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.zent-cascader-v2__list-link:hover:not(.zent-cascader-v2__list-link--active) {
background-color: #f7f7f7;
background-color: var(--theme-body-bg, var(--theme-stroke-8, #f7f7f7));
}
.zent-cascader-v2__list-link--active {
background-color: #e6efff;
background-color: var(--theme-default-selected-bg, var(--theme-primary-8, #e6efff));
color: #333;
color: var(--theme-title-color, var(--theme-stroke-1, #333));
font-weight: 500;
border-radius: 2px;
}
.zent-cascader-v2__tabs .zent-tabs-nav {
margin-bottom: 0;
}
.zent-cascader-v2__tabs .zent-tabs-nav-content {
height: auto;
}
.zent-cascader-v2__tabs .zent-tabs-panel-wrapper {
margin-top: 0;
}
.zent-cascader-v2__tabs .zent-tabs-tab {
border-radius: 0;
}
.zent-cascader-v2__tabs .zent-tabs-tab-inner {
max-width: 96px;
overflow: hidden;
text-overflow: ellipsis;
}
.zent-cascader-v2__popup {
z-index: 2000;
}
.zent-cascader-v2__popup-inner {
background-color: #fff;
background-color: var(--theme-section-bg, var(--theme-stroke-9, #fff));
box-shadow: 0 2px 16px 0 rgba(0, 0, 0, 0.1);
box-shadow: var(--shadow-spec-layer, 0 2px 16px 0 rgba(var(--theme-rgb-shadow-bg, 0, 0, 0), 0.1));
width: 512px;
box-sizing: border-box;
}
.zent-cascader-v2__popup-inner-menu, .zent-cascader-v2__popup-inner-search {
width: auto;
white-space: nowrap;
}
.zent-cascader-v2__popup-inner-search {
max-height: 180px;
overflow-y: auto;
width: 240px;
}
.zent-cascader-v2__loading {
position: relative;
vertical-align: middle;
}
.zent-cascader-v2__loading-label {
line-height: 16px;
display: inline-block;
vertical-align: middle;
max-width: 78px;
overflow: hidden;
text-overflow: ellipsis;
}
.zent-cascader-v2__loading-icon {
border-color: #114bae;
border-color: var(--theme-primary-active-bg, var(--theme-primary-3, #114bae));
display: inline-block;
position: relative;
vertical-align: middle;
height: 12px;
width: 12px;
border-radius: 50%;
border-width: 1px;
border-style: solid;
margin-left: 5px;
}
.zent-cascader-v2__loading-icon:after {
background: #fff;
background: var(--theme-section-bg, var(--theme-stroke-9, #fff));
content: "";
display: inline-block;
position: absolute;
height: 10px;
width: 4px;
animation: 1s linear zent-ani-spin infinite;
transform-origin: 8px 3px;
left: -1px;
top: 4px;
}