26 lines
843 B
Text
26 lines
843 B
Text
.generate-constrain-utility(@variant; @size) {
|
|
.define-selector(~"constrain-@{variant}"; {
|
|
max-width: @size;
|
|
flex-basis: @size;
|
|
});
|
|
}
|
|
|
|
.generate-constrain-utilities(@size-variants; @i: 1) when (@i <= length(@size-variants)) and (length(extract(@size-variants, @i)) = 1) {
|
|
@name: extract(@size-variants, 1);
|
|
@size: extract(@size-variants, 2);
|
|
|
|
.generate-constrain-utility(@name; @size);
|
|
}
|
|
|
|
.generate-constrain-utilities(@size-variants; @i: 1) when (@i <= length(@size-variants)) and (length(extract(@size-variants, @i)) = 2) {
|
|
@variant: extract(@size-variants, @i);
|
|
@name: extract(@variant, 1);
|
|
@size: extract(@variant, 2);
|
|
|
|
.generate-constrain-utility(@name; @size);
|
|
.generate-constrain-utilities(@size-variants; @i + 1);
|
|
}
|
|
|
|
.define-constrains(@size-variants) {
|
|
.generate-constrain-utilities(@size-variants);
|
|
}
|