// A stylesheet for use with Bootstrap 3.x // @author: Dan Grossman http://www.dangrossman.info/ // @copyright: Copyright (c) 2012-2015 Dan Grossman. All rights reserved. // @license: Licensed under the MIT license. See http://www.opensource.org/licenses/mit-license.php // @website: https://www.improvely.com/ /* stylelint-disable selector-class-pattern */ // VARIABLES // Settings // The class name to contain everything within. $arrow-size: 7px; // Colors $daterangepicker-color: $green-50; $daterangepicker-bg-color: #fff; $daterangepicker-cell-color: $daterangepicker-color; $daterangepicker-cell-border-color: transparent; $daterangepicker-cell-bg-color: $daterangepicker-bg-color; $daterangepicker-cell-hover-color: $daterangepicker-color; $daterangepicker-cell-hover-border-color: $daterangepicker-cell-border-color; $daterangepicker-cell-hover-bg-color: #eee; $daterangepicker-in-range-color: #000; $daterangepicker-in-range-border-color: transparent; $daterangepicker-in-range-bg-color: #ebf4f8; $daterangepicker-active-color: #fff; $daterangepicker-active-bg-color: #138a07; $daterangepicker-active-border-color: transparent; $daterangepicker-unselected-color: #999; $daterangepicker-unselected-border-color: transparent; $daterangepicker-unselected-bg-color: #fff; // daterangepicker $daterangepicker-width: 278px; $daterangepicker-padding: 4px; $daterangepicker-z-index: 3000; $daterangepicker-border-size: 1px; $daterangepicker-border-color: #ccc; $daterangepicker-border-radius: 4px; // Calendar $daterangepicker-calendar-margin: $daterangepicker-padding; $daterangepicker-calendar-bg-color: $daterangepicker-bg-color; $daterangepicker-calendar-border-size: 1px; $daterangepicker-calendar-border-color: $daterangepicker-bg-color; $daterangepicker-calendar-border-radius: $daterangepicker-border-radius; // Calendar Cells $daterangepicker-cell-size: 20px; $daterangepicker-cell-width: $daterangepicker-cell-size; $daterangepicker-cell-height: $daterangepicker-cell-size; $daterangepicker-cell-border-radius: $daterangepicker-calendar-border-radius; $daterangepicker-cell-border-size: 1px; // Dropdowns $daterangepicker-dropdown-z-index: $daterangepicker-z-index + 1; // Controls $daterangepicker-control-height: 30px; $daterangepicker-control-line-height: $daterangepicker-control-height; $daterangepicker-control-color: #555; $daterangepicker-control-border-size: 1px; $daterangepicker-control-border-color: #ccc; $daterangepicker-control-border-radius: 4px; $daterangepicker-control-active-border-size: 1px; $daterangepicker-control-active-border-color: $green-50; $daterangepicker-control-active-border-radius: $daterangepicker-control-border-radius; $daterangepicker-control-disabled-color: #ccc; // Ranges $daterangepicker-ranges-color: $green-50; $daterangepicker-ranges-bg-color: daterangepicker-ranges-color; $daterangepicker-ranges-border-size: 1px; $daterangepicker-ranges-border-color: $daterangepicker-ranges-bg-color; $daterangepicker-ranges-border-radius: $daterangepicker-border-radius; $daterangepicker-ranges-hover-color: #fff; $daterangepicker-ranges-hover-bg-color: $daterangepicker-ranges-color; $daterangepicker-ranges-hover-border-size: $daterangepicker-ranges-border-size; $daterangepicker-ranges-hover-border-color: $daterangepicker-ranges-hover-bg-color; $daterangepicker-ranges-hover-border-radius: $daterangepicker-border-radius; $daterangepicker-ranges-active-border-size: $daterangepicker-ranges-border-size; $daterangepicker-ranges-active-border-color: $daterangepicker-ranges-bg-color; $daterangepicker-ranges-active-border-radius: $daterangepicker-border-radius; // STYLESHEETS .daterangepicker { position: absolute; color: $daterangepicker-color; background-color: $daterangepicker-bg-color; border-radius: $daterangepicker-border-radius; width: $daterangepicker-width; padding: $daterangepicker-padding; margin-top: $daterangepicker-border-size; // TODO: Should these be parameterized?? // top: 100px; // left: 20px; $arrow-prefix-size: $arrow-size; $arrow-suffix-size: ($arrow-size - $daterangepicker-border-size); &::before, &::after { position: absolute; display: inline-block; border-bottom-color: rgb(0 0 0 / 20%); content: ''; } &::before { top: -$arrow-prefix-size; border-right: $arrow-prefix-size solid transparent; border-left: $arrow-prefix-size solid transparent; border-bottom: $arrow-prefix-size solid $daterangepicker-border-color; } &::after { top: -$arrow-suffix-size; border-right: $arrow-suffix-size solid transparent; border-bottom: $arrow-suffix-size solid $daterangepicker-bg-color; border-left: $arrow-suffix-size solid transparent; } &.opensleft { &::before { // TODO: Make this relative to prefix size. right: $arrow-prefix-size + 2px; } &::after { // TODO: Make this relative to suffix size. right: $arrow-suffix-size + 4px; } } &.openscenter { &::before { left: 0; right: 0; width: 0; margin-left: auto; margin-right: auto; } &::after { left: 0; right: 0; width: 0; margin-left: auto; margin-right: auto; } } &.opensright { &::before { // TODO: Make this relative to prefix size. left: $arrow-prefix-size + 2px; } &::after { // TODO: Make this relative to suffix size. left: $arrow-suffix-size + 4px; } } &.dropup { margin-top: -5px; // NOTE: Note sure why these are special-cased. &::before { top: initial; bottom: -$arrow-prefix-size; border-bottom: initial; border-top: $arrow-prefix-size solid $daterangepicker-border-color; } &::after { top: initial; bottom: -$arrow-suffix-size; border-bottom: initial; border-top: $arrow-suffix-size solid $daterangepicker-bg-color; } } &.dropdown-menu { max-width: none; z-index: $daterangepicker-dropdown-z-index; } &.single { .ranges, .calendar { float: none; } } /* Calendars */ &.show-calendar { .calendar { display: block; } } .calendar { display: none; max-width: $daterangepicker-width - ($daterangepicker-calendar-margin * 2); margin: $daterangepicker-calendar-margin; &.single { .calendar-table { border: none; } } th, td { white-space: nowrap; text-align: center; // TODO: Should this actually be hard-coded? min-width: 32px; } } .calendar-table { border: $daterangepicker-calendar-border-size solid $daterangepicker-calendar-border-color; padding: $daterangepicker-calendar-margin; border-radius: $daterangepicker-calendar-border-radius; background-color: $daterangepicker-calendar-bg-color; } table { width: 100%; margin: 0; } td, th { text-align: center; width: $daterangepicker-cell-width; height: $daterangepicker-cell-height; border-radius: $daterangepicker-cell-border-radius; border: $daterangepicker-cell-border-size solid $daterangepicker-cell-border-color; white-space: nowrap; cursor: pointer; &.available { &:hover { background-color: $daterangepicker-cell-hover-bg-color; border-color: $daterangepicker-cell-hover-border-color; color: $daterangepicker-cell-hover-color; } } &.week { font-size: 80%; color: #ccc; } } td { &.off { &, &.in-range, &.start-date, &.end-date { background-color: $daterangepicker-unselected-bg-color; border-color: $daterangepicker-unselected-border-color; color: $daterangepicker-unselected-color; } } // Date Range &.in-range { background-color: $daterangepicker-in-range-bg-color; border-color: $daterangepicker-in-range-border-color; color: $daterangepicker-in-range-color; // TODO: Should this be static or should it be parameterized? border-radius: 0; } &.start-date { border-radius: $daterangepicker-cell-border-radius 0 0 $daterangepicker-cell-border-radius; } &.end-date { border-radius: 0 $daterangepicker-cell-border-radius $daterangepicker-cell-border-radius 0; } &.start-date.end-date { border-radius: $daterangepicker-cell-border-radius; } &.active { &, &:hover { background-color: $daterangepicker-active-bg-color; border-color: $daterangepicker-active-border-color; color: $daterangepicker-active-color; } } } th { &.month { width: auto; } } // Disabled Controls td, option { &.disabled { color: #999; cursor: not-allowed; text-decoration: line-through; } } select { &.monthselect, &.yearselect { font-size: 12px; padding: 1px; height: auto; margin: 0; cursor: default; } &.monthselect { margin-right: 2%; width: 56%; } &.yearselect { width: 40%; } &.hourselect, &.minuteselect, &.secondselect, &.ampmselect { width: 50px; margin-bottom: 0; } } // Text Input Controls (above calendar) .input-mini { border: $daterangepicker-control-border-size solid $daterangepicker-control-border-color; border-radius: $daterangepicker-control-border-radius; color: $daterangepicker-control-color; height: $daterangepicker-control-line-height; line-height: $daterangepicker-control-height; display: block; vertical-align: middle; // TODO: Should these all be static, too?? margin: 0 0 5px; padding: 0 6px 0 28px; width: 100%; &.active { border: $daterangepicker-control-active-border-size solid $daterangepicker-control-active-border-color; border-radius: $daterangepicker-control-active-border-radius; } } .daterangepicker_input { position: relative; padding-left: 0; i { position: absolute; // NOTE: These appear to be eyeballed to me... left: 8px; top: var(--spacing-04); } } &.rtl { .input-mini { padding-right: 28px; padding-left: 6px; } .daterangepicker_input i { left: auto; right: 8px; } } // Time Picker .calendar-time { text-align: center; margin: 5px auto; line-height: $daterangepicker-control-line-height; position: relative; padding-left: 28px; select { &.disabled { color: $daterangepicker-control-disabled-color; cursor: not-allowed; } } } } // Predefined Ranges .ranges { font-size: 11px; float: none; margin: 4px; text-align: left; ul { list-style: none; margin: 0 auto; padding: 0; width: 100%; } li { font-size: 13px; background-color: $daterangepicker-ranges-bg-color; border: $daterangepicker-ranges-border-size solid $daterangepicker-ranges-border-color; border-radius: $daterangepicker-ranges-border-radius; color: $daterangepicker-ranges-color; padding: 3px 12px; margin-bottom: 8px; cursor: pointer; &:hover { background-color: $daterangepicker-ranges-hover-bg-color; color: $daterangepicker-ranges-hover-color; } &.active { background-color: $daterangepicker-ranges-hover-bg-color; border: $daterangepicker-ranges-hover-border-size solid $daterangepicker-ranges-hover-border-color; color: $daterangepicker-ranges-hover-color; } } } /* Larger Screen Styling */ @include media-breakpoint-up(sm) { .daterangepicker { .glyphicon { /* stylelint-disable-next-line font-family-no-missing-generic-family-keyword */ font-family: FontAwesome; } .glyphicon-chevron-left::before { content: '\f053'; } .glyphicon-chevron-right::before { content: '\f054'; } .glyphicon-calendar::before { content: '\f073'; } width: auto; .ranges { ul { width: 160px; } } &.single { .ranges { ul { width: 100%; } } .calendar.left { clear: none; } &.ltr { .ranges, .calendar { float: left; } } &.rtl { .ranges, .calendar { float: right; } } } &.ltr { direction: ltr; text-align: left; .calendar { &.left { clear: left; margin-right: 0; .calendar-table { border-right: none; border-top-right-radius: 0; border-bottom-right-radius: 0; padding-right: 12px; } } &.right { margin-left: 0; .calendar-table { border-left: none; border-top-left-radius: 0; border-bottom-left-radius: 0; } } } .left .daterangepicker_input { padding-right: 12px; } .ranges, .calendar { float: left; } } &.rtl { direction: rtl; text-align: right; .calendar { &.left { clear: right; margin-left: 0; .calendar-table { border-left: none; border-top-left-radius: 0; border-bottom-left-radius: 0; padding-left: 12px; } } &.right { margin-right: 0; .calendar-table { border-right: none; border-top-right-radius: 0; border-bottom-right-radius: 0; } } } .ranges, .calendar { text-align: right; float: right; } } } } @include media-breakpoint-up(md) { /* force the calendar to display on one row */ .show-calendar { min-width: 658px; /* width of all contained elements, IE/Edge fallback */ width: max-content; } .daterangepicker { .ranges { width: auto; } &.ltr { .ranges { float: left; clear: none !important; } } &.rtl { .ranges { float: right; } } .calendar { clear: none !important; } } }