There was a time when BEM ruled (and scarred) the world. But names aren't a problem if you abandon the C in CSS and scope all styles to component.
"When the menu is wide, the items' icons and text should be visible. When it's skinny, only the icons should be visible. This button toggles between them."
.menu {}
.menu--skinny {}
.menu--wide {}
.menu__icon {}
.menu__text {}