@jahed/bem
v1.2.12
Published
Functions for using BEM in CSS.
Downloads
23
Maintainers
Readme
@jahed/bem
Functions for using BEM in CSS and CSS Modules.
Installation
# NPM
npm install @jahed/bem
# Yarn
yarn add @jahed/bem
Usage
import { bem } from '@jahed/bem'
const className = ".MyElement .MyElement--color--red .MyElement--active"
// same as
const className = bem('MyElement', {
color: 'red',
active: true,
disabled: false
})
For more thorough examples, see the tests and blog posts linked above.
API
For complete API documentation, see the documentation website.
bem(block: string, modifiers: object<string, (boolean|number|string)?>): string
Generates BEM-compliant class names for the given block
(or element
) with modifiers.
bemModule(cssModuleLocals): bem
Generates a bem
-compliant function which maps the resulting class names to the given
cssModuleLocals
map.
join(...string): string
Joins the given string
s with a whitespace (
), filtering any falsy
values (such as undefined
, null
, false
, ''
).