UNPKG

tdesign-react

Version:
337 lines (279 loc) 8.11 kB
@import "../../base.less"; @import "./_var.less"; @import "./_mixin.less"; @import "../../mixins/_reset.less"; .@{prefix}-calendar { .reset; border: 1px solid @calendar-border-color; background-color: @calendar-bg; border-radius: @border-radius-large; .@{prefix}-is-disabled { &.@{prefix}-calendar__table-body-cell { &:hover { cursor: not-allowed; } } .@{prefix}-calendar__table-body-cell-display { color: @calendar-body-cell-display-disabled-color; &:hover { box-shadow: none; } } } &--full { min-width: @calendar-full-min-width; padding: @calendar-full-padding; .@{prefix}-calendar__control { padding: @calendar-control-padding; } .@{prefix}-calendar__title { font: @font-title-large; flex: 1; } .@{prefix}-calendar__panel { position: relative; margin-top: @calendar-panel-margin-top; &-title { font: @calendar-head-title-font; color: @calendar-title-color; position: absolute; } } .@{prefix}-calendar__table { &-head-cell, &-body-cell { margin-right: @calendar-table-margin-right; position: relative; } &-body-cell { border-top: @calendar-border-size solid @calendar-body-cell-border-color; padding: @calendar-body-cell-padding; height: @calendar-body-cell-height; line-height: @calendar-body-line-height; display: flex; flex-direction: column; align-items: flex-end; justify-content: flex-start; margin-left: @calendar-body-cell-margin-left; transition-duration: @calendar-transition-duration; transition-property: @calendar-transition-property; transition-timing-function: @calendar-transition-timing-function; &-content { padding: @calendar-body-cell-content-padding; width: 100%; box-sizing: border-box; } &.@{prefix}-is-checked { background-color: @calendar-body-cell-check-bg-color; &:hover { background-color: @calendar-body-cell-check-bg-color; } } &--now { border-top: @calendar-border-size solid @calendar-highlight-color; .@{prefix}-calendar__table-body-cell-display { color: @calendar-body-cell-display-now-color; } } } } .@{prefix}-calendar__footer { height: @calendar-footer-height; padding: @calendar-footer-padding; border-top: 1px solid @calendar-border-color; } } &--card { width: @calendar-card-width; border-radius: @border-radius-medium; padding: @calendar-card-panel-padding; .@{prefix}-calendar__control { padding: @calendar-card-calendar-control-padding; &-section { width: 100%; justify-content: flex-start; &-cell { &:last-child { flex: 1; text-align: right; display: block; } } } } .@{prefix}-calendar__panel { &.@{prefix}-calendar__panel--month { height: @calendar-card-calendar-panel-height-month; margin-top: @calendar-card-panel-margin-top; } &.@{prefix}-calendar__panel--year { height: @calendar-card-calendar-panel-height-year; margin-top: @calendar-card-panel-margin-top; .@{prefix}-calendar__table { &-body { &-cell { &-display { min-width: @calendar-card-cell-value-size-year; } } } } } } .@{prefix}-calendar__table { width: @calendar-card-table-size; height: @calendar-card-table-size; display: flex; flex-direction: column; justify-self: start; align-items: flex-start; &-head, &-body { &-row { flex: @calendar-body-row-flex; background: @calendar-card-head-row-bg; } &-cell { width: @calendar-card-cell-size; height: @calendar-card-cell-size; justify-content: center; font: @calendar-card-body-cell-font; box-sizing: border-box; &-display { width: @calendar-card-cell-value-size; line-height: @calendar-card-cell-value-size; } } } &-body { display: flex; flex-direction: column; justify-self: center; align-items: center; flex: 1; &-cell { justify-content: center; align-items: center; &:hover { background-color: @calendar-bg; } &-display { font: @calendar-card-body-cell-display-font; padding-top: @calendar-card-body-cell-display-padding; padding-bottom: @calendar-card-body-cell-display-padding; text-align: center; border-radius: @calendar-card-body-cell-display-border-radius; transition: all @calendar-transition-duration @calendar-transition-timing-function; &:hover { box-shadow: inset 0 0 0 1px @calendar-highlight-color; transition: box-shadow @calendar-transition-duration @calendar-transition-timing-function; } } &--now { .@{prefix}-calendar__table-body-cell-display { color: @calendar-highlight-color; background-color: @calendar-body-cell-check-bg-color; position: relative; } } } } } .@{prefix}-is-checked { .@{prefix}-calendar__table-body-cell-display { background: @calendar-card-cell-value-check-bg; border-radius: @calendar-card-body-cell-display-border-radius; color: @calendar-card-cell-value-check-color; } } .@{prefix}-calendar__footer { height: @calendar-card-footer-height; padding: @calendar-card-footer-padding; border-top: 1px solid @calendar-border-color; } } &__control { display: flex; justify-content: flex-end; align-items: center; &-section { height: 100%; display: flex; justify-content: flex-end; align-items: center; &:last-child { margin-right: 0; } &-cell { height: @calendar-section-height; margin-right: @calendar-control-section-cell-margin-right; display: flex; .@{prefix}-radio-group { vertical-align: bottom; } .@{prefix}-select { display: inline; } &:last-child { margin-right: 0; } } } } &__panel { box-sizing: border-box; width: 100%; } &__table { border-collapse: collapse; border-spacing: 0; width: 100%; height: 100%; &-head, &-body { width: 100%; &-row { width: 100%; display: flex; } &-cell { flex: 1; display: flex; justify-content: flex-end; font: @calendar-table-cell-font; color: @calendar-cell-font-color; cursor: default; padding: @calendar-table-cell-padding; &:last-child { margin-right: 0; } } } &-head { margin-bottom: @calendar-head-margin-bottom; display: block; &-row { padding-bottom: @calendar-header-row-padding; background: @calendar-head-bg-color; } &-cell { height: @calendar-head-cell-height; font: @calendar-head-cell-font; color: @calendar-head-cell-color; } } &-body { &-cell { cursor: pointer; &:hover { background-color: @calendar-body-cell-hover-bg-color; transition: background-color @calendar-transition-duration @calendar-transition-timing-function; } &-display { font: @calendar-body-cell-display-font; color: @calendar-title-color; } } } } }