Я юзаю АНБ + Stylus в качестве препроцессора, супер удобно.
.b-input {
&__input {
...
}
&_focus_true {
...
}
}
/* Стиль для блока b-input-search, наследуется от b-input */
.b-input-search {
@extends .b-input;
/* Дополнение родительского стиля */
&__input {
...
}
}
Таким образом получается, что когда я говорю что UI блок A наследуется от Б, то наследование идёт не только в JS, но и в CSS и шаблонах (но это отдельная история).