minsky-kit
Version:
Kit of components for MINSKY web agency
29 lines (22 loc) • 946 B
JavaScript
// imports
import _kebabCase from 'lodash/kebabCase';
// Converts strings to kebab-case (or camelCase when legacy = true)
export function strToCssClass (block, element = null, modifier = null) {
let className = '';
className = _kebabCase(block);
if (element && element.length) className += `__${_kebabCase(element)}`;
if (modifier && modifier.length) className += `--${_kebabCase(modifier)}`;
return className;
}
// Normalizes ready classes throughout the project
export function strToReadyClass (block, element = null) {
return strToCssClass(block, element, 'ready');
}
// Converts strings to kebab-case
export function strToCssSelector (block, element = null, modifier = null) {
return `.${strToCssClass(block, element, modifier)}`;
}
// Normalizes ready selectors throughout the project
export function strToReadySelector (block, element = null) {
return `.${strToReadyClass(block, element, 'ready')}`;
}