@whitesev/pops
Version:
弹窗库,包含了alert、confirm、prompt、drawer、folder、loading、iframe、panel、tooltip、searchSuggestion、rightClickMenu组件
1,405 lines (1,346 loc) • 44.6 kB
CSS
.pops[type-value="panel"] {
--pops-bg-color: #f2f2f2;
--pops-color: #333333;
--panel-title-bg-color: #ffffff;
--panel-aside-bg-color: #ffffff;
--panel-aside-hover-color: rgb(64, 158, 255);
--panel-aside-hover-bg-color: rgba(64, 158, 255, 0.1);
--pops-panel-forms-margin-top-bottom: 10px;
--pops-panel-forms-margin-left-right: 20px;
--pops-panel-forms-header-icon-size: calc(var(--pops-panel-forms-container-li-padding-left-right) + 1px);
--pops-panel-forms-header-padding-top-bottom: 15px;
--pops-panel-forms-header-padding-left-right: 10px;
--pops-panel-forms-container-item-left-text-gap: 6px;
--pops-panel-forms-container-item-left-desc-text-size: 0.8em;
--pops-panel-forms-container-item-left-desc-text-color: #6c6c6c;
--pops-panel-forms-container-item-bg-color: #ffffff;
--pops-panel-forms-container-item-title-color: #333;
--pops-panel-forms-container-item-border-radius: 6px;
--pops-panel-forms-container-item-margin-top-bottom: 10px;
--pops-panel-forms-container-item-margin-left-right: var(--pops-panel-forms-margin-left-right);
--pops-panel-forms-container-li-border-color: var(--pops-bd-color);
--pops-panel-forms-container-li-padding-top-bottom: 12px;
--pops-panel-forms-container-li-padding-left-right: 16px;
--pops-panel-forms-container-deepMenu-item-active-bg: #e9e9e9;
}
.pops[type-value="panel"] {
color: var(--pops-color);
background: var(--pops-bg-color);
}
.pops[type-value] .pops-panel-title {
background: var(--panel-title-bg-color);
}
/* ↓panel的CSS↓ */
/* 左侧的列表 */
aside.pops-panel-aside {
box-sizing: border-box;
flex-shrink: 0;
max-width: 200px;
min-width: 100px;
height: 100%;
background: var(--panel-aside-bg-color);
border-right: 1px solid var(--panel-aside-bg-color);
font-size: 0.9em;
display: flex;
flex-direction: column;
justify-content: space-between;
}
aside.pops-panel-aside .pops-panel-aside-top-container {
overflow: auto;
}
aside.pops-panel-aside ul li {
margin: 6px 8px;
border-radius: 4px;
padding: 6px 10px;
cursor: default;
display: flex;
align-items: center;
justify-content: flex-start;
}
aside.pops-panel-aside .pops-is-visited,
aside.pops-panel-aside ul li:not(.pops-panel-disabled-aside-hover-css):hover {
color: var(--panel-aside-hover-color);
background: var(--panel-aside-hover-bg-color);
}
/* 左侧的列表 */
/* 底部的容器 */
.pops-panel-bottom-wrapper {
background: var(--panel-aside-bg-color);
border-top: 1px solid #ebeef5;
}
.pops-panel-bottom-wrapper:has(.pops-panel-bottom-left-container:empty):has(.pops-panel-bottom-right-container:empty) {
border-top: 0;
}
.pops-panel-bottom-container {
display: flex;
flex-wrap: nowrap;
justify-content: space-between;
}
.pops-panel-bottom-left-container {
}
.pops-panel-bottom-right-container {
}
.pops-panel-bottom-wrapper .pops-panel-bottom-item {
list-style-type: none;
margin: 6px 8px;
border-radius: 4px;
padding: 6px 10px;
cursor: default;
}
.pops-panel-bottom-wrapper:not(.pops-panel-disable-bottom-item-hover-css) .pops-panel-bottom-item:hover {
color: var(--panel-aside-hover-color);
background: var(--panel-aside-hover-bg-color);
}
/* 底部的容器 */
.pops-panel-content {
display: flex;
flex-direction: row;
flex: 1;
overflow: auto;
flex-basis: auto;
box-sizing: border-box;
min-width: 0;
bottom: 0 ;
}
.pops-panel-section-wrapper {
width: 100%;
overflow: hidden;
display: flex;
flex-direction: column;
}
section.pops-panel-container {
width: 100%;
overflow: hidden;
display: flex;
flex-direction: column;
}
section.pops-panel-container .pops-panel-container-header-ul,
section.pops-panel-container .pops-panel-deepMenu-container-header-ul {
border-bottom: 1px solid rgba(223, 223, 223, var(--pops-bg-opacity));
flex: 0 auto;
}
section.pops-panel-container .pops-panel-container-header-ul li,
section.pops-panel-container .pops-panel-container-header-ul li.pops-panel-container-header-title-text {
display: flex;
justify-content: flex-start ;
margin: 0px ;
padding: var(--pops-panel-forms-header-padding-top-bottom)
calc(var(--pops-panel-forms-margin-left-right) + var(--pops-panel-forms-container-li-padding-left-right));
text-align: left;
}
section.pops-panel-container ul.pops-panel-container-main-ul {
overflow: auto;
/*flex: 1;*/
}
section.pops-panel-container > ul li:not(.pops-panel-forms-container-item) {
display: flex;
justify-content: space-between;
align-items: center;
margin: var(--pops-panel-forms-margin-top-bottom)
calc(var(--pops-panel-forms-margin-left-right) + var(--pops-panel-forms-margin-left-right));
gap: 10px;
}
section.pops-panel-container .pops-panel-forms-container-item-header-text {
margin: 10px;
margin-left: calc(
var(--pops-panel-forms-margin-left-right) + var(--pops-panel-forms-container-li-padding-left-right)
);
font-size: 0.9em;
text-align: left;
color: var(--pops-panel-forms-container-item-title-color);
}
section.pops-panel-container li.pops-panel-forms-container-item {
/* 去除<li>左侧的圆点 */
display: block;
}
section.pops-panel-container .pops-panel-forms-container-item ul.pops-panel-forms-container-item-formlist {
border-radius: var(--pops-panel-forms-container-item-border-radius);
background: var(--pops-panel-forms-container-item-bg-color);
margin: var(--pops-panel-forms-container-item-margin-top-bottom) var(--pops-panel-forms-margin-left-right);
}
section.pops-panel-container .pops-panel-forms-container-item ul.pops-panel-forms-container-item-formlist li {
display: flex;
justify-content: space-between;
align-items: center;
padding: var(--pops-panel-forms-container-li-padding-top-bottom)
var(--pops-panel-forms-container-li-padding-left-right);
margin: 0px 0px;
border-bottom: 1px solid var(--pops-panel-forms-container-li-border-color);
text-align: left;
}
/*section.pops-panel-container
.pops-panel-forms-container-item
ul
li.pops-panel-deepMenu-nav-item {
padding: var(--pops-panel-forms-container-li-padding-top-bottom) 0px;
margin: 0px var(--pops-panel-forms-container-li-padding-left-right);
border-bottom: 1px solid var(--pops-panel-forms-container-li-border-color);
}*/
section.pops-panel-container
.pops-panel-forms-container-item
ul.pops-panel-forms-container-item-formlist
li:last-child {
border: 0px;
}
/* 左侧的文字 */
section.pops-panel-container .pops-panel-item-left-text {
display: flex;
flex-direction: column;
gap: var(--pops-panel-forms-container-item-left-text-gap);
}
/* 左侧的主文字 */
/*section.pops-panel-container .pops-panel-item-left-main-text {
}*/
/* 左侧的描述文字 */
section.pops-panel-container .pops-panel-item-left-desc-text {
font-size: var(--pops-panel-forms-container-item-left-desc-text-size);
color: var(--pops-panel-forms-container-item-left-desc-text-color);
}
/* 折叠面板 */
section.pops-panel-container .pops-panel-forms-fold {
border-radius: var(--pops-panel-forms-container-item-border-radius);
background: var(--pops-panel-forms-container-item-bg-color);
margin: var(--pops-panel-forms-margin-top-bottom) var(--pops-panel-forms-margin-left-right);
}
section.pops-panel-container .pops-panel-forms-fold .pops-panel-forms-fold-container {
display: flex;
align-items: center;
fill: #6c6c6c;
justify-content: space-between;
margin: 0px var(--pops-panel-forms-container-li-padding-left-right) ;
padding: var(--pops-panel-forms-container-li-padding-top-bottom) 0px ;
}
section.pops-panel-container .pops-panel-forms-fold[data-fold-enable] .pops-panel-forms-fold-container-icon {
transform: rotate(90deg);
}
section.pops-panel-container .pops-panel-forms-fold .pops-panel-forms-fold-container-icon {
width: 15px;
height: 15px;
display: flex;
align-items: center;
transform: rotate(-90deg);
transition: transform 0.3s;
}
/* 折叠状态 */
section.pops-panel-container .pops-panel-forms-fold[data-fold-enable] .pops-panel-forms-container-item-formlist {
height: 0;
}
/* 非折叠状态 */
section.pops-panel-container .pops-panel-forms-fold ul.pops-panel-forms-container-item-formlist {
margin: 0;
}
section.pops-panel-container .pops-panel-forms-fold .pops-panel-forms-container-item-formlist {
transition: height 0.3s;
overflow: hidden;
border-radius: unset;
background: unset;
margin: 0;
height: calc-size(auto, size);
}
/* 折叠面板 */
/* 姑且认为小于600px的屏幕为移动端 */
@media (max-width: 600px) {
/* 兼容移动端CSS */
.pops[type-value="panel"] {
--pops-panel-forms-margin-left-right: 10px;
}
.pops[type-value="panel"] {
width: 92%;
width: 92vw;
width: 92dvw;
}
.pops[type-value="panel"] .pops-panel-content aside.pops-panel-aside {
max-width: 20%;
min-width: auto;
}
.pops[type-value="panel"] section.pops-panel-container .pops-panel-forms-container-item > div {
text-align: left;
--pops-panel-forms-margin-left-right: 0px;
}
.pops[type-value="panel"] section.pops-panel-container .pops-panel-forms-container-item ul {
margin: 0px ;
}
.pops[type-value="panel"] section.pops-panel-container > ul > li {
margin: 10px 10px;
}
.pops[type-value="panel"] section.pops-panel-container > ul > li div:nth-child(2) {
max-width: 55%;
}
.pops[type-value="panel"] .pops-panel-select .el-select__selected-item.el-select__placeholder {
max-width: -moz-available;
max-width: -webkit-fill-available;
}
.pops[type-value="panel"] section.pops-panel-container > ul > li .pops-panel-input span.pops-panel-input__suffix {
padding: 0 4px;
}
.pops[type-value="panel"] section.pops-panel-container .pops-panel-select select {
min-width: 88px ;
width: -moz-available;
width: -webkit-fill-available;
}
.pops[type-value="panel"] section.pops-panel-container .pops-panel-container-header-ul li {
font-size: 16px;
}
.pops[type-value="panel"] .pops-panel-title p[pops],
.pops[type-value="panel"] section.pops-panel-container > ul li,
.pops[type-value="panel"] aside.pops-panel-aside ul li {
font-size: 14px;
}
}
/* switch的CSS */
.pops-panel-switch {
--panel-switch-core-bd-color: rgb(220, 223, 230, var(--pops-bd-opacity));
--panel-switch-core-bg-color: rgb(220, 223, 230, var(--pops-bg-opacity));
--panel-switch-circle-color: #dcdfe6;
--panel-switch-circle-bg-color: rgb(255, 255, 255, var(--pops-bg-opacity));
--panel-switch-checked-circle-color: #409eff;
--panel-switch-checked-core-bd-color: rgb(64, 158, 255, var(--pops-bd-opacity));
--panel-switch-checked-core-bg-color: rgb(64, 158, 255, var(--pops-bg-opacity));
}
.pops-panel-switch {
display: inline-flex;
flex-direction: row-reverse;
align-items: center;
position: relative;
font-size: 14px;
line-height: normal;
align-content: center;
height: 32px;
vertical-align: middle;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.pops-panel-switch input.pops-panel-switch__input {
position: absolute;
width: 0;
height: 0;
opacity: 0;
margin: 0;
}
.pops-panel-switch:has(input.pops-panel-switch__input:disabled),
.pops-panel-switch[data-disabled],
.pops-panel-switch[data-disabled] .pops-panel-switch__core,
.pops-panel-switch input.pops-panel-switch__input:disabled + .pops-panel-switch__core {
cursor: not-allowed;
opacity: 0.6;
}
.pops-panel-switch span.pops-panel-switch__core {
display: inline-flex;
position: relative;
align-items: center;
min-width: 40px;
height: 20px;
border: 1px solid var(--panel-switch-core-bd-color);
outline: 0;
border-radius: 10px;
box-sizing: border-box;
background: var(--panel-switch-core-bg-color);
cursor: pointer;
transition:
border-color 0.3s,
background-color 0.3s;
}
.pops-panel-switch .pops-panel-switch__action {
position: absolute;
left: 1px;
border-radius: 100%;
transition: all 0.3s;
width: 16px;
height: 16px;
display: flex;
justify-content: center;
align-items: center;
background-color: var(--panel-switch-circle-bg-color);
color: var(--panel-switch-circle-color);
}
.pops-panel-switch.pops-panel-switch-is-checked span.pops-panel-switch__core {
border-color: var(--panel-switch-checked-core-bd-color);
background-color: var(--panel-switch-checked-core-bg-color);
}
.pops-panel-switch.pops-panel-switch-is-checked .pops-panel-switch__action {
left: calc(100% - 17px);
color: var(--panel-switch-checked-circle-color);
}
/* switch的CSS */
/* slider旧的CSS */
section.pops-panel-container .pops-panel-slider:has(> input[type="range"]) {
overflow: hidden;
height: 25px;
line-height: normal;
align-content: center;
display: flex;
align-items: center;
}
section.pops-panel-container .pops-panel-slider input[type="range"] {
height: 6px;
background: rgb(228, 231, 237, var(--pops-bg-opacity));
outline: 0;
-webkit-appearance: none;
appearance: none;
width: 100%;
}
section.pops-panel-container .pops-panel-slider input[type="range"]::-webkit-slider-thumb {
width: 20px;
height: 20px;
border-radius: 50%;
border: 1px solid rgb(64, 158, 255, var(--pops-bd-opacity));
background-color: rgb(255, 255, 255, var(--pops-bg-opacity));
box-shadow:
0 0 2px rgba(0, 0, 0, 0.3),
0 3px 5px rgba(0, 0, 0, 0.2);
cursor: pointer;
-webkit-appearance: none;
appearance: none;
border-image: linear-gradient(#409eff, #409eff) 0 fill/9 25 9 0/0 0 0 100vw;
}
section.pops-panel-container .pops-panel-slider input[type="range"]::-moz-range-thumb {
width: 20px;
height: 20px;
border-radius: 50%;
border: 1px solid rgb(64, 159, 255, var(--pops-bd-opacity));
background-color: rgb(255, 255, 255, var(--pops-bg-opacity));
box-shadow:
0 0 2px rgba(0, 0, 0, 0.3),
0 3px 5px rgba(0, 0, 0, 0.2);
cursor: pointer;
-webkit-appearance: none;
appearance: none;
}
section.pops-panel-container .pops-panel-slider input[type="range"]::-moz-range-progress {
height: 6px;
border-image: linear-gradient(#409eff, #409eff) 0 fill/9 25 9 0/0 0 0 100vw;
}
/* slider旧的CSS */
/* slider的CSS */
.pops-slider {
--pops-slider-color-white: #ffffff;
--pops-slider-color-primary: #409eff;
--pops-slider-color-info: #909399;
--pops-slider-text-color-placeholder: #a8abb2;
--pops-slider-border-color-light: #e4e7ed;
--pops-slider-border-radius-circle: 100%;
--pops-slider-transition-duration-fast: 0.2s;
--pops-slider-main-bg-color: var(--pops-slider-color-primary);
--pops-slider-runway-bg-color: var(--pops-slider-border-color-light);
--pops-slider-stop-bg-color: var(--pops-slider-color-white);
--pops-slider-disabled-color: var(--pops-slider-text-color-placeholder);
--pops-slider-border-radius: 3px;
--pops-slider-height: 6px;
--pops-slider-button-size: 20px;
--pops-slider-button-wrapper-size: 36px;
--pops-slider-button-wrapper-offset: -15px;
}
.pops-slider {
width: 100%;
height: 32px;
display: flex;
align-items: center;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.pops-slider-width {
flex: 0 0 52%;
margin-left: 10px;
}
.pops-slider__runway {
flex: 1;
height: var(--pops-slider-height);
background-color: var(--pops-slider-runway-bg-color);
border-radius: var(--pops-slider-border-radius);
position: relative;
cursor: pointer;
}
.pops-slider__runway.show-input {
margin-right: 30px;
width: auto;
}
.pops-slider__runway.pops-slider-is-disabled {
cursor: default;
}
.pops-slider__runway.pops-slider-is-disabled .pops-slider__bar {
background-color: var(--pops-slider-disabled-color);
}
.pops-slider__runway.pops-slider-is-disabled .pops-slider__button {
border-color: var(--pops-slider-disabled-color);
}
.pops-slider__runway.pops-slider-is-disabled .pops-slider__button:hover,
.pops-slider__runway.pops-slider-is-disabled .pops-slider__button.hover,
.pops-slider__runway.pops-slider-is-disabled .pops-slider__button.dragging {
cursor: not-allowed;
}
.pops-slider__runway.pops-slider-is-disabled .pops-slider__button:hover,
.pops-slider__runway.pops-slider-is-disabled .pops-slider__button.hover,
.pops-slider__runway.pops-slider-is-disabled .pops-slider__button.dragging {
transform: scale(1);
}
.pops-slider__runway.pops-slider-is-disabled .pops-slider__button:hover,
.pops-slider__runway.pops-slider-is-disabled .pops-slider__button.hover,
.pops-slider__runway.pops-slider-is-disabled .pops-slider__button.dragging {
cursor: not-allowed;
}
.pops-slider__input {
flex-shrink: 0;
width: 130px;
}
.pops-slider__bar {
height: var(--pops-slider-height);
background-color: var(--pops-slider-main-bg-color);
border-top-left-radius: var(--pops-slider-border-radius);
border-bottom-left-radius: var(--pops-slider-border-radius);
position: absolute;
}
.pops-slider__button-wrapper {
height: var(--pops-slider-button-wrapper-size);
width: var(--pops-slider-button-wrapper-size);
position: absolute;
z-index: 1;
top: var(--pops-slider-button-wrapper-offset);
transform: translate(-50%);
background-color: transparent;
text-align: center;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
line-height: normal;
outline: none;
}
.pops-slider__button-wrapper:after {
display: inline-block;
content: "";
height: 100%;
vertical-align: middle;
}
.pops-slider__button:hover,
.pops-slider__button.hover {
cursor: grab;
}
.pops-slider__button {
display: inline-block;
width: var(--pops-slider-button-size);
height: var(--pops-slider-button-size);
vertical-align: middle;
border: solid 2px var(--pops-slider-main-bg-color);
background-color: var(--pops-slider-color-white);
border-radius: 50%;
box-sizing: border-box;
transition: var(--pops-slider-transition-duration-fast);
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.pops-slider__button:hover,
.pops-slider__button.hover,
.pops-slider__button.dragging {
transform: scale(1.2);
}
.pops-slider__button:hover,
.pops-slider__button.hover {
cursor: grab;
}
.pops-slider__button.dragging {
cursor: grabbing;
}
.pops-slider__stop {
position: absolute;
height: var(--pops-slider-height);
width: var(--pops-slider-height);
border-radius: var(--pops-slider-border-radius-circle);
background-color: var(--pops-slider-stop-bg-color);
transform: translate(-50%);
}
.pops-slider__marks {
top: 0;
left: 12px;
width: 18px;
height: 100%;
}
.pops-slider__marks-text {
position: absolute;
transform: translate(-50%);
font-size: 14px;
color: var(--pops-slider-color-info);
margin-top: 15px;
white-space: pre;
}
.pops-slider.is-vertical {
position: relative;
display: inline-flex;
width: auto;
height: 100%;
flex: 0;
}
.pops-slider.is-vertical .pops-slider__runway {
width: var(--pops-slider-height);
height: 100%;
margin: 0 16px;
}
.pops-slider.is-vertical .pops-slider__bar {
width: var(--pops-slider-height);
height: auto;
border-radius: 0 0 3px 3px;
}
.pops-slider.is-vertical .pops-slider__button-wrapper {
top: auto;
left: var(--pops-slider-button-wrapper-offset);
transform: translateY(50%);
}
.pops-slider.is-vertical .pops-slider__stop {
transform: translateY(50%);
}
.pops-slider.is-vertical .pops-slider__marks-text {
margin-top: 0;
left: 15px;
transform: translateY(50%);
}
.pops-slider--large {
height: 40px;
}
.pops-slider--small {
height: 24px;
}
/* slider的CSS */
/* input的CSS */
.pops-panel-input {
--el-disabled-text-color: #a8abb2;
--el-disabled-bg-color: #f5f7fa;
--el-disabled-border-color: #e4e7ed;
--el-color-danger: #f56c6c;
--pops-panel-components-input-border-radius: 4px;
--pops-panel-components-input-text-color: #000000;
--pops-panel-components-input-text-bg-color: transparent;
--pops-panel-components-input-text-default-padding: 8px;
--pops-panel-components-input-bd-color: #dcdfe6;
--pops-panel-components-input-bg-color: #ffffff;
--pops-panel-components-input-hover-bd-color: #c0c4cc;
--pops-panel-components-input-focus-bd-color: #409eff;
--pops-panel-components-input-suffix-color: #a8abb2;
--pops-panel-components-input-suffix-bg-color: #ffffff;
}
.pops-panel-input {
display: flex;
align-items: center;
flex-direction: column;
position: relative;
box-shadow: none;
width: 200px;
border: 0px;
}
.pops-panel-input_inner {
display: flex;
align-items: center;
width: 100%;
border: 1px solid var(--pops-panel-components-input-bd-color);
border-radius: var(--pops-panel-components-input-border-radius);
background-color: var(--pops-panel-components-input-bg-color);
box-shadow: none;
}
.pops-panel-input_inner:hover {
border: 1px solid var(--pops-panel-components-input-hover-bd-color);
}
.pops-panel-input:has(input:disabled):hover {
--pops-panel-components-input-hover-bd-color: var(--pops-panel-components-input-bd-color);
}
.pops-panel-input_inner:has(input:focus) {
outline: 0;
border: 1px solid var(--pops-panel-components-input-focus-bd-color);
border-radius: var(--pops-panel-components-input-border-radius);
box-shadow: none;
}
.pops-panel-input input {
display: inline-flex;
justify-content: center;
text-align: start;
align-items: center;
align-content: center;
white-space: nowrap;
cursor: text;
box-sizing: border-box;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
vertical-align: middle;
-webkit-appearance: none;
appearance: none;
color: var(--pops-panel-components-input-text-color);
background-color: var(--pops-panel-components-input-text-bg-color);
outline: 0;
transition: 0.1s;
border: 0;
font-size: 14px;
font-weight: 500;
line-height: normal;
height: 32px;
width: 100%;
flex: 1;
/*margin-right: calc(1em + 8px);*/
margin: 0px;
padding: var(--pops-panel-components-input-text-default-padding);
}
.pops-panel-input input[type="search"]::-webkit-search-cancel-button {
-webkit-appearance: none;
display: none;
}
/* 颜色选择器不需要那么宽 */
.pops-panel-input:has(input[type="color"]) {
width: 50px;
}
.pops-panel-input input[type="color"] {
padding: 0px;
}
.pops-panel-input_inner:has(input[type="file"]) {
border: 0px;
background: transparent;
}
.pops-panel-input input[type="file"] {
padding: 0px;
line-height: 32px;
}
.pops-panel-input span.pops-panel-input__suffix {
display: inline-flex;
white-space: nowrap;
flex-shrink: 0;
flex-wrap: nowrap;
height: 100%;
height: -moz-available;
height: -webkit-fill-available;
text-align: center;
color: var(--pops-panel-components-input-suffix-color);
background: var(--pops-panel-components-input-suffix-bg-color);
transition: all 0.3s;
pointer-events: none;
padding: 0 8px;
position: relative;
right: 0px;
border-top-right-radius: 4px;
border-bottom-right-radius: 4px;
border: 1px solid transparent;
}
.pops-panel-input span.pops-panel-input__suffix-inner {
pointer-events: all;
display: inline-flex;
align-items: center;
justify-content: center;
}
/* 如果包含清空图标的按钮,则默认隐藏清空图标,当:hover、:focus、:focus-within、:active时显示清空图标 */
.pops-panel-input span.pops-panel-input__suffix:has(svg[data-type="circleClose"]) {
display: none;
}
.pops-panel-input:hover span.pops-panel-input__suffix:has(svg[data-type="circleClose"]),
.pops-panel-input:focus span.pops-panel-input__suffix:has(svg[data-type="circleClose"]),
.pops-panel-input:focus-within span.pops-panel-input__suffix:has(svg[data-type="circleClose"]),
.pops-panel-input:active span.pops-panel-input__suffix:has(svg[data-type="circleClose"]) {
display: inline-flex;
}
/* 当清空图标显示时或查看图标存在时,则隐藏输入框的padding-right */
.pops-panel-input:hover:has(span.pops-panel-input__suffix svg[data-type="circleClose"]) input,
.pops-panel-input:focus:has(span.pops-panel-input__suffix svg[data-type="circleClose"]) input,
.pops-panel-input:focus-within:has(span.pops-panel-input__suffix svg[data-type="circleClose"]) input,
.pops-panel-input:active:has(span.pops-panel-input__suffix svg[data-type="circleClose"]) input,
.pops-panel-input:has(span.pops-panel-input__suffix svg[data-type="view"]) input,
.pops-panel-input:has(span.pops-panel-input__suffix svg[data-type="hide"]) input {
padding-right: 0;
}
.pops-panel-input .pops-panel-icon {
cursor: pointer;
}
.pops-panel-input .pops-panel-icon {
height: inherit;
line-height: normal;
align-content: center;
display: flex;
justify-content: center;
align-items: center;
transition: all 0.3s;
}
.pops-panel-input .pops-panel-icon svg {
height: 1em;
width: 1em;
}
.pops-input-disabled {
background-color: var(--pops-components-is-disabled-bg-color);
border-radius: 4px;
}
.pops-panel-input.pops-input-disabled:hover {
--pops-panel-components-input-hover-bd-color: var(--pops-panel-components-input-bd-color);
}
.pops-panel-input input:disabled,
.pops-panel-input input:disabled + .pops-panel-input__suffix {
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
color: var(--el-disabled-text-color);
-webkit-text-fill-color: var(--el-disabled-text-color);
cursor: not-allowed;
}
.pops-panel-input input:disabled + .pops-panel-input__suffix {
display: none;
}
/* 校验样式 */
.pops-panel-input:has(.pops-panel-input-valid-error) {
--pops-panel-components-input-bd-color: var(--el-color-danger) ;
--pops-panel-components-input-hover-bd-color: var(--pops-panel-components-input-bd-color);
--pops-panel-components-input-focus-bd-color: var(--pops-panel-components-input-bd-color);
}
.pops-panel-input .pops-panel-input-valid-error {
width: 100%;
color: var(--el-color-danger);
font-weight: 500;
font-size: 0.8em;
box-sizing: border-box;
vertical-align: middle;
display: inline-flex;
position: relative;
}
/* input的CSS */
/* textarea的CSS */
.pops-panel-textarea {
--pops-panel-components-textarea-text-color: #000000;
--pops-panel-components-textarea-text-bg-color: #ffffff;
--pops-panel-components-textarea-bd-color: #dcdfe6;
--pops-panel-components-textarea-hover-bd-color: #c0c4cc;
--pops-panel-components-textarea-focus-bd-color: #409eff;
}
.pops-panel-textarea textarea {
width: 100%;
/*vertical-align: bottom;*/
position: relative;
display: block;
resize: none;
padding: 5px 11px;
/*line-height: 1;*/
box-sizing: border-box;
font-size: inherit;
font-family: inherit;
color: var(--pops-panel-components-textarea-text-color);
background-color: var(--pops-panel-components-textarea-text-bg-color);
background-image: none;
-webkit-appearance: none;
appearance: none;
box-shadow: none;
border-radius: 0;
transition: box-shadow 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
border: 1px solid var(--pops-panel-components-textarea-bd-color);
}
.pops-panel-textarea textarea:hover {
border-color: var(--pops-panel-components-textarea-hover-bd-color);
}
.pops-panel-textarea:has(textarea:disabled):hover {
--pops-panel-components-textarea-hover-bd-color: var(--pops-panel-components-textarea-bd-color);
}
.pops-panel-textarea-disable {
--pops-panel-components-textarea-text-bg-color: var(--pops-components-is-disabled-bg-color) ;
--pops-panel-components-textarea-text-color: var(--pops-components-is-disabled-text-color);
}
.pops-panel-textarea-disable textarea {
cursor: not-allowed;
}
.pops-panel-textarea textarea:focus {
outline: 0;
border-color: var(--pops-panel-components-textarea-focus-bd-color);
}
/* textarea的CSS */
/* select的CSS */
.pops-panel-select {
--pops-panel-components-select-disabled-text-color: #a8abb2;
--pops-panel-components-select-text-color: #000000;
--pops-panel-components-select-bd-color: rgb(184, 184, 184, var(--pops-bd-opacity));
--pops-panel-components-select-hover-bd-color: rgb(184, 184, 184, var(--pops-bd-opacity));
--pops-panel-components-select-bg-color: rgb(255, 255, 255, var(--pops-bg-opacity));
}
.pops-panel-select {
border: 0;
}
.pops-panel-select select {
width: 100%;
height: 32px;
line-height: normal;
align-content: center;
min-width: 200px;
border: 1px solid var(--pops-panel-components-select-bd-color);
border-radius: 5px;
text-align: center;
outline: 0;
color: var(--pops-panel-components-select-text-color);
background-color: var(--pops-panel-components-select-bg-color);
box-shadow: none;
}
.pops-panel-select select:hover {
border: 1px solid var(--pops-panel-components-select-hover-bd-color);
}
.pops-panel-select-disable {
--pops-panel-components-select-text-color: var(--pops-components-is-disabled-text-color);
--pops-panel-components-select-bg-color: var(--pops-components-is-disabled-bg-color);
}
.pops-panel-select-disable select {
cursor: not-allowed;
}
.pops-panel-select-disable select:hover {
box-shadow: none;
--pops-panel-components-select-hover-bd-color: var(--pops-panel-components-select-bd-color);
}
.pops-panel-select select:focus {
border: 1px solid rgb(64, 158, 255, var(--pops-bd-opacity));
box-shadow: none;
}
/* select的CSS */
/* select dialog 的CSS */
.pops-panel-select[data-mode="dialog"] {
}
/* select dialog 的CSS */
/* select horizontal 的CSS */
.pops-panel-select[data-mode="horizontal"] {
--pops-panel-components-select-horizontal-selected-text-color: #626aef;
--pops-panel-components-select-horizontal-selected-bg-color: #eff0fd;
}
.pops-panel-select[data-mode="horizontal"] .el-select__wrapper {
padding: 0;
gap: 0;
border: 0;
}
.pops-panel-select[data-mode="horizontal"] .select-item {
flex: 1;
display: flex;
justify-content: center;
align-items: center;
border: 1px solid var(--el-border-color);
height: -moz-available;
height: -webkit-fill-available;
border-left: 0;
}
.pops-panel-select[data-mode="horizontal"] .select-item:hover {
color: var(--el-color-primary);
}
.pops-panel-select[data-mode="horizontal"] .select-item:first-child {
border-left: 1px solid var(--el-border-color);
border-top-left-radius: var(--el-border-radius-base);
border-bottom-left-radius: var(--el-border-radius-base);
}
.pops-panel-select[data-mode="horizontal"] .select-item:last-child {
border-top-right-radius: var(--el-border-radius-base);
border-bottom-right-radius: var(--el-border-radius-base);
}
.pops-panel-select[data-mode="horizontal"] .select-item.select__selected-item {
color: var(--pops-panel-components-select-horizontal-selected-text-color);
background-color: var(--pops-panel-components-select-horizontal-selected-bg-color);
border-color: var(--pops-panel-components-select-horizontal-selected-bg-color);
}
.pops-panel-select[data-mode="horizontal"] .select-item:has(+ .select__selected-item) {
border-right: 0;
}
.pops-panel-select[data-mode="horizontal"] .select-item[disabled] {
color: var(--pops-panel-components-select-disabled-text-color);
--pops-panel-components-select-horizontal-selected-text-color: var(
--pops-panel-components-select-disabled-text-color
);
cursor: not-allowed;
background: unset;
}
/* select horizontal 的CSS */
/* select-multiple的CSS*/
.pops-panel-select-multiple,
.pops-panel-select {
--el-border-radius-base: 4px;
--el-fill-color-blank: #ffffff;
--el-transition-duration: 0.3s;
--el-border-color: #cbcbcb;
--el-text-color-placeholder: #a8abb2;
--color: inherit;
--el-select-input-color: #a8abb2;
--el-select-input-font-size: 14px;
--el-text-color-regular: #606266;
--el-color-info: #909399;
--el-color-info-light-9: #f4f4f5;
--el-color-info-light-8: #e9e9eb;
--el-color-primary-light-9: #ecf5ff;
--el-color-primary-light-8: #d9ecff;
--el-color-primary: #409eff;
--el-color-white: #ffffff;
width: 200px;
}
.pops-panel-select .el-select__wrapper,
.pops-panel-select-multiple .el-select__wrapper {
display: flex;
align-items: center;
position: relative;
box-sizing: border-box;
cursor: pointer;
text-align: left;
font-size: 14px;
padding: 4px 12px;
gap: 6px;
min-height: 32px;
line-height: normal;
align-content: center;
border-radius: var(--el-border-radius-base);
background-color: var(--el-fill-color-blank);
transition: var(--el-transition-duration);
transform: translateZ(0);
border: 1px solid var(--el-border-color);
}
.pops-panel-select .el-select__wrapper.is-focused,
.pops-panel-select-multiple .el-select__wrapper.is-focused {
--el-border-color: var(--el-color-primary);
}
.pops-panel-select .el-select__selection,
.pops-panel-select-multiple .el-select__selection {
position: relative;
display: flex;
flex-wrap: wrap;
align-items: center;
flex: 1;
min-width: 0;
gap: 6px;
}
.pops-panel-select .el-select__selection[data-selected-text-align="left"] {
justify-content: left;
}
.pops-panel-select .el-select__selection[data-selected-text-align="center"] {
justify-content: center;
}
.pops-panel-select .el-select__selection[data-selected-text-align="right"] {
justify-content: right;
}
.pops-panel-select .el-select__selected-item,
.pops-panel-select-multiple .el-select__selected-item {
display: flex;
flex-wrap: wrap;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.pops-panel-select .el-select__selected-item span {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.pops-panel-select .el-select__selected-item.el-select__choose_tag .el-tag,
.pops-panel-select-multiple .el-select__selected-item.el-select__choose_tag .el-tag {
max-width: 200px;
}
.pops-panel-select .el-select__input-wrapper,
.pops-panel-select-multiple .el-select__input-wrapper {
max-width: 100%;
}
.pops-panel-select .el-select__selection.is-near,
.pops-panel-select-multiple .el-select__selection.is-near {
margin-left: -8px;
}
.pops-panel-select .el-select__placeholder,
.pops-panel-select-multiple .el-select__placeholder {
position: absolute;
display: block;
top: 50%;
transform: translateY(-50%);
width: 100%;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
color: var(--el-input-text-color, var(--el-text-color-regular));
}
.pops-panel-select .el-select__placeholder.is-transparent,
.pops-panel-select-multiple .el-select__placeholder.is-transparent {
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
color: var(--el-text-color-placeholder);
}
.pops-panel-select .el-select__prefix,
.pops-panel-select .el-select__suffix,
.pops-panel-select-multiple .el-select__prefix,
.pops-panel-select-multiple .el-select__suffix {
display: flex;
align-items: center;
flex-shrink: 0;
gap: 6px;
color: var(--el-input-icon-color, var(--el-text-color-placeholder));
}
.pops-panel-select .el-icon,
.pops-panel-select-multiple .el-icon {
--color: inherit;
height: 1em;
width: 1em;
line-height: normal;
align-content: center;
display: inline-flex;
justify-content: center;
align-items: center;
position: relative;
fill: currentColor;
color: var(--color);
font-size: inherit;
}
.pops-panel-select .el-icon svg,
.pops-panel-select-multiple .el-icon svg {
height: 1em;
width: 1em;
}
.pops-panel-select .el-select__caret,
.pops-panel-select-multiple .el-select__caret {
color: var(--el-select-input-color);
font-size: var(--el-select-input-font-size);
transition: transform var(--el-transition-duration);
transform: rotate(0);
cursor: pointer;
}
/* 把箭头旋转 */
.pops-panel-select[data-show-option] .el-select__caret,
.pops-panel-select-multiple[data-show-option] .el-select__caret {
transform: rotate(180deg);
}
.pops-panel-select-multiple .el-tag {
--el-tag-font-size: 12px;
--el-tag-border-radius: 4px;
--el-tag-border-radius-rounded: 9999px;
}
.pops-panel-select-multiple .el-tag {
background-color: var(--el-tag-bg-color);
border-color: var(--el-tag-border-color);
color: var(--el-tag-text-color);
display: inline-flex;
justify-content: center;
align-items: center;
vertical-align: middle;
height: 24px;
padding: 0 9px;
font-size: var(--el-tag-font-size);
line-height: normal;
align-content: center;
border-width: 1px;
border-style: solid;
border-radius: var(--el-tag-border-radius);
box-sizing: border-box;
white-space: nowrap;
--el-icon-size: 14px;
--el-tag-bg-color: var(--el-color-primary-light-9);
--el-tag-border-color: var(--el-color-primary-light-8);
--el-tag-hover-color: var(--el-color-primary);
}
.pops-panel-select-multiple .el-select__selection .el-tag {
cursor: pointer;
border-color: transparent;
}
.pops-panel-select-multiple .el-tag.el-tag--info {
--el-tag-bg-color: var(--el-color-info-light-9);
--el-tag-border-color: var(--el-color-info-light-8);
--el-tag-hover-color: var(--el-color-info);
}
.pops-panel-select-multiple .el-tag.el-tag--info {
--el-tag-text-color: var(--el-color-info);
}
.pops-panel-select-multiple .el-tag.is-closable {
padding-right: 5px;
}
.pops-panel-select-multiple .el-select__selection .el-tag .el-tag__content {
min-width: 0;
}
.pops-panel-select-multiple .el-tag .el-tag__close {
flex-shrink: 0;
color: var(--el-tag-text-color);
}
.pops-panel-select-multiple .el-tag .el-tag__close:hover {
color: var(--el-color-white);
background-color: var(--el-tag-hover-color);
}
.pops-panel-select-multiple .el-tag .el-icon {
border-radius: 50%;
cursor: pointer;
font-size: calc(var(--el-icon-size) - 2px);
height: var(--el-icon-size);
width: var(--el-icon-size);
}
.pops-panel-select-multiple .el-tag .el-tag__close {
margin-left: 6px;
}
.pops-panel-select-multiple .el-select__tags-text {
display: block;
line-height: normal;
align-content: center;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
/* 禁用样式 */
.pops-panel-select-disable {
--el-fill-color-blank: #f5f7fa;
--color: #a8abb2;
--el-border-color: #cbcbcb;
}
.pops-panel-select-disable .el-tag.el-tag--info {
--el-tag-bg-color: #e7e7e7;
--el-tag-text-color: var(--pops-components-is-disabled-text-color);
}
.pops-panel-select-disable .el-select__selection .el-tag,
.pops-panel-select-disable .el-tag .el-tag__close:hover,
.pops-panel-select-disable .el-select__wrapper,
.pops-panel-select-disable .el-select__caret {
cursor: not-allowed;
}
/* select-multiple的CSS*/
/* deepMenu的css */
.pops-panel-deepMenu-nav-item {
cursor: pointer;
}
.pops-panel-deepMenu-nav-item:active {
background: var(--pops-panel-forms-container-deepMenu-item-active-bg);
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
section.pops-panel-container .pops-panel-forms-container-item ul li.pops-panel-deepMenu-nav-item:active {
padding: var(--pops-panel-forms-container-li-padding-top-bottom)
var(--pops-panel-forms-container-li-padding-left-right);
margin: 0px;
}
/* 去除上个兄弟item的底部边框颜色 */
section.pops-panel-container .pops-panel-forms-container-item ul li:has(+ .pops-panel-deepMenu-nav-item:active) {
border-bottom: 1px solid transparent;
}
/* 第一个和最后一个跟随圆角 */
section.pops-panel-container .pops-panel-forms-container-item ul li.pops-panel-deepMenu-nav-item:first-child:active {
border-top-left-radius: var(--pops-panel-forms-container-item-border-radius);
border-top-right-radius: var(--pops-panel-forms-container-item-border-radius);
}
section.pops-panel-container .pops-panel-forms-container-item ul li.pops-panel-deepMenu-nav-item:last-child:active {
border-bottom-left-radius: var(--pops-panel-forms-container-item-border-radius);
border-bottom-right-radius: var(--pops-panel-forms-container-item-border-radius);
}
.pops-panel-deepMenu-nav-item .pops-panel-deepMenu {
display: flex;
align-items: center;
color: #6c6c6c;
fill: #6c6c6c;
}
.pops-panel-deepMenu-nav-item .pops-panel-deepMenu-arrowRight-icon {
width: 15px;
height: 15px;
display: flex;
align-items: center;
}
section.pops-panel-deepMenu-container .pops-panel-container-header-ul li.pops-panel-deepMenu-container-header {
display: flex;
align-items: center;
width: -moz-available;
width: -webkit-fill-available;
padding: var(--pops-panel-forms-header-padding-top-bottom)
calc(
var(--pops-panel-forms-margin-left-right) + var(--pops-panel-forms-container-li-padding-left-right) -
var(--pops-panel-forms-header-icon-size)
);
gap: 0px;
}
.pops-panel-deepMenu-container .pops-panel-deepMenu-container-left-arrow-icon {
width: var(--pops-panel-forms-header-icon-size);
height: var(--pops-panel-forms-header-icon-size);
display: flex;
align-items: center;
cursor: pointer;
}
/* 修复safari上图标大小未正常显示 */
.pops-panel-deepMenu-container .pops-panel-deepMenu-container-left-arrow-icon > svg {
width: inherit;
height: inherit;
}
/* deepMenu的css */
/* 文字对齐 */
.pops-panel-item-left-desc-text:has(code) {
display: flex;
align-items: baseline;
flex-wrap: wrap;
}
@media (prefers-color-scheme: dark) {
.pops[type-value="panel"] {
--pops-bg-color: #000000;
--pops-color: #f2f2f2;
--panel-title-bg-color: #000000;
--panel-aside-bg-color: #262626;
--pops-panel-forms-container-item-left-desc-text-color: #6c6c6c;
--pops-panel-forms-container-item-bg-color: #262626;
--pops-panel-forms-container-item-title-color: #c1c1c1;
--pops-panel-forms-container-li-border-color: rgb(51, 51, 51, var(--pops-bd-opacity));
--pops-panel-forms-container-deepMenu-item-active-bg: #333333;
}
.pops[type-value="panel"] .pops-panel-deepMenu-container .pops-panel-deepMenu-container-left-arrow-icon {
fill: #f2f2f2;
}
/* switch的CSS */
.pops-panel-switch {
--panel-switch-core-bd-color: rgb(220, 223, 230, var(--pops-bd-opacity));
--panel-switch-core-bg-color: rgb(220, 223, 230, var(--pops-bg-opacity));
--panel-switch-circle-color: #dcdfe6;
--panel-switch-circle-bg-color: rgb(255, 255, 255, var(--pops-bg-opacity));
--panel-switch-checked-circle-color: #409eff;
--panel-switch-checked-core-bd-color: rgb(64, 158, 255, var(--pops-bd-opacity));
--panel-switch-checked-core-bg-color: rgb(64, 158, 255, var(--pops-bg-opacity));
}
/* select的CSS */
.pops-panel-select {
--pops-panel-components-select-text-color: #f2f2f2;
--pops-panel-components-select-bd-color: rgb(51, 51, 51, var(--pops-bd-opacity));
--pops-panel-components-select-bg-color: #141414;
}
/* select-multiple的CSS*/
.pops-panel-select-multiple {
--el-fill-color-blank: #141414;
--el-border-color: #4c4d4f;
--el-text-color-placeholder: #a8abb2;
--el-select-input-color: #a8abb2;
--el-text-color-regular: #606266;
--el-color-info: #909399;
--el-color-info-light-8: #e9e9eb;
--el-color-primary-light-9: #ecf5ff;
--el-color-primary-light-8: #d9ecff;
--el-color-primary: #409eff;
--el-color-white: #ffffff;
}
.pops-panel-select-multiple .el-tag {
--el-color-info-light-9: #202121;
}
.pops-panel-select-multiple-disable {
--el-border-color: rgb(51, 51, 51, var(--pops-bd-opacity));
}
.pops-panel-select-multiple-disable .el-tag.el-tag--info {
--el-tag-bg-color: #2f2f2f;
}
/* select-multiple的CSS*/
/* slider的CSS */
.pops-slider {
--pops-slider-border-color-light: #414243;
}
/* input的CSS */
.pops-panel-input {
--pops-panel-components-input-text-color: #f2f2f2;
--pops-panel-components-input-bd-color: #4f5052;
--pops-panel-components-input-bg-color: #141414;
--pops-panel-components-input-hover-bd-color: #6f7175;
--pops-panel-components-input-focus-bd-color: #409eff;
--pops-panel-components-input-suffix-color: #a8abb2;
--pops-panel-components-input-suffix-bg-color: var(--pops-dark-color);
}
/* textarea的CSS */
.pops-panel-textarea {
--pops-panel-components-textarea-text-color: #f2f2f2;
--pops-panel-components-textarea-text-bg-color: #141414;
--pops-panel-components-textarea-bd-color: #4f5052;
--pops-panel-components-textarea-hover-bd-color: #6f7175;
--pops-panel-components-textarea-focus-bd-color: #409eff;
}
.pops-panel-textarea-disable {
--pops-panel-components-textarea-text-color: var(--pops-components-is-disabled-text-color);
--pops-panel-components-textarea-text-bg-color: var(--pops-components-is-disabled-bg-color);
}
/* slider */
.pops-slider {
--pops-slider-text-color-placeholder: #8d9095;
}
}