-
Notifications
You must be signed in to change notification settings - Fork 29
Expand file tree
/
Copy pathinput-radio-styles.js
More file actions
132 lines (128 loc) · 4.19 KB
/
input-radio-styles.js
File metadata and controls
132 lines (128 loc) · 4.19 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
import '../colors/colors.js';
import { css } from 'lit';
import { svgToCSS } from '../../helpers/svg-to-css.js';
const radioCheck = svgToCSS(`<svg width="10" height="10" viewBox="0 0 10 10" xmlns="http://www.w3.org/2000/svg">
<circle cx="5" cy="5" r="5" fill="#494c4e"></circle>
</svg>`);
export const radioStyles = css`
.d2l-input-radio,
.d2l-input-radio-label > input[type="radio"] {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
background-position: center center;
background-repeat: no-repeat;
background-size: 0.5rem 0.5rem;
border-radius: 50%;
border-style: solid;
box-sizing: border-box;
display: inline-block;
height: 1.2rem;
margin: 0;
padding: 0;
vertical-align: middle;
width: 1.2rem;
}
.d2l-input-radio[aria-checked="true"],
.d2l-input-radio:checked,
.d2l-input-radio-label > input[type="radio"]:checked {
background-image: ${radioCheck};
}
.d2l-input-radio,
.d2l-input-radio:hover:disabled,
.d2l-input-radio:hover.d2l-disabled,
.d2l-input-radio-label > input[type="radio"],
.d2l-input-radio-label > input[type="radio"]:hover:disabled {
background-color: var(--d2l-color-regolith);
border-color: var(--d2l-color-galena);
border-width: 1px;
}
.d2l-input-radio.d2l-hovering,
.d2l-input-radio:hover,
.d2l-input-radio:focus,
.d2l-input-radio-label > input[type="radio"]:hover,
.d2l-input-radio-label > input[type="radio"]:focus {
border-color: var(--d2l-input-radio-border-color-hover-focus, var(--d2l-color-celestine));
border-width: 2px;
outline: none;
}
.d2l-input-radio[aria-invalid="true"],
.d2l-input-radio-label > input[type="radio"][aria-invalid="true"] {
border-color: var(--d2l-color-cinnabar);
}
.d2l-input-radio:disabled,
.d2l-input-radio.d2l-disabled,
.d2l-input-radio-label > input[type="radio"]:disabled {
opacity: 0.5;
}
.d2l-input-radio-label {
align-items: center;
color: var(--d2l-color-ferrite);
display: flex;
font-size: 0.8rem;
font-weight: 400;
line-height: 1.2rem;
margin-bottom: 0.9rem;
overflow-wrap: anywhere;
padding-inline-end: 0;
padding-inline-start: 1.7rem;
vertical-align: middle;
}
.d2l-input-radio-label-disabled:not(.d2l-input-radio-label-disabled-tooltip),
.d2l-input-radio-label-disabled-tooltip > * {
opacity: 0.5;
}
.d2l-input-radio-label-disabled:not(.d2l-input-radio-label-disabled-tooltip) > .d2l-input-radio,
.d2l-input-radio-label-disabled:not(.d2l-input-radio-label-disabled-tooltip) > input[type="radio"] {
opacity: 1;
}
.d2l-input-radio.d2l-input-radio-disabled-tooltip.d2l-hovering,
.d2l-input-radio.d2l-input-radio-disabled-tooltip:hover,
.d2l-input-radio.d2l-input-radio-disabled-tooltip:focus,
.d2l-input-radio-label-disabled-tooltip .d2l-input-radio.d2l-hovering,
.d2l-input-radio-label-disabled-tooltip .d2l-input-radio:hover,
.d2l-input-radio-label-disabled-tooltip .d2l-input-radio:focus,
.d2l-input-radio-label-disabled-tooltip .d2l-input-radio-label > input[type="radio"]:hover,
.d2l-input-radio-label-disabled-tooltip .d2l-input-radio-label > input[type="radio"]:focus {
background-blend-mode: lighten;
background-color: color-mix(in srgb, var(--d2l-color-regolith) 50%, transparent); /* mock background opacity */
border-color: var(--d2l-input-radio-border-color-hover-focus, var(--d2l-color-celestine));
border-width: 2px;
opacity: 1;
outline: none;
}
.d2l-input-radio-label:last-of-type {
margin-bottom: 0;
}
.d2l-input-radio-label > .d2l-input-radio,
.d2l-input-radio-label > input[type="radio"] {
flex: 0 0 auto;
margin-inline-end: 0.5rem;
margin-inline-start: -1.7rem;
}
@media (prefers-contrast: more) {
.d2l-input-radio[aria-checked="true"],
.d2l-input-radio:checked,
.d2l-input-radio-label > input[type="radio"]:checked {
background-image: none;
position: relative;
}
.d2l-input-radio[aria-checked="true"]::after,
.d2l-input-radio:checked::after,
.d2l-input-radio-label > input[type="radio"]:checked::after {
background-color: FieldText;
content: "";
display: block;
height: 1.2rem;
left: 50%;
mask-image: ${radioCheck};
mask-position: center center;
mask-repeat: no-repeat;
mask-size: 0.5rem 0.5rem;
position: absolute;
top: 50%;
transform: translate(-50%, -50%);
width: 1.2rem;
}
}
`;