@clayui/css 3.42.0 → 3.44.2

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 (42) hide show
  1. package/lib/css/atlas.css +405 -172
  2. package/lib/css/atlas.css.map +1 -1
  3. package/lib/css/base.css +382 -151
  4. package/lib/css/base.css.map +1 -1
  5. package/lib/css/bootstrap.css.map +1 -1
  6. package/lib/css/cadmin.css +234 -116
  7. package/lib/css/cadmin.css.map +1 -1
  8. package/lib/images/icons/date-time.svg +12 -0
  9. package/lib/images/icons/icons.svg +1 -1
  10. package/package.json +2 -2
  11. package/src/images/icons/date-time.svg +12 -0
  12. package/src/scss/atlas/variables/_buttons.scss +2 -31
  13. package/src/scss/atlas/variables/_navs.scss +20 -15
  14. package/src/scss/cadmin/components/_dropdowns.scss +4 -0
  15. package/src/scss/cadmin/components/_input-groups.scss +12 -312
  16. package/src/scss/cadmin/components/_navs.scss +35 -113
  17. package/src/scss/cadmin/components/_utilities-functional-important.scss +4 -3
  18. package/src/scss/cadmin/variables/_alerts.scss +3 -2
  19. package/src/scss/cadmin/variables/_dropdowns.scss +31 -2
  20. package/src/scss/cadmin/variables/_forms.scss +366 -5
  21. package/src/scss/cadmin/variables/_navs.scss +271 -53
  22. package/src/scss/components/_buttons.scss +87 -49
  23. package/src/scss/components/_cards.scss +16 -116
  24. package/src/scss/components/_dropdowns.scss +4 -0
  25. package/src/scss/components/_input-groups.scss +12 -308
  26. package/src/scss/components/_navs.scss +45 -128
  27. package/src/scss/functions/_lx-icons-generated.scss +2 -0
  28. package/src/scss/mixins/_buttons.scss +27 -64
  29. package/src/scss/mixins/_cards.scss +751 -557
  30. package/src/scss/mixins/_custom-forms.scss +404 -383
  31. package/src/scss/mixins/_dropdown-menu.scss +427 -355
  32. package/src/scss/mixins/_forms.scss +67 -10
  33. package/src/scss/mixins/_input-groups.scss +405 -11
  34. package/src/scss/mixins/_labels.scss +320 -296
  35. package/src/scss/mixins/_nav.scss +202 -131
  36. package/src/scss/mixins/_navbar.scss +32 -0
  37. package/src/scss/variables/_alerts.scss +1 -0
  38. package/src/scss/variables/_buttons.scss +26 -3
  39. package/src/scss/variables/_cards.scss +273 -1
  40. package/src/scss/variables/_dropdowns.scss +31 -2
  41. package/src/scss/variables/_forms.scss +405 -22
  42. package/src/scss/variables/_navs.scss +266 -33
@@ -20,12 +20,16 @@ $cadmin-nav-link: map-deep-merge(
20
20
  ),
21
21
  focus: (
22
22
  text-decoration: none,
23
+ z-index: 1,
24
+ ),
25
+ disabled: (
26
+ color: $cadmin-nav-link-disabled-color,
27
+ box-shadow: none,
28
+ cursor: $cadmin-nav-link-disabled-cursor,
29
+ active: (
30
+ pointer-events: none,
31
+ ),
23
32
  ),
24
- focus-z-index: 1,
25
- disabled-color: $cadmin-nav-link-disabled-color,
26
- disabled-box-shadow: none,
27
- disabled-cursor: $cadmin-nav-link-disabled-cursor,
28
- disabled-active-pointer-events: none,
29
33
  ),
30
34
  $cadmin-nav-link
31
35
  );
@@ -34,9 +38,13 @@ $cadmin-nav-link-btn-unstyled: () !default;
34
38
  $cadmin-nav-link-btn-unstyled: map-deep-merge(
35
39
  (
36
40
  width: 100%,
37
- disabled-opacity: 1,
38
- focus-box-shadow: #{0 0 0 2px $cadmin-white,
39
- 0 0 0 4px $cadmin-primary-l1},
41
+ focus: (
42
+ box-shadow: #{0 0 0 2px $cadmin-white,
43
+ 0 0 0 4px $cadmin-primary-l1},
44
+ ),
45
+ disabled: (
46
+ opacity: 1,
47
+ ),
40
48
  c-inner: (
41
49
  width: auto,
42
50
  ),
@@ -79,15 +87,25 @@ $cadmin-nav-btn: map-deep-merge(
79
87
  position: relative,
80
88
  text-align: center,
81
89
  width: auto,
82
- focus-z-index: 1,
83
- disabled-opacity: 1,
90
+ focus: (
91
+ z-index: 1,
92
+ ),
93
+ disabled: (
94
+ opacity: 1,
95
+ ),
84
96
  c-inner: (
85
97
  margin-bottom: 0,
86
98
  margin-left: math-sign($cadmin-nav-btn-padding-x),
87
99
  margin-right: math-sign($cadmin-nav-btn-padding-x),
88
100
  margin-top: math-sign($cadmin-btn-border-width),
89
101
  ),
90
- lexicon-icon-margin-top: 0,
102
+ btn-link: (
103
+ margin-left: 0,
104
+ margin-right: 0,
105
+ ),
106
+ lexicon-icon: (
107
+ margin-top: 0,
108
+ ),
91
109
  ),
92
110
  $cadmin-nav-btn
93
111
  );
@@ -114,26 +132,168 @@ $cadmin-nav-link-monospaced: map-deep-merge(
114
132
  margin: $cadmin-nav-btn-margin-y $cadmin-nav-btn-margin-x,
115
133
  min-width: $cadmin-nav-item-monospaced-size,
116
134
  padding: 0,
117
- lexicon-icon-margin-top: 0,
135
+ lexicon-icon: (
136
+ margin-top: 0,
137
+ ),
118
138
  ),
119
139
  $cadmin-nav-link-monospaced
120
140
  );
121
141
 
122
- $cadmin-nav-divider-color: $cadmin-gray-200 !default;
142
+ // .nav-item
143
+
144
+ $cadmin-nav-item: () !default;
145
+ $cadmin-nav-item: map-deep-merge(
146
+ (
147
+ word-wrap: break-word,
148
+ ),
149
+ $cadmin-nav-item
150
+ );
151
+
152
+ // .nav-divider
153
+
154
+ $cadmin-nav-divider-color: $cadmin-gray-600 !default;
123
155
  $cadmin-nav-divider-margin-y: $cadmin-spacer * 0.5 !default;
124
156
 
157
+ $cadmin-nav-divider: () !default;
158
+ $cadmin-nav-divider: map-deep-merge(
159
+ (
160
+ margin-left: 8px,
161
+ padding-left: 8px,
162
+ position: relative,
163
+ before: (
164
+ background-color: $cadmin-nav-divider-color,
165
+ content: '',
166
+ display: block,
167
+ height: 16px,
168
+ left: 0,
169
+ margin-top: -8px,
170
+ position: absolute,
171
+ top: 50%,
172
+ width: 1px,
173
+ z-index: 2,
174
+ ),
175
+ ),
176
+ $cadmin-nav-divider
177
+ );
178
+
179
+ $cadmin-nav-divider-end: () !default;
180
+ $cadmin-nav-divider-end: map-deep-merge(
181
+ (
182
+ margin-right: 8px,
183
+ padding-right: 8px,
184
+ position: relative,
185
+ after: (
186
+ background-color: $cadmin-nav-divider-color,
187
+ content: '',
188
+ display: block,
189
+ height: 16px,
190
+ margin-top: -8px,
191
+ position: absolute,
192
+ right: 0,
193
+ top: 50%,
194
+ width: 1px,
195
+ z-index: 2,
196
+ ),
197
+ ),
198
+ $cadmin-nav-divider-end
199
+ );
200
+
201
+ // .nav-text-truncate
202
+
203
+ $cadmin-nav-text-truncate: () !default;
204
+ $cadmin-nav-text-truncate: map-deep-merge(
205
+ (
206
+ display: inline-block,
207
+ margin-bottom: -6px,
208
+ max-width: 100%,
209
+ overflow: hidden,
210
+ text-overflow: ellipsis,
211
+ white-space: nowrap,
212
+ ),
213
+ $cadmin-nav-text-truncate
214
+ );
215
+
216
+ // .nav .nav-form
217
+
125
218
  $cadmin-nav-form-padding-bottom: 0 !default;
126
219
  $cadmin-nav-form-padding-left: $cadmin-nav-link-padding-x !default;
127
220
  $cadmin-nav-form-padding-right: $cadmin-nav-link-padding-x !default;
128
221
  $cadmin-nav-form-padding-top: 0 !default;
129
222
 
130
- // Nav Stacked
223
+ $cadmin-nav-form: () !default;
224
+ $cadmin-nav-form: map-merge(
225
+ (
226
+ padding-bottom: $cadmin-nav-form-padding-bottom,
227
+ padding-left: $cadmin-nav-form-padding-left,
228
+ padding-right: $cadmin-nav-form-padding-right,
229
+ padding-top: $cadmin-nav-form-padding-top,
230
+ ),
231
+ $cadmin-nav-form
232
+ );
233
+
234
+ // .nav
235
+
236
+ $cadmin-nav: () !default;
237
+ $cadmin-nav: map-deep-merge(
238
+ (
239
+ display: flex,
240
+ flex-wrap: wrap,
241
+ font-size: $cadmin-nav-font-size,
242
+ list-style: none,
243
+ margin-bottom: 0,
244
+ padding-left: 0,
245
+ ),
246
+ $cadmin-nav
247
+ );
248
+
249
+ // .nav-stacked
131
250
 
132
251
  $cadmin-nav-stacked-nav-form-padding-bottom: $cadmin-nav-link-padding-y !default;
133
252
  $cadmin-nav-stacked-nav-form-padding-left: 8px !default;
134
253
  $cadmin-nav-stacked-nav-form-padding-right: 8px !default;
135
254
  $cadmin-nav-stacked-nav-form-padding-top: $cadmin-nav-link-padding-y !default;
136
255
 
256
+ $cadmin-nav-stacked: () !default;
257
+ $cadmin-nav-stacked: map-deep-merge(
258
+ (
259
+ display: block,
260
+ nav-form: (
261
+ padding-bottom: $cadmin-nav-stacked-nav-form-padding-bottom,
262
+ padding-left: $cadmin-nav-stacked-nav-form-padding-left,
263
+ padding-right: $cadmin-nav-stacked-nav-form-padding-right,
264
+ padding-top: $cadmin-nav-stacked-nav-form-padding-top,
265
+ ),
266
+ ),
267
+ $cadmin-nav-stacked
268
+ );
269
+
270
+ // .nav-unstyled
271
+
272
+ $cadmin-nav-unstyled: () !default;
273
+ $cadmin-nav-unstyled: map-deep-merge(
274
+ (
275
+ flex-wrap: nowrap,
276
+ nav-link: (
277
+ line-height: $cadmin-nav-item-monospaced-size,
278
+ padding-bottom: 0,
279
+ padding-left: 4px,
280
+ padding-right: 4px,
281
+ padding-top: 0,
282
+ ),
283
+ nav-link-monospaced: (
284
+ margin: 0 4px,
285
+ ),
286
+ nav-btn: (
287
+ margin: 0 4px,
288
+ padding-bottom: 0,
289
+ padding-left: 4px,
290
+ padding-right: 4px,
291
+ padding-top: 0,
292
+ ),
293
+ ),
294
+ $cadmin-nav-unstyled
295
+ );
296
+
137
297
  // Nav Nested
138
298
 
139
299
  $cadmin-nav-nested-margins-spacer-x: $cadmin-nav-link-padding-x !default;
@@ -160,6 +320,23 @@ $cadmin-nav-tabs-link-active-border-color: transparent transparent
160
320
  $cadmin-body-bg !default;
161
321
  $cadmin-nav-tabs-link-active-color: $cadmin-gray-900 !default;
162
322
 
323
+ $cadmin-nav-tabs-link-show-color: $cadmin-nav-tabs-link-active-color !default;
324
+ $cadmin-nav-tabs-link-show-bg: transparent !default;
325
+ $cadmin-nav-tabs-link-show-border-color: transparent transparent
326
+ $cadmin-nav-tabs-border-color transparent !default;
327
+
328
+ // .nav-tabs .nav-link[aria-expanded="true"]
329
+
330
+ $cadmin-nav-tabs-link-show: () !default;
331
+ $cadmin-nav-tabs-link-show: map-deep-merge(
332
+ (
333
+ background-color: $cadmin-nav-tabs-link-show-bg,
334
+ border-color: $cadmin-nav-tabs-link-show-border-color,
335
+ color: $cadmin-nav-tabs-link-show-color,
336
+ ),
337
+ $cadmin-nav-tabs-link-show
338
+ );
339
+
163
340
  $cadmin-nav-tabs-link: () !default;
164
341
  $cadmin-nav-tabs-link: map-deep-merge(
165
342
  (
@@ -188,6 +365,7 @@ $cadmin-nav-tabs-link: map-deep-merge(
188
365
  border-color: $cadmin-nav-tabs-link-active-border-color,
189
366
  color: $cadmin-nav-tabs-link-active-color,
190
367
  ),
368
+ show: $cadmin-nav-tabs-link-show,
191
369
  disabled: (
192
370
  background-color: transparent,
193
371
  border-color: transparent,
@@ -198,21 +376,20 @@ $cadmin-nav-tabs-link: map-deep-merge(
198
376
  $cadmin-nav-tabs-link
199
377
  );
200
378
 
201
- // Nav Tabs Link Show
379
+ // .nav-tabs
202
380
 
203
- $cadmin-nav-tabs-link-show-color: $cadmin-nav-tabs-link-active-color !default;
204
- $cadmin-nav-tabs-link-show-bg: transparent !default;
205
- $cadmin-nav-tabs-link-show-border-color: transparent transparent
206
- $cadmin-nav-tabs-border-color transparent !default;
207
-
208
- $cadmin-nav-tabs-link-show: () !default;
209
- $cadmin-nav-tabs-link-show: map-deep-merge(
381
+ $cadmin-nav-tabs: () !default;
382
+ $cadmin-nav-tabs: map-deep-merge(
210
383
  (
211
- bg: $cadmin-nav-tabs-link-show-bg,
212
- border-color: $cadmin-nav-tabs-link-show-border-color,
213
- color: $cadmin-nav-tabs-link-show-color,
384
+ border-bottom: $cadmin-nav-tabs-border-width solid
385
+ $cadmin-nav-tabs-border-color,
386
+ font-size: $cadmin-nav-tabs-font-size,
387
+ nav-item: (
388
+ margin-bottom: math-sign($cadmin-nav-tabs-border-width),
389
+ ),
390
+ nav-link: $cadmin-nav-tabs-link,
214
391
  ),
215
- $cadmin-nav-tabs-link-show
392
+ $cadmin-nav-tabs
216
393
  );
217
394
 
218
395
  // Nav Tabs Tab Pane
@@ -221,7 +398,22 @@ $cadmin-nav-tabs-tab-pane-bg: $cadmin-white !default;
221
398
  $cadmin-nav-tabs-tab-pane-border-radius: 4px !default;
222
399
  $cadmin-nav-tabs-tab-pane-padding: 32px !default;
223
400
 
224
- // Nav Underline
401
+ // Nav Underline Link Highlight
402
+
403
+ $cadmin-nav-underline-link-highlight-content: null !default;
404
+ $cadmin-nav-underline-link-highlight-height: null !default;
405
+ $cadmin-nav-underline-link-highlight-bottom: 0 !default;
406
+ $cadmin-nav-underline-link-highlight-left: 0 !default;
407
+ $cadmin-nav-underline-link-highlight-right: 0 !default;
408
+ $cadmin-nav-underline-link-highlight-top: null !default;
409
+
410
+ $cadmin-nav-underline-link-active-highlight: $cadmin-primary-l1 !default;
411
+ $cadmin-nav-underline-link-active-content: '' !default;
412
+ $cadmin-nav-underline-link-active-highlight-height: 2px !default; // 2px
413
+
414
+ $cadmin-nav-underline-link-disabled-highlight: null !default;
415
+
416
+ // .nav-underline
225
417
 
226
418
  $cadmin-nav-underline-font-size: null !default;
227
419
 
@@ -237,6 +429,16 @@ $cadmin-nav-underline-link-active-color: $cadmin-gray-900 !default;
237
429
 
238
430
  $cadmin-nav-underline-link-disabled-color: $cadmin-nav-link-disabled-color !default;
239
431
 
432
+ // .nav-underline .nav-link[aria-expanded='true']
433
+
434
+ $cadmin-nav-underline-link-show: () !default;
435
+ $cadmin-nav-underline-link-show: map-deep-merge(
436
+ (
437
+ color: $cadmin-nav-underline-link-active-color,
438
+ ),
439
+ $cadmin-nav-underline-link-show
440
+ );
441
+
240
442
  $cadmin-nav-underline-link: () !default;
241
443
  $cadmin-nav-underline-link: map-deep-merge(
242
444
  (
@@ -249,36 +451,52 @@ $cadmin-nav-underline-link: map-deep-merge(
249
451
  padding-right: $cadmin-nav-underline-link-padding-x,
250
452
  padding-top: 9px,
251
453
  transition: box-shadow 0.15s ease-in-out,
252
- hover-color: $cadmin-nav-underline-link-hover-color,
253
- focus-box-shadow: $cadmin-component-focus-box-shadow,
254
- focus-color: $cadmin-nav-underline-link-hover-color,
255
- focus-outline: 0,
256
- active-class-color: $cadmin-nav-underline-link-active-color,
257
- disabled-box-shadow: none,
258
- disabled-color: $cadmin-nav-underline-link-disabled-color,
454
+ after: (
455
+ bottom: $cadmin-nav-underline-link-highlight-bottom,
456
+ content: $cadmin-nav-underline-link-highlight-content,
457
+ display: block,
458
+ height: $cadmin-nav-underline-link-highlight-height,
459
+ position: absolute,
460
+ left: $cadmin-nav-underline-link-highlight-left,
461
+ right: $cadmin-nav-underline-link-highlight-right,
462
+ top: $cadmin-nav-underline-link-highlight-top,
463
+ width: auto,
464
+ ),
465
+ hover: (
466
+ color: $cadmin-nav-underline-link-hover-color,
467
+ ),
468
+ focus: (
469
+ box-shadow: $cadmin-component-focus-box-shadow,
470
+ color: $cadmin-nav-underline-link-hover-color,
471
+ outline: 0,
472
+ ),
473
+ active-class: (
474
+ color: $cadmin-nav-underline-link-active-color,
475
+ after: (
476
+ background-color: $cadmin-nav-underline-link-active-highlight,
477
+ content: $cadmin-nav-underline-link-active-content,
478
+ height: $cadmin-nav-underline-link-active-highlight-height,
479
+ ),
480
+ ),
481
+ show: $cadmin-nav-underline-link-show,
482
+ disabled: (
483
+ box-shadow: none,
484
+ color: $cadmin-nav-underline-link-disabled-color,
485
+ after: (
486
+ background-color: $cadmin-nav-underline-link-disabled-highlight,
487
+ ),
488
+ ),
259
489
  ),
260
490
  $cadmin-nav-underline-link
261
491
  );
262
492
 
263
- $cadmin-nav-underline-link-show: () !default;
264
- $cadmin-nav-underline-link-show: map-deep-merge(
493
+ // .nav-underline
494
+
495
+ $cadmin-nav-underline: () !default;
496
+ $cadmin-nav-underline: map-deep-merge(
265
497
  (
266
- color: $cadmin-nav-underline-link-active-color,
498
+ font-size: $cadmin-nav-underline-font-size,
499
+ nav-link: $cadmin-nav-underline-link,
267
500
  ),
268
- $cadmin-nav-underline-link-show
501
+ $cadmin-nav-underline
269
502
  );
270
-
271
- // Nav Underline Link Highlight
272
-
273
- $cadmin-nav-underline-link-highlight-content: null !default;
274
- $cadmin-nav-underline-link-highlight-height: null !default;
275
- $cadmin-nav-underline-link-highlight-bottom: 0 !default;
276
- $cadmin-nav-underline-link-highlight-left: 0 !default;
277
- $cadmin-nav-underline-link-highlight-right: 0 !default;
278
- $cadmin-nav-underline-link-highlight-top: null !default;
279
-
280
- $cadmin-nav-underline-link-active-highlight: $cadmin-primary-l1 !default;
281
- $cadmin-nav-underline-link-active-content: '' !default;
282
- $cadmin-nav-underline-link-active-highlight-height: 2px !default; // 2px
283
-
284
- $cadmin-nav-underline-link-disabled-highlight: null !default;
@@ -18,20 +18,26 @@ fieldset:disabled a.btn {
18
18
 
19
19
  // Button Sizes
20
20
 
21
- %clay-btn-lg {
22
- @include clay-button-variant($btn-lg);
23
- }
24
-
25
- .btn-lg {
26
- @extend %clay-btn-lg !optional;
27
- }
28
-
29
- %clay-btn-sm {
30
- @include clay-button-variant($btn-sm);
31
- }
21
+ @each $size, $value in $btn-sizes {
22
+ $placeholder: if(
23
+ starts-with($size, 'btn-'),
24
+ '%clay-#{$size}',
25
+ '%#{str-slice($size, 2)}'
26
+ );
27
+
28
+ $selector: if(
29
+ starts-with($size, 'btn-'),
30
+ clay-str-replace($size, 'btn-', '.btn-'),
31
+ $size
32
+ );
33
+
34
+ #{$placeholder} {
35
+ @include clay-button-variant($value);
36
+ }
32
37
 
33
- .btn-sm {
34
- @extend %clay-btn-sm !optional;
38
+ #{$selector} {
39
+ @extend #{$placeholder} !optional;
40
+ }
35
41
  }
36
42
 
37
43
  // Button Block
@@ -67,65 +73,97 @@ input[type='button'] {
67
73
 
68
74
  // Button Monospaced
69
75
 
70
- .btn-monospaced {
71
- @include clay-button-variant($btn-monospaced);
72
-
73
- &.btn .lexicon-icon {
74
- margin-top: 0;
76
+ @each $size, $value in $btn-monospaced-sizes {
77
+ $placeholder: if(
78
+ starts-with($size, 'btn-monospaced'),
79
+ '%clay-#{$size}',
80
+ '%#{str-slice($size, 2)}'
81
+ );
82
+
83
+ $selector: if(
84
+ starts-with($size, 'btn-monospaced-'),
85
+ clay-str-replace($size, 'btn-monospaced', '.btn-monospaced.btn'),
86
+ if(
87
+ $size == 'btn-monospaced',
88
+ clay-str-replace($size, 'btn-monospaced', '.btn-monospaced'),
89
+ $size
90
+ )
91
+ );
92
+
93
+ #{$placeholder} {
94
+ @include clay-button-variant($value);
75
95
  }
76
- }
77
96
 
78
- %clay-btn-monospaced-lg {
79
- @include clay-button-variant($btn-monospaced-lg);
80
- }
81
-
82
- .btn-monospaced.btn-lg {
83
- @extend %clay-btn-monospaced-lg !optional;
84
- }
85
-
86
- %clay-btn-monospaced-sm {
87
- @include clay-button-variant($btn-monospaced-sm);
88
- }
89
-
90
- .btn-monospaced.btn-sm {
91
- @extend %clay-btn-monospaced-sm !optional;
97
+ #{$selector} {
98
+ @extend #{$placeholder} !optional;
99
+ }
92
100
  }
93
101
 
94
102
  // Button Variants
95
103
 
96
104
  @each $color, $value in $btn-palette {
97
- %btn-#{$color} {
105
+ $placeholder: if(
106
+ starts-with($color, '.') or starts-with($color, '#'),
107
+ '%#{str-slice($color, 2)}',
108
+ '%btn-#{$color}'
109
+ );
110
+
111
+ $placeholder-focus: if(
112
+ starts-with($color, '.') or starts-with($color, '#'),
113
+ '%#{str-slice($color, 2)}-focus',
114
+ '%btn-#{$color}-focus'
115
+ );
116
+
117
+ $selector: if(
118
+ starts-with($color, '.') or starts-with($color, '#'),
119
+ $color,
120
+ str-insert($color, '.btn-', 1)
121
+ );
122
+
123
+ #{$placeholder} {
98
124
  @include clay-button-variant($value);
99
125
  }
100
126
 
101
- .btn-#{$color} {
102
- @extend %btn-#{$color} !optional;
127
+ #{$selector} {
128
+ @extend #{$placeholder} !optional;
103
129
  }
104
130
 
105
- %btn-#{$color}-focus {
106
- background-color: map-get($value, focus-bg);
107
- border-color: map-get($value, focus-border-color);
108
- box-shadow: map-get($value, focus-box-shadow);
109
- color: map-get($value, focus-color);
131
+ #{$placeholder-focus} {
132
+ @include clay-button-variant(map-get($value, focus));
110
133
  }
111
134
  }
112
135
 
113
136
  // Button Outline Variants
114
137
 
115
138
  @each $color, $value in $btn-outline-palette {
116
- %btn-outline-#{$color} {
139
+ $placeholder: if(
140
+ starts-with($color, '.') or starts-with($color, '#'),
141
+ '%#{str-slice($color, 2)}',
142
+ '%btn-outline-#{$color}'
143
+ );
144
+
145
+ $placeholder-focus: if(
146
+ starts-with($color, '.') or starts-with($color, '#'),
147
+ '%#{str-slice($color, 2)}-focus',
148
+ '%btn-outline-#{$color}-focus'
149
+ );
150
+
151
+ $selector: if(
152
+ starts-with($color, '.') or starts-with($color, '#'),
153
+ $color,
154
+ str-insert($color, '.btn-outline-', 1)
155
+ );
156
+
157
+ #{$placeholder} {
117
158
  @include clay-button-variant($value);
118
159
  }
119
160
 
120
- .btn-outline-#{$color} {
121
- @extend %btn-outline-#{$color} !optional;
161
+ #{$selector} {
162
+ @extend #{$placeholder} !optional;
122
163
  }
123
164
 
124
- %btn-outline-#{$color}-focus {
125
- background-color: map-get($value, focus-bg);
126
- border-color: map-get($value, focus-border-color);
127
- box-shadow: map-get($value, focus-box-shadow);
128
- color: map-get($value, focus-color);
165
+ #{$placeholder-focus} {
166
+ @include clay-button-variant(map-get($value, focus));
129
167
  }
130
168
  }
131
169