@fesjs/fes-design
Version:
fes-design for PC
147 lines (146 loc) • 6.8 kB
CSS
.fes-calendar {
display: flex;
flex-direction: column;
min-height: 500px;
}
.fes-calendar * {
box-sizing: border-box;
}
.fes-calendar .fes-calendar-action-bar {
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
margin-bottom: var(--f-padding-middle);
}
.fes-calendar .fes-calendar-panel {
display: flex;
flex-direction: column;
flex-grow: 1;
font-size: var(--f-font-size-base);
border: var(--f-border-width-base) var(--f-border-style-base) var(--f-border-color-split);
border-radius: var(--f-border-radius-base);
}
.fes-calendar .fes-calendar-panel > .fes-calendar-week-name-header {
display: grid;
grid-template-columns: repeat(7, 1fr);
border-bottom: var(--f-border-width-base) var(--f-border-style-base) var(--f-border-color-split);
}
.fes-calendar .fes-calendar-panel > .fes-calendar-week-name-header .fes-calendar-week-name-header-cell {
padding: var(--f-padding-xsmall);
border-right: var(--f-border-width-base) var(--f-border-style-base) var(--f-border-color-split);
}
.fes-calendar .fes-calendar-panel > .fes-calendar-week-name-header .fes-calendar-week-name-header-cell:last-child {
border-right: none;
}
.fes-calendar .fes-calendar-panel > .fes-calendar-week-name-header .fes-calendar-week-name-header-cell > .fes-calendar-week-name-header-cell-main-content {
display: flex;
align-items: center;
justify-content: center;
width: 24px;
height: 24px;
}
.fes-calendar .fes-calendar-panel > .fes-calendar-date-panel,
.fes-calendar .fes-calendar-panel > .fes-calendar-month-panel {
display: grid;
flex-grow: 1;
}
.fes-calendar .fes-calendar-panel > .fes-calendar-date-panel > .fes-calendar-panel-cell,
.fes-calendar .fes-calendar-panel > .fes-calendar-month-panel > .fes-calendar-panel-cell {
padding: var(--f-padding-xsmall);
border-right: var(--f-border-width-base) var(--f-border-style-base) var(--f-border-color-split);
border-bottom: var(--f-border-width-base) var(--f-border-style-base) var(--f-border-color-split);
cursor: pointer;
}
.fes-calendar .fes-calendar-panel > .fes-calendar-date-panel > .fes-calendar-panel-cell > .fes-calendar-panel-cell-main-content,
.fes-calendar .fes-calendar-panel > .fes-calendar-month-panel > .fes-calendar-panel-cell > .fes-calendar-panel-cell-main-content {
display: flex;
align-items: center;
justify-content: center;
width: 24px;
height: 24px;
border-radius: var(--f-border-radius-base);
transition: none 0.2s cubic-bezier(0.9, 0, 0.3, 0.7);
transition-property: background, color;
-webkit-user-select: none;
-moz-user-select: none;
user-select: none;
}
.fes-calendar .fes-calendar-panel > .fes-calendar-date-panel > .fes-calendar-panel-cell:hover > .fes-calendar-panel-cell-main-content,
.fes-calendar .fes-calendar-panel > .fes-calendar-month-panel > .fes-calendar-panel-cell:hover > .fes-calendar-panel-cell-main-content {
background-color: var(--f-hover-color-light);
}
.fes-calendar .fes-calendar-panel > .fes-calendar-date-panel > .fes-calendar-panel-cell.fes-calendar-panel-cell-today > .fes-calendar-panel-cell-main-content,
.fes-calendar .fes-calendar-panel > .fes-calendar-month-panel > .fes-calendar-panel-cell.fes-calendar-panel-cell-today > .fes-calendar-panel-cell-main-content {
position: relative;
color: var(--f-primary-color);
background-color: var(--f-hover-color-light);
}
.fes-calendar .fes-calendar-panel > .fes-calendar-date-panel > .fes-calendar-panel-cell.fes-calendar-panel-cell-today > .fes-calendar-panel-cell-main-content::after,
.fes-calendar .fes-calendar-panel > .fes-calendar-month-panel > .fes-calendar-panel-cell.fes-calendar-panel-cell-today > .fes-calendar-panel-cell-main-content::after {
position: absolute;
top: 3px;
right: 3px;
width: 3px;
height: 3px;
background-color: var(--f-primary-color);
border-radius: 50%;
content: '';
}
.fes-calendar .fes-calendar-panel > .fes-calendar-date-panel > .fes-calendar-panel-cell.fes-calendar-panel-cell-active > .fes-calendar-panel-cell-main-content,
.fes-calendar .fes-calendar-panel > .fes-calendar-month-panel > .fes-calendar-panel-cell.fes-calendar-panel-cell-active > .fes-calendar-panel-cell-main-content {
color: var(--f-white) ;
background-color: var(--f-primary-color);
}
.fes-calendar .fes-calendar-panel > .fes-calendar-date-panel > .fes-calendar-panel-cell.fes-calendar-panel-cell-secondary:not(.fes-calendar-panel-cell-today) > .fes-calendar-panel-cell-main-content,
.fes-calendar .fes-calendar-panel > .fes-calendar-month-panel > .fes-calendar-panel-cell.fes-calendar-panel-cell-secondary:not(.fes-calendar-panel-cell-today) > .fes-calendar-panel-cell-main-content,
.fes-calendar .fes-calendar-panel > .fes-calendar-date-panel > .fes-calendar-panel-cell.fes-calendar-panel-cell-secondary:not(.fes-calendar-panel-cell-active) > .fes-calendar-panel-cell-main-content,
.fes-calendar .fes-calendar-panel > .fes-calendar-month-panel > .fes-calendar-panel-cell.fes-calendar-panel-cell-secondary:not(.fes-calendar-panel-cell-active) > .fes-calendar-panel-cell-main-content {
color: var(--f-text-color-disabled);
}
.fes-calendar .fes-calendar-panel > .fes-calendar-date-panel {
grid-template-rows: repeat(6, 1fr);
grid-template-columns: repeat(7, 1fr);
}
.fes-calendar .fes-calendar-panel > .fes-calendar-date-panel > .fes-calendar-panel-cell:nth-child(7n) {
border-right: unset;
}
.fes-calendar .fes-calendar-panel > .fes-calendar-date-panel > .fes-calendar-panel-cell:nth-child(n+36) {
border-bottom: unset;
}
.fes-calendar .fes-calendar-panel > .fes-calendar-month-panel {
grid-template-rows: repeat(4, 1fr);
grid-template-columns: repeat(3, 1fr);
}
.fes-calendar .fes-calendar-panel > .fes-calendar-month-panel > .fes-calendar-panel-cell:nth-child(3n) {
border-right: unset;
}
.fes-calendar .fes-calendar-panel > .fes-calendar-month-panel > .fes-calendar-panel-cell:nth-child(n+10) {
border-bottom: unset;
}
.fes-calendar .fes-calendar-panel > .fes-calendar-month-panel > .fes-calendar-panel-cell > .fes-calendar-panel-cell-main-content {
width: calc(24px * 2);
}
.fes-calendar.fes-calendar-without-split-line .fes-calendar-week-name-header-cell {
border-color: transparent ;
}
.fes-calendar.fes-calendar-without-split-line .fes-calendar-panel-cell {
border-right: unset ;
border-bottom: unset ;
}
.fes-calendar-navigator {
display: flex;
align-items: center;
}
.fes-calendar-navigator .fes-calendar-navigator-current-date {
padding: 0 var(--f-padding-large);
font-weight: 500;
}
.fes-calendar-navigator .fes-calendar-navigator-btn {
color: var(--f-text-color-secondary);
font-size: var(--f-font-size-base);
cursor: pointer;
}
.fes-calendar-navigator .fes-calendar-navigator-btn:hover {
color: var(--f-primary-color);
}