cn
Generate className for block or element with modifiers.
Arguments
blockName
(string): Block name.elementName
? (string): Element name.
Returns
ClassNameFormatter
Examples
Generate className for block:
import { cn } from '@bem-react/classname'const buttonCn = cn('Button')buttonCn() // -> ButtonbuttonCn({ size: 'm' }) // Button Button_size_m
Generate className for element:
import { cn } from '@bem-react/classname'const buttonCn = cn('Button')buttonCn('Text') // -> Button-TextbuttonCn('Text', { size: 'm' }) // Button-Text Button-Text_size_m
Generate className for element (alternative):
import { cn } from '@bem-react/classname'const buttonTextCn = cn('Button', 'Text')buttonTextCn() // -> Button-TextbuttonTextCn({ size: 'm' }) // Button-Text Button-Text_size_m
Generate className with additional mixin (all duplicates will be removed):
import { cn } from '@bem-react/classname'const buttonCn = cn('Button')buttonCn(null, ['Header-Button']) // -> Button Header-Button