zenkit-css 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. package/README.md +182 -0
  2. package/dist/zenkit.css +33721 -0
  3. package/dist/zenkit.css.map +1 -0
  4. package/dist/zenkit.min.css +1 -0
  5. package/dist/zenkit.min.css.map +1 -0
  6. package/package.json +41 -0
  7. package/scss/abstracts/_functions.scss +174 -0
  8. package/scss/abstracts/_mixins.scss +272 -0
  9. package/scss/abstracts/_variables.scss +216 -0
  10. package/scss/base/_reset.scss +130 -0
  11. package/scss/base/_root.scss +194 -0
  12. package/scss/base/_typography.scss +271 -0
  13. package/scss/components/_accordion.scss +200 -0
  14. package/scss/components/_affix.scss +278 -0
  15. package/scss/components/_alerts.scss +175 -0
  16. package/scss/components/_anchor.scss +438 -0
  17. package/scss/components/_autocomplete.scss +530 -0
  18. package/scss/components/_avatar.scss +256 -0
  19. package/scss/components/_backtop.scss +329 -0
  20. package/scss/components/_badges.scss +266 -0
  21. package/scss/components/_breadcrumb.scss +102 -0
  22. package/scss/components/_buttons.scss +340 -0
  23. package/scss/components/_calendar.scss +787 -0
  24. package/scss/components/_cards.scss +265 -0
  25. package/scss/components/_carousel.scss +306 -0
  26. package/scss/components/_cascader.scss +510 -0
  27. package/scss/components/_close-button.scss +106 -0
  28. package/scss/components/_colorpicker.scss +593 -0
  29. package/scss/components/_datepicker.scss +625 -0
  30. package/scss/components/_descriptions.scss +453 -0
  31. package/scss/components/_divider.scss +253 -0
  32. package/scss/components/_drawer.scss +485 -0
  33. package/scss/components/_dropdown.scss +323 -0
  34. package/scss/components/_empty.scss +321 -0
  35. package/scss/components/_floatbutton.scss +400 -0
  36. package/scss/components/_forms.scss +753 -0
  37. package/scss/components/_image.scss +497 -0
  38. package/scss/components/_inputnumber.scss +475 -0
  39. package/scss/components/_layout.scss +538 -0
  40. package/scss/components/_list-group.scss +227 -0
  41. package/scss/components/_list.scss +528 -0
  42. package/scss/components/_mentions.scss +479 -0
  43. package/scss/components/_menu.scss +510 -0
  44. package/scss/components/_message.scss +412 -0
  45. package/scss/components/_modal.scss +304 -0
  46. package/scss/components/_navbar.scss +329 -0
  47. package/scss/components/_notification.scss +499 -0
  48. package/scss/components/_offcanvas.scss +274 -0
  49. package/scss/components/_pagination.scss +176 -0
  50. package/scss/components/_placeholder.scss +237 -0
  51. package/scss/components/_popconfirm.scss +393 -0
  52. package/scss/components/_popover.scss +298 -0
  53. package/scss/components/_progress.scss +225 -0
  54. package/scss/components/_rating.scss +314 -0
  55. package/scss/components/_result.scss +383 -0
  56. package/scss/components/_segmented.scss +441 -0
  57. package/scss/components/_select.scss +412 -0
  58. package/scss/components/_spinners.scss +229 -0
  59. package/scss/components/_statistic.scss +336 -0
  60. package/scss/components/_steps.scss +343 -0
  61. package/scss/components/_tabs.scss +239 -0
  62. package/scss/components/_tag.scss +317 -0
  63. package/scss/components/_timeline.scss +341 -0
  64. package/scss/components/_timepicker.scss +468 -0
  65. package/scss/components/_toast.scss +279 -0
  66. package/scss/components/_tooltip.scss +305 -0
  67. package/scss/components/_tour.scss +488 -0
  68. package/scss/components/_transfer.scss +556 -0
  69. package/scss/components/_tree.scss +518 -0
  70. package/scss/components/_treeselect.scss +531 -0
  71. package/scss/components/_upload.scss +510 -0
  72. package/scss/components/_watermark.scss +314 -0
  73. package/scss/content/_figures.scss +38 -0
  74. package/scss/content/_images.scss +138 -0
  75. package/scss/content/_tables.scss +232 -0
  76. package/scss/layout/_container.scss +71 -0
  77. package/scss/layout/_grid.scss +258 -0
  78. package/scss/utilities/_animations.scss +494 -0
  79. package/scss/utilities/_borders.scss +246 -0
  80. package/scss/utilities/_colors.scss +194 -0
  81. package/scss/utilities/_display.scss +263 -0
  82. package/scss/utilities/_filters.scss +328 -0
  83. package/scss/utilities/_flex.scss +178 -0
  84. package/scss/utilities/_float.scss +70 -0
  85. package/scss/utilities/_grid-utils.scss +151 -0
  86. package/scss/utilities/_helpers.scss +479 -0
  87. package/scss/utilities/_interactions.scss +249 -0
  88. package/scss/utilities/_overflow.scss +204 -0
  89. package/scss/utilities/_position.scss +245 -0
  90. package/scss/utilities/_shadows.scss +67 -0
  91. package/scss/utilities/_sizing.scss +217 -0
  92. package/scss/utilities/_spacing.scss +207 -0
  93. package/scss/utilities/_text.scss +237 -0
  94. package/scss/utilities/_transforms.scss +368 -0
  95. package/scss/utilities/_visibility.scss +251 -0
  96. package/scss/zenkit.scss +121 -0
@@ -0,0 +1,787 @@
1
+ // ========================================
2
+ // ZenKit - Calendar Component
3
+ // Full calendar view for scheduling
4
+ // ========================================
5
+
6
+ @use '../abstracts/variables' as *;
7
+
8
+ // ----------------------------------------
9
+ // Calendar Container
10
+ // ----------------------------------------
11
+ .calendar {
12
+ background-color: var(--bg-primary);
13
+ border: 1px solid var(--border-color);
14
+ border-radius: $border-radius;
15
+ overflow: hidden;
16
+ }
17
+
18
+ // ----------------------------------------
19
+ // Calendar Header
20
+ // ----------------------------------------
21
+ .calendar-header {
22
+ display: flex;
23
+ align-items: center;
24
+ justify-content: space-between;
25
+ padding: 1rem;
26
+ background-color: var(--bg-secondary);
27
+ border-bottom: 1px solid var(--border-color);
28
+ }
29
+
30
+ .calendar-header-nav {
31
+ display: flex;
32
+ align-items: center;
33
+ gap: 0.5rem;
34
+ }
35
+
36
+ .calendar-nav-btn {
37
+ display: flex;
38
+ align-items: center;
39
+ justify-content: center;
40
+ width: 2rem;
41
+ height: 2rem;
42
+ padding: 0;
43
+ color: var(--text-muted);
44
+ background: transparent;
45
+ border: none;
46
+ border-radius: $border-radius-sm;
47
+ cursor: pointer;
48
+ transition: color 0.15s ease, background-color 0.15s ease;
49
+
50
+ &:hover {
51
+ color: var(--text-primary);
52
+ background-color: var(--bg-tertiary);
53
+ }
54
+
55
+ &:disabled {
56
+ opacity: 0.5;
57
+ cursor: not-allowed;
58
+ }
59
+ }
60
+
61
+ .calendar-title {
62
+ font-size: 1.125rem;
63
+ font-weight: 600;
64
+ color: var(--text-primary);
65
+ }
66
+
67
+ .calendar-header-actions {
68
+ display: flex;
69
+ align-items: center;
70
+ gap: 0.5rem;
71
+ }
72
+
73
+ .calendar-today-btn {
74
+ padding: 0.375rem 0.75rem;
75
+ font-size: 0.875rem;
76
+ color: var(--text-primary);
77
+ background: transparent;
78
+ border: 1px solid var(--border-color);
79
+ border-radius: $border-radius-sm;
80
+ cursor: pointer;
81
+ transition: all 0.15s ease;
82
+
83
+ &:hover {
84
+ background-color: var(--bg-tertiary);
85
+ }
86
+ }
87
+
88
+ .calendar-view-select {
89
+ display: flex;
90
+ align-items: center;
91
+ gap: 0;
92
+ border: 1px solid var(--border-color);
93
+ border-radius: $border-radius-sm;
94
+ overflow: hidden;
95
+ }
96
+
97
+ .calendar-view-btn {
98
+ padding: 0.375rem 0.75rem;
99
+ font-size: 0.875rem;
100
+ color: var(--text-primary);
101
+ background: transparent;
102
+ border: none;
103
+ cursor: pointer;
104
+ transition: all 0.15s ease;
105
+
106
+ &:not(:last-child) {
107
+ border-right: 1px solid var(--border-color);
108
+ }
109
+
110
+ &:hover {
111
+ background-color: var(--bg-secondary);
112
+ }
113
+
114
+ &.is-active {
115
+ color: #fff;
116
+ background-color: var(--primary);
117
+ }
118
+ }
119
+
120
+ // ----------------------------------------
121
+ // Calendar Month View
122
+ // ----------------------------------------
123
+ .calendar-month {
124
+ display: flex;
125
+ flex-direction: column;
126
+ }
127
+
128
+ .calendar-weekdays {
129
+ display: grid;
130
+ grid-template-columns: repeat(7, 1fr);
131
+ background-color: var(--bg-secondary);
132
+ border-bottom: 1px solid var(--border-color);
133
+ }
134
+
135
+ .calendar-weekday {
136
+ display: flex;
137
+ align-items: center;
138
+ justify-content: center;
139
+ padding: 0.75rem;
140
+ font-size: 0.75rem;
141
+ font-weight: 600;
142
+ color: var(--text-muted);
143
+ text-transform: uppercase;
144
+ }
145
+
146
+ .calendar-days {
147
+ display: grid;
148
+ grid-template-columns: repeat(7, 1fr);
149
+ }
150
+
151
+ .calendar-day {
152
+ position: relative;
153
+ display: flex;
154
+ flex-direction: column;
155
+ min-height: 100px;
156
+ padding: 0.5rem;
157
+ border-right: 1px solid var(--border-color);
158
+ border-bottom: 1px solid var(--border-color);
159
+ cursor: pointer;
160
+ transition: background-color 0.15s ease;
161
+
162
+ &:nth-child(7n) {
163
+ border-right: none;
164
+ }
165
+
166
+ &:hover {
167
+ background-color: var(--bg-secondary);
168
+ }
169
+
170
+ &.is-today {
171
+ background-color: rgba(var(--primary-rgb), 0.05);
172
+ }
173
+
174
+ &.is-selected {
175
+ background-color: rgba(var(--primary-rgb), 0.1);
176
+ }
177
+
178
+ &.is-other-month {
179
+ background-color: var(--bg-secondary);
180
+ opacity: 0.5;
181
+ }
182
+
183
+ &.is-disabled {
184
+ background-color: var(--bg-secondary);
185
+ cursor: not-allowed;
186
+ opacity: 0.35;
187
+ }
188
+ }
189
+
190
+ .calendar-day-number {
191
+ display: flex;
192
+ align-items: center;
193
+ justify-content: center;
194
+ width: 1.75rem;
195
+ height: 1.75rem;
196
+ font-size: 0.875rem;
197
+ font-weight: 500;
198
+ color: var(--text-primary);
199
+ border-radius: 50%;
200
+
201
+ .is-today & {
202
+ color: #fff;
203
+ background-color: var(--primary);
204
+ }
205
+
206
+ .is-weekend & {
207
+ color: var(--danger);
208
+ }
209
+ }
210
+
211
+ .calendar-day-events {
212
+ display: flex;
213
+ flex-direction: column;
214
+ gap: 2px;
215
+ margin-top: 0.25rem;
216
+ overflow: hidden;
217
+ }
218
+
219
+ .calendar-event {
220
+ display: flex;
221
+ align-items: center;
222
+ padding: 0.125rem 0.375rem;
223
+ font-size: 0.75rem;
224
+ color: #fff;
225
+ background-color: var(--primary);
226
+ border-radius: $border-radius-sm;
227
+ overflow: hidden;
228
+ text-overflow: ellipsis;
229
+ white-space: nowrap;
230
+ cursor: pointer;
231
+
232
+ &.calendar-event-success {
233
+ background-color: var(--success);
234
+ }
235
+
236
+ &.calendar-event-warning {
237
+ background-color: var(--warning);
238
+ color: var(--text-primary);
239
+ }
240
+
241
+ &.calendar-event-danger {
242
+ background-color: var(--danger);
243
+ }
244
+
245
+ &.calendar-event-info {
246
+ background-color: var(--info);
247
+ }
248
+ }
249
+
250
+ .calendar-day-more {
251
+ font-size: 0.75rem;
252
+ color: var(--text-muted);
253
+ cursor: pointer;
254
+
255
+ &:hover {
256
+ color: var(--primary);
257
+ }
258
+ }
259
+
260
+ // ----------------------------------------
261
+ // Calendar Week View
262
+ // ----------------------------------------
263
+ .calendar-week {
264
+ display: flex;
265
+ flex-direction: column;
266
+ }
267
+
268
+ .calendar-week-header {
269
+ display: grid;
270
+ grid-template-columns: 60px repeat(7, 1fr);
271
+ background-color: var(--bg-secondary);
272
+ border-bottom: 1px solid var(--border-color);
273
+ }
274
+
275
+ .calendar-week-header-cell {
276
+ display: flex;
277
+ flex-direction: column;
278
+ align-items: center;
279
+ padding: 0.5rem;
280
+ border-right: 1px solid var(--border-color);
281
+
282
+ &:first-child {
283
+ border-right: 1px solid var(--border-color);
284
+ }
285
+
286
+ &:last-child {
287
+ border-right: none;
288
+ }
289
+ }
290
+
291
+ .calendar-week-day-name {
292
+ font-size: 0.75rem;
293
+ font-weight: 600;
294
+ color: var(--text-muted);
295
+ text-transform: uppercase;
296
+ }
297
+
298
+ .calendar-week-day-number {
299
+ display: flex;
300
+ align-items: center;
301
+ justify-content: center;
302
+ width: 2rem;
303
+ height: 2rem;
304
+ margin-top: 0.25rem;
305
+ font-size: 1rem;
306
+ font-weight: 500;
307
+ border-radius: 50%;
308
+
309
+ &.is-today {
310
+ color: #fff;
311
+ background-color: var(--primary);
312
+ }
313
+ }
314
+
315
+ .calendar-week-body {
316
+ display: grid;
317
+ grid-template-columns: 60px repeat(7, 1fr);
318
+ max-height: 600px;
319
+ overflow-y: auto;
320
+ }
321
+
322
+ .calendar-week-time-column {
323
+ display: flex;
324
+ flex-direction: column;
325
+ }
326
+
327
+ .calendar-week-time {
328
+ display: flex;
329
+ align-items: flex-start;
330
+ justify-content: flex-end;
331
+ height: 48px;
332
+ padding-right: 0.5rem;
333
+ font-size: 0.75rem;
334
+ color: var(--text-muted);
335
+ border-right: 1px solid var(--border-color);
336
+ }
337
+
338
+ .calendar-week-day-column {
339
+ position: relative;
340
+ border-right: 1px solid var(--border-color);
341
+
342
+ &:last-child {
343
+ border-right: none;
344
+ }
345
+ }
346
+
347
+ .calendar-week-hour {
348
+ height: 48px;
349
+ border-bottom: 1px solid var(--border-color);
350
+
351
+ &:last-child {
352
+ border-bottom: none;
353
+ }
354
+ }
355
+
356
+ .calendar-week-event {
357
+ position: absolute;
358
+ left: 2px;
359
+ right: 2px;
360
+ padding: 0.25rem 0.375rem;
361
+ font-size: 0.75rem;
362
+ color: #fff;
363
+ background-color: var(--primary);
364
+ border-radius: $border-radius-sm;
365
+ overflow: hidden;
366
+ cursor: pointer;
367
+
368
+ &.calendar-event-success {
369
+ background-color: var(--success);
370
+ }
371
+
372
+ &.calendar-event-warning {
373
+ background-color: var(--warning);
374
+ color: var(--text-primary);
375
+ }
376
+
377
+ &.calendar-event-danger {
378
+ background-color: var(--danger);
379
+ }
380
+ }
381
+
382
+ .calendar-week-event-time {
383
+ font-size: 0.625rem;
384
+ opacity: 0.8;
385
+ }
386
+
387
+ .calendar-week-event-title {
388
+ font-weight: 500;
389
+ overflow: hidden;
390
+ text-overflow: ellipsis;
391
+ white-space: nowrap;
392
+ }
393
+
394
+ // ----------------------------------------
395
+ // Calendar Day View
396
+ // ----------------------------------------
397
+ .calendar-day-view {
398
+ display: flex;
399
+ flex-direction: column;
400
+ }
401
+
402
+ .calendar-day-view-header {
403
+ display: flex;
404
+ flex-direction: column;
405
+ align-items: center;
406
+ padding: 1rem;
407
+ background-color: var(--bg-secondary);
408
+ border-bottom: 1px solid var(--border-color);
409
+ }
410
+
411
+ .calendar-day-view-name {
412
+ font-size: 0.875rem;
413
+ font-weight: 600;
414
+ color: var(--text-muted);
415
+ text-transform: uppercase;
416
+ }
417
+
418
+ .calendar-day-view-number {
419
+ display: flex;
420
+ align-items: center;
421
+ justify-content: center;
422
+ width: 3rem;
423
+ height: 3rem;
424
+ margin-top: 0.5rem;
425
+ font-size: 1.5rem;
426
+ font-weight: 600;
427
+ border-radius: 50%;
428
+
429
+ &.is-today {
430
+ color: #fff;
431
+ background-color: var(--primary);
432
+ }
433
+ }
434
+
435
+ .calendar-day-view-body {
436
+ display: grid;
437
+ grid-template-columns: 60px 1fr;
438
+ max-height: 600px;
439
+ overflow-y: auto;
440
+ }
441
+
442
+ // ----------------------------------------
443
+ // Calendar Year View
444
+ // ----------------------------------------
445
+ .calendar-year {
446
+ display: grid;
447
+ grid-template-columns: repeat(4, 1fr);
448
+ gap: 1rem;
449
+ padding: 1rem;
450
+ }
451
+
452
+ .calendar-year-month {
453
+ display: flex;
454
+ flex-direction: column;
455
+ }
456
+
457
+ .calendar-year-month-title {
458
+ padding: 0.5rem;
459
+ font-size: 0.875rem;
460
+ font-weight: 600;
461
+ color: var(--text-primary);
462
+ text-align: center;
463
+ cursor: pointer;
464
+
465
+ &:hover {
466
+ color: var(--primary);
467
+ }
468
+ }
469
+
470
+ .calendar-year-month-days {
471
+ display: grid;
472
+ grid-template-columns: repeat(7, 1fr);
473
+ gap: 1px;
474
+ }
475
+
476
+ .calendar-year-day {
477
+ display: flex;
478
+ align-items: center;
479
+ justify-content: center;
480
+ width: 100%;
481
+ aspect-ratio: 1;
482
+ font-size: 0.625rem;
483
+ color: var(--text-primary);
484
+ cursor: pointer;
485
+
486
+ &:hover {
487
+ background-color: var(--bg-secondary);
488
+ }
489
+
490
+ &.is-today {
491
+ color: #fff;
492
+ background-color: var(--primary);
493
+ border-radius: 50%;
494
+ }
495
+
496
+ &.is-other-month {
497
+ color: var(--text-muted);
498
+ opacity: 0.5;
499
+ }
500
+
501
+ &.has-event {
502
+ font-weight: 600;
503
+ color: var(--primary);
504
+ }
505
+ }
506
+
507
+ // ----------------------------------------
508
+ // Calendar Agenda View
509
+ // ----------------------------------------
510
+ .calendar-agenda {
511
+ display: flex;
512
+ flex-direction: column;
513
+ }
514
+
515
+ .calendar-agenda-date {
516
+ display: flex;
517
+ align-items: center;
518
+ gap: 0.75rem;
519
+ padding: 0.75rem 1rem;
520
+ background-color: var(--bg-secondary);
521
+ border-bottom: 1px solid var(--border-color);
522
+ }
523
+
524
+ .calendar-agenda-date-day {
525
+ display: flex;
526
+ align-items: center;
527
+ justify-content: center;
528
+ width: 2.5rem;
529
+ height: 2.5rem;
530
+ font-size: 1.125rem;
531
+ font-weight: 600;
532
+ border-radius: 50%;
533
+
534
+ &.is-today {
535
+ color: #fff;
536
+ background-color: var(--primary);
537
+ }
538
+ }
539
+
540
+ .calendar-agenda-date-info {
541
+ display: flex;
542
+ flex-direction: column;
543
+ }
544
+
545
+ .calendar-agenda-date-name {
546
+ font-size: 0.875rem;
547
+ font-weight: 600;
548
+ color: var(--text-primary);
549
+ }
550
+
551
+ .calendar-agenda-date-full {
552
+ font-size: 0.75rem;
553
+ color: var(--text-muted);
554
+ }
555
+
556
+ .calendar-agenda-events {
557
+ display: flex;
558
+ flex-direction: column;
559
+ }
560
+
561
+ .calendar-agenda-event {
562
+ display: flex;
563
+ align-items: flex-start;
564
+ gap: 0.75rem;
565
+ padding: 0.75rem 1rem;
566
+ border-bottom: 1px solid var(--border-color);
567
+ cursor: pointer;
568
+ transition: background-color 0.15s ease;
569
+
570
+ &:hover {
571
+ background-color: var(--bg-secondary);
572
+ }
573
+ }
574
+
575
+ .calendar-agenda-event-time {
576
+ display: flex;
577
+ flex-direction: column;
578
+ align-items: flex-end;
579
+ min-width: 60px;
580
+ font-size: 0.75rem;
581
+ color: var(--text-muted);
582
+ }
583
+
584
+ .calendar-agenda-event-dot {
585
+ width: 8px;
586
+ height: 8px;
587
+ margin-top: 0.25rem;
588
+ background-color: var(--primary);
589
+ border-radius: 50%;
590
+ }
591
+
592
+ .calendar-agenda-event-content {
593
+ flex: 1;
594
+ }
595
+
596
+ .calendar-agenda-event-title {
597
+ font-size: 0.875rem;
598
+ font-weight: 500;
599
+ color: var(--text-primary);
600
+ }
601
+
602
+ .calendar-agenda-event-description {
603
+ margin-top: 0.25rem;
604
+ font-size: 0.75rem;
605
+ color: var(--text-muted);
606
+ }
607
+
608
+ .calendar-agenda-empty {
609
+ padding: 2rem;
610
+ text-align: center;
611
+ color: var(--text-muted);
612
+ }
613
+
614
+ // ----------------------------------------
615
+ // Calendar Mini (Small version)
616
+ // ----------------------------------------
617
+ .calendar-mini {
618
+ .calendar-header {
619
+ padding: 0.5rem;
620
+ }
621
+
622
+ .calendar-title {
623
+ font-size: 0.875rem;
624
+ }
625
+
626
+ .calendar-nav-btn {
627
+ width: 1.5rem;
628
+ height: 1.5rem;
629
+ }
630
+
631
+ .calendar-weekday {
632
+ padding: 0.375rem;
633
+ font-size: 0.625rem;
634
+ }
635
+
636
+ .calendar-day {
637
+ min-height: auto;
638
+ padding: 0.25rem;
639
+ aspect-ratio: 1;
640
+ }
641
+
642
+ .calendar-day-number {
643
+ width: 1.5rem;
644
+ height: 1.5rem;
645
+ font-size: 0.75rem;
646
+ }
647
+
648
+ .calendar-day-events {
649
+ display: none;
650
+ }
651
+
652
+ .calendar-day.has-event::after {
653
+ content: '';
654
+ position: absolute;
655
+ bottom: 2px;
656
+ left: 50%;
657
+ transform: translateX(-50%);
658
+ width: 4px;
659
+ height: 4px;
660
+ background-color: var(--primary);
661
+ border-radius: 50%;
662
+ }
663
+ }
664
+
665
+ // ----------------------------------------
666
+ // Calendar Card Variant
667
+ // ----------------------------------------
668
+ .calendar-card {
669
+ border-radius: $border-radius-lg;
670
+ box-shadow: $shadow-md;
671
+ }
672
+
673
+ // ----------------------------------------
674
+ // Calendar Borderless Variant
675
+ // ----------------------------------------
676
+ .calendar-borderless {
677
+ border: none;
678
+
679
+ .calendar-header {
680
+ background-color: transparent;
681
+ border-bottom: none;
682
+ }
683
+
684
+ .calendar-weekdays {
685
+ background-color: transparent;
686
+ border-bottom: none;
687
+ }
688
+
689
+ .calendar-day {
690
+ border: none;
691
+ }
692
+ }
693
+
694
+ // ----------------------------------------
695
+ // Calendar Sizes
696
+ // ----------------------------------------
697
+ .calendar-sm {
698
+ .calendar-header {
699
+ padding: 0.5rem 0.75rem;
700
+ }
701
+
702
+ .calendar-title {
703
+ font-size: 1rem;
704
+ }
705
+
706
+ .calendar-day {
707
+ min-height: 60px;
708
+ padding: 0.25rem;
709
+ }
710
+
711
+ .calendar-day-number {
712
+ width: 1.5rem;
713
+ height: 1.5rem;
714
+ font-size: 0.75rem;
715
+ }
716
+
717
+ .calendar-event {
718
+ font-size: 0.625rem;
719
+ padding: 0.0625rem 0.25rem;
720
+ }
721
+ }
722
+
723
+ .calendar-lg {
724
+ .calendar-header {
725
+ padding: 1.25rem 1.5rem;
726
+ }
727
+
728
+ .calendar-title {
729
+ font-size: 1.25rem;
730
+ }
731
+
732
+ .calendar-day {
733
+ min-height: 140px;
734
+ padding: 0.75rem;
735
+ }
736
+
737
+ .calendar-day-number {
738
+ width: 2rem;
739
+ height: 2rem;
740
+ font-size: 1rem;
741
+ }
742
+
743
+ .calendar-event {
744
+ padding: 0.25rem 0.5rem;
745
+ font-size: 0.875rem;
746
+ }
747
+ }
748
+
749
+ // ----------------------------------------
750
+ // Calendar Responsive
751
+ // ----------------------------------------
752
+ @media (max-width: 767.98px) {
753
+ .calendar-header {
754
+ flex-wrap: wrap;
755
+ gap: 0.5rem;
756
+ }
757
+
758
+ .calendar-header-actions {
759
+ width: 100%;
760
+ justify-content: center;
761
+ }
762
+
763
+ .calendar-day {
764
+ min-height: 60px;
765
+ padding: 0.25rem;
766
+ }
767
+
768
+ .calendar-day-events {
769
+ display: none;
770
+ }
771
+
772
+ .calendar-day.has-event::after {
773
+ content: '';
774
+ position: absolute;
775
+ bottom: 2px;
776
+ left: 50%;
777
+ transform: translateX(-50%);
778
+ width: 4px;
779
+ height: 4px;
780
+ background-color: var(--primary);
781
+ border-radius: 50%;
782
+ }
783
+
784
+ .calendar-year {
785
+ grid-template-columns: repeat(2, 1fr);
786
+ }
787
+ }