Utility for generating and parsing BEM class names using JS objects
import {bem, unbem} from 'bem-broom'
const bemObject = {
prefix: 'abc-'
block: 'navigation',
element: 'link',
modifiers: {
block: {
location: 'header'
},
element: {
active: true
}
}
};
const classNames = bem(bemObject);
/*
[
'abc-navigation',
'abc-navigation--location_header',
'abc-navigation__link',
'abc-link',
'abc-link--active',
]
*/
const parsedBem = unbem('xyz-block__element--modifier_value', {prefix: 'xyz-'});
/*
{
block: 'block',
element: 'element',
modifiers: {
element: {
modifier: 'value'
}
}
}
*/