zent
Version:
一套前端设计语言和基于React的实现
414 lines (413 loc) • 12.8 kB
CSS
.zent-datepicker {
box-sizing: border-box;
display: inline-block;
position: relative;
}
.zent-datepicker-seperator {
margin: 0 8px;
}
.zent-datepicker .zenticon {
color: #ccc;
color: var(--theme-disabled-color, var(--theme-stroke-4, #ccc));
font-size: 18px;
position: absolute;
right: 10px;
top: 50%;
transform: translateY(-50%);
}
.zent-datepicker .zenticon-calendar-o,
.zent-datepicker .zenticon-clock-o {
display: block;
}
.zent-datepicker .zenticon-close-circle {
display: none;
}
.zent-datepicker-can-clear {
cursor: pointer;
}
.zent-datepicker-can-clear:hover .zenticon-close-circle {
display: block;
}
.zent-datepicker-can-clear:hover .zenticon-calendar-o,
.zent-datepicker-can-clear:hover .zenticon-clock-o {
display: none;
}
.zent-datepicker-popup {
z-index: 2000;
}
.zent-datepicker-trigger {
border-color: #e0e0e0;
border-color: var(--theme-default-border-color, var(--theme-stroke-5, #e0e0e0));
border-width: 1px;
border-style: solid;
border-radius: 2px;
background-color: #fff;
background-color: var(--theme-section-bg, var(--theme-stroke-9, #fff));
display: flex;
align-items: center;
height: 32px;
width: 360px;
padding: 0 10px;
box-sizing: border-box;
}
.zent-datepicker-trigger-input {
color: #333;
color: var(--theme-title-color, var(--theme-stroke-1, #333));
border: 0;
min-width: 60px;
padding: 0;
outline: none;
font-size: 14px;
}
.zent-datepicker-trigger-empty-input {
color: #ccc;
color: var(--theme-disabled-color, var(--theme-stroke-4, #ccc));
}
.zent-datepicker-trigger-seperator {
color: #ccc;
color: var(--theme-disabled-color, var(--theme-stroke-4, #ccc));
margin: 0 8px;
}
.zent-datepicker-trigger-focus {
border-color: #155bd4;
border-color: var(--theme-primary-bg, var(--theme-primary-4, #155bd4));
}
.zent-datepicker-trigger:not(.zent-datepicker-disabled):hover {
cursor: pointer;
border-color: #155bd4;
border-color: var(--theme-primary-bg, var(--theme-primary-4, #155bd4));
}
.zent-datepicker-disabled {
border-color: #e0e0e0;
border-color: var(--theme-default-border-color, var(--theme-stroke-6, #e0e0e0));
background-color: #f7f7f7;
background-color: var(--theme-body-bg, var(--theme-stroke-8, #f7f7f7));
cursor: not-allowed;
}
.zent-datepicker-disabled .zent-datepicker-trigger-input, .zent-datepicker-disabled .zent-datepicker-trigger-empty-input, .zent-datepicker-disabled .zent-datepicker-trigger-seperator {
color: #ccc;
color: var(--theme-disabled-color, var(--theme-stroke-4, #ccc));
}
.zent-datepicker-panel {
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));
border-radius: 2px;
z-index: 1;
width: 280px;
cursor: pointer;
}
.zent-datepicker-panel_lunar {
width: 330px;
}
.zent-datepicker-panel-header {
font-size: 16px;
line-height: 24px;
display: flex;
justify-content: space-between;
padding: 16px;
align-items: center;
}
.zent-datepicker-panel-header-btns {
display: flex;
width: 36px;
justify-content: space-between;
}
.zent-datepicker-panel-header-arrow {
font-size: 20px;
border-radius: 2px;
}
.zent-datepicker-panel-header-arrow:hover {
background-color: rgba(224, 224, 224, 0.3);
background-color: rgba(var(--theme-rgb-default-border-color, var(--theme-rgb-stroke-5, 224, 224, 224)), 0.3);
}
.zent-datepicker-panel-header-arrow:active {
background-color: rgba(224, 224, 224, 0.6);
background-color: rgba(var(--theme-rgb-default-border-color, var(--theme-rgb-stroke-5, 224, 224, 224)), 0.6);
}
.zent-datepicker-panel-header-title {
display: flex;
font-weight: 500;
}
.zent-datepicker-panel-header-title_clickable:hover {
color: #356fd4;
color: var(--theme-primary-hover-bg, var(--theme-primary-5, #356fd4));
cursor: pointer;
}
.zent-datepicker-panel-header-title_clickable:nth-child(2) {
margin-left: 4px;
}
.zent-datepicker-panel-sub_header {
color: #999;
color: var(--theme-hint-color, var(--theme-stroke-3, #999));
display: flex;
justify-content: space-between;
padding: 0 24px;
cursor: default;
}
.zent-datepicker-panel-body-cells {
padding: 12px;
}
.zent-datepicker-panel-body-cells_row {
display: flex;
align-items: center;
justify-content: center;
}
.zent-datepicker-panel-body-cells_item {
text-align: center;
padding: 0 6px;
margin: 4px 0;
cursor: pointer;
}
.zent-datepicker-panel-body-cells .zent-datepicker-cell-inner {
display: flex;
align-items: center;
justify-content: center;
width: 24px;
height: 24px;
box-sizing: border-box;
}
.zent-datepicker-panel-body-cells .zent-datepicker-lunar-cell {
display: block;
width: 32px;
height: 38px;
}
.zent-datepicker-panel-body-cells .zent-datepicker-lunar-cell_text {
font-size: 12px;
}
.zent-datepicker-panel-body-cells_current .zent-datepicker-cell-inner {
border-width: 1px;
border-style: solid;
border-radius: 2px;
color: #155bd4;
color: var(--theme-primary-bg, var(--theme-primary-4, #155bd4));
border-color: #155bd4;
border-color: var(--theme-primary-bg, var(--theme-primary-4, #155bd4));
}
.zent-datepicker-panel-body-cells_in_hover_range {
background-color: #f7f7f7;
background-color: var(--theme-body-bg, var(--theme-stroke-8, #f7f7f7));
}
.zent-datepicker-panel-body-cells_selected {
background-color: #fff;
background-color: var(--theme-section-bg, var(--theme-stroke-9, #fff));
}
.zent-datepicker-panel-body-cells_selected .zent-datepicker-cell-inner {
background-color: #e6efff;
background-color: var(--theme-default-selected-bg, var(--theme-primary-8, #e6efff));
border-radius: 2px;
}
.zent-datepicker-panel-body-cells_available:hover .zent-datepicker-cell-inner:hover {
background-color: #f7f7f7;
background-color: var(--theme-body-bg, var(--theme-stroke-8, #f7f7f7));
border-radius: 2px;
}
.zent-datepicker-panel-body-cells_in_range {
background-color: #e6efff;
background-color: var(--theme-default-selected-bg, var(--theme-primary-8, #e6efff));
}
.zent-datepicker-panel-body-cells_in_range:hover .zent-datepicker-cell-inner:hover {
background-color: #e6efff;
background-color: var(--theme-default-selected-bg, var(--theme-primary-8, #e6efff));
}
.zent-datepicker-panel-body-cells_over, .zent-datepicker-panel-body-cells_disabled {
background-color: #fff;
background-color: var(--theme-section-bg, var(--theme-stroke-9, #fff));
}
.zent-datepicker-panel-body-cells_over .zent-datepicker-cell-inner, .zent-datepicker-panel-body-cells_disabled .zent-datepicker-cell-inner {
color: #ccc;
color: var(--theme-disabled-color, var(--theme-stroke-4, #ccc));
}
.zent-datepicker-panel-body-cells_disabled:hover {
cursor: not-allowed;
}
.zent-datepicker-panel-body-cells_disabled.zent-datepicker-panel-body-cells_current .zent-datepicker-cell-inner {
color: #ccc;
color: var(--theme-disabled-color, var(--theme-stroke-4, #ccc));
border-width: 1px;
border-style: solid;
border-radius: 2px;
border-color: #ccc;
border-color: var(--theme-disabled-color, var(--theme-stroke-4, #ccc));
}
.zent-datepicker-panel-body-cells_selected.zent-datepicker-panel-body-cells_disabled .zent-datepicker-cell-inner {
border-width: 1px;
border-style: solid;
border-radius: 2px;
background-color: #ccc;
background-color: var(--theme-disabled-color, var(--theme-stroke-4, #ccc));
color: #fff;
color: var(--theme-section-bg, var(--theme-stroke-9, #fff));
}
.zent-datepicker-panel-body-cells_in_hover_range.zent-datepicker-panel-body-cells_over {
background-color: #f7f7f7;
background-color: var(--theme-body-bg, var(--theme-stroke-8, #f7f7f7));
}
.zent-datepicker-panel-body-cells_in_range.zent-datepicker-panel-body-cells_over {
background-color: #e6efff;
background-color: var(--theme-default-selected-bg, var(--theme-primary-8, #e6efff));
}
.zent-datepicker-panel-body-cells_selected.zent-datepicker-panel-body-cells_over {
background-color: #fff;
background-color: var(--theme-section-bg, var(--theme-stroke-9, #fff));
}
.zent-datepicker-panel-footer {
border-top-color: #e0e0e0;
border-top-color: var(--theme-default-border-color, var(--theme-stroke-6, #e0e0e0));
border-top-width: 1px;
border-top-style: solid;
box-sizing: border-box;
display: flex;
padding: 9px 12px 10px;
justify-content: space-between;
align-items: center;
flex-flow: row-reverse;
}
.zent-datepicker-panel-footer-input {
width: 94px;
}
.zent-datepicker-panel-footer-btn {
margin-left: 12px;
}
.zent-datepicker-panel-footer-current.zent-btn {
margin-left: 0;
}
.zent-datepicker-panel-footer-current.zent-btn {
margin-left: 0;
}
.zent-datepicker-panel-footer-current_disabled {
color: #ccc;
color: var(--theme-disabled-color, var(--theme-stroke-4, #ccc));
}
.zent-datepicker-panel .zenticon {
color: #999;
color: var(--theme-hint-color, var(--theme-stroke-3, #999));
}
.zent-datepicker-time-panel-body {
display: flex;
}
.zent-datepicker-time-panel-body_scroll {
border-right-color: #e0e0e0;
border-right-color: var(--theme-default-border-color, var(--theme-stroke-5, #e0e0e0));
border-right-width: 1px;
border-right-style: solid;
flex: 1;
width: 92px;
height: 288px;
box-sizing: border-box;
overflow-y: scroll;
}
.zent-datepicker-time-panel-body_scroll:first-child {
border-top-left-radius: 2px;
border-bottom-left-radius: 2px;
}
.zent-datepicker-time-panel-body_scroll:last-child {
border-top-right-radius: 2px;
border-bottom-right-radius: 2px;
border: 0;
}
.zent-datepicker-time-panel-body_scroll::after {
content: "";
display: block;
height: 256px;
}
.zent-datepicker-time-panel-body-unit {
display: flex;
align-items: center;
justify-content: center;
height: 32px;
cursor: pointer;
}
.zent-datepicker-time-panel-body-unit_selected {
background-color: #e6efff;
background-color: var(--theme-default-selected-bg, var(--theme-primary-8, #e6efff));
font-weight: 500;
}
.zent-datepicker-time-panel-body-unit_disabled {
color: #ccc;
color: var(--theme-disabled-color, var(--theme-stroke-4, #ccc));
}
.zent-datepicker-time-panel-body-unit_disabled:hover {
cursor: not-allowed;
}
.zent-datepicker-time-panel-body-unit_available:hover {
background-color: #f7f7f7;
background-color: var(--theme-body-bg, var(--theme-stroke-8, #f7f7f7));
}
.zent-datepicker-combined-panel {
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));
border-radius: 2px;
z-index: 1;
display: flex;
flex-direction: column;
}
.zent-datepicker-combined-panel-body {
display: flex;
}
.zent-datepicker-combined-panel-body-item {
flex: 1;
}
.zent-datepicker-combined-panel-body-item_left12 {
margin-left: -12px;
}
.zent-datepicker-combined-panel-body-seperator {
border-left-color: #e0e0e0;
border-left-color: var(--theme-default-border-color, var(--theme-stroke-5, #e0e0e0));
border-right-color: #e0e0e0;
border-right-color: var(--theme-default-border-color, var(--theme-stroke-5, #e0e0e0));
border-right-width: 1px;
border-right-style: solid;
border-left-width: 1px;
border-left-style: solid;
width: 24px;
height: 288px;
}
.zent-datepicker-combined-panel-footer {
border-top-color: #e0e0e0;
border-top-color: var(--theme-default-border-color, var(--theme-stroke-6, #e0e0e0));
border-top-width: 1px;
border-top-style: solid;
box-sizing: border-box;
display: flex;
padding: 9px 12px 10px;
}
.zent-datepicker-combined-panel-footer-item, .zent-datepicker-combined-panel-footer-seperator {
line-height: 32px;
margin: 0 4px;
}
.zent-datepicker-combined-panel-footer-seperator, .zent-datepicker-combined-panel-footer-null {
color: #999;
color: var(--theme-hint-color, var(--theme-stroke-3, #999));
}
.zent-datepicker-combined-panel-footer-confirm {
position: absolute;
right: 16px;
}
.zent-datepicker-ym-panel-body .zent-datepicker-panel-body-cells {
padding: 12px 24px;
}
.zent-datepicker-ym-panel-body .zent-datepicker-panel-body-cells .zent-datepicker-cell-inner {
display: flex;
align-items: center;
justify-content: center;
width: 64px;
height: 32px;
margin: 8px 0;
}
.zent-datepicker-quarter-panel-body .zent-datepicker-panel-body-cells {
padding: 12px 20px;
}
.zent-datepicker-quarter-panel-body .zent-datepicker-panel-body-cells_item {
margin: 12px 10px;
}
.zent-datepicker-quarter-panel-body .zent-datepicker-panel-body-cells_item .zent-datepicker-cell-inner {
display: flex;
align-items: center;
justify-content: center;
width: 92px;
height: 36px;
}