@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,18 +1,18 @@
1
1
  /* @docs */
2
- $tabs-disabled-opacity: $base-disabled-opacity !default;
3
- $tabs-font-size: $base-font-size !default;
2
+ $tabs-disabled-opacity: var(--#{$prefix}base-disabled-opacity) !default;
3
+ $tabs-font-size: var(--#{$prefix}base-font-size) !default;
4
4
  $tabs-icon-margin: 0.5em !default;
5
5
  $tabs-content-padding: 1rem !default;
6
6
  $tabs-margin-bottom: 1.5rem !default;
7
- $tabs-border-bottom-color: $grey-lighter !default;
7
+ $tabs-border-bottom-color: var(--#{$prefix}grey-lighter) !default;
8
8
  $tabs-border-bottom-style: solid !default;
9
9
  $tabs-border-bottom-width: 1px !default;
10
10
  $tabs-link-color: hsl(0, 0%, 29%) !default;
11
- $tabs-link-active-border-bottom-color: $primary !default;
12
- $tabs-link-active-color: $primary !default;
13
- $tabs-link-line-height: $base-line-height !default;
11
+ $tabs-link-active-border-bottom-color: var(--#{$prefix}primary) !default;
12
+ $tabs-link-active-color: var(--#{$prefix}primary) !default;
13
+ $tabs-link-line-height: var(--#{$prefix}base-line-height) !default;
14
14
  $tabs-link-padding: 0.5em 1em !default;
15
- $tabs-boxed-link-radius: $base-border-radius !default;
15
+ $tabs-boxed-link-radius: var(--#{$prefix}base-border-radius) !default;
16
16
  $tabs-boxed-link-hover-background-color: hsl(0, 0%, 96%) !default;
17
17
  $tabs-boxed-link-hover-border-bottom-color: hsl(0, 0%, 86%) !default;
18
18
  $tabs-boxed-link-active-background-color: hsl(0, 0%, 100%) !default;
@@ -23,10 +23,9 @@ $tabs-toggle-link-border-style: solid !default;
23
23
  $tabs-toggle-link-border-width: 1px !default;
24
24
  $tabs-toggle-link-hover-background-color: hsl(0, 0%, 96%) !default;
25
25
  $tabs-toggle-link-hover-border-color: hsl(0, 0%, 71%) !default;
26
- $tabs-toggle-link-radius: $base-border-radius !default;
27
- $tabs-toggle-link-active-background-color: $primary !default;
28
- $tabs-toggle-link-active-border-color: $primary !default;
29
- $tabs-toggle-link-active-color: $primary-invert !default;
26
+ $tabs-toggle-link-active-background-color: var(--#{$prefix}primary) !default;
27
+ $tabs-toggle-link-active-border-color: var(--#{$prefix}primary) !default;
28
+ $tabs-toggle-link-active-color: var(--#{$prefix}primary-invert) !default;
30
29
  /* @docs */
31
30
 
32
31
  @mixin item {
@@ -34,37 +33,31 @@ $tabs-toggle-link-active-color: $primary-invert !default;
34
33
  -webkit-appearance: none;
35
34
  width: 100%;
36
35
  margin: 0;
37
- padding: 0;
38
36
  border: 1px solid transparent;
39
37
  background-color: transparent;
40
38
  align-items: center;
41
39
  line-height: $tabs-link-line-height;
42
-
43
- @include avariable("font-size", "tabs-font-size", $tabs-font-size);
44
- @include avariable(
45
- "border-bottom-color",
46
- "tabs-border-bottom-color",
47
- $tabs-border-bottom-color
48
- );
49
- @include avariable(
50
- "border-bottom-style",
51
- "tabs-border-bottom-style",
52
- $tabs-border-bottom-style
53
- );
54
- @include avariable(
55
- "border-bottom-width",
56
- "tabs-border-bottom-width",
57
- $tabs-border-bottom-width
58
- );
59
- @include avariable("color", "tabs-link-color", $tabs-link-color);
60
40
  display: flex;
61
41
  justify-content: center;
62
42
  margin-bottom: -1px;
63
-
64
- @include avariable("padding", "tabs-link-padding", $tabs-link-padding);
65
43
  vertical-align: top;
66
44
  cursor: pointer;
67
45
  text-decoration: none;
46
+ font-size: var(--#{$prefix}tabs-font-size, $tabs-font-size);
47
+ border-bottom-color: var(
48
+ --#{$prefix}tabs-border-bottom-color,
49
+ $tabs-border-bottom-color
50
+ );
51
+ border-bottom-style: var(
52
+ --#{$prefix}tabs-border-bottom-style,
53
+ $tabs-border-bottom-style
54
+ );
55
+ border-bottom-width: var(
56
+ --#{$prefix}tabs-border-bottom-width,
57
+ $tabs-border-bottom-width
58
+ );
59
+ color: var(--#{$prefix}tabs-link-color, $tabs-link-color);
60
+ padding: var(--#{$prefix}tabs-link-padding, $tabs-link-padding);
68
61
  }
69
62
 
70
63
  .o-tabs {
@@ -96,25 +89,21 @@ $tabs-toggle-link-active-color: $primary-invert !default;
96
89
 
97
90
  .o-tabs__nav-item-boxed {
98
91
  border-bottom-color: transparent;
99
-
100
- @include avariable(
101
- "border-right-color",
102
- "tabs-border-bottom-color",
92
+ border-right-color: var(
93
+ --#{$prefix}tabs-border-bottom-color,
103
94
  $tabs-border-bottom-color
104
95
  );
105
- @include avariable(
106
- "border-radius",
107
- "tabs-border-bottom-color",
108
- #{$tabs-toggle-link-radius} 0 0 #{$tabs-toggle-link-radius}
96
+ border-radius: var(
97
+ --#{$prefix}tabs-border-bottom-color,
98
+ #{$tabs-boxed-link-radius} 0 0 #{$tabs-boxed-link-radius}
109
99
  );
110
100
 
111
101
  &--active {
112
- @include avariable(
113
- "border-bottom-color",
114
- "tabs-border-bottom-color",
102
+ border-right-color: transparent;
103
+ border-bottom-color: var(
104
+ --#{$prefix}tabs-border-bottom-color,
115
105
  $tabs-border-bottom-color
116
106
  );
117
- border-right-color: transparent;
118
107
  }
119
108
  }
120
109
  }
@@ -125,30 +114,25 @@ $tabs-toggle-link-active-color: $primary-invert !default;
125
114
  .o-tabs__nav-item-boxed {
126
115
  border-bottom-color: transparent;
127
116
  border-right-color: transparent;
128
-
129
- @include avariable(
130
- "border-left-color",
131
- "tabs-border-bottom-color",
117
+ border-left-color: var(
118
+ --#{$prefix}tabs-border-bottom-color,
132
119
  $tabs-border-bottom-color
133
120
  );
134
- @include avariable(
135
- "border-radius",
136
- "tabs-border-bottom-color",
121
+ border-radius: var(
122
+ --#{$prefix}tabs-border-bottom-color,
137
123
  0 #{$tabs-boxed-link-radius} #{$tabs-boxed-link-radius} 0
138
124
  );
139
125
 
140
126
  &--active {
141
- @include avariable(
142
- "border-bottom-color",
143
- "tabs-border-bottom-color",
127
+ border-left-color: transparent;
128
+ border-right-color: var(
129
+ --#{$prefix}tabs-border-bottom-color,
144
130
  $tabs-border-bottom-color
145
131
  );
146
- @include avariable(
147
- "border-right-color",
148
- "tabs-border-bottom-color",
132
+ border-bottom-color: var(
133
+ --#{$prefix}tabs-border-bottom-color,
149
134
  $tabs-border-bottom-color
150
135
  );
151
- border-left-color: transparent;
152
136
  }
153
137
  }
154
138
  }
@@ -162,18 +146,16 @@ $tabs-toggle-link-active-color: $primary-invert !default;
162
146
  flex-grow: 1;
163
147
  flex-shrink: 0;
164
148
  justify-content: flex-start;
165
- overflow-x: auto;
166
149
  // padding bottom to keep showing the border-bottom
167
- @include avariable(
168
- "padding-bottom",
169
- "tabs-border-bottom-width",
150
+ padding-bottom: var(
151
+ --#{$prefix}tabs-border-bottom-width,
170
152
  $tabs-border-bottom-width
171
153
  );
172
- @include avariable("font-size", "tabs-font-size", $tabs-font-size);
154
+ font-size: var(--#{$prefix}tabs-font-size, $tabs-font-size);
173
155
 
174
156
  @each $name, $value in $sizes {
175
157
  &--#{$name} {
176
- @include avariable("font-size", ("tabs-font-size-" + #{$name}), $value);
158
+ font-size: var(--#{$prefix}tabs-font-size-#{$name}, $value);
177
159
  }
178
160
  }
179
161
 
@@ -187,25 +169,27 @@ $tabs-toggle-link-active-color: $primary-invert !default;
187
169
 
188
170
  &-item {
189
171
  &-icon {
190
- @include avariable(
191
- "margin-right",
192
- "tabs-icon-margin",
193
- $tabs-icon-margin
194
- );
172
+ margin-right: var(--#{$prefix}tabs-icon-margin, $tabs-icon-margin);
173
+ }
174
+
175
+ // focus effect
176
+ &:focus,
177
+ &:focus-within {
178
+ box-shadow: 0 0 0 0.25rem var(--#{$prefix}focus);
179
+ outline: 0;
180
+ border-radius: #{$tabs-boxed-link-radius};
195
181
  }
196
182
 
197
183
  &-default {
198
184
  @include item;
199
185
 
200
186
  &--active {
201
- @include avariable(
202
- "border-bottom-color",
203
- "tabs-link-active-border-bottom-color",
187
+ border-bottom-color: var(
188
+ --#{$prefix}tabs-link-active-border-bottom-color,
204
189
  $tabs-link-active-border-bottom-color
205
190
  );
206
- @include avariable(
207
- "color",
208
- "tabs-link-active-color",
191
+ color: var(
192
+ --#{$prefix}tabs-link-active-color,
209
193
  $tabs-link-active-color
210
194
  );
211
195
  }
@@ -213,23 +197,19 @@ $tabs-toggle-link-active-color: $primary-invert !default;
213
197
  &--disabled {
214
198
  pointer-events: none;
215
199
  cursor: not-allowed;
216
-
217
- @include avariable(
218
- "opacity",
219
- "tabs-disabled-opacity",
200
+ opacity: var(
201
+ --#{$prefix}tabs-disabled-opacity,
220
202
  $tabs-disabled-opacity
221
203
  );
222
204
  }
223
205
 
224
206
  &:hover:not(.o-tabs__nav-item-default--active) {
225
- @include avariable(
226
- "background-color",
227
- "tabs-link-hover-background-color",
207
+ background-color: var(
208
+ --#{$prefix}tabs-link-hover-background-color,
228
209
  $tabs-boxed-link-hover-background-color
229
210
  );
230
- @include avariable(
231
- "border-bottom-color",
232
- "tabs-link-hover-border-bottom-color",
211
+ border-bottom-color: var(
212
+ --#{$prefix}tabs-link-hover-border-bottom-color,
233
213
  $tabs-boxed-link-hover-border-bottom-color
234
214
  );
235
215
  }
@@ -237,37 +217,27 @@ $tabs-toggle-link-active-color: $primary-invert !default;
237
217
 
238
218
  &-boxed {
239
219
  @include item;
240
- @include avariable(
241
- "border-radius",
242
- "tabs-border-bottom-color",
220
+ border-bottom-color: transparent;
221
+ border-radius: var(
222
+ --#{$prefix}tabs-border-bottom-color,
243
223
  #{$tabs-boxed-link-radius} #{$tabs-boxed-link-radius} 0 0
244
224
  );
245
- border-bottom-color: transparent;
246
225
 
247
226
  &--active {
248
- @include avariable(
249
- "border-bottom-color",
250
- "tabs-link-active-border-bottom-color",
251
- $tabs-link-active-border-bottom-color
252
- );
253
- @include avariable(
254
- "color",
255
- "tabs-link-active-color",
227
+ color: var(
228
+ --#{$prefix}tabs-link-active-color,
256
229
  $tabs-link-active-color
257
230
  );
258
- @include avariable(
259
- "background-color",
260
- "tabs-boxed-link-active-background-color",
231
+ background-color: var(
232
+ --#{$prefix}tabs-boxed-link-active-background-color,
261
233
  $tabs-boxed-link-active-background-color
262
234
  );
263
- @include avariable(
264
- "border-color",
265
- "tabs-boxed-link-active-border-color",
235
+ border-color: var(
236
+ --#{$prefix}tabs-boxed-link-active-border-color,
266
237
  $tabs-boxed-link-active-border-color
267
238
  );
268
- @include avariable(
269
- "border-bottom-color",
270
- "tabs-boxed-link-active-border-bottom-color",
239
+ border-bottom-color: var(
240
+ --#{$prefix}tabs-boxed-link-active-border-bottom-color,
271
241
  $tabs-boxed-link-active-border-bottom-color
272
242
  );
273
243
  }
@@ -275,18 +245,15 @@ $tabs-toggle-link-active-color: $primary-invert !default;
275
245
  &--disabled {
276
246
  pointer-events: none;
277
247
  cursor: not-allowed;
278
-
279
- @include avariable(
280
- "opacity",
281
- "tabs-disabled-opacity",
248
+ opacity: var(
249
+ --#{$prefix}tabs-disabled-opacity,
282
250
  $tabs-disabled-opacity
283
251
  );
284
252
  }
285
253
 
286
254
  &:hover:not(.o-tabs__nav-item-boxed--active) {
287
- @include avariable(
288
- "background-color",
289
- "tabs-boxed-link-hover-background-color",
255
+ background-color: var(
256
+ --#{$prefix}tabs-boxed-link-hover-background-color,
290
257
  $tabs-boxed-link-hover-background-color
291
258
  );
292
259
  }
@@ -294,38 +261,32 @@ $tabs-toggle-link-active-color: $primary-invert !default;
294
261
 
295
262
  &-toggle {
296
263
  @include item;
297
- @include avariable(
298
- "border-color",
299
- "tabs-toggle-link-border-color",
264
+ position: relative;
265
+ border-color: var(
266
+ --#{$prefix}tabs-toggle-link-border-color,
300
267
  $tabs-toggle-link-border-color
301
268
  );
302
- @include avariable(
303
- "border-style",
304
- "tabs-toggle-link-border-style",
269
+ border-style: var(
270
+ --#{$prefix}tabs-toggle-link-border-style,
305
271
  $tabs-toggle-link-border-style
306
272
  );
307
- @include avariable(
308
- "border-width",
309
- "tabs-toggle-link-border-width",
273
+ border-width: var(
274
+ --#{$prefix}tabs-toggle-link-border-width,
310
275
  $tabs-toggle-link-border-width
311
276
  );
312
277
  margin-bottom: 0;
313
- position: relative;
314
278
 
315
279
  &--active {
316
- @include avariable(
317
- "background-color",
318
- "tabs-toggle-link-active-background-color",
280
+ background-color: var(
281
+ --#{$prefix}tabs-toggle-link-active-background-color,
319
282
  $tabs-toggle-link-active-background-color
320
283
  );
321
- @include avariable(
322
- "border-color",
323
- "tabs-toggle-link-active-border-color",
284
+ border-color: var(
285
+ --#{$prefix}tabs-toggle-link-active-border-color,
324
286
  $tabs-toggle-link-active-border-color
325
287
  );
326
- @include avariable(
327
- "color",
328
- "tabs-toggle-link-active-color",
288
+ color: var(
289
+ --#{$prefix}tabs-toggle-link-active-color,
329
290
  $tabs-toggle-link-active-color
330
291
  );
331
292
  }
@@ -333,23 +294,19 @@ $tabs-toggle-link-active-color: $primary-invert !default;
333
294
  &--disabled {
334
295
  pointer-events: none;
335
296
  cursor: not-allowed;
336
-
337
- @include avariable(
338
- "opacity",
339
- "tabs-disabled-opacity",
297
+ opacity: var(
298
+ --#{$prefix}tabs-disabled-opacity,
340
299
  $tabs-disabled-opacity
341
300
  );
342
301
  }
343
302
 
344
303
  &:hover:not(.o-tabs__nav-item-toggle--active) {
345
- @include avariable(
346
- "background-color",
347
- "tabs-toggle-link-hover-background-color",
304
+ background-color: var(
305
+ --#{$prefix}tabs-toggle-link-hover-background-color,
348
306
  $tabs-toggle-link-hover-background-color
349
307
  );
350
- @include avariable(
351
- "border-color",
352
- "tabs-toggle-link-hover-border-color",
308
+ border-color: var(
309
+ --#{$prefix}tabs-toggle-link-hover-border-color,
353
310
  $tabs-toggle-link-hover-border-color
354
311
  );
355
312
  }
@@ -363,12 +320,7 @@ $tabs-toggle-link-active-color: $primary-invert !default;
363
320
  display: flex;
364
321
  flex-direction: column;
365
322
  flex-grow: 1;
366
-
367
- @include avariable(
368
- "padding",
369
- "tabs-content-padding",
370
- $tabs-content-padding
371
- );
323
+ padding: var(--#{$prefix}tabs-content-padding, $tabs-content-padding);
372
324
 
373
325
  &--transitioning {
374
326
  overflow: hidden;
@@ -376,10 +328,6 @@ $tabs-toggle-link-active-color: $primary-invert !default;
376
328
  }
377
329
 
378
330
  &:not(:last-child) {
379
- @include avariable(
380
- "margin-bottom",
381
- "tabs-margin-bottom",
382
- $tabs-margin-bottom
383
- );
331
+ margin-bottom: var(--#{$prefix}tabs-margin-bottom, $tabs-margin-bottom);
384
332
  }
385
333
  }
@@ -1,153 +1,101 @@
1
1
  @use "sass:list";
2
2
 
3
3
  /* @docs */
4
- $taginput-background-color: $input-background-color !default;
5
- $taginput-height: calc(2em - 1px) !default;
6
- $taginput-padding: calc(0.275em - 1px) 0 0 !default;
7
- $taginput-border-color: $grey-lighter !default;
8
- $taginput-border-style: solid !default;
9
- $taginput-border-width: 1px !default;
10
- $taginput-border-radius: $base-border-radius !default;
11
- $taginput-color: #363636 !default;
12
- $taginput-line-height: $base-line-height !default;
13
- $taginput-box-shadow: inset 0 1px 2px hsla(0, 0%, 4%, 0.1) !default;
14
- $taginput-max-width: 100% !default;
15
- $taginput-width: 100% !default;
16
4
  $taginput-counter-font-size: 0.75rem !default;
17
5
  $taginput-counter-margin: 0.25rem 0 0 0.5rem !default;
18
- $taginput-item-background-color: $primary !default;
19
- $taginput-item-color: $primary-invert !default;
20
- $taginput-item-border-radius: $base-border-radius !default;
21
- $taginput-item-margin: 0 0 0 0.275em !default;
6
+ $taginput-item-background-color: var(--#{$prefix}primary) !default;
7
+ $taginput-item-color: var(--#{$prefix}primary-invert) !default;
8
+ $taginput-item-border-radius: var(--#{$prefix}base-border-radius) !default;
9
+ $taginput-item-margin: 0.275em !default;
22
10
  $taginput-item-padding: 0 0.75em 0 0.75em !default;
23
11
  $taginput-margin-icon-to-text: 0.1875em !default;
24
12
  /* @docs */
25
13
 
26
14
  .o-taginput {
27
- display: block;
15
+ display: flex;
28
16
 
29
17
  &__container {
30
18
  display: flex;
31
- align-items: center;
32
- justify-content: flex-start;
33
- position: relative;
34
- vertical-align: top;
35
19
  flex-wrap: wrap;
36
20
 
37
- @include avariable("max-width", "taginput-max-width", $taginput-max-width);
38
- @include avariable("width", "taginput-width", $taginput-width);
39
- @include avariable("padding", "taginput-padding", $taginput-padding);
40
- @include avariable(
41
- "background-color",
42
- "taginput-background-color",
43
- $taginput-background-color
44
- );
45
- @include avariable(
46
- "border-color",
47
- "taginput-border-color",
48
- $taginput-border-color
49
- );
50
- @include avariable(
51
- "border-style",
52
- "taginput-border-style",
53
- $taginput-border-style
54
- );
55
- @include avariable(
56
- "border-width",
57
- "taginput-border-width",
58
- $taginput-border-width
59
- );
60
- @include avariable(
61
- "border-radius",
62
- "taginput-border-radius",
63
- $taginput-border-radius
64
- );
65
- @include avariable("color", "taginput-color", $taginput-color);
66
- @include avariable("font-size", "base-font-size", $base-font-size);
67
- @include avariable(
68
- "line-height",
69
- "taginput-line-height",
70
- $taginput-line-height
71
- );
72
- @include avariable(
73
- "box-shadow",
74
- "taginput-box-shadow",
75
- $taginput-box-shadow
21
+ box-shadow: var(--#{$prefix}input-box-shadow, $input-box-shadow);
22
+ background-color: var(
23
+ --#{$prefix}input-background-color,
24
+ $input-background-color
76
25
  );
26
+ border-color: var(--#{$prefix}input-border-color, $input-border-color);
27
+ border-style: var(--#{$prefix}input-border-style, $input-border-style);
28
+ border-width: var(--#{$prefix}input-border-width, $input-border-width);
29
+ border-radius: var(--#{$prefix}input-border-radius, $input-border-radius);
30
+ color: var(--#{$prefix}input-color, $input-color);
31
+ font-size: var(--#{$prefix}base-font-size, $base-font-size);
32
+ line-height: var(--#{$prefix}input-line-height, $input-line-height);
33
+ margin: var(--#{$prefix}input-margin, $input-margin);
34
+ width: var(--#{$prefix}taginput-width, inherit);
77
35
 
36
+ // size variants
78
37
  @each $name, $value in $sizes {
79
38
  &--#{$name} {
80
- @include avariable(
81
- "font-size",
82
- ("taginput-font-size-" + #{$name}),
83
- $value
84
- );
39
+ font-size: var(--#{$prefix}taginput-font-size-#{$name}, $value);
85
40
  }
86
41
  }
87
42
  }
88
43
 
44
+ &__autocomplete {
45
+ flex-grow: 1;
46
+ flex-shrink: 1;
47
+ width: auto;
48
+ }
49
+
89
50
  &__input {
90
51
  border: none;
91
52
  box-shadow: none;
92
-
93
- &:focus {
94
- box-shadow: none;
95
- }
53
+ width: 100%;
96
54
  }
97
55
 
98
56
  &__item {
99
57
  display: inline-flex;
100
- justify-content: center;
101
- align-items: center;
102
- position: relative;
103
-
104
- @include side-flex-gap($taginput-margin-icon-to-text);
105
- @include avariable(
106
- "background-color",
107
- "taginput-item-background-color",
58
+ margin: var(--#{$prefix}taginput-item-margin, $taginput-item-margin);
59
+ padding: var(--#{$prefix}taginput-item-padding, $taginput-item-padding);
60
+ color: var(--#{$prefix}taginput-item-color, $taginput-item-color);
61
+ background-color: var(
62
+ --#{$prefix}taginput-item-background-color,
108
63
  $taginput-item-background-color
109
64
  );
110
- @include avariable("color", "taginput-item-color", $taginput-item-color);
111
- @include avariable(
112
- "border-radius",
113
- "taginput-item-border-radius",
65
+ border-radius: var(
66
+ --#{$prefix}taginput-item-border-radius,
114
67
  $taginput-item-border-radius
115
68
  );
116
- @include avariable("margin", "taginput-item-margin", $taginput-item-margin);
117
- @include avariable(
118
- "padding",
119
- "taginput-item-padding",
120
- $taginput-item-padding
121
- );
122
69
 
70
+ // color variants
123
71
  @each $name, $pair in $colors {
124
72
  $color: list.nth($pair, 1);
125
73
  $color-invert: list.nth($pair, 2);
74
+
126
75
  &--#{$name} {
127
- @include avariable("background-color", ("variant-" + #{$name}), $color);
128
- @include avariable(
129
- "color",
130
- ("variant-invert-" + #{$name}),
131
- $color-invert
132
- );
76
+ --#{$prefix}focus: #{createFocus($color)};
77
+
78
+ background-color: var(--#{$prefix}variant-#{$name}, $color);
79
+ color: var(--#{$prefix}variant-invert-#{$name}, $color-invert);
133
80
  }
134
81
  }
82
+
83
+ // focus effect
84
+ &:focus,
85
+ &:focus-within {
86
+ box-shadow: 0 0 0 0.25rem var(--#{$prefix}focus);
87
+ outline: 0;
88
+ }
135
89
  }
136
90
 
137
91
  &__counter {
138
92
  display: block;
139
93
  float: right;
140
-
141
- @include avariable(
142
- "font-size",
143
- "taginput-counter-font-size",
94
+ font-size: var(
95
+ --#{$prefix}taginput-counter-font-size,
144
96
  $taginput-counter-font-size
145
97
  );
146
- @include avariable(
147
- "margin",
148
- "taginput-counter-margin",
149
- $taginput-counter-margin
150
- );
98
+ margin: var(--#{$prefix}taginput-counter-margin, $taginput-counter-margin);
151
99
  }
152
100
 
153
101
  &--expanded {
@@ -155,4 +103,15 @@ $taginput-margin-icon-to-text: 0.1875em !default;
155
103
  flex-grow: 1;
156
104
  flex-shrink: 1;
157
105
  }
106
+
107
+ // // focus effect
108
+ // &:focus &__container,
109
+ // &:focus-within &__container {
110
+ // box-shadow: 0 0 0 0.25rem var(--#{$prefix}focus);
111
+
112
+ // // disable focus effect for inner input
113
+ // .o-input {
114
+ // --#{$prefix}focus: transparent;
115
+ // }
116
+ // }
158
117
  }