UNPKG

3.14 kBJavaScriptView Raw
1import { css } from 'lit';
2export const monthCalendarStyling = css `
3:host {
4 --_border-width: 0px;
5 --_inset: 0px;
6 --_size: 32px;
7
8 display: block;
9 font-size: 13px;
10}
11
12table,
13thead,
14tbody,
15tr,
16th,
17td {
18 position: relative;
19 padding: 0;
20}
21
22.calendar-table,
23.calendar-day {
24 text-align: center;
25}
26
27.calendar-table {
28 -webkit-user-select: none;
29 -moz-user-select: none;
30 user-select: none;
31
32 border-collapse: collapse;
33 border-spacing: 0;
34}
35
36.weekday {
37 max-height: 28px;
38 height: 28px;
39}
40
41.weekday-value {
42 max-height: 16px;
43 height: 16px;
44 color: var(--_on-weekday);
45 line-height: 1;
46}
47
48.calendar-day,
49.calendar-day:not(.week-number):not([aria-hidden="true"])::before,
50.calendar-day:not(.week-number):not([aria-hidden="true"])::after {
51 position: relative;
52 width: var(--_size);
53 height: var(--_size);
54 top: var(--_inset);
55 right: var(--_inset);
56 bottom: var(--_inset);
57 left: var(--_inset);
58 inset: var(--_inset);
59 border: var(--_border-width) solid var(--_border-color);
60 border-radius: 50%;
61 outline: none;
62}
63
64.calendar-day {
65 min-width: var(--_size);
66 min-height: var(--_size);
67 max-width: var(--_size);
68 max-height: var(--_size);
69}
70.calendar-day.week-number {
71 color: var(--_on-week-number);
72}
73.calendar-day[aria-disabled="true"] {
74 color: var(--_on-disabled);
75}
76@media (any-hover: hover) {
77 .calendar-day:not(.week-number):not([aria-hidden="true"]):not([aria-disabled="true"]):hover {
78 cursor: pointer;
79 }
80}
81
82.calendar-day:not(.week-number):not([aria-hidden="true"])::before,
83.calendar-day:not(.week-number):not([aria-hidden="true"])::after {
84 --_size: (var(--_size) - (var(--_inset) * 2) - (var(--_border-width) * 2));
85
86 content: attr(data-day);
87 display: flex;
88 align-items: center;
89 justify-content: center;
90
91 position: absolute;
92 width: var(--_size);
93 height: var(--_size);
94 pointer-events: none;
95}
96
97.calendar-day::before {
98 z-index: 1;
99}
100.calendar-day:not([aria-disabled="true"]):focus-visible::before,
101.calendar-day:not([aria-disabled="true"]):hover::before {
102 --_border-color: var(--_focus);
103 --_border-width: 1px;
104 --_inset: 0px;
105
106 color: var(--_on-focus);
107}
108.calendar-day:not([aria-disabled="true"]):hover::before,
109.calendar-day.day--today:not([aria-selected="true"]):hover::before {
110 --_border-color: var(--_hover);
111
112 color: var(--_on-hover);
113}
114.calendar-day[aria-selected="true"]::before {
115 color: var(--_on-primary);
116}
117.calendar-day[aria-selected="true"]:focus-visible::before {
118 --_border-color: var(--_selected-focus);
119
120 color: var(--_selected-on-focus);
121}
122.calendar-day[aria-selected="true"]:hover::before {
123 --_border-color: var(--_selected-hover);
124
125 color: var(--_selected-on-hover);
126}
127.calendar-day.day--today:not([aria-selected="true"])::before {
128 --_border-color: var(--_today);
129 --_border-width: 1px;
130
131 color: var(--_on-today);
132}
133
134.calendar-day:not(.week-number):not([aria-hidden="true"])::after {
135 content: '';
136}
137.calendar-day:not([aria-disabled="true"]):focus-visible::after,
138.calendar-day:not([aria-disabled="true"]):hover::after {
139 --_inset: 3px;
140}
141.calendar-day[aria-selected="true"]::after {
142 background-color: var(--_primary);
143}
144`;