Files
socialhose-php/frontend/app/styles/components/forms/datepicker/_datepicker.scss
T
2022-12-09 08:36:26 -06:00

609 lines
13 KiB
SCSS

@import "variables";
@import "mixins";
$box-shadow-default: 0 0.46875rem 2.1875rem rgba(darken($primary, 50%), 0.03),
0 0.9375rem 1.40625rem rgba(darken($primary, 50%), 0.03),
0 0.25rem 0.53125rem rgba(darken($primary, 50%), 0.05),
0 0.125rem 0.1875rem rgba(darken($primary, 50%), 0.03);
$focus: #6610f2;
.react-datepicker-wrapper {
display: block;
z-index: 100;
}
.react-datepicker {
background-color: $white;
color: $datepicker__text-color;
border: 1px solid $datepicker__border-color;
border-radius: $datepicker__border-radius;
display: inline-block;
position: relative;
box-shadow: $box-shadow-default;
}
.react-datepicker--time-only {
.react-datepicker__triangle {
left: 35px;
}
.react-datepicker__time-container {
border-left: 0;
}
.react-datepicker__time {
border-radius: 0.3rem;
}
.react-datepicker__time-box {
border-radius: 0.3rem;
}
}
.react-datepicker__triangle {
position: absolute;
left: 50px;
}
.react-datepicker-popper {
z-index: 102;
&[data-placement^="bottom"] {
margin-top: $datepicker__triangle-size + 2px;
.react-datepicker__triangle {
@extend %triangle-arrow-up;
}
}
&[data-placement^="top"] {
margin-bottom: $datepicker__triangle-size + 2px;
.react-datepicker__triangle {
@extend %triangle-arrow-down;
}
}
&[data-placement^="right"] {
margin-inline-start: $datepicker__triangle-size;
.react-datepicker__triangle {
left: auto;
right: 42px;
}
}
&[data-placement^="left"] {
margin-inline-end: $datepicker__triangle-size;
.react-datepicker__triangle {
left: 42px;
right: auto;
}
}
}
.react-datepicker__header {
text-align: center;
background-color: $datepicker__background-color;
border-bottom: 1px solid $datepicker__border-color;
border-top-left-radius: $datepicker__border-radius;
border-top-right-radius: $datepicker__border-radius;
padding-top: 10px;
position: relative;
&--time {
padding-bottom: 8px;
padding-inline-start: 5px;
padding-inline-end: 5px;
}
}
.react-datepicker__year-dropdown-container--select,
.react-datepicker__month-dropdown-container--select,
.react-datepicker__month-year-dropdown-container--select,
.react-datepicker__year-dropdown-container--scroll,
.react-datepicker__month-dropdown-container--scroll,
.react-datepicker__month-year-dropdown-container--scroll {
display: inline-block;
margin: 0 2px;
}
.react-datepicker__current-month,
.react-datepicker-time__header {
margin-top: 0;
color: $datepicker__header-color;
font-weight: bold;
font-size: $datepicker__font-size * 1.1;
}
.react-datepicker-time__header {
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
}
.react-datepicker__navigation {
background: none;
line-height: $datepicker__item-size;
text-align: center;
cursor: pointer;
position: absolute;
top: 15px;
padding: 0;
border: $datepicker__navigation-size solid transparent;
z-index: 1;
height: 10px;
width: 10px;
text-indent: -999em;
overflow: hidden;
&--previous {
left: 10px;
border-right-color: $datepicker__muted-color;
&:hover {
border-right-color: darken($datepicker__muted-color, 10%);
}
&--disabled,
&--disabled:hover {
border-right-color: $datepicker__navigation-disabled-color;
cursor: default;
}
}
&--next {
right: 10px;
border-left-color: $datepicker__muted-color;
&--with-time:not(&--with-today-button) {
right: 80px;
}
&:hover {
border-left-color: darken($datepicker__muted-color, 10%);
}
&--disabled,
&--disabled:hover {
border-left-color: $datepicker__navigation-disabled-color;
cursor: default;
}
}
&--years {
position: relative;
top: 0;
display: block;
margin-inline-start: auto;
margin-inline-end: auto;
&-previous {
top: 4px;
border-top-color: $datepicker__muted-color;
&:hover {
border-top-color: darken($datepicker__muted-color, 10%);
}
}
&-upcoming {
top: -4px;
border-bottom-color: $datepicker__muted-color;
&:hover {
border-bottom-color: darken($datepicker__muted-color, 10%);
}
}
}
}
.react-datepicker__month-container {
float: left;
}
.react-datepicker__month {
margin: $datepicker__margin;
text-align: center;
}
.react-datepicker__time-container {
float: right;
border-left: 1px solid $datepicker__border-color;
width: 120px;
&--with-today-button {
display: inline;
border: 1px solid #aeaeae;
border-radius: 0.3rem;
position: absolute;
right: -122px;
top: 0;
}
.react-datepicker__time {
position: relative;
background: white;
.react-datepicker__time-box {
width: 120px;
overflow-x: hidden;
margin: 0 auto;
text-align: center;
ul.react-datepicker__time-list {
list-style: none;
margin: 0;
padding: 0;
height: calc(195px + (#{$datepicker__item-size} / 2));
overflow-y: scroll;
width: 100%;
box-sizing: content-box;
li.react-datepicker__time-list-item {
padding: 5px 10px;
&:hover {
cursor: pointer;
background-color: $dropdown-link-hover-bg;
}
&--selected {
background-color: $datepicker__selected-color;
color: $white;
font-weight: bold;
&:hover {
background-color: $datepicker__selected-color;
}
}
&--disabled {
color: $datepicker__muted-color;
&:hover {
cursor: default;
background-color: transparent;
}
}
}
}
}
}
}
.react-datepicker__week-number {
color: $datepicker__muted-color;
display: inline-block;
width: $datepicker__item-size;
line-height: $datepicker__item-size;
text-align: center;
margin: $datepicker__day-margin;
&.react-datepicker__week-number--clickable {
cursor: pointer;
&:hover {
border-radius: $datepicker__border-radius;
background-color: $datepicker__background-color;
}
}
}
.react-datepicker__day-names {
background: $gray-100;
border-top: $gray-300 solid 1px;
margin-top: 10px;
}
.react-datepicker__day-names,
.react-datepicker__week {
white-space: nowrap;
}
.react-datepicker__day-name,
.react-datepicker__day,
.react-datepicker__time-name {
color: $datepicker__text-color;
display: inline-block;
width: $datepicker__item-size;
line-height: $datepicker__item-size;
text-align: center;
margin: $datepicker__day-margin;
}
.react-datepicker__day {
cursor: pointer;
@include border-radius($datepicker__border-radius);
&:hover {
background-color: $primary;
color: $white;
}
&--today {
font-weight: bold;
}
&--highlighted {
border-radius: $datepicker__border-radius;
background-color: $datepicker__highlighted-color;
color: $white;
&:hover {
background-color: darken($datepicker__highlighted-color, 5%);
}
&-custom-1 {
color: $warning;
}
&-custom-2 {
color: $focus;
}
}
&--selected {
background-color: $success;
color: $white;
&:hover {
background-color: $success;
color: $white;
}
}
&--in-selecting-range,
&--in-range {
background-color: $dropdown-link-hover-bg;
color: $dropdown-link-hover-color;
&:hover {
background-color: $dropdown-link-hover-bg;
color: $dropdown-link-hover-color;
}
}
&--keyboard-selected {
border-radius: $datepicker__border-radius;
background-color: lighten($success, 10%);
color: $white;
&:hover {
background-color: darken($success, 5%);
}
}
&--in-selecting-range:not(&--in-range) {
background-color: $dropdown-link-hover-bg;
}
&--in-range:not(&--in-selecting-range) {
.react-datepicker__month--selecting-range & {
background-color: $success;
color: $white;
}
}
&--disabled {
cursor: default;
color: $datepicker__muted-color;
&:hover {
background-color: transparent;
color: $datepicker__muted-color;
}
}
}
.react-datepicker__day--selecting-range-start,
.react-datepicker__day--selecting-range-end {
background-color: $success !important;
color: $white !important;
}
.react-datepicker__year-read-view,
.react-datepicker__month-read-view,
.react-datepicker__month-year-read-view {
border: 1px solid transparent;
border-radius: $datepicker__border-radius;
&:hover {
cursor: pointer;
.react-datepicker__year-read-view--down-arrow,
.react-datepicker__month-read-view--down-arrow {
border-top-color: darken($datepicker__muted-color, 10%);
}
}
&--down-arrow {
@extend %triangle-arrow-down;
border-top-color: $datepicker__muted-color;
float: right;
margin-inline-start: 20px;
top: 8px;
position: relative;
border-width: $datepicker__navigation-size;
}
}
.react-datepicker__year-dropdown,
.react-datepicker__month-dropdown,
.react-datepicker__month-year-dropdown {
background-color: $datepicker__background-color;
position: absolute;
width: 50%;
left: 25%;
top: 30px;
z-index: 1;
text-align: center;
border-radius: $datepicker__border-radius;
border: 1px solid $datepicker__border-color;
&:hover {
cursor: pointer;
}
&--scrollable {
height: 150px;
overflow-y: scroll;
}
}
.react-datepicker__year-option,
.react-datepicker__month-option,
.react-datepicker__month-year-option {
line-height: 20px;
width: 100%;
display: block;
margin-inline-start: auto;
margin-inline-end: auto;
&:first-of-type {
border-top-left-radius: $datepicker__border-radius;
border-top-right-radius: $datepicker__border-radius;
}
&:last-of-type {
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
border-bottom-left-radius: $datepicker__border-radius;
border-bottom-right-radius: $datepicker__border-radius;
}
&:hover {
background-color: $datepicker__muted-color;
.react-datepicker__navigation--years-upcoming {
border-bottom-color: darken($datepicker__muted-color, 10%);
}
.react-datepicker__navigation--years-previous {
border-top-color: darken($datepicker__muted-color, 10%);
}
}
&--selected {
position: absolute;
left: 15px;
}
}
.react-datepicker__close-icon {
background-color: transparent;
border: 0;
cursor: pointer;
outline: 0;
padding: 0;
vertical-align: middle;
position: absolute;
height: 16px;
width: 16px;
top: 25%;
right: 7px;
&::after {
background-color: $datepicker__selected-color;
border-radius: 50%;
bottom: 0;
box-sizing: border-box;
color: $white;
content: "\00d7";
cursor: pointer;
font-size: 12px;
height: 16px;
width: 16px;
line-height: 1;
margin: -8px auto 0;
padding: 2px;
position: absolute;
right: 0px;
text-align: center;
}
}
.react-datepicker__today-button {
background: $datepicker__background-color;
border-top: 1px solid $datepicker__border-color;
cursor: pointer;
text-align: center;
font-weight: bold;
padding: 5px 0;
clear: left;
}
.react-datepicker__portal {
position: fixed;
width: 100vw;
height: 100vh;
z-index: $zindex-modal-backdrop;
background-color: rgba($modal-backdrop-bg, $modal-backdrop-opacity);
left: 0;
top: 0;
justify-content: center;
align-items: center;
display: flex;
.react-datepicker__day-name,
.react-datepicker__day,
.react-datepicker__time-name {
width: 3rem;
line-height: 3rem;
}
// Resize for small screens
@media (max-width: 400px), (max-height: 550px) {
.react-datepicker__day-name,
.react-datepicker__day,
.react-datepicker__time-name {
width: 2rem;
line-height: 2rem;
}
}
.react-datepicker__current-month,
.react-datepicker-time__header {
font-size: $datepicker__font-size * 1.8;
}
.react-datepicker__navigation {
border: 1.8 * $datepicker__navigation-size solid transparent;
margin-top: 3px;
}
.react-datepicker__navigation--previous {
border-right-color: $primary;
&:hover {
border-right-color: darken($primary, 10%);
}
&--disabled,
&--disabled:hover {
border-right-color: $datepicker__navigation-disabled-color;
cursor: default;
}
}
.react-datepicker__navigation--next {
border-left-color: $primary;
&:hover {
border-left-color: darken($primary, 10%);
}
&--disabled,
&--disabled:hover {
border-left-color: $datepicker__navigation-disabled-color;
cursor: default;
}
}
}
.rangeButtonSelectedStyle {
background: $primary !important;
}
.rangebuttonstyle {
outline: none !important;
color: $primary !important;
}