UNPKG

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