Performance: Component variant generation
MEDIUM IMPACT
This affects CSS bundle size and rendering speed by controlling how many CSS rules are generated and applied.
$button-colors: (primary: blue, secondary: gray, danger: red, success: green, warning: orange, info: teal); @each $name, $color in $button-colors { .btn-#{$name} { background-color: $color; padding: 1rem; border-radius: 0.5rem; } }
@mixin button-variant($name, $color) { .btn-#{$name} { background-color: $color; padding: 1rem; border-radius: 0.5rem; } } @include button-variant('primary', blue); @include button-variant('secondary', gray); @include button-variant('danger', red); @include button-variant('success', green); @include button-variant('warning', orange); @include button-variant('info', teal);
| Pattern | DOM Operations | Reflows | Paint Cost | Verdict |
|---|---|---|---|---|
| Many explicit variant classes | Low | Low | Medium (due to large CSS) | [X] Bad |
| Variant generation with loops and maps | Low | Low | Low | [OK] Good |