@oruga-ui/theme-oruga 0.2.2 → 0.4.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 (83) hide show
  1. package/README.md +6 -14
  2. package/dist/oruga.css +1894 -207
  3. package/dist/oruga.min.css +1 -1
  4. package/dist/scss/components/_autocomplete.scss +4 -49
  5. package/dist/scss/components/_button.scss +71 -88
  6. package/dist/scss/components/_carousel.scss +70 -97
  7. package/dist/scss/components/_checkbox.scss +66 -83
  8. package/dist/scss/components/_collapse.scss +3 -0
  9. package/dist/scss/components/_datepicker.scss +146 -242
  10. package/dist/scss/components/_datetimepicker.scss +3 -0
  11. package/dist/scss/components/_dropdown.scss +74 -160
  12. package/dist/scss/components/_field.scss +16 -38
  13. package/dist/scss/components/_icon.scss +6 -8
  14. package/dist/scss/components/_input.scss +50 -52
  15. package/dist/scss/components/_loading.scss +5 -13
  16. package/dist/scss/components/_menu.scss +33 -65
  17. package/dist/scss/components/_modal.scss +25 -34
  18. package/dist/scss/components/_notification.scss +35 -72
  19. package/dist/scss/components/_pagination.scss +43 -86
  20. package/dist/scss/components/_radio.scss +53 -60
  21. package/dist/scss/components/_select.scss +62 -74
  22. package/dist/scss/components/_sidebar.scss +31 -107
  23. package/dist/scss/components/_skeleton.scss +10 -23
  24. package/dist/scss/components/_slider.scss +67 -109
  25. package/dist/scss/components/_steps.scss +133 -310
  26. package/dist/scss/components/_switch.scss +64 -87
  27. package/dist/scss/components/_table.scss +79 -140
  28. package/dist/scss/components/_tabs.scss +101 -153
  29. package/dist/scss/components/_taginput.scss +61 -102
  30. package/dist/scss/components/_timepicker.scss +26 -50
  31. package/dist/scss/components/_tooltip.scss +120 -216
  32. package/dist/scss/components/_upload.scss +17 -22
  33. package/dist/scss/oruga-build.scss +9 -0
  34. package/dist/scss/oruga.scss +39 -190
  35. package/dist/scss/utils/_animations.scss +11 -9
  36. package/dist/scss/utils/_base.scss +4 -4
  37. package/dist/scss/utils/_helpers.scss +12 -106
  38. package/dist/scss/utils/_root.scss +46 -24
  39. package/dist/scss/utils/_variables.scss +6 -7
  40. package/dist/theme.js +1 -2
  41. package/package.json +30 -31
  42. package/src/assets/scss/components/_autocomplete.scss +4 -49
  43. package/src/assets/scss/components/_button.scss +71 -88
  44. package/src/assets/scss/components/_carousel.scss +70 -97
  45. package/src/assets/scss/components/_checkbox.scss +66 -83
  46. package/src/assets/scss/components/_collapse.scss +3 -0
  47. package/src/assets/scss/components/_datepicker.scss +146 -242
  48. package/src/assets/scss/components/_datetimepicker.scss +3 -0
  49. package/src/assets/scss/components/_dropdown.scss +74 -160
  50. package/src/assets/scss/components/_field.scss +16 -38
  51. package/src/assets/scss/components/_icon.scss +6 -8
  52. package/src/assets/scss/components/_input.scss +50 -52
  53. package/src/assets/scss/components/_loading.scss +5 -13
  54. package/src/assets/scss/components/_menu.scss +33 -65
  55. package/src/assets/scss/components/_modal.scss +25 -34
  56. package/src/assets/scss/components/_notification.scss +35 -72
  57. package/src/assets/scss/components/_pagination.scss +43 -86
  58. package/src/assets/scss/components/_radio.scss +53 -60
  59. package/src/assets/scss/components/_select.scss +62 -74
  60. package/src/assets/scss/components/_sidebar.scss +31 -107
  61. package/src/assets/scss/components/_skeleton.scss +10 -23
  62. package/src/assets/scss/components/_slider.scss +67 -109
  63. package/src/assets/scss/components/_steps.scss +133 -310
  64. package/src/assets/scss/components/_switch.scss +64 -87
  65. package/src/assets/scss/components/_table.scss +79 -140
  66. package/src/assets/scss/components/_tabs.scss +101 -153
  67. package/src/assets/scss/components/_taginput.scss +61 -102
  68. package/src/assets/scss/components/_timepicker.scss +26 -50
  69. package/src/assets/scss/components/_tooltip.scss +120 -216
  70. package/src/assets/scss/components/_upload.scss +17 -22
  71. package/src/assets/scss/oruga-build.scss +9 -0
  72. package/src/assets/scss/oruga.scss +39 -190
  73. package/src/assets/scss/utils/_animations.scss +11 -9
  74. package/src/assets/scss/utils/_base.scss +4 -4
  75. package/src/assets/scss/utils/_helpers.scss +12 -106
  76. package/src/assets/scss/utils/_root.scss +46 -24
  77. package/src/assets/scss/utils/_variables.scss +6 -7
  78. package/dist/oruga-full.css +0 -3922
  79. package/dist/oruga-full.min.css +0 -1
  80. package/dist/scss/oruga-common.scss +0 -37
  81. package/dist/scss/oruga-full.scss +0 -9
  82. package/src/assets/scss/oruga-common.scss +0 -37
  83. package/src/assets/scss/oruga-full.scss +0 -9
@@ -1,26 +1,33 @@
1
1
  /* @docs */
2
- $carousel-arrow-background: $white !default;
3
- $carousel-arrow-color: $primary !default;
2
+ $carousel-arrow-background: var(--#{$prefix}white) !default;
3
+ $carousel-arrow-color: var(--#{$prefix}primary) !default;
4
4
  $carousel-arrow-icon-spaced: 1.5rem !default;
5
5
  $carousel-arrow-top: 50% !default;
6
6
  $carousel-arrow-size: 1.5rem !default;
7
- $carousel-arrow-border-radius: $base-rounded-border-radius !default;
7
+ $carousel-arrow-border-radius: var(
8
+ --#{$prefix}base-border-radius-rounded
9
+ ) !default;
8
10
  $carousel-arrow-border: 1px solid $carousel-arrow-background !default;
9
- $carousel-arrow-transition: $speed-slow $easing !default;
10
- $carousel-indicators-background: rgba($white, 0.5) !default;
11
+ $carousel-arrow-transition: var(--#{$prefix}transition-duration)
12
+ var(--#{$prefix}transition-timing) !default;
13
+ $carousel-indicators-background: rgba(var(--#{$prefix}white), 0.5) !default;
11
14
  $carousel-indicators-padding: 0.5rem !default;
12
15
  $carousel-indicator-margin: 0 0.5rem 0 0 !default;
13
- $carousel-indicator-color: $primary !default;
14
- $carousel-indicator-background: $white !default;
16
+ $carousel-indicator-color: var(--#{$prefix}primary) !default;
17
+ $carousel-indicator-background: var(--#{$prefix}white) !default;
15
18
  $carousel-indicator-border: 1px solid $carousel-indicator-color !default;
16
19
  $carousel-indicator-active-background: $carousel-indicator-color !default;
17
20
  $carousel-indicator-active-border: 1px solid $carousel-indicator-color !default;
18
- $carousel-indicator-transition: $speed-slow $easing !default;
21
+ $carousel-indicator-transition: var(--#{$prefix}transition-duration)
22
+ var(--#{$prefix}transition-timing) !default;
19
23
  $carousel-indicator-size: 10px !default;
20
- $carousel-indicator-dots-border-radius: $base-border-radius !default;
24
+ $carousel-indicator-dots-border-radius: var(
25
+ --#{$prefix}base-border-radius
26
+ ) !default;
21
27
  $carousel-indicator-lines-height: 5px !default;
22
28
  $carousel-indicator-lines-width: 25px !default;
23
- $carousel-items-transition: all $speed-slower ease-out 0s !default;
29
+ $carousel-items-transition: all var(--#{$prefix}transition-duration)
30
+ var(--#{$prefix}transition-timing) 0s !default;
24
31
  $carousel-item-border: 2px solid transparent !default;
25
32
  $carousel-overlay-background: hsla(0, 0%, 4%, 0.86) !default;
26
33
  $carousel-overlay-zindex: 40 !default;
@@ -44,16 +51,11 @@ $carousel-overlay-zindex: 40 !default;
44
51
  max-height: 100vh;
45
52
  position: fixed;
46
53
 
47
- @include avariable(
48
- "background-color",
49
- "carousel-overlay-background",
54
+ background-color: var(
55
+ --#{$prefix}carousel-overlay-background,
50
56
  $carousel-overlay-background
51
57
  );
52
- @include avariable(
53
- "z-index",
54
- "carousel-overlay-zindex",
55
- $carousel-overlay-zindex
56
- );
58
+ z-index: var(--#{$prefix}carousel-overlay-zindex, $carousel-overlay-zindex);
57
59
  }
58
60
 
59
61
  &__wrapper {
@@ -66,16 +68,15 @@ $carousel-overlay-zindex: 40 !default;
66
68
  width: 100%;
67
69
 
68
70
  &:not(&--dragging) {
69
- @include avariable(
70
- "transition",
71
- "carousel-items-transition",
71
+ transition: var(
72
+ --#{$prefix}carousel-items-transition,
72
73
  $carousel-items-transition
73
74
  );
74
75
  }
75
76
  }
76
77
 
77
78
  &__item {
78
- @include avariable("border", "carousel-item-border", $carousel-item-border);
79
+ border: var(--#{$prefix}carousel-item-border, $carousel-item-border);
79
80
  flex-shrink: 0;
80
81
 
81
82
  &--clickable {
@@ -89,14 +90,12 @@ $carousel-overlay-zindex: 40 !default;
89
90
  align-items: center;
90
91
  justify-content: center;
91
92
 
92
- @include avariable(
93
- "padding",
94
- "carousel-indicators-padding",
93
+ padding: var(
94
+ --#{$prefix}carousel-indicators-padding,
95
95
  $carousel-indicators-padding
96
96
  );
97
- @include avariable(
98
- "background",
99
- "carousel-indicators-background",
97
+ background: var(
98
+ --#{$prefix}carousel-indicators-background,
100
99
  $carousel-indicators-background
101
100
  );
102
101
 
@@ -115,9 +114,8 @@ $carousel-overlay-zindex: 40 !default;
115
114
 
116
115
  &__indicator {
117
116
  &:not(:last-child) {
118
- @include avariable(
119
- "margin",
120
- "carousel-indicator-margin",
117
+ margin: var(
118
+ --#{$prefix}carousel-indicator-margin,
121
119
  $carousel-indicator-margin
122
120
  );
123
121
  }
@@ -125,76 +123,64 @@ $carousel-overlay-zindex: 40 !default;
125
123
  &__item {
126
124
  display: block;
127
125
 
128
- @include avariable(
129
- "border",
130
- "carousel-indicator-border",
126
+ border: var(
127
+ --#{$prefix}carousel-indicator-border,
131
128
  $carousel-indicator-border
132
129
  );
133
- @include avariable(
134
- "background",
135
- "carousel-indicator-background",
130
+ background: var(
131
+ --#{$prefix}carousel-indicator-background,
136
132
  $carousel-indicator-background
137
133
  );
138
- @include avariable(
139
- "transition",
140
- "carousel-indicator-transition",
134
+ transition: var(
135
+ --#{$prefix}carousel-indicator-transition,
141
136
  $carousel-indicator-transition
142
137
  );
143
138
 
144
139
  &--active,
145
140
  :hover {
146
- @include avariable(
147
- "background",
148
- "carousel-indicator-active-background",
141
+ background: var(
142
+ --#{$prefix}carousel-indicator-active-background,
149
143
  $carousel-indicator-active-background
150
144
  );
151
- @include avariable(
152
- "border",
153
- "carousel-indicator-active-border",
145
+ border: var(
146
+ --#{$prefix}carousel-indicator-active-border,
154
147
  $carousel-indicator-active-border
155
148
  );
156
149
  }
157
150
 
158
151
  &--boxes {
159
- @include avariable(
160
- "width",
161
- "carousel-indicator-size",
152
+ width: var(
153
+ --#{$prefix}carousel-indicator-size,
162
154
  $carousel-indicator-size
163
155
  );
164
- @include avariable(
165
- "height",
166
- "carousel-indicator-size",
156
+ height: var(
157
+ --#{$prefix}carousel-indicator-size,
167
158
  $carousel-indicator-size
168
159
  );
169
160
  }
170
161
 
171
162
  &--dots {
172
- @include avariable(
173
- "border-radius",
174
- "carousel-indicator-dots-border-radius",
163
+ border-radius: var(
164
+ --#{$prefix}carousel-indicator-dots-border-radius,
175
165
  $carousel-indicator-dots-border-radius
176
166
  );
177
- @include avariable(
178
- "width",
179
- "carousel-indicator-size",
167
+ width: var(
168
+ --#{$prefix}carousel-indicator-size,
180
169
  $carousel-indicator-size
181
170
  );
182
- @include avariable(
183
- "height",
184
- "carousel-indicator-size",
171
+ height: var(
172
+ --#{$prefix}carousel-indicator-size,
185
173
  $carousel-indicator-size
186
174
  );
187
175
  }
188
176
 
189
177
  &--lines {
190
- @include avariable(
191
- "width",
192
- "carousel-indicator-lines-width",
178
+ width: var(
179
+ --#{$prefix}carousel-indicator-lines-width,
193
180
  $carousel-indicator-lines-width
194
181
  );
195
- @include avariable(
196
- "height",
197
- "carousel-indicator-lines-height",
182
+ height: var(
183
+ --#{$prefix}carousel-indicator-lines-height,
198
184
  $carousel-indicator-lines-height
199
185
  );
200
186
  }
@@ -203,28 +189,20 @@ $carousel-overlay-zindex: 40 !default;
203
189
 
204
190
  &__arrow__icon {
205
191
  cursor: pointer;
206
-
207
- @include avariable(
208
- "background",
209
- "carousel-arrow-background",
192
+ background: var(
193
+ --#{$prefix}carousel-arrow-background,
210
194
  $carousel-arrow-background
211
195
  );
212
- @include avariable("color", "carousel-arrow-color", $carousel-arrow-color);
213
- @include avariable("width", "carousel-arrow-size", $carousel-arrow-size);
214
- @include avariable("height", "carousel-arrow-size", $carousel-arrow-size);
215
- @include avariable(
216
- "border-radius",
217
- "carousel-arrow-border-radius",
196
+ color: var(--#{$prefix}carousel-arrow-color, $carousel-arrow-color);
197
+ width: var(--#{$prefix}carousel-arrow-size, $carousel-arrow-size);
198
+ height: var(--#{$prefix}carousel-arrow-size, $carousel-arrow-size);
199
+ border-radius: var(
200
+ --#{$prefix}carousel-arrow-border-radius,
218
201
  $carousel-arrow-border-radius
219
202
  );
220
- @include avariable(
221
- "border",
222
- "carousel-arrow-border",
223
- $carousel-arrow-border
224
- );
225
- @include avariable(
226
- "transition",
227
- "carousel-arrow-transition",
203
+ border: var(--#{$prefix}carousel-arrow-border, $carousel-arrow-border);
204
+ transition: var(
205
+ --#{$prefix}carousel-arrow-transition,
228
206
  $carousel-arrow-transition
229
207
  );
230
208
  }
@@ -232,28 +210,23 @@ $carousel-overlay-zindex: 40 !default;
232
210
  &__arrow__icon-prev,
233
211
  &__arrow__icon-next {
234
212
  position: absolute;
235
-
236
- @include avariable("top", "carousel-arrow-top", $carousel-arrow-top);
237
- @include evariable(
238
- "transform",
239
- "translateY($length)",
240
- eparam("$length", variable("carousel-arrow-top", -$carousel-arrow-top))
213
+ top: var(--#{$prefix}carousel-arrow-top, $carousel-arrow-top);
214
+ transform: translateY(
215
+ var(--#{$prefix}carousel-arrow-top, -$carousel-arrow-top)
241
216
  );
242
217
  z-index: 1;
243
218
  }
244
219
 
245
220
  &__arrow__icon-prev {
246
- @include avariable(
247
- "left",
248
- "carousel-arrow-icon-spaced",
221
+ left: var(
222
+ --#{$prefix}carousel-arrow-icon-spaced,
249
223
  $carousel-arrow-icon-spaced
250
224
  );
251
225
  }
252
226
 
253
227
  &__arrow__icon-next {
254
- @include avariable(
255
- "right",
256
- "carousel-arrow-icon-spaced",
228
+ right: var(
229
+ --#{$prefix}carousel-arrow-icon-spaced,
257
230
  $carousel-arrow-icon-spaced
258
231
  );
259
232
  }
@@ -1,21 +1,24 @@
1
1
  @use "sass:list";
2
2
 
3
3
  /* @docs */
4
- $checkbox-active-background-color: $primary !default;
5
- $checkbox-background-color: $primary !default;
6
- $checkbox-border-color: $primary !default;
7
- $checkbox-border-radius: $base-border-radius !default;
4
+ $checkbox-active-background-color: var(--#{$prefix}primary) !default;
5
+ $checkbox-background-color: var(--#{$prefix}primary) !default;
6
+ $checkbox-box-shadow: $control-box-shadow !default;
7
+ $checkbox-border-color: var(--#{$prefix}primary) !default;
8
+ $checkbox-border-style: solid !default;
9
+ $checkbox-border-radius: var(--#{$prefix}base-border-radius) !default;
8
10
  $checkbox-border-width: 2px !default;
9
11
  $checkbox-checked-box-shadow-length: 0 0 0.5em !default;
10
12
  $checkbox-checked-box-shadow-opacity: 0.8 !default;
11
13
  $checkbox-checkmark-color: $primary-invert !default;
12
- $checkbox-disabled-opacity: $base-disabled-opacity !default;
14
+ $checkbox-disabled-opacity: var(--#{$prefix}base-disabled-opacity) !default;
13
15
  $checkbox-label-padding: 0 0 0 0.5em !default;
14
16
  $checkbox-margin-sibiling: 0.5em !default;
15
17
  $checkbox-size: 1rem !default;
16
18
  $checkbox-line-height: 1.5 !default;
17
19
  /* @docs */
18
20
 
21
+ // checkmark svg calculation
19
22
  @function svg_checkmark($color) {
20
23
  $start: '<svg width="100%" height="100%" viewBox="0 0 234 225" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:1.5;">';
21
24
  $content: '<g transform="matrix(4.16667,0,0,4.16667,0,0)"><g transform="matrix(3.13817,0,0,3.13817,-69.2796,-49.5156)"><path style="fill:#{$color}" d="M22.504,26.219L28.637,32.386L39.494,18.284L37.348,16.379L28,27.725L24.46,24.196L22.504,26.219Z"></path></g></g>';
@@ -23,6 +26,8 @@ $checkbox-line-height: 1.5 !default;
23
26
 
24
27
  @return svg-encode("#{$start}#{$content}#{$end}");
25
28
  }
29
+
30
+ // indeterminate svg calculation
26
31
  @function svg_indeterminate($color) {
27
32
  $start: '<svg width="100%" height="100%" viewBox="0 0 417 417" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">';
28
33
  $content: '<g transform="matrix(4.16667,0,0,4.16667,0,0)"><g transform="matrix(6.96176,0,0,20.5682,-118.661,-806.753)"><path style="fill:#{$color}" d="M31.265,41.654C31.265,41.324 30.474,41.057 29.5,41.057L18.953,41.057C17.979,41.057 17.188,41.324 17.188,41.654C17.188,41.984 17.979,42.252 18.953,42.252L29.5,42.252C30.474,42.252 31.265,41.984 31.265,41.654Z"/></g></g>';
@@ -32,31 +37,24 @@ $checkbox-line-height: 1.5 !default;
32
37
  }
33
38
 
34
39
  .o-chk {
40
+ @include unselectable;
35
41
  display: inline-flex;
36
42
  align-items: center;
37
43
  cursor: pointer;
38
44
  position: relative;
39
45
 
40
- @include unselectable;
41
- @include avariable(
42
- "line-height",
43
- "checkbox-line-height",
44
- $checkbox-line-height
45
- );
46
- @include avariable(
47
- "margin-right",
48
- "checkbox-margin-sibiling",
46
+ line-height: var(--#{$prefix}checkbox-line-height, $checkbox-line-height);
47
+ margin-right: var(
48
+ --#{$prefix}checkbox-margin-sibiling,
49
49
  $checkbox-margin-sibiling
50
50
  );
51
51
 
52
52
  &__input {
53
- @include avariable("width", "checkbox-size", $checkbox-size);
54
- @include avariable("height", "checkbox-size", $checkbox-size);
55
- outline: none;
53
+ width: var(--#{$prefix}checkbox-size, $checkbox-size);
54
+ height: var(--#{$prefix}checkbox-size, $checkbox-size);
56
55
  margin: 0;
56
+ outline: none;
57
57
  vertical-align: top;
58
- background-position: center;
59
- background-size: contain;
60
58
  -webkit-appearance: none;
61
59
  -moz-appearance: none;
62
60
  appearance: none;
@@ -64,120 +62,105 @@ $checkbox-line-height: 1.5 !default;
64
62
  print-color-adjust: exact;
65
63
  flex-shrink: 0;
66
64
  cursor: pointer;
67
- background-repeat: no-repeat;
68
65
 
69
- @include avariable(
70
- "background-color",
71
- "checkbox-background-color",
66
+ box-shadow: var(--#{$prefix}checkbox-box-shadow, $checkbox-box-shadow);
67
+ background-color: var(
68
+ --#{$prefix}checkbox-background-color,
72
69
  $checkbox-background-color
73
70
  );
74
- @include avariable(
75
- "border-radius",
76
- "checkbox-border-radius",
71
+ background-position: center;
72
+ background-size: contain;
73
+ background-repeat: no-repeat;
74
+
75
+ transition: background var(--#{$prefix}transition-duration)
76
+ var(--#{$prefix}transition-timing);
77
+
78
+ border-radius: var(
79
+ --#{$prefix}checkbox-border-radius,
77
80
  $checkbox-border-radius
78
81
  );
79
- @include avariable(
80
- "border-width",
81
- "checkbox-border-width",
82
+ border-width: var(
83
+ --#{$prefix}checkbox-border-width,
82
84
  $checkbox-border-width
83
85
  );
84
- @include avariable(
85
- "border-color",
86
- "checkbox-border-color",
86
+ border-color: var(
87
+ --#{$prefix}checkbox-border-color,
87
88
  $checkbox-border-color
88
89
  );
89
- border-style: solid;
90
- transition-property: background;
91
-
92
- @include avariable(
93
- "transition-duration",
94
- "transition-duration",
95
- $speed-slow
96
- );
97
- @include avariable(
98
- "transition-timing-function",
99
- "transition-timing",
100
- $easing
90
+ border-style: var(
91
+ --#{$prefix}checkbox-border-style,
92
+ $checkbox-border-style
101
93
  );
102
94
 
103
95
  &--checked {
104
- @include avariable(
105
- "background-color",
106
- "checkbox-active-background-color",
96
+ background-color: var(
97
+ --#{$prefix}checkbox-active-background-color,
107
98
  $checkbox-active-background-color
108
99
  );
109
- @include avariable(
110
- "border-color",
111
- "checkbox-active-background-color",
100
+ border-color: var(
101
+ --#{$prefix}checkbox-active-background-color,
112
102
  $checkbox-active-background-color
113
103
  );
114
- background-image: url(svg_checkmark(
115
- variable("checkbox-checkmark-color", $checkbox-checkmark-color)
116
- ));
104
+ background-image: url(svg_checkmark($checkbox-checkmark-color));
117
105
  }
118
106
 
119
107
  &--indeterminate {
120
- @include avariable(
121
- "background-color",
122
- "checkbox-active-background-color",
108
+ background-color: var(
109
+ --#{$prefix}checkbox-active-background-color,
123
110
  $checkbox-active-background-color
124
111
  );
125
- @include avariable(
126
- "border-color",
127
- "checkbox-active-background-color",
112
+ border-color: var(
113
+ --#{$prefix}checkbox-active-background-color,
128
114
  $checkbox-active-background-color
129
115
  );
130
- background-image: url(svg_indeterminate(
131
- variable("checkbox-checkmark-color", $checkbox-checkmark-color)
132
- ));
116
+ background-image: url(svg_indeterminate($checkbox-checkmark-color));
133
117
  }
134
118
  }
135
119
 
136
120
  &__label {
137
- @include avariable(
138
- "padding",
139
- "checkbox-label-padding",
140
- $checkbox-label-padding
141
- );
121
+ padding: var(--#{$prefix}checkbox-label-padding, $checkbox-label-padding);
142
122
  }
143
123
 
144
124
  &--disabled {
145
- @include avariable(
146
- "opacity",
147
- "checkbox-disabled-opacity",
125
+ opacity: var(
126
+ --#{$prefix}checkbox-disabled-opacity,
148
127
  $checkbox-disabled-opacity
149
128
  );
150
129
  }
151
130
 
131
+ // size variants
152
132
  @each $name, $value in $sizes {
153
133
  &--#{$name} {
154
- @include avariable(
155
- "font-size",
156
- ("checkbox-font-size-" + #{$name}),
157
- $value
158
- );
134
+ font-size: var(--#{$prefix}checkbox-font-size-#{$name}, $value);
159
135
  }
160
136
  }
137
+
138
+ // color variants
161
139
  @each $name, $pair in $colors {
162
140
  $color: list.nth($pair, 1);
163
141
  $color-invert: list.nth($pair, 2);
142
+
164
143
  &--#{$name} {
144
+ --#{$prefix}focus: #{createFocus($color)};
145
+
165
146
  .o-chk__input {
166
- @include avariable("border-color", ("variant-" + #{$name}), $color);
167
- @include avariable("background-color", ("variant-" + #{$name}), $color);
147
+ border-color: var(--#{$prefix}variant-#{$name}, $color);
148
+ background-color: var(--#{$prefix}variant-#{$name}, $color);
168
149
  }
169
150
 
170
151
  .o-chk__input--checked {
171
- background-image: url(svg_checkmark(
172
- variable(("variant-invert-" + #{$name}), $color-invert)
173
- ));
152
+ background-image: url(svg_checkmark($color-invert));
174
153
  }
175
154
 
176
155
  .o-chk__input--indeterminate {
177
- background-image: url(svg_indeterminate(
178
- variable(("variant-invert-" + #{$name}), $color-invert)
179
- ));
156
+ background-image: url(svg_indeterminate($color-invert));
180
157
  }
181
158
  }
182
159
  }
160
+
161
+ // focus effect
162
+ &:focus &__input,
163
+ &:focus-within &__input {
164
+ box-shadow: 0 0 0 0.25rem var(--#{$prefix}focus);
165
+ }
183
166
  }
@@ -2,8 +2,11 @@
2
2
  /* @docs */
3
3
 
4
4
  .o-clps {
5
+ width: 100%;
6
+
5
7
  &__trigger {
6
8
  cursor: pointer;
9
+ display: inline-block;
7
10
  }
8
11
 
9
12
  &__content {