{"version":3,"sources":["webpack:///./node_modules/bem-cn/dist/bem-cn.js"],"names":["module","exports","settings","ns","el","mod","extend","target","obj","Object","keys","reduce","key","value","Array","isArray","slice","copy","objectToArray","separator","undefined","array","push","callableInstance","args","prototype","call","arguments","context","this","factory","argv","name","mods","toString","classList","modObject","modArray","length","unshift","join","mixes","states","state","space","split","classNames","bind","String","apply","mix","className","classes","concat","b","block","setup"],"mappings":"+EASEA,EAAOC,QAQA,WACR,aAIA,IAECC,EAAW,CACVC,GAAI,GACJC,GAAI,KACJC,IAAK,KAMP,SAASC,OAAOC,EAAQC,GACvB,OAAOC,OAAOC,KAAKF,GAAKG,QAAO,SAASJ,EAAQK,GAC/C,IAAIC,EAAQL,EAAII,GAQhB,OALKE,MAAMC,QAAQF,KAClBA,EAAQA,EAAMG,SAGfT,EAAOK,GAAOC,EACPN,IACLA,GAMJ,SAASU,KAAKT,GACb,OAAOF,OAAO,GAAIE,GAUnB,SAASU,cAAcV,EAAKW,GAK3B,YAJmBC,IAAdD,IACJA,EAAYjB,EAASG,KAGfI,OAAOC,KAAKF,GAAKG,QAAO,SAASU,EAAOT,GAC9C,IAAIC,EAAQL,EAAII,GAEhB,OAAMC,IAIS,IAAVA,EACJQ,EAAMC,KAAKH,EAAYP,GAEvBS,EAAMC,KAAKH,EAAYP,EAAMO,EAAYN,GAGnCQ,GATCA,IAUN,IAMJ,SAASE,mBACR,IAAIC,EAAOV,MAAMW,UAAUT,MAAMU,KAAKC,WACrCC,EAAUX,KAAKY,MAchB,OAAOC,QAZPF,EAAUJ,EAAKb,QAAO,SAASiB,EAASG,GASvC,OARKA,GAAwB,iBAATA,IACnBH,EAAQI,KAAOJ,EAAQI,KAAO9B,EAASE,GAAK2B,GAGxCA,GAAwB,iBAATA,GACnBH,EAAQK,KAAKX,KAAKS,GAGZH,IACLA,IAQJ,SAASM,WAER,IAAIF,EAAO9B,EAASC,GAAK0B,KAAKG,KAC7BG,EAAYH,EAGbG,EAAYN,KAAKI,KAAKtB,QAAO,SAASwB,EAAWC,GAChD,IAAIC,EAAWnB,cAAckB,GAO7B,OALKC,EAASC,SACbD,EAASE,QAAQ,IACjBJ,GAAaE,EAASG,KAhGhB,IAgG6BR,IAG7BG,IACLA,GAGEN,KAAKY,MAAMH,SACfH,GAxGO,IAwGcN,KAAKY,MAAMD,KAxGzB,MA4GR,IAAIE,EAASb,KAAKa,OAKlB,OAJAP,EAAY1B,OAAOC,KAAKgC,GAAQ/B,QAAO,SAASwB,EAAWQ,GAC1D,OAAOR,GAAaO,EAAOC,GAASC,OAAaD,EAAQ,MACvDR,GAKJ,SAASU,QACR,IAAIC,EAAaZ,SAASa,KAAKlB,KAAdK,GACjB,OAAOc,OAAOvB,UAAUoB,MAAMI,MAAMH,EAAYnB,WAOjD,SAASuB,IAAIC,GACZ,IACCC,EADGxB,EAAUX,KAAKY,MAgBnB,OAbKsB,IAEHC,EADyB,mBAAdD,EACD,CAAEA,EAAUjB,YACU,iBAAdiB,EACR,CAAEA,GACDrC,MAAMC,QAAQoC,GACfA,EAEAjC,cAAciC,EAAW,IAEpCvB,EAAQa,MAAQb,EAAQa,MAAMY,OAAOD,IAG/BtB,QAAQF,GAQhB,SAASe,MAAMnC,GACd,IAAIoB,EAAUX,KAAKY,MAClBa,EAASzB,KAAKW,EAAQc,QAKvB,OAHApC,OAAOoC,EAAQlC,GAAO,IACtBoB,EAAQc,OAASA,EAEVZ,QAAQF,GAQhB,SAASE,QAAQF,GAChBA,EAAUtB,OAAO,CAChB0B,KAAM,GACNC,KAAM,GACNQ,MAAO,GACPC,OAAQ,IACNd,GAAW,IAGd,IAAI0B,EAAI/B,iBAAiBwB,KAAKnB,GAM9B,OALA0B,EAAEpB,SAAWA,SAASa,KAAKnB,GAC3B0B,EAAET,MAAQA,MAAME,KAAKnB,GACrB0B,EAAEJ,IAAMA,IAAIH,KAAKnB,GACjB0B,EAAEX,MAAQA,MAAMI,KAAKnB,GAEd0B,EAQR,SAASC,MAAMvB,GACd,OAAOF,QAAQ,CAAEE,KAAMA,IAWxB,OALAuB,MAAMC,MAAQ,SAAShD,GAEtB,OADAF,OAAOJ,EAAUM,GAAO,IACjB+C,OAGDA,MAtNWzB","file":"npm.bem-cn-9fc3823e9bf5c6f2607e.js","sourcesContent":["/**\n * bem-cn — friendly BEM class names generator\n * @author Alexander Burtsev, http://burtsev.me, 2015\n * @license MIT\n */\n(function (root, factory) {\n\t/* istanbul ignore next */\n\tif ( typeof exports === 'object' ) {\n\t\t// CommonJS\n\t\tmodule.exports = factory();\n\t} else if ( typeof define === 'function' && define.amd ) {\n\t\t// AMD\n\t\tdefine([], factory);\n\t} else {\n\t\t// Browser globals\n\t\troot.block = factory();\n\t}\n})(this, function () {\n\t'use strict';\n\n\t/* jshint validthis: true */\n\n\tvar\tis = 'is-',\n\t\tspace = ' ',\n\t\tsettings = {\n\t\t\tns: '',\n\t\t\tel: '__',\n\t\t\tmod: '_'\n\t\t};\n\n\t/**\n\t * Simplest mixin helper\n\t */\n\tfunction extend(target, obj) {\n\t\treturn Object.keys(obj).reduce(function(target, key) {\n\t\t\tvar value = obj[key];\n\n\t\t\t// Shallow copy of array\n\t\t\tif ( Array.isArray(value) ) {\n\t\t\t\tvalue = value.slice();\n\t\t\t}\n\n\t\t\ttarget[key] = value;\n\t\t\treturn target;\n\t\t}, target);\n\t}\n\n\t/**\n\t * Shallow copy helper\n\t */\n\tfunction copy(obj) {\n\t\treturn extend({}, obj);\n\t}\n\n\t/**\n\t * Converts object with classes to array of strings\n\t * Example: objectToArray({ color: 'red' }) -> ['', '_color_red']\n\t *\n\t * @param {Object} obj { name: 'value' } or { name1: true, name2: false }\n\t * @param {String} [separator='_'] Separator or prefix\n\t */\n\tfunction objectToArray(obj, separator) {\n\t\tif ( separator === undefined ) {\n\t\t\tseparator = settings.mod;\n\t\t}\n\n\t\treturn Object.keys(obj).reduce(function(array, key) {\n\t\t\tvar value = obj[key];\n\n\t\t\tif ( !value ) {\n\t\t\t\treturn array;\n\t\t\t}\n\n\t\t\tif ( value === true ) {\n\t\t\t\tarray.push(separator + key);\n\t\t\t} else {\n\t\t\t\tarray.push(separator + key + separator + value);\n\t\t\t}\n\n\t\t\treturn array;\n\t\t}, []);\n\t}\n\n\t/**\n\t * Callable block instance\n\t */\n\tfunction callableInstance() {\n\t\tvar args = Array.prototype.slice.call(arguments),\n\t\t\tcontext = copy(this);\n\n\t\tcontext = args.reduce(function(context, argv) {\n\t\t\tif ( argv && typeof argv === 'string' ) {\n\t\t\t\tcontext.name = context.name + settings.el + argv;\n\t\t\t}\n\n\t\t\tif ( argv && typeof argv === 'object' ) {\n\t\t\t\tcontext.mods.push(argv);\n\t\t\t}\n\n\t\t\treturn context;\n\t\t}, context);\n\n\t\treturn factory(context);\n\t}\n\n\t/**\n\t * Static method toString() for callable instance\n\t */\n\tfunction toString() {\n\t\t// Add namespace\n\t\tvar\tname = settings.ns + this.name,\n\t\t\tclassList = name;\n\n\t\t// Add modifiers\n\t\tclassList = this.mods.reduce(function(classList, modObject) {\n\t\t\tvar modArray = objectToArray(modObject);\n\n\t\t\tif ( modArray.length ) {\n\t\t\t\tmodArray.unshift('');\n\t\t\t\tclassList += modArray.join(space + name);\n\t\t\t}\n\n\t\t\treturn classList;\n\t\t}, classList);\n\n\t\t// Mix with another classes\n\t\tif ( this.mixes.length ) {\n\t\t\tclassList += space + this.mixes.join(space);\n\t\t}\n\n\t\t// Add states\n\t\tvar states = this.states;\n\t\tclassList = Object.keys(states).reduce(function(classList, state) {\n\t\t\treturn classList += states[state] ? space + is + state : '';\n\t\t}, classList);\n\n\t\treturn classList;\n\t}\n\n\tfunction split() {\n\t\tvar classNames = toString.bind(this)();\n\t\treturn String.prototype.split.apply(classNames, arguments);\n\t}\n\n\t/**\n\t * Static method mix() for callable instance\n\t * @param {String|Array|Object} className 'class'; ['one', 'two']; {one: true, two: false}\n\t */\n\tfunction mix(className) {\n\t\tvar context = copy(this),\n\t\t\tclasses;\n\n\t\tif ( className ) {\n\t\t\tif ( typeof className === 'function' ) {\n\t\t\t\tclasses = [ className.toString() ];\n\t\t\t} else if ( typeof className === 'string' ) {\n\t\t\t\tclasses = [ className ];\n\t\t\t} else if ( Array.isArray(className) ) {\n\t\t\t\tclasses = className;\n\t\t\t} else {\n\t\t\t\tclasses = objectToArray(className, '');\n\t\t\t}\n\t\t\tcontext.mixes = context.mixes.concat(classes);\n\t\t}\n\n\t\treturn factory(context);\n\t}\n\n\t/**\n\t * Adds SMACSS-states: https://smacss.com/book/type-state\n\t * @param {Object} obj State object\n\t * @return {[type]} [description]\n\t */\n\tfunction state(obj) {\n\t\tvar context = copy(this),\n\t\t\tstates = copy(context.states);\n\n\t\textend(states, obj || {});\n\t\tcontext.states = states;\n\n\t\treturn factory(context);\n\t}\n\n\t/**\n\t * Generator of block-functions\n\t * @param {Object} context Immutable context of current block\n\t * @return {Function}\n\t */\n\tfunction factory(context) {\n\t\tcontext = extend({\n\t\t\tname: '',\n\t\t\tmods: [],\n\t\t\tmixes: [],\n\t\t\tstates: {}\n\t\t}, context || {});\n\n\t\t// Whilst JavaScript can't create callable objects with constructors\n\t\tvar b = callableInstance.bind(context);\n\t\tb.toString = toString.bind(context);\n\t\tb.split = split.bind(context);\n\t\tb.mix = mix.bind(context);\n\t\tb.state = state.bind(context);\n\n\t\treturn b;\n\t}\n\n\t/**\n\t * Entry point\n\t * @param {String} name Block name\n\t * @return {Function}\n\t */\n\tfunction block(name) {\n\t\treturn factory({ name: name });\n\t}\n\n\t/**\n\t * Setup settings\n\t */\n\tblock.setup = function(obj) {\n\t\textend(settings, obj || {});\n\t\treturn block;\n\t};\n\n\treturn block;\n});\n"],"sourceRoot":""}