@import "variables.less";

.color(@default) {
    &-default {
        color: @default;
    }
    &-primary {
        color: @primary;
    }
    &-success {
        color: @success;
    }
    // etc
}
.btn {
    .color(black);
}

.background(@default) {
    &-default {
        color: @default;
    }
    &-primary {
        color: @primary;
    }
    &-success {
        color: @success;
    }
}

.variations(@extra, @property) {
    &-default@{extra}  { &:extend(.@{property}-default); }
    &-primary@{extra}  { &:extend(.@{property}-primary); }
// etc
}

.label {
    .variations(~"", btn);
}