PageSourceSearch

https://biorich.com/wp-content/themes/hardweb-theme/assets/js/main.js?ver=3

js biorich.com collected 2026-09-30 02:35:40 UTC 120,124 bytes, 2,204 lines download raw bytes

1!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).IMask={})}(this,(function(t){"use strict";var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=function(t){return t&&t.Math==Math&&t},r=n("object"==typeof globalThis&&globalThis)||n("object"==typeof window&&window)||n("object"==typeof self&&self)||n("object"==typeof e&&e)||function(){return this}()||Function("return this")(),u={},i=function(t){try{return!!t()}catch(t){return!0}},a=!i((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),s={},o={}.propertyIsEnumerable,l=Object.getOwnPropertyDescriptor,h=l&&!o.call({1:2},1);s.f=h?function(t){var e=l(this,t);return!!e&&e.enumerable}:o;var c,f,p=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}},d={}.toString,v=function(t){return d.call(t).slice(8,-1)},g="".split,k=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==v(t)?g.call(t,""):Object(t)}:Object,y=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},m=k,_=y,b=function(t){return m(_(t))},A=function(t){return"object"==typeof t?null!==t:"function"==typeof t},C=r,E=function(t){return"function"==typeof t?t:void 0},F=function(t,e){return arguments.length<2?E(C[t]):C[t]&&C[t][e]},S=F("navigator","userAgent")||"",D=r,w=S,B=D.process,M=D.Deno,x=B&&B.versions||M&&M.version,P=x&&x.v8;P?f=(c=P.split("."))[0]<4?1:c[0]+c[1]:w&&(!(c=w.match(/Edge\/(\d+)/))||c[1]>=74)&&(c=w.match(/Chrome\/(\d+)/))&&(f=c[1]);var O=f&&+f,T=i,I=!!Object.getOwnPropertySymbols&&!T((function(){var t=Symbol();return!String(t)||!(Object(t)instanceof Symbol)||!Symbol.sham&&O&&O<41})),j=I&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,V=F,R=j?function(t){return"symbol"==typeof t}:function(t){var e=V("Symbol");return"function"==typeof e&&Object(t)instanceof e},L=A,N={exports:{}},U=r,z=function(t,e){try{Object.defineProperty(U,t,{value:e,configurable:!0,writable:!0})}catch(n){U[t]=e}return e},H=z,Y="__core-js_shared__",Z=r[Y]||H(Y,{}),K=Z;(N.exports=function(t,e){return K[t]||(K[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.17.3",mode:"global",copyright:"© 2021 Denis Pushkarev (zloirock.ru)"});var G=y,W=function(t){return Object(G(t))},$=W,q={}.hasOwnProperty,X=Object.hasOwn||function(t,e){return q.call($(t),e)},J=0,Q=Math.random(),tt=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++J+Q).toString(36)},et=r,nt=N.exports,rt=X,ut=tt,it=I,at=j,st=nt("wks"),ot=et.Symbol,lt=at?ot:ot&&ot.withoutSetter||ut,ht=A,ct=R,ft=function(t,e){var n,r;if("string"===e&&"function"==typeof(n=t.toString)&&!L(r=n.call(t)))return r;if("function"==typeof(n=t.valueOf)&&!L(r=n.call(t)))return r;if("string"!==e&&"function"==typeof(n=t.toString)&&!L(r=n.call(t)))return r;throw TypeError("Can't convert object to primitive value")},pt=function(t){return rt(st,t)&&(it||"string"==typeof st[t])||(it&&rt(ot,t)?st[t]=ot[t]:st[t]=lt("Symbol."+t)),st[t]}("toPrimitive"),dt=function(t,e){if(!ht(t)||ct(t))return t;var n,r=t[pt];if(void 0!==r){if(void 0===e&&(e="default"),n=r.call(t,e),!ht(n)||ct(n))return n;throw TypeError("Can't convert object to primitive value")}return void 0===e&&(e="number"),ft(t,e)},vt=R,gt=function(t){var e=dt(t,"string");return vt(e)?e:String(e)},kt=A,yt=r.document,mt=kt(yt)&&kt(yt.createElement),_t=function(t){return mt?yt.createElement(t):{}},bt=!a&&!i((function(){return 7!=Object.defineProperty(_t("div"),"a",{get:function(){return 7}}).a})),At=a,Ct=s,Et=p,Ft=b,St=gt,Dt=X,wt=bt,Bt=Object.getOwnPropertyDescriptor;u.f=At?Bt:function(t,e){if(t=Ft(t),e=St(e),wt)try{return Bt(t,e)}catch(t){}if(Dt(t,e))return Et(!Ct.f.call(t,e),t[e])};var Mt={},xt=A,Pt=function(t){if(!xt(t))throw TypeError(String(t)+" is not an object");return t},Ot=a,Tt=bt,It=Pt,jt=gt,Vt=Object.defineProperty;Mt.f=Ot?Vt:function(t,e,n){if(It(t),e=jt(e),It(n),Tt)try{return Vt(t,e,n)}catch(t){}if("get"in n||"set"in n)throw TypeError("Accessors not supported");return"value"in n&&(t[e]=n.value),t};var Rt=Mt,Lt=p,Nt=a?function(t,e,n){return Rt.f(t,e,Lt(1,n))}:function(t,e,n){return t[e]=n,t},Ut={exports:{}},zt=Z,Ht=Function.toString;"function"!=typeof zt.inspectSource&&(zt.inspectSource=function(t){return Ht.call(t)});var Yt,Zt,Kt,Gt=zt.inspectSource,Wt=Gt,$t=r.WeakMap,qt="function"==typeof $t&&/native code/.test(Wt($t)),Xt=N.exports,Jt=tt,Qt=Xt("keys"),te={},ee=qt,ne=A,re=Nt,ue=X,ie=Z,ae=function(t){return Qt[t]||(Qt[t]=Jt(t))},se=te,oe="Object already initialized",le=r.WeakMap;if(ee||ie.state){var he=ie.state||(ie.state=new le),ce=he.get,fe=he.has,pe=he.set;Yt=function(t,e){if(fe.call(he,t))throw new TypeError(oe);return e.facade=t,pe.call(he,t,e),e},Zt=function(t){return ce.call(he,t)||{}},Kt=function(t){return fe.call(he,t)}}else{var de=ae("state");se[de]=!0,Yt=function(t,e){if(ue(t,de))throw new TypeError(oe);return e.facade=t,re(t,de,e),e},Zt=function(t){return ue(t,de)?t[de]:{}},Kt=function(t){return ue(t,de)}}var ve={set:Yt,get:Zt,has:Kt,enforce:function(t){return Kt(t)?Zt(t):Yt(t,{})},getterFor:function(t){return function(e){var n;if(!ne(e)||(n=Zt(e)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return n}}},ge=r,ke=Nt,ye=X,me=z,_e=Gt,be=ve.get,Ae=ve.enforce,Ce=String(String).split("String");(Ut.exports=function(t,e,n,r){var u,i=!!r&&!!r.unsafe,a=!!r&&!!r.enumerable,s=!!r&&!!r.noTargetGet;"function"==typeof n&&("string"!=typeof e||ye(n,"name")||ke(n,"name",e),(u=Ae(n)).source||(u.source=Ce.join("string"==typeof e?e:""))),t!==ge?(i?!s&&t[e]&&(a=!0):delete t[e],a?t[e]=n:ke(t,e,n)):a?t[e]=n:me(e,n)})(Function.prototype,"toString",(function(){return"function"==typeof this&&be(this).source||_e(this)}));var Ee={},Fe=Math.ceil,Se=Math.floor,De=function(t){return isNaN(t=+t)?0:(t>0?Se:Fe)(t)},we=De,Be=Math.min,Me=function(t){return t>0?Be(we(t),9007199254740991):0},xe=De,Pe=Math.max,Oe=Math.min,Te=b,Ie=Me,je=function(t,e){var n=xe(t);return n<0?Pe(n+e,0):Oe(n,e)},Ve=function(t){return function(e,n,r){var u,i=Te(e),a=Ie(i.length),s=je(r,a);if(t&&n!=n){for(;a>s;)if((u=i[s++])!=u)return!0}else for(;a>s;s++)if((t||s in i)&&i[s]===n)return t||s||0;return!t&&-1}},Re={includes:Ve(!0),indexOf:Ve(!1)},Le=X,Ne=b,Ue=Re.indexOf,ze=te,He=function(t,e){var n,r=Ne(t),u=0,i=[];for(n in r)!Le(ze,n)&&Le(r,n)&&i.push(n);for(;e.length>u;
1)Le(r,n=e[u++])&&(~Ue(i,n)||i.push(n));return i},Ye=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],Ze=He,Ke=Ye.concat("length","prototype");Ee.f=Object.getOwnPropertyNames||function(t){return Ze(t,Ke)};var Ge={};Ge.f=Object.getOwnPropertySymbols;var We=Ee,$e=Ge,qe=Pt,Xe=F("Reflect","ownKeys")||function(t){var e=We.f(qe(t)),n=$e.f;return n?e.concat(n(t)):e},Je=X,Qe=Xe,tn=u,en=Mt,nn=i,rn=/#|\.prototype\./,un=function(t,e){var n=sn[an(t)];return n==ln||n!=on&&("function"==typeof e?nn(e):!!e)},an=un.normalize=function(t){return String(t).replace(rn,".").toLowerCase()},sn=un.data={},on=un.NATIVE="N",ln=un.POLYFILL="P",hn=un,cn=r,fn=u.f,pn=Nt,dn=Ut.exports,vn=z,gn=function(t,e){for(var n=Qe(e),r=en.f,u=tn.f,i=0;i<n.length;i++){var a=n[i];Je(t,a)||r(t,a,u(e,a))}},kn=hn,yn=function(t,e){var n,r,u,i,a,s=t.target,o=t.global,l=t.stat;if(n=o?cn:l?cn[s]||vn(s,{}):(cn[s]||{}).prototype)for(r in e){if(i=e[r],u=t.noTargetGet?(a=fn(n,r))&&a.value:n[r],!kn(o?r:s+(l?".":"#")+r,t.forced)&&void 0!==u){if(typeof i==typeof u)continue;gn(i,u)}(t.sham||u&&u.sham)&&pn(i,"sham",!0),dn(n,r,i,t)}},mn=He,_n=Ye,bn=Object.keys||function(t){return mn(t,_n)},An=a,Cn=i,En=bn,Fn=Ge,Sn=s,Dn=W,wn=k,Bn=Object.assign,Mn=Object.defineProperty,xn=!Bn||Cn((function(){if(An&&1!==Bn({b:1},Bn(Mn({},"a",{enumerable:!0,get:function(){Mn(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var t={},e={},n=Symbol(),r="abcdefghijklmnopqrst";return t[n]=7,r.split("").forEach((function(t){e[t]=t})),7!=Bn({},t)[n]||En(Bn({},e)).join("")!=r}))?function(t,e){for(var n=Dn(t),r=arguments.length,u=1,i=Fn.f,a=Sn.f;r>u;)for(var s,o=wn(arguments[u++]),l=i?En(o).concat(i(o)):En(o),h=l.length,c=0;h>c;)s=l[c++],An&&!a.call(o,s)||(n[s]=o[s]);return n}:Bn,Pn=xn;yn({target:"Object",stat:!0,forced:Object.assign!==Pn},{assign:Pn});var On=R,Tn=function(t){if(On(t))throw TypeError("Cannot convert a Symbol value to a string");return String(t)},In=De,jn=Tn,Vn=y,Rn=function(t){var e=jn(Vn(this)),n="",r=In(t);if(r<0||r==1/0)throw RangeError("Wrong number of repetitions");for(;r>0;(r>>>=1)&&(e+=e))1&r&&(n+=e);return n};yn({target:"String",proto:!0},{repeat:Rn});var Ln=Me,Nn=Tn,Un=Rn,zn=y,Hn=Math.ceil,Yn=function(t){return function(e,n,r){var u,i,a=Nn(zn(e)),s=a.length,o=void 0===r?" ":Nn(r),l=Ln(n);return l<=s||""==o?a:(u=l-s,(i=Un.call(o,Hn(u/o.length))).length>u&&(i=i.slice(0,u)),t?a+i:i+a)}},Zn={start:Yn(!1),end:Yn(!0)},Kn=/Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(S),Gn=Zn.start;yn({target:"String",proto:!0,forced:Kn},{padStart:function(t){return Gn(this,t,arguments.length>1?arguments[1]:void 0)}});var Wn=Zn.end;function $n(t){return $n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},$n(t)}function qn(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function Xn(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function Jn(t,e,n){return e&&Xn(t.prototype,e),n&&Xn(t,n),t}function Qn(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&er(t,e)}function tr(t){return tr=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)},tr(t)}function er(t,e){return er=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t},er(t,e)}function nr(t,e){if(null==t)return{};var n,r,u=function(t,e){if(null==t)return{};var n,r,u={},i=Object.keys(t);for(r=0;r<i.length;r++)n=i[r],e.indexOf(n)>=0||(u[n]=t[n]);return u}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r<i.length;r++)n=i[r],e.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(u[n]=t[n])}return u}function rr(t,e){if(e&&("object"==typeof e||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}function ur(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=tr(t);if(e){var u=tr(this).constructor;n=Reflect.construct(r,arguments,u)}else n=r.apply(this,arguments);return rr(this,n)}}function ir(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=tr(t)););return t}function ar(t,e,n){return ar="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,e,n){var r=ir(t,e);if(r){var u=Object.getOwnPropertyDescriptor(r,e);return u.get?u.get.call(n):u.value}},ar(t,e,n||t)}function sr(t,e,n,r){return sr="undefined"!=typeof Reflect&&Reflect.set?Reflect.set:function(t,e,n,r){var u,i=ir(t,e);if(i){if((u=Object.getOwnPropertyDescriptor(i,e)).set)return u.set.call(r,n),!0;if(!u.writable)return!1}if(u=Object.getOwnPropertyDescriptor(r,e)){if(!u.writable)return!1;u.value=n,Object.defineProperty(r,e,u)}else!function(t,e,n){e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n}(r,e,n);return!0},sr(t,e,n,r)}function or(t,e,n,r,u){if(!sr(t,e,n,r||t)&&u)throw new Error("failed to set property");return n}function lr(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null==n)return;var r,u,i=[],a=!0,s=!1;try{for(n=n.call(t);!(a=(r=n.next()).done)&&(i.push(r.value),!e||i.length!==e);a=!0);}catch(t){s=!0,u=t}finally{try{a||null==n.return||n.return()}finally{if(s)throw u}}return i}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return hr(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return hr(t,e)}
vendor: 51,362 bytes, line 1
1(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function hr(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function cr(t){return"string"==typeof t||t instanceof String}yn({target:"String",proto:!0,forced:Kn},{padEnd:function(t){return Wn(this,t,arguments.length>1?arguments[1]:void 0)}}),yn({global:!0},{globalThis:r});var fr="NONE",pr="LEFT",dr="FORCE_LEFT",vr="RIGHT",gr="FORCE_RIGHT";function kr(t){switch(t){case pr:return dr;case vr:return gr;default:return t}}function yr(t){return t.replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")}function mr(t,e){if(e===t)return!0;var n,r=Array.isArray(e),u=Array.isArray(t);if(r&&u){if(e.length!=t.length)return!1;for(n=0;n<e.length;n++)if(!mr(e[n],t[n]))return!1;return!0}if(r!=u)return!1;if(e&&t&&"object"===$n(e)&&"object"===$n(t)){var i=e instanceof Date,a=t instanceof Date;if(i&&a)return e.getTime()==t.getTime();if(i!=a)return!1;var s=e instanceof RegExp,o=t instanceof RegExp;if(s&&o)return e.toString()==t.toString();if(s!=o)return!1;var l=Object.keys(e);for(n=0;n<l.length;n++)if(!Object.prototype.hasOwnProperty.call(t,l[n]))return!1;for(n=0;n<l.length;n++)if(!mr(t[l[n]],e[l[n]]))return!1;return!0}return!(!e||!t||"function"!=typeof e||"function"!=typeof t)&&e.toString()===t.toString()}var _r=function(){function t(e,n,r,u){for(qn(this,t),this.value=e,this.cursorPos=n,this.oldValue=r,this.oldSelection=u;this.value.slice(0,this.startChangePos)!==this.oldValue.slice(0,this.startChangePos);)--this.oldSelection.start}return Jn(t,[{key:"startChangePos",get:function(){return Math.min(this.cursorPos,this.oldSelection.start)}},{key:"insertedCount",get:function(){return this.cursorPos-this.startChangePos}},{key:"inserted",get:function(){return this.value.substr(this.startChangePos,this.insertedCount)}},{key:"removedCount",get:function(){return Math.max(this.oldSelection.end-this.startChangePos||this.oldValue.length-this.value.length,0)}},{key:"removed",get:function(){return this.oldValue.substr(this.startChangePos,this.removedCount)}},{key:"head",get:function(){return this.value.substring(0,this.startChangePos)}},{key:"tail",get:function(){return this.value.substring(this.startChangePos+this.insertedCount)}},{key:"removeDirection",get:function(){return!this.removedCount||this.insertedCount?fr:this.oldSelection.end===this.cursorPos||this.oldSelection.start===this.cursorPos?vr:pr}}]),t}(),br=function(){function t(e){qn(this,t),Object.assign(this,{inserted:"",rawInserted:"",skip:!1,tailShift:0},e)}return Jn(t,[{key:"aggregate",value:function(t){return this.rawInserted+=t.rawInserted,this.skip=this.skip||t.skip,this.inserted+=t.inserted,this.tailShift+=t.tailShift,this}},{key:"offset",get:function(){return this.tailShift+this.inserted.length}}]),t}(),Ar=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2?arguments[2]:void 0;qn(this,t),this.value=e,this.from=n,this.stop=r}return Jn(t,[{key:"toString",value:function(){return this.value}},{key:"extend",value:function(t){this.value+=String(t)}},{key:"appendTo",value:function(t){return t.append(this.toString(),{tail:!0}).aggregate(t._appendPlaceholder())}},{key:"state",get:function(){return{value:this.value,from:this.from,stop:this.stop}},set:function(t){Object.assign(this,t)}},{key:"shiftBefore",value:function(t){if(this.from>=t||!this.value.length)return"";var e=this.value[0];return this.value=this.value.slice(1),e}}]),t}();function Cr(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new Cr.InputMask(t,e)}var Er=function(){function t(e){qn(this,t),this._value="",this._update(Object.assign({},t.DEFAULTS,e)),this.isInitialized=!0}return Jn(t,[{key:"updateOptions",value:function(t){Object.keys(t).length&&this.withValueRefresh(this._update.bind(this,t))}},{key:"_update",value:function(t){Object.assign(this,t)}},{key:"state",get:function(){return{_value:this.value}},set:function(t){this._value=t._value}},{key:"reset",value:function(){this._value=""}},{key:"value",get:function(){return this._value},set:function(t){this.resolve(t)}},{key:"resolve",value:function(t){return this.reset(),this.append(t,{input:!0},""),this.doCommit(),this.value}},{key:"unmaskedValue",get:function(){return this.value},set:function(t){this.reset(),this.append(t,{},""),this.doCommit()}},{key:"typedValue",get:function(){return this.doParse(this.value)},set:function(t){this.value=this.doFormat(t)}},{key:"rawInputValue",get:function(){return this.extractInput(0,this.value.length,{raw:!0})},set:function(t){this.reset(),this.append(t,{raw:!0},""),this.doCommit()}},{key:"isComplete",get:function(){return!0}},{key:"nearestInputPos",value:function(t,e){return t}},{key:"extractInput",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.value.length;return this.value.slice(t,e)}},{key:"extractTail",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.value.length;return new Ar(this.extractInput(t,e),t)}},{key:"appendTail",value:function(t){return cr(t)&&(t=new Ar(String(t))),t.appendTo(this)}},{key:"_appendCharRaw",value:function(t){return t?(this._value+=t,new br({inserted:t,rawInserted:t})):new br}},{key:"_appendChar",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0,r=this.state,u=this._appendCharRaw(this.doPrepare(t,e),e);if(u.inserted){var i,a=!1!==this.doValidate(e);if(a&&null!=n){var s=this.state;this.overwrite&&(i=n.state,n.shiftBefore(this.value.length));var o=this.appendTail(n);(a=o.rawInserted===n.toString())&&o.inserted&&(this.state=s)}a||(u=new br,this.state=r,n&&i&&(n.state=i))}return u}},{key:"_appendPlaceholder",value:function(){return new br}},{key:"append",value:function(t,e,n){if(!cr(t))throw new Error("value should be string");var r=new br,u=cr(n)?new Ar(String(n)):n;e&&e.tail&&(e._beforeTailState=this.state);for(var i=0;i<t.length;++i)r.aggregate(this._appendChar(t[i],e,u));return null!=u&&(r.tailShift+=this.appendTail(u).tailShift),r}},{key:"remove",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.value.length;return this._value=this.value.slice(0,t)+this.value.slice(e),new br}},{key:"withValueRefresh",value:function(t){if(this._refreshing||!this.isInitialized)return t();this._refreshing=!0;var e=this.rawInputValue,n=this.value,r=t();return this.rawInputValue=e,this.value&&this.value!==n&&0===n.indexOf(this.value)&&this.append(n.slice(this.value.length),{},""),delete this._refreshing,r}},{key:"runIsolated",value:function(t){if(this._isolated||!this.isInitialized)return t(this);this._isolated=!0;var e=this.state,n=t(this);return this.state=e,delete this._isolated,n}},{key:"doPrepare",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.prepare?this.prepare(t,this,e):t}},{key:"doValidate",value:function(t){return(!this.validate||this.validate(this.value,this,t))&&(!this.parent||this.parent.doValidate(t))}},{key:"doCommit",value:function(){this.commit&&this.commit(this.value,this)}},{key:"doFormat",value:function(t){return this.format?this.format(t,this):t}},{key:"doParse",value:function(t){return this.parse?this.parse(t,this):t}},{key:"splice",value:function(t,e,n,r){var u=t+e,i=this.extractTail(u),a=this.nearestInputPos(t,r);return new br({tailShift:a-t}).aggregate(this.remove(a)).aggregate(this.append(n,{input:!0},i))}}]),t}();function Fr(t){if(null==t)throw new Error("mask property should be defined");return t instanceof RegExp?Cr.MaskedRegExp:cr(t)?Cr.MaskedPattern:t instanceof Date||t===Date?Cr.MaskedDate:t instanceof Number||"number"==typeof t||t===Number?Cr.MaskedNumber:Array.isArray(t)||t===Array?Cr.MaskedDynamic:Cr.Masked&&t.prototype instanceof Cr.Masked?t:t instanceof Function?Cr.MaskedFunction:t instanceof Cr.Masked?t.constructor:(console.warn("Mask not found for mask",t),Cr.Masked)}function Sr(t){if(Cr.Masked&&t instanceof Cr.Masked)return t;var e=(t=Object.assign({},t)).mask;if(Cr.Masked&&e instanceof Cr.Masked)return e;var n=Fr(e);if(!n)throw new Error("Masked class is not found for provided mask, appropriate module needs to be import manually before creating mask.");return new n(t)}Er.DEFAULTS={format:function(t){return t},parse:function(t){return t}},Cr.Masked=Er,Cr.createMask=Sr;var Dr=["mask"],wr={0:/\d/,a:/[\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,"*":/./},Br=function(){function t(e){qn(this,t);var n=e.mask,r=nr(e,Dr);this.masked=Sr({mask:n}),Object.assign(this,r)}return Jn(t,[{key:"reset",value:function(){this._isFilled=!1,this.masked.reset()}},{key:"remove",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.value.length;return 0===t&&e>=1?(this._isFilled=!1,this.masked.remove(t,e)):new br}},{key:"value",get:function(){return this.masked.value||(this._isFilled&&!this.isOptional?this.placeholderChar:"")}},{key:"unmaskedValue",get:function(){return this.masked.unmaskedValue}},{key:"isComplete",get:function(){return Boolean(this.masked.value)||this.isOptional}},{key:"_appendChar",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(this._isFilled)return new br;var n=this.masked.state,r=this.masked._appendChar(t,e);return r.inserted&&!1===this.doValidate(e)&&(r.inserted=r.rawInserted="",this.masked.state=n),r.inserted||this.isOptional||this.lazy||e.input||(r.inserted=this.placeholderChar),r.skip=!r.inserted&&!this.isOptional,this._isFilled=Boolean(r.inserted),r}},{key:"append",value:function(){var t;return(t=this.masked).append.apply(t,arguments)}},{key:"_appendPlaceholder",value:function(){var t=new br;return this._isFilled||this.isOptional||(this._isFilled=!0,t.inserted=this.placeholderChar),t}},{key:"extractTail",value:function(){var t;return(t=this.masked).extractTail.apply(t,arguments)}},{key:"appendTail",value:function(){var t;return(t=this.masked).appendTail.apply(t,arguments)}},{key:"extractInput",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.value.length,n=arguments.length>2?arguments[2]:void 0;return this.masked.extractInput(t,e,n)}},{key:"nearestInputPos",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:fr,n=0,r=this.value.length,u=Math.min(Math.max(t,n),r);switch(e){case pr:case dr:return this.isComplete?u:n;case vr:case gr:return this.isComplete?u:r;default:return u}}},{key:"doValidate",value:function(){var t,e;return(t=this.masked).doValidate.apply(t,arguments)&&(!this.parent||(e=this.parent).doValidate.apply(e,arguments))}},{key:"doCommit",value:function(){this.masked.doCommit()}},{key:"state",get:function(){return{masked:this.masked.state,_isFilled:this._isFilled}},set:function(t){this.masked.state=t.masked,this._isFilled=t._isFilled}}]),t}(),Mr=function(){function t(e){qn(this,t),Object.assign(this,e),this._value=""}return Jn(t,[{key:"value",get:function(){return this._value}},{key:"unmaskedValue",get:function(){return this.isUnmasking?this.value:""}},{key:"reset",value:function(){this._isRawInput=!1,this._value=""}},{key:"remove",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._value.length;return this._value=this._value.slice(0,t)+this._value.slice(e),this._value||(this._isRawInput=!1),new br}},{key:"nearestInputPos",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:fr,n=0,r=this._value.length;switch(e){case pr:case dr:return n;default:return r}}},{key:"extractInput",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._value.length,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return n.raw&&this._isRawInput&&this._value.slice(t,e)||""}},{key:"isComplete",get:function(){return!0}},{key:"_appendChar",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=new br;if(this._value)return n;var r=this.char===t[0],u=r&&(this.isUnmasking||e.input||e.raw)&&!e.tail;return u&&(n.rawInserted=this.char),this._value=n.inserted=this.char,this._isRawInput=u&&(e.raw||e.input),n}},{key:"_appendPlaceholder",value:function(){var t=new br;return this._value||(this._value=t.inserted=this.char),t}},{key:"extractTail",value:function(){return arguments.length>1&&void 0!==arguments[1]||this.value.length,new Ar("")}},{key:"appendTail",value:function(t){return cr(t)&&(t=new Ar(String(t))),t.appendTo(this)}},{key:"append",value:function(t,e,n){var r=this._appendChar(t,e);return null!=n&&(r.tailShift+=this.appendTail(n).tailShift),r}},{key:"doCommit",value:function(){}},{key:"state",get:function(){return{_value:this._value,_isRawInput:this._isRawInput}},set:function(t){Object.assign(this,t)}}]),t}(),xr=["chunks"],Pr=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;qn(this,t),this.chunks=e,this.from=n}return Jn(t,[{key:"toString",value:function(){return this.chunks.map(String).join("")}},{key:"extend",value:function(e){if(String(e)){cr(e)&&(e=new Ar(String(e)));var n=this.chunks[this.chunks.length-1],r=n&&(n.stop===e.stop||null==e.stop)&&e.from===n.from+n.toString().length;if(e instanceof Ar)r?n.extend(e.toString()):this.chunks.push(e);else if(e instanceof t){if(null==e.stop)for(var u;e.chunks.length&&null==e.chunks[0].stop;)(u=e.chunks.shift()).from+=e.from,this.extend(u);e.toString()&&(e.stop=e.blockIndex,this.chunks.push(e))}}}},{key:"appendTo",value:function(e){if(!(e instanceof Cr.MaskedPattern))return new Ar(this.toString()).appendTo(e);for(var n=new br,r=0;r<this.chunks.length&&!n.skip;++r){var u=this.chunks[r],i=e._mapPosToBlock(e.value.length),a=u.stop,s=void 0;if(null!=a&&(!i||i.index<=a)&&((u instanceof t||e._stops.indexOf(a)>=0)&&n.aggregate(e._appendPlaceholder(a)),s=u instanceof t&&e._blocks[a]),s){var o=s.appendTail(u);o.skip=!1,n.aggregate(o),e._value+=o.inserted;var l=u.toString().slice(o.rawInserted.length);l&&n.aggregate(e.append(l,{tail:!0}))}else n.aggregate(e.append(u.toString(),{tail:!0}))}return n}},{key:"state",get:function(){return{chunks:this.chunks.map((function(t){return t.state})),from:this.from,stop:this.stop,blockIndex:this.blockIndex}},set:function(e){var n=e.chunks,r=nr(e,xr);Object.assign(this,r),this.chunks=n.map((function(e){var n="chunks"in e?new t:new Ar;return n.state=e,n}))}},{key:"shiftBefore",value:function(t){if(this.from>=t||!this.chunks.length)return"";for(var e=t-this.from,n=0;n<this.chunks.length;){var r=this.chunks[n],u=r.shiftBefore(e);if(r.toString()){if(!u)break;++n}else this.chunks.splice(n,1);if(u)return u}return""}}]),t}(),Or=function(t){Qn(n,t);var e=ur(n);function n(){return qn(this,n),e.apply(this,arguments)}return Jn(n,[{key:"_update",value:function(t){t.mask&&(t.validate=function(e){return e.search(t.mask)>=0}),ar(tr(n.prototype),"_update",this).call(this,t)}}]),n}(Er);Cr.MaskedRegExp=Or;var Tr=["_blocks"],Ir=function(t){Qn(n,t);var e=ur(n);function n(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return qn(this,n),t.definitions=Object.assign({},wr,t.definitions),e.call(this,Object.assign({},n.DEFAULTS,t))}return Jn(n,[{key:"_update",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};t.definitions=Object.assign({},this.definitions,t.definitions),ar(tr(n.prototype),"_update",this).call(this,t),this._rebuildMask()}},{key:"_rebuildMask",value:function(){var t=this,e=this.definitions;this._blocks=[],this._stops=[],this._maskedBlocks={};var r=this.mask;if(r&&e)for(var u=!1,i=!1,a=0;a<r.length;++a){if(this.blocks)if("continue"===function(){var e=r.slice(a),n=Object.keys(t.blocks).filter((function(t){return 0===e.indexOf(t)}));n.sort((function(t,e){return e.length-t.length}));var u=n[0];if(u){var i=Sr(Object.assign({parent:t,lazy:t.lazy,placeholderChar:t.placeholderChar,overwrite:t.overwrite},t.blocks[u]));return i&&(t._blocks.push(i),t._maskedBlocks[u]||(t._maskedBlocks[u]=[]),t._maskedBlocks[u].push(t._blocks.length-1)),a+=u.length-1,"continue"}}())continue;var s=r[a],o=s in e;if(s!==n.STOP_CHAR)if("{"!==s&&"}"!==s)if("["!==s&&"]"!==s){if(s===n.ESCAPE_CHAR){if(++a,!(s=r[a]))break;o=!1}var l=o?new Br({parent:this,lazy:this.lazy,placeholderChar:this.placeholderChar,mask:e[s],isOptional:i}):new Mr({char:s,isUnmasking:u});this._blocks.push(l)}else i=!i;else u=!u;else this._stops.push(this._blocks.length)}}},{key:"state",get:function(){return Object.assign({},ar(tr(n.prototype),"state",this),{_blocks:this._blocks.map((function(t){return t.state}))})},set:function(t){var e=t._blocks,r=nr(t,Tr);this._blocks.forEach((function(t,n){return t.state=e[n]})),or(tr(n.prototype),"state",r,this,!0)}},{key:"reset",value:function(){ar(tr(n.prototype),"reset",this).call(this),this._blocks.forEach((function(t){return t.reset()}))}},{key:"isComplete",get:function(){return this._blocks.every((function(t){return t.isComplete}))}},{key:"doCommit",value:function(){this._blocks.forEach((function(t){return t.doCommit()})),ar(tr(n.prototype),"doCommit",this).call(this)}},{key:"unmaskedValue",get:function(){return this._blocks.reduce((function(t,e){return t+e.unmaskedValue}),"")},set:function(t){or(tr(n.prototype),"unmaskedValue",t,this,!0)}},{key:"value",get:function(){return this._blocks.reduce((function(t,e){return t+e.value}),"")},set:function(t){or(tr(n.prototype),"value",t,this,!0)}},{key:"appendTail",value:function(t){return ar(tr(n.prototype),"appendTail",this).call(this,t).aggregate(this._appendPlaceholder())}},{key:"_appendCharRaw",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=this._mapPosToBlock(this.value.length),r=new br;if(!n)return r;for(var u=n.index;;++u){var i=this._blocks[u];if(!i)break;var a=i._appendChar(t,e),s=a.skip;if(r.aggregate(a),s||a.rawInserted)break}return r}},{key:"extractTail",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.value.length,r=new Pr;return e===n||this._forEachBlocksInRange(e,n,(function(e,n,u,i){var a=e.extractTail(u,i);a.stop=t._findStopBefore(n),a.from=t._blockStartPos(n),a instanceof Pr&&(a.blockIndex=n),r.extend(a)})),r}},{key:"extractInput",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.value.length,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(t===e)return"";var r="";return this._forEachBlocksInRange(t,e,(function(t,e,u,i){r+=t.extractInput(u,i,n)})),r}},{key:"_findStopBefore",value:function(t){for(var e,n=0;n<this._stops.length;++n){var r=this._stops[n];if(!(r<=t))break;e=r}return e}},{key:"_appendPlaceholder",value:function(t){var e=this,n=new br;if(this.lazy&&null==t)return n;var r=this._mapPosToBlock(this.value.length);if(!r)return n;var u=r.index,i=null!=t?t:this._blocks.length;return this._blocks.slice(u,i).forEach((function(r){if(!r.lazy||null!=t){var u=null!=r._blocks?[r._blocks.length]:[],i=r._appendPlaceholder.apply(r,u);e._value+=i.inserted,n.aggregate(i)}})),n}},{key:"_mapPosToBlock",value:function(t){for(var e="",n=0;n<this._blocks.length;++n){var r=this._blocks[n],u=e.length;if(t<=(e+=r.value).length)return{index:n,offset:t-u}}}},{key:"_blockStartPos",value:function(t){return this._blocks.slice(0,t).reduce((function(t,e){return t+e.value.length}),0)}},{key:"_forEachBlocksInRange",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.value.length,n=arguments.length>2?arguments[2]:void 0,r=this._mapPosToBlock(t);if(r){var u=this._mapPosToBlock(e),i=u&&r.index===u.index,a=r.offset,s=u&&i?u.offset:this._blocks[r.index].value.length;if(n(this._blocks[r.index],r.index,a,s),u&&!i){for(var o=r.index+1;o<u.index;++o)n(this._blocks[o],o,0,this._blocks[o].value.length);n(this._blocks[u.index],u.index,0,u.offset)}}}},{key:"remove",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.value.length,r=ar(tr(n.prototype),"remove",this).call(this,t,e);return this._forEachBlocksInRange(t,e,(function(t,e,n,u){r.aggregate(t.remove(n,u))})),r}},{key:"nearestInputPos",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:fr,n=this._mapPosToBlock(t)||{index:0,offset:0},r=n.offset,u=n.index,i=this._blocks[u];if(!i)return t;var a=r;0!==a&&a<i.value.length&&(a=i.nearestInputPos(r,kr(e)));var s=a===i.value.length,o=0===a;if(!o&&!s)return this._blockStartPos(u)+a;var l=s?u+1:u;if(e===fr){if(l>0){var h=l-1,c=this._blocks[h],f=c.nearestInputPos(0,fr);if(!c.value.length||f!==c.value.length)return this._blockStartPos(l)}for(var p=l,d=p;d<this._blocks.length;++d){var v=this._blocks[d],g=v.nearestInputPos(0,fr);if(!v.value.length||g!==v.value.length)return this._blockStartPos(d)+g}for(var k=l-1;k>=0;--k){var y=this._blocks[k],m=y.nearestInputPos(0,fr);if(!y.value.length||m!==y.value.length)return this._blockStartPos(k)+y.value.length}return t}if(e===pr||e===dr){for(var _,b=l;b<this._blocks.length;++b)if(this._blocks[b].value){_=b;break}if(null!=_){var A=this._blocks[_],C=A.nearestInputPos(0,vr);if(0===C&&A.unmaskedValue.length)return this._blockStartPos(_)+C}for(var E,F=-1,S=l-1;S>=0;--S){var D=this._blocks[S],w=D.nearestInputPos(D.value.length,dr);if(D.value&&0===w||(E=S),0!==w){if(w!==D.value.length)return this._blockStartPos(S)+w;F=S;break}}if(e===pr)for(var B=F+1;B<=Math.min(l,this._blocks.length-1);++B){var M=this._blocks[B],x=M.nearestInputPos(0,fr),P=this._blockStartPos(B)+x;if(P>t)break;if(x!==M.value.length)return P}if(F>=0)return this._blockStartPos(F)+this._blocks[F].value.length;if(e===dr||this.lazy&&!this.extractInput()&&!jr(this._blocks[l]))return 0;if(null!=E)return this._blockStartPos(E);for(var O=l;O<this._blocks.length;++O){var T=this._blocks[O],I=T.nearestInputPos(0,fr);if(!T.value.length||I!==T.value.length)return this._blockStartPos(O)+I}return 0}if(e===vr||e===gr){for(var j,V,R=l;R<this._blocks.length;++R){var L=this._blocks[R],N=L.nearestInputPos(0,fr);if(N!==L.value.length){V=this._blockStartPos(R)+N,j=R;break}}if(null!=j&&null!=V){for(var U=j;U<this._blocks.length;++U){var z=this._blocks[U],H=z.nearestInputPos(0,gr);if(H!==z.value.length)return this._blockStartPos(U)+H}return e===gr?this.value.length:V}for(var Y=Math.min(l,this._blocks.length-1);Y>=0;--Y){var Z=this._blocks[Y],K=Z.nearestInputPos(Z.value.length,pr);if(0!==K){var G=this._blockStartPos(Y)+K;if(G>=t)return G;break}}}return t}},{key:"maskedBlock",value:function(t){return this.maskedBlocks(t)[0]}},{key:"maskedBlocks",value:function(t){var e=this,n=this._maskedBlocks[t];return n?n.map((function(t){return e._blocks[t]})):[]}}]),n}(Er);function jr(t){if(!t)return!1;var e=t.value;return!e||t.nearestInputPos(0,fr)!==e.length}Ir.DEFAULTS={lazy:!0,placeholderChar:"_"},Ir.STOP_CHAR="`",Ir.ESCAPE_CHAR="\\",Ir.InputDefinition=Br,Ir.FixedDefinition=Mr,Cr.MaskedPattern=Ir;var Vr=function(t){Qn(n,t);var e=ur(n);function n(){return qn(this,n),e.apply(this,arguments)}return Jn(n,[{key:"_matchFrom",get:function(){return this.maxLength-String(this.from).length}},{key:"_update",value:function(t){t=Object.assign({to:this.to||0,from:this.from||0},t);var e=String(t.to).length;null!=t.maxLength&&(e=Math.max(e,t.maxLength)),t.maxLength=e;for(var r=String(t.from).padStart(e,"0"),u=String(t.to).padStart(e,"0"),i=0;i<u.length&&u[i]===r[i];)++i;t.mask=u.slice(0,i).replace(/0/g,"\\0")+"0".repeat(e-i),ar(tr(n.prototype),"_update",this).call(this,t)}},{key:"isComplete",get:function(){return ar(tr(n.prototype),"isComplete",this)&&Boolean(this.value)}},{key:"boundaries",value:function(t){var e="",n="",r=lr(t.match(/^(\D*)(\d*)(\D*)/)||[],3),u=r[1],i=r[2];return i&&(e="0".repeat(u.length)+i,n="9".repeat(u.length)+i),[e=e.padEnd(this.maxLength,"0"),n=n.padEnd(this.maxLength,"9")]}},{key:"doPrepare",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(t=ar(tr(n.prototype),"doPrepare",this).call(this,t,e).replace(/\D/g,""),!this.autofix)return t;for(var r=String(this.from).padStart(this.maxLength,"0"),u=String(this.to).padStart(this.maxLength,"0"),i=this.value,a="",s=0;s<t.length;++s){var o=i+a+t[s],l=this.boundaries(o),h=lr(l,2),c=h[0],f=h[1];Number(f)<this.from?a+=r[o.length-1]:Number(c)>this.to?a+=u[o.length-1]:a+=t[s]}return a}},{key:"doValidate",value:function(){var t,e=this.value,r=e.search(/[^0]/);if(-1===r&&e.length<=this._matchFrom)return!0;for(var u=this.boundaries(e),i=lr(u,2),a=i[0],s=i[1],o=arguments.length,l=new Array(o),h=0;h<o;h++)l[h]=arguments[h];return this.from<=Number(s)&&Number(a)<=this.to&&(t=ar(tr(n.prototype),"doValidate",this)).call.apply(t,[this].concat(l))}}]),n}(Ir);Cr.MaskedRange=Vr;var Rr=function(t){Qn(n,t);var e=ur(n);function n(t){return qn(this,n),e.call(this,Object.assign({},n.DEFAULTS,t))}return Jn(n,[{key:"_update",value:function(t){t.mask===Date&&delete t.mask,t.pattern&&(t.mask=t.pattern);var e=t.blocks;t.blocks=Object.assign({},n.GET_DEFAULT_BLOCKS()),t.min&&(t.blocks.Y.from=t.min.getFullYear()),t.max&&(t.blocks.Y.to=t.max.getFullYear()),t.min&&t.max&&t.blocks.Y.from===t.blocks.Y.to&&(t.blocks.m.from=t.min.getMonth()+1,t.blocks.m.to=t.max.getMonth()+1,t.blocks.m.from===t.blocks.m.to&&(t.blocks.d.from=t.min.getDate(),t.blocks.d.to=t.max.getDate())),Object.assign(t.blocks,e),Object.keys(t.blocks).forEach((function(e){var n=t.blocks[e];"autofix"in n||(n.autofix=t.autofix)})),ar(tr(n.prototype),"_update",this).call(this,t)}},{key:"doValidate",value:function(){for(var t,e=this.date,r=arguments.length,u=new Array(r),i=0;i<r;i++)u[i]=arguments[i];return(t=ar(tr(n.prototype),"doValidate",this)).call.apply(t,[this].concat(u))&&(!this.isComplete||this.isDateExist(this.value)&&null!=e&&(null==this.min||this.min<=e)&&(null==this.max||e<=this.max))}},{key:"isDateExist",value:function(t){return this.format(this.parse(t,this),this).indexOf(t)>=0}},{key:"date",get:function(){return this.typedValue},set:function(t){this.typedValue=t}},{key:"typedValue",get:function(){return this.isComplete?ar(tr(n.prototype),"typedValue",this):null},set:function(t){or(tr(n.prototype),"typedValue",t,this,!0)}}]),n}(Ir);Rr.DEFAULTS={pattern:"d{.}`m{.}`Y",format:function(t){return[String(t.getDate()).padStart(2,"0"),String(t.getMonth()+1).padStart(2,"0"),t.getFullYear()].join(".")},parse:function(t){var e=lr(t.split("."),3),n=e[0],r=e[1],u=e[2];return new Date(u,r-1,n)}},Rr.GET_DEFAULT_BLOCKS=function(){return{d:{mask:Vr,from:1,to:31,maxLength:2},m:{mask:Vr,from:1,to:12,maxLength:2},Y:{mask:Vr,from:1900,to:9999}}},Cr.MaskedDate=Rr;var Lr=function(){function t(){qn(this,t)}return Jn(t,[{key:"selectionStart",get:function(){var t;try{t=this._unsafeSelectionStart}catch(t){}return null!=t?t:this.value.length}},{key:"selectionEnd",get:function(){var t;try{t=this._unsafeSelectionEnd}catch(t){}return null!=t?t:this.value.length}},{key:"select",value:function(t,e){if(null!=t&&null!=e&&(t!==this.selectionStart||e!==this.selectionEnd))try{this._unsafeSelect(t,e)}catch(t){}}},{key:"_unsafeSelect",value:function(t,e){}},{key:"isActive",get:function(){return!1}},{key:"bindEvents",value:function(t){}},{key:"unbindEvents",value:function(){}}]),t}();Cr.MaskElement=Lr;var Nr=function(t){Qn(n,t);var e=ur(n);function n(t){var r;return qn(this,n),(r=e.call(this)).input=t,r._handlers={},r}return Jn(n,[{key:"rootElement",get:function(){return this.input.getRootNode?this.input.getRootNode():document}},{key:"isActive",get:function(){return this.input===this.rootElement.activeElement}},{key:"_unsafeSelectionStart",get:function(){return this.input.selectionStart}},{key:"_unsafeSelectionEnd",get:function(){return this.input.selectionEnd}},{key:"_unsafeSelect",value:function(t,e){this.input.setSelectionRange(t,e)}},{key:"value",get:function(){return this.input.value},set:function(t){this.input.value=t}},{key:"bindEvents",value:function(t){var e=this;Object.keys(t).forEach((function(r){return e._toggleEventHandler(n.EVENTS_MAP[r],t[r])}))}},{key:"unbindEvents",value:function(){var t=this;Object.keys(this._handlers).forEach((function(e){return t._toggleEventHandler(e)}))}},{key:"_toggleEventHandler",value:function(t,e){this._handlers[t]&&(this.input.removeEventListener(t,this._handlers[t]),delete this._handlers[t]),e&&(this.input.addEventListener(t,e),this._handlers[t]=e)}}]),n}(Lr);Nr.EVENTS_MAP={selectionChange:"keydown",input:"input",drop:"drop",click:"click",focus:"focus",commit:"blur"},Cr.HTMLMaskElement=Nr;var Ur=function(t){Qn(n,t);var e=ur(n);function n(){return qn(this,n),e.apply(this,arguments)}return Jn(n,[{key:"_unsafeSelectionStart",get:function(){var t=this.rootElement,e=t.getSelection&&t.getSelection();return e&&e.anchorOffset}},{key:"_unsafeSelectionEnd",get:function(){var t=this.rootElement,e=t.getSelection&&t.getSelection();return e&&this._unsafeSelectionStart+String(e).length}},{key:"_unsafeSelect",value:function(t,e){if(this.rootElement.createRange){var n=this.rootElement.createRange();n.setStart(this.input.firstChild||this.input,t),n.setEnd(this.input.lastChild||this.input,e);var r=this.rootElement,u=r.getSelection&&r.getSelection();u&&(u.removeAllRanges(),u.addRange(n))}}},{key:"value",get:function(){return this.input.textContent},set:function(t){this.input.textContent=t}}]),n}(Nr);Cr.HTMLContenteditableMaskElement=Ur;var zr=["mask"],Hr=function(){function t(e,n){qn(this,t),this.el=e instanceof Lr?e:e.isContentEditable&&"INPUT"!==e.tagName&&"TEXTAREA"!==e.tagName?new Ur(e):new Nr(e),this.masked=Sr(n),this._listeners={},this._value="",this._unmaskedValue="",this._saveSelection=this._saveSelection.bind(this),this._onInput=this._onInput.bind(this),this._onChange=this._onChange.bind(this),this._onDrop=this._onDrop.bind(this),this._onFocus=this._onFocus.bind(this),this._onClick=this._onClick.bind(this),this.alignCursor=this.alignCursor.bind(this),this.alignCursorFriendly=this.alignCursorFriendly.bind(this),this._bindEvents(),this.updateValue(),this._onChange()}return Jn(t,[{key:"mask",get:function(){return this.masked.mask},set:function(t){if(!this.maskEquals(t))if(t instanceof Cr.Masked||this.masked.constructor!==Fr(t)){var e=Sr({mask:t});e.unmaskedValue=this.masked.unmaskedValue,this.masked=e}else this.masked.updateOptions({mask:t})}},{key:"maskEquals",value:function(t){return null==t||t===this.masked.mask||t===Date&&this.masked instanceof Rr}},{key:"value",get:function(){return this._value},set:function(t){this.masked.value=t,this.updateControl(),this.alignCursor()}},{key:"unmaskedValue",get:function(){return this._unmaskedValue},set:function(t){this.masked.unmaskedValue=t,this.updateControl(),this.alignCursor()}},{key:"typedValue",get:function(){return this.masked.typedValue},set:function(t){this.masked.typedValue=t,this.updateControl(),this.alignCursor()}},{key:"_bindEvents",value:function(){this.el.bindEvents({selectionChange:this._saveSelection,input:this._onInput,drop:this._onDrop,click:this._onClick,focus:this._onFocus,commit:this._onChange})}},{key:"_unbindEvents",value:function(){this.el&&this.el.unbindEvents()}},{key:"_fireEvent",value:function(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),r=1;r<e;r++)n[r-1]=arguments[r];var u=this._listeners[t];u&&u.forEach((function(t){return t.apply(void 0,n)}))}},{key:"selectionStart",get:function(){return this._cursorChanging?this._changingCursorPos:this.el.selectionStart}},{key:"cursorPos",get:function(){return this._cursorChanging?this._changingCursorPos:this.el.selectionEnd},set:function(t){this.el&&this.el.isActive&&(this.el.select(t,t),this._saveSelection())}},{key:"_saveSelection",value:function(){this.value!==this.el.value&&console.warn("Element value was changed outside of mask. Syncronize mask using `mask.updateValue()` to work properly."),this._selection={start:this.selectionStart,end:this.cursorPos}}},{key:"updateValue",value:function(){this.masked.value=this.el.value,this._value=this.masked.value}},{key:"updateControl",value:function(){var t=this.masked.unmaskedValue,e=this.masked.value,n=this.unmaskedValue!==t||this.value!==e;this._unmaskedValue=t,this._value=e,this.el.value!==e&&(this.el.value=e),n&&this._fireChangeEvents()}},{key:"updateOptions",value:function(t){var e=t.mask,n=nr(t,zr),r=!this.maskEquals(e),u=!mr(this.masked,n);r&&(this.mask=e),u&&this.masked.updateOptions(n),(r||u)&&this.updateControl()}},{key:"updateCursor",value:function(t){null!=t&&(this.cursorPos=t,this._delayUpdateCursor(t))}},{key:"_delayUpdateCursor",value:function(t){var e=this;this._abortUpdateCursor(),this._changingCursorPos=t,this._cursorChanging=setTimeout((function(){e.el&&(e.cursorPos=e._changingCursorPos,e._abortUpdateCursor())}),10)}},{key:"_fireChangeEvents",value:function(){this._fireEvent("accept",this._inputEvent),this.masked.isComplete&&this._fireEvent("complete",this._inputEvent)}},{key:"_abortUpdateCursor",value:function(){this._cursorChanging&&(clearTimeout(this._cursorChanging),delete this._cursorChanging)}},{key:"alignCursor",value:function(){this.cursorPos=this.masked.nearestInputPos(this.cursorPos,pr)}},{key:"alignCursorFriendly",value:function(){this.selectionStart===this.cursorPos&&this.alignCursor()}},{key:"on",value:function(t,e){return this._listeners[t]||(this._listeners[t]=[]),this._listeners[t].push(e),this}},{key:"off",value:function(t,e){if(!this._listeners[t])return this;if(!e)return delete this._listeners[t],this;var n=this._listeners[t].indexOf(e);return n>=0&&this._listeners[t].splice(n,1),this}},{key:"_onInput",value:function(t){if(this._inputEvent=t,this._abortUpdateCursor(),!this._selection)return this.updateValue();var e=new _r(this.el.value,this.cursorPos,this.value,this._selection),n=this.masked.rawInputValue,r=this.masked.splice(e.startChangePos,e.removed.length,e.inserted,e.removeDirection).offset,u=n===this.masked.rawInputValue?e.removeDirection:fr,i=this.masked.nearestInputPos(e.startChangePos+r,u);this.updateControl(),this.updateCursor(i),delete this._inputEvent}},{key:"_onChange",value:function(){this.value!==this.el.value&&this.updateValue(),this.masked.doCommit(),this.updateControl(),this._saveSelection()}},{key:"_onDrop",value:function(t){t.preventDefault(),t.stopPropagation()}},{key:"_onFocus",value:function(t){this.alignCursorFriendly()}},{key:"_onClick",value:function(t){this.alignCursorFriendly()}},{key:"destroy",value:function(){this._unbindEvents(),this._listeners.length=0,delete this.el}}]),t}();Cr.InputMask=Hr;var Yr=function(t){Qn(n,t);var e=ur(n);function n(){return qn(this,n),e.apply(this,arguments)}return Jn(n,[{key:"_update",value:function(t){t.enum&&(t.mask="*".repeat(t.enum[0].length)),ar(tr(n.prototype),"_update",this).call(this,t)}},{key:"doValidate",value:function(){for(var t,e=this,r=arguments.length,u=new Array(r),i=0;i<r;i++)u[i]=arguments[i];return this.enum.some((function(t){return t.indexOf(e.unmaskedValue)>=0}))&&(t=ar(tr(n.prototype),"doValidate",this)).call.apply(t,[this].concat(u))}}]),n}(Ir);Cr.MaskedEnum=Yr;var Zr=function(t){Qn(n,t);var e=ur(n);function n(t){return qn(this,n),e.call(this,Object.assign({},n.DEFAULTS,t))}return Jn(n,[{key:"_update",value:function(t){ar(tr(n.prototype),"_update",this).call(this,t),this._updateRegExps()}},{key:"_updateRegExps",value:function(){var t="^"+(this.allowNegative?"[+|\\-]?":""),e=(this.scale?"("+yr(this.radix)+"\\d{0,"+this.scale+"})?":"")+"$";this._numberRegExpInput=new RegExp(t+"(0|([1-9]+\\d*))?"+e),this._numberRegExp=new RegExp(t+"\\d*"+e),this._mapToRadixRegExp=new RegExp("["+this.mapToRadix.map(yr).join("")+"]","g"),this._thousandsSeparatorRegExp=new RegExp(yr(this.thousandsSeparator),"g")}},{key:"_removeThousandsSeparators",value:function(t){return t.replace(this._thousandsSeparatorRegExp,"")}},{key:"_insertThousandsSeparators",value:function(t){var e=t.split(this.radix);return e[0]=e[0].replace(/\B(?=(\d{3})+(?!\d))/g,this.thousandsSeparator),e.join(this.radix)}},{key:"doPrepare",value:function(t){for(var e,r=arguments.length,u=new Array(r>1?r-1:0),i=1;i<r;i++)u[i-1]=arguments[i];return(e=ar(tr(n.prototype),"doPrepare",this)).call.apply(e,[this,this._removeThousandsSeparators(t.replace(this._mapToRadixRegExp,this.radix))].concat(u))}},{key:"_separatorsCount",value:function(t){for(var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=0,r=0;r<t;++r)this._value.indexOf(this.thousandsSeparator,r)===r&&(++n,e&&(t+=this.thousandsSeparator.length));return n}},{key:"_separatorsCountFromSlice",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this._value;return this._separatorsCount(this._removeThousandsSeparators(t).length,!0)}},{key:"extractInput",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.value.length,r=arguments.length>2?arguments[2]:void 0,u=this._adjustRangeWithSeparators(t,e),i=lr(u,2);return t=i[0],e=i[1],this._removeThousandsSeparators(ar(tr(n.prototype),"extractInput",this).call(this,t,e,r))}},{key:"_appendCharRaw",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!this.thousandsSeparator)return ar(tr(n.prototype),"_appendCharRaw",this).call(this,t,e);var r=e.tail&&e._beforeTailState?e._beforeTailState._value:this._value,u=this._separatorsCountFromSlice(r);this._value=this._removeThousandsSeparators(this.value);var i=ar(tr(n.prototype),"_appendCharRaw",this).call(this,t,e);this._value=this._insertThousandsSeparators(this._value);var a=e.tail&&e._beforeTailState?e._beforeTailState._value:this._value,s=this._separatorsCountFromSlice(a);return i.tailShift+=(s-u)*this.thousandsSeparator.length,i.skip=!i.rawInserted&&t===this.thousandsSeparator,i}},{key:"_findSeparatorAround",value:function(t){if(this.thousandsSeparator){var e=t-this.thousandsSeparator.length+1,n=this.value.indexOf(this.thousandsSeparator,e);if(n<=t)return n}return-1}},{key:"_adjustRangeWithSeparators",value:function(t,e){var n=this._findSeparatorAround(t);n>=0&&(t=n);var r=this._findSeparatorAround(e);return r>=0&&(e=r+this.thousandsSeparator.length),[t,e]}},{key:"remove",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.value.length,n=this._adjustRangeWithSeparators(t,e),r=lr(n,2);t=r[0],e=r[1];var u=this.value.slice(0,t),i=this.value.slice(e),a=this._separatorsCount(u.length);this._value=this._insertThousandsSeparators(this._removeThousandsSeparators(u+i));var s=this._separatorsCountFromSlice(u);return new br({tailShift:(s-a)*this.thousandsSeparator.length})}},{key:"nearestInputPos",value:function(t,e){if(!this.thousandsSeparator)return t;switch(e){case fr:case pr:case dr:var n=this._findSeparatorAround(t-1);if(n>=0){var r=n+this.thousandsSeparator.length;if(t<r||this.value.length<=r||e===dr)return n}break;case vr:case gr:var u=this._findSeparatorAround(t);if(u>=0)return u+this.thousandsSeparator.length}return t}},{key:"doValidate",value:function(t){var e=(t.input?this._numberRegExpInput:this._numberRegExp).test(this._removeThousandsSeparators(this.value));if(e){var r=this.number;e=e&&!isNaN(r)&&(null==this.min||this.min>=0||this.min<=this.number)&&(null==this.max||this.max<=0||this.number<=this.max)}return e&&ar(tr(n.prototype),"doValidate",this).call(this,t)}},{key:"doCommit",value:function(){if(this.value){var t=this.number,e=t;null!=this.min&&(e=Math.max(e,this.min)),null!=this.max&&(e=Math.min(e,this.max)),e!==t&&(this.unmaskedValue=String(e));var r=this.value;this.normalizeZeros&&(r=this._normalizeZeros(r)),this.padFractionalZeros&&(r=this._padFractionalZeros(r)),this._value=r}ar(tr(n.prototype),"doCommit",this).call(this)}},{key:"_normalizeZeros",value:function(t){var e=this._removeThousandsSeparators(t).split(this.radix);return e[0]=e[0].replace(/^(\D*)(0*)(\d*)/,(function(t,e,n,r){return e+r})),t.length&&!/\d$/.test(e[0])&&(e[0]=e[0]+"0"),e.length>1&&(e[1]=e[1].replace(/0*$/,""),e[1].length||(e.length=1)),this._insertThousandsSeparators(e.join(this.radix))}},{key:"_padFractionalZeros",value:function(t){if(!t)return t;var e=t.split(this.radix);return e.length<2&&e.push(""),e[1]=e[1].padEnd(this.scale,"0"),e.join(this.radix)}},{key:"unmaskedValue",get:function(){return this._removeThousandsSeparators(this._normalizeZeros(this.value)).replace(this.radix,".")},set:function(t){or(tr(n.prototype),"unmaskedValue",t.replace(".",this.radix),this,!0)}},{key:"typedValue",get:function(){return Number(this.unmaskedValue)},set:function(t){or(tr(n.prototype),"unmaskedValue",String(t),this,!0)}},{key:"number",get:function(){return this.typedValue},set:function(t){this.typedValue=t}},{key:"allowNegative",get:function(){return this.signed||null!=this.min&&this.min<0||null!=this.max&&this.max<0}}]),n}(Er);Zr.DEFAULTS={radix:",",thousandsSeparator:"",mapToRadix:["."],scale:2,signed:!1,normalizeZeros:!0,padFractionalZeros:!1},Cr.MaskedNumber=Zr;var Kr=function(t){Qn(n,t);var e=ur(n);function n(){return qn(this,n),e.apply(this,arguments)}return Jn(n,[{key:"_update",value:function(t){t.mask&&(t.validate=t.mask),ar(tr(n.prototype),"_update",this).call(this,t)}}]),n}(Er);Cr.MaskedFunction=Kr;var Gr=["compiledMasks","currentMaskRef","currentMask"],Wr=function(t){Qn(n,t);var e=ur(n);function n(t){var r;return qn(this,n),(r=e.call(this,Object.assign({},n.DEFAULTS,t))).currentMask=null,r}return Jn(n,[{key:"_update",value:function(t){ar(tr(n.prototype),"_update",this).call(this,t),"mask"in t&&(this.compiledMasks=Array.isArray(t.mask)?t.mask.map((function(t){return Sr(t)})):[])}},{key:"_appendCharRaw",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=this._applyDispatch(t,e);return this.currentMask&&n.aggregate(this.currentMask._appendChar(t,e)),n}},{key:"_applyDispatch",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=e.tail&&null!=e._beforeTailState?e._beforeTailState._value:this.value,r=this.rawInputValue,u=e.tail&&null!=e._beforeTailState?e._beforeTailState._rawInputValue:r,i=r.slice(u.length),a=this.currentMask,s=new br,o=a&&a.state;if(this.currentMask=this.doDispatch(t,Object.assign({},e)),this.currentMask)if(this.currentMask!==a){if(this.currentMask.reset(),u){var l=this.currentMask.append(u,{raw:!0});s.tailShift=l.inserted.length-n.length}i&&(s.tailShift+=this.currentMask.append(i,{raw:!0,tail:!0}).tailShift)}else this.currentMask.state=o;return s}},{key:"_appendPlaceholder",value:function(){var t=this._applyDispatch.apply(this,arguments);return this.currentMask&&t.aggregate(this.currentMask._appendPlaceholder()),t}},{key:"doDispatch",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.dispatch(t,this,e)}},{key:"doValidate",value:function(){for(var t,e,r=arguments.length,u=new Array(r),i=0;i<r;i++)u[i]=arguments[i];return(t=ar(tr(n.prototype),"doValidate",this)).call.apply(t,[this].concat(u))&&(!this.currentMask||(e=this.currentMask).doValidate.apply(e,u))}},{key:"reset",value:function(){this.currentMask&&this.currentMask.reset(),this.compiledMasks.forEach((function(t){return t.reset()}))}},{key:"value",get:function(){return this.currentMask?this.currentMask.value:""},set:function(t){or(tr(n.prototype),"value",t,this,!0)}},{key:"unmaskedValue",get:function(){return this.currentMask?this.currentMask.unmaskedValue:""},set:function(t){or(tr(n.prototype),"unmaskedValue",t,this,!0)}},{key:"typedValue",get:function(){return this.currentMask?this.currentMask.typedValue:""},set:function(t){var e=String(t);this.currentMask&&(this.currentMask.typedValue=t,e=this.currentMask.unmaskedValue),this.unmaskedValue=e}},{key:"isComplete",get:function(){return!!this.currentMask&&this.currentMask.isComplete}},{key:"remove",value:function(){var t,e=new br;this.currentMask&&e.aggregate((t=this.currentMask).remove.apply(t,arguments)).aggregate(this._applyDispatch());return e}},{key:"state",get:function(){return Object.assign({},ar(tr(n.prototype),"state",this),{_rawInputValue:this.rawInputValue,compiledMasks:this.compiledMasks.map((function(t){return t.state})),currentMaskRef:this.currentMask,currentMask:this.currentMask&&this.currentMask.state})},set:function(t){var e=t.compiledMasks,r=t.currentMaskRef,u=t.currentMask,i=nr(t,Gr);this.compiledMasks.forEach((function(t,n){return t.state=e[n]})),null!=r&&(this.currentMask=r,this.currentMask.state=u),or(tr(n.prototype),"state",i,this,!0)}},{key:"extractInput",value:function(){var t;return this.currentMask?(t=this.currentMask).extractInput.apply(t,arguments):""}},{key:"extractTail",value:function(){for(var t,e,r=arguments.length,u=new Array(r),i=0;i<r;i++)u[i]=arguments[i];return this.currentMask?(t=this.currentMask).extractTail.apply(t,u):(e=ar(tr(n.prototype),"extractTail",this)).call.apply(e,[this].concat(u))}},{key:"doCommit",value:function(){this.currentMask&&this.currentMask.doCommit(),ar(tr(n.prototype),"doCommit",this).call(this)}},{key:"nearestInputPos",value:function(){for(var t,e,r=arguments.length,u=new Array(r),i=0;i<r;i++)u[i]=arguments[i];return this.currentMask?(t=this.currentMask).nearestInputPos.apply(t,u):(e=ar(tr(n.prototype),"nearestInputPos",this)).call.apply(e,[this].concat(u))}},{key:"overwrite",get:function(){return this.currentMask?this.currentMask.overwrite:ar(tr(n.prototype),"overwrite",this)},set:function(t){console.warn('"overwrite" option is not available in dynamic mask, use this option in siblings')}}]),n}(Er);Wr.DEFAULTS={dispatch:function(t,e,n){if(e.compiledMasks.length){var r=e.rawInputValue,u=e.compiledMasks.map((function(e,u){return e.reset(),e.append(r,{raw:!0}),e.append(t,n),{weight:e.rawInputValue.length,index:u}}));return u.sort((function(t,e){return e.weight-t.weight})),e.compiledMasks[u[0].index]}}},Cr.MaskedDynamic=Wr;var $r={MASKED:"value",UNMASKED:"unmaskedValue",TYPED:"typedValue"};function qr(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:$r.MASKED,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:$r.MASKED,r=Sr(t);return function(t){return r.runIsolated((function(r){return r[e]=t,r[n]}))}}function Xr(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),r=1;r<e;r++)n[r-1]=arguments[r];return qr.apply(void 0,n)(t)}Cr.PIPE_TYPE=$r,Cr.createPipe=qr,Cr.pipe=Xr;try{globalThis.IMask=Cr}catch(t){}t.HTMLContenteditableMaskElement=Ur,t.HTMLMaskElement=Nr,t.InputMask=Hr,t.MaskElement=Lr,t.Masked=Er,t.MaskedDate=Rr,t.MaskedDynamic=Wr,t.MaskedEnum=Yr,t.MaskedFunction=Kr,t.MaskedNumber=Zr,t.MaskedPattern=Ir,t.MaskedRange=Vr,t.MaskedRegExp=Or,t.PIPE_TYPE=$r,t.createMask=Sr,t.createPipe=qr,t.default=Cr,t.pipe=Xr,Object.defineProperty(t,"__esMo
1dule",{value:!0})}));
2//# sourceMappingURL=imask.min.js.map
3let inputChecked = $("input.shipping_method:checked");
4console.log(inputChecked);
5
6let deliveryCard = inputChecked.closest('.delivery-types');
7
8deliveryCard.addClass('delivery-type--checked');
9
10
11console.log(deliveryCard);
12
13if (deliveryCard.hasClass('delivery-type--point')) {
14
15  //console.log('123');
16
17}
18
19
20let select = $("#cdekfw-pvz-code"),
21  address = select.find('option:checked').html();
22  console.log(address);
23  
24 
25$(document).ready(function () {
26
27  $('.aja').on("submit", function(e){
28	
29	var form = '';
30    form = $(this).serialize()+ "&url=" + window.location.toString();  
31	var ek_e = $(".popmake-content");
32    e.preventDefault();
33
34    
35	
36	let emailInput = $(this).find("input[name='email']");
37
38
39     let emailVal = emailInput.val().trim(),
40	   emailPattern = /^\w+([\.-]?\w+)*@(((([a-z0-9]{2,})|([a-z0-9][-][a-z0-9]+))[\.][a-z0-9])|([a-z0-9]+[-]?))+[a-z0-9]+\.([a-z]{2}|(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum))$/i;
41	  
42    // unset errors
43    let error = false;
44    emailInput.removeClass("error");
45   // $('.mess-error-class').removeClass('show');
46//    var v_email = el_e.val()?false:true;
47
48    try{
49      
50      if (emailVal === '' || !emailPattern.test(emailVal)) {
51        error = true;
52        emailInput.addClass("error");
53		emailInput.after('<span class="text-error for-email">Обязательно</span>');
54      } 
55      else{
56        emailInput.removeClass("error");
57		
58      }
59
60    } catch(e) {
61    }
62//console.log(emailVal);
63
64
65    if (!error) {
66       $.ajax({
67      type: 'POST',
68      url: '/ajax/addlid.php',
69      data: form,
70      success: function(data) {
71		console.log('Отправлено');
72		$('.bigtitle').hide(100);
73		$('.aja p').hide(100);
74		$('p.ss').hide(100);
75		$('.aja').hide(100);
76		$('.thanks').fadeIn(2000);
77		
78		 setTimeout(function() {
79    // Trigger the click event on the button
80	    ek_e.after('<h3 class="thanks" style="display:none">Спасибо за подписку!</h3>').fadeIn(700);
81        $('.popmake-close').trigger('click');
82		}, 3500);
83      }, 
84      error:  function(xhr, str){
85        console.log('Ошибка: ' + xhr.responseCode);
86      }
87
88    });
89    
90    }
91    return false;
92  });
93
94 	
95
96  $('.cdekfw-pvz-block').wrapAll('<div class="new"></div>');
97  
98  /*------------------------
99        ACCORDION
100  ------------------------*/
101  $(".accordion").click(function () {
102    let content = $(this).find('.accordion__content'),
103      classIsOpen = 'accordion--open';
104    if (content.css('max-height') != '0px'){
105      content.css('max-height', '0px');
106      $(this).removeClass(classIsOpen);
107    } else {
108      $(this).addClass(classIsOpen);
109      content.css('max-height', content.prop('scrollHeight') + "px");
110    }
111  });
112
113  	/*табы*/
114	var tab = $('.tabslist > section'); 
115	tab.hide().filter(':first').show(); 
116	
117	// Клики по вкладкам.
118	$('.tabs_nav a').click(function(){
119		tab.hide(); 
120		tab.filter(this.hash).show(); 
121		$('.tabs_nav a').removeClass('active');
122		$(this).addClass('active');
123		return false;
124	}).filter(':first').click();
125
126	// Клики по якорным ссылкам.
127	$('.tabs-target').click(function(){
128		$('.tabs_nav a[href=' + $(this).attr('href')+ ']').click();
129	});
130	
131	// Отрытие вкладки из хеша URL
132	if(window.location.hash){
133		$('#tabs_nav a[href=' + window.location.hash + ']').click();
134		window.scrollTo(0, $("#" . window.location.hash).offset().top);
135	}
136/*вертикальный слайдер новая страница товара
137   $('.product_page_inner_images_inner_thumb_item').click(function () {
138		var class_image = $(this).attr('data-class');
139		
140		$(this).addClass('swiper-slide-thumb-active').siblings().removeClass('swiper-slide-thumb-active swiper-slide-active');
141		$('.product_page_inner_images_inner_big_image').hide();
142		$('.product_page_inner_images_inner_big_image.'.concat(class_image)).show();
143		
144    });*/
145	// Инициализация превью слайдера
146const sliderThum = new Swiper('.slider__thumbs .swiper-container', { // ищем слайдер превью по селектору
147	// задаем параметры
148	direction: 'vertical', // вертикальная прокрутка
149	//slidesPerView: 3, // показывать по 3 превью
150	loop: true,
151	navigation: { // задаем кнопки навигации
152		nextEl: '.swiper-button-next', // кнопка Next
153		prevEl: '.swiper-button-prev' // кнопка Prev
154	},
155	freeMode: true, // при перетаскивании превью ведет себя как при скролле
156	breakpoints: { // условия для разных размеров окна браузера
157		0: { // при 0px и выше
158			direction: 'horizontal', // горизонтальная прокрутка
159			slidesPerView: 2, 
160			spaceBetween: 20,
161		},
162		768: { // при 768px и выше
163			direction: 'horizontal', // вертикальная прокрутка
164			slidesPerView: 3,
165			spaceBetween: 20, // расстояние между слайдами
166		},
167		920: { // при 920px и выше
168			direction: 'horizontal', // вертикальная прокрутка
169			slidesPerView: 2,
170			spaceBetween: 20, // расстояние между слайдами
171		},
172		1024: { // при 1199px и выше
173			direction: 'horizontal', // вертикальная прокрутка
174			slidesPerView: 3,
175			spaceBetween: 20, // расстояние между слайдами
176		},
177		1199: { // при 1199px и выше
178			direction: 'vertical', // вертикальная прокрутка
179			slidesPerView: 3,
180			spaceBetween: 20, // расстояние между слайдами
181		}
182	}
183});
184// Инициализация слайдера изображений
185const sliderImages = new Swiper('.mySwiper', { // ищем слайдер превью по селектору
186	// задаем параметры
187	direction: 'horizontal', // вертикальная прокрутка
188	slidesPerView: 1, // показывать по 1 изображению
189	spaceBetween: 32, // расстояние между слайдами
190	loop: true,
191	mousewheel: true, // можно прокручивать изображения колёсиком мыши
192	navigation: { // задаем кнопки навигации
193		nextEl: '.swiper-button-next', // кнопка Next
194		prevEl: '.swiper-button-prev' // кнопка Prev
195	},
196	grabCursor: true, // менять иконку курсора
197	thumbs: { // указываем на превью слайдер
198		swiper: sliderThum // указываем имя превью слайдера
199	},
200	breakpoints: { // условия для разных размеров окна браузера
201		0: { // при 0px и выше
202			direction: 'horizontal', // горизонтальная прокрутка
203		},
204		768: { // при 768px и выше
205			direction: 'horizontal', // вертикальная прокрутка
206		},
207	}
208});
209
210    
211  var swiperSert = new Swiper(".sertificatte", {
212	slidesPerGroup:1,
213    spaceBetween: 30,
214    navigation: {
215      prevEl: '.st-btn-prevsert',
216      nextEl: '.st-btn-nextsert',
217    },
218	 pagination: {
219        el: ".nav-linkssert",
220        clickable: true,
221      },
222    breakpoints: {
223      657: {
224        slidesPerView: 1,
225        spaceBetween: 20,
226      },
227      767: {
228        slidesPerView: 2,
229        spaceBetween: 20,
230      },
231      1000: {
232        slidesPerView: 3,
233        spaceBetween: 20,
234      },
235      1200: {
236        slidesPerView: 4,
237        spaceBetween: 30,
238      }
239    }
240  });	
241 	
242/*вертикальный слайдер новая страница товара*/
243
244/*   var swiperSales = new Swiper(".sales-swip", {
245    slidesPerView: "auto",
246    centeredSlides: true,
247    spaceBetween: 20,
248    //loop: true,
249    loop: false,
250    direction: "horizontal",
251    pagination: false,
252  }); */
253
254
255  const swiperSample = new Swiper('.sample-slider', {
256    slidesPerView: 1,
257	slidesPerGroup: 1,
258    /*initialSlide: 1,
259    centeredSlides: true,*/
260	initialSlide: 0, //  первый активный слайд
261    centeredSlides: true, //  центрирование слайдов
262    loop: false,
263	 loopAdditionalSlides: 5,
264	  breakpoints: {
265     200: {
266    slidesPerView: 'auto',
267      },
268      768: {
269        slidesPerView: 'auto',
270      },
271	  999: {
272        slidesPerView: 'auto',
273      },
274      1000: {
275        slidesPerView: 'auto',
276      },
277      1600: {
278        slidesPerView: 'auto',
279      },
280      1900: {
281        slidesPerView: 'auto',
282      }
283    },
284         pagination: {                      
285            el: '.pagination',
286			clickable: true,
287        },
288        
289    })
290var swiperSales = new Swiper(".sales-swip", {
291    slidesPerView: 3,
292	//slidesPerGroup: 1,
293    initialSlide: 1,
294	spaceBetween: 20,
295    centeredSlides: true,
296    loop: true,
297	 loopAdditionalSlides: 5,
298    navigation: {
299      nextEl: ".main-next",
300      prevEl: ".main-prev",
301    },
302	  breakpoints: {
303     200: {
304    slidesPerView: 2,
305      },
306      999: {
307        slidesPerView: 3,
308      },
309      1000: {
310        slidesPerView: 3,
311      }
312    },
313  });
314 
315 
316  var swiperProd = new Swiper(".dev-prod", {
317    //slidesPerView: 3,
318    spaceBetween: 30,
319    loop: false,
320    navigation: {
321      prevEl: ".st-btn-prev-feautures",
322      nextEl: ".st-btn-next-feautures",
323    },
324    pagination: {
325      el: ".nav-links-feautures",
326      clickable: true,
327    },
328    breakpoints: {
329      499: {
330        slidesPerView: 1,
331        spaceBetween: 30
332      },
333      768: {
334        slidesPerView: 2,
335        spaceBetween: 30
336      },
337      999: {
338        slidesPerView: 2,
339        spaceBetween: 30
340      },
341      1000: {
342        slidesPerView: 3,
343        spaceBetween: 30
344      }
345    }
346  });
347 var swiperArt = new Swiper(".dev-art", {
348    //slidesPerView: 3,
349    spaceBetween: 30,
350	slidesPerGroup: 1,
351    navigation: {
352      prevEl: ".st-btn-prev-feauturess",
353      nextEl: ".st-btn-next-feauturess",
354    },
355    pagination: {
356      el: ".nav-links-feauturess",
357      clickable: true,
358    },
359    breakpoints: {
360      499: {
361        slidesPerView: 1,
362        spaceBetween: 30,
363		loop: true
364      },
365      768: {
366        slidesPerView: 2,
367        spaceBetween: 30,
368		loop: false
369      },
370      999: {
371        slidesPerView: 3,
372        spaceBetween: 30,
373		loop: false
374      },
375      1000: {
376        slidesPerView: 4,
377        spaceBetween: 30,
378		loop: false
379      }
380    }
381  });   
382  var swiperReww = new Swiper(".dev-reviews", {
383    spaceBetween: 30,
384	direction: 'horizontal',
385	reverse: false,
386      navigation: {
387      prevEl: ".st-btn-prev-reviews",
388      nextEl: ".st-btn-next-reviews",
389      },
390    pagination: {
391      el: ".nav-links-reviews",
392      clickable: true,
393    },
394    breakpoints: {
395      499: {
396        slidesPerView: 1,
397        spaceBetween: 30
398      },
399      768: {
400        slidesPerView: 2,
401        spaceBetween: 30
402      },
403      999: {
404        slidesPerView: 2,
405        spaceBetween: 30
406      },
407      1000: {
408        slidesPerView: 3,
409        spaceBetween: 30
410      }
411    }
412  });
413  
414  var swiperReviews = new Swiper(".reviews-swip", {
415    slidesPerView: 1,
416    initialSlide: 1,
417    centeredSlides: true,
418    spaceBetween: 25,
419    loop: true,
420    navigation: {
421      nextEl: ".reviews-next",
422      prevEl: ".reviews-prev",
423    },
424    pagination: {
425      el: ".reviews-pag",
426      clickable: true,
427    },
428    breakpoints: {
429      499: {
430        slidesPerView: 1,
431        spaceBetweenSlides: 30
432      },
433      768: {
434        slidesPerView: 2,
435        spaceBetweenSlides: 40
436      },
437      999: {
438        slidesPerView: 2,
439        spaceBetweenSlides: 40
440      },
441      1000: {
442        slidesPerView: 3,
443        spaceBetweenSlides: 25
444      }
445    }
446  });
447
448  var mainSwiper = new Swiper(".main-swip", {
449    slidesPerView: 2,
450	slidesPerGroup: 1,
451    initialSlide: 1,
452    centeredSlides: true,
453    loop: true,
454	 loopAdditionalSlides: 5,
455    navigation: {
456      nextEl: ".main-next",
457      prevEl: ".main-prev",
458    },
459	  breakpoints: {
460     200: {
461    slidesPerView: 2,
462      },
463      999: {
464        slidesPerView: 3,
465      },
466      1000: {
467        slidesPerView: 3,
468      }
469    },
470    // on: {
471      // slideChangeTransitionEnd: function () {
472        // const addCartButton = document.querySelector('.main-swip .ajax_add_to_cart')
473        // const goToProductButton = document.querySelector('.main-swip .go-to-product')
474        // const activeSlide = document.querySelector('.main-swip .swiper-slide-active')
475        // const {
476          // id,
477          // slug
478        // } = activeSlide.dataset
479
480        //addCartButton.href = `?add-to-cart=${id}`
481       //addCartButton.dataset.product_id = id
482        // goToProductButton.href = `${slug}`
483      // }
484    // }
485	
486  });
487
488  var swiperProductSwip = new Swiper(".product-swip", {
489     slidesPerView: 2,
490	slidesPerGroup: 1,
491    initialSlide: 1,
492    centeredSlides: true,
493    loop: true,
494	 loopAdditionalSlides: 5,
495    navigation: {
496      nextEl: ".product-next",
497      prevEl: ".product-prev",
498    },
499	 breakpoints: {
500     200: {
501    slidesPerView: 2,
502      },
503      999: {
504        slidesPerView: 3,
505      },
506      1000: {
507        slidesPerView: 3,
508      }
509    },
510    on: {
511      slideChangeTransitionEnd: function () {
512        const productInfoWrapper = document.querySelector('.products .products-info')
513       const addCartButton = document.querySelector('.product-swip .ajax_add_to_cart')
514        const goToProductButton = document.querySelector('.product-swip .go-to-product')
515
516        const activeSlide = document.querySelector('.product-swip .swiper-slide-active')
517        const productBox = activeSlide.querySelector('.product-box')
518        const {
519          id,
520          slug
521        } = activeSlide.dataset
522
523        productInfoWrapper.innerHTML = productBox.innerHTML
524        // addCartButton.href = `?add-to-cart=${id}`
525        //addCartButton.dataset.product_id = id
526        //goToProductButton.href = `${slug}`
527      }
528    }
529  });
530 var swiper = new Swiper(".science-carousel", {
531    // loop: true,
532    navigation: {
533      nextEl: ".science-carousel-next",
534      prevEl: ".science-carousel-prev",
535    },
536    effect: 'fade',
537    fadeEffect: {
538      crossFade: true
539    },
540    autoplay: {
541      delay: 3000,
542    },
543
544  });
545
546  var swiper2 = new Swiper(".science-results-carousel", {
547	slidesPerView: 1,
548    spaceBetween: 30,
549    pagination: {
550      el: ".science-results-carousel",
551      clickable: true,
552    },
553    breakpoints: {
554      767: {
555        slidesPerView: 1,
556      },
557      999: {
558        slidesPerView: 2,
559      },
560      1000: {
561        slidesPerView: 2,
562      }
563    }
564  });
565
566  var swiper3 = new Swiper(".state-swiper", {
567    spaceBetween: 20,
568    pagination: {
569      el: ".state-swiper-pagination",
570      clickable: true,
571    },
572    navigation: {
573      nextEl: ".state-swiper-next",
574      prevEl: ".state-swiper-prev",
575    },
576    centeredSlides: true
577  });
578var swiper4 = new Swiper(".consistSwiper", {
579    slidesPerView: 1,
580    centeredSlides: true,
581    centeredSlidesBounds: true,
582    loop: true,
583    spaceBetween: 30,
584    navigation: {
585      nextEl: ".consistSwiper-next",
586      prevEl: ".consistSwiper-prev",
587    },
588    breakpoints: {
589      657: {
590        slidesPerView: 1,
591        spaceBetween: 30,
592      },
593      767: {
594        slidesPerView: 3,
595        spaceBetween: 30,
596      },
597      1000: {
598        slidesPerView: 4,
599        spaceBetween: 60,
600      },
601      1200: {
602        slidesPerView: 5,
603        spaceBetween: 80,
604      }
605    }
606  });
607
608  $(".burger-click").click(function () {
609    $('header').toggleClass("active");
610    $('.box-menu').toggleClass("active");
611    $(this).toggleClass("active");
612    $('html').toggleClass("no-scroll");
613  });
614
615  // init Isotope
616  var $grid = $('.grid').isotope({
617    itemSelector: '.element-item',
618    layoutMode: 'fitRows',
619    getSortData: {
620      name: '.name',
621      symbol: '.symbol',
622      number: '.number parseInt',
623      category: '[data-category]',
624      weight: function (itemElem) {
625        var weight = $(itemElem).find('.weight').text();
626        return parseFloat(weight.replace(/[\(\)]/g, ''));
627      }
628    }
629  });
630  // external js: isotope.pkgd.js
631
632  // init Isotope
633  var $grid = $('.grid').isotope({
634    itemSelector: '.element-item',
635    layoutMode: 'fitRows',
636    getSortData: {
637      name: '.name',
638      symbol: '.symbol',
639      number: '.number parseInt',
640      category: '[data-category]',
641      weight: function (itemElem) {
642        var weight = $(itemElem).find('.weight').text();
643        return parseFloat(weight.replace(/[\(\)]/g, ''));
644      }
645    }
646  });
647
648  // filter functions
649  var filterFns = {
650    // show if number is greater than 50
651    numberGreaterThan50: function () {
652      var number = $(this).find('.number').text();
653      return parseInt(number, 10) > 50;
654    },
655    // show if name ends with -ium
656    ium: function () {
657      var name = $(this).find('.name').text();
658      return name.match(/ium$/);
659    }
660  };
661
662  // bind filter button click
663  $('#filters').on('click', 'button', function () {
664    var filterValue = $(this).attr('data-filter');
665    // use filterFn if matches value
666    filterValue = filterFns[filterValue] || filterValue;
667    $grid.isotope({
668      filter: filterValue
669    });
670  });
671
672  // bind sort button click
673  $('#sorts').on('click', 'button', function () {
674    var sortByValue = $(this).attr('data-sort-by');
675    $grid.isotope({
676      sortBy: sortByValue
677    });
678  });
679
680  // change is-checked class on buttons
681  $('.button-group').each(function (i, buttonGroup) {
682    var $buttonGroup = $(buttonGroup);
683    $buttonGroup.on('click', 'button', function () {
684      $buttonGroup.find('.is-checked').removeClass('is-checked');
685      $(this).addClass('is-checked');
686    });
687  });
688
689  // $( ".main-sales-box-accordion-title" ).click(function() {
690  //     $('.main-sales-box-accordion').toggleClass( "active" );
691  // });
692
693  $(".main-sales-box-accordion-title").on("click", function () {
694    $(this).parents(".main-sales-box-accordion").find(".main-sales-box-accordion-title").removeClass("active");
695    $(this).parent().toggleClass("active");
696    return false;
697  });
698
699 
700
701
702  $('.add_to_cart_button').click(function() {
703  var productId = $(this).data('product_id'); // Получаем значение атрибута data-product-id кнопки, по которой кликнули
704  var buttonsWithId = $('.add_to_cart_button[data-product_id="' + productId + '"]'); // Находим все кнопки с таким же product-id
705  buttonsWithId.text('Добавлено'); // Применяем действие ко всем найденным кнопкам
706});
707
708
709    $('.js-example-basic-single').select2();
710 
711
712  (function ($) {
713    $(function () {
714
715      $('ul.tabs__caption').on('click', 'li:not(.active)', function () {
716        $(this)
717          .addClass('active').siblings().removeClass('active')
718          .closest('div.tabs').find('div.tabs__content').removeClass('active').eq($(this).index()).addClass('active');
719      });
720
721    });
722  })(jQuery);
723
724  function up(max) {
725    document.getElementById("myNumber").value = parseInt(document.getElementById("myNumber").value) + 1;
726    if (document.getElementById("myNumber").value >= parseInt(max)) {
727      document.getElementById("myNumber").value = max;
728    }
729  }
730
731  function down(min) {
732    document.getElementById("myNumber").value = parseInt(document.getElementById("myNumber").value) - 1;
733    if (document.getElementById("myNumber").value <= parseInt(min)) {
734      document.getElementById("myNumber").value = min;
735    }
736  }
737
738
739  // Tooltip
740  /*
741      $('#copy').tooltip({
742          trigger: 'click',
743          placement: 'bottom'
744      });
745
746      function setTooltip(message) {
747          $('#copy').tooltip('hide')
748              .attr('data-original-title', message)
749              .tooltip('show');
750      }
751
752      function hideTooltip() {
753          setTimeout(function () {
754              $('#copy').tooltip('hide');
755          }, 500);
756      }
757
758      // Clipboard
759      var clipboard = new ClipboardJS('#copy');
760
761      clipboard.on('success', function (e) {
762          setTooltip('Скопировано');
763          hideTooltip();
764
765      });
766
767      clipboard.on('error', function (e) {
768          setTooltip('Ошибка!');
769          hideTooltip();
770
771      });
772  */
773
774});
775const Checkout = {
776
777
778  // steps
779  //stepCustomer: "#customer_address_details",
780  stepDelivery: "#form-step-2",
781  stepPayment: "#cclw_payment_section",
782  steps: 3,
783  currentStep: 1,
784
785  init() {
786    this.initBtnControls();
787    this.observerContent();
788  },
789
790  observerContent() {
791    //let elemDOM = document.getElementById('order_review');
792    let elemDOM = document.getElementById('form-step-2');
793
794    if (elemDOM) {
795      let observerChange = new MutationObserver(mutationRecords => {
796        console.log('change content');
797
798        Checkout.initCurrentStep();
799        Checkout.delivery.init();
800      });
801
802      observerChange.observe(elemDOM, {
803        childList: true,
804      });
805    }
806  },
807
808  initCurrentStep() {
809
810    let formLocation = $(".form-location");
811
812    switch (this.currentStep) {
813      /*case 1:
814        $(this.stepCustomer).removeClass('d-none');
815        $(this.stepDelivery).addClass('d-none');
816        $(this.stepPayment).addClass('d-none');
817        formLocation.removeClass('show');
818        break;*/
819
820      case 1:
821        $(this.stepCustomer).addClass('d-none 1');
822        $(this.stepDelivery).removeClass('d-none ');
823        $(this.stepPayment).addClass('d-none atrox-desctop');
824        formLocation.addClass('show');
825        break;
826
827      case 2:
828        $(this.stepCustomer).addClass('d-none atrox-desctop');
829        $(this.stepDelivery).addClass('d-none atrox-desctop');
830        $(this.stepPayment).removeClass('d-none 3');
831        formLocation.removeClass('show');
832        break;
833    }
834  },
835
836  initBtnControls() {
837    let btnNextStep2ID = "checkoutBtnNext",
838      btnPrevStep1ID = "checkoutBtnPrevStep1",
839      btnNextStep3ID = "checkoutBtnNextStep3",
840      btnNextStep3ID_copy = "checkoutBtnNextStep3_copy",
841      btnPrevStep2ID = "checkoutBtnPrevStep2";
842
843    document.getElementById('primary').addEventListener('click', (e) => {
844
845      let targetElem = e.target;
846
847      // next step 2
848      if (targetElem.id === btnNextStep2ID) {
849
850
851        $('html, body').animate({scrollTop:0}, 'slow');
852    
853        e.preventDefault();
854        if (this.currentStep === 1 && this.customer.validate())  {
855          this.currentStep = 2;
856          this.initCurrentStep();
857          var deliv = $("#billing_address_1").val();
858          $(".receipt__address").html(deliv);
859          cartReceipt.setTotalData();
860
861      
862
863
864
865
866
867        }
868      }
869
870      // prev step 1
871      if (targetElem.id === btnPrevStep1ID) {
872        e.preventDefault();
873
874        $('.btn-desctop').css('display','flex');
875
876        $('html, body').animate({scrollTop:0}, 'slow');
877
878
879        if (this.currentStep === 2) {
880          $("#ship-to-different-address-checkbox").prop('checked', false);
881          this.currentStep = 1;
882          this.initCurrentStep();
883        }
884      }
885
886      // next step 3
887      if (targetElem.id === btnNextStep2ID) {
888        e.preventDefault();
889
890        if (this.currentStep === 2) {
891
892          if ((!Checkout.delivery.toDoor && Checkout.delivery.validateLocation()) ||
893            (Checkout.delivery.toDoor && Checkout.delivery.validateCustomerAddress())) {
894
895            // добавить адрес пункта выдачи
896
897
898
899            // заполнить поля страны и города
900            Checkout.delivery.autofillCustomerAddress();
901
902            // заменить значение val на текст поля
903            //let selectedStateOption = $("#billing_state option:selected");
904            //selectedStateOption.val(selectedStateOption.html());
905
906            // отметить checkbox "по другому адресу" если выбран до двери
907            if (Checkout.delivery.toDoor) {
908              $("#ship-to-different-address-checkbox").prop('checked', true);
909            }
910
911            this.receipt.setTotalData();
912            this.receipt.initBtnPay();
913
914            this.currentStep = 3;
915            this.initCurrentStep();
916
917            
918          }
919        }
920
921       
922
923      }
924
925      // prev step 2
926      if (targetElem.id === btnPrevStep2ID) {
927        if (this.currentStep === 3) {
928          $("#ship-to-different-address-checkbox").prop('checked', false);
929          this.currentStep = 2;
930          this.initCurrentStep();
931        }
932      }
933    })
934  },
935  customer: {
936  
937
938
939
940
941
942
943////////
944
945
946
947    
948    validate() {
949
950      let form = $(".woocommerce-billing-fields"),
951        classError = 'input-error',
952        error = false;
953
954      // reset error
955      form.find('input').focusout(function () {
956        $(this).removeClass(classError);
957      });
958
959      form.find('input.' + classError).removeClass(classError);
960
961      // validate
962      let name = $("#billing_first_name"),
963        surname = $("#billing_last_name"),
964        //addr = $("#billing_address_1"),
965        phone = $("#billing_phone"),
966        email = $("#billing_email");
967
968      if (this.checkName(name.val())) {
969        error = true;
970        name.addClass(classError);
971        return false;
972      }
973
974        var t = ".shipping-total .address-delivery--door";
975        console.log($(t+" #shipping_address").css("display"));
976        if($(t+" #shipping_address").val() != undefined){
977          if($.trim($(t+" #shipping_address").val()) == "" || $(t+" #shipping_address").val() == ""){
978            
979            error = true;
980            $(t+" #shipping_address").addClass(classError);
981            return false;
982          } else {
983            $(t+" #shipping_address").removeClass(classError);
984          }
985
986          
987          if($.trim($(t+" #shipping_home").val()) == "" || $(t+" #shipping_home").val() == ""){
988            
989            error = true;
990            $(t+" #shipping_home").addClass(classError);
991            return false;
992          } else {
993            $(t+" #shipping_home").removeClass(classError);
994          }
995
996          
997          if($.trim($(t+" #shipping_apartment").val()) == "" || $(t+" #shipping_apartment").val() == ""){
998            
999            error = true;
1000            $(t+" #shipping_apartment").addClass(classError);
1001            return false;
1002          } else {
1003            $(t+" #shipping_apartment").removeClass(classError);
1004          }
1005        }
1006
1007
1008
1009
1010
1011      if (this.checkSurName(surname.val())) {
1012        error = true;
1013        surname.addClass(classError);
1014        return false;
1015      }
1016
1017      /*if (this.checkAddr(addr.val())) {
1018        error = true;
1019        addr.addClass(classError);
1020        return false;
1021      }*/
1022
1023      /* if (this.checkPhone(phone.val())) {
1024        error = true;
1025        phone.addClass(classError);
1026        return false;
1027      } */
1028      const phoneValue = phone[0] ? phone[0].value : null;
1029      if (!phoneValue) {
1030        error = true;
1031        phone.addClass(classError);
1032        return false;
1033      }
1034
1035      if (this.checkEmail(email.val())) {
1036        error = true;
1037        email.addClass(classError);
1038        return false;
1039      }
1040
1041      if (!error) {
1042
1043        // скопировать телефон и email в поле для оплаты
1044        this.setNameInBillingInput(name);
1045        this.setPhoneInBillingInput(phone);
1046        this.setEmailInBillingInput(email);
1047
1048        return true;
1049      }
1050    },
1051
1052    checkName(name) {
1053      if (name.length < 2) {
1054        return true;
1055      }
1056    },
1057
1058
1059    checkSurName(surname) {
1060      if (surname.length < 2) {
1061        return true;
1062      }
1063    },
1064    /*checkAddr(addr) {
1065      if (addr.length < 2) {
1066        return true;
1067      }
1068    },*/
1069
1070    checkPhone(phone) {
1071      if (phone.length !== 18) {
1072        return true;
1073      }
1074    },
1075
1076    checkEmail(email) {
1077      let regex = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/;
1078      if (!regex.test(email)) {
1079        return true;
1080      }
1081    },
1082
1083    checkCity(city) {
1084      if (city.length < 2) {
1085        return true;
1086      }
1087    },
1088
1089    checkPostcode(postcode) {
1090      let reg = /^\d+$/;
1091
1092      if (postcode.length < 2 || !reg.test(postcode)) {
1093        return true;
1094      }
1095    },
1096
1097    setNameInBillingInput(name) {
1098      $("#billing_first_name").val(name.val());
1099    },
1100
1101    setPhoneInBillingInput(phone) {
1102      $("#billing_phone").val(phone.val());
1103    },
1104
1105    setEmailInBillingInput(email) {
1106      $("#billing_email").val(email.val());
1107    }
1108  },
1109
1110  delivery: {
1111    address: null,
1112    toDoor: false,
1113
1114    init() {
1115
1116      let inputChecked = $("input.shipping_method:checked");
1117      console.log(inputChecked);
1118
1119      let deliveryCard = inputChecked.closest('.delivery-types');
1120
1121      deliveryCard.addClass('delivery-type--checked');
1122
1123      // отметить мобильную карточку доставки
1124      this.initCheckCompany(inputChecked);
1125
1126       // до двери любой доставки
1127       if (deliveryCard.hasClass('delivery-type--door')) {
1128        this.toDoor = true;
1129        this.autofillCustomerAddress();
1130
1131        $(".address-delivery").addClass('address-delivery--door');
1132      }
1133      /*if (deliveryCard.hasClass('delivery-type--pochta')) {
1134
1135
1136        this.toDoor = true;
1137        this.autofillCustomerAddress();
1138
1139
1140        $(".address-delivery").addClass('address-delivery--door');
1141        $(".del__total_pochta").addClass('show');
1142
1143      }*/
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153      // до точки CDEK
1154      if (deliveryCard.hasClass('delivery-type--point') && inputChecked.attr('id') !== 'shipping_method_0_local_pickup10') {
1155
1156
1157
1158
1159        this.toDoor = false;
1160        this.observeCDEKPoint();
1161        this.initAddressCDEKPoint();
1162
1163        //$(".address-delivery").addClass('address-delivery--pochta');
1164
1165        // показать адрес и стоимость доставки
1166        $(".del__total_point").addClass('show');
1167      }
1168     
1169
1170      // почистить поля области и города если страна не Россия
1171      $("#billing_country").on('change', function () {
1172        $("#billing_state, #billing_city").val('');
1173      })
1174
1175      // показать методы доставки
1176      this.showMethod();
1177    },
1178
1179    observeMethod() {
1180      let elemDOM = document.getElementById('shipping_method');
1181
1182      if (elemDOM) {
1183        let observerChange = new MutationObserver(mutationRecords => {
1184          console.log('change method');
1185        });
1186
1187        observerChange.observe(elemDOM, {
1188          childList: true,
1189          //subtree: true,
1190        });
1191      }
1192    },
1193
1194    observeCDEKPoint() {
1195      let elemDOM = document.getElementById('select2-cdekfw-pvz-code-container');
1196
1197      if (elemDOM) {
1198        let observerChange = new MutationObserver(mutationRecords => {
1199          console.log('change address');
1200
1201          let address = $(elemDOM).html();
1202
1203          this.setAddressCDEKPoint(address);
1204        });
1205
1206        observerChange.observe(elemDOM, {
1207          childList: true,
1208          subtree: true,
1209        });
1210      }
1211    },
1212
1213    initAddressCDEKPoint() {
1214      let select = $("#cdekfw-pvz-code"),
1215        address = select.find('option:checked').html();
1216
1217
1218      this.setAddressCDEKPoint(address);
1219    },
1220
1221    setAddressCDEKPoint(address) {
1222      this.address = address;
1223
1224      $(".address-delivery__point").html(address);
1225    },
1226
1227    getAddress() {
1228      return this.address;
1229    },
1230
1231    setAddress(address) {
1232      this.address = address;
1233    },
1234
1235    validateLocation() {
1236
1237      let form = $(".woocommerce-billing-fields"),
1238        classError = 'input-error',
1239        error = false;
1240
1241      // reset error
1242      form.find('input').focusout(function () {
1243        $(this).removeClass(classError);
1244      });
1245
1246      form.find('input.' + classError).removeClass(classError);
1247
1248      // validate
1249      let state = $("#billing_state"),
1250          city = $("#billing_city");
1251
1252      if (state.length && this.checkCity(state.val())) {
1253        error = true;
1254        state.addClass(classError);
1255        return false;
1256      }
1257
1258      if (city.length && this.checkCity(city.val())) {
1259        error = true;
1260        city.addClass(classError);
1261        return false;
1262      }
1263
1264      if (!error) {
1265        return true;
1266      }
1267    },
1268
1269    validateCustomerAddress() {
1270
1271      let form = $(".form-address"),
1272        classError = 'input-error',
1273        error = false;
1274
1275      // reset error
1276      form.find('input').focusout(function () {
1277        $(this).removeClass(classError);
1278      });
1279
1280      form.find('input.' + classError).removeClass(classError);
1281
1282      // validate
1283      let country = $("#shipping_new_country"),
1284        city = $("#shipping_new_city"),
1285        street = $("#billing_address_1"),
1286        apart = $("#shipping_apartment");
1287
1288      if (country.length && this.checkCountry(country.val())) {
1289        error = true;
1290        country.addClass(classError);
1291        return false;
1292      }
1293
1294      if (city.length && this.checkCity(city.val())) {
1295        error = true;
1296        city.addClass(classError);
1297        return false;
1298      }
1299
1300      if (street.length && this.checkStreet(street.val())) {
1301        error = true;
1302        street.addClass(classError);
1303        return false;
1304      }
1305
1306      if (!error) {
1307
1308        // set delivery address
1309        let address = country.val() +
1310          ', ' + city.val() +
1311          ', ' + street.val();
1312
1313        if (apart.val().length > 0) {
1314          address += ', ' + apart.val();
1315        }
1316
1317        this.setAddress(address);
1318
1319        return true;
1320      }
1321    },
1322
1323    checkCountry(country) {
1324      if (country.length < 2) {
1325        return true;
1326      }
1327    },
1328
1329    checkRussia(country) {
1330      if (country.length !== 6) {
1331        return true;
1332      }
1333    },
1334
1335    checkCity(city) {
1336      if (!city || city.length < 2) {
1337        return true;
1338      }
1339    },
1340
1341    checkStreet(street) {
1342      if (street.length < 2) {
1343        return true;
1344      }
1345    },
1346
1347    autofillCustomerAddress() {
1348      let country = $("#select2-billing_country-container"),
1349        city = $("#select2-billing_state-container");
1350
1351      if (!country.children().length) {
1352        $("#shipping_new_country").val(country.text());
1353      }
1354
1355      if (!city.children().length) {
1356        $("#shipping_new_city").val(city.text());
1357      }
1358    },
1359
1360    showMethod() {
1361      if (Checkout.delivery.validateLocation()) {
1362        $(".delivery__body").addClass('show');
1363
1364      } else {
1365        $(".delivery__body").removeClass('show');
1366      }
1367    },
1368
1369    initCheckCompany(input) {
1370      $(".delivery-card.show").removeClass('show')
1371
1372      let methodID = input.data('method');
1373      let deliveryCard = input.closest('.delivery-card');
1374      let minCardInput = $(`.min-delivery-card__label input[value="${methodID}"`);
1375
1376      minCardInput.prop('checked', true);
1377      deliveryCard.addClass('show');
1378
1379      // переключатель доставок на моб.
1380      let companyList = document.querySelectorAll('.min-delivery-card-list .shipping_method');
1381      companyList.forEach(company => {
1382
1383        company.addEventListener('change', function () {
1384          let method = this.value;
1385
1386          $(".delivery-card.show").removeClass('show')
1387
1388          let deliveryCard = $(`input[data-method="${method}"`).closest('.delivery-card');
1389          deliveryCard.addClass('show');
1390        })
1391      })
1392    },
1393  },
1394
1395  receipt: {
1396    setTotalData() {
1397      $(".receipt__address").html(Checkout.delivery.getAddress());
1398    },
1399
1400    initBtnPay() {
1401      let btnPayOnline = $(".payment_method_yookassa_bank_card .button"),
1402        btnPayReceipt = $(".payment_method_cod .button");
1403
1404      btnPayOnline.unbind("mouseenter");
1405      btnPayReceipt.unbind("mouseenter");
1406
1407      // оплата онлайн
1408      btnPayOnline.on('mouseenter', function () {
1409        $("#payment_method_cod").prop('checked', false);
1410        $("#payment_method_yookassa_bank_card").prop('checked', true);
1411      });
1412
1413      // оплата при получении
1414      btnPayReceipt.on('mouseenter', function () {
1415        $("#payment_method_yookassa_bank_card").prop('checked', false);
1416        $("#payment_method_cod").prop('checked', true);
1417      });
1418    }
1419  }
1420}
1421
1422let woocommerceCheckout = document.querySelector('.woocommerce-checkout');
1423
1424if (woocommerceCheckout) {
1425  Checkout.init();
1426}
1427/*------------------------------
1428        INIT CART CONTENT
1429------------------------------*/
1430const Cart = {
1431  selectorFormCode: '.js-form-code',
1432  selectorInputFormCode: '#coupon_code',
1433  promoCode: null,
1434  flagPromo: false,
1435  timer: 0,
1436  maxTime: 30000,
1437
1438  init() {
1439    let st = setInterval(() => {
1440
1441      if (!$('.jcf-btn-dec').length) {
1442        this.initCustomForm();
1443        this.initBtnControls();
1444        this.initCode();
1445        this.initFormPromo();
1446
1447        // show error promo
1448        if (this.flagPromo) {
1449          this.showMessagePromo();
1450        }
1451
1452        clearInterval(st);
1453      }
1454
1455
1456      // остановить интервал если он дольше 30 сек.
1457      this.timer += 100;
1458
1459      if (this.timer >= this.maxTime) {
1460        this.timer = 0;
1461        clearInterval(st);
1462      }
1463
1464    }, 100)
1465  },
1466
1467  initCustomForm() {
1468    initCustomForms();
1469  },
1470
1471  initBtnControls() {
1472    let input = $(".jcf-number input");
1473
1474    input.on('change', function () {
1475
1476      let val = +$(this).val();
1477
1478      $(this).val(val);
1479
1480      wacChange($(this));
1481      Cart.updateCartBtn();
1482      Cart.init();
1483    });
1484  },
1485
1486  updateCartBtn() {
1487    let count = 0;
1488
1489    $(".jcf-number").each(function () {
1490      let input = $(this).find('input');
1491      count += +input.val();
1492    });
1493
1494    $(".button-cart__quantity").html(count);
1495  },
1496
1497  initFormPromo() {
1498    $(".form-code__btn").on('click', () => {
1499      this.flagPromo = true;
1500      this.promoCode = $(this.selectorInputFormCode).val();
1501      this.init();
1502    })
1503  },
1504
1505  initCode() {
1506    let code = $("#applied_coupons").val();
1507
1508    if (code) {
1509      this.promoCode = code;
1510      $(this.selectorFormCode).addClass('confirmed');
1511      $(this.selectorInputFormCode).val(this.promoCode);
1512    }
1513  },
1514
1515  showMessagePromo() {
1516    let errorInput = $(".form-code__error"),
1517      errorsList = $('.woocommerce-error li');
1518
1519    // show error
1520    if (errorsList.length) {
1521      errorInput.html('');
1522
1523      errorsList.each(function () {
1524        errorInput.append($(this).html());
1525      })
1526
1527      $(this.selectorFormCode).addClass('error');
1528
1529      setTimeout(() => {
1530        this.resetFormCode();
1531      }, 5000);
1532
1533      // show apply
1534    } else {
1535      $(this.selectorFormCode).val(this.promoCode);
1536      $(this.selectorFormCode).addClass('confirmed');
1537    }
1538  },
1539
1540  resetFormCode() {
1541    this.flagPromo = false;
1542
1543    $(this.selectorFormCode).removeClass('error');
1544    $(this.selectorFormCode).removeClass('confirmed');
1545  }
1546}
1547
1548
1549if ($(".cart").length) {
1550  setTimeout(function () {
1551    Cart.initCode();
1552    Cart.initBtnControls();
1553    Cart.initFormPromo();
1554  }, 1500);
1555}
1556
1557
1558
1559
1560/*------------------------------
1561         CHECKOUT STEPS
1562------------------------------*/
1563const checkoutSteps = {
1564  selCustomerBlock: "#customer_details",
1565  selDeliveryBlock: "#form-step-2",
1566  selPaymentBlock: "#payment",
1567
1568  steps: 3,
1569  currentStep: 1,
1570
1571  init() {
1572    this.observe();
1573  },
1574
1575  initBtnControls() {
1576    this.btnNextStep2 = $("#checkoutBtnNext");
1577    this.btnPrevStep1 = $("#checkoutBtnPrevStep1");
1578    this.btnNextStep3 = $("#checkoutBtnNextStep3");
1579    this.btnPrevStep2 = $("#checkoutBtnPrevStep2");
1580
1581    this.btnNextStep2.on('click', (e) => {
1582      e.preventDefault();
1583      console.log('go step 2');
1584     
1585
1586
1587
1588      if (this.currentStep === 1 && cartCustomerData.validate()) {
1589        this.currentStep = 2;
1590        this.initCurrentStep();
1591
1592   
1593      }
1594    })
1595
1596    this.btnPrevStep1.on('click', (e) => {
1597      console.log('back step 1');
1598      e.preventDefault();
1599
1600      if (this.currentStep === 2) {
1601        this.currentStep = 1;
1602        this.initCurrentStep();
1603      }
1604    })
1605
1606    this.btnPrevStep2.on('click', (e) => {
1607      console.log('back step 2');
1608      e.preventDefault();
1609
1610      if (this.currentStep === 3) {
1611        this.currentStep = 2;
1612        this.initCurrentStep();
1613      }
1614
1615
1616
1617     
1618
1619    })
1620
1621
1622    this.btnNextStep3.on('click', (e) => {
1623      e.preventDefault();
1624
1625      //if (this.currentStep === 2 && cartDeliveryMethod.validate()) {
1626      if (this.currentStep === 2) {
1627        console.log('go step 3');
1628
1629        // если адрес
1630        if ($("#shipping_new_country").val().length) {
1631          $('#ship-to-different-address-checkbox').prop('checked', true);
1632        }
1633
1634        // проверить адрес до двери
1635        /*if (delCard.find('#ship-to-different-address-checkbox').is(':checked')) {
1636    
1637            }*/
1638
1639
1640        /* if ($('#ship-to-different-address-checkbox').is(':checked') && cartCustomerAddress.validate()) {
1641             
1642              cartReceipt.initBtnPay();
1643    
1644              this.currentStep = 3;
1645              this.initCurrentStep();
1646            }*/
1647      }
1648    })
1649  },
1650
1651  initCurrentStep() {
1652
1653    switch (this.currentStep) {
1654      case 1:
1655        $(this.selCustomerBlock).removeClass('d-none');
1656        $(this.selDeliveryBlock).addClass('d-none atrox-desctop');
1657        $(this.selPaymentBlock).addClass('d-none');
1658        //$("#billing_country").prop("selectedIndex", 5).change();
1659        break;
1660
1661      case 2:
1662        $(this.selCustomerBlock).addClass('d-none');
1663        $(this.selDeliveryBlock).removeClass('d-none atrox-desctop');
1664        $(this.selPaymentBlock).addClass('d-none');
1665        $(".form-location").css({
1666          opacity: 1
1667        });
1668        break;
1669
1670      case 3:
1671        $(this.selCustomerBlock).addClass('d-none');
1672        $(this.selDeliveryBlock).addClass('d-none atrox-desctop');
1673        $(this.selPaymentBlock).removeClass('d-none');
1674        break;
1675    }
1676  },
1677
1678  observe() {
1679    let elemDOM = document.getElementById('order_review');
1680
1681    if (elemDOM) {
1682      let observerChange = new MutationObserver(mutationRecords => {
1683        console.log('change content');
1684        Delivery.init();
1685        checkoutSteps.initCurrentStep();
1686        checkoutSteps.initBtnControls();
1687      });
1688
1689      observerChange.observe(elemDOM, {
1690        childList: true,
1691      });
1692    }
1693
1694    //let elemDOM2 = document.querySelector('.delivery-card-list');
1695    let elemDOM2 = document.getElementById('form-step-2');
1696
1697    if (elemDOM2) {
1698      let observerChange = new MutationObserver(mutationRecords => {
1699        console.log('change content 2');
1700        
1701        //Delivery.init();
1702        //checkoutSteps.initCurrentStep();
1703        //checkoutSteps.initBtnControls();
1704      });
1705
1706      observerChange.observe(elemDOM2, {
1707        childList: true,
1708        //subtree: true
1709      });
1710    }
1711  }
1712}
1713
1714if ($(".woocommerce-checkout").length) {
1715  checkoutSteps.init();
1716}
1717
1718const cartCustomerData = {
1719  postcode: null,
1720
1721  getPostcode() {
1722    return this.postcode;
1723  },
1724
1725  validate() {
1726    this.form = $(".woocommerce-billing-fields");
1727    this.classError = 'input-error';
1728    this.error = false;
1729
1730    let _self = this;
1731
1732    // reset error
1733    this.form.find('input').focusout(function () {
1734      $(this).removeClass(_self.classError);
1735    });
1736
1737    this.form.find('input.' + this.classError).removeClass(this.classError);
1738
1739    // validate
1740    let name = $("#billing_first_name"),
1741      surname = $("#billing_last_name"),
1742      addr = $("#billing_address_1"),
1743      phone = $("#billing_phone"),
1744      email = $("#billing_email");
1745
1746    let selectorError = '.mess-error';
1747
1748    if (this.checkName(name.val())) {
1749      this.error = true;
1750      name.addClass('input-error');
1751      return false;
1752    }
1753    if (this.checkSurName(surname.val())) {
1754      this.error = true;
1755      surname.addClass('input-error');
1756      return false;
1757    }
1758   
1759
1760    if (this.checkPhone(phone.val())) {
1761      this.error = true;
1762      phone.addClass('input-error');
1763      return false;
1764
1765      // скопировать данные в поле для оплаты
1766    } else {
1767      $("#billing_phone").val(phone.val());
1768    }
1769
1770    if (this.checkEmail(email.val())) {
1771      this.error = true;
1772      email.addClass('input-error');
1773      return false;
1774      
1775
1776      // скопировать данные в поле для оплаты
1777    } 
1778    if (this.checkAddr(addr.val())) {
1779      this.error = true;
1780      addr.addClass('input-error');
1781      return false;
1782    }
1783    
1784    
1785    else {
1786      $("#billing_email").val(email.val());
1787    }
1788
1789    if (!this.error) {
1790      return true;
1791    }
1792  },
1793
1794  checkName(name) {
1795    if (name.length < 2) {
1796      return true;
1797    }
1798  },
1799
1800  checkPhone(phone) {
1801    if (phone.length !== 18) {
1802      return true;
1803    }
1804  },
1805
1806  checkEmail(email) {
1807    let regex = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/;
1808    if (!regex.test(email)) {
1809      return true;
1810    }
1811  },
1812
1813  checkCity(city) {
1814    if (city.length < 2) {
1815      return true;
1816    }
1817  },
1818
1819  checkPostcode(postcode) {
1820    let reg = /^\d+$/;
1821
1822    if (postcode.length < 2 || !reg.test(postcode)) {
1823      return true;
1824    }
1825  },
1826}
1827
1828const cartCustomerAddress = {
1829
1830  validate() {
1831    this.form = $(".form-address");
1832    this.classError = 'input-error';
1833    this.error = false;
1834    this.address = '';
1835
1836    let _self = this;
1837
1838    // reset error
1839    this.form.find('input').focusout(function () {
1840      $(this).removeClass(_self.classError);
1841    });
1842
1843    this.form.find('input.' + this.classError).removeClass(this.classError);
1844
1845    // validate
1846    /*let country = $("#shipping_county"),
1847        city = $("#shipping_city"),
1848        street = $("#shipping_address"),
1849        apart = $("#shipping_apartment");*/
1850
1851    let country = $("#shipping_new_country"),
1852      city = $("#shipping_new_city"),
1853      street = $("#billing_address_1"),
1854      apart = $("#shipping_apartment");
1855
1856    if (country.length && this.checkCountry(country.val())) {
1857      this.error = true;
1858      country.addClass('input-error');
1859      return false;
1860    }
1861
1862    if (city.length && this.checkCity(city.val())) {
1863      this.error = true;
1864      city.addClass('input-error');
1865      return false;
1866    }
1867
1868    if (street.length && this.checkStreet(street.val())) {
1869      this.error = true;
1870      street.addClass('input-error');
1871      return false;
1872    }
1873
1874    if (!this.error) {
1875
1876      // set delivery address
1877      this.address += country.val() +
1878        ', ' + city.val() +
1879        ', ' + street.val();
1880      //', ' + cartCustomerData.getPostcode();
1881
1882      if (apart.val().length > 0) {
1883        this.address += ', ' + apart.val();
1884      }
1885
1886      Delivery.setAddress(this.address);
1887
1888      return true;
1889    }
1890  },
1891
1892  checkCountry(country) {
1893    if (country.length < 2) {
1894      return true;
1895    }
1896  },
1897
1898  checkRussia(country) {
1899    if (country.length !== 6) {
1900      return true;
1901    }
1902  },
1903
1904  checkCity(city) {
1905    if (city.length < 2) {
1906      return true;
1907    }
1908  },
1909
1910  checkStreet(street) {
1911    if (street.length < 2) {
1912      return true;
1913    }
1914  },
1915
1916  checkPostcode(postcode) {
1917    if (postcode.length < 3) {
1918      return true;
1919    }
1920  },
1921
1922  getAddress() {
1923    return this.address;
1924  },
1925
1926  setAddress() {
1927    let country = $("#select2-billing_country-container"),
1928      city = $("#select2-billing_state-container");
1929
1930    if (!country.children().length) {
1931      $("#shipping_new_country").val(country.text());
1932    }
1933
1934    if (!city.children().length) {
1935      $("#shipping_new_city").val(city.text());
1936    }
1937  }
1938}
1939
1940const cartReceipt = {
1941  setTotalData() {
1942    $(".receipt__address").html(Delivery.getAddress());
1943  },
1944
1945  initBtnPay() {
1946    let btnPayOnline = $(".payment_method_yookassa_bank_card .button"),
1947      btnPayReceipt = $(".payment_method_cod .button");
1948
1949    btnPayOnline.unbind("mouseenter");
1950    btnPayReceipt.unbind("mouseenter");
1951
1952    // оплата онлайн
1953    btnPayOnline.on('mouseenter', function () {
1954      $("#payment_method_cod").prop('checked', false);
1955      $("#payment_method_yookassa_bank_card").prop('checked', true);
1956    });
1957
1958    // оплата при получении
1959    btnPayReceipt.on('mouseenter', function () {
1960      $("#payment_method_yookassa_bank_card").prop('checked', false);
1961      $("#payment_method_cod").prop('checked', true);
1962    });
1963  }
1964}
1965
1966// _delivery.js
1967
1968
1969// check input search
1970$(".button-search").on('click', function (e) {
1971  if ($(".search-blog__input input").val().length >= 3) {
1972    e.preventDefault();
1973  }
1974});
1975
1976
1977let inputPhone = document.querySelector('input[name=Phone]');
1978
1979if (inputPhone) {
1980
1981  let maskOptions = {
1982    mask: '+{7} (000) 000-00-00'
1983  };
1984
1985  let mask = IMask(inputPhone, maskOptions);
1986}
1987
1988let inputWPPhone = document.querySelector('input[name=billing_phone]');
1989
1990if (inputWPPhone) {
1991
1992  let maskOptions = {
1993    mask: '+{7} (000) 000-00-00'
1994  };
1995
1996  /* const maskOptions = [
1997    {
1998      mask: '+00 {21} 0 000 0000',
1999      startsWith: '30',
2000      lazy: false,
2001      country: 'Greece'
2002    },
2003    {
2004      mask: '+0 000 000-00-00',
2005      startsWith: '7',
2006      lazy: false,
2007      country: 'Russia'
2008    },
2009  ]; */
2010
2011  /* let mask = IMask(inputWPPhone, maskOptions); */
2012
2013
2014  var mask = IMask(inputWPPhone, {
2015    mask: [
2016      {
2017        mask: '+000 00 000-00-00',
2018        startsWith: '3',
2019      },
2020      {
2021        mask: '+0 000 000-00-00',
2022        startsWith: '7',
2023      },
2024      {
2025        mask: '+000 000 000000',
2026        startsWith: '9',
2027      },
2028      
2029      {
2030        mask: '000000000000000',
2031        startsWith: '',
2032      }
2033    ],
2034    dispatch: function (appended, dynamicMasked) {
2035      var number = (dynamicMasked.value + appended).replace(/\D/g,'');
2036
2037      return dynamicMasked.compiledMasks.find(function (m) {
2038        return number.indexOf(m.startsWith) === 0;
2039      });
2040    }
2041  }
2042)
2043
2044
2045
2046
2047
2048}
2049
2050
2051// $( ".close-link" ).click(function() {
2052 
2053//   $( ".carousel__button" ).click();
2054// });
2055
2056
2057Fancybox.bind('[data-fancybox]', {
2058  on: {
2059      done: function (fancybox) {
2060          fancybox.$container.querySelector('.close-link').addEventListener('click', () => {
2061              fancybox.close()
2062          })
2063      }
2064  }
2065})
2066
2067$('form.woocommerce-checkout').on('click', 'input.shipping_method + label', function() {
2068  $(this).siblings('input.shipping_method').trigger('click')
2069})
2070/*
2071$('.btn-desctop').click(function(){
2072  
2073   $('#checkoutBtnNext').click();
2074})*/
2075
2076
2077// Находим кнопку добавления в корзину по селектору
2078var addToCartButton = document.querySelector('.add_to_cart_button_single');
2079
2080// Проверяем, найден ли элемент
2081if (addToCartButton) {
2082    // Добавляем обработчик события click на кнопку
2083    addToCartButton.addEventListener('click', function(event) {
2084        // Получаем информацию о товаре из атрибутов кнопки
2085        var product_id = addToCartButton.getAttribute('data-product_id');
2086        var summa = addToCartButton.getAttribute('data-product_price');
2087		
2088		// Получаем значение количества товара
2089        var quantityInput = document.querySelector('.quantity input');
2090        var quantity = quantityInput.value;
2091		
2092		// Проверяем, есть ли уже товар с таким же id в корзине
2093        var existingItemIndex = items.findIndex(item => item.product_id === product_id);
2094        if (existingItemIndex !== -1) {
2095            // Если товар уже есть в корзине, обновляем его количество
2096            items[existingItemIndex].qnt += parseInt(quantity);
2097        } else {
2098            // Если товара нет в корзине, добавляем его
2099            items.push({ product_id, qnt: parseInt(quantity), price: summa });
2100			/* var newItem = { product_id: productId, qnt: parseInt(quantity), price: summa };
2101			items.push(newItem); */
2102        }
2103
2104        // Обновляем локальное хранилище
2105        localStorage.setItem('items', JSON.stringify(items));
2106        // Теперь обновим событие 'update_cart' с обновленным массивом items
2107        updateCartEvent(items);
2108		
2109    });
2110}
2111
2112	var addToCartButtonItem = document.querySelectorAll('.element-item-link .add_to_cart_button');
2113	
2114		  addToCartButtonItem.forEach(function(button) {
2115        button.addEventListener('click', function(event) {
2116			 // Получаем информацию о товаре из атрибутов кнопки
2117        var product_id = button.getAttribute('data-product_id');
2118        var summa = button.getAttribute('data-product_price');
2119        var quantity = button.getAttribute('data-quantity');
2120		
2121		// Проверяем, есть ли уже товар с таким же id в корзине
2122        var existingItemIndex = items.findIndex(item => item.product_id === product_id);
2123        if (existingItemIndex !== -1) {
2124            // Если товар уже есть в корзине, обновляем его количество
2125            items[existingItemIndex].qnt += parseInt(quantity);
2126        } else {
2127            // Если товара нет в корзине, добавляем его
2128            items.push({ product_id, qnt: parseInt(quantity), price: summa });
2129			/* var newItem = { product_id: productId, qnt: parseInt(quantity), price: summa };
2130			items.push(newItem); */
2131        }
2132
2133        // Обновляем локальное хранилище
2134        localStorage.setItem('items', JSON.stringify(items));
2135        // Теперь обновим событие 'update_cart' с обновленным массивом items
2136        updateCartEvent(items);
2137
2138        });
2139    });   
2140	
2141
2142  
2143// Получаем массив items из локального хранилища
2144var items = JSON.parse(localStorage.getItem('items')) || [];
2145
2146function updateCart(productId, quantity, summa) {
2147    var newItem = { product_id: productId, qnt: quantity, price: summa };
2148    items.push(newItem);
2149    // Сохраняем обновленный массив items в локальном хранилище
2150    localStorage.setItem('items', JSON.stringify(items));
2151    // Теперь обновим событие 'update_cart' с обновленным массивом items
2152    updateCartEvent(items);
2153	console.log(items);
2154}
2155
2156
2157function removeFromCart(productId) {
2158    // Удаляем товар из массива items
2159    items = items.filter(item => item.product_id !== productId);
2160    // Обновляем локальное хранилище
2161    localStorage.setItem('items', JSON.stringify(items));
2162    // Теперь обновим событие 'update_cart' с обновленным массивом items
2163    updateCartEvent(items);
2164}
2165
2166function AddFromCartPlus(productId) {
2167  var existingItem = items.find(item => item.product_id === productId);
2168  
2169  if (existingItem) {
2170    existingItem.qnt++; // увеличиваем количество на 1
2171  } 
2172  
2173  // Обновляем локальное хранилище
2174  localStorage.setItem('items', JSON.stringify(items));
2175  // Теперь обновим событие 'update_cart' с обновленным массивом items
2176  updateCartEvent(items);
2177}
2178
2179
2180function removeFromCartMin(productId) {
2181	var existingItemm = items.find(item => item.product_id === productId);
2182	
2183	if (existingItemm) {
2184    existingItemm.qnt -= 1; // вычитаем количество
2185
2186    if (existingItemm.qnt <= 0) {
2187      // Если количество стало меньше или равно нулю, удаляем товар из массива
2188      items = items.filter(item => item.product_id !== productId);
2189    }
2190  } 
2191    // Обновляем локальное хранилище
2192    localStorage.setItem('items', JSON.stringify(items));
2193    // Теперь обновим событие 'update_cart' с обновленным массивом items
2194    updateCartEvent(items);
2195}
2196
2197function updateCartEvent(items) {
2198    convead('event', 'update_cart', { items: items });
2199}
2200
2201 
2202  $(document).on('change','.quantity .qty',function(){
2203          $(this).closest('.product').find('.ajax_add_to_cart').attr('data-quantity',$(this).val());
2204       });

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.