Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.
 
 
 
 
 

126 rindas
3.2 KiB

  1. @use '../atoms/variables' as *;
  2. @use '../atoms/mixins' as *;
  3. // ─── Monatskalender Container ─────────────────────────────────────────────────
  4. .month-calendar {
  5. position: absolute;
  6. top: calc(100% + 8px);
  7. right: 0;
  8. width: 380px;
  9. background: linear-gradient(160deg, var(--color-primary-light), var(--color-primary-dark));
  10. border-radius: $radius-xl;
  11. padding: $space-4;
  12. box-shadow: $shadow-calendar;
  13. z-index: 200;
  14. transform-origin: top right;
  15. transition:
  16. opacity 0.28s ease,
  17. transform 0.28s ease;
  18. &--hidden {
  19. opacity: 0;
  20. transform: scaleY(0.92) translateY(-8px);
  21. pointer-events: none;
  22. }
  23. &--visible {
  24. opacity: 1;
  25. transform: scaleY(1) translateY(0);
  26. }
  27. }
  28. // ─── Header (Monat/Jahr + Navigation) ────────────────────────────────────────
  29. .month-calendar__header {
  30. display: flex;
  31. align-items: center;
  32. justify-content: space-between;
  33. margin-bottom: $space-4;
  34. }
  35. .month-calendar__title {
  36. font-size: $font-size-md;
  37. font-weight: $font-weight-bold;
  38. color: var(--header-text);
  39. letter-spacing: 0.01em;
  40. }
  41. .month-calendar__arrow {
  42. @include icon-btn;
  43. color: var(--header-text);
  44. &:hover { background: var(--header-overlay); }
  45. svg { width: 8px; height: 14px; }
  46. }
  47. .month-calendar__close {
  48. margin-left: 0;
  49. }
  50. // ─── Grid ─────────────────────────────────────────────────────────────────────
  51. .month-calendar__grid {
  52. &.slide-out-left { animation: slideOutLeft 0.16s ease forwards; }
  53. &.slide-out-right { animation: slideOutRight 0.16s ease forwards; }
  54. }
  55. .month-calendar__weekdays {
  56. display: grid;
  57. grid-template-columns: repeat(7, 1fr);
  58. margin-bottom: $space-2;
  59. span {
  60. text-align: center;
  61. font-size: $font-size-xs;
  62. font-weight: $font-weight-bold;
  63. color: var(--header-text-muted);
  64. padding: $space-1 0;
  65. text-transform: uppercase;
  66. letter-spacing: 0.04em;
  67. }
  68. }
  69. .month-calendar__days {
  70. display: grid;
  71. grid-template-columns: repeat(7, 1fr);
  72. gap: 2px;
  73. }
  74. // ─── Einzelner Tag ───────────────────────────────────────────────────────────
  75. .month-day {
  76. display: flex;
  77. align-items: center;
  78. justify-content: center;
  79. aspect-ratio: 1;
  80. border-radius: $radius-md;
  81. font-size: $font-size-sm;
  82. font-weight: $font-weight-medium;
  83. color: var(--header-text);
  84. cursor: pointer;
  85. transition: background $transition-fast;
  86. user-select: none;
  87. &:hover:not(&--other) {
  88. background: var(--header-overlay);
  89. }
  90. &--other {
  91. color: var(--header-text-muted);
  92. cursor: default;
  93. }
  94. &--today {
  95. font-weight: $font-weight-bold;
  96. background: $color-white;
  97. color: $color-text-dark;
  98. &:hover {
  99. background: rgba($color-white, 0.9);
  100. }
  101. }
  102. &--active:not(&--today) {
  103. background: var(--header-overlay);
  104. font-weight: $font-weight-bold;
  105. }
  106. }