@import './var.less'; @import '../style/mixins/safe-area.less'; :root { --van-calendar-background-color: @calendar-background-color; --van-calendar-popup-height: @calendar-popup-height; --van-calendar-header-box-shadow: @calendar-header-box-shadow; --van-calendar-header-title-height: @calendar-header-title-height; --van-calendar-header-title-font-size: @calendar-header-title-font-size; --van-calendar-header-subtitle-font-size: @calendar-header-subtitle-font-size; --van-calendar-weekdays-height: @calendar-weekdays-height; --van-calendar-weekdays-font-size: @calendar-weekdays-font-size; --van-calendar-month-title-font-size: @calendar-month-title-font-size; --van-calendar-month-mark-color: @calendar-month-mark-color; --van-calendar-month-mark-font-size: @calendar-month-mark-font-size; --van-calendar-day-height: @calendar-day-height; --van-calendar-day-font-size: @calendar-day-font-size; --van-calendar-range-edge-color: @calendar-range-edge-color; --van-calendar-range-edge-background-color: @calendar-range-edge-background-color; --van-calendar-range-middle-color: @calendar-range-middle-color; --van-calendar-range-middle-background-opacity: @calendar-range-middle-background-opacity; --van-calendar-selected-day-size: @calendar-selected-day-size; --van-calendar-selected-day-color: @calendar-selected-day-color; --van-calendar-info-font-size: @calendar-info-font-size; --van-calendar-info-line-height: @calendar-info-line-height; --van-calendar-selected-day-background-color: @calendar-selected-day-background-color; --van-calendar-day-disabled-color: @calendar-day-disabled-color; --van-calendar-confirm-button-height: @calendar-confirm-button-height; --van-calendar-confirm-button-margin: @calendar-confirm-button-margin; } .van-calendar { display: flex; flex-direction: column; height: 100%; background-color: var(--van-calendar-background-color); &__popup { &.van-popup--top, &.van-popup--bottom { height: var(--van-calendar-popup-height); } &.van-popup--left, &.van-popup--right { height: 100%; } .van-popup__close-icon { top: 11px; } } &__header { flex-shrink: 0; box-shadow: var(--van-calendar-header-box-shadow); } &__month-title, &__header-title, &__header-subtitle { height: var(--van-calendar-header-title-height); font-weight: @font-weight-bold; line-height: var(--van-calendar-header-title-height); text-align: center; } &__header-title { font-size: var(--van-calendar-header-title-font-size); } &__header-subtitle { font-size: var(--van-calendar-header-subtitle-font-size); } &__month-title { font-size: var(--van-calendar-month-title-font-size); } &__weekdays { display: flex; } &__weekday { flex: 1; font-size: var(--van-calendar-weekdays-font-size); line-height: var(--van-calendar-weekdays-height); text-align: center; } &__body { flex: 1; overflow: auto; -webkit-overflow-scrolling: touch; } &__days { position: relative; display: flex; flex-wrap: wrap; user-select: none; } &__month-mark { position: absolute; top: 50%; left: 50%; z-index: 0; color: var(--van-calendar-month-mark-color); font-size: var(--van-calendar-month-mark-font-size); transform: translate(-50%, -50%); pointer-events: none; } &__day, &__selected-day { display: flex; align-items: center; justify-content: center; text-align: center; } &__day { position: relative; width: 14.285%; height: var(--van-calendar-day-height); font-size: var(--van-calendar-day-font-size); cursor: pointer; &--end, &--start, &--start-end, &--multiple-middle, &--multiple-selected { color: var(--van-calendar-range-edge-color); background-color: var(--van-calendar-range-edge-background-color); } &--start { border-radius: @border-radius-md 0 0 @border-radius-md; } &--end { border-radius: 0 @border-radius-md @border-radius-md 0; } &--start-end, &--multiple-selected { border-radius: @border-radius-md; } &--middle { color: var(--van-calendar-range-middle-color); &::after { position: absolute; top: 0; right: 0; bottom: 0; left: 0; background-color: currentColor; opacity: var(--van-calendar-range-middle-background-opacity); content: ''; } } &--disabled { color: var(--van-calendar-day-disabled-color); cursor: default; } } &__top-info, &__bottom-info { position: absolute; right: 0; left: 0; font-size: var(--van-calendar-info-font-size); line-height: var(--van-calendar-info-line-height); @media (max-width: 350px) { font-size: 9px; } } &__top-info { top: 6px; } &__bottom-info { bottom: 6px; } &__selected-day { width: var(--van-calendar-selected-day-size); height: var(--van-calendar-selected-day-size); color: var(--van-calendar-selected-day-color); background-color: var(--van-calendar-selected-day-background-color); border-radius: @border-radius-md; } &__footer { flex-shrink: 0; padding: 0 @padding-md; .safe-area-inset-bottom(); &--unfit { padding-bottom: 0; } } &__confirm { height: var(--van-calendar-confirm-button-height); margin: var(--van-calendar-confirm-button-margin); } }