@bem-react/classname
Advanced tools
Comparing version 1.0.0 to 1.1.0
@@ -39,13 +39,11 @@ 'use strict'; | ||
}; | ||
return function (blockName, elemName) { | ||
return function (elemOrBlockMods, elemModsOrBlockMix, elemMix) { | ||
return typeof elemOrBlockMods === 'string' | ||
? typeof elemModsOrBlockMix === 'string' | ||
? stringify(modsToEntities(blockName, elemOrBlockMods).concat(elemModsOrBlockMix)) | ||
: stringify(modsToEntities(blockName, elemOrBlockMods, elemModsOrBlockMix).concat(elemMix)) | ||
: typeof elemModsOrBlockMix === 'string' | ||
? stringify(modsToEntities(blockName, elemName, elemOrBlockMods).concat(elemModsOrBlockMix)) | ||
: stringify(modsToEntities(blockName, elemName, elemOrBlockMods).concat(elemMix)); | ||
}; | ||
}; | ||
return function (blockName, elemName) { return (function (elemOrBlockMods, elemModsOrBlockMix, elemMix) { | ||
return typeof elemOrBlockMods === 'string' | ||
? Array.isArray(elemModsOrBlockMix) | ||
? stringify(modsToEntities(blockName, elemOrBlockMods).concat(elemModsOrBlockMix)) | ||
: stringify(modsToEntities(blockName, elemOrBlockMods, elemModsOrBlockMix).concat(elemMix)) | ||
: Array.isArray(elemModsOrBlockMix) | ||
? stringify(modsToEntities(blockName, elemName, elemOrBlockMods).concat(elemModsOrBlockMix)) | ||
: stringify(modsToEntities(blockName, elemName, elemOrBlockMods).concat(elemMix)); | ||
}); }; | ||
} | ||
@@ -52,0 +50,0 @@ var cn = withNaming(react); |
@@ -1,1 +0,1 @@ | ||
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var sdk_naming_entity_stringify=require("@bem/sdk.naming.entity.stringify"),react={delims:{elem:"-",mod:{name:"_",val:"_"}},fs:{pattern:"${entity}${layer?@${layer}}.${tech}",scheme:"nested",delims:{elem:""}},wordPattern:"[a-zA-Z0-9]+"};function withNaming(n){var t=sdk_naming_entity_stringify.stringifyWrapper(n),a=function(n){return classnames.apply(classnames,n.map(function(n){return"string"==typeof n?n:t(n)}).filter(Boolean))},s=function(t,e,r){var i=[{block:t,elem:e}];return r&&Object.keys(r).forEach(function(n){(r[n]||0===r[n])&&i.push({block:t,elem:e,mod:{name:n,val:!0===r[n]||String(r[n])}})}),i};return function(r,i){return function(n,t,e){return a("string"==typeof n?"string"==typeof t?s(r,n).concat(t):s(r,n,t).concat(e):"string"==typeof t?s(r,i,n).concat(t):s(r,i,n).concat(e))}}}var cn=withNaming(react),classnames=function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];var e="";return n.forEach(function(n){n&&n.split(" ").forEach(function(n){!e.includes(n)&&(e+=" "+n)})}),e.trim()};exports.withNaming=withNaming,exports.cn=cn,exports.classnames=classnames; | ||
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var sdk_naming_entity_stringify=require("@bem/sdk.naming.entity.stringify"),react={delims:{elem:"-",mod:{name:"_",val:"_"}},fs:{pattern:"${entity}${layer?@${layer}}.${tech}",scheme:"nested",delims:{elem:""}},wordPattern:"[a-zA-Z0-9]+"};function withNaming(n){var e=sdk_naming_entity_stringify.stringifyWrapper(n),i=function(n){return classnames.apply(classnames,n.map(function(n){return"string"==typeof n?n:e(n)}).filter(Boolean))},s=function(e,t,r){var a=[{block:e,elem:t}];return r&&Object.keys(r).forEach(function(n){(r[n]||0===r[n])&&a.push({block:e,elem:t,mod:{name:n,val:!0===r[n]||String(r[n])}})}),a};return function(r,a){return function(n,e,t){return"string"==typeof n?Array.isArray(e)?i(s(r,n).concat(e)):i(s(r,n,e).concat(t)):Array.isArray(e)?i(s(r,a,n).concat(e)):i(s(r,a,n).concat(t))}}}var cn=withNaming(react),classnames=function(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];var t="";return n.forEach(function(n){n&&n.split(" ").forEach(function(n){!t.includes(n)&&(t+=" "+n)})}),t.trim()};exports.withNaming=withNaming,exports.cn=cn,exports.classnames=classnames; |
@@ -6,2 +6,14 @@ # Change Log | ||
<a name="1.1.0"></a> | ||
# [1.1.0](https://github.com/bem/bem-react-core/compare/@bem-react/classname@0.3.2...@bem-react/classname@1.1.0) (2018-10-02) | ||
### Features | ||
* **classname:** array type for mix ([dd985e8](https://github.com/bem/bem-react-core/commit/dd985e8)) | ||
<a name="1.0.0"></a> | ||
@@ -8,0 +20,0 @@ # [1.0.0](https://github.com/bem/bem-react-core/compare/@bem-react/classname@0.3.2...@bem-react/classname@1.0.0) (2018-09-20) |
export declare type NoStrictEntityMods = Record<string, string | boolean | number | undefined>; | ||
export declare type ClassNameInitilizer = (blockName: string, elemName?: string) => ClassNameFormatter; | ||
export declare type ClassNameFormatter = (elemNameOrBlockMods?: NoStrictEntityMods | string | null, elemModsOrBlockMix?: NoStrictEntityMods | string | null, elemMix?: string) => string; | ||
export declare type ClassNameList = Array<string | undefined>; | ||
export declare type ClassNameFormatter = (elemNameOrBlockMods?: NoStrictEntityMods | string | null, elemModsOrBlockMix?: NoStrictEntityMods | ClassNameList | null, elemMix?: ClassNameList) => string; | ||
export declare function withNaming(preset: any): ClassNameInitilizer; | ||
export declare const cn: ClassNameInitilizer; | ||
export declare const classnames: (...strings: (string | undefined)[]) => string; |
{ | ||
"name": "@bem-react/classname", | ||
"version": "1.0.0", | ||
"version": "1.1.0", | ||
"description": "BEM React ClassName", | ||
@@ -33,2 +33,5 @@ "repository": { | ||
}, | ||
"devDependencies": { | ||
"@bem/sdk.naming.presets": "0.2.2" | ||
}, | ||
"nyc": { | ||
@@ -50,3 +53,3 @@ "include": [ | ||
}, | ||
"gitHead": "9a19c9c3f68d5388839a17ee40e4e185f74b967b" | ||
"gitHead": "b4f5b2b3085d5d6ebae06a03b3ba3e39274001e5" | ||
} |
9259
1
80