@clayui/css 3.64.0 → 3.68.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 (79) hide show
  1. package/lib/css/atlas.css +67 -134
  2. package/lib/css/atlas.css.map +1 -1
  3. package/lib/css/base.css +50 -115
  4. package/lib/css/base.css.map +1 -1
  5. package/lib/css/cadmin.css +109 -74
  6. package/lib/css/cadmin.css.map +1 -1
  7. package/lib/images/icons/icons.svg +1 -1
  8. package/package.json +2 -2
  9. package/src/scss/_license-text.scss +1 -1
  10. package/src/scss/atlas/variables/_alerts.scss +1 -0
  11. package/src/scss/atlas/variables/_dropdowns.scss +2 -2
  12. package/src/scss/atlas/variables/_forms.scss +6 -2
  13. package/src/scss/atlas/variables/_globals.scss +1 -1
  14. package/src/scss/cadmin/components/_alerts.scss +26 -6
  15. package/src/scss/cadmin/components/_aspect-ratio.scss +29 -14
  16. package/src/scss/cadmin/components/_badges.scss +26 -6
  17. package/src/scss/cadmin/components/_buttons.scss +129 -63
  18. package/src/scss/cadmin/components/_dropdowns.scss +22 -14
  19. package/src/scss/cadmin/components/_labels.scss +52 -12
  20. package/src/scss/cadmin/components/_popovers.scss +12 -4
  21. package/src/scss/cadmin/components/_print.scss +3 -3
  22. package/src/scss/cadmin/components/_reboot.scss +3 -3
  23. package/src/scss/cadmin/components/_stickers.scss +52 -12
  24. package/src/scss/cadmin/components/_utilities-functional-important.scss +49 -62
  25. package/src/scss/cadmin/components/_utilities.scss +7 -6
  26. package/src/scss/cadmin/variables/_alerts.scss +2 -0
  27. package/src/scss/cadmin/variables/_buttons.scss +23 -0
  28. package/src/scss/cadmin/variables/_dropdowns.scss +10 -10
  29. package/src/scss/cadmin/variables/_forms.scss +7 -3
  30. package/src/scss/cadmin/variables/_globals.scss +1 -1
  31. package/src/scss/cadmin/variables/_modals.scss +3 -2
  32. package/src/scss/cadmin/variables/_popovers.scss +3 -2
  33. package/src/scss/cadmin/variables/_utilities.scss +309 -0
  34. package/src/scss/components/_alerts.scss +53 -85
  35. package/src/scss/components/_aspect-ratio.scss +29 -14
  36. package/src/scss/components/_badges.scss +25 -5
  37. package/src/scss/components/_buttons.scss +100 -72
  38. package/src/scss/components/_custom-forms.scss +4 -12
  39. package/src/scss/components/_date-picker.scss +6 -23
  40. package/src/scss/components/_dropdowns.scss +30 -35
  41. package/src/scss/components/_forms.scss +16 -53
  42. package/src/scss/components/_icons.scss +4 -4
  43. package/src/scss/components/_labels.scss +56 -20
  44. package/src/scss/components/_list-group.scss +4 -9
  45. package/src/scss/components/_modals.scss +2 -6
  46. package/src/scss/components/_popovers.scss +12 -4
  47. package/src/scss/components/_print.scss +3 -3
  48. package/src/scss/components/_progress-bars.scss +2 -6
  49. package/src/scss/components/_reboot.scss +3 -3
  50. package/src/scss/components/_sidebar.scss +3 -1
  51. package/src/scss/components/_stickers.scss +53 -25
  52. package/src/scss/components/_type.scss +3 -3
  53. package/src/scss/components/_utilities-functional-important.scss +40 -18
  54. package/src/scss/components/_utilities.scss +7 -6
  55. package/src/scss/functions/_global-functions.scss +9 -9
  56. package/src/scss/functions/_type-conversion-functions.scss +6 -6
  57. package/src/scss/mixins/_alerts.scss +10 -24
  58. package/src/scss/mixins/_aspect-ratio.scss +51 -49
  59. package/src/scss/mixins/_badges.scss +140 -140
  60. package/src/scss/mixins/_buttons.scss +2 -6
  61. package/src/scss/mixins/_cards.scss +4 -10
  62. package/src/scss/mixins/_dropdown-menu.scss +19 -31
  63. package/src/scss/mixins/_globals.scss +2 -0
  64. package/src/scss/mixins/_grid.scss +59 -51
  65. package/src/scss/mixins/_labels.scss +228 -212
  66. package/src/scss/mixins/_menubar.scss +15 -46
  67. package/src/scss/mixins/_navbar.scss +41 -43
  68. package/src/scss/mixins/_pagination.scss +35 -71
  69. package/src/scss/mixins/_sheet.scss +2 -6
  70. package/src/scss/mixins/_stickers.scss +10 -19
  71. package/src/scss/mixins/_tbar.scss +10 -30
  72. package/src/scss/mixins/_utilities.scss +7 -7
  73. package/src/scss/variables/_alerts.scss +3 -0
  74. package/src/scss/variables/_dropdowns.scss +4 -4
  75. package/src/scss/variables/_forms.scss +3 -1
  76. package/src/scss/variables/_globals.scss +1 -1
  77. package/src/scss/variables/_modals.scss +3 -2
  78. package/src/scss/variables/_popovers.scss +3 -1
  79. package/src/scss/variables/_utilities.scss +22 -0
@@ -1,6 +1,28 @@
1
1
  $cadmin-bg-checkered-fg: $cadmin-gray-300 !default;
2
+
3
+ // .inline-scroller
4
+
2
5
  $cadmin-inline-scroller-max-height: 125px !default;
3
6
 
7
+ $cadmin-inline-scroller: () !default;
8
+ $cadmin-inline-scroller: map-deep-merge(
9
+ (
10
+ list-style: none,
11
+ margin: 0,
12
+ max-height: $cadmin-inline-scroller-max-height,
13
+ overflow: auto,
14
+ -webkit-overflow-scrolling: touch,
15
+ padding: 0,
16
+ focus: (
17
+ outline: 0,
18
+ ),
19
+ focus-visible: (
20
+ box-shadow: $cadmin-component-focus-box-shadow,
21
+ ),
22
+ ),
23
+ $cadmin-inline-scroller
24
+ );
25
+
4
26
  // Autofit Row
5
27
 
6
28
  $cadmin-autofit-col-expand-min-width: 50px !default; // 50px
@@ -150,6 +172,184 @@ $cadmin-inline-item: map-deep-merge(
150
172
 
151
173
  $cadmin-page-header-bg: $cadmin-white !default;
152
174
 
175
+ // Background
176
+
177
+ $cadmin-bg-theme-colors: () !default;
178
+ $cadmin-bg-theme-colors: map-deep-merge(
179
+ (
180
+ 'primary': (
181
+ background-color: $cadmin-primary !important,
182
+ hover: (
183
+ background-color: clay-darken($cadmin-primary, 10%) !important,
184
+ ),
185
+ ),
186
+ 'secondary': (
187
+ background-color: $cadmin-secondary !important,
188
+ hover: (
189
+ background-color: clay-darken($cadmin-secondary, 10%) !important,
190
+ ),
191
+ ),
192
+ 'success': (
193
+ background-color: $cadmin-success !important,
194
+ hover: (
195
+ background-color: clay-darken($cadmin-success, 10%) !important,
196
+ ),
197
+ ),
198
+ 'info': (
199
+ background-color: $cadmin-info !important,
200
+ hover: (
201
+ background-color: clay-darken($cadmin-info, 10%) !important,
202
+ ),
203
+ ),
204
+ 'warning': (
205
+ background-color: $cadmin-warning !important,
206
+ hover: (
207
+ background-color: clay-darken($cadmin-warning, 10%) !important,
208
+ ),
209
+ ),
210
+ 'danger': (
211
+ background-color: $cadmin-danger !important,
212
+ hover: (
213
+ background-color: clay-darken($cadmin-danger, 10%) !important,
214
+ ),
215
+ ),
216
+ 'light': (
217
+ background-color: $cadmin-light !important,
218
+ hover: (
219
+ background-color: clay-darken($cadmin-light, 10%) !important,
220
+ ),
221
+ ),
222
+ 'dark': (
223
+ background-color: $cadmin-dark !important,
224
+ hover: (
225
+ background-color: clay-darken($cadmin-dark, 10%) !important,
226
+ ),
227
+ ),
228
+ 'white': (
229
+ background-color: $cadmin-white !important,
230
+ ),
231
+ 'transparent': (
232
+ background-color: transparent !important,
233
+ ),
234
+ ),
235
+ $cadmin-bg-theme-colors
236
+ );
237
+
238
+ $cadmin-bg-gradient-theme-colors: () !default;
239
+ $cadmin-bg-gradient-theme-colors: map-deep-merge(
240
+ (
241
+ 'primary': (
242
+ background: $cadmin-primary
243
+ linear-gradient(
244
+ 180deg,
245
+ clay-mix($cadmin-body-bg, $cadmin-primary, 15%),
246
+ $cadmin-primary
247
+ )
248
+ repeat-x !important,
249
+ ),
250
+ 'secondary': (
251
+ background: $cadmin-secondary
252
+ linear-gradient(
253
+ 180deg,
254
+ clay-mix($cadmin-body-bg, $cadmin-secondary, 15%),
255
+ $cadmin-secondary
256
+ )
257
+ repeat-x !important,
258
+ ),
259
+ 'success': (
260
+ background: $cadmin-success
261
+ linear-gradient(
262
+ 180deg,
263
+ clay-clay-mix($cadmin-body-bg, $cadmin-success, 15%),
264
+ $cadmin-success
265
+ )
266
+ repeat-x !important,
267
+ ),
268
+ 'info': (
269
+ background: $cadmin-info
270
+ linear-gradient(
271
+ 180deg,
272
+ clay-mix($cadmin-body-bg, $cadmin-info, 15%),
273
+ $cadmin-info
274
+ )
275
+ repeat-x !important,
276
+ ),
277
+ 'warning': (
278
+ background: $cadmin-warning
279
+ linear-gradient(
280
+ 180deg,
281
+ clay-mix($cadmin-body-bg, $cadmin-warning, 15%),
282
+ $cadmin-warning
283
+ )
284
+ repeat-x !important,
285
+ ),
286
+ 'danger': (
287
+ background: $cadmin-danger
288
+ linear-gradient(
289
+ 180deg,
290
+ clay-mix($cadmin-body-bg, $cadmin-danger, 15%),
291
+ $cadmin-danger
292
+ )
293
+ repeat-x !important,
294
+ ),
295
+ 'light': (
296
+ background: $cadmin-light
297
+ linear-gradient(
298
+ 180deg,
299
+ clay-mix($cadmin-body-bg, $cadmin-light, 15%),
300
+ $cadmin-light
301
+ )
302
+ repeat-x !important,
303
+ ),
304
+ 'dark': (
305
+ background: $cadmin-dark
306
+ linear-gradient(
307
+ 180deg,
308
+ clay-mix($cadmin-body-bg, $cadmin-dark, 15%),
309
+ $cadmin-dark
310
+ )
311
+ repeat-x !important,
312
+ ),
313
+ ),
314
+ $cadmin-bg-gradient-theme-colors
315
+ );
316
+
317
+ // Border
318
+
319
+ $cadmin-border-theme-colors: () !default;
320
+ $cadmin-border-theme-colors: map-deep-merge(
321
+ (
322
+ 'primary': (
323
+ border-color: $cadmin-primary !important,
324
+ ),
325
+ 'secondary': (
326
+ border-color: $cadmin-secondary !important,
327
+ ),
328
+ 'success': (
329
+ border-color: $cadmin-success !important,
330
+ ),
331
+ 'info': (
332
+ border-color: $cadmin-info !important,
333
+ ),
334
+ 'warning': (
335
+ border-color: $cadmin-warning !important,
336
+ ),
337
+ 'danger': (
338
+ border-color: $cadmin-danger !important,
339
+ ),
340
+ 'light': (
341
+ border-color: $cadmin-light !important,
342
+ ),
343
+ 'dark': (
344
+ border-color: $cadmin-dark !important,
345
+ ),
346
+ 'white': (
347
+ border-color: $cadmin-white !important,
348
+ ),
349
+ ),
350
+ $cadmin-border-theme-colors
351
+ );
352
+
153
353
  // Display
154
354
 
155
355
  $cadmin-displays: none, inline, inline-block, block, table, table-row,
@@ -204,3 +404,112 @@ $cadmin-font-sizes: map-deep-merge(
204
404
  ),
205
405
  $cadmin-font-sizes
206
406
  );
407
+
408
+ // Text
409
+
410
+ $cadmin-text-theme-colors: () !default;
411
+ $cadmin-text-theme-colors: map-deep-merge(
412
+ (
413
+ 'primary': (
414
+ color: $cadmin-primary !important,
415
+ hover: (
416
+ color:
417
+ clay-darken(
418
+ $cadmin-primary,
419
+ $cadmin-emphasized-link-hover-darken-percentage
420
+ )
421
+ !important,
422
+ ),
423
+ ),
424
+ 'secondary': (
425
+ color: $cadmin-secondary !important,
426
+ hover: (
427
+ color:
428
+ clay-darken(
429
+ $cadmin-secondary,
430
+ $cadmin-emphasized-link-hover-darken-percentage
431
+ )
432
+ !important,
433
+ ),
434
+ ),
435
+ 'success': (
436
+ color: $cadmin-success !important,
437
+ hover: (
438
+ color:
439
+ clay-darken(
440
+ $cadmin-success,
441
+ $cadmin-emphasized-link-hover-darken-percentage
442
+ )
443
+ !important,
444
+ ),
445
+ ),
446
+ 'info': (
447
+ color: $cadmin-info !important,
448
+ hover: (
449
+ color:
450
+ clay-darken(
451
+ $cadmin-info,
452
+ $cadmin-emphasized-link-hover-darken-percentage
453
+ )
454
+ !important,
455
+ ),
456
+ ),
457
+ 'warning': (
458
+ color: $cadmin-warning !important,
459
+ hover: (
460
+ color:
461
+ clay-darken(
462
+ $cadmin-warning,
463
+ $cadmin-emphasized-link-hover-darken-percentage
464
+ )
465
+ !important,
466
+ ),
467
+ ),
468
+ 'danger': (
469
+ color: $cadmin-danger !important,
470
+ hover: (
471
+ color:
472
+ clay-darken(
473
+ $cadmin-danger,
474
+ $cadmin-emphasized-link-hover-darken-percentage
475
+ )
476
+ !important,
477
+ ),
478
+ ),
479
+ 'light': (
480
+ color: $cadmin-light !important,
481
+ hover: (
482
+ color:
483
+ clay-darken(
484
+ $cadmin-light,
485
+ $cadmin-emphasized-link-hover-darken-percentage
486
+ )
487
+ !important,
488
+ ),
489
+ ),
490
+ 'dark': (
491
+ color: $cadmin-dark !important,
492
+ hover: (
493
+ color:
494
+ clay-darken(
495
+ $cadmin-dark,
496
+ $cadmin-emphasized-link-hover-darken-percentage
497
+ )
498
+ !important,
499
+ ),
500
+ ),
501
+ 'body': (
502
+ color: $cadmin-body-color !important,
503
+ ),
504
+ 'muted': (
505
+ color: $cadmin-text-muted !important,
506
+ ),
507
+ 'black-50': (
508
+ color: rgba($cadmin-black, 0.5) !important,
509
+ ),
510
+ 'white-50': (
511
+ color: rgba($cadmin-white, 0.5) !important,
512
+ ),
513
+ ),
514
+ $cadmin-text-theme-colors
515
+ );
@@ -21,13 +21,11 @@
21
21
  @include clay-css($alert-indicator);
22
22
 
23
23
  .lexicon-icon {
24
- @include clay-css(setter(map-get($alert-indicator, lexicon-icon), ()));
24
+ @include clay-css(map-get($alert-indicator, lexicon-icon));
25
25
  }
26
26
 
27
27
  + .lead {
28
- $lead: setter(map-get($alert-indicator, lead), ());
29
-
30
- @include clay-css($lead);
28
+ @include clay-css(map-get($alert-indicator, lead));
31
29
  }
32
30
  }
33
31
 
@@ -75,9 +73,7 @@
75
73
  @include clay-css($alert-notifications-absolute);
76
74
 
77
75
  @include clay-scale-component(null, $breakpoint-down) {
78
- $mobile: setter(map-get($alert-notifications-absolute, mobile), ());
79
-
80
- @include clay-css($mobile);
76
+ @include clay-css(map-get($alert-notifications-absolute, mobile));
81
77
  }
82
78
  }
83
79
 
@@ -87,9 +83,7 @@
87
83
  @include clay-css($alert-notifications-fixed);
88
84
 
89
85
  @include clay-scale-component(null, $breakpoint-down) {
90
- $mobile: setter(map-get($alert-notifications-fixed, mobile), ());
91
-
92
- @include clay-css($mobile);
86
+ @include clay-css(map-get($alert-notifications-fixed, mobile));
93
87
  }
94
88
  }
95
89
 
@@ -170,12 +164,7 @@
170
164
  @include clay-css($alert-inline);
171
165
 
172
166
  &.alert-dismissible {
173
- $alert-dismissible: setter(
174
- map-get($alert-inline, alert-dismissible),
175
- ()
176
- );
177
-
178
- @include clay-css($alert-dismissible);
167
+ @include clay-css(map-get($alert-inline, alert-dismissible));
179
168
 
180
169
  &.alert-fluid {
181
170
  $alert-dismissible-alert-fluid: setter(
@@ -195,21 +184,17 @@
195
184
  @include clay-css($container-fluid);
196
185
 
197
186
  > .alert-autofit-row {
198
- $alert-autofit-row: setter(
199
- map-get($container-fluid, alert-autofit-row),
200
- map-get($alert-inline, alert-autofit-row),
201
- ()
187
+ @include clay-css(
188
+ setter(
189
+ map-get($container-fluid, alert-autofit-row),
190
+ map-get($alert-inline, alert-autofit-row)
191
+ )
202
192
  );
203
193
 
204
- @include clay-css($alert-autofit-row);
205
-
206
194
  .btn-group {
207
- $btn-group: setter(
208
- map-get($alert-autofit-row, btn-group),
209
- ()
195
+ @include clay-css(
196
+ map-get($alert-autofit-row, btn-group)
210
197
  );
211
-
212
- @include clay-css($btn-group);
213
198
  }
214
199
  }
215
200
  }
@@ -225,16 +210,12 @@
225
210
  @include clay-css($alert-autofit-row);
226
211
 
227
212
  .btn-group {
228
- $btn-group: setter(map-get($alert-autofit-row, btn-group), ());
229
-
230
- @include clay-css($btn-group);
213
+ @include clay-css(map-get($alert-autofit-row, btn-group));
231
214
  }
232
215
  }
233
216
 
234
217
  .close {
235
- $close: setter(map-get($alert-inline, close), ());
236
-
237
- @include clay-close($close);
218
+ @include clay-close(map-get($alert-inline, close));
238
219
  }
239
220
  }
240
221
 
@@ -252,22 +233,16 @@
252
233
  @include clay-css($alert-autofit-row);
253
234
 
254
235
  > .autofit-col {
255
- $autofit-col: setter(map-get($alert-autofit-row, autofit-col), ());
256
-
257
- @include clay-css($autofit-col);
236
+ @include clay-css(map-get($alert-autofit-row, autofit-col));
258
237
  }
259
238
 
260
239
  .btn-group {
261
- $btn-group: setter(map-get($alert-autofit-row, btn-group), ());
262
-
263
- @include clay-css($btn-group);
240
+ @include clay-css(map-get($alert-autofit-row, btn-group));
264
241
  }
265
242
  }
266
243
 
267
244
  .close {
268
- $close: setter(map-get($alert-autofit-stacked, close), ());
269
-
270
- @include clay-close($close);
245
+ @include clay-close(map-get($alert-autofit-stacked, close));
271
246
  }
272
247
  }
273
248
 
@@ -287,27 +262,21 @@
287
262
  }
288
263
 
289
264
  > .autofit-col {
290
- $autofit-col: setter(map-get($alert-autofit-row, autofit-col), ());
291
-
292
265
  @include media-breakpoint-down(sm) {
293
- @include clay-css($autofit-col);
266
+ @include clay-css(map-get($alert-autofit-row, autofit-col));
294
267
  }
295
268
  }
296
269
 
297
270
  .btn-group {
298
- $btn-group: setter(map-get($alert-autofit-row, btn-group), ());
299
-
300
271
  @include media-breakpoint-down(sm) {
301
- @include clay-css($btn-group);
272
+ @include clay-css(map-get($alert-autofit-row, btn-group));
302
273
  }
303
274
  }
304
275
  }
305
276
 
306
277
  .close {
307
- $close: setter(map-get($alert-autofit-stacked-sm-down, close), ());
308
-
309
278
  @include media-breakpoint-down(sm) {
310
- @include clay-css($close);
279
+ @include clay-css(map-get($alert-autofit-stacked-sm-down, close));
311
280
  }
312
281
  }
313
282
  }
@@ -328,27 +297,21 @@
328
297
  }
329
298
 
330
299
  > .autofit-col {
331
- $autofit-col: setter(map-get($alert-autofit-row, autofit-col), ());
332
-
333
300
  @include media-breakpoint-down(xs) {
334
- @include clay-css($autofit-col);
301
+ @include clay-css(map-get($alert-autofit-row, autofit-col));
335
302
  }
336
303
  }
337
304
 
338
305
  .btn-group {
339
- $btn-group: setter(map-get($alert-autofit-row, btn-group), ());
340
-
341
306
  @include media-breakpoint-down(xs) {
342
- @include clay-css($btn-group);
307
+ @include clay-css(map-get($alert-autofit-row, btn-group));
343
308
  }
344
309
  }
345
310
  }
346
311
 
347
312
  .close {
348
- $close: setter(map-get($alert-autofit-stacked-xs-down, close), ());
349
-
350
313
  @include media-breakpoint-down(xs) {
351
- @include clay-css($close);
314
+ @include clay-css(map-get($alert-autofit-stacked-xs-down, close));
352
315
  }
353
316
  }
354
317
  }
@@ -365,22 +328,12 @@
365
328
 
366
329
  > .container,
367
330
  > .container-fluid {
368
- $container-fluid: setter(
369
- map-get($alert-fluid, container-fluid),
370
- ()
371
- );
372
-
373
- @include clay-css($container-fluid);
331
+ @include clay-css(map-get($alert-fluid, container-fluid));
374
332
  }
375
333
  }
376
334
 
377
335
  &.alert-feedback {
378
- $alert-feedback: setter(
379
- map-get($alert-indicator-start, alert-feedback),
380
- ()
381
- );
382
-
383
- @include clay-css($alert-feedback);
336
+ @include clay-css(map-get($alert-indicator-start, alert-feedback));
384
337
  }
385
338
 
386
339
  .alert-indicator {
@@ -392,9 +345,7 @@
392
345
  @include clay-css($alert-indicator);
393
346
 
394
347
  + .lead {
395
- $lead: setter(map-get($alert-indicator, lead), ());
396
-
397
- @include clay-css($lead);
348
+ @include clay-css(map-get($alert-indicator, lead));
398
349
  }
399
350
  }
400
351
 
@@ -407,12 +358,9 @@
407
358
  @include clay-css($alert-autofit-row);
408
359
 
409
360
  .alert-indicator:only-child {
410
- $alert-indicator-only-child: setter(
411
- map-get($alert-autofit-row, alert-indicator-only-child),
412
- ()
361
+ @include clay-css(
362
+ map-get($alert-autofit-row, alert-indicator-only-child)
413
363
  );
414
-
415
- @include clay-css($alert-indicator-only-child);
416
364
  }
417
365
  }
418
366
  }
@@ -420,11 +368,31 @@
420
368
  // Alert Variants
421
369
 
422
370
  @each $color, $value in $alert-palette {
423
- %alert-#{$color} {
424
- @include clay-alert-variant($value);
425
- }
371
+ $selector: if(
372
+ starts-with($color, '.') or
373
+ starts-with($color, '#') or
374
+ starts-with($color, '%'),
375
+ $color,
376
+ str-insert($color, '.alert-', 1)
377
+ );
378
+
379
+ @if (starts-with($color, '%') or map-get($value, extend)) {
380
+ #{$selector} {
381
+ @include clay-alert-variant($value);
382
+ }
383
+ } @else {
384
+ $placeholder: if(
385
+ starts-with($color, '.') or starts-with($color, '#'),
386
+ '%#{str-slice($color, 2)}',
387
+ '%alert-#{$color}'
388
+ );
389
+
390
+ #{$placeholder} {
391
+ @include clay-alert-variant($value);
392
+ }
426
393
 
427
- .alert-#{$color} {
428
- @extend %alert-#{$color} !optional;
394
+ #{$selector} {
395
+ @extend %alert-#{$color} !optional;
396
+ }
429
397
  }
430
398
  }
@@ -162,26 +162,41 @@
162
162
 
163
163
  @each $selector, $value in $aspect-ratio-sizes {
164
164
  $selector: if(
165
- starts-with($selector, '.') or starts-with($selector, '#'),
165
+ starts-with($selector, '.') or
166
+ starts-with($selector, '#') or
167
+ starts-with($selector, '%'),
166
168
  $selector,
167
169
  str-insert($selector, '.', 1)
168
170
  );
169
171
 
170
- $placeholder: str-insert(
171
- str-slice($selector, 2, str-length($selector)),
172
- '%',
173
- 1
174
- );
175
-
176
- #{$placeholder} {
177
- @include clay-aspect-ratio(
178
- map-get($value, width),
179
- map-get($value, height)
172
+ @if (starts-with($selector, '%')) {
173
+ #{$selector} {
174
+ @include clay-aspect-ratio(
175
+ map-get($value, width),
176
+ map-get($value, height)
177
+ );
178
+ }
179
+ } @else if (map-get($value, extend)) {
180
+ #{$selector} {
181
+ @include clay-css($value);
182
+ }
183
+ } @else {
184
+ $placeholder: str-insert(
185
+ str-slice($selector, 2, str-length($selector)),
186
+ '%',
187
+ 1
180
188
  );
181
- }
182
189
 
183
- #{$selector} {
184
- @extend #{$placeholder} !optional;
190
+ #{$placeholder} {
191
+ @include clay-aspect-ratio(
192
+ map-get($value, width),
193
+ map-get($value, height)
194
+ );
195
+ }
196
+
197
+ #{$selector} {
198
+ @extend #{$placeholder} !optional;
199
+ }
185
200
  }
186
201
  }
187
202
 
@@ -108,11 +108,31 @@
108
108
  // Badge Variants
109
109
 
110
110
  @each $color, $value in $badge-palette {
111
- %badge-#{$color} {
112
- @include clay-badge-variant($value);
113
- }
111
+ $selector: if(
112
+ starts-with($color, '.') or
113
+ starts-with($color, '#') or
114
+ starts-with($color, '%'),
115
+ $color,
116
+ str-insert($color, '.badge-', 1)
117
+ );
118
+
119
+ @if (starts-with($color, '%') or map-get($value, extend)) {
120
+ #{$selector} {
121
+ @include clay-badge-variant($value);
122
+ }
123
+ } @else {
124
+ $placeholder: if(
125
+ starts-with($color, '.') or starts-with($color, '#'),
126
+ '%#{str-slice($color, 2)}',
127
+ '%badge-#{$color}'
128
+ );
129
+
130
+ #{$placeholder} {
131
+ @include clay-badge-variant($value);
132
+ }
114
133
 
115
- .badge-#{$color} {
116
- @extend %badge-#{$color} !optional;
134
+ #{$selector} {
135
+ @extend #{$placeholder} !optional;
136
+ }
117
137
  }
118
138
  }