UNPKG

14.2 kBCSSView Raw
1.color-calendar {
2 position: relative;
3 display: inline-flex;
4 flex-direction: column;
5 width: auto;
6 height: auto;
7 box-sizing: border-box;
8 -webkit-user-select: none;
9 -moz-user-select: none;
10 -ms-user-select: none;
11 user-select: none;
12 overflow: hidden;
13 font-family: var(--cal-font-family-body);
14 font-size: 1rem;
15}
16
17.color-calendar .calendar__header {
18 position: relative;
19 display: grid;
20 grid-template-columns: repeat(7, minmax(20px, 55px));
21 font-family: var(--cal-font-family-header);
22}
23
24.color-calendar .calendar__monthyear {
25 font-size: 1.5rem;
26 margin: 0 auto;
27 text-align: center;
28 grid-column: 2/span 5;
29 display: flex;
30 align-items: center;
31 justify-content: center;
32}
33.color-calendar .calendar__monthyear .calendar__month {
34 cursor: pointer;
35}
36.color-calendar .calendar__monthyear .calendar__year {
37 cursor: pointer;
38}
39
40.color-calendar .calendar__arrow {
41 height: 35px;
42 width: 100%;
43 position: relative;
44 -webkit-touch-callout: none;
45 -webkit-user-select: none;
46 -moz-user-select: none;
47 -ms-user-select: none;
48 user-select: none;
49 -webkit-tap-highlight-color: transparent;
50 z-index: 101;
51 display: flex;
52 align-items: center;
53 justify-content: center;
54}
55.color-calendar .calendar__arrow-inner {
56 width: 35px;
57 height: 35px;
58 position: relative;
59 cursor: pointer;
60 display: flex;
61 align-items: center;
62 justify-content: center;
63}
64.color-calendar .calendar__arrow-prev {
65 position: relative;
66 display: flex;
67 align-items: center;
68 justify-content: center;
69}
70.color-calendar .calendar__arrow-prev .calendar__arrow-inner::before {
71 margin-left: 0.3em;
72 transform: rotate(-135deg);
73}
74.color-calendar .calendar__arrow-next {
75 position: relative;
76 display: flex;
77 align-items: center;
78 justify-content: center;
79}
80.color-calendar .calendar__arrow-next .calendar__arrow-inner::before {
81 margin-right: 0.3em;
82 transform: rotate(45deg);
83}
84
85.color-calendar .calendar__body {
86 height: auto;
87 overflow: hidden;
88}
89
90.color-calendar .calendar__weekdays {
91 display: grid;
92 grid-template-columns: repeat(7, minmax(20px, 55px));
93 margin-bottom: 5px;
94 font-family: var(--cal-font-family-weekdays);
95}
96.color-calendar .calendar__weekdays .calendar__weekday {
97 display: flex;
98 align-items: center;
99 justify-content: center;
100 height: 40px;
101}
102
103.color-calendar .calendar__days {
104 display: grid;
105 grid-template-columns: repeat(7, minmax(20px, 55px));
106 grid-template-rows: repeat(6, minmax(30px, 40px));
107 font-family: var(--cal-font-family-body);
108}
109.color-calendar .calendar__days .calendar__day {
110 position: relative;
111 z-index: 101;
112 display: flex;
113 align-items: center;
114 justify-content: center;
115}
116.color-calendar .calendar__days .calendar__day-text {
117 cursor: pointer;
118}
119.color-calendar .calendar__days .calendar__day-box {
120 position: absolute;
121 top: 50%;
122 left: 50%;
123 transform: translate(-50%, -50%);
124 width: calc(55% + 8px);
125 height: 90%;
126 opacity: 0;
127 z-index: -1;
128 cursor: pointer;
129 transition: opacity 0.3s ease-out;
130 will-change: opacity;
131}
132.color-calendar .calendar__days .calendar__day-event {
133 /* Event Bullet */
134}
135.color-calendar .calendar__days .calendar__day-event .calendar__day-bullet {
136 position: absolute;
137 top: 80%;
138 border-radius: 50%;
139 width: 4px;
140 height: 4px;
141 left: 50%;
142 transform: translateX(-50%);
143 overflow: hidden;
144 cursor: pointer;
145}
146.color-calendar .calendar__days .calendar__day-selected:not(.calendar__day-today) .calendar__day-box {
147 position: absolute;
148 top: 50%;
149 left: 50%;
150 transform: translate(-50%, -50%);
151 width: calc(55% + 8px);
152 height: 90%;
153 z-index: -1;
154 cursor: pointer;
155}
156
157.color-calendar .calendar__picker {
158 position: absolute;
159 z-index: 201;
160 width: 100%;
161 top: 75px;
162 left: 0;
163 bottom: 0;
164 background-color: white;
165 display: flex;
166 align-items: center;
167 justify-content: center;
168 visibility: hidden;
169 opacity: 0;
170 transition: all 0.3s ease;
171 font-family: var(--cal-font-family-body);
172}
173.color-calendar .calendar__picker .calendar__picker-month {
174 width: 100%;
175 display: grid;
176 grid-template-columns: repeat(3, minmax(0, 1fr));
177 grid-template-rows: repeat(4, minmax(0, 1fr));
178 grid-gap: 1rem 6%;
179 gap: 1rem 6%;
180 margin: 8%;
181 transition: none;
182}
183.color-calendar .calendar__picker .calendar__picker-month-option {
184 position: relative;
185 text-align: center;
186 padding: 15px 0;
187 font-weight: 700;
188 color: #323232;
189 border-radius: var(--cal-border-radius);
190 align-self: center;
191 cursor: pointer;
192}
193.color-calendar .calendar__picker .calendar__picker-month-option::after {
194 content: "";
195 width: 100%;
196 height: 50px;
197 position: absolute;
198 top: 50%;
199 left: 50%;
200 transform: translate(-50%, -50%);
201 background-color: var(--cal-color-primary);
202 border-radius: var(--cal-border-radius);
203 opacity: 0.1;
204 z-index: -1;
205}
206.color-calendar .calendar__picker .calendar__picker-month-option:hover:after {
207 opacity: 0.08;
208}
209.color-calendar .calendar__picker .calendar__picker-month-selected {
210 color: white;
211}
212.color-calendar .calendar__picker .calendar__picker-month-selected::after {
213 opacity: 1;
214}
215.color-calendar .calendar__picker .calendar__picker-month-selected:hover:after {
216 opacity: 0.9;
217}
218.color-calendar .calendar__picker .calendar__picker-year {
219 width: 100%;
220 display: grid;
221 grid-template-columns: repeat(3, minmax(0, 1fr));
222 grid-template-rows: repeat(4, minmax(0, 1fr));
223 grid-gap: 1rem 6%;
224 gap: 1rem 6%;
225 margin: 8%;
226 transition: none;
227}
228.color-calendar .calendar__picker .calendar__picker-year-option {
229 position: relative;
230 text-align: center;
231 padding: 15px 0;
232 font-weight: 700;
233 color: #323232;
234 border-radius: var(--cal-border-radius);
235 align-self: center;
236 cursor: pointer;
237}
238.color-calendar .calendar__picker .calendar__picker-year-option::after {
239 content: "";
240 width: 100%;
241 height: 50px;
242 position: absolute;
243 top: 50%;
244 left: 50%;
245 transform: translate(-50%, -50%);
246 background-color: var(--cal-color-primary);
247 border-radius: var(--cal-border-radius);
248 opacity: 0.1;
249 z-index: -1;
250}
251.color-calendar .calendar__picker .calendar__picker-year-option:hover:after {
252 opacity: 0.08;
253}
254.color-calendar .calendar__picker .calendar__picker-year-selected {
255 color: white;
256}
257.color-calendar .calendar__picker .calendar__picker-year-selected::after {
258 opacity: 1;
259}
260.color-calendar .calendar__picker .calendar__picker-year-selected:hover:after {
261 opacity: 0.9;
262}
263.color-calendar .calendar__picker .calendar__picker-year-arrow {
264 position: absolute;
265 opacity: 0.4;
266 border-radius: var(--cal-border-radius);
267 cursor: pointer;
268 transition: all 0.3s ease;
269}
270.color-calendar .calendar__picker .calendar__picker-year-arrow-left {
271 top: 0;
272 bottom: 0;
273 left: 0;
274 display: flex;
275 align-items: center;
276 justify-content: center;
277 padding-left: 10px;
278 padding-right: 4px;
279}
280.color-calendar .calendar__picker .calendar__picker-year-arrow-right {
281 top: 0;
282 bottom: 0;
283 right: 0;
284 display: flex;
285 align-items: center;
286 justify-content: center;
287 padding-left: 4px;
288 padding-right: 10px;
289}
290.color-calendar .calendar__picker .calendar__picker-year-arrow:hover {
291 opacity: 1;
292 background-color: #f8f8f8;
293}
294
295.chevron-thin-left {
296 display: inline-block;
297 border-right: 2px solid var(--cal-color-primary);
298 border-bottom: 2px solid var(--cal-color-primary);
299 width: 10px;
300 height: 10px;
301 transform: rotate(-225deg);
302}
303.chevron-thin-right {
304 display: inline-block;
305 border-right: 2px solid var(--cal-color-primary);
306 border-bottom: 2px solid var(--cal-color-primary);
307 width: 10px;
308 height: 10px;
309 transform: rotate(-45deg);
310}
311
312.color-calendar.month-left-align .calendar__header .calendar__monthyear {
313 grid-column: 1/span 5;
314 margin: 0;
315 justify-content: flex-start;
316 padding-left: 5%;
317}
318
319.color-calendar.glass {
320 --cal-color-primary: #EC407A;
321 --cal-font-family-header: "Open Sans", sans-serif;
322 --cal-font-family-weekdays: "Open Sans", sans-serif;
323 --cal-font-family-body: "Open Sans", sans-serif;
324 --cal-drop-shadow: 0 7px 30px -10px rgba(150, 170, 180, 0.5);
325 --cal-border: none;
326 --cal-border-radius: 0.5rem;
327 --cal-header-color: white;
328 --cal-header-background-color: rgba(0, 0, 0, 0.3);
329 border-radius: var(--cal-border-radius);
330 box-shadow: var(--cal-drop-shadow);
331 color: #323232;
332 background-color: var(--cal-header-background-color);
333 -webkit-backdrop-filter: blur(5px);
334 backdrop-filter: blur(5px);
335 border: var(--cal-border);
336}
337
338.color-calendar.glass .calendar__header {
339 padding: 20px 14px 20px 14px;
340 color: var(--cal-header-color);
341}
342
343.color-calendar.glass .calendar__monthyear {
344 font-weight: 700;
345 color: var(--cal-header-color);
346}
347
348.color-calendar.glass .calendar__arrow-inner {
349 border-radius: 50%;
350}
351.color-calendar.glass .calendar__arrow-inner::before {
352 content: "";
353 width: 0.5em;
354 height: 0.5em;
355 position: absolute;
356 border-style: solid;
357 border-width: 0.17em 0.17em 0 0;
358 display: inline-block;
359 transform-origin: center center;
360 transform: rotate(-45deg);
361 border-radius: 2px;
362 color: var(--cal-header-color);
363}
364.color-calendar.glass .calendar__arrow-inner::after {
365 content: "";
366 position: absolute;
367 top: 50%;
368 left: 50%;
369 transform: translate(-50%, -50%);
370 width: 35px;
371 height: 35px;
372 border-radius: 50%;
373 background-color: var(--cal-header-color);
374 opacity: 0.12;
375 z-index: -1;
376 transition: opacity 0.3s ease;
377}
378.color-calendar.glass .calendar__arrow-inner:hover::after {
379 transition: opacity 0.3s ease;
380 opacity: 0.25;
381}
382.color-calendar.glass .calendar__arrow-prev {
383 position: relative;
384 display: flex;
385 align-items: center;
386 justify-content: center;
387}
388.color-calendar.glass .calendar__arrow-prev .calendar__arrow-inner::before {
389 margin-left: 0.25em;
390 transform: rotate(-135deg);
391}
392.color-calendar.glass .calendar__arrow-next {
393 position: relative;
394 display: flex;
395 align-items: center;
396 justify-content: center;
397}
398.color-calendar.glass .calendar__arrow-next .calendar__arrow-inner::before {
399 margin-right: 0.25em;
400 transform: rotate(45deg);
401}
402
403.color-calendar.glass .calendar__body {
404 padding: 18px 14px;
405 border-radius: var(--cal-border-radius);
406 background-color: white;
407}
408
409.color-calendar.glass .calendar__weekdays {
410 display: grid;
411 grid-template-columns: repeat(7, minmax(20px, 55px));
412 margin-bottom: 5px;
413}
414.color-calendar.glass .calendar__weekdays .calendar__weekday {
415 font-weight: 700;
416 opacity: 0.5;
417}
418
419.color-calendar.glass .calendar__days .calendar__day-other {
420 color: #323232;
421 opacity: 0.2;
422}
423.color-calendar.glass .calendar__days .calendar__day {
424 font-weight: 600;
425}
426.color-calendar.glass .calendar__days .calendar__day-today {
427 font-weight: 700;
428 color: var(--cal-color-primary);
429}
430.color-calendar.glass .calendar__days .calendar__day-today .calendar__day-box {
431 border-radius: 0.5rem;
432 background-color: var(--cal-color-primary);
433 opacity: 0.1;
434}
435.color-calendar.glass .calendar__days .calendar__day-text:hover ~ .calendar__day-box {
436 opacity: 0.1;
437}
438.color-calendar.glass .calendar__days .calendar__day-bullet {
439 background-color: var(--cal-color-primary);
440}
441.color-calendar.glass .calendar__days .calendar__day-bullet:hover ~ .calendar__day-box {
442 opacity: 0.1;
443}
444.color-calendar.glass .calendar__days .calendar__day-box {
445 border-radius: 0.5rem;
446 background-color: var(--cal-color-primary);
447 box-shadow: 0 3px 15px -5px var(--cal-color-primary);
448}
449.color-calendar.glass .calendar__days .calendar__day-box:hover {
450 opacity: 0.1;
451}
452.color-calendar.glass .calendar__days .calendar__day-event {
453 font-weight: 700;
454}
455.color-calendar.glass .calendar__days .calendar__day-selected {
456 color: white;
457 font-weight: 700;
458}
459.color-calendar.glass .calendar__days .calendar__day-selected .calendar__day-box {
460 border-radius: 0.5rem;
461 background-color: var(--cal-color-primary);
462 opacity: 1;
463 box-shadow: 0 3px 15px -5px var(--cal-color-primary);
464}
465.color-calendar.glass .calendar__days .calendar__day-selected .calendar__day-text:hover ~ .calendar__day-box {
466 opacity: 1;
467}
468.color-calendar.glass .calendar__days .calendar__day-selected .calendar__day-bullet {
469 background-color: white;
470}
471.color-calendar.glass .calendar__days .calendar__day-selected .calendar__day-bullet:hover ~ .calendar__day-box {
472 opacity: 1;
473}
474
475.color-calendar.glass .calendar__picker {
476 background-color: white;
477 border-radius: var(--cal-border-radius);
478}
479.color-calendar.glass .calendar__picker-month-today {
480 box-shadow: inset 0px 0px 0px 1px var(--cal-color-primary);
481}
482.color-calendar.glass .calendar__picker-year-today {
483 box-shadow: inset 0px 0px 0px 1px var(--cal-color-primary);
484}
485
486.color-calendar.glass.color-calendar--small {
487 font-size: 0.8rem;
488}
489.color-calendar.glass.color-calendar--small .calendar__header {
490 padding: 10px 10px;
491 grid-template-columns: repeat(7, minmax(25px, 41px));
492}
493.color-calendar.glass.color-calendar--small .calendar__header .calendar__monthyear {
494 font-size: 1.2rem;
495}
496.color-calendar.glass.color-calendar--small .calendar__header .calendar__arrow-inner, .color-calendar.glass.color-calendar--small .calendar__header .calendar__arrow-inner::after {
497 width: 30px;
498 height: 30px;
499}
500.color-calendar.glass.color-calendar--small .calendar__body {
501 padding: 10px 10px;
502}
503.color-calendar.glass.color-calendar--small .calendar__body .calendar__weekdays {
504 grid-template-columns: repeat(7, minmax(25px, 41px));
505 margin-bottom: 0;
506}
507.color-calendar.glass.color-calendar--small .calendar__body .calendar__days {
508 grid-template-columns: repeat(7, minmax(25px, 41px));
509 grid-template-rows: repeat(6, minmax(30px, 35px));
510}
511.color-calendar.glass.color-calendar--small .calendar__body .calendar__picker {
512 top: 55px;
513}
514.color-calendar.glass.color-calendar--small .calendar__body .calendar__picker .calendar__picker-month-option {
515 padding: 10px 0;
516}
517.color-calendar.glass.color-calendar--small .calendar__body .calendar__picker .calendar__picker-month-option::after {
518 height: 40px;
519}
520.color-calendar.glass.color-calendar--small .calendar__body .calendar__picker .calendar__picker-year-option {
521 padding: 10px 0;
522}
523.color-calendar.glass.color-calendar--small .calendar__body .calendar__picker .calendar__picker-year-option::after {
524 height: 40px;
525}
\No newline at end of file