Skip to content

Instantly share code, notes, and snippets.

@kunukn
Created April 2, 2019 14:33
Show Gist options
  • Select an option

  • Save kunukn/4c5803ddb5615de8aa7c1e78e82c2bde to your computer and use it in GitHub Desktop.

Select an option

Save kunukn/4c5803ddb5615de8aa7c1e78e82c2bde to your computer and use it in GitHub Desktop.
BEM Utils
// BEM Util
export function getModifiers(prefix, modifiers) {
if (!modifiers) return ''
const array = modifiers
.trim()
.split(' ')
.map(m => m.trim())
.filter(Boolean)
if (array.length === 0) return ''
return array.map(m => `${prefix}--${m}`).join(' ')
}
// BEM Util
export function getElements(prefix, elems) {
if (!elems) return ''
const array = elems
.trim()
.split(' ')
.map(e => e.trim())
.filter(Boolean)
if (array.length === 0) return ''
return array.map(e => `${prefix}__${e}`).join(' ')
}
// BEM Util
export function modifierFactory(block) {
return params => getModifiers(block, params)
}
// BEM Util
export function elementFactory(block) {
return params => getElements(block, params)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment