-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathjquery-bem.min.js
5 lines (5 loc) · 4.09 KB
/
jquery-bem.min.js
1
2
3
4
5
/*!
* jQuery BEM v0.6.4, https://github.com/hoho/jquery-bem
* (c) 2012-2013 Marat Abdullin, MIT license
*/
!function(a,b){var c,d="(?:b-|l-)",e="__",f="_",g="[\\x20\\t\\r\\n\\f]",h="(?:[a-zA-Z0-9-]|[^\\x00-\\xa0])+",i="([*^$|!]?=)",j="\\{"+g+"*("+h+")"+g+"*(?:"+i+g+"*("+h+"))?"+g+"*\\}",k="m",l="c",m="b",n=RegExp,o=new n(g,"g"),p="prototype",q=Array[p].slice,r=a.fn,s="",t=",",u="__bem",v="bemMod",w="bemCall",x="block",y="elem",z="call",A="apply",B=a.expr.match,C=a.expr.filter,D={},E={},F=function(a){return"object"==typeof a},G=function(a,b,c,d){this._d=a,this._k=b,this._c=b+(c?f+c+(d?f+d:s):s)},H=function(a,b,c,d,g){g=this,g._b=a,g._d=a._d,g._c=(g._k=a._k+e+b)+(c?f+c+(d?f+d:s):s)},I=function(a,b){return(b=a&&a.className)?F(b)?b.baseVal:b||a.getAttribute&&a.getAttribute("class")||s:s},J=function(a,b,c){return new n("(?:^|"+g+")("+(a||d+h)+")(?:"+e+"("+(b||h)+"))?(?:"+f+"("+(c||h)+")(?:"+f+"("+h+"))?)?(?:"+g+"|$)","g")},K=function(b,c,d,e,f,g,h,i){return i=this,(f=D[i._k])||(D[i._k]=f=[]),g=c+t+d+t,h=g+i._c,g+=i._k,b&&g in E&&a.error("Redeclaration in "+i._c),b||g in E||a.error("Not declared "+i._c),E[g]=!0,f.push({k:h,c:e,d:b}),i},L=function(a,c,d){d=this,d.$=c,d[v]=function(e,f,g){return e=c[v]({block:a,mod:e},f,g),f===b?e:d},d[w]=function(b){var d=q[z](arguments,1);return d.unshift({block:a,call:b}),c[w][A](c,d)}},M=function(a,b,c,d,e,f,g){return d=c.length-1,a&&(e=b,(b=b.data(u))||e.data(u,b={}),b[a]||(b[a]=new L(a,e)),b=b[a]),function h(){return d>=0?(f=q[z](arguments),g=c[d--],g.d||f.unshift(h),g.c[A](b,f)):void 0}},N=function(a,b,c,d,f,g,h){return g={},a.replace(o," ").replace(J(b,c,d),function(a,d,h,i,j){b||c||!f||(b=d,c=h),a=d+(h?e+h:s),g[a]||(g[a]={}),i&&(g[a][i]=j||!0)}),b&&(b+=c?e+c:s,g[b]?(h={},h[b]=g[b],g=h):g={}),g},O=function(a,b,c,d){var e,g,h,i,j={},k=[];j[h=a+t+b+t+c]=!0,h+=f;for(e in d)j[g=h+e]=!0,(i=d[e])&&i!==!0&&(j[g+f+i]=!0);if(d=D[c])for(e=0;e<d.length;e++)g=d[e],g.k in j&&k.push(g);return k};C.ELEM=function(a,b){"*"===a&&(a=d+h),"*"===b&&(b=h);var c=new n("(?:^|"+g+"+)"+a+e+b+"(?:"+g+"+|$)");return function(a){return c.test(I(a))}},C.BLOCK=function(a){"*"===a&&(a=d+h);var b=new n("(?:^|"+g+"+)"+a+"(?:"+g+"+|$)");return function(a){return b.test(I(a))}},C.MOD=function(a,b,c){var i=new n("(?:^|"+g+"+)"+d+h+"(?:"+e+h+")?"+f+a+"(?:"+f+"("+h+"))?(?:"+g+"+|$)");return function(a){var d,e=I(a).match(i);return e?(d=e[1]||s,"="===b?d===c:"!="===b?d!==c:"^="===b?c&&0===d.indexOf(c):"*="===b?c&&d.indexOf(c)>-1:"$="===b?c&&d.substr(d.length-c.length)===c:"|="===b?d===c||d.substr(0,c.length+1)===c+"-":!c):!1}},G[p]=c={onBuild:function(a){return K[z](this,this._d,m,m,a)},onMod:function(a,b){return K[z](this,this._d,k,a,b)},onCall:function(a,b){return K[z](this,this._d,l,a,b)},elem:function(a,b,c){return new H(this,a,b,c)}},H[p]={onBuild:c.onBuild,onMod:c.onMod,onCall:c.onCall,end:function(){return this._b}},a.BEM={decl:function(a,b,c){return new G(!0,a,b,c)},extend:function(a,b,c){return new G(!1,a,b,c)},build:function(a){var c,d,f=q[z](arguments,1),g={};return F(a)?(d=a.context,g[x]=a[x],c=a.mods,c&&(g.mods=c),a[y]?(g[y]=a[y],a=a[x]+e+a[y]):a=a[x]):g[x]=a,f.unshift(g),M(b,d,O(m,m,a,c||{}))[A](this,f)},setup:function(a){a&&a.prefixes&&(d=a.prefixes),B.BLOCK=new n("^%("+d+h+"|\\*)"),B.ELEM=new n("^%("+d+h+"|\\*)\\("+g+"*("+h+"|\\*)"+g+"*\\)"),B.MOD=new n("^"+j)},className:function(a){if(!a)return s;var b,c,d,g,h=[];if((b=a[x])&&(a[y]&&(b+=e+a[y]),h.push(b),c=a.mods))for(d in c)(g=c[d])&&h.push(b+f+d+(g===!0?s:f+g));return h.join(" ")}},a.BEM.setup(),r[w]=function(a){var c,d,e,f,g=q[z](arguments,1),h=this.eq(0);if(F(a)&&((c=a[x])&&(d=a[y]),a=a[z]),a){a+=s,e=N(I(h[0]),c,d,b,!0);for(f in e)return M(f,h,O(l,a,f,e[f]))[A](this,g)}},r[v]=function(c,d,e){var g,h,i,j,l=this;if(F(c)&&((g=c[x])&&(h=c[y]),c=c.mod),c||a.error("No modifier"),d===b){i=N(I(l[0]),g,h,c,!0);for(j in i){i=i[j];for(j in i)return i[j];break}return b}return"boolean"==typeof d&&(d=d?!0:s),l.each(function(){var i,j,l,m,n,o=N(I(this),g,h),p=a(this);for(j in o){m=o[j],n=b;for(l in m)l===c&&(n=m[l]);(e||(n||d)&&n!==d)&&(i=O(k,c,j,m),l=j+f+c,n&&p.removeClass(l+(n===!0?s:f+n)),d&&p.addClass(l+(d===!0?s:f+d)),M(j,p,i)(c,d||b,n))}}),l}}($);