minsky-kit
Version:
Kit of components for MINSKY web agency
29 lines (22 loc) • 938 B
JavaScript
// imports
import { _kebabCase } from './lodash';
// 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')}`;
}