@oruga-ui/theme-oruga 0.5.1 → 0.6.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 (39) hide show
  1. package/README.md +4 -3
  2. package/dist/oruga.css +2 -2
  3. package/dist/scss/components/_autocomplete.scss +15 -15
  4. package/dist/scss/components/_button.scss +174 -165
  5. package/dist/scss/components/_carousel.scss +199 -177
  6. package/dist/scss/components/_checkbox.scss +130 -122
  7. package/dist/scss/components/_collapse.scss +11 -9
  8. package/dist/scss/components/_datepicker.scss +408 -416
  9. package/dist/scss/components/_datetimepicker.scss +8 -8
  10. package/dist/scss/components/_dropdown.scss +224 -206
  11. package/dist/scss/components/_field.scss +107 -106
  12. package/dist/scss/components/_icon.scss +44 -40
  13. package/dist/scss/components/_input.scss +127 -112
  14. package/dist/scss/components/_loading.scss +27 -24
  15. package/dist/scss/components/_menu.scss +100 -63
  16. package/dist/scss/components/_modal.scss +66 -66
  17. package/dist/scss/components/_notification.scss +146 -134
  18. package/dist/scss/components/_pagination.scss +227 -198
  19. package/dist/scss/components/_radio.scss +95 -74
  20. package/dist/scss/components/_select.scss +143 -120
  21. package/dist/scss/components/_sidebar.scss +120 -104
  22. package/dist/scss/components/_skeleton.scss +55 -55
  23. package/dist/scss/components/_slider.scss +166 -151
  24. package/dist/scss/components/_steps.scss +300 -287
  25. package/dist/scss/components/_switch.scss +115 -128
  26. package/dist/scss/components/_table.scss +363 -330
  27. package/dist/scss/components/_tabs.scss +295 -280
  28. package/dist/scss/components/_taginput.scss +95 -93
  29. package/dist/scss/components/_timepicker.scss +74 -68
  30. package/dist/scss/components/_tooltip.scss +522 -424
  31. package/dist/scss/components/_upload.scss +51 -48
  32. package/dist/scss/oruga.scss +0 -1
  33. package/dist/scss/utils/_animations.scss +97 -97
  34. package/dist/scss/utils/_base.scss +31 -14
  35. package/dist/scss/utils/_helpers.scss +65 -65
  36. package/dist/scss/utils/_root.scss +37 -44
  37. package/dist/scss/utils/_variables.scss +44 -44
  38. package/dist/theme.js +1 -1
  39. package/package.json +20 -19
@@ -1,213 +1,242 @@
1
1
  /* @docs */
2
2
  $pagination-disabled-opacity: var(--#{$prefix}base-disabled-opacity) !default;
3
3
  $pagination-ellipsis-color: var(--#{$prefix}grey-light) !default;
4
- $pagination-link-border-color: var(--#{$prefix}grey-lighter) !default;
5
- $pagination-link-border-radius: var(--#{$prefix}base-border-radius) !default;
6
- $pagination-link-border: 1px solid transparent !default;
7
- $pagination-link-color: #363636 !default;
8
- $pagination-link-current-background-color: var(--#{$prefix}primary) !default;
9
- $pagination-link-current-border-color: var(--#{$prefix}primary) !default;
10
- $pagination-link-current-color: #fff !default;
11
- $pagination-link-height: 2.25em !default;
12
- $pagination-link-hover-border-color: var(--#{$prefix}grey-light) !default;
13
- $pagination-link-line-height: var(--#{$prefix}base-line-height) !default;
14
- $pagination-link-margin: 0.25rem !default;
15
- $pagination-link-min-width: 2.25em !default;
16
- $pagination-link-padding: 0.5em 0.5em !default;
4
+ $pagination-button-border-color: var(--#{$prefix}grey-light) !default;
5
+ $pagination-button-border-radius: var(--#{$prefix}base-border-radius) !default;
6
+ $pagination-button-border: 1px solid transparent !default;
7
+ $pagination-button-color: var(--#{$prefix}black) !default;
8
+ $pagination-button-background-color: transparent !default;
9
+ $pagination-button-background-color-hover: var(
10
+ --#{$prefix}grey-lighter
11
+ ) !default;
12
+ $pagination-button-current-background-color: var(--#{$prefix}primary) !default;
13
+ $pagination-button-current-border-color: var(--#{$prefix}primary) !default;
14
+ $pagination-button-current-color: #fff !default;
15
+ $pagination-button-height: 2.25em !default;
16
+ $pagination-button-hover-border-color: var(--#{$prefix}grey-light) !default;
17
+ $pagination-button-line-height: var(--#{$prefix}base-line-height) !default;
18
+ $pagination-button-margin: 0.25rem !default;
19
+ $pagination-button-min-width: 2.25em !default;
20
+ $pagination-button-padding: 0.5em 0.5em !default;
17
21
  $pagination-margin: -0.25rem !default;
18
22
  $pagination-rounded-border-radius: var(
19
- --#{$prefix}base-border-radius-rounded
23
+ --#{$prefix}base-border-radius-rounded
20
24
  ) !default;
21
25
  /* @docs */
22
26
 
23
- .o-pag {
24
- align-items: center;
25
- display: flex;
26
- text-align: center;
27
- justify-content: space-between;
28
- font-size: var(--#{$prefix}base-font-size, $base-font-size);
29
- margin: var(--#{$prefix}pagination-margin, $pagination-margin);
30
-
31
- @each $name, $value in $sizes {
32
- &--#{$name} {
33
- font-size: var(--#{$prefix}pagination-font-size-#{$name}, $value);
34
- }
35
- }
36
-
37
- &__btn {
38
- @include unselectable;
39
- -moz-appearance: none;
40
- -webkit-appearance: none;
41
- align-items: center;
42
- box-shadow: none;
43
- display: inline-flex;
44
- position: relative;
45
- vertical-align: top;
46
- justify-content: center;
47
- text-align: center;
48
- text-decoration: none;
49
- cursor: pointer;
50
- line-height: var(
51
- --#{$prefix}pagination-link-line-height,
52
- $pagination-link-line-height
53
- );
54
- border: var(--#{$prefix}pagination-link-border, $pagination-link-border);
55
- border-radius: var(
56
- --#{$prefix}pagination-link-border-radius,
57
- $pagination-link-border-radius
58
- );
59
- border-color: var(
60
- --#{$prefix}pagination-link-border-color,
61
- $pagination-link-border-color
62
- );
63
- color: var(--#{$prefix}pagination-link-color, $pagination-link-color);
64
- min-width: var(
65
- --#{$prefix}pagination-link-min-width,
66
- $pagination-link-min-width
67
- );
68
- height: var(--#{$prefix}pagination-link-height, $pagination-link-height);
69
- padding: var(--#{$prefix}pagination-link-padding, $pagination-link-padding);
70
- margin: var(--#{$prefix}pagination-link-margin, $pagination-link-margin);
71
-
72
- &:hover {
73
- text-decoration: none;
74
- border-color: var(
75
- --#{$prefix}pagination-link-hover-border-color,
76
- $pagination-link-hover-border-color
77
- );
78
- }
79
-
80
- &--rounded {
81
- border-radius: var(
82
- --#{$prefix}pagination-rounded-border-radius,
83
- $pagination-rounded-border-radius
84
- );
85
- }
86
-
87
- &--disabled {
88
- pointer-events: none;
89
- opacity: var(
90
- --#{$prefix}pagination-disabled-opacity,
91
- $pagination-disabled-opacity
92
- );
93
- }
94
-
95
- &--current {
96
- pointer-events: none;
97
- background-color: var(
98
- --#{$prefix}pagination-link-current-background-color,
99
- $pagination-link-current-background-color
100
- );
101
- border-color: var(
102
- --#{$prefix}pagination-link-current-border-color,
103
- $pagination-link-current-border-color
104
- );
105
- color: var(
106
- --#{$prefix}pagination-link-current-color,
107
- $pagination-link-current-color
108
- );
109
- }
110
- }
111
-
112
- &__ellipsis {
113
- justify-content: center;
114
- text-align: center;
115
- pointer-events: none;
116
- margin: var(--#{$prefix}pagination-link-margin, $pagination-link-margin);
117
- color: var(
118
- --#{$prefix}pagination-ellipsis-color,
119
- $pagination-ellipsis-color
120
- );
121
- }
122
-
123
- &__btn-next {
124
- order: 3;
125
- }
126
-
127
- &__btn-previous {
128
- order: 2;
129
- }
130
-
131
- &__list {
27
+ .o-pagination {
132
28
  align-items: center;
133
29
  display: flex;
134
30
  text-align: center;
135
- list-style: none;
136
- flex-wrap: wrap;
137
- margin: 0;
138
- padding: 0;
139
- flex-grow: 1;
140
- flex-shrink: 1;
141
- justify-content: flex-start;
142
- order: 1;
143
- }
144
-
145
- &--simple {
146
- justify-content: normal;
147
- }
148
-
149
- &--centered {
150
- justify-content: center;
151
-
152
- .o-pag__btn-previous {
153
- order: 1;
154
- }
155
-
156
- .o-pag__btn-next {
157
- order: 3;
158
- }
31
+ justify-content: space-between;
32
+ font-size: var(--#{$prefix}base-font-size, $base-font-size);
33
+ margin: var(--#{$prefix}pagination-margin, $pagination-margin);
34
+
35
+ @each $name, $value in $sizes {
36
+ &--#{$name} {
37
+ font-size: var(--#{$prefix}pagination-font-size-#{$name}, $value);
38
+ }
39
+ }
40
+
41
+ &__button {
42
+ @include unselectable;
43
+ -moz-appearance: none;
44
+ -webkit-appearance: none;
45
+
46
+ align-items: center;
47
+ box-shadow: none;
48
+ display: inline-flex;
49
+ position: relative;
50
+ vertical-align: top;
51
+ justify-content: center;
52
+ text-align: center;
53
+ text-decoration: none;
54
+ cursor: pointer;
55
+
56
+ line-height: var(
57
+ --#{$prefix}pagination-link-line-height,
58
+ $pagination-button-line-height
59
+ );
60
+ background-color: var(
61
+ --#{$prefix}pagination-button-background-color,
62
+ $pagination-button-background-color
63
+ );
64
+ border: var(
65
+ --#{$prefix}pagination-link-border,
66
+ $pagination-button-border
67
+ );
68
+ border-radius: var(
69
+ --#{$prefix}pagination-link-border-radius,
70
+ $pagination-button-border-radius
71
+ );
72
+ border-color: var(
73
+ --#{$prefix}pagination-link-border-color,
74
+ $pagination-button-border-color
75
+ );
76
+ color: var(--#{$prefix}pagination-link-color, $pagination-button-color);
77
+ min-width: var(
78
+ --#{$prefix}pagination-link-min-width,
79
+ $pagination-button-min-width
80
+ );
81
+ height: var(
82
+ --#{$prefix}pagination-link-height,
83
+ $pagination-button-height
84
+ );
85
+ padding: var(
86
+ --#{$prefix}pagination-link-padding,
87
+ $pagination-button-padding
88
+ );
89
+ margin: var(
90
+ --#{$prefix}pagination-link-margin,
91
+ $pagination-button-margin
92
+ );
93
+
94
+ &:hover {
95
+ text-decoration: none;
96
+ border-color: var(
97
+ --#{$prefix}pagination-link-hover-border-color,
98
+ $pagination-button-hover-border-color
99
+ );
100
+ background-color: var(
101
+ --#{$prefix}pagination-button-background-color-hover,
102
+ $pagination-button-background-color-hover
103
+ );
104
+ }
105
+
106
+ &--rounded {
107
+ border-radius: var(
108
+ --#{$prefix}pagination-rounded-border-radius,
109
+ $pagination-rounded-border-radius
110
+ );
111
+ }
112
+
113
+ &--disabled {
114
+ pointer-events: none;
115
+ opacity: var(
116
+ --#{$prefix}pagination-disabled-opacity,
117
+ $pagination-disabled-opacity
118
+ );
119
+ }
120
+
121
+ &--current {
122
+ pointer-events: none;
123
+ background-color: var(
124
+ --#{$prefix}pagination-link-current-background-color,
125
+ $pagination-button-current-background-color
126
+ );
127
+ border-color: var(
128
+ --#{$prefix}pagination-link-current-border-color,
129
+ $pagination-button-current-border-color
130
+ );
131
+ color: var(
132
+ --#{$prefix}pagination-link-current-color,
133
+ $pagination-button-current-color
134
+ );
135
+ }
136
+ }
137
+
138
+ &__ellipsis {
139
+ justify-content: center;
140
+ text-align: center;
141
+ pointer-events: none;
142
+ margin: var(
143
+ --#{$prefix}pagination-link-margin,
144
+ $pagination-button-margin
145
+ );
146
+ color: var(
147
+ --#{$prefix}pagination-ellipsis-color,
148
+ $pagination-ellipsis-color
149
+ );
150
+ }
151
+
152
+ &__button-next {
153
+ order: 3;
154
+ }
155
+
156
+ &__button-previous {
157
+ order: 2;
158
+ }
159
+
160
+ &__list {
161
+ align-items: center;
162
+ display: flex;
163
+ text-align: center;
164
+ list-style: none;
165
+ flex-wrap: wrap;
166
+ margin: 0;
167
+ padding: 0;
168
+ flex-grow: 1;
169
+ flex-shrink: 1;
170
+ justify-content: flex-start;
171
+ order: 1;
172
+ }
173
+
174
+ &--simple {
175
+ justify-content: normal;
176
+ }
177
+
178
+ &--centered {
179
+ justify-content: center;
180
+
181
+ .o-pagination__button-previous {
182
+ order: 1;
183
+ }
184
+
185
+ .o-pagination__button-next {
186
+ order: 3;
187
+ }
188
+
189
+ .o-pagination__list {
190
+ justify-content: center;
191
+ order: 2;
192
+ }
193
+ }
194
+
195
+ &--right {
196
+ justify-content: flex-end;
197
+
198
+ .o-pagination__button-previous {
199
+ order: 1;
200
+ }
201
+
202
+ .o-pagination__button-next {
203
+ order: 2;
204
+ }
205
+
206
+ .o-pagination__list {
207
+ justify-content: flex-end;
208
+ order: 2;
209
+ }
210
+ }
211
+
212
+ &--mobile {
213
+ justify-content: flex-start;
214
+ flex-wrap: wrap;
215
+
216
+ .o-pagination__button {
217
+ flex-grow: 1;
218
+ flex-shrink: 1;
219
+ }
220
+
221
+ .o-pagination__button-previous {
222
+ flex-grow: 1;
223
+ flex-shrink: 1;
224
+ order: 0;
225
+ }
226
+
227
+ .o-pagination__button-next {
228
+ flex-grow: 1;
229
+ flex-shrink: 1;
230
+ order: 0;
231
+ }
159
232
 
160
- .o-pag__list {
161
- justify-content: center;
162
- order: 2;
163
- }
164
- }
165
-
166
- &--right {
167
- justify-content: flex-end;
168
-
169
- .o-pag__btn-previous {
170
- order: 1;
171
- }
172
-
173
- .o-pag__btn-next {
174
- order: 2;
175
- }
176
-
177
- .o-pag__list {
178
- justify-content: flex-end;
179
- order: 2;
180
- }
181
- }
182
-
183
- &--mobile {
184
- justify-content: flex-start;
185
- flex-wrap: wrap;
186
-
187
- .o-pag__btn {
188
- flex-grow: 1;
189
- flex-shrink: 1;
190
- }
191
-
192
- .o-pag__btn-previous {
193
- flex-grow: 1;
194
- flex-shrink: 1;
195
- order: 0;
196
- }
197
-
198
- .o-pag__btn-next {
199
- flex-grow: 1;
200
- flex-shrink: 1;
201
- order: 0;
202
- }
203
-
204
- .o-pag__ellipsis {
205
- flex-grow: 1;
206
- flex-shrink: 1;
207
- }
233
+ .o-pagination__ellipsis {
234
+ flex-grow: 1;
235
+ flex-shrink: 1;
236
+ }
208
237
 
209
- .o-pag__list {
210
- order: 0;
238
+ .o-pagination__list {
239
+ order: 0;
240
+ }
211
241
  }
212
- }
213
242
  }
@@ -14,99 +14,120 @@ $radio-line-height: 1.25 !default;
14
14
 
15
15
  // filled svg calculation
16
16
  @function svg_radio_fill() {
17
- $start: '<svg width="100%" height="100%" viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg" fill="#e11919" stroke="#000" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:1.5;">';
18
- $content: '<g id="SVGRepo_bgCarrier" stroke-width="0"></g>' +
19
- '<g id="SVGRepo_iconCarrier">' +
20
- '<path d="M483 260c0-123-100-223-223-223S37 137 37 260s100 223 223 223S483 383 483 260Z" style="fill:none;stroke:#000;stroke-miterlimit:10;stroke-width:64px"></path>' +
21
- '<circle cx="256" cy="256" r="144"></circle>' + "</g>";
17
+ $start: '<svg width="100%" height="100%" viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg" fill="#e11919" stroke="#000" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:1.5;">';
18
+ $content: '<g id="SVGRepo_bgCarrier" stroke-width="0"></g>' +
19
+ '<g id="SVGRepo_iconCarrier">' +
20
+ '<path d="M483 260c0-123-100-223-223-223S37 137 37 260s100 223 223 223S483 383 483 260Z" style="fill:none;stroke:#000;stroke-miterlimit:10;stroke-width:64px"></path>' +
21
+ '<circle cx="256" cy="256" r="144"></circle>' + "</g>";
22
22
 
23
- $end: "</svg>";
23
+ $end: "</svg>";
24
24
 
25
- @return svg-encode("#{$start}#{$content}#{$end}");
25
+ @return svg-encode("#{$start}#{$content}#{$end}");
26
26
  }
27
27
 
28
28
  // empty svg calculation
29
29
  @function svg_radio_empty() {
30
- $start: '<svg width="100%" height="100%" viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg" fill="#000" stroke="#000" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:1.5;">';
31
- $content: '<g id="SVGRepo_bgCarrier" stroke-width="0"></g>' +
32
- '<g id="SVGRepo_iconCarrier">' +
33
- '<path d="M483 260c0-123-100-223-223-223S37 137 37 260s100 223 223 223S483 383 483 260Z" style="fill:none;stroke:#000;stroke-miterlimit:10;stroke-width:64px"></path>' +
34
- "</g>";
35
- $end: "</svg>";
36
-
37
- @return svg-encode("#{$start}#{$content}#{$end}");
30
+ $start: '<svg width="100%" height="100%" viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg" fill="#000" stroke="#000" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:1.5;">';
31
+ $content: '<g id="SVGRepo_bgCarrier" stroke-width="0"></g>' +
32
+ '<g id="SVGRepo_iconCarrier">' +
33
+ '<path d="M483 260c0-123-100-223-223-223S37 137 37 260s100 223 223 223S483 383 483 260Z" style="fill:none;stroke:#000;stroke-miterlimit:10;stroke-width:64px"></path>' +
34
+ "</g>";
35
+ $end: "</svg>";
36
+
37
+ @return svg-encode("#{$start}#{$content}#{$end}");
38
38
  }
39
39
 
40
40
  .o-radio {
41
- @include unselectable;
42
- display: inline-flex;
43
- align-items: center;
44
- cursor: pointer;
45
- line-height: var(--#{$prefix}radio-line-height, $radio-line-height);
46
- margin-right: var(--#{$prefix}radio-margin-sibiling, $radio-margin-sibiling);
47
-
48
- &__input {
49
- font-size: var(--#{$prefix}radio-font-size, inherit);
50
- width: var(--#{$prefix}radio-size, $radio-size);
51
- height: var(--#{$prefix}radio-size, $radio-size);
52
- margin: 0;
53
- vertical-align: top;
54
- -webkit-appearance: none;
55
- -moz-appearance: none;
56
- appearance: none;
57
- -webkit-print-color-adjust: exact;
58
- print-color-adjust: exact;
41
+ @include unselectable;
42
+
43
+ display: inline-flex;
44
+ align-items: center;
59
45
  cursor: pointer;
60
- box-shadow: var(--#{$prefix}radio-box-shadow, $radio-box-shadow);
61
- border-radius: 50%;
62
- background: var(
63
- --#{$prefix}radio-active-background-color,
64
- $radio-active-background-color
46
+ line-height: var(--#{$prefix}radio-line-height, $radio-line-height);
47
+ margin-right: var(
48
+ --#{$prefix}radio-margin-sibiling,
49
+ $radio-margin-sibiling
65
50
  );
66
- mask-image: url(svg_radio_empty());
67
- background-image: none;
68
- background-position: center;
69
- background-size: contain;
70
- background-repeat: no-repeat;
71
51
 
72
- transition: background var(--#{$prefix}transition-duration)
73
- var(--#{$prefix}transition-timing);
52
+ &__input {
53
+ font-size: var(--#{$prefix}radio-font-size, inherit);
54
+ width: var(--#{$prefix}radio-size, $radio-size);
55
+ height: var(--#{$prefix}radio-size, $radio-size);
56
+ margin: 0;
57
+ vertical-align: top;
58
+ -webkit-appearance: none;
59
+ -moz-appearance: none;
60
+ appearance: none;
61
+ -webkit-print-color-adjust: exact;
62
+ print-color-adjust: exact;
63
+ cursor: pointer;
64
+ box-shadow: var(--#{$prefix}radio-box-shadow, $radio-box-shadow);
65
+ border-radius: 50%;
66
+ background-color: var(
67
+ --#{$prefix}radio-active-background-color,
68
+ $radio-active-background-color
69
+ );
70
+ mask-image: url(svg_radio_empty());
71
+ background-image: none;
72
+ background-position: center;
73
+ background-size: contain;
74
+ background-repeat: no-repeat;
75
+
76
+ transition: background var(--#{$prefix}transition-duration)
77
+ var(--#{$prefix}transition-timing);
78
+
79
+ &:checked {
80
+ mask-image: url(svg_radio_fill());
81
+ }
82
+ }
74
83
 
75
- &--checked {
76
- mask-image: url(svg_radio_fill());
84
+ &__label {
85
+ padding: var(--#{$prefix}radio-label-padding, $radio-label-padding);
77
86
  }
78
- }
79
87
 
80
- &__label {
81
- padding: var(--#{$prefix}radio-label-padding, $radio-label-padding);
82
- }
88
+ &--disabled {
89
+ opacity: var(
90
+ --#{$prefix}radio-disabled-opacity,
91
+ $radio-disabled-opacity
92
+ );
93
+ }
83
94
 
84
- &--disabled {
85
- opacity: var(--#{$prefix}radio-disabled-opacity, $radio-disabled-opacity);
86
- }
95
+ // size variants
96
+ @each $name, $value in $sizes {
97
+ &--#{$name} {
98
+ font-size: var(--#{$prefix}radio-font-size-#{$name}, $value);
87
99
 
88
- // size variants
89
- @each $name, $value in $sizes {
90
- &--#{$name} {
91
- --#{$prefix}radio-font-size: #{$value};
92
- --#{$prefix}radio-size: #{$value};
100
+ .o-radio__input {
101
+ width: var(--#{$prefix}radio-font-size-#{$name}, $value);
102
+ height: var(--#{$prefix}radio-font-size-#{$name}, $value);
103
+ }
104
+ }
93
105
  }
94
- }
95
106
 
96
- // color variants
97
- @each $name, $pair in $colors {
98
- $color: list.nth($pair, 1);
99
- $color-invert: list.nth($pair, 2);
100
-
101
- &--#{$name} {
102
- --#{$prefix}focus: #{createFocus($color)};
103
- --#{$prefix}radio-active-background-color: #{$color};
107
+ // color variants
108
+ @each $name, $pair in $colors {
109
+ $color: list.nth($pair, 1);
110
+ $color-invert: list.nth($pair, 2);
111
+
112
+ &--#{$name} {
113
+ --#{$prefix}focus: #{createFocus($color)};
114
+
115
+ .o-radio__input {
116
+ background-color: var(
117
+ --#{$prefix}radio-active-background-color-#{$name},
118
+ $color
119
+ );
120
+ }
121
+ }
104
122
  }
105
- }
106
123
 
107
- // focus effect
108
- &:focus &__input,
109
- &:focus-within &__input {
110
- box-shadow: 0 0 0 0.25rem var(--#{$prefix}focus);
111
- }
124
+ // focus effect
125
+ &:focus,
126
+ &:focus-visible,
127
+ &:focus-within {
128
+ .o-radio__input {
129
+ box-shadow: 0 0 0 0.25rem var(--#{$prefix}focus);
130
+ outline: none;
131
+ }
132
+ }
112
133
  }