_calendars.scss 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. .calendar {
  2. display: block;
  3. font-size: $font-size-sm;
  4. border: var(--#{$prefix}border-width) var(--#{$prefix}border-style) var(--#{$prefix}border-color);
  5. border-radius: var(--#{$prefix}border-radius);
  6. }
  7. .calendar-nav {
  8. display: flex;
  9. align-items: center;
  10. }
  11. .calendar-title {
  12. flex: 1;
  13. text-align: center;
  14. }
  15. .calendar-body,
  16. .calendar-header {
  17. display: flex;
  18. flex-wrap: wrap;
  19. justify-content: flex-start;
  20. padding: .5rem 0;
  21. }
  22. .calendar-header {
  23. color: var(--#{$prefix}secondary);
  24. }
  25. .calendar-date {
  26. flex: 0 0 divide(100%, 7);
  27. max-width: divide(100%, 7);
  28. padding: .2rem;
  29. text-align: center;
  30. border: 0;
  31. &.prev-month,
  32. &.next-month {
  33. opacity: .25;
  34. }
  35. .date-item {
  36. position: relative;
  37. display: inline-block;
  38. width: 1.4rem;
  39. height: 1.4rem;
  40. line-height: 1.4rem;
  41. color: #66758c;
  42. text-align: center;
  43. text-decoration: none;
  44. white-space: nowrap;
  45. vertical-align: middle;
  46. cursor: pointer;
  47. background: 0 0;
  48. border: var(--#{$prefix}border-width) var(--#{$prefix}border-style) transparent;
  49. border-radius: $border-radius-pill;
  50. outline: 0;
  51. @include transition(background $transition-time, border $transition-time, box-shadow .32s, color $transition-time);
  52. &:hover {
  53. color: var(--#{$prefix}primary);
  54. text-decoration: none;
  55. background: #fefeff;
  56. border-color: var(--#{$prefix}border-color);
  57. }
  58. }
  59. .date-today {
  60. color: var(--#{$prefix}primary);
  61. border-color: var(--#{$prefix}border-color);
  62. }
  63. }
  64. .calendar-range {
  65. position: relative;
  66. &:before {
  67. position: absolute;
  68. top: 50%;
  69. right: 0;
  70. left: 0;
  71. height: 1.4rem;
  72. content: "";
  73. background: rgba(var(--#{$prefix}primary-rgb), .1);
  74. transform: translateY(-50%);
  75. }
  76. &.range-start,
  77. &.range-end {
  78. .date-item {
  79. color: $white;
  80. background: var(--#{$prefix}primary);
  81. border-color: var(--#{$prefix}primary);
  82. }
  83. }
  84. &.range-start:before {
  85. left: 50%;
  86. }
  87. &.range-end:before {
  88. right: 50%;
  89. }
  90. }