225 lines
5.2 KiB
SCSS
225 lines
5.2 KiB
SCSS
// Date / time picker
|
|
// based on https://github.com/flatpickr/flatpickr
|
|
|
|
// Reboot plugin's styles
|
|
/* stylelint-disable selector-class-pattern, selector-no-qualifying-type */
|
|
.flatpickr-calendar {
|
|
width: 325px;
|
|
padding: 0 .5rem;
|
|
border: $dropdown-border-width solid $dropdown-border-color;
|
|
@include border-radius($dropdown-border-radius);
|
|
box-shadow: $dropdown-box-shadow;
|
|
|
|
&::before,
|
|
&::after {
|
|
display: none;
|
|
}
|
|
}
|
|
|
|
.flatpickr-innerContainer {
|
|
padding-bottom: 1rem;
|
|
}
|
|
|
|
.flatpickr-months {
|
|
padding: .75rem 0;
|
|
|
|
svg {
|
|
vertical-align: top;
|
|
}
|
|
|
|
.flatpickr-prev-month,
|
|
.flatpickr-next-month {
|
|
top: .75rem;
|
|
|
|
svg {
|
|
fill: var(--#{$prefix}heading-color) !important;
|
|
}
|
|
}
|
|
}
|
|
|
|
span.flatpickr-weekday,
|
|
.flatpickr-time .flatpickr-time-separator {
|
|
color: var(--#{$prefix}gray-600);
|
|
}
|
|
.flatpickr-current-month .flatpickr-monthDropdown-months {
|
|
padding: .25rem;
|
|
appearance: none;
|
|
}
|
|
.numInputWrapper,
|
|
.numInput,
|
|
.flatpickr-current-month .flatpickr-monthDropdown-months {
|
|
color: var(--#{$prefix}heading-color) !important;
|
|
}
|
|
.numInputWrapper:hover,
|
|
.flatpickr-current-month .flatpickr-monthDropdown-months:hover {
|
|
background-color: var(--#{$prefix}component-hover-bg);
|
|
}
|
|
.numInput:hover {
|
|
background-color: transparent !important;
|
|
}
|
|
|
|
.flatpickr-day {
|
|
height: 38px;
|
|
line-height: 37px;
|
|
color: var(--#{$prefix}body-color);
|
|
@include border-radius(var(--#{$prefix}border-radius));
|
|
|
|
&:hover,
|
|
&:focus {
|
|
&:not(.flatpickr-disabled):not(.today):not(.selected):not(.startRange):not(.endRange) {
|
|
color: var(--#{$prefix}component-active-color);
|
|
background-color: var(--#{$prefix}component-active-bg);
|
|
border-color: var(--#{$prefix}component-active-bg);
|
|
}
|
|
}
|
|
|
|
&.today {
|
|
font-weight: $font-weight-medium;
|
|
background-color: transparent !important;
|
|
border-color: var(--#{$prefix}component-active-color) !important;
|
|
|
|
&:not(.startRange):not(.endRange):not(.selected) {
|
|
color: var(--#{$prefix}component-active-color) !important;
|
|
}
|
|
|
|
&.selected {
|
|
color: $white !important;
|
|
}
|
|
|
|
&:hover {
|
|
background-color: transparent;
|
|
}
|
|
}
|
|
|
|
&.selected {
|
|
font-weight: $font-weight-medium;
|
|
background-color: var(--#{$prefix}component-active-color) !important;
|
|
border-color: var(--#{$prefix}component-active-color) !important;
|
|
}
|
|
|
|
&.flatpickr-disabled {
|
|
color: var(--#{$prefix}tertiary-color) !important;
|
|
text-decoration: line-through;
|
|
}
|
|
|
|
&.prevMonthDay,
|
|
&.nextMonthDay {
|
|
color: var(--#{$prefix}tertiary-color);
|
|
}
|
|
|
|
&.inRange {
|
|
background-color: var(--#{$prefix}component-active-bg) !important;
|
|
border-color: var(--#{$prefix}component-active-bg) !important;
|
|
box-shadow: -5px 0 0 var(--#{$prefix}component-active-bg), 5px 0 0 var(--#{$prefix}component-active-bg);
|
|
}
|
|
|
|
&.startRange,
|
|
&.endRange,
|
|
&.endRange.seleced,
|
|
&.endRange:hover {
|
|
background-color: var(--#{$prefix}component-active-color) !important;
|
|
border-color: var(--#{$prefix}component-active-color) !important;
|
|
}
|
|
}
|
|
|
|
.flatpickr-day.selected.endRange,
|
|
.flatpickr-day.startRange.endRange,
|
|
.flatpickr-day.endRange.endRange {
|
|
border-radius: 0;
|
|
@include border-radius(0 $border-radius $border-radius 0);
|
|
}
|
|
|
|
.flatpickr-day.selected.startRange,
|
|
.flatpickr-day.startRange.startRange,
|
|
.flatpickr-day.endRange.startRange {
|
|
border-radius: 0;
|
|
@include border-radius($border-radius 0 0 $border-radius);
|
|
}
|
|
|
|
.flatpickr-day.selected.startRange.endRange,
|
|
.flatpickr-day.startRange.startRange.endRange,
|
|
.flatpickr-day.endRange.startRange.endRange {
|
|
@include border-radius($border-radius);
|
|
}
|
|
|
|
.flatpickr-day.selected.startRange + .endRange:not(:nth-child(7n+1)),
|
|
.flatpickr-day.startRange.startRange + .endRange:not(:nth-child(7n+1)),
|
|
.flatpickr-day.endRange.startRange + .endRange:not(:nth-child(7n+1)) {
|
|
box-shadow: -10px 0 0 var(--#{$prefix}component-active-color);
|
|
}
|
|
|
|
.flatpickr-time {
|
|
.flatpickr-am-pm {
|
|
color: var(--#{$prefix}emphasis-color);
|
|
}
|
|
|
|
input:hover,
|
|
input::selection,
|
|
input:focus,
|
|
.flatpickr-am-pm:hover,
|
|
.flatpickr-am-pm:focus {
|
|
background-color: transparent;
|
|
}
|
|
|
|
input.flatpickr-hour {
|
|
font-weight: $font-weight-normal;
|
|
}
|
|
}
|
|
|
|
.flatpickr-calendar.hasTime {
|
|
.flatpickr-time {
|
|
height: 3.5rem;
|
|
max-height: 3.5rem;
|
|
padding: .5rem 0;
|
|
line-height: 3.5rem;
|
|
border: 0;
|
|
|
|
.numInputWrapper {
|
|
line-height: 2.5rem;
|
|
}
|
|
}
|
|
|
|
.flatpickr-innerContainer + .flatpickr-time {
|
|
border-top: $border-width solid var(--#{$prefix}border-color);
|
|
}
|
|
}
|
|
|
|
.numInputWrapper span {
|
|
border-color: var(--#{$prefix}border-color);
|
|
|
|
&.arrowUp::after {
|
|
border-bottom-color: var(--#{$prefix}component-color) !important;
|
|
}
|
|
|
|
&.arrowDown::after {
|
|
border-top-color: var(--#{$prefix}component-color) !important;
|
|
}
|
|
|
|
&:hover {
|
|
background: var(--#{$prefix}border-color);
|
|
}
|
|
}
|
|
|
|
|
|
// Dark color mode
|
|
|
|
@if $enable-dark-mode {
|
|
@include color-mode(dark) {
|
|
.flatpickr-calendar {
|
|
background: $dropdown-dark-bg;
|
|
border-color: $dropdown-dark-border-color;
|
|
box-shadow: $dropdown-dark-box-shadow;
|
|
}
|
|
.flatpickr-day {
|
|
&.startRange,
|
|
&.endRange,
|
|
&.startRange.selected,
|
|
&.selected,
|
|
&.selected.today {
|
|
color: $dark !important;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
/* stylelint-enable selector-class-pattern, selector-no-qualifying-type */
|