Да, я наверняка что-то не так делаю.
У меня начало появляться несколько врапперов с флексами. Хотел сделать удобный компонент, и вешать классы пропсами. Но что-то мне код не понравился.
Делал похоже на css модулях в реакт. Компонент имел только разметку и слушатели и прочее. Стили же падали через модули пропсом.
Казалось, что очень упрощает жизнь и повышает переиспользование компонента в целом.
по поводу цсс модулей не дай себя переубедить ты все делаешь правильно, свелт банально не дает базовой возможности поставить марджины дочернему компоненту без использования глобала.
Семантически разные компононенты но выглядещие одинаково стоит свести к одному глупому компоненту и двум семантическим компонентам-оберткам, которые ее используют.