|
18 | 18 | */
|
19 | 19 |
|
20 | 20 | .spectrum-Radio {
|
21 |
| - --spectrum-radio-button-background-color: var(--spectrum-gray-50); |
| 21 | + --spectrum-radio-button-background-color: var(--spectrum-gray-25); |
22 | 22 |
|
23 | 23 | /* state colors for all themes */
|
24 | 24 | --spectrum-radio-neutral-content-color: var(--spectrum-neutral-content-color-default);
|
|
36 | 36 | --spectrum-radio-disabled-border-color: var(--spectrum-disabled-content-color);
|
37 | 37 |
|
38 | 38 | /* emphasized state colors selection indicator all themes */
|
39 |
| - --spectrum-radio-emphasized-accent-color: var(--spectrum-accent-color-900); |
40 |
| - --spectrum-radio-emphasized-accent-color-hover: var(--spectrum-accent-color-1000); |
41 |
| - --spectrum-radio-emphasized-accent-color-down: var(--spectrum-accent-color-1100); |
42 |
| - --spectrum-radio-emphasized-accent-color-focus: var(--spectrum-accent-color-1000); |
| 39 | + --spectrum-radio-emphasized-accent-color: var(--spectrum-accent-content-color-default); |
| 40 | + --spectrum-radio-emphasized-accent-color-hover: var(--spectrum-accent-content-color-hover); |
| 41 | + --spectrum-radio-emphasized-accent-color-down: var(--spectrum-accent-content-color-down); |
| 42 | + --spectrum-radio-emphasized-accent-color-focus: var(--spectrum-accent-content-color-key-focus); |
| 43 | + |
| 44 | + /* invalid state colores selection indicator all themes */ |
| 45 | + --spectrum-radio-invalid-color-default: var(--spectrum-negative-color-900); |
| 46 | + --spectrum-radio-invalid-color-hover: var(--spectrum-negative-color-1000); |
| 47 | + --spectrum-radio-invalid-color-down: var(--spectrum-negative-color-1000); |
| 48 | + --spectrum-radio-invalid-color-key-focus: var(--spectrum-negative-color-1000); |
43 | 49 |
|
44 | 50 | /* unchecked selection indicator */
|
45 |
| - --spectrum-radio-button-border-color-default: var(--spectrum-gray-600); |
46 |
| - --spectrum-radio-button-border-color-hover: var(--spectrum-gray-700); |
47 |
| - --spectrum-radio-button-border-color-down: var(--spectrum-gray-800); |
48 |
| - --spectrum-radio-button-border-color-focus: var(--spectrum-gray-700); |
| 51 | + --spectrum-radio-button-border-color-default: var(--spectrum-neutral-content-color-default); |
| 52 | + --spectrum-radio-button-border-color-hover: var(--spectrum-neutral-content-color-hover); |
| 53 | + --spectrum-radio-button-border-color-down: var(--spectrum-neutral-content-color-down); |
| 54 | + --spectrum-radio-button-border-color-focus: var(--spectrum-neutral-content-color-key-focus); |
49 | 55 |
|
50 | 56 | /* checked selection indicator */
|
51 |
| - --spectrum-radio-button-checked-border-color-default: var(--spectrum-neutral-background-color-selected-default); |
52 |
| - --spectrum-radio-button-checked-border-color-hover: var(--spectrum-neutral-background-color-selected-hover); |
53 |
| - --spectrum-radio-button-checked-border-color-down: var(--spectrum-neutral-background-color-selected-down); |
54 |
| - --spectrum-radio-button-checked-border-color-focus: var(--spectrum-neutral-background-color-selected-key-focus); |
| 57 | + --spectrum-radio-button-checked-border-color-default: var(--spectrum-neutral-content-color-default); |
| 58 | + --spectrum-radio-button-checked-border-color-hover: var(--spectrum-neutral-content-color-hover); |
| 59 | + --spectrum-radio-button-checked-border-color-down: var(--spectrum-neutral-content-color-down); |
| 60 | + --spectrum-radio-button-checked-border-color-focus: var(--spectrum-neutral-content-color-key-focus); |
55 | 61 |
|
56 | 62 | --spectrum-radio-line-height: var(--spectrum-line-height-100);
|
57 | 63 |
|
|
67 | 73 | --spectrum-radio-button-top-to-control: var(--spectrum-radio-button-top-to-control-medium);
|
68 | 74 |
|
69 | 75 | --spectrum-radio-font-size: var(--spectrum-font-size-100);
|
| 76 | + --spectrum-radio-border-width: var(--spectrum-border-width-200); |
| 77 | + --spectrum-radio-text-font-weight: var(--spectrum-regular-font-weight); |
| 78 | + --spectrum-radio-text-font-style: var(--spectrum-default-font-style); |
70 | 79 |
|
71 | 80 | /* CJK language support all themes */
|
72 | 81 | &:lang(ja),
|
|
112 | 121 | --spectrum-radio-font-size: var(--spectrum-font-size-300);
|
113 | 122 | }
|
114 | 123 |
|
115 |
| -/* windows high contrast mode */ |
116 |
| -@media (forced-colors: active) { |
117 |
| - .spectrum-Radio { |
118 |
| - --highcontrast-radio-button-background-color: ButtonFace; |
119 |
| - |
120 |
| - /* high contrast text */ |
121 |
| - --highcontrast-radio-neutral-content-color: CanvasText; |
122 |
| - --highcontrast-radio-neutral-content-color-hover: CanvasText; |
123 |
| - --highcontrast-radio-neutral-content-color-down: CanvasText; |
124 |
| - --highcontrast-radio-neutral-content-color-focus: CanvasText; |
125 |
| - |
126 |
| - /* high contrast selector */ |
127 |
| - --highcontrast-radio-button-border-color-default: ButtonText; |
128 |
| - --highcontrast-radio-button-border-color-hover: Highlight; |
129 |
| - --highcontrast-radio-button-border-color-down: ButtonText; |
130 |
| - --highcontrast-radio-button-border-color-focus: Highlight; |
131 |
| - |
132 |
| - /* high contrast emphasized selector */ |
133 |
| - --highcontrast-radio-emphasized-accent-color: ButtonText; |
134 |
| - --highcontrast-radio-emphasized-accent-color-hover: Highlight; |
135 |
| - --highcontrast-radio-emphasized-accent-color-down: ButtonText; |
136 |
| - --highcontrast-radio-emphasized-accent-color-focus: Highlight; |
137 |
| - |
138 |
| - /* high contrast checked selector */ |
139 |
| - --highcontrast-radio-button-checked-border-color-default: Highlight; |
140 |
| - --highcontrast-radio-button-checked-border-color-hover: Highlight; |
141 |
| - --highcontrast-radio-button-checked-border-color-down: Highlight; |
142 |
| - --highcontrast-radio-button-checked-border-color-focus: Highlight; |
143 |
| - |
144 |
| - /* high contrast disabled text */ |
145 |
| - --highcontrast-radio-disabled-content-color: GrayText; |
146 |
| - |
147 |
| - /* high contrast disabled selector */ |
148 |
| - --highcontrast-radio-disabled-border-color: GrayText; |
149 |
| - |
150 |
| - /* high contrast focus ring */ |
151 |
| - --highcontrast-radio-focus-indicator-color: CanvasText; |
152 |
| - |
153 |
| - /* ensure focus ring is visible if user agent has non-accessible system overrides */ |
154 |
| - .spectrum-Radio-button { |
155 |
| - &::after { |
156 |
| - forced-color-adjust: none; |
157 |
| - } |
158 |
| - } |
159 |
| - } |
160 |
| -} |
161 |
| - |
162 | 124 | .spectrum-Radio {
|
163 | 125 | display: inline-flex;
|
164 | 126 | align-items: flex-start;
|
|
184 | 146 | }
|
185 | 147 | }
|
186 | 148 |
|
| 149 | + &:not(.is-readOnly):active { |
| 150 | + .spectrum-Radio-input:not(:disabled) + .spectrum-Radio-button { |
| 151 | + transform: perspective(var(--spectrum-component-size-minimum-perspective-down)) translateZ(var(--spectrum-component-size-difference-down)); |
| 152 | + } |
| 153 | + } |
| 154 | + |
187 | 155 | &:active {
|
188 | 156 | /* selection indicator active */
|
189 | 157 | .spectrum-Radio-button::before {
|
|
262 | 230 | }
|
263 | 231 | }
|
264 | 232 |
|
| 233 | +.is-invalid { |
| 234 | + .spectrum-Radio-input + .spectrum-Radio-button::before { |
| 235 | + border-color: var(--highcontrast-radio-button-border-color-default, var(--mod-radio-invalid-border-color, var(--spectrum-radio-invalid-color-default))); |
| 236 | + } |
| 237 | + |
| 238 | + &:hover .spectrum-Radio-input + .spectrum-Radio-button::before { |
| 239 | + border-color: var(--highcontrast-radio-button-border-color-default, var(--mod-radio-invalid-border-color-hover, var(--spectrum-radio-invalid-color-hover))); |
| 240 | + } |
| 241 | + |
| 242 | + /* selection indicator invalid */ |
| 243 | + .spectrum-Radio-input:checked + .spectrum-Radio-button::before { |
| 244 | + border-color: var(--highcontrast-radio-button-checked-border-color-default, var(--mod-radio-invalid-color-default, var(--spectrum-radio-invalid-color-default))); |
| 245 | + } |
| 246 | + |
| 247 | + /* selection indicator invalid hover */ |
| 248 | + &:hover .spectrum-Radio-input:checked + .spectrum-Radio-button::before { |
| 249 | + border-color: var(--highcontrast-radio-button-checked-border-color-default, var(--mod-radio-invalid-color-hover, var(--spectrum-radio-invalid-color-hover))); |
| 250 | + } |
| 251 | + |
| 252 | + /* selection indicator invalid active */ |
| 253 | + &:active .spectrum-Radio-input:checked + .spectrum-Radio-button::before { |
| 254 | + border-color: var(--highcontrast-radio-button-checked-border-color-default, var(--mod-radio-invalid-color-down, var(--spectrum-radio-invalid-color-down))); |
| 255 | + } |
| 256 | + |
| 257 | + /* selection indicator invalid focus */ |
| 258 | + &:focus .spectrum-Radio-input:checked + .spectrum-Radio-button::before { |
| 259 | + border-color: var(--highcontrast-radio-button-checked-border-color-default, var(--mod-radio-invalid-color-key-focus, var(--spectrum-radio-invalid-color-key-focus))); |
| 260 | + } |
| 261 | +} |
| 262 | + |
265 | 263 | /* Disabled state */
|
266 | 264 | .spectrum-Radio .spectrum-Radio-input:disabled,
|
267 | 265 | .spectrum-Radio .spectrum-Radio-input:checked:disabled {
|
|
336 | 334 |
|
337 | 335 | font-size: var(--mod-radio-font-size, var(--spectrum-radio-font-size));
|
338 | 336 |
|
339 |
| - /* TODO: font weight and style tokens */ |
340 |
| - /* font-weight: var(--spectrum-radio-text-font-weight); **** missing token resolves to 400 ****/ |
341 |
| - /* font-style: var(--spectrum-radio-text-font-style); **** missing token resolves to normal ****/ |
| 337 | + font-weight: var(--spectrum-radio-text-font-weight); |
| 338 | + font-style: var(--spectrum-radio-text-font-style); |
342 | 339 | color: var(--highcontrast-radio-neutral-content-color, var(--mod-radio-neutral-content-color, var(--spectrum-radio-neutral-content-color)));
|
343 | 340 | line-height: var(--mod-radio-line-height, var(--spectrum-radio-line-height));
|
344 | 341 |
|
|
405 | 402 | }
|
406 | 403 | }
|
407 | 404 | }
|
| 405 | + |
| 406 | +/* windows high contrast mode */ |
| 407 | +@media (forced-colors: active) { |
| 408 | + .spectrum-Radio { |
| 409 | + --highcontrast-radio-button-background-color: ButtonFace; |
| 410 | + |
| 411 | + /* high contrast text */ |
| 412 | + --highcontrast-radio-neutral-content-color: CanvasText; |
| 413 | + --highcontrast-radio-neutral-content-color-hover: CanvasText; |
| 414 | + --highcontrast-radio-neutral-content-color-down: CanvasText; |
| 415 | + --highcontrast-radio-neutral-content-color-focus: CanvasText; |
| 416 | + |
| 417 | + /* high contrast selector */ |
| 418 | + --highcontrast-radio-button-border-color-default: ButtonText; |
| 419 | + --highcontrast-radio-button-border-color-hover: Highlight; |
| 420 | + --highcontrast-radio-button-border-color-down: ButtonText; |
| 421 | + --highcontrast-radio-button-border-color-focus: Highlight; |
| 422 | + |
| 423 | + /* high contrast emphasized selector */ |
| 424 | + --highcontrast-radio-emphasized-accent-color: ButtonText; |
| 425 | + --highcontrast-radio-emphasized-accent-color-hover: Highlight; |
| 426 | + --highcontrast-radio-emphasized-accent-color-down: ButtonText; |
| 427 | + --highcontrast-radio-emphasized-accent-color-focus: Highlight; |
| 428 | + |
| 429 | + /* high contrast checked selector */ |
| 430 | + --highcontrast-radio-button-checked-border-color-default: Highlight; |
| 431 | + --highcontrast-radio-button-checked-border-color-hover: Highlight; |
| 432 | + --highcontrast-radio-button-checked-border-color-down: Highlight; |
| 433 | + --highcontrast-radio-button-checked-border-color-focus: Highlight; |
| 434 | + |
| 435 | + |
| 436 | + /* high contrast disabled text */ |
| 437 | + --highcontrast-radio-disabled-content-color: GrayText; |
| 438 | + |
| 439 | + /* high contrast disabled selector */ |
| 440 | + --highcontrast-radio-disabled-border-color: GrayText; |
| 441 | + |
| 442 | + /* high contrast focus ring */ |
| 443 | + --highcontrast-radio-focus-indicator-color: CanvasText; |
| 444 | + |
| 445 | + /* ensure focus ring is visible if user agent has non-accessible system overrides */ |
| 446 | + .spectrum-Radio-button { |
| 447 | + &::after { |
| 448 | + forced-color-adjust: none; |
| 449 | + } |
| 450 | + } |
| 451 | + |
| 452 | + &.is-readOnly { |
| 453 | + .spectrum-Radio-input + .spectrum-Radio-button::before { |
| 454 | + border-color: var(--highcontrast-radio-button-border-color-default); |
| 455 | + } |
| 456 | + |
| 457 | + &:hover .spectrum-Radio-input + .spectrum-Radio-button::before { |
| 458 | + border-color: var(--highcontrast-radio-button-border-color-default); |
| 459 | + } |
| 460 | + } |
| 461 | + } |
| 462 | +} |
0 commit comments