cartodb/assets/stylesheets/common/datepicker.scss

458 lines
8.2 KiB
SCSS
Raw Normal View History

2020-06-15 10:58:47 +08:00
@import "../variables/colors";
@import "../variables/sizes";
/**
* Date picker component
* Defaults for dates range picker, i.e. two calendars and all that
* - Unfortunately re-using datepicker plugin styles :(
*/
$border-radius: 4px;
$sDates-defaultWidth: 434px;
.DatePicker {
position: relative;
z-index: 3;
}
.DatePicker-dates {
display: block;
position: relative;
box-sizing: content-box;
width: $sDates-defaultWidth;
height: 38px;
padding: 0 $sMargin-elementInline;
outline: none;
color: $cTypography-help;
text-align: left;
}
.DatePicker--withBorder .DatePicker-dates {
border: 1px solid #CCC;
border-radius: 4px;
background: WHITE;
}
.DatePicker-dates.has-icon {
width: $sDates-defaultWidth - $sMargin-section;
padding-right: $sMargin-section + $sMargin-elementInline;
}
.DatePicker-dates.DatePicker-dates--singleDate {
width: 86px;
}
.DatePicker-dates strong {
color: $cTypography-paragraphs;
font-weight: $sFontWeight-normal;
}
.DatePicker-datesIcon {
position: absolute;
top: 11px;
right: 15px;
color: $cTypography-help;
font-size: $sFontSize-larger;
}
.DatePicker-dates:hover,
.DatePicker-dates:focus {
border-color: #999;
.DatePicker-datesIcon {
color: $cTypography-secondary;
}
}
.DatePicker-dates.is-disabled {
opacity: 0.5;
&:hover {
border-color: #CCC;
color: $cTypography-help;
.DatePicker-datesIcon {
color: $cTypography-help;
}
}
}
.DatePicker-dropdown {
position: absolute;
right: 0;
bottom: 43px;
left: 0;
width: 458px;
padding: 0;
border: 1px solid #CCC;
border-radius: $border-radius;
background: WHITE;
box-shadow: rgba(black, 0.1) 0 0 2px 2px;
}
.DatePicker-dropdown::after,
.DatePicker-dropdown::before {
content: '';
position: absolute;
bottom: -10px;
left: 50%;
}
.DatePicker-dropdown::before {
z-index: 1;
bottom: -8px;
margin-left: -4px;
border-top: 8px solid $cCard-hoverFill;
border-right: 8px solid transparent;
border-left: 8px solid transparent;
}
.DatePicker-dropdown::after {
z-index: 0;
bottom: -10px;
margin-left: -6px;
border-top: 10px solid #CCC;
border-right: 10px solid transparent;
border-left: 10px solid transparent;
}
.DatePicker-simpleDropdown {
position: absolute;
top: 49px;
right: -16px;
width: 236px;
padding: 0;
border: 1px solid #CCC;
border-radius: $border-radius;
background: #FFF;
box-shadow: rgba(#000, 0.1) 0 0 2px 2px;
font: normal 13px/20px "Lato", sans-serif;
}
.DatePicker-simpleDropdown::after,
.DatePicker-simpleDropdown::before {
content: '';
position: absolute;
top: -10px;
left: 50%;
}
.DatePicker-simpleDropdown::after {
z-index: 1;
top: -8px;
margin-left: -4px;
border-right: 8px solid transparent;
border-bottom: 8px solid $cCard-hoverFill;
border-left: 8px solid transparent;
}
.DatePicker-simpleDropdown::before {
z-index: 0;
top: -10px;
margin-left: -6px;
border-right: 10px solid transparent;
border-bottom: 10px solid #CCC;
border-left: 10px solid transparent;
}
// Timers
.DatePicker-timers {
display: flex;
align-items: center;
justify-content: space-between;
margin: 0 18px;
}
.DatePicker-timersFrom,
.DatePicker-timersTo {
display: flex;
align-items: center;
justify-content: space-between;
width: 180px;
padding: 10px 10px 0;
border-top: 1px solid $cStructure-mainLine;
}
.DatePicker-timersLabel {
margin-right: 5px;
color: $cTypography-paragraphs;
font-size: $sFontSize-small;
text-transform: uppercase;
}
// Date picker shortcuts
.DatePicker-shortcuts {
display: flex;
align-items: center;
justify-content: space-between;
width: 422px;
height: 39px;
margin-top: 9px;
padding: 0 18px;
border-top: 1px solid $cStructure-mainLine;
border-bottom-right-radius: $border-radius;
border-bottom-left-radius: $border-radius;
background: $cCard-hoverFill;
}
.DatePicker-shortcutsText {
color: $cTypography-paragraphs;
font-size: 10px;
}
// Calendar :S
// Default datepicker styles
.DatePicker-calendar {
width: 422px;
height: 196px;
margin: 16px 18px;
font-size: 11px;
cursor: default;
}
.datepickerContainer {
background: WHITE;
}
.datepickerHidden {
display: none;
}
.DatePicker-calendar table {
border-collapse: collapse;
}
.DatePicker-calendar a {
outline: none;
text-decoration: none;
cursor: pointer;
}
.DatePicker-calendar table td {
width: 22px;
height: 22px;
margin: 0;
padding: 0;
text-align: center;
}
.DatePicker-calendar th {
font-weight: normal;
text-align: center;
}
.DatePicker-calendar tbody th {
text-align: left;
}
.DatePicker-calendar tbody a {
display: block;
}
.datepickerDays a {
width: 24px;
height: 20px;
border: 1px solid white;
line-height: 20px;
}
.datepickerYears a,
.datepickerMonths a {
width: 44px;
height: 36px;
line-height: 36px;
text-align: center;
}
tbody.datepickerDays td.datepickerSelected {
background: $cHighlight-main;
}
tbody.datepickerDays td.datepickerNotInMonth.datepickerSelected {
background: #17384D;
}
tbody.datepickerYears td.datepickerSelected,
tbody.datepickerMonths td.datepickerSelected {
background: #17384D;
}
.DatePicker-calendar tbody th {
text-align: left;
}
.datepickerSpace div {
width: 20px;
}
.datepickerGoNext a,
.datepickerGoPrev a,
.datepickerMonth a {
color: #666;
font-size: 11px;
font-weight: bold;
line-height: 11px;
text-align: center;
text-transform: uppercase;
}
.datepickerGoNext a {
width: 20px;
float: right;
}
.datepickerGoPrev a {
width: 20px;
float: left;
}
table.datepickerViewDays tbody.datepickerMonths,
table.datepickerViewDays tbody.datepickerYears {
display: none;
}
table.datepickerViewMonths tbody.datepickerDays,
table.datepickerViewMonths tbody.datepickerYears,
table.datepickerViewMonths tr.datepickerDoW {
display: none;
}
table.datepickerViewYears tbody.datepickerDays,
table.datepickerViewYears tbody.datepickerMonths,
table.datepickerViewYears tr.datepickerDoW {
display: none;
}
td.datepickerDisabled a,
td.datepickerDisabled.datepickerNotInMonth a {
opacity: 0.5;
color: #333;
}
td.datepickerDisabled a:hover {
opacity: 0.5;
color: #333;
}
td.datepickerSpecial a {
background: #700;
}
td.datepickerSpecial.datepickerSelected a {
background: #A00;
}
//////////////////////////////
// Custom datepicker styles //
//////////////////////////////
.datepickerDoW {
margin: 10px 0;
border-bottom: 1px solid #CCC;
th {
height: 30px;
text-align: center !important;
&:first-child {
display: none;
}
span {
color: #CCC;
font-size: 9px;
text-transform: uppercase;
}
}
}
tbody.datepickerDays::before {
content: "-";
display: block;
color: WHITE;
line-height: 5px;
}
th.datepickerWeek {
text-align: center !important;
a {
color: #CCC;
}
}
td.datepickerSelected a {
border-color: $cHighlight-main;
color: WHITE;
}
tbody.datepickerDays td.datepickerSelectedFirst.datepickerSelected,
tbody.datepickerDays td.datepickerSelectedLast.datepickerSelected {
background: $cHighlight-main;
a {
border-radius: 22px;
border-color: $cHighlight-main;
background: WHITE;
color: $cHighlight-main;
}
}
td.datepickerSelectedFirst {
border-top-left-radius: 22px;
border-bottom-left-radius: 22px;
}
td.datepickerSelectedLast {
border-top-right-radius: 22px;
border-bottom-right-radius: 22px;
}
.datepickerNotInMonth a {
color: #999;
}
tbody.datepickerDays td.datepickerNotInMonth.datepickerSelected {
background: #E7EAEC;
a {
border-color: #E7EAEC;
}
}
// Margin for a calendar
table.datepickerViewDays {
margin: 0 10px;
}
// Hide week links
thead > tr.datepickerDoW > th:first-child,
.datepickerWeek {
display: none;
}
// Remove data picker 'inside' arrows
.datepickerContainer > table > tbody > tr td {
thead th.datepickerGoNext a,
thead th.datepickerGoPrev a {
display: none;
}
}
// Remove hover style for month title
.datepickerMonth a:hover {
cursor: default;
}
// Modify the default styles for a simple (date) calendar
.DatePicker-calendar.DatePicker-calendar--simple {
width: 200px;
padding-top: $sMargin-elementInline;
// Enable defaults to enable back/forward for single calendar
.datepickerGoNext a,
.datepickerGoPrev a {
display: block;
}
}