2.0.0-alpha-4 • Published 3 years ago
@dr/bem-helper v2.0.0-alpha-4
bem-helper
Helper functions to create BEM-style classnames
Install
npm install @dr/bem-helperUsage
import bem from "@dr/bem-helper";
var className = bem("block", "element", { modifier: true });
// className = "block__element block__element--modifier"API
bem
A function that creates all applicable combinations of classnames for an element scoped to a block in BEM-style format.
Arguments
block(string) - The block element for the classname....args(string|object) - Optional. Any number of the following arguments are allowed:element(string) - Optional.modifier(object) - Optional. Keys are used for modifier names. Values determine whether to turn the modifier off (false,"",nullorundefined) or on - either throughtrueor a value which will be appended to the modifier name;{modifier: true}->"--modifier",{modifier: "value"}->"--modifier-value". Should not follow a previous modifier argument.
Examples
Basic
var className = bem("block", "element");
// className === "block__element"Elements with modifiers
var className = bem("block", { modifier: true });
// className === "block block--modifier"Modifiers with values
var className = bem("block", "element", { modifier: "value", modifier2: false });
// className === "block__element block__element--modifier-value"Prebinding helpers
var boundBem = bem.bind(null, "block");
var className = boundBem("element", { modifier: true });
// className === "block__element block__element--modifier"bemStyles
2.0.0-alpha-2
3 years ago
2.0.0-alpha-3
3 years ago
2.0.0-alpha-4
3 years ago
2.0.0-alpha
3 years ago
1.2.4
8 years ago
1.2.3
9 years ago
1.2.2
9 years ago
1.2.1
9 years ago
1.2.0
9 years ago
1.1.6
9 years ago
1.1.5
9 years ago
1.1.4
9 years ago
1.1.3
9 years ago
1.1.2
9 years ago
1.1.1
9 years ago
1.1.0
9 years ago
1.0.0
9 years ago