UNPKG

2.33 kBSCSSView Raw
1@import 'default-theme';
2@import 'variables';
3@import 'mixins';
4
5$md-radio-size: $md-toggle-size !default;
6
7// Top-level host container.
8md-radio-button {
9 display: inline-block;
10}
11
12// Inner label container, wrapping entire element.
13// Enables focus by click.
14.md-radio-label {
15 cursor: pointer;
16 display: inline-flex;
17 align-items: baseline;
18 white-space: nowrap;
19}
20
21// Container for radio circles and ripple.
22.md-radio-container {
23 box-sizing: border-box;
24 display: inline-block;
25 height: $md-radio-size;
26 position: relative;
27 width: $md-radio-size;
28 top: 2px;
29}
30
31// The outer circle for the radio, always present.
32.md-radio-outer-circle {
33 border-color: md-color($md-foreground, secondary-text);
34 border: solid 2px;
35 border-radius: 50%;
36 box-sizing: border-box;
37 height: $md-radio-size;
38 left: 0;
39 position: absolute;
40 top: 0;
41 transition: border-color ease 280ms;
42 width: $md-radio-size;
43
44 .md-radio-checked & {
45 border-color: md-color($md-accent);
46 }
47
48 .md-radio-disabled & {
49 border-color: md-color($md-foreground, disabled);
50 }
51}
52
53// The inner circle for the radio, shown when checked.
54.md-radio-inner-circle {
55 background-color: md-color($md-accent);
56 border-radius: 50%;
57 box-sizing: border-box;
58 height: $md-radio-size;
59 left: 0;
60 position: absolute;
61 top: 0;
62 transition: transform ease 280ms, background-color ease 280ms;
63 transform: scale(0);
64 width: $md-radio-size;
65
66 .md-radio-checked & {
67 transform: scale(0.5);
68 }
69
70 .md-radio-disabled & {
71 background-color: md-color($md-foreground, disabled);
72 }
73}
74
75// Text label next to radio.
76.md-radio-label-content {
77 display: inline-block;
78 order: 0;
79 line-height: inherit;
80 padding-left: $md-toggle-padding;
81 padding-right: 0;
82
83 [dir='rtl'] & {
84 padding-right: $md-toggle-padding;
85 padding-left: 0;
86 }
87}
88
89// Alignment.
90.md-radio-label-content.md-radio-align-end {
91 order: -1;
92 padding-left: 0;
93 padding-right: $md-toggle-padding;
94
95 [dir='rtl'] & {
96 padding-right: 0;
97 padding-left: $md-toggle-padding;
98 }
99}
100
101// Underlying native input element.
102// Visually hidden but still able to respond to focus.
103.md-radio-input {
104 @include md-visually-hidden;
105}
106
107// Basic disabled state.
108.md-radio-disabled, .md-radio-disabled .md-radio-label {
109 cursor: default;
110}
111
112@include md-temporary-ink-ripple(radio);