я насчитал пять компонентов:
c-searchbar
,
c-searchbar-menu
,
c-searchbar-dropdown
,
c-searchbar-megamenu
,
c-searchbar-megamenu-tags
(
бем с префиксами)
соответсвенно выглядеть должно так
<div class="c-searchbar">
...
<ul class="c-searchbar__menu c-searchbar-menu">
<li class="dropdown [ c-searchbar__dropdown c-searchbar-dropdown ]">
<a href="#" class="dropdown-toggle [ c-searchbar-menu__link ]" data-toggle="dropdown">Country <b class="caret"></b></a>
<div class="dropdown-menu [ c-searchbar__megamenu c-searchbar-megamenu ]">
<div class="container">
<div class="c-searchbar-megamenu__header">
<div class="c-searchbar-megamenu__tags c-searchbar-megamenu-tags">
<div class="c-searchbar-megamenu-tags__item">CZECH REPUBLIC <button type="button" class="remove-tag"></button></div>
<div class="c-searchbar-megamenu-tag__item">CONSUMERS ELECTRONICS</div>
</div>
</div>
</div>
</div>
</li>
<li class="c-searchbar-menu__item"></li>
</ul>
...
</div>
Есть тонкий момент, стилистика компонента не должна содержать правил позиционирования. То есть ты не должен задавать margin, padding, position(и что-то ещё) в классе
c-searchbar-dropdown
, а должен для этих целей использовать
c-searchbar__dropdown
. Если же компонент
c-searchbar-dropdown
не будет иметь правил позиционирования ,то можно(наверное) убрать класс
c-searchbar__dropdown