{"version":3,"sources":["webpack://[name]/./src/js/components/ListingComponent.js","webpack://[name]/./src/js/utilities/Spring.js"],"names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","catch","delegateYield","_callSuper","_getPrototypeOf","_possibleConstructorReturn","Boolean","valueOf","Reflect","construct","_isNativeReflectConstruct","apply","ListingComponent","_BaseComponent","element","_this2","_classCallCheck","_defineProperty","_ref","removeMarkers","$el","query","URLSearchParams","FormData","form","toString","querySelectorAll","el","removeEventListener","applyFilter","addEventListener","toggleFavourite","resetBtn","querySelector","boundResetFilters","preventDefault","resetFilters","brand","text","innerHTML","replace","code","link","FAVOURITES","indexOf","country","logo","url","styleTexts","join","location","hasSustainableProducts","target","heroImage","style","_ref2","_asyncToGenerator","_callee","event","currentTarget","label","page","_context","id","previousElementSibling","classList","remove","checked","add","closest","fetch","concat","PATHNAME","credentials","headers","Accept","response","status","div","document","createElement","nameValues","item","sidebar2","accordion","found","initElement","scrollIntoView","pages","createPages","matches","appendPage","_x","arguments","loggedInPromise","card","icon","dataset","contains","json","success","className","tracking","vexInstance","contentEl","action","before","appendChild","setTimeout","initSearch","active","sidebar1","brandTitles","main","$options","lastpage","initMain","click","GRAB","CUSTOM_MESSAGES","MODAL_EVENTS","afterOpen","onModal","SWITCH_BUTTON_EVENTS","toggle","onToggle","USER_EVENTS","loggedIn","onLoggedIn","allResults","window","_inherits","_createClass","key","get","this","pathname","JSON","parse","favourites","_this3","hidden","_initSearch","_callee2","button","keyup","suggestions","_click","titles","_this4","_context2","search","visible","offsetParent","disabled","inited","toUpperCase","nextElementSibling","events","previous","changed","galabel","display","filter","title","after","map","_initMain","_callee3","scroll","_this5","_context3","pageYOffset","innerHeight","offsetTop","clientHeight","html","insertAdjacentHTML","initTracking","number","_this","_wrapAsyncGenerator","_callee4","_context4","_awaitAsyncGenerator","data","last","_this6","start","pageSize","end","results","encodeURIComponent","brands","err","input","BaseComponent","module","exports","onInputs","Array","startsWith"],"mappings":"kgBACAA,EAAA,kBAAAC,GAAA,IAAAC,EAAAD,EAAA,GAAAE,EAAAC,OAAAC,UAAAC,EAAAH,EAAAI,eAAAC,EAAAJ,OAAAK,gBAAA,SAAAP,EAAAD,EAAAE,GAAAD,EAAAD,GAAAE,EAAAO,OAAAC,EAAA,mBAAAC,cAAA,GAAAC,EAAAF,EAAAG,UAAA,aAAAC,EAAAJ,EAAAK,eAAA,kBAAAC,EAAAN,EAAAO,aAAA,yBAAAC,EAAAjB,EAAAD,EAAAE,GAAA,OAAAC,OAAAK,eAAAP,EAAAD,EAAA,CAAAS,MAAAP,EAAAiB,YAAA,EAAAC,cAAA,EAAAC,UAAA,IAAApB,EAAAD,GAAA,IAAAkB,EAAA,aAAAjB,GAAAiB,EAAA,SAAAjB,EAAAD,EAAAE,GAAA,OAAAD,EAAAD,GAAAE,GAAA,SAAAoB,EAAArB,EAAAD,EAAAE,EAAAG,GAAA,IAAAK,EAAAV,KAAAI,qBAAAmB,EAAAvB,EAAAuB,EAAAX,EAAAT,OAAAqB,OAAAd,EAAAN,WAAAU,EAAA,IAAAW,EAAApB,GAAA,WAAAE,EAAAK,EAAA,WAAAH,MAAAiB,EAAAzB,EAAAC,EAAAY,KAAAF,EAAA,SAAAe,EAAA1B,EAAAD,EAAAE,GAAA,WAAA0B,KAAA,SAAAC,IAAA5B,EAAA6B,KAAA9B,EAAAE,IAAA,MAAAD,GAAA,OAAA2B,KAAA,QAAAC,IAAA5B,IAAAD,EAAAsB,OAAA,IAAAS,EAAA,iBAAAC,EAAA,YAAAC,EAAA,YAAAC,EAAA,YAAAX,KAAA,SAAAY,KAAA,SAAAC,KAAA,IAAAC,EAAA,GAAAnB,EAAAmB,EAAAzB,GAAA,8BAAA0B,EAAAnC,OAAAoC,eAAAC,EAAAF,OAAAG,EAAA,MAAAD,OAAAtC,GAAAG,EAAAyB,KAAAU,EAAA5B,KAAAyB,EAAAG,GAAA,IAAAE,EAAAN,EAAAhC,UAAAmB,EAAAnB,UAAAD,OAAAqB,OAAAa,GAAA,SAAAM,EAAA1C,GAAA,0BAAA2C,SAAA,SAAA5C,GAAAkB,EAAAjB,EAAAD,GAAA,SAAAC,GAAA,YAAA4C,QAAA7C,EAAAC,SAAA,SAAA6C,EAAA7C,EAAAD,GAAA,SAAA+C,EAAA7C,EAAAK,EAAAG,EAAAE,GAAA,IAAAE,EAAAa,EAAA1B,EAAAC,GAAAD,EAAAM,GAAA,aAAAO,EAAAc,KAAA,KAAAZ,EAAAF,EAAAe,IAAAE,EAAAf,EAAAP,MAAA,OAAAsB,GAAA,UAAAiB,IAAAjB,IAAA1B,EAAAyB,KAAAC,EAAA,WAAA/B,EAAAiD,QAAAlB,EAAAmB,SAAAC,MAAA,SAAAlD,GAAA8C,EAAA,OAAA9C,EAAAS,EAAAE,MAAA,SAAAX,GAAA8C,EAAA,QAAA9C,EAAAS,EAAAE,MAAAZ,EAAAiD,QAAAlB,GAAAoB,MAAA,SAAAlD,GAAAe,EAAAP,MAAAR,EAAAS,EAAAM,MAAA,SAAAf,GAAA,OAAA8C,EAAA,QAAA9C,EAAAS,EAAAE,QAAAE,EAAAe,KAAA,IAAA3B,EAAAK,EAAA,gBAAAE,MAAA,SAAAR,EAAAI,GAAA,SAAA+C,IAAA,WAAApD,GAAA,SAAAA,EAAAE,GAAA6C,EAAA9C,EAAAI,EAAAL,EAAAE,MAAA,OAAAA,MAAAiD,KAAAC,YAAA,SAAA1B,EAAA1B,EAAAE,EAAAG,GAAA,IAAAE,EAAAwB,EAAA,gBAAArB,EAAAE,GAAA,GAAAL,IAAAyB,EAAA,MAAAqB,MAAA,mCAAA9C,IAAA0B,EAAA,cAAAvB,EAAA,MAAAE,EAAA,OAAAH,MAAAR,EAAAqD,MAAA,OAAAjD,EAAAkD,OAAA7C,EAAAL,EAAAwB,IAAAjB,IAAA,KAAAE,EAAAT,EAAAmD,SAAA,GAAA1C,EAAA,KAAAE,EAAAyC,EAAA3C,EAAAT,GAAA,GAAAW,EAAA,IAAAA,IAAAkB,EAAA,gBAAAlB,GAAA,YAAAX,EAAAkD,OAAAlD,EAAAqD,KAAArD,EAAAsD,MAAAtD,EAAAwB,SAAA,aAAAxB,EAAAkD,OAAA,IAAAhD,IAAAwB,EAAA,MAAAxB,EAAA0B,EAAA5B,EAAAwB,IAAAxB,EAAAuD,kBAAAvD,EAAAwB,SAAA,WAAAxB,EAAAkD,QAAAlD,EAAAwD,OAAA,SAAAxD,EAAAwB,KAAAtB,EAAAyB,EAAA,IAAAK,EAAAV,EAAA3B,EAAAE,EAAAG,GAAA,cAAAgC,EAAAT,KAAA,IAAArB,EAAAF,EAAAiD,KAAArB,EAAA,iBAAAI,EAAAR,MAAAK,EAAA,gBAAAzB,MAAA4B,EAAAR,IAAAyB,KAAAjD,EAAAiD,MAAA,UAAAjB,EAAAT,OAAArB,EAAA0B,EAAA5B,EAAAkD,OAAA,QAAAlD,EAAAwB,IAAAQ,EAAAR,OAAA,SAAA4B,EAAAzD,EAAAE,GAAA,IAAAG,EAAAH,EAAAqD,OAAAhD,EAAAP,EAAAa,SAAAR,GAAA,GAAAE,IAAAN,EAAA,OAAAC,EAAAsD,SAAA,eAAAnD,GAAAL,EAAAa,SAAAiD,SAAA5D,EAAAqD,OAAA,SAAArD,EAAA2B,IAAA5B,EAAAwD,EAAAzD,EAAAE,GAAA,UAAAA,EAAAqD,SAAA,WAAAlD,IAAAH,EAAAqD,OAAA,QAAArD,EAAA2B,IAAA,IAAAkC,UAAA,oCAAA1D,EAAA,aAAA6B,EAAA,IAAAxB,EAAAiB,EAAApB,EAAAP,EAAAa,SAAAX,EAAA2B,KAAA,aAAAnB,EAAAkB,KAAA,OAAA1B,EAAAqD,OAAA,QAAArD,EAAA2B,IAAAnB,EAAAmB,IAAA3B,EAAAsD,SAAA,KAAAtB,EAAA,IAAAtB,EAAAF,EAAAmB,IAAA,OAAAjB,IAAA0C,MAAApD,EAAAF,EAAAgE,YAAApD,EAAAH,MAAAP,EAAA+D,KAAAjE,EAAAkE,QAAA,WAAAhE,EAAAqD,SAAArD,EAAAqD,OAAA,OAAArD,EAAA2B,IAAA5B,GAAAC,EAAAsD,SAAA,KAAAtB,GAAAtB,GAAAV,EAAAqD,OAAA,QAAArD,EAAA2B,IAAA,IAAAkC,UAAA,oCAAA7D,EAAAsD,SAAA,KAAAtB,GAAA,SAAAiC,EAAAlE,GAAA,IAAAD,EAAA,CAAAoE,OAAAnE,EAAA,SAAAA,IAAAD,EAAAqE,SAAApE,EAAA,SAAAA,IAAAD,EAAAsE,WAAArE,EAAA,GAAAD,EAAAuE,SAAAtE,EAAA,SAAAuE,WAAAC,KAAAzE,GAAA,SAAA0E,EAAAzE,GAAA,IAAAD,EAAAC,EAAA0E,YAAA,GAAA3E,EAAA4B,KAAA,gBAAA5B,EAAA6B,IAAA5B,EAAA0E,WAAA3E,EAAA,SAAAyB,EAAAxB,GAAA,KAAAuE,WAAA,EAAAJ,OAAA,SAAAnE,EAAA2C,QAAAuB,EAAA,WAAAS,OAAA,YAAAnC,EAAAzC,GAAA,GAAAA,GAAA,KAAAA,EAAA,KAAAE,EAAAF,EAAAY,GAAA,GAAAV,EAAA,OAAAA,EAAA4B,KAAA9B,GAAA,sBAAAA,EAAAiE,KAAA,OAAAjE,EAAA,IAAA6E,MAAA7E,EAAA8E,QAAA,KAAAvE,GAAA,EAAAG,EAAA,SAAAuD,IAAA,OAAA1D,EAAAP,EAAA8E,QAAA,GAAAzE,EAAAyB,KAAA9B,EAAAO,GAAA,OAAA0D,EAAAxD,MAAAT,EAAAO,GAAA0D,EAAAX,MAAA,EAAAW,EAAA,OAAAA,EAAAxD,MAAAR,EAAAgE,EAAAX,MAAA,EAAAW,GAAA,OAAAvD,EAAAuD,KAAAvD,GAAA,UAAAqD,UAAAf,IAAAhD,GAAA,2BAAAmC,EAAA/B,UAAAgC,EAAA7B,EAAAmC,EAAA,eAAAjC,MAAA2B,EAAAhB,cAAA,IAAAb,EAAA6B,EAAA,eAAA3B,MAAA0B,EAAAf,cAAA,IAAAe,EAAA4C,YAAA7D,EAAAkB,EAAApB,EAAA,qBAAAhB,EAAAgF,oBAAA,SAAA/E,GAAA,IAAAD,EAAA,mBAAAC,KAAAgF,YAAA,QAAAjF,QAAAmC,GAAA,uBAAAnC,EAAA+E,aAAA/E,EAAAkF,QAAAlF,EAAAmF,KAAA,SAAAlF,GAAA,OAAAE,OAAAiF,eAAAjF,OAAAiF,eAAAnF,EAAAmC,IAAAnC,EAAAoF,UAAAjD,EAAAlB,EAAAjB,EAAAe,EAAA,sBAAAf,EAAAG,UAAAD,OAAAqB,OAAAkB,GAAAzC,GAAAD,EAAAsF,MAAA,SAAArF,GAAA,OAAAiD,QAAAjD,IAAA0C,EAAAG,EAAA1C,WAAAc,EAAA4B,EAAA1C,UAAAU,GAAA,0BAAAd,EAAA8C,gBAAA9C,EAAAuF,MAAA,SAAAtF,EAAAC,EAAAG,EAAAE,EAAAG,QAAA,IAAAA,MAAA8E,SAAA,IAAA5E,EAAA,IAAAkC,EAAAxB,EAAArB,EAAAC,EAAAG,EAAAE,GAAAG,GAAA,OAAAV,EAAAgF,oBAAA9E,GAAAU,IAAAqD,OAAAd,MAAA,SAAAlD,GAAA,OAAAA,EAAAqD,KAAArD,EAAAQ,MAAAG,EAAAqD,WAAAtB,EAAAD,GAAAxB,EAAAwB,EAAA1B,EAAA,aAAAE,EAAAwB,EAAA9B,GAAA,0BAAAM,EAAAwB,EAAA,qDAAA1C,EAAAyF,KAAA,SAAAxF,GAAA,IAAAD,EAAAG,OAAAF,GAAAC,EAAA,WAAAG,KAAAL,EAAAE,EAAAuE,KAAApE,GAAA,OAAAH,EAAAwF,UAAA,SAAAzB,IAAA,KAAA/D,EAAA4E,QAAA,KAAA7E,EAAAC,EAAAyF,MAAA,GAAA1F,KAAAD,EAAA,OAAAiE,EAAAxD,MAAAR,EAAAgE,EAAAX,MAAA,EAAAW,EAAA,OAAAA,EAAAX,MAAA,EAAAW,IAAAjE,EAAAyC,SAAAhB,EAAArB,UAAA,CAAA6E,YAAAxD,EAAAmD,MAAA,SAAA5E,GAAA,QAAA4F,KAAA,OAAA3B,KAAA,OAAAP,KAAA,KAAAC,MAAA1D,EAAA,KAAAqD,MAAA,OAAAE,SAAA,UAAAD,OAAA,YAAA1B,IAAA5B,EAAA,KAAAuE,WAAA5B,QAAA8B,IAAA1E,EAAA,QAAAE,KAAA,WAAAA,EAAA2F,OAAA,IAAAxF,EAAAyB,KAAA,KAAA5B,KAAA2E,OAAA3E,EAAA4F,MAAA,WAAA5F,GAAAD,IAAA8F,KAAA,gBAAAzC,MAAA,MAAArD,EAAA,KAAAuE,WAAA,GAAAG,WAAA,aAAA1E,EAAA2B,KAAA,MAAA3B,EAAA4B,IAAA,YAAAmE,MAAApC,kBAAA,SAAA5D,GAAA,QAAAsD,KAAA,MAAAtD,EAAA,IAAAE,EAAA,cAAA+F,EAAA5F,EAAAE,GAAA,OAAAK,EAAAgB,KAAA,QAAAhB,EAAAiB,IAAA7B,EAAAE,EAAA+D,KAAA5D,EAAAE,IAAAL,EAAAqD,OAAA,OAAArD,EAAA2B,IAAA5B,KAAAM,EAAA,QAAAA,EAAA,KAAAiE,WAAAM,OAAA,EAAAvE,GAAA,IAAAA,EAAA,KAAAG,EAAA,KAAA8D,WAAAjE,GAAAK,EAAAF,EAAAiE,WAAA,YAAAjE,EAAA0D,OAAA,OAAA6B,EAAA,UAAAvF,EAAA0D,QAAA,KAAAwB,KAAA,KAAA9E,EAAAT,EAAAyB,KAAApB,EAAA,YAAAM,EAAAX,EAAAyB,KAAApB,EAAA,iBAAAI,GAAAE,EAAA,SAAA4E,KAAAlF,EAAA2D,SAAA,OAAA4B,EAAAvF,EAAA2D,UAAA,WAAAuB,KAAAlF,EAAA4D,WAAA,OAAA2B,EAAAvF,EAAA4D,iBAAA,GAAAxD,GAAA,QAAA8E,KAAAlF,EAAA2D,SAAA,OAAA4B,EAAAvF,EAAA2D,UAAA,YAAArD,EAAA,MAAAqC,MAAA,kDAAAuC,KAAAlF,EAAA4D,WAAA,OAAA2B,EAAAvF,EAAA4D,gBAAAT,OAAA,SAAA5D,EAAAD,GAAA,QAAAE,EAAA,KAAAsE,WAAAM,OAAA,EAAA5E,GAAA,IAAAA,EAAA,KAAAK,EAAA,KAAAiE,WAAAtE,GAAA,GAAAK,EAAA6D,QAAA,KAAAwB,MAAAvF,EAAAyB,KAAAvB,EAAA,oBAAAqF,KAAArF,EAAA+D,WAAA,KAAA5D,EAAAH,EAAA,OAAAG,IAAA,UAAAT,GAAA,aAAAA,IAAAS,EAAA0D,QAAApE,MAAAU,EAAA4D,aAAA5D,EAAA,UAAAE,EAAAF,IAAAiE,WAAA,UAAA/D,EAAAgB,KAAA3B,EAAAW,EAAAiB,IAAA7B,EAAAU,GAAA,KAAA6C,OAAA,YAAAU,KAAAvD,EAAA4D,WAAApC,GAAA,KAAAgE,SAAAtF,IAAAsF,SAAA,SAAAjG,EAAAD,GAAA,aAAAC,EAAA2B,KAAA,MAAA3B,EAAA4B,IAAA,gBAAA5B,EAAA2B,MAAA,aAAA3B,EAAA2B,KAAA,KAAAqC,KAAAhE,EAAA4B,IAAA,WAAA5B,EAAA2B,MAAA,KAAAoE,KAAA,KAAAnE,IAAA5B,EAAA4B,IAAA,KAAA0B,OAAA,cAAAU,KAAA,kBAAAhE,EAAA2B,MAAA5B,IAAA,KAAAiE,KAAAjE,GAAAkC,GAAAiE,OAAA,SAAAlG,GAAA,QAAAD,EAAA,KAAAwE,WAAAM,OAAA,EAAA9E,GAAA,IAAAA,EAAA,KAAAE,EAAA,KAAAsE,WAAAxE,GAAA,GAAAE,EAAAoE,aAAArE,EAAA,YAAAiG,SAAAhG,EAAAyE,WAAAzE,EAAAqE,UAAAG,EAAAxE,GAAAgC,IAAAkE,MAAA,SAAAnG,GAAA,QAAAD,EAAA,KAAAwE,WAAAM,OAAA,EAAA9E,GAAA,IAAAA,EAAA,KAAAE,EAAA,KAAAsE,WAAAxE,GAAA,GAAAE,EAAAkE,SAAAnE,EAAA,KAAAI,EAAAH,EAAAyE,WAAA,aAAAtE,EAAAuB,KAAA,KAAArB,EAAAF,EAAAwB,IAAA6C,EAAAxE,GAAA,OAAAK,GAAA,MAAA8C,MAAA,0BAAAgD,cAAA,SAAArG,EAAAE,EAAAG,GAAA,YAAAmD,SAAA,CAAA3C,SAAA4B,EAAAzC,GAAAgE,WAAA9D,EAAAgE,QAAA7D,GAAA,cAAAkD,SAAA,KAAA1B,IAAA5B,GAAAiC,IAAAlC,EAAA,SAAAsG,EAAArG,EAAAM,EAAAP,GAAA,OAAAO,EAAAgG,IAAAhG,GAAAiG,IAAAvG,EAAA,mBAAAA,GAAAwG,QAAArG,UAAAsG,QAAA5E,KAAA6E,QAAAC,UAAAH,QAAA,0BAAAxG,IAAA,0BAAAA,EAAA,GAAA4G,GAAAF,QAAAC,UAAArG,EAAAP,GAAA,GAAAuG,IAAAtG,GAAAgF,aAAA1E,EAAAuG,MAAA7G,EAAAD,IACiD,IAE5B+G,EAAgB,SAAAC,GAEnC,SAAAD,EAAYE,GAAS,IAAAC,EA6BgC,OA7BhCC,IAAA,KAAAJ,GACnBG,EAAAZ,EAAA,KAAAS,EAAA,CAAME,IAENG,IAAAF,EAAA,eAyDY,SAAAD,GAAW,IAAAI,EACvBC,wBAAeL,GAAWC,EAAKK,KAC/BL,EAAKM,MAAQ,IAAIC,gBAAgB,IAAIC,SAASR,EAAKS,OAAOC,YAGzDX,GAAWC,EAAKK,KAAKM,iBAAiB,uBAAuBjF,SAAQ,SAAAkF,GACpEA,EAAGC,oBAAoB,QAASb,EAAKc,aACrCF,EAAGG,iBAAiB,QAASf,EAAKc,iBAGnCf,GAAWC,EAAKK,KAAKM,iBAAiB,4BAA4BjF,SAAQ,SAAAkF,GACzEA,EAAGC,oBAAoB,QAASb,EAAKgB,iBACrCJ,EAAGG,iBAAiB,QAASf,EAAKgB,oBAGpC,IAAMC,EAA+B,QAAvBd,EAAIJ,GAAWC,EAAKK,WAAG,IAAAF,OAAA,EAApBA,EAAuBe,cAAc,+BAClDD,IACFA,EAASJ,oBAAoB,QAASb,EAAKmB,mBAC3CnB,EAAKmB,kBAAoB,SAACrI,GACxBA,EAAEsI,iBACFpB,EAAKqB,aAAatB,GAAWC,EAAKK,MAEpCY,EAASF,iBAAiB,QAASf,EAAKmB,uBAE3CjB,IAAAF,EAAA,QA0KM,SAAAsB,GACL,IAAIC,EAAOD,GAAStB,EAAKK,IAAIa,cAAc,0BAA0BM,UAClEC,QAAQ,YAAaH,EAAMI,MAC3BD,QAAQ,aAAcH,EAAMK,MAAQL,EAAMK,KAAKJ,MA0BlD,OAxBIvB,EAAK4B,WAAWC,QAAQP,EAAMI,OAAS,IACzCH,EAAOA,EACJE,QAAQ,kCAAmC,sCAC3CA,QAAQ,gCAAiC,qCAG9CF,EAAOA,EAAKE,QAAQ,eAAgBH,EAAMQ,SAAW,IAClDL,QAAQ,eAAgBH,EAAMS,MAAQT,EAAMS,KAAKC,KACjDP,QAAQ,eAAgBH,EAAMW,YAAc,IAAIC,KAAK,OACrDT,QAAQ,gBAAiBH,EAAMa,UAAY,IAC3CV,QAAQ,8BAA+BH,EAAMc,uBAAyB,GAAK,QAI5Eb,EAFED,EAAMK,MAAQL,EAAMK,KAAKK,KAC3BT,EAAOA,EAAKE,QAAQ,YAAaH,EAAMK,KAAKK,MAChCP,QAAQ,cAAeH,EAAMK,KAAKU,QAEvCd,EAAKE,QAAQ,4CAA6C,kBAG/DH,EAAMgB,YAERf,GADAA,EAAOA,EAAKE,QAAQ,iBAAkBH,EAAMgB,UAAUN,MAC1CP,QAAQ,mBAAoBH,EAAMgB,UAAUC,QAGnDhB,KACRrB,IAAAF,EAAA,6BAAAwC,EAAAC,IAAA5J,IAAAoF,MAEa,SAAAyE,EAAMC,GAAK,IAAAC,EAAAC,EAAApC,EAAAqC,EAAA,OAAAjK,IAAAuB,MAAA,SAAA2I,GAAA,cAAAA,EAAArE,KAAAqE,EAAAhG,MAAA,OAqFvB,OApFM6F,EAAgBD,GAASA,EAAMC,gBAGK,cAArBA,EAAcI,MAC3BH,EAAQD,EAAcK,wBACtBC,UAAUC,OAAO,aAAeP,EAAcQ,QAAU,GAAK,QACnEP,EAAMK,UAAUG,IAAI,aAAeT,EAAcQ,QAAU,MAAQ,MAK/D3C,EAAOmC,EAAgBA,EAAcU,QAAQ,QAAUtD,EAAKS,KAClET,EAAKM,MAAQ,IAAIC,gBAAgB,IAAIC,SAASC,IAAOC,WAAWe,QAAQ,YAAa,KAErF8B,MAAM,GAADC,OAAIxD,EAAKyD,SAAQ,kBAAAD,OAAiBxD,EAAKM,OAAS,CACnDoD,YAAa,cACbrH,OAAQ,MACRsH,QAAS,CACPC,OAAQ,eAGT3H,MAAK,SAAA4H,GACJ,GAAwB,MAApBA,EAASC,OACX,OAAOD,EAAStC,OAEhB,MAAM,IAAIpF,MAAM,uBAGnBF,MAAK,SAAAsF,GACJ,IAAMwC,EAAMC,SAASC,cAAc,OACnCF,EAAIvC,UAAYD,EAEhB,IAAM2C,EAAa,GACnBH,EAAIpD,iBAAiB,uBAAuBjF,SAAQ,SAAAyI,GAClD,IAAI5I,EAAS2I,EAAWC,EAAKnG,MACxBzC,IACHA,EAAS,GACT2I,EAAWC,EAAKnG,MAAQzC,GAE1BA,EAAO4I,EAAK5K,QAAS,KAGvByG,EAAKoE,SAASzD,iBAAiB,qBAAqBjF,SAAQ,SAAA2I,GAC1DA,EAAU1D,iBAAiB,uBAAuBjF,SAAQ,SAAAyI,GACxD,IAAM5I,EAAS2I,EAAWC,EAAKnG,MACzBsG,EAAQ/I,GAAUA,EAAO4I,EAAK5K,OAEzB4K,EAAKb,QAAQ,MACrBJ,UAAUoB,EAAQ,SAAW,OAAO,OAAQ,2BA0BnDtE,EAAKuE,iBAMTvE,EAAKK,IAAImE,iBAETxE,EAAKyE,MAAQzE,EAAK0E,YAAY,GAE9B3B,EAAAhG,KAAA,EACiBiD,EAAKyE,MAAM1H,OAAM,OAA9B+F,EAAIC,EAAAvG,KAIJoG,GAAiBA,EAAc+B,QAAQ,uBACzC/B,EAAcQ,SAAU,GAG1BpD,EAAK4E,WAAW9B,GAAM,GAAM,yBAAAC,EAAAlE,UAAA6D,OAC7B,gBAAAmC,GAAA,OAAArC,EAAA5C,MAAA,KAAAkF,YAjGA,IAiGA5E,IAAAF,EAAA,mBAUiB,SAAA2C,GAChBA,EAAMvB,iBACN,IAAMwB,EAAgBD,EAAMC,cAE5BmC,4BAAkB9I,MAAK,SAAA4H,GAGrB,GAAKA,EAAL,CAIA,IAAMmB,EAAOpC,EAAcU,QAAQ,aAC7B2B,EAAOD,EAAK9D,cAAc,kBAC1BI,EAAQ0D,EAAKE,QAAQ5D,MACrB6B,EAAS8B,EAAK/B,UAAUiC,SAAS,gBACvC5B,MAAM,GAADC,OAAIxD,EAAKyD,SAAQ,0BAAAD,OAAyBlC,EAAK,YAAAkC,OAAWL,GAAU,CACvEO,YAAa,cACbrH,OAAQ,OACRsH,QAAS,CACPC,OAAQ,sBAGT3H,MAAK,SAAA4H,GACJ,GAAwB,MAApBA,EAASC,OAGX,OADgBD,EAASuB,OAGzB,MAAM,IAAIjJ,MAAM,uBAGnBF,MAAK,SAAAoJ,GACCA,IAILJ,EAAKK,UAAYL,EAAKK,UAAU7D,QAAQ,kBAAmB,YAAF+B,OAAcL,EAAS,GAAK,QAEjFP,EAAcsC,QAAQK,WACxB3C,EAAcsC,QAAQK,SAAW3C,EAAcsC,QAAQK,SACpD9D,QAAQ,kBAAmB0B,EAAS,MAAQ,sBAIxDjD,IAAAF,EAAA,WAES,SAAA2C,GACR,IAAM5C,EAAU4C,EAAM6C,YAAYC,UAGlC,GAFkB1F,EAAQmD,UAEXiC,SAAS,yBAAxB,CAIA,IAAM1E,EAAOuD,SAASC,cAAc,QACpCxD,EAAKiF,OAAS1F,EAAKS,KAAKiF,OACxB3F,EAAQ4F,OAAOlF,GACfA,EAAKmF,YAAY7F,GAEjBC,EAAKuE,YAAYxE,GAGjB8F,YAAW,kBAAM7F,EAAK8F,eAAc,SACrC5F,IAAAF,EAAA,YAEU,SAAA2C,GAET3C,EAAKc,cACLd,EAAKK,IAAIa,cAAc,iBAAiBgC,UAAUP,EAAMoD,OAAS,MAAQ,UAAU,yBACpF7F,IAAAF,EAAA,cAEY,WAEXuD,MAAM,GAADC,OAAIxD,EAAKyD,SAAQ,oBAAoB,CACxCC,YAAa,cACbrH,OAAQ,MACRsH,QAAS,CACPC,OAAQ,sBAGT3H,MAAK,SAAA4H,GACJ,GAAwB,MAApBA,EAASC,OACX,OAAOD,EAASuB,OAEhB,MAAM,IAAIjJ,MAAM,uBAGnBF,MAAK,SAAAmJ,GACJA,EAAK1J,SAAQ,SAAAyI,GACX,IAAIa,EAAOhF,EAAKK,IAAIa,cAAc,yBAADsC,OAA0BW,EAAI,OAC/D,GAAKa,EAAL,CAGA,IAAMC,EAAOD,EAAK9D,cAAc,kBAChC+D,EAAKK,UAAYL,EAAKK,UAAU7D,QAAQ,kBAAmB,0BAhejEzB,EAAKS,KAAOT,EAAKK,IAAIa,cAAc,QACnClB,EAAKgG,SAAWhG,EAAKK,IAAIa,cAAc,8BACvClB,EAAKoE,SAAWpE,EAAKK,IAAIa,cAAc,+BAEvClB,EAAKiG,cACLjG,EAAK8F,aACL9F,EAAKuE,cAELvE,EAAKkG,KAAOlG,EAAKK,IAAIa,cAAc,8BAC9BlB,EAAKmG,SAASC,UACjBpG,EAAKqG,WAGPrG,EAAKK,IAAIM,iBAAiB,eAAejF,SAAQ,SAAAkF,GAC/CA,EAAGG,iBAAiB,SAAS,SAAA4B,GAC3BA,EAAMvB,iBACNuB,EAAMC,cAAc1B,cAAc,uBAAuBoF,cAI7DtG,EAAKuG,KAAKvG,EAAKwG,gBAAgBC,aAAaC,UAAW1G,EAAK2G,SAC5D3G,EAAKuG,KAAKvG,EAAKwG,gBAAgBI,qBAAqBC,OAAQ7G,EAAK8G,UACjE9G,EAAKuG,KAAKvG,EAAKwG,gBAAgBO,YAAYC,SAAUhH,EAAKiH,YAE1DjH,EAAKkH,WAAaC,OAAOnH,EAAKmG,SAASe,YAAYlH,EACpD,OAAAoH,IAAAvH,EAAAC,GAAAuH,IAAAxH,EAAA,EAAAyH,IAAA,WAAAC,IAED,WACE,OAAOC,KAAKrB,SAASsB,UAAYtF,SAASsF,WAC3C,CAAAH,IAAA,aAAAC,IAED,WACE,OAAOG,KAAKC,MAAMH,KAAKrB,SAASyB,aAAe,KAChD,CAAAN,IAAA,cAAA/N,MAED,WAAc,IAAAsO,EAAA,KACNC,EAASN,KAAKnH,IAAIa,cAAc,yCACtCqC,MAAM,GAADC,OAAIgE,KAAK/D,SAAQ,8BAAAD,OAA8BsE,GAAUA,EAAOvO,OAAU,IAAM,CACnFmK,YAAa,cACbrH,OAAQ,MACRsH,QAAS,CACPC,OAAQ,sBAET3H,MAAK,SAAA4H,GACN,GAAwB,MAApBA,EAASC,OACX,OAAOD,EAASuB,OAEhB,MAAM,IAAIjJ,MAAM,uBAEjBF,MAAK,SAAAmJ,GAENyC,EAAK5B,YAAcb,OAEtB,CAAAkC,IAAA,aAAA/N,OAAAwO,EAAAtF,IAAA5J,IAAAoF,MA4BD,SAAA+J,IAAA,IAAAzO,EAAA0O,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA,YAAAzP,IAAAuB,MAAA,SAAAmO,GAAA,cAAAA,EAAA7J,KAAA6J,EAAAxL,MAAA,OAYK,GAVHyK,KAAKgB,OAAS,KAGdxE,SAASrD,iBAAiB,sBAAsBjF,SAAQ,SAAAkF,GACtD,IAAM6H,EAA+B,OAApB7H,EAAG8H,aAEhBD,IACFH,EAAKE,OAAS5H,GAEhBA,EAAG+H,UAAYF,KAGZjB,KAAKgB,aAAiD,IAA/BhB,KAAKgB,OAAOtD,QAAQ0D,OAAuB,CAAAL,EAAAxL,KAAA,eAAAwL,EAAA5L,OAAA,iBAIvE6K,KAAKgB,OAAOtD,QAAQ0D,OAAS,GAEzBrP,EAAQiO,KAAKgB,OAAOjP,MAAMsP,cAExBZ,EAAST,KAAKgB,OAAOM,mBAErBZ,EAAQV,KAAKuB,OAAOvB,KAAKgB,OAAQ,SAAS,WAE9C,IAAMQ,EAAWzP,EAEX0P,GADN1P,EAAQ+O,EAAKE,OAAOjP,MAAMsP,iBACCG,EAK3B,OAAOC,KAIH3C,EAAQ,SAAA3D,GACRwF,EAAYhD,SAASxC,EAAMN,SAC7BiG,EAAKE,OAAOjP,MAAQoJ,EAAMN,OAAOb,UAAUC,QAAQ,SAAU,KAC7DwG,EAAO/C,QAAQgE,QAAUZ,EAAKE,OAAOjP,MACrC0O,EAAO3B,UAEP6B,EAAY5F,MAAM4G,QAAU,OAC5BnF,SAASnD,oBAAoB,QAASyF,KAEzC,OAEU,OAAAiC,EAAAxL,KAAA,GAEUmL,EAAMnL,OAAM,QAKM,GAL3BwL,EAAA/L,MAGJ6L,EAAU9O,EAAMqE,QAAU,GAAM4J,KAAKvB,aAAeuB,KAAKvB,YAAYmD,QAAO,SAAAC,GAAK,OAAKA,aAAK,EAALA,EAAOxH,QAAQtI,KAAU,OAE7F8O,EAAOzK,OACpB,CAAF2K,EAAAxL,KAAA,SAEsC,OAD7CoL,IAAgBA,EAAY5F,MAAM4G,QAAU,QAC5CnF,SAASnD,oBAAoB,QAASyF,GAAOiC,EAAA5L,OAAA,sBAI1CwL,KACHA,EAAcnE,SAASC,cAAc,OACzBqB,UAAY,wCACxBkC,KAAKgB,OAAOc,MAAMnB,IAEpBA,EAAY3G,UAAY6G,EAAOkB,KAAI,SAAAF,GAAK,aAAA7F,OAAW6F,EAAK,YAASnH,KAAK,IACtEiG,EAAY5F,MAAM4G,QAAU,GAC5BnF,SAASnD,oBAAoB,QAASyF,GACtCtC,SAASjD,iBAAiB,QAASuF,GAAOiC,EAAAxL,KAAA,iCAAAwL,EAAA1J,UAAAmJ,EAAA,UAE7C,WAxEe,OAAAD,EAAAnI,MAAC,KAADkF,cAAA,CAAAwC,IAAA,WAAA/N,OAAAiQ,EAAA/G,IAAA5J,IAAAoF,MA0EhB,SAAAwL,IAAA,IAAAC,EAAA5G,EAAA6G,EAAA,YAAA9Q,IAAAuB,MAAA,SAAAwP,GAAA,cAAAA,EAAAlL,KAAAkL,EAAA7M,MAAA,OAEQ2M,EAASlC,KAAKuB,OAAO/E,SAAU,UAAU,SAAArB,GAI7C,OAHiBwE,OAAO0C,YAAc1C,OAAO2C,YAC3BH,EAAKzD,KAAK6D,UAAYJ,EAAKzD,KAAK8D,aACV,MAG1CxC,KAAK/C,MAAQ+C,KAAK9C,YAAY,GAAG,OACtB,OAAAkF,EAAA7M,KAAA,EAEH2M,EAAO3M,OAAM,cAAA6M,EAAA7M,KAAA,EAIFyK,KAAK/C,MAAM1H,OAAM,QAA9B+F,EAAI8G,EAAApN,MAOEJ,MACRoL,KAAK5C,WAAW9B,GACjB8G,EAAA7M,KAAA,iCAAA6M,EAAA/K,UAAA4K,EAAA,UAEJ,WA1Ba,OAAAD,EAAA5J,MAAC,KAADkF,cAAA,CAAAwC,IAAA,aAAA/N,MA4Bd,SAAWuJ,EAAMrB,GAGf,IAAMwI,EAAOnH,EAAKvJ,MAAMgQ,IAAI/B,KAAKjG,MAAMW,KAAK,IACxCT,EAEF+F,KAAKtB,KAAK1E,UAAYyI,EAEtBzC,KAAKtB,KAAKgE,mBAAmB,YAAaD,GAE5CzC,KAAKjD,cACL4C,OAAOgD,cAAgBhD,OAAOgD,aAAa3C,KAAKnH,OACjD,CAAAiH,IAAA,cAAA/N,MAED,SAAmB6Q,GAAQ,IAAAC,EAAA,YAAAC,IAAAzR,IAAAoF,MAAA,SAAAsM,IAAA,IAAA1G,EAAA,OAAAhL,IAAAuB,MAAA,SAAAoQ,GAAA,cAAAA,EAAA9L,KAAA8L,EAAAzN,MAAA,cAAAyN,EAAAzN,KAAA,EAAA0N,IAGNJ,EAAKvH,KAAKsH,MAAS,OACpC,OADAvG,EAAQ2G,EAAAhO,KAAAgO,EAAAzN,KAAG,EACL8G,EAAS6G,KAAI,WACX7G,EAAS8G,KAAI,CAAAH,EAAAzN,KAAA,gCAAAyN,EAAA3L,UAAA0L,MALED,KAM1B,CAAAhD,IAAA,OAAA/N,MAED,SAAK6Q,GAAQ,IAAAQ,EAAA,KACX,OAAO,IAAItM,SAAQ,SAAAvC,GACjB6O,EAAKvK,IAAIa,cAAc,iBAAiBgC,UAAUG,IAAI,gBACtDwC,YAAW,WACT+E,EAAKvK,IAAIa,cAAc,iBAAiBgC,UAAUC,OAAO,kBACxD,KAIH,IAIIwH,EAJEE,GAAST,EAAS,GAAKQ,EAAKzE,SAAS2E,SACrCC,EAAMF,EAAQD,EAAKzE,SAAS2E,SAC5BE,EAAUJ,EAAK1D,WAAWtI,MAAMiM,EAAOE,GAG7CxH,MAAM,GAADC,OAAIoH,EAAKnH,SAAQ,oBAAAD,OAAmBoH,EAAKtK,MAAK,UAAAkD,OAAS4G,EAAM,aAAA5G,OAAYyH,mBAAmBD,EAAQ9I,KAAK,MAAK,eAAAsB,OAAcoH,EAAK1D,WAAWtJ,QAAU,CACzJ8F,YAAa,cACbrH,OAAQ,MACRsH,QAAS,CACPC,OAAQ,sBAET3H,MAAK,SAAA4H,GACN,GAAwB,MAApBA,EAASC,OACX,OAAOD,EAASuB,OAEhB,MAAM,IAAIjJ,MAAM,uBAEjBF,MAAK,SAAAyO,GACc,WAAhB5O,IAAO4O,KACTC,EAAOD,EAAKC,KAGZD,EAAKxD,aAAe0D,EAAK1D,WAAawD,EAAKxD,YAE3CwD,EAAOA,EAAKQ,QAEdnP,EAAQ,CACN,KAAQ2O,EACR,KAAQC,OAETzL,OAAM,SAAUiM,YAGtB,CAAA7D,IAAA,eAAA/N,MAmID,SAAawG,GACoBA,EAAQY,iBAAiB,0BACjCjF,SAAQ,SAAA0P,GAC7BA,EAAMhI,SAAU,KAElBoE,KAAK1G,kBA9SS,IAAA0I,EA5BfzB,EA5DkC,CAASsD,M,kBCQ9CC,EAAOC,QAAU,CAAEnL,cAZnB,SAAuBL,GAGrB,IAAMyL,EAAWzL,EAAQY,iBAAiB,oCAGjB8K,MAAMvS,UAAUkQ,OAAOxO,KAAK4Q,GAAU,SAAA5K,GAAE,OAAIA,EAAG5C,KAAK0N,WAAW,QAGvEhQ,SAAQ,SAAA0P,GAAK,OAAIA,EAAMjI","file":"js/component-ListingComponent-js.chunks.js","sourcesContent":["import BaseComponent from '../abstracts/BaseComponent';\nimport {removeMarkers} from '../utilities/Spring';\nimport {loggedInPromise} from './LoginComponent';\n\nexport default class ListingComponent extends BaseComponent {\n \n constructor(element) {\n super(element);\n \n // console.log('ListingComponent');\n \n this.form = this.$el.querySelector('form');\n this.sidebar1 = this.$el.querySelector('.listing-grid-sidebar-left');\n this.sidebar2 = this.$el.querySelector('.listing-grid-sidebar-right');\n \n this.brandTitles();\n this.initSearch();\n this.initElement();\n \n this.main = this.$el.querySelector('.listing-grid-main-content');\n if (!this.$options.lastpage) {\n this.initMain();\n }\n \n this.$el.querySelectorAll('.bookmark a').forEach(el => {\n el.addEventListener('click', event => {\n event.preventDefault();\n event.currentTarget.querySelector('[data-apply-filter]').click();\n });\n });\n \n this.GRAB(this.CUSTOM_MESSAGES.MODAL_EVENTS.afterOpen, this.onModal);\n this.GRAB(this.CUSTOM_MESSAGES.SWITCH_BUTTON_EVENTS.toggle, this.onToggle);\n this.GRAB(this.CUSTOM_MESSAGES.USER_EVENTS.loggedIn, this.onLoggedIn);\n \n this.allResults = window[this.$options.allResults];\n }\n \n get PATHNAME() {\n return this.$options.pathname || location.pathname;\n }\n \n get FAVOURITES() {\n return JSON.parse(this.$options.favourites) || [];\n }\n \n brandTitles() {\n const hidden = this.$el.querySelector('input[type=\"hidden\"][name=\"sections\"]');\n fetch(`${this.PATHNAME}?brandtitles=true§ion=${(hidden && hidden.value) || ''}`, {\n credentials: 'same-origin',\n method: 'GET',\n headers: {\n Accept: 'application/json'\n }\n }).then(response => {\n if (response.status === 200) {\n return response.json();\n } else {\n throw new Error('Not 200 response');\n }\n }).then(json => {\n // console.log('brandTitles', 'json', json);\n this.brandTitles = json;\n });\n }\n \n initElement = element => {\n removeMarkers((element || this.$el));\n this.query = new URLSearchParams(new FormData(this.form)).toString();\n // console.log('initElement', 'this.query', this.query);\n \n (element || this.$el).querySelectorAll('[data-apply-filter]').forEach(el => {\n el.removeEventListener('click', this.applyFilter);\n el.addEventListener('click', this.applyFilter);\n });\n \n (element || this.$el).querySelectorAll('.box-card .wishlist-icon').forEach(el => {\n el.removeEventListener('click', this.toggleFavourite);\n el.addEventListener('click', this.toggleFavourite);\n });\n \n const resetBtn = (element || this.$el)?.querySelector('.sidebar-filters .reset-btn');\n if (resetBtn) {\n resetBtn.removeEventListener('click', this.boundResetFilters);\n this.boundResetFilters = (e) => {\n e.preventDefault();\n this.resetFilters(element || this.$el)\n };\n resetBtn.addEventListener('click', this.boundResetFilters);\n }\n }\n \n async initSearch() {\n // console.log('initSearch');\n this.search = null;\n // /PITTI20-598\n // this.$el.\n document.querySelectorAll('input[name=\"q[0]\"]').forEach(el => {\n const visible = (el.offsetParent !== null);\n // console.log('initSearch', 'visible', visible);\n if (visible) {\n this.search = el;\n }\n el.disabled = !visible;\n });\n \n if (!this.search || (typeof this.search.dataset.inited !== 'undefined')) {\n return;\n }\n \n this.search.dataset.inited = '';\n \n let value = this.search.value.toUpperCase();\n let reset;\n const button = this.search.nextElementSibling;\n \n const keyup = this.events(this.search, 'keyup', () => {\n // console.log('keyup');\n const previous = value;\n value = this.search.value.toUpperCase();\n const changed = (value !== previous);\n // PITTI20-592\n if (changed && reset) {\n reset.remove();\n }\n return changed;\n });\n \n let suggestions;\n const click = event => {\n if (suggestions.contains(event.target)) {\n this.search.value = event.target.innerHTML.replace(/&/g, '&');\n button.dataset.galabel = this.search.value;\n button.click();\n } else {\n suggestions.style.display = 'none'\n document.removeEventListener('click', click);\n }\n };\n \n while (true) {\n // console.log('wait for keyup');\n const next = await keyup.next();\n // console.log('fulfilled keyup');\n \n const titles = (value.length >= 3) && this.brandTitles && this.brandTitles.filter(title => (title?.indexOf(value) >= 0));\n // console.log('titles', titles);\n const show = (titles && titles.length);\n if (!show) {\n suggestions && (suggestions.style.display = 'none');\n document.removeEventListener('click', click);\n continue;\n }\n \n if (!suggestions) {\n suggestions = document.createElement('ul');\n suggestions.className = 'search-suggestions-list unstyled-list';\n this.search.after(suggestions);\n }\n suggestions.innerHTML = titles.map(title => `<li>${title}</li>`).join('');\n suggestions.style.display = '';\n document.removeEventListener('click', click);\n document.addEventListener('click', click);\n }\n }\n \n async initMain() {\n // console.log('initMain');\n const scroll = this.events(document, 'scroll', event => {\n const windowY = (window.pageYOffset + window.innerHeight);\n const elementY = (this.main.offsetTop + this.main.clientHeight);\n const condition = (windowY > elementY - 10);\n return condition;\n });\n this.pages = this.createPages(2);\n while (true) {\n // console.log('wait for scroll');\n await scroll.next();\n // console.log('fulfilled scroll');\n \n // console.log('wait for page');\n let page = await this.pages.next();\n // console.log('fulfilled page');\n \n // if (page.done) {\n // break;\n // }\n // this.appendPage(page);\n if (!page.done) {\n this.appendPage(page);\n }\n }\n }\n \n appendPage(page, replace) {\n // console.log('appendPage', 'replace', replace);\n // console.log('appendPage', 'this.query', this.query);\n const html = page.value.map(this.text).join('');\n if (replace) {\n // PITTI20-136\n this.main.innerHTML = html;\n } else {\n this.main.insertAdjacentHTML('beforeend', html);\n }\n this.initElement();\n window.initTracking && window.initTracking(this.$el);\n }\n \n async* createPages(number) {\n let response;\n do {\n response = await this.page(number++);\n yield response.data;\n } while (!response.last);\n }\n \n page(number) {\n return new Promise(resolve => {\n this.$el.querySelector('.listing-grid').classList.add('show-spinner');\n setTimeout(() => {\n this.$el.querySelector('.listing-grid').classList.remove('show-spinner');\n }, 1000);\n \n // console.log('page', 'this.query', this.query);\n \n const start = (number - 1) * this.$options.pageSize;\n const end = start + this.$options.pageSize;\n const results = this.allResults.slice(start, end);\n \n let last;\n fetch(`${this.PATHNAME}?fetchpage=true&${this.query}&page=${number}&results=${encodeURIComponent(results.join(' '))}&totalSize=${this.allResults.length}`, {\n credentials: 'same-origin',\n method: 'GET',\n headers: {\n Accept: 'application/json'\n }\n }).then(response => {\n if (response.status === 200) {\n return response.json();\n } else {\n throw new Error('Not 200 response');\n }\n }).then(data => {\n if (typeof data === 'object') {\n last = data.last;\n \n // PITTI20-945\n data.allResults && (this.allResults = data.allResults);\n \n data = data.brands;\n }\n resolve({\n 'data': data,\n 'last': last\n });\n }).catch(function (err) {\n });\n });\n }\n \n text = brand => {\n let text = brand && this.$el.querySelector('.listing-item-template').innerHTML\n .replace(/\\$code\\$/g, brand.code)\n .replace(/\\$title\\$/g, brand.link && brand.link.text);\n \n if (this.FAVOURITES.indexOf(brand.code) >= 0) {\n text = text // .replace(/(data-brand=\".*?\")/, '$1 data-favourite')\n .replace(/class=\"wishlist-icon icon-wish\"/, 'class=\"wishlist-icon icon-wish-on\"')\n .replace(/data-tracking=\"add-favourite\"/, 'data-tracking=\"remove-favourite\"');\n }\n \n text = text.replace(/\\$country\\$/g, brand.country || '')\n .replace(/\\$logoUrl\\$/g, brand.logo && brand.logo.url)\n .replace(/\\$styles\\$/g, (brand.styleTexts || []).join(', '))\n .replace(/\\$location\\$/g, brand.location || '')\n .replace(/\\$hasSustainableProducts\\$/g, brand.hasSustainableProducts ? '' : 'hide');\n\n if (brand.link && brand.link.url) {\n text = text.replace(/\\$link\\$/g, brand.link.url);\n text = text.replace(/\\$target\\$/g, brand.link.target);\n } else {\n text = text.replace(/<a(\\s+.*?)href=\"\\$link\\$\"([\\s\\S]*?)<\\/a>/m, '<div$1$2</div>');\n }\n \n if (brand.heroImage) {\n text = text.replace('$heroImageUrl$', brand.heroImage.url)\n text = text.replace('$heroImageStyle$', brand.heroImage.style)\n }\n\n return text;\n }\n \n applyFilter = async event => {\n const currentTarget = event && event.currentTarget;\n // console.log('applyFilter', 'currentTarget', currentTarget);\n\n if (currentTarget && currentTarget.id === 'wishlist1') {\n const label = currentTarget.previousElementSibling;\n label.classList.remove('icon-wish' + (currentTarget.checked ? '' : '-on'));\n label.classList.add('icon-wish' + (currentTarget.checked ? '-on' : ''));\n }\n \n // PITTI20-613\n // if (event) event.preventDefault();\n const form = currentTarget ? currentTarget.closest('form') : this.form;\n this.query = new URLSearchParams(new FormData(form)).toString().replace(/__layer=/g, '=');\n // console.log('applyFilter', 'this.query', this.query);\n fetch(`${this.PATHNAME}?filters=true&${this.query}`, {\n credentials: 'same-origin',\n method: 'GET',\n headers: {\n Accept: 'text/html'\n }\n })\n .then(response => {\n if (response.status === 200) {\n return response.text();\n } else {\n throw new Error(\"Not 200 response\");\n }\n })\n .then(text => {\n const div = document.createElement('div');\n div.innerHTML = text;\n \n const nameValues = {};\n div.querySelectorAll('[data-apply-filter]').forEach(item => {\n let values = nameValues[item.name];\n if (!values) {\n values = {};\n nameValues[item.name] = values;\n }\n values[item.value] = true;\n });\n \n this.sidebar2.querySelectorAll('.filter-accordion').forEach(accordion => {\n accordion.querySelectorAll('[data-apply-filter]').forEach(item => {\n const values = nameValues[item.name];\n const found = values && values[item.value];\n \n const li = item.closest('li');\n li.classList[found ? 'remove' : 'add']('hide', 'js-content-hidden');\n });\n \n /* PITTI20-340\n accordion.querySelectorAll('.show-more').forEach(item => {\n const li = item.closest('li');\n let count = 0;\n li.closest('ul').querySelectorAll('[data-apply-filter]').forEach(item2 => {\n const li2 = item2.closest('li');\n if (li2.classList.contains('hide')) {\n return;\n }\n count++;\n if (count < 5) {\n return;\n }\n if (count === 5) {\n li2.before(li);\n }\n li2.classList.add('hide');\n });\n li.classList[(count <= 5) ? 'add' : 'remove']('hide');\n });\n */\n });\n \n this.initElement();\n });\n \n // PITTI20-136\n // this.main.innerHTML = '';\n \n this.$el.scrollIntoView(); // PITTI20-135\n \n this.pages = this.createPages(1);\n \n // console.log('wait for page');\n let page = await this.pages.next();\n // console.log('fulfilled page');\n \n // PITTI20-602\n if (currentTarget && currentTarget.matches('input[type=radio]')) {\n currentTarget.checked = true;\n }\n \n this.appendPage(page, true);\n }\n \n resetFilters(element) {\n const accordionFiltersInputs = element.querySelectorAll('.sidebar-filters input');\n accordionFiltersInputs.forEach(input => {\n input.checked = false;\n })\n this.applyFilter();\n }\n \n toggleFavourite = event => {\n event.preventDefault();\n const currentTarget = event.currentTarget;\n \n loggedInPromise().then(response => {\n // console.log('response', response);\n \n if (!response) {\n return;\n }\n \n const card = currentTarget.closest('.box-card');\n const icon = card.querySelector('.wishlist-icon');\n const brand = card.dataset.brand;\n const remove = icon.classList.contains('icon-wish-on');\n fetch(`${this.PATHNAME}?favourite=true&brand=${brand}&remove=${remove}`, {\n credentials: 'same-origin',\n method: 'POST',\n headers: {\n Accept: 'application/json'\n }\n })\n .then(response => {\n if (response.status === 200) {\n // make sure the server returned true before changing the icon\n const success = response.json();\n return success;\n } else {\n throw new Error(\"Not 200 response\");\n }\n })\n .then(success => {\n if (!success) {\n return;\n }\n \n icon.className = icon.className.replace(/icon-wish(-on)?/, `icon-wish${remove ? '' : '-on'}`);\n \n if (currentTarget.dataset.tracking) {\n currentTarget.dataset.tracking = currentTarget.dataset.tracking\n .replace(/^(add|remove)\\b/, remove ? 'add' : 'remove');\n }\n });\n });\n }\n \n onModal = event => {\n const element = event.vexInstance.contentEl;\n const classList = element.classList;\n // console.log('onModal', 'classList', classList);\n if (!classList.contains('modal-sidebar-filters')) {\n return;\n }\n \n const form = document.createElement('form');\n form.action = this.form.action;\n element.before(form);\n form.appendChild(element);\n \n this.initElement(element);\n \n // PITTI20-598\n setTimeout(() => this.initSearch(), 1000);\n }\n \n onToggle = event => {\n // console.log('event.active', event.active);\n this.applyFilter();\n this.$el.querySelector('.listing-grid').classList[event.active ? 'add' : 'remove']('listing-grid--band');\n }\n \n onLoggedIn = () => {\n // console.log('onLoggedIn');\n fetch(`${this.PATHNAME}?favourites=true`, {\n credentials: 'same-origin',\n method: 'GET',\n headers: {\n Accept: 'application/json'\n }\n })\n .then(response => {\n if (response.status === 200) {\n return response.json();\n } else {\n throw new Error('Not 200 response');\n }\n })\n .then(json => {\n json.forEach(item => {\n let card = this.$el.querySelector(`.box-card[data-brand=\"${item}\"]`);\n if (!card) {\n return;\n }\n const icon = card.querySelector('.wishlist-icon');\n icon.className = icon.className.replace(/icon-wish(-on)?/, 'icon-wish-on');\n });\n });\n }\n}\n","function removeMarkers(element) {\n // console.log('removeMarkers element', element);\n\n const onInputs = element.querySelectorAll('input[type=\"hidden\"][value=\"on\"]');\n // console.log('removeMarkers onInputs.length', onInputs.length);\n\n const underscoreInputs = Array.prototype.filter.call(onInputs, el => el.name.startsWith('_'));\n // console.log('removeMarkers underscoreInputs.length', underscoreInputs.length);\n\n underscoreInputs.forEach(input => input.remove());\n}\n\nmodule.exports = { removeMarkers };\n"],"sourceRoot":""}