{"version":3,"sources":["webpack:///./src/client/default/js/base/baseComponent.js","webpack:///./src/client/default/js/utilities/youMightNotNeedJQuery.js","webpack:///./src/client/default/js/libs/GlideCustomComponents.js","webpack:///./src/client/default/js/base/baseGlideCarousel.js"],"names":["BaseComponent","element","_componentElement","setAttribute","_checkMessages","this","compOptions","options","$el","dataset","Object","keys","filter","entry","includes","forEach","optionValue","cleanEntry","cleanOptionKey","JSON","parse","replace","convertType","deepFreeze","getAttribute","events","cb","elements","Bean","on","e","stopPropagation","one","off","fire","container","message","_loading","EMIT","CUSTOM_MESSAGES","LOADER_EVENTS","show","document","body","error","icon","setTimeout","hide","option","optionReturn","key","str","charAt","toLocaleLowerCase","slice","BaseGiaComponent","outerWidth","el","width","offsetWidth","style","getComputedStyle","parseInt","marginLeft","marginRight","appendChildren","children","HTMLCollection","HTMLElement","documentFragment","createDocumentFragment","child","Array","isArray","appendChild","isObject","value","type","_typeof","Symbol","iterator","obj","constructor","prototype","fadeIn","opacity","classList","remove","add","fade","val","parseFloat","requestAnimationFrame","fadeOut","boundTo","Glide","Components","Events","isActive","settings","BoundTo","mount","emit","bound","slidesLength","Html","slides","length","newIndex","calculate","index","Run","move","outerBound","currentIndex","numberSlides","direction","startsWith","steps","BaseCarousel","isMount","getElements","startAt","perView","focusAt","gap","autoplay","hoverpause","keyboard","swipeThreshold","dragThreshold","perTouch","touchRatio","touchAngle","animationDuration","rewind","rewindDuration","animationTimingFunc","throttle","peek","breakpoints","classes","ltr","rtl","slider","carousel","swipeable","dragging","cloneSlide","activeNav","activeSlide","disabledArrow","bullets","bullet","slide","arrows","arrowRight","arrowLeft","track","activeNumber","stepFourForward","stepFourBackward","multisearchSkip","unmounted","mounted","disableLeft","disableRight","ariaDisabled","BREAKPOINTER","BREAKPOINT_CHANGE","onBreakpointChange","$track","querySelector","SELECTORS","$slides","querySelectorAll","$bullets","$arrows","$activeNumber","$stepFourForward","$stepFourBackward","$multisearchSkip","br","$br","breakPoint","$options","carouselBreakpoint","window","mqObj","innerWidth","glide","destroy","initBullets","components","conf","BASE_CONF","peekCustom","autoSlidesPerView","calculateSlidesPerView","limitBoundary","enableArrows","isMobile","moveStepFour","initBulletsAriaCurrent","innerHTML","CAROUSEL_EVENTS","GENERAL_MOUNTED","handleReSize","createbullets","createBullets","customComponents","mutate","fixBoundPeek","toggleFlags","setAriaCurrent","button","ariaCurrent","ariaLabel","glideDir","CLASSES","endSlide","bulletsNeeded","boundFinish","Math","round","enableArrowsAccessibility","contains","removeAttribute","carouselBr","map","intBr","err","console","currentBreakpoint","values","slidesPerView","indexBr","sortedIndexBr","sort","a","b","floor","bul","i","ariaHidden","tabIndex","setAriaLabel","undefined","toggle","trackWidth","isNaN","before","after","perViewAutoSlideWidth","beyondTheBoundary","Number","update","$bulletWrapper","fragment","btn","createElement","modify","translate","isBound","isType","isEnd","Peek"],"mappings":"y4BAQqBA,E,gCAmCnB,WAAYC,GAAS,0BACnB,cAAMA,IACDC,kBAAoBD,EACzB,EAAKC,kBAAkBC,aAAa,sBAAuB,QAC3D,EAAKC,iBAJc,E,6BA/BrB,WACE,OAAmCC,KAAnC,oB,oBAGF,WACE,IAAMC,EAAc,GACdC,E,iWAAU,CAAH,GAAQF,KAAKG,IAAIC,SAY9B,OAXuBC,OAAOC,KAAKJ,GAASK,QAAO,SAACC,GAAD,OAAWA,EAAMC,SAAS,aAC9DC,SAAQ,SAACF,GACtB,IACIG,EADEC,EAAajB,EAAckB,eAAeL,GAG9CG,EADET,EAAQM,GAAOC,SAAS,MAAQP,EAAQM,GAAOC,SAAS,KAC5CK,KAAKC,MAAMb,EAAQM,GAAOQ,QAAQ,KAAM,MAExCrB,EAAcsB,YAAYf,EAAQM,IAElDP,EAAYW,GAAcD,KAErBO,YAAWjB,K,0BAGpB,WACE,OAAOD,KAAKG,IAAIgB,aAAa,oB,iBAkD/B,SAAIC,EAAQC,GAAyC,IAArCzB,EAAqC,uDAA3BI,KAAKG,IAAKmB,EAAiB,uDAAN,KACxC1B,GAAYwB,GAAWC,IACvBC,EAMHC,IAAKC,GAAG5B,EAASwB,EAAQE,GAAU,SAACG,GAC9BA,GAAGA,EAAEC,kBACTL,EAAGI,MAPLF,IAAKC,GAAG5B,EAASwB,GAAQ,SAACK,GACpBA,GAAGA,EAAEC,kBACTL,EAAGI,S,kBAkBT,SAAKL,EAAQC,GAAwB,IAApBzB,EAAoB,uDAAVI,KAAKG,IAC9BoB,IAAKI,IAAI/B,EAASwB,EAAQC,K,kBAU5B,SAAKD,GAA4B,IAApBxB,EAAoB,uDAAVI,KAAKG,IAC1BoB,IAAKK,IAAIhC,EAASwB,K,mBAUpB,SAAMA,GAA4B,IAApBxB,EAAoB,uDAAVI,KAAKG,IAC3BoB,IAAKM,KAAKjC,EAASwB,K,qBAUrB,SAAQU,EAAWC,GACjB/B,KAAKgC,UAAW,EAChBhC,KAAKiC,KAAKjC,KAAKkC,gBAAgBC,cAAcC,KAAM,CACjDN,UAAWA,GAAaO,SAASC,KACjCP,QAASA,UAAW,S,wBAaxB,SAAWD,EAAWC,GAA8B,WAArBQ,EAAqB,wDAANC,EAAM,uCAClDxC,KAAKgC,UAAW,EAChBS,YAAW,WACJ,EAAKT,UACR,EAAKC,KAAK,EAAKC,gBAAgBC,cAAcO,KAAM,CACjDZ,UAAWA,GAAaO,SAASC,KACjCP,UACAQ,QACAC,WAGH,Q,0BAtHL,SAAmBG,GACjB,IAAIC,EACJ,OAAQD,GACN,IAAK,QACHC,GAAe,EACf,MACF,IAAK,OACHA,GAAe,EACf,MACF,IAAK,OACHA,EAAe,KACf,MACF,QACEA,EAAeD,EAInB,OAAOC,I,4BAGT,SAAsBC,GACpB,IAAMC,EAAMD,EAAI7B,QAAQ,SAAU,IAClC,gBAAU8B,EAAIC,OAAO,GAAGC,qBAAxB,OAA8CF,EAAIG,MAAM,Q,SAhEjBC,I,iPCJpC,SAASC,EAAWC,GACzB,IAAIC,EAAQD,EAAGE,YACXC,EAAQC,iBAAiBJ,GAG7B,OADAC,GAASI,SAASF,EAAMG,YAAcD,SAASF,EAAMI,aAShD,SAASC,EAAeR,EAAIS,GACjC,GAAKT,GAAOS,EAAZ,CACIA,aAAoBC,iBAAgBD,EAAQ,IAAoCA,IAChFA,aAAoBE,cAAaF,EAAW,CAACA,IAEjD,IAAMG,EAAmB3B,SAAS4B,yBAClCJ,EAASnD,SAAQ,SAACwD,GACZC,MAAMC,QAAQF,GAChBA,EAAMxD,SAAQ,SAACwD,GAAD,OAAWF,EAAiBK,YAAYH,MAEtDF,EAAiBK,YAAYH,MAGjCd,EAAGiB,YAAYL,IAWV,SAASM,EAASC,GACvB,IAAIC,OAAwB,IAAVD,EAAwB,YAAcE,EAAQF,GAEhE,MAAgB,aAATC,GAAiC,WAATA,KAAuBD,EAGjD,IAAME,EACO,mBAAXC,QAAoD,WAA3B,IAAOA,OAAOC,UAC1C,SAASC,GACP,WAAcA,IAEhB,SAASA,GACP,OAAOA,GAAyB,mBAAXF,QAAyBE,EAAIC,cAAgBH,QAAUE,IAAQF,OAAOI,UAAY,SAAhG,IAAkHF,IAQ1H,SAASG,EAAO3B,GACrBA,EAAGG,MAAMyB,QAAU,IACnB5B,EAAG6B,UAAUC,OAAO,qBACpB9B,EAAG6B,UAAUE,IAAI,mBAEjB,SAAUC,IACR,IAAIC,EAAMC,WAAWlC,EAAGG,MAAMyB,UACzBK,GAAO,KAAQ,IAClBjC,EAAGG,MAAMyB,QAAT,UAAsBK,GACtBE,sBAAsBH,IAJ1B,GAaK,SAASI,EAAQpC,GACtBA,EAAGG,MAAMyB,QAAU,IAEnB,SAAUI,IACR,IAAIC,EAAMC,WAAWlC,EAAGG,MAAMyB,UACzBK,GAAO,IAAO,GACjBjC,EAAG6B,UAAUC,OAAO,mBACpB9B,EAAG6B,UAAUE,IAAI,uBAEjB/B,EAAGG,MAAMyB,QAAT,UAAsBK,GACtBE,sBAAsBH,IAP1B,K,kMClFWK,EAAS,SAACC,EAAOC,EAAYC,GAAW,MAC7CC,IAAaH,SAAD,UAACA,EAAOI,gBAAR,QAAC,EAAiBL,SAChCM,EAAU,CACZC,MADY,WAEVJ,EAAOK,KAAK,kBAGdC,MALY,WAMV,GAAKL,EAAL,CAIA,IAAIM,EAAeR,EAAWS,KAAKC,OAAOC,OACtCC,EAAWC,EAAUd,EAAMe,MAAON,EAAcR,EAAWe,IAAIC,MAC/DC,EAAaT,EAAeT,EAAMI,SAASL,QAAS,EACpDc,EAAWK,IAAYjB,EAAWe,IAAIC,KAAf,WAA0BC,OAQzD,OAJAhB,EAAOpE,GAAG,cAAc,WACtBuE,EAAQG,WAGHH,GAUHS,EAAY,SAACK,EAAcC,EAAcH,GAC7C,MAAuB,MAAnBA,EAAKI,UACAF,EAAe,EAED,MAAnBF,EAAKI,UACAF,EAAe,EAEpBF,EAAKI,UAAUC,WAAW,KACrBL,EAAKM,MAES,OAAnBN,EAAKI,UACAD,EAEc,OAAnBH,EAAKI,UACA,OADT,G,ohCCzCmBG,E,gCAgPnB,WAAYtH,GAAS,0BACnB,cAAMA,IACDuH,SAAU,EACf,EAAKC,cAHc,E,mCA/OrB,WACE,MAAO,CAUL5C,KAAM,SAON6C,QAAS,EAOTC,QAAS,EAWTC,QAAS,EAOTC,IAAK,GAOLC,UAAU,EAOVC,YAAY,EAOZC,UAAU,EAUVzB,OAAO,EAOP0B,eAAgB,GAOhBC,cAAe,GAOfC,UAAU,EAOVC,WAAY,GAOZC,WAAY,GAOZC,kBAAmB,IAOnBC,QAAQ,EAORC,eAAgB,IAOhBC,oBAAqB,oCAOrBC,SAAU,GAWVtB,UAAW,MAcXuB,KAAM,EAWNC,YAAa,GAQbC,QAAS,CACPzB,UAAW,CACT0B,IAAK,aACLC,IAAK,cAEPC,OAAQ,gBACRC,SAAU,kBACVC,UAAW,mBACXC,SAAU,kBACVC,WAAY,sBACZC,UAAW,wBACXC,YAAa,uBACbC,cAAe,6B,qBAKrB,WACE,MAAO,CACLC,QAAS,kBACTC,OAAQ,iBACRC,MAAO,gBACPhD,OAAQ,iBACRiD,OAAQ,iBACRC,WAAY,uBACZC,UAAW,sBACXC,MAAO,gBACPC,aAAc,iBACdC,gBAAiB,qBACjBC,iBAAkB,sBAClBC,gBAAiB,uB,mBAIrB,WACE,MAAO,CACLC,UAAW,YACXC,QAAS,UACTrH,KAAM,SACNsH,YAAa,eACbC,aAAc,gBACdC,aAAc,mB,oBAIlB,WACE,cACGlK,KAAKkC,gBAAgBiI,aAAaC,kBAAoBpK,KAAKqK,sB,yBAUhE,WACErK,KAAKsK,OAAqCtK,KAAKG,IAAIoK,cAAcvK,KAAKwK,UAAUf,OAChFzJ,KAAKyK,QAAL,IAAiDzK,KAAKG,IAAIuK,iBAAiB1K,KAAKwK,UAAUnB,QAC1FrJ,KAAK2K,SAAL,IAAkD3K,KAAKG,IAAIuK,iBAAiB1K,KAAKwK,UAAUpB,SAC3FpJ,KAAK4K,QAAsC5K,KAAKG,IAAIoK,cAAcvK,KAAKwK,UAAUlB,QACjFtJ,KAAK6K,cAA4C7K,KAAKG,IAAIoK,cAAcvK,KAAKwK,UAAUd,cACvF1J,KAAK8K,iBAA+C9K,KAAKG,IAAIoK,cAAcvK,KAAKwK,UAAUb,iBAC1F3J,KAAK+K,kBAAgD/K,KAAKG,IAAIoK,cAAcvK,KAAKwK,UAAUZ,kBAC3F5J,KAAKgL,iBAA+ChL,KAAKG,IAAIoK,cAAcvK,KAAKwK,UAAUX,mB,gCAG5F,SAAmBoB,GACjBjL,KAAKkL,IAAMD,EAAGE,WACVnL,KAAKoL,SAASC,oBAAsBC,OAAOC,MAAMvL,KAAKoL,SAASC,sBAC7DC,OAAOE,YAAcF,OAAOC,MAAMvL,KAAKoL,SAASC,oBAC9CrL,KAAKyL,OAAOzL,KAAK0L,UACX1L,KAAKyL,OACfzL,KAAKgG,MAAMhG,KAAKG,IAAKH,KAAKoL,WAG1BpL,KAAK2K,UAAU3K,KAAK2L,gB,mBAS1B,SAAM/L,EAASM,GAA0B,WAAjB0L,EAAiB,uDAAJ,GACnC5L,KAAK6L,KAAL,OAAiB7L,KAAK8L,WAAc5L,GAChCF,KAAK6L,KAAKE,YAAczH,YAAStE,KAAK6L,KAAKE,cAAa/L,KAAK6L,KAAKE,WAAV,KAA4B/L,KAAK6L,KAAKE,aACpE,SAA1B/L,KAAKoL,SAAS9D,UAChBtH,KAAK6L,KAAKG,mBAAoB,EAC9BhM,KAAKiM,0BAEPjM,KAAKkM,gBACLlM,KAAKyL,MAAQ,IAAI/F,IAAM9F,EAASI,KAAK6L,MACjC7L,KAAK4K,SAEP5K,KAAKyL,MAAMjK,GAAG,eAAe,WAC3B,EAAK2K,eACD,EAAKrB,kBAAoB,EAAKC,oBAAsBO,OAAOc,aAC7D,EAAKC,eACL,EAAKF,mBAKXnM,KAAKyL,MAAMjK,GAAG,aAAa,WAEzB,GADA,EAAK8K,yBACD,EAAK1B,UACP,EAAKuB,eACD,EAAKrB,kBAAoB,EAAKC,oBAAsBO,OAAOc,aAC7D,EAAKC,eACL,EAAKF,gBAEH,EAAKtB,eAAe,CACtB,IAAMhE,EAAe,EAAK4E,MAAMhF,MAChC,EAAKoE,cAAc0B,UAAY1F,EAAe,MAKpD7G,KAAKyL,MAAMjK,GAAG,eAAe,WAC3B,EAAKS,KAAK,EAAKC,gBAAgBsK,gBAAgBC,gBAAiB,CAAE7M,QAASA,OAG/C,SAA1BI,KAAKoL,SAAS9D,SAAoBtH,KAAK0M,eACvC1M,KAAKoL,SAASuB,eAChB3M,KAAK4M,gBAEH5M,KAAK2K,UAAU3K,KAAK2L,cACxB,IAAIkB,EAAmBjB,EACnB5L,KAAK6L,KAAKpG,UAASoH,EAAmB,EAAH,KAAQA,GAAR,IAA0BpH,QAASA,KAEtEzF,KAAK6L,KAAKvD,MAAQtI,KAAK6L,KAAK3F,OAAS5B,YAAStE,KAAK6L,KAAKvD,MAC1DtI,KAAKyL,MAAMqB,OAAO,CAAC9M,KAAK+M,eAAe/G,MAAM6G,GAE7C7M,KAAKyL,MAAMzF,MAAM6G,GAGnB7M,KAAKgN,aAAY,K,oCAGnB,WAAyB,WACnBhN,KAAK2K,UAAY3K,KAAK2K,SAASrE,OAAS,GAAKtG,KAAK2K,SAAS3K,KAAKyL,MAAMhF,QACxEzG,KAAK2K,SAASjK,SAAQ,SAAC0I,EAAQ3C,GAC7B,EAAKwG,eAAe7D,EAAQ3C,Q,4BAKlC,SAAeyG,EAAQzG,GACrByG,EAAOC,YAAc1G,IAAUzG,KAAKyL,MAAMhF,Q,0BAG5C,SAAayG,EAAQzG,GACnByG,EAAOE,UAAY,kBAAoB3G,I,0BAGzC,WACE,IAAMI,EAAe7G,KAAKyL,MAAMhF,MAI5BzG,KAAKyK,QAAQnE,OAASO,IAAiB7G,KAAK6L,KAAKvE,QAAU,EAC7DtH,KAAK8K,iBAAiB1K,QAAQiN,SAAW,KAAOxG,EAAe,GAE/D7G,KAAK8K,iBAAiB1K,QAAQiN,SAAW,KAAOrN,KAAKyK,QAAQnE,OAAStG,KAAK6L,KAAKvE,SAGhFtH,KAAK+K,kBAAkB3K,QAAQiN,SAD7BxG,EAAe,EACyB,KAAOA,EAAe,GAEtB,O,0BAI9C,WACE7G,KAAK4K,QAAQ3F,UAA8B,GAApBjF,KAAKyL,MAAMhF,MAAa,MAAQ,UAAUzG,KAAKsN,QAAQtD,aAC9E,IAAIuD,EAAWvN,KAAKwN,eAAiBxN,KAAKwN,cAAgB,EAAIxN,KAAKwN,cAAgBxN,KAAKyK,QAAQnE,OAAS,EACrGmH,IAAgBzN,KAAK6L,KAAKpG,SAAWzF,KAAKyL,MAAMhF,OAASzG,KAAKyK,QAAQnE,OAAS,EAAItG,KAAK6L,KAAKpG,QACjGzF,KAAK4K,QAAQ3F,UACXjF,KAAKyL,MAAMhF,OAAS8G,GACpBvN,KAAKyL,MAAM3F,SAASwB,QAAUtH,KAAKyK,QAAQnE,OAAS,GACpDmH,GACCzN,KAAK8K,kBACJ9K,KAAK+K,oBACJ/K,KAAKgL,kBACNhL,KAAKyL,MAAMhF,OAASzG,KAAKyK,QAAQnE,OAASoH,KAAKC,MAAM3N,KAAK6L,KAAKvE,SAAW,IACzEgE,OAAOc,YACTpM,KAAK8K,kBAAoB9K,KAAK+K,mBAAqB/K,KAAKgL,kBAAoBhL,KAAKyL,MAAMhF,OAAS,IAAM6E,OAAOc,WAC1G,MACA,UACJpM,KAAKsN,QAAQrD,cACfjK,KAAK4N,8B,uCAGP,WACE,IAAIrE,EAAavJ,KAAK4K,QAAQL,cAAcvK,KAAKwK,UAAUjB,YACvDC,EAAYxJ,KAAK4K,QAAQL,cAAcvK,KAAKwK,UAAUhB,WAEtDD,IACEvJ,KAAK4K,QAAQ3F,UAAU4I,SAAS7N,KAAKsN,QAAQrD,eAC/CV,EAAWzJ,aAAaE,KAAKsN,QAAQpD,aAAc,QACnDX,EAAWzJ,aAAa,WAAY,QAEpCyJ,EAAWzJ,aAAaE,KAAKsN,QAAQpD,aAAc,SACnDX,EAAWuE,gBAAgB,WAAY,QAGvCtE,IACExJ,KAAK4K,QAAQ3F,UAAU4I,SAAS7N,KAAKsN,QAAQtD,cAC/CR,EAAU1J,aAAaE,KAAKsN,QAAQpD,aAAc,QAClDV,EAAU1J,aAAa,WAAY,QAEnC0J,EAAU1J,aAAaE,KAAKsN,QAAQpD,aAAc,SAClDV,EAAUsE,gBAAgB,WAAY,U,yBAM5C,WAAc,WACZ,GAAI9N,KAAKyL,MAAO,OAERsC,EAAU,UAAG1N,OAAOC,KAAKN,KAAK6L,KAAKtD,oBAAzB,aAAG,EAAoCyF,KAAI,SAAC5K,GAC1D,IAAI6K,EAAQ,EACZ,IACEA,EAAQxK,SAASL,GACjB,MAAO8K,GACPC,QAAQ5L,MAAM2L,GAEhB,OAAOD,KAGLG,EAAoB,EACxB/N,OAAOgO,OAAO/C,OAAOC,OAAO7K,SAAQ,SAACd,GAC/B0L,OAAOE,YAAc5L,IACvBwO,EAAoBxO,MAKxB,IAOI0O,EAPEC,EAAUR,aAAH,EAAGA,EAAYxN,QAAO,SAAC0K,GAAO,MACzC,OAAOA,EAAKmD,IAAL,UAA0B,EAAKvC,KAAKtD,YAAY0C,UAAhD,aAA0B,EAA2B3D,YAIxDkH,EAAgBD,aAAH,EAAGA,EAASE,MAAK,SAACC,EAAGC,GAAJ,OAAUD,EAAIC,KAGlD,GAAIH,WAAelI,OACjB,IAEEgI,EAAgBZ,KAAKkB,MAAM5O,KAAK6L,KAAKtD,YAAYiG,EAAc,IAAIlH,SACnE,MAAO4G,GACPC,QAAQ5L,MAAM2L,QAGhB,IAEEI,EAAgB7K,SAASzD,KAAK6L,KAAKvE,SACnC,MAAO4G,GACPC,QAAQ5L,MAAM2L,GAIlBlO,KAAKwN,cAAgBxN,KAAKyK,QAAQnE,OAASgI,EAG3CtO,KAAK2K,SAASjK,SAAQ,SAACmO,EAAKC,GAC1BD,EAAIE,YAAa,EACjBF,EAAIG,UAAY,EAChB,EAAKC,aAAaJ,EAAKC,EAAI,GAC3B,EAAK7B,eAAe4B,EAAKC,GACzBD,EAAI5J,UAAUC,OAAO,EAAKoI,QAAQ5K,MAC9BoM,EAAI,EAAKtB,eACXqB,EAAI5J,UAAUE,IAAI,EAAKmI,QAAQ5K,SAG/B1C,KAAKG,IAAIoK,cAAcvK,KAAKwK,UAAUrB,WACxCnJ,KAAKG,IAAIoK,cAAcvK,KAAKwK,UAAUrB,SAAS4F,YAAa,M,qBAKlE,WACM/O,KAAKyL,QACPzL,KAAKyL,MAAMC,UACX1L,KAAKyL,WAAQyD,EACblP,KAAKgN,aAAY,M,yBAIrB,SAAYmC,GACVnP,KAAKmH,QAAUgI,EACfnP,KAAKG,IAAI8E,UAAWkK,EAAiB,SAAR,OAAkBnP,KAAKsN,QAAQxD,WAC5D9J,KAAKG,IAAI8E,UAAUkK,EAAS,MAAQ,UAAUnP,KAAKsN,QAAQvD,W,oCAM7D,WACE,GAAK/J,KAAK6L,KAAKG,kBAAf,CACA,IAAIoD,EAAapP,KAAKsK,OAAOhH,YACzBgF,EAAO,EACPtI,KAAK6L,KAAKE,YAAcsD,MAAMrP,KAAK6L,KAAKE,cAE1CzD,GADAA,EAAOA,EAAOtI,KAAK6L,KAAKE,WAAWuD,OAAStP,KAAK6L,KAAKE,WAAWuD,OAAS,GAC5DtP,KAAK6L,KAAKE,WAAWwD,MAAQvP,KAAK6L,KAAKE,WAAWwD,MAAQ,GAE1EH,GAAc9G,GAAc,EACvBtI,KAAKwP,wBAAuBxP,KAAKwP,sBAAwBrM,YAAWnD,KAAKyK,QAAQ,KACtFzK,KAAK6L,KAAKvE,QAAU8H,EAAapP,KAAKwP,yB,2BAMxC,WACOxP,KAAK6L,KAAK4D,oBACXzP,KAAK6L,KAAKxE,SAAWrH,KAAK6L,KAAKxE,QAAU,GAAKrH,KAAKyK,QAAQnE,OAASoJ,OAAO1P,KAAK6L,KAAKxE,UAAYrH,KAAK6L,KAAKvE,QAAU,IACvHtH,KAAK6L,KAAKxE,QAAUqI,OAAO1P,KAAK6L,KAAKxE,SAAW,GAE9CrH,KAAK6L,KAAKxE,SAAWrH,KAAKyK,QAAQnE,OAASoJ,OAAO1P,KAAK6L,KAAKxE,SAAWrH,KAAK6L,KAAKvE,QAAU,IAC7FtH,KAAK6L,KAAKxE,QAAUrH,KAAK6L,KAAKvE,QAAUtH,KAAKyK,QAAQnE,OAAS,IAAMtG,KAAKyK,QAAQnE,OAAStG,KAAK6L,KAAKvE,QAAU,M,0BAIlH,WAAe,WACbtH,KAAKyL,MAAMjK,GAAG,UAAU,WACtB,EAAKyK,yBACL,EAAKC,gBACL,EAAKT,MAAMkE,OAAO,CAAErI,QAAS,EAAKuE,KAAKvE,UACvC,EAAK6E,oB,2BAMT,WAAgB,WAEd,GADAnM,KAAK4P,eAAiB5P,KAAKG,IAAIoK,cAAcvK,KAAKwK,UAAUrB,SACxDnJ,KAAK4P,gBAAkB5P,KAAKyK,QAAQnE,OAAS,EAAG,CAClDtG,KAAK4P,eAAerD,UAAY,GAChC,IAAMsD,EAAWxN,SAAS4B,yBAC1BjE,KAAKyK,QAAQ/J,SAEkB,SAAC2I,EAAO5C,GACnC,IAAIqJ,EAAMzN,SAAS0N,cAAc,UACjCD,EAAI7K,UAAUE,IAAI,iBAClB2K,EAAIhQ,aAAa,iBAAjB,WAAuC2G,IACvC,EAAKwI,aAAaa,EAAKrJ,EAAQ,GAC/BoJ,EAASxL,YAAYyL,MAGzB9P,KAAK4P,eAAevL,YAAYwL,GAChC7P,KAAK2K,SAAL,IAAkD3K,KAAKG,IAAIuK,iBAAiB1K,KAAKwK,UAAUpB,Y,0BAI/F,SAAa1D,EAAOC,EAAYC,GAC9B,MAAO,CAOLoK,OAPK,SAOEC,GACL,IAAIC,EAAUvK,EAAWe,IAAIwJ,QAQ7B,GANuB,mBAAZA,IACTA,EAAU,WACR,OAAOxK,EAAMyK,OAAO,WAAwC,WAA3BzK,EAAMI,SAASyB,SAAwB7B,EAAMI,SAASI,QAIvFgK,KAAavK,EAAWe,IAAI0J,QAAS,CACvC,IAAM9H,EAAO3C,EAAW0K,KAAK9L,MAE7B,MAAoB,WAAhB,IAAO+D,IAAqBA,EAAKiH,MAC5BU,EAAY3H,EAAKiH,MAGnBU,EAAY3H,EAGrB,OAAO2H,Q,GA9jB2BtQ","file":"js/component-carouselGComponent-js~component-carouselGComponentNoFood-js~component-homePageSlider-js~co~6ec0f69a.chunks.js","sourcesContent":["/* eslint-disable new-cap */\n/* eslint-disable valid-jsdoc */\n/* eslint-disable no-underscore-dangle */\n\nimport Bean from 'bean';\nimport deepFreeze from '../utilities/freeze';\nimport BaseGiaComponent from './baseGiaComponent';\n\nexport default class BaseComponent extends BaseGiaComponent {\n /**\n * @returns {HTMLElement}\n */\n get $el() {\n return /** @type {HTMLElement} */ (this._componentElement);\n }\n\n get $options() {\n const compOptions = {};\n const options = { ...this.$el.dataset };\n const optionsEntires = Object.keys(options).filter((entry) => entry.includes('option'));\n optionsEntires.forEach((entry) => {\n const cleanEntry = BaseComponent.cleanOptionKey(entry);\n let optionValue;\n if (options[entry].includes('{') && options[entry].includes('}')) {\n optionValue = JSON.parse(options[entry].replace(/'/g, '\"'));\n } else {\n optionValue = BaseComponent.convertType(options[entry]);\n }\n compOptions[cleanEntry] = optionValue;\n });\n return deepFreeze(compOptions);\n }\n\n get COMPONENT_NAME() {\n return this.$el.getAttribute('data-component');\n }\n\n /**\n *\n * constructor\n *\n * @param {Element} element\n */\n constructor(element) {\n super(element);\n this._componentElement = element;\n this._componentElement.setAttribute('data-component-init', 'true');\n this._checkMessages();\n }\n\n static convertType(option) {\n let optionReturn;\n switch (option) {\n case 'false':\n optionReturn = false;\n break;\n case 'true':\n optionReturn = true;\n break;\n case 'null':\n optionReturn = null;\n break;\n default:\n optionReturn = option;\n break;\n }\n\n return optionReturn;\n }\n\n static cleanOptionKey(key) {\n const str = key.replace('option', '');\n return `${str.charAt(0).toLocaleLowerCase()}${str.slice(1)}`;\n }\n\n /**\n *\n * $on\n *\n * @param {String} events\n * @param {Function} cb\n * @param {Element} [element = this.$el]\n * @param {Array|String|Element} [elements = null]\n */\n $on(events, cb, element = this.$el, elements = null) {\n if (!element || !events || !cb) return;\n if (!elements) {\n Bean.on(element, events, (e) => {\n if (e) e.stopPropagation();\n cb(e);\n });\n } else {\n Bean.on(element, events, elements, (e) => {\n if (e) e.stopPropagation();\n cb(e);\n });\n }\n }\n\n /**\n *\n * $one\n *\n * @param {String} events\n * @param {Function} cb\n * @param {Element} [element = this.$el]\n */\n $one(events, cb, element = this.$el) {\n Bean.one(element, events, cb);\n }\n\n /**\n *\n * $off\n *\n * @param {String} events\n * @param {Element} [element = this.$el]\n */\n $off(events, element = this.$el) {\n Bean.off(element, events);\n }\n\n /**\n *\n * $fire\n *\n * @param {String} events\n * @param {Element} [element = this.$el]\n */\n $fire(events, element = this.$el) {\n Bean.fire(element, events);\n }\n\n /**\n *\n * Activate loader\n *\n * @param {HTMLElement} [container]\n * @param {String} [message]\n */\n loading(container, message) {\n this._loading = true;\n this.EMIT(this.CUSTOM_MESSAGES.LOADER_EVENTS.show, {\n container: container || document.body,\n message: message ?? null\n });\n }\n\n /**\n *\n * Deactivate loader\n *\n * @param {HTMLElement} [container]\n * @param {String} [message]\n * @param {Boolean} [error=false]\n * @param {String} [icon]\n */\n endLoading(container, message, error = false, icon) {\n this._loading = false;\n setTimeout(() => {\n if (!this._loading) {\n this.EMIT(this.CUSTOM_MESSAGES.LOADER_EVENTS.hide, {\n container: container || document.body,\n message,\n error,\n icon\n });\n }\n }, 400);\n }\n}\n","/**\n * Function that behaves like jquery outerWidth\n * @param {HTMLElement} el\n */\nexport function outerWidth(el) {\n var width = el.offsetWidth;\n var style = getComputedStyle(el);\n\n width += parseInt(style.marginLeft) + parseInt(style.marginRight);\n return width;\n}\n\n/**\n * append multiple childs\n * @param {HTMLElement} el\n * @param {HTMLElement|HTMLElement[]|HTMLCollection} children\n */\nexport function appendChildren(el, children) {\n if (!el || !children) return;\n if (children instanceof HTMLCollection) children = /** @type {HTMLElement[]}*/ ([...children]);\n if (children instanceof HTMLElement) children = [children];\n // use a document Fragment to prevent reflow.\n const documentFragment = document.createDocumentFragment();\n children.forEach((child) => {\n if (Array.isArray(child)) {\n child.forEach((child) => documentFragment.appendChild(child));\n } else {\n documentFragment.appendChild(child);\n }\n });\n el.appendChild(documentFragment);\n}\n\n/**\n * Function that behaves like jquery position\n * @param {HTMLElement} el\n */\nexport function position(el) {\n return { left: el.offsetLeft, top: el.offsetTop };\n}\n\nexport function isObject(value) {\n var type = typeof value === 'undefined' ? 'undefined' : _typeof(value);\n\n return type === 'function' || (type === 'object' && !!value);\n}\n\nexport const _typeof =\n typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol'\n ? function(obj) {\n return typeof obj;\n }\n : function(obj) {\n return obj && typeof Symbol === 'function' && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n };\n\n/**\n * Function that simulates jquery effect of fade in\n * @param {HTMLElement} el\n * @param {String} [display]\n */\nexport function fadeIn(el, display = 'block') {\n el.style.opacity = '0';\n el.classList.remove('transition-hidden');\n el.classList.add('transition-show');\n\n (function fade() {\n let val = parseFloat(el.style.opacity);\n if ((val += 0.1) <= 1) {\n el.style.opacity = `${val}`;\n requestAnimationFrame(fade);\n }\n })();\n}\n\n/**\n * Function that simulates jquery effect of fade in\n * @param {HTMLElement} el\n */\nexport function fadeOut(el) {\n el.style.opacity = '1';\n\n (function fade() {\n let val = parseFloat(el.style.opacity);\n if ((val -= 0.1) < 0) {\n el.classList.remove('transition-show');\n el.classList.add('transition-hidden');\n } else {\n el.style.opacity = `${val}`;\n requestAnimationFrame(fade);\n }\n })();\n}\n","export const boundTo =(Glide, Components, Events) => {\n const isActive = !!Glide?.settings?.boundTo;\n var BoundTo = {\n mount() {\n Events.emit('boundTo.mount');\n },\n\n bound() {\n if (!isActive) return;\n /**\n * @type {Number}\n */\n let slidesLength = Components.Html.slides.length;\n let newIndex = calculate(Glide.index, slidesLength, Components.Run.move);\n let outerBound = slidesLength - Glide.settings.boundTo -1;\n if (newIndex > outerBound) Components.Run.move = `=${outerBound}`\n }\n };\n\n Events.on('run.before', function() {\n BoundTo.bound();\n });\n\n return BoundTo;\n};\n\n/**\n * Calculate next index using a current move.\n * @param {Number} currentIndex\n * @param {Object} move\n * @param {String} move.direction\n * @param {String} move.steps\n */\nconst calculate = (currentIndex, numberSlides, move) => {\n if (move.direction === '>'){\n return currentIndex + 1;\n }\n if (move.direction === '<'){\n return currentIndex - 1;\n }\n if (move.direction.startsWith('=')){\n return move.steps;\n }\n if (move.direction === '>>'){\n return numberSlides;\n }\n if (move.direction === '<<'){\n return 0;\n }\n};","import Glide from '@glidejs/glide';\nimport BaseComponent from './baseComponent';\nimport { outerWidth, isObject } from './../utilities/youMightNotNeedJQuery';\nimport { boundTo } from './../libs/GlideCustomComponents';\n\nexport default class BaseCarousel extends BaseComponent {\n get BASE_CONF() {\n return {\n /**\n * Type of the movement.\n *\n * Available types:\n * `slider` - Rewinds slider to the start/end when it reaches the first or last slide.\n * `carousel` - Changes slides without starting over when it reaches the first or last slide.\n *\n * @type {String}\n */\n type: 'slider',\n\n /**\n * Start at specific slide number defined with zero-based index.\n *\n * @type {Number}\n */\n startAt: 0,\n\n /**\n * A number of slides visible on the single viewport.\n *\n * @type {Number}\n */\n perView: 1,\n\n /**\n * Focus currently active slide at a specified position in the track.\n *\n * Available inputs:\n * `center` - Current slide will be always focused at the center of a track.\n * `0,1,2,3...` - Current slide will be focused on the specified zero-based index.\n *\n * @type {String|Number}\n */\n focusAt: 0,\n\n /**\n * A size of the gap added between slides.\n *\n * @type {Number}\n */\n gap: 10,\n\n /**\n * Change slides after a specified interval. Use `false` for turning off autoplay.\n *\n * @type {Number|Boolean}\n */\n autoplay: false,\n\n /**\n * Stop autoplay on mouseover event.\n *\n * @type {Boolean}\n */\n hoverpause: true,\n\n /**\n * Allow for changing slides with left and right keyboard arrows.\n *\n * @type {Boolean}\n */\n keyboard: true,\n\n /**\n * Stop running `perView` number of slides from the end. Use this\n * option if you don't want to have an empty space after\n * a slider. Works only with `slider` type and a\n * non-centered `focusAt` setting.\n *\n * @type {Boolean}\n */\n bound: true,\n\n /**\n * Minimal swipe distance needed to change the slide. Use `false` for turning off a swiping.\n *\n * @type {Number|Boolean}\n */\n swipeThreshold: 15,\n\n /**\n * Minimal mouse drag distance needed to change the slide. Use `false` for turning off a dragging.\n *\n * @type {Number|Boolean}\n */\n dragThreshold: 10,\n\n /**\n * A maximum number of slides to which movement will be made on swiping or dragging. Use `false` for unlimited.\n *\n * @type {Number|Boolean}\n */\n perTouch: false,\n\n /**\n * Moving distance ratio of the slides on a swiping and dragging.\n *\n * @type {Number}\n */\n touchRatio: 0.5,\n\n /**\n * Angle required to activate slides moving on swiping or dragging.\n *\n * @type {Number}\n */\n touchAngle: 45,\n\n /**\n * Duration of the animation in milliseconds.\n *\n * @type {Number}\n */\n animationDuration: 600,\n\n /**\n * Allows looping the `slider` type. Slider will rewind to the first/last slide when it's at the start/end.\n *\n * @type {Boolean}\n */\n rewind: false,\n\n /**\n * Duration of the rewinding animation of the `slider` type in milliseconds.\n *\n * @type {Number}\n */\n rewindDuration: 1000,\n\n /**\n * Easing function for the animation.\n *\n * @type {String}\n */\n animationTimingFunc: 'cubic-bezier(.165, .840, .440, 1)',\n\n /**\n * Throttle costly events at most once per every wait milliseconds.\n *\n * @type {Number}\n */\n throttle: 10,\n\n /**\n * Moving direction mode.\n *\n * Available inputs:\n * - 'ltr' - left to right movement,\n * - 'rtl' - right to left movement.\n *\n * @type {String}\n */\n direction: 'ltr',\n\n /**\n * The distance value of the next and previous viewports which\n * have to peek in the current view. Accepts number and\n * pixels as a string. Left and right peeking can be\n * set up separately with a directions object.\n *\n * For example:\n * `100` - Peek 100px on the both sides.\n * { before: 100, after: 50 }` - Peek 100px on the left side and 50px on the right side.\n *\n * @type {Number|String|Object}\n */\n peek: 0,\n\n /**\n * Collection of options applied at specified media breakpoints.\n * For example: display two slides per view under 800px.\n * `{\n * '800px': {\n * perView: 2\n * }\n * }`\n */\n breakpoints: {},\n\n /**\n * Collection of internally used HTML classes.\n *\n * @todo Refactor `slider` and `carousel` properties to single `type: { slider: '', carousel: '' }` object\n * @type {Object}\n */\n classes: {\n direction: {\n ltr: 'glide--ltr',\n rtl: 'glide--rtl'\n },\n slider: 'glide--slider',\n carousel: 'glide--carousel',\n swipeable: 'glide--swipeable',\n dragging: 'glide--dragging',\n cloneSlide: 'glide__slide--clone',\n activeNav: 'glide__bullet--active',\n activeSlide: 'glide__slide--active',\n disabledArrow: 'glide__arrow--disabled'\n }\n };\n }\n\n get SELECTORS() {\n return {\n bullets: '.glide__bullets',\n bullet: '.glide__bullet',\n slide: '.glide__slide',\n slides: '.glide__slides',\n arrows: '.glide__arrows',\n arrowRight: '.glide__arrow--right',\n arrowLeft: '.glide__arrow--left',\n track: '.glide__track',\n activeNumber: '.active-number',\n stepFourForward: '.step-four-forward',\n stepFourBackward: '.step-four-backward',\n multisearchSkip: '.multisearch-skip'\n };\n }\n\n get CLASSES() {\n return {\n unmounted: 'unmounted',\n mounted: 'mounted',\n hide: 'd-none',\n disableLeft: 'disable-left',\n disableRight: 'disable-right',\n ariaDisabled: 'aria-disabled'\n };\n }\n\n get Messages() {\n return {\n [this.CUSTOM_MESSAGES.BREAKPOINTER.BREAKPOINT_CHANGE]: this.onBreakpointChange\n };\n }\n\n constructor(element) {\n super(element);\n this.isMount = false;\n this.getElements();\n }\n\n getElements() {\n this.$track = /** @type {HTMLElement} */ (this.$el.querySelector(this.SELECTORS.track));\n this.$slides = /** @type {HTMLElement[]} */ ([...this.$el.querySelectorAll(this.SELECTORS.slide)]);\n this.$bullets = /** @type {HTMLElement[]} */ ([...this.$el.querySelectorAll(this.SELECTORS.bullet)]);\n this.$arrows = /** @type {HTMLElement} */ (this.$el.querySelector(this.SELECTORS.arrows));\n this.$activeNumber = /** @type {HTMLElement} */ (this.$el.querySelector(this.SELECTORS.activeNumber));\n this.$stepFourForward = /** @type {HTMLElement} */ (this.$el.querySelector(this.SELECTORS.stepFourForward));\n this.$stepFourBackward = /** @type {HTMLElement} */ (this.$el.querySelector(this.SELECTORS.stepFourBackward));\n this.$multisearchSkip = /** @type {HTMLElement} */ (this.$el.querySelector(this.SELECTORS.multisearchSkip));\n }\n\n onBreakpointChange(br) {\n this.$br = br.breakPoint;\n if (this.$options.carouselBreakpoint && window.mqObj[this.$options.carouselBreakpoint]) {\n if (window.innerWidth >= window.mqObj[this.$options.carouselBreakpoint]) {\n if (this.glide) this.destroy();\n } else if (!this.glide) {\n this.mount(this.$el, this.$options);\n }\n }\n if (this.$bullets) this.initBullets();\n }\n\n /**\n * mounting function to create a glide carousel\n * @param {HTMLElement} element glide element .glide\n * @param {Object} options glide options\n * @param {Object} [components] an object containing all extended components\n */\n mount(element, options, components = {}) {\n this.conf = { ...this.BASE_CONF, ...options };\n if (this.conf.peekCustom && isObject(this.conf.peekCustom)) this.conf.peekCustom = { ...this.conf.peekCustom };\n if (this.$options.perView === 'auto') {\n this.conf.autoSlidesPerView = true;\n this.calculateSlidesPerView();\n }\n this.limitBoundary();\n this.glide = new Glide(element, this.conf);\n if (this.$arrows) {\n // Called right after setting up a slider to its initial state.\n this.glide.on('build.after', () => {\n this.enableArrows();\n if (this.$stepFourForward && this.$stepFourBackward && !window.isMobile()) {\n this.moveStepFour();\n this.enableArrows();\n }\n });\n }\n // Called after calculating new index and making a transition.\n this.glide.on('run.after', () => {\n this.initBulletsAriaCurrent();\n if (this.$arrows) {\n this.enableArrows();\n if (this.$stepFourForward && this.$stepFourBackward && !window.isMobile()) {\n this.moveStepFour();\n this.enableArrows();\n }\n if (this.$activeNumber) {\n const currentIndex = this.glide.index;\n this.$activeNumber.innerHTML = currentIndex + 1;\n }\n }\n });\n // Called after slide is mounted\n this.glide.on('mount.after', () => {\n this.EMIT(this.CUSTOM_MESSAGES.CAROUSEL_EVENTS.GENERAL_MOUNTED, { element: element });\n });\n\n if (this.$options.perView === 'auto') this.handleReSize();\n if (this.$options.createbullets) {\n this.createBullets();\n }\n if (this.$bullets) this.initBullets();\n let customComponents = components;\n if (this.conf.boundTo) customComponents = { ...customComponents, boundTo: boundTo };\n\n if (this.conf.peek && this.conf.bound && isObject(this.conf.peek)) {\n this.glide.mutate([this.fixBoundPeek]).mount(customComponents);\n } else {\n this.glide.mount(customComponents);\n }\n\n this.toggleFlags(true);\n }\n\n initBulletsAriaCurrent() {\n if (this.$bullets && this.$bullets.length > 0 && this.$bullets[this.glide.index]) {\n this.$bullets.forEach((bullet, index) => {\n this.setAriaCurrent(bullet, index);\n });\n }\n }\n\n setAriaCurrent(button, index) {\n button.ariaCurrent = index === this.glide.index;\n }\n\n setAriaLabel(button, index) {\n button.ariaLabel = 'Vai alla slide ' + index;\n }\n\n moveStepFour() {\n const currentIndex = this.glide.index;\n\n /** checks if the difference between the current position and the carousel length is bigger than the\n visible slides plus the step of four, in which case allows the step of four */\n if (this.$slides.length - currentIndex >= +this.conf.perView + 4) {\n this.$stepFourForward.dataset.glideDir = '=' + (currentIndex + 4);\n } else {\n this.$stepFourForward.dataset.glideDir = '=' + (this.$slides.length - this.conf.perView);\n }\n if (currentIndex > 3) {\n this.$stepFourBackward.dataset.glideDir = '=' + (currentIndex - 4);\n } else {\n this.$stepFourBackward.dataset.glideDir = '=0';\n }\n }\n\n enableArrows() {\n this.$arrows.classList[this.glide.index == 0 ? 'add' : 'remove'](this.CLASSES.disableLeft);\n let endSlide = this.bulletsNeeded && this.bulletsNeeded > 0 ? this.bulletsNeeded : this.$slides.length - 1;\n let boundFinish = !!this.conf.boundTo && this.glide.index >= this.$slides.length - 1 - this.conf.boundTo;\n this.$arrows.classList[\n this.glide.index >= endSlide ||\n this.glide.settings.perView > this.$slides.length - 1 ||\n boundFinish ||\n (this.$stepFourForward &&\n this.$stepFourBackward &&\n !this.$multisearchSkip &&\n this.glide.index == this.$slides.length - Math.round(this.conf.perView) - 1 &&\n !window.isMobile()) ||\n (this.$stepFourForward && this.$stepFourBackward && this.$multisearchSkip && this.glide.index >= 5 && !window.isMobile())\n ? 'add'\n : 'remove'\n ](this.CLASSES.disableRight);\n this.enableArrowsAccessibility();\n }\n\n enableArrowsAccessibility() {\n let arrowRight = this.$arrows.querySelector(this.SELECTORS.arrowRight);\n let arrowLeft = this.$arrows.querySelector(this.SELECTORS.arrowLeft);\n\n if (arrowRight) {\n if (this.$arrows.classList.contains(this.CLASSES.disableRight)) {\n arrowRight.setAttribute(this.CLASSES.ariaDisabled, 'true');\n arrowRight.setAttribute('tabindex', '-1');\n } else {\n arrowRight.setAttribute(this.CLASSES.ariaDisabled, 'false');\n arrowRight.removeAttribute('tabindex', '-1');\n }\n }\n if (arrowLeft) {\n if (this.$arrows.classList.contains(this.CLASSES.disableLeft)) {\n arrowLeft.setAttribute(this.CLASSES.ariaDisabled, 'true');\n arrowLeft.setAttribute('tabindex', '-1');\n } else {\n arrowLeft.setAttribute(this.CLASSES.ariaDisabled, 'false');\n arrowLeft.removeAttribute('tabindex', '-1');\n }\n }\n }\n\n // eslint-disable-next-line sonarjs/cognitive-complexity\n initBullets() {\n if (this.glide) {\n //extract breakpoints config (if setted) and parse the values\n const carouselBr = Object.keys(this.conf.breakpoints)?.map((el) => {\n let intBr = 0;\n try {\n intBr = parseInt(el);\n } catch (err) {\n console.error(err);\n }\n return intBr;\n });\n\n let currentBreakpoint = 0;\n Object.values(window.mqObj).forEach((element) => {\n if (window.innerWidth >= element) {\n currentBreakpoint = element;\n }\n });\n\n //filter from breakpoint where perView parameter is setted\n const indexBr = carouselBr?.filter((br) => {\n return br > currentBreakpoint && this.conf.breakpoints[br]?.perView;\n });\n\n //sort asc\n const sortedIndexBr = indexBr?.sort((a, b) => a - b);\n\n let slidesPerView;\n if (sortedIndexBr?.length) {\n try {\n //if perView parameter is set as float we round it\n slidesPerView = Math.floor(this.conf.breakpoints[sortedIndexBr[0]].perView);\n } catch (err) {\n console.error(err);\n }\n } else {\n try {\n // no perView config for breakpoint, take default\n slidesPerView = parseInt(this.conf.perView);\n } catch (err) {\n console.error(err);\n }\n }\n\n this.bulletsNeeded = this.$slides.length - slidesPerView;\n\n // add d-none class for the bullets that will cause carousel overflow\n this.$bullets.forEach((bul, i) => {\n bul.ariaHidden = true;\n bul.tabIndex = -1;\n this.setAriaLabel(bul, i + 1);\n this.setAriaCurrent(bul, i);\n bul.classList.remove(this.CLASSES.hide);\n if (i > this.bulletsNeeded) {\n bul.classList.add(this.CLASSES.hide);\n }\n });\n if (this.$el.querySelector(this.SELECTORS.bullets)) {\n this.$el.querySelector(this.SELECTORS.bullets).ariaHidden = true;\n }\n }\n }\n\n destroy() {\n if (this.glide) {\n this.glide.destroy();\n this.glide = undefined;\n this.toggleFlags(false);\n }\n }\n\n toggleFlags(toggle) {\n this.isMount = toggle;\n this.$el.classList[!toggle ? 'add' : 'remove'](this.CLASSES.unmounted);\n this.$el.classList[toggle ? 'add' : 'remove'](this.CLASSES.mounted);\n }\n\n /**\n * Function to calculate how many slides per view\n */\n calculateSlidesPerView() {\n if (!this.conf.autoSlidesPerView) return;\n let trackWidth = this.$track.offsetWidth;\n let peek = 0;\n if (this.conf.peekCustom && isNaN(this.conf.peekCustom)) {\n peek = peek + this.conf.peekCustom.before ? this.conf.peekCustom.before : 0;\n peek = peek + this.conf.peekCustom.after ? this.conf.peekCustom.after : 0;\n }\n trackWidth -= peek ? peek : 0;\n if (!this.perViewAutoSlideWidth) this.perViewAutoSlideWidth = outerWidth(this.$slides[0]);\n this.conf.perView = trackWidth / this.perViewAutoSlideWidth;\n }\n\n /**\n * Function to bound the carousel to show at least half the slides per view when loading\n */\n limitBoundary() {\n if (!this.conf.beyondTheBoundary) return;\n if (this.conf.startAt && this.conf.startAt > 0 && this.$slides.length - Number(this.conf.startAt) >= this.conf.perView - 1) {\n this.conf.startAt = Number(this.conf.startAt) - 1;\n }\n if (this.conf.startAt && this.$slides.length - Number(this.conf.startAt) < this.conf.perView - 1) {\n this.conf.startAt = this.conf.perView > this.$slides.length ? '0' : this.$slides.length - this.conf.perView + 1;\n }\n }\n\n handleReSize() {\n this.glide.on('resize', () => {\n this.calculateSlidesPerView();\n this.limitBoundary();\n this.glide.update({ perView: this.conf.perView });\n this.enableArrows();\n });\n }\n /**\n * automatic bullet creations\n */\n createBullets() {\n this.$bulletWrapper = this.$el.querySelector(this.SELECTORS.bullets);\n if (this.$bulletWrapper && this.$slides.length > 1) {\n this.$bulletWrapper.innerHTML = '';\n const fragment = document.createDocumentFragment();\n this.$slides.forEach(\n /** @param {HTMLElement} slide\n * @param {Number} index */ (slide, index) => {\n let btn = document.createElement('button');\n btn.classList.add('glide__bullet');\n btn.setAttribute('data-glide-dir', `=${index}`);\n this.setAriaLabel(btn, index + 1);\n fragment.appendChild(btn);\n }\n );\n this.$bulletWrapper.appendChild(fragment);\n this.$bullets = /** @type {HTMLElement[]} */ ([...this.$el.querySelectorAll(this.SELECTORS.bullet)]);\n }\n }\n\n fixBoundPeek(Glide, Components, Events) {\n return {\n /**\n * Fix peek 'after' with 'bound' option.\n *\n * @param {Number} translate\n * @return {Number}\n */\n modify(translate) {\n var isBound = Components.Run.isBound;\n // future method from 'master'\n if (typeof isBound !== 'function') {\n isBound = function() {\n return Glide.isType('slider') && Glide.settings.focusAt !== 'center' && Glide.settings.bound;\n };\n }\n\n if (isBound() && Components.Run.isEnd()) {\n const peek = Components.Peek.value;\n\n if (typeof peek === 'object' && peek.after) {\n return translate - peek.after;\n }\n\n return translate - peek;\n }\n\n return translate;\n }\n };\n }\n}\n"],"sourceRoot":""}