Geen omschrijving

src_app_home_home_module_ts.js 494KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150815181528153815481558156815781588159816081618162816381648165816681678168816981708171817281738174817581768177817881798180818181828183818481858186818781888189819081918192819381948195819681978198819982008201820282038204820582068207820882098210821182128213821482158216821782188219822082218222822382248225822682278228822982308231823282338234823582368237823882398240824182428243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333833483358336833783388339834083418342834383448345834683478348834983508351835283538354835583568357835883598360836183628363836483658366836783688369837083718372837383748375837683778378837983808381838283838384838583868387838883898390839183928393839483958396839783988399840084018402840384048405840684078408840984108411841284138414841584168417841884198420842184228423842484258426842784288429843084318432843384348435843684378438843984408441844284438444844584468447844884498450845184528453845484558456845784588459846084618462846384648465846684678468846984708471847284738474847584768477847884798480848184828483848484858486848784888489849084918492849384948495849684978498849985008501850285038504850585068507850885098510851185128513851485158516851785188519852085218522852385248525852685278528852985308531853285338534853585368537853885398540854185428543854485458546854785488549855085518552855385548555855685578558855985608561856285638564856585668567856885698570857185728573857485758576857785788579858085818582858385848585858685878588858985908591859285938594859585968597859885998600860186028603860486058606860786088609861086118612861386148615861686178618861986208621862286238624862586268627862886298630863186328633863486358636863786388639864086418642864386448645864686478648864986508651865286538654865586568657865886598660866186628663866486658666866786688669867086718672867386748675867686778678867986808681868286838684868586868687868886898690869186928693869486958696869786988699870087018702870387048705870687078708870987108711871287138714871587168717871887198720872187228723872487258726872787288729873087318732873387348735873687378738873987408741874287438744874587468747874887498750875187528753875487558756875787588759876087618762876387648765876687678768876987708771877287738774877587768777877887798780878187828783878487858786878787888789879087918792879387948795879687978798879988008801880288038804880588068807880888098810881188128813881488158816881788188819882088218822882388248825882688278828882988308831883288338834883588368837883888398840884188428843884488458846884788488849885088518852885388548855885688578858885988608861886288638864886588668867886888698870887188728873887488758876887788788879888088818882888388848885888688878888888988908891889288938894889588968897889888998900890189028903890489058906890789088909891089118912891389148915891689178918891989208921892289238924892589268927892889298930893189328933893489358936893789388939894089418942894389448945894689478948894989508951895289538954895589568957895889598960896189628963896489658966896789688969897089718972897389748975897689778978897989808981898289838984898589868987898889898990899189928993899489958996899789988999900090019002900390049005900690079008900990109011901290139014901590169017901890199020902190229023902490259026902790289029903090319032903390349035903690379038903990409041904290439044904590469047904890499050905190529053905490559056905790589059906090619062906390649065906690679068906990709071907290739074907590769077907890799080908190829083908490859086908790889089909090919092909390949095909690979098909991009101910291039104910591069107910891099110911191129113911491159116911791189119912091219122912391249125912691279128912991309131913291339134913591369137913891399140914191429143914491459146914791489149915091519152915391549155915691579158915991609161916291639164916591669167916891699170917191729173917491759176917791789179918091819182918391849185918691879188918991909191919291939194919591969197919891999200920192029203920492059206920792089209921092119212921392149215921692179218921992209221922292239224922592269227922892299230923192329233923492359236923792389239924092419242924392449245924692479248924992509251925292539254925592569257925892599260926192629263926492659266926792689269927092719272927392749275927692779278927992809281928292839284928592869287928892899290929192929293929492959296929792989299930093019302930393049305930693079308930993109311931293139314931593169317931893199320932193229323932493259326932793289329933093319332933393349335933693379338933993409341934293439344934593469347934893499350935193529353935493559356935793589359936093619362936393649365936693679368936993709371937293739374937593769377937893799380938193829383938493859386938793889389939093919392939393949395939693979398939994009401940294039404940594069407940894099410941194129413941494159416941794189419942094219422942394249425942694279428942994309431943294339434943594369437943894399440944194429443944494459446944794489449945094519452945394549455945694579458945994609461946294639464946594669467946894699470947194729473947494759476947794789479948094819482948394849485948694879488948994909491949294939494949594969497949894999500950195029503950495059506950795089509951095119512951395149515951695179518951995209521952295239524952595269527952895299530953195329533953495359536953795389539954095419542954395449545954695479548954995509551955295539554955595569557955895599560956195629563956495659566956795689569957095719572957395749575957695779578957995809581958295839584958595869587958895899590959195929593959495959596959795989599960096019602960396049605960696079608960996109611961296139614961596169617961896199620962196229623962496259626962796289629963096319632963396349635963696379638963996409641964296439644964596469647964896499650965196529653965496559656965796589659966096619662966396649665966696679668966996709671967296739674967596769677967896799680968196829683968496859686968796889689969096919692969396949695969696979698969997009701970297039704970597069707970897099710971197129713971497159716971797189719972097219722972397249725972697279728972997309731973297339734973597369737973897399740974197429743974497459746974797489749975097519752975397549755975697579758975997609761976297639764976597669767976897699770977197729773977497759776977797789779978097819782978397849785978697879788978997909791979297939794979597969797979897999800980198029803980498059806980798089809981098119812981398149815981698179818981998209821982298239824982598269827982898299830983198329833983498359836983798389839984098419842984398449845984698479848984998509851985298539854985598569857985898599860986198629863986498659866986798689869987098719872987398749875987698779878987998809881988298839884988598869887988898899890989198929893989498959896989798989899990099019902990399049905990699079908990999109911991299139914991599169917991899199920992199229923992499259926992799289929993099319932993399349935993699379938993999409941994299439944994599469947994899499950995199529953995499559956995799589959996099619962996399649965996699679968996999709971997299739974997599769977997899799980998199829983998499859986998799889989999099919992999399949995999699979998999910000100011000210003100041000510006100071000810009100101001110012100131001410015100161001710018100191002010021100221002310024100251002610027100281002910030100311003210033100341003510036100371003810039100401004110042100431004410045100461004710048100491005010051100521005310054100551005610057100581005910060100611006210063100641006510066100671006810069100701007110072100731007410075100761007710078100791008010081100821008310084100851008610087100881008910090100911009210093100941009510096100971009810099101001010110102101031010410105101061010710108101091011010111101121011310114101151011610117101181011910120101211012210123101241012510126101271012810129101301013110132101331013410135101361013710138101391014010141101421014310144101451014610147101481014910150101511015210153101541015510156101571015810159101601016110162101631016410165101661016710168101691017010171101721017310174101751017610177101781017910180101811018210183101841018510186101871018810189101901019110192101931019410195101961019710198101991020010201102021020310204102051020610207102081020910210102111021210213102141021510216102171021810219102201022110222102231022410225102261022710228102291023010231102321023310234102351023610237102381023910240102411024210243102441024510246102471024810249102501025110252102531025410255102561025710258102591026010261102621026310264102651026610267102681026910270102711027210273102741027510276102771027810279102801028110282102831028410285102861028710288102891029010291102921029310294102951029610297102981029910300103011030210303103041030510306103071030810309103101031110312103131031410315103161031710318103191032010321103221032310324103251032610327103281032910330103311033210333103341033510336103371033810339103401034110342103431034410345103461034710348103491035010351103521035310354103551035610357103581035910360103611036210363103641036510366103671036810369103701037110372103731037410375103761037710378103791038010381103821038310384103851038610387103881038910390103911039210393103941039510396103971039810399104001040110402104031040410405104061040710408104091041010411104121041310414104151041610417104181041910420104211042210423104241042510426104271042810429104301043110432104331043410435104361043710438104391044010441104421044310444104451044610447104481044910450104511045210453104541045510456104571045810459104601046110462104631046410465104661046710468104691047010471104721047310474104751047610477104781047910480104811048210483104841048510486104871048810489104901049110492104931049410495104961049710498104991050010501105021050310504105051050610507105081050910510105111051210513105141051510516105171051810519105201052110522105231052410525105261052710528105291053010531105321053310534105351053610537105381053910540105411054210543105441054510546105471054810549105501055110552105531055410555105561055710558105591056010561105621056310564105651056610567105681056910570105711057210573105741057510576105771057810579105801058110582105831058410585105861058710588105891059010591105921059310594105951059610597105981059910600106011060210603106041060510606106071060810609106101061110612106131061410615106161061710618106191062010621106221062310624106251062610627106281062910630106311063210633106341063510636106371063810639106401064110642106431064410645106461064710648106491065010651106521065310654106551065610657106581065910660106611066210663106641066510666106671066810669106701067110672106731067410675106761067710678106791068010681106821068310684106851068610687106881068910690106911069210693106941069510696106971069810699107001070110702107031070410705107061070710708107091071010711107121071310714107151071610717107181071910720107211072210723107241072510726107271072810729107301073110732107331073410735107361073710738107391074010741107421074310744107451074610747107481074910750107511075210753107541075510756107571075810759107601076110762107631076410765107661076710768107691077010771107721077310774107751077610777107781077910780107811078210783107841078510786107871078810789107901079110792107931079410795107961079710798107991080010801108021080310804108051080610807108081080910810108111081210813108141081510816108171081810819108201082110822108231082410825108261082710828108291083010831108321083310834108351083610837108381083910840108411084210843108441084510846108471084810849108501085110852108531085410855108561085710858108591086010861108621086310864108651086610867108681086910870108711087210873108741087510876108771087810879108801088110882108831088410885108861088710888108891089010891108921089310894108951089610897108981089910900109011090210903109041090510906109071090810909109101091110912109131091410915109161091710918109191092010921109221092310924109251092610927109281092910930109311093210933109341093510936109371093810939109401094110942109431094410945109461094710948109491095010951109521095310954109551095610957109581095910960109611096210963109641096510966109671096810969109701097110972109731097410975109761097710978109791098010981109821098310984109851098610987109881098910990109911099210993109941099510996109971099810999110001100111002110031100411005110061100711008110091101011011110121101311014110151101611017110181101911020110211102211023110241102511026110271102811029110301103111032110331103411035110361103711038110391104011041110421104311044110451104611047110481104911050110511105211053110541105511056110571105811059110601106111062110631106411065110661106711068110691107011071110721107311074110751107611077110781107911080110811108211083110841108511086110871108811089110901109111092110931109411095110961109711098110991110011101111021110311104111051110611107111081110911110111111111211113111141111511116111171111811119111201112111122111231112411125111261112711128111291113011131111321113311134111351113611137111381113911140111411114211143111441114511146111471114811149111501115111152111531115411155111561115711158111591116011161111621116311164111651116611167111681116911170111711117211173111741117511176111771117811179111801118111182111831118411185111861118711188111891119011191111921119311194111951119611197111981119911200112011120211203112041120511206112071120811209112101121111212112131121411215112161121711218112191122011221112221122311224112251122611227112281122911230112311123211233112341123511236112371123811239112401124111242112431124411245112461124711248112491125011251112521125311254112551125611257112581125911260112611126211263112641126511266112671126811269112701127111272112731127411275112761127711278112791128011281112821128311284112851128611287112881128911290112911129211293112941129511296112971129811299113001130111302113031130411305113061130711308113091131011311113121131311314113151131611317113181131911320113211132211323113241132511326113271132811329113301133111332113331133411335113361133711338113391134011341113421134311344113451134611347113481134911350113511135211353113541135511356113571135811359113601136111362113631136411365113661136711368113691137011371113721137311374113751137611377113781137911380113811138211383113841138511386113871138811389113901139111392113931139411395113961139711398113991140011401114021140311404114051140611407114081140911410114111141211413114141141511416114171141811419114201142111422114231142411425114261142711428114291143011431114321143311434114351143611437114381143911440114411144211443114441144511446114471144811449114501145111452114531145411455114561145711458114591146011461114621146311464114651146611467114681146911470114711147211473114741147511476114771147811479114801148111482114831148411485114861148711488114891149011491114921149311494114951149611497114981149911500115011150211503115041150511506115071150811509115101151111512115131151411515115161151711518115191152011521115221152311524115251152611527115281152911530115311153211533115341153511536115371153811539115401154111542115431154411545115461154711548115491155011551115521155311554115551155611557115581155911560115611156211563115641156511566115671156811569115701157111572115731157411575115761157711578115791158011581115821158311584115851158611587115881158911590115911159211593115941159511596115971159811599116001160111602116031160411605116061160711608116091161011611116121161311614116151161611617116181161911620116211162211623116241162511626116271162811629116301163111632116331163411635116361163711638116391164011641116421164311644116451164611647116481164911650116511165211653116541165511656116571165811659116601166111662116631166411665116661166711668116691167011671116721167311674116751167611677116781167911680116811168211683116841168511686116871168811689116901169111692116931169411695116961169711698116991170011701117021170311704117051170611707117081170911710117111171211713117141171511716117171171811719117201172111722117231172411725117261172711728117291173011731117321173311734117351173611737117381173911740117411174211743117441174511746117471174811749117501175111752117531175411755117561175711758117591176011761117621176311764117651176611767117681176911770117711177211773117741177511776117771177811779117801178111782117831178411785117861178711788117891179011791117921179311794117951179611797117981179911800118011180211803118041180511806118071180811809118101181111812118131181411815118161181711818118191182011821118221182311824118251182611827118281182911830118311183211833118341183511836118371183811839118401184111842118431184411845118461184711848118491185011851118521185311854118551185611857118581185911860118611186211863118641186511866118671186811869118701187111872118731187411875118761187711878118791188011881118821188311884118851188611887118881188911890118911189211893118941189511896118971189811899119001190111902119031190411905119061190711908119091191011911119121191311914119151191611917119181191911920119211192211923119241192511926119271192811929119301193111932119331193411935119361193711938119391194011941119421194311944119451194611947119481194911950119511195211953119541195511956119571195811959119601196111962119631196411965119661196711968119691197011971119721197311974119751197611977119781197911980119811198211983119841198511986119871198811989119901199111992119931199411995119961199711998119991200012001120021200312004120051200612007120081200912010120111201212013120141201512016120171201812019120201202112022120231202412025120261202712028120291203012031120321203312034120351203612037120381203912040120411204212043120441204512046120471204812049120501205112052120531205412055120561205712058120591206012061120621206312064120651206612067120681206912070120711207212073120741207512076120771207812079120801208112082120831208412085120861208712088120891209012091120921209312094120951209612097120981209912100121011210212103121041210512106121071210812109121101211112112121131211412115121161211712118121191212012121121221212312124121251212612127121281212912130121311213212133121341213512136121371213812139121401214112142121431214412145121461214712148121491215012151121521215312154121551215612157121581215912160121611216212163121641216512166121671216812169121701217112172121731217412175121761217712178121791218012181121821218312184121851218612187121881218912190121911219212193121941219512196121971219812199122001220112202122031220412205122061220712208122091221012211122121221312214122151221612217122181221912220122211222212223122241222512226122271222812229122301223112232122331223412235122361223712238122391224012241122421224312244122451224612247122481224912250122511225212253122541225512256122571225812259122601226112262122631226412265122661226712268122691227012271122721227312274122751227612277122781227912280122811228212283122841228512286122871228812289122901229112292122931229412295122961229712298122991230012301123021230312304123051230612307123081230912310123111231212313123141231512316123171231812319123201232112322123231232412325123261232712328123291233012331123321233312334123351233612337123381233912340123411234212343123441234512346123471234812349123501235112352123531235412355123561235712358123591236012361123621236312364123651236612367123681236912370123711237212373123741237512376123771237812379123801238112382123831238412385123861238712388123891239012391123921239312394123951239612397123981239912400124011240212403124041240512406124071240812409124101241112412124131241412415124161241712418124191242012421124221242312424124251242612427124281242912430124311243212433124341243512436124371243812439124401244112442124431244412445124461244712448124491245012451124521245312454124551245612457124581245912460124611246212463124641246512466124671246812469124701247112472124731247412475124761247712478124791248012481124821248312484124851248612487124881248912490124911249212493124941249512496124971249812499125001250112502125031250412505125061250712508125091251012511125121251312514125151251612517125181251912520125211252212523125241252512526125271252812529125301253112532125331253412535125361253712538125391254012541125421254312544125451254612547125481254912550125511255212553125541255512556125571255812559125601256112562125631256412565125661256712568125691257012571125721257312574125751257612577125781257912580125811258212583125841258512586125871258812589125901259112592125931259412595125961259712598125991260012601126021260312604126051260612607126081260912610126111261212613126141261512616126171261812619126201262112622126231262412625126261262712628126291263012631126321263312634126351263612637126381263912640126411264212643126441264512646126471264812649126501265112652126531265412655126561265712658126591266012661126621266312664126651266612667126681266912670126711267212673126741267512676126771267812679126801268112682126831268412685126861268712688126891269012691126921269312694126951269612697126981269912700127011270212703127041270512706127071270812709127101271112712127131271412715127161271712718127191272012721127221272312724127251272612727127281272912730127311273212733127341273512736127371273812739127401274112742127431274412745127461274712748127491275012751127521275312754127551275612757127581275912760127611276212763127641276512766127671276812769127701277112772127731277412775127761277712778127791278012781127821278312784127851278612787127881278912790127911279212793127941279512796127971279812799128001280112802128031280412805128061280712808128091281012811128121281312814128151281612817128181281912820128211282212823128241282512826128271282812829128301283112832128331283412835128361283712838128391284012841128421284312844128451284612847128481284912850128511285212853128541285512856128571285812859128601286112862128631286412865128661286712868128691287012871128721287312874128751287612877128781287912880128811288212883128841288512886128871288812889128901289112892128931289412895128961289712898128991290012901129021290312904129051290612907129081290912910129111291212913129141291512916129171291812919129201292112922129231292412925129261292712928129291293012931129321293312934129351293612937129381293912940129411294212943129441294512946129471294812949129501295112952129531295412955129561295712958129591296012961129621296312964129651296612967129681296912970129711297212973129741297512976129771297812979129801298112982129831298412985129861298712988129891299012991129921299312994129951299612997129981299913000130011300213003130041300513006130071300813009130101301113012130131301413015130161301713018130191302013021130221302313024130251302613027130281302913030130311303213033130341303513036130371303813039130401304113042130431304413045130461304713048130491305013051130521305313054130551305613057130581305913060130611306213063130641306513066130671306813069130701307113072130731307413075130761307713078130791308013081130821308313084130851308613087130881308913090130911309213093130941309513096130971309813099131001310113102131031310413105131061310713108131091311013111131121311313114131151311613117131181311913120131211312213123131241312513126131271312813129131301313113132131331313413135131361313713138131391314013141131421314313144131451314613147131481314913150131511315213153131541315513156131571315813159131601316113162131631316413165131661316713168131691317013171131721317313174131751317613177131781317913180131811318213183131841318513186131871318813189131901319113192131931319413195131961319713198131991320013201132021320313204132051320613207132081320913210132111321213213132141321513216132171321813219132201322113222132231322413225132261322713228132291323013231132321323313234132351323613237132381323913240132411324213243132441324513246132471324813249132501325113252132531325413255132561325713258132591326013261132621326313264132651326613267132681326913270132711327213273132741327513276132771327813279132801328113282132831328413285132861328713288132891329013291132921329313294132951329613297132981329913300133011330213303133041330513306133071330813309133101331113312133131331413315133161331713318133191332013321133221332313324133251332613327133281332913330133311333213333133341333513336133371333813339133401334113342133431334413345133461334713348133491335013351133521335313354133551335613357133581335913360133611336213363133641336513366133671336813369133701337113372133731337413375133761337713378133791338013381133821338313384133851338613387133881338913390133911339213393133941339513396133971339813399134001340113402134031340413405134061340713408134091341013411134121341313414134151341613417134181341913420134211342213423134241342513426134271342813429134301343113432134331343413435134361343713438134391344013441134421344313444134451344613447134481344913450134511345213453134541345513456134571345813459134601346113462134631346413465134661346713468134691347013471134721347313474134751347613477134781347913480134811348213483134841348513486134871348813489134901349113492134931349413495134961349713498134991350013501135021350313504135051350613507135081350913510135111351213513135141351513516135171351813519135201352113522135231352413525135261352713528135291353013531135321353313534135351353613537135381353913540135411354213543135441354513546135471354813549135501355113552135531355413555135561355713558135591356013561135621356313564135651356613567135681356913570135711357213573135741357513576135771357813579135801358113582135831358413585135861358713588135891359013591135921359313594135951359613597135981359913600136011360213603136041360513606136071360813609136101361113612136131361413615136161361713618136191362013621136221362313624136251362613627136281362913630136311363213633136341363513636136371363813639136401364113642136431364413645136461364713648136491365013651136521365313654136551365613657136581365913660136611366213663136641366513666136671366813669136701367113672136731367413675136761367713678136791368013681136821368313684136851368613687136881368913690136911369213693136941369513696136971369813699137001370113702137031370413705137061370713708137091371013711137121371313714137151371613717137181371913720137211372213723137241372513726137271372813729137301373113732137331373413735137361373713738137391374013741137421374313744137451374613747137481374913750137511375213753137541375513756137571375813759137601376113762137631376413765137661376713768137691377013771137721377313774137751377613777137781377913780137811378213783137841378513786137871378813789137901379113792137931379413795137961379713798137991380013801138021380313804138051380613807138081380913810138111381213813138141381513816138171381813819138201382113822138231382413825138261382713828138291383013831138321383313834138351383613837138381383913840138411384213843138441384513846138471384813849138501385113852138531385413855138561385713858138591386013861138621386313864138651386613867138681386913870138711387213873138741387513876138771387813879138801388113882138831388413885138861388713888138891389013891138921389313894138951389613897138981389913900139011390213903139041390513906139071390813909139101391113912139131391413915139161391713918139191392013921139221392313924139251392613927139281392913930139311393213933139341393513936139371393813939139401394113942139431394413945139461394713948139491395013951139521395313954139551395613957139581395913960139611396213963139641396513966139671396813969139701397113972139731397413975139761397713978139791398013981139821398313984139851398613987139881398913990139911399213993139941399513996139971399813999140001400114002140031400414005140061400714008140091401014011140121401314014140151401614017140181401914020140211402214023140241402514026140271402814029140301403114032140331403414035140361403714038140391404014041140421404314044140451404614047140481404914050140511405214053140541405514056140571405814059140601406114062140631406414065140661406714068140691407014071140721407314074140751407614077140781407914080140811408214083140841408514086140871408814089140901409114092140931409414095140961409714098140991410014101141021410314104141051410614107141081410914110141111411214113141141411514116141171411814119141201412114122141231412414125141261412714128141291413014131141321413314134141351413614137141381413914140141411414214143141441414514146141471414814149141501415114152141531415414155141561415714158141591416014161141621416314164141651416614167141681416914170141711417214173141741417514176141771417814179141801418114182141831418414185141861418714188141891419014191141921419314194141951419614197141981419914200142011420214203142041420514206142071420814209142101421114212142131421414215142161421714218142191422014221142221422314224142251422614227142281422914230142311423214233142341423514236142371423814239142401424114242142431424414245142461424714248142491425014251142521425314254142551425614257142581425914260142611426214263142641426514266142671426814269142701427114272142731427414275142761427714278142791428014281142821428314284142851428614287142881428914290142911429214293142941429514296142971429814299143001430114302143031430414305143061430714308143091431014311143121431314314143151431614317143181431914320143211432214323143241432514326143271432814329143301433114332143331433414335143361433714338143391434014341143421434314344143451434614347143481434914350143511435214353143541435514356143571435814359143601436114362143631436414365143661436714368143691437014371143721437314374143751437614377143781437914380143811438214383143841438514386143871438814389143901439114392143931439414395143961439714398143991440014401144021440314404144051440614407144081440914410144111441214413144141441514416144171441814419144201442114422144231442414425144261442714428144291443014431144321443314434144351443614437144381443914440144411444214443144441444514446144471444814449144501445114452144531445414455144561445714458144591446014461144621446314464144651446614467144681446914470144711447214473144741447514476144771447814479144801448114482144831448414485144861448714488144891449014491144921449314494144951449614497144981449914500145011450214503145041450514506145071450814509145101451114512145131451414515145161451714518145191452014521145221452314524145251452614527145281452914530145311453214533145341453514536145371453814539145401454114542145431454414545145461454714548145491455014551145521455314554145551455614557145581455914560145611456214563145641456514566145671456814569145701457114572145731457414575145761457714578145791458014581145821458314584145851458614587145881458914590145911459214593145941459514596145971459814599146001460114602146031460414605146061460714608146091461014611146121461314614146151461614617146181461914620146211462214623146241462514626146271462814629146301463114632146331463414635146361463714638146391464014641146421464314644146451464614647146481464914650146511465214653146541465514656146571465814659146601466114662146631466414665146661466714668146691467014671146721467314674146751467614677146781467914680146811468214683146841468514686146871468814689146901469114692146931469414695146961469714698146991470014701147021470314704147051470614707147081470914710147111471214713147141471514716147171471814719147201472114722147231472414725147261472714728147291473014731147321473314734147351473614737147381473914740147411474214743147441474514746147471474814749147501475114752147531475414755147561475714758147591476014761147621476314764147651476614767147681476914770147711477214773147741477514776147771477814779147801478114782147831478414785147861478714788147891479014791147921479314794147951479614797147981479914800148011480214803148041480514806148071480814809148101481114812148131481414815148161481714818148191482014821148221482314824148251482614827148281482914830148311483214833148341483514836148371483814839148401484114842148431484414845148461484714848148491485014851148521485314854148551485614857148581485914860148611486214863148641486514866148671486814869148701487114872148731487414875148761487714878148791488014881148821488314884148851488614887148881488914890148911489214893148941489514896148971489814899149001490114902149031490414905149061490714908149091491014911149121491314914149151491614917149181491914920149211492214923149241492514926149271492814929149301493114932149331493414935149361493714938149391494014941149421494314944149451494614947149481494914950149511495214953149541495514956149571495814959149601496114962149631496414965149661496714968149691497014971149721497314974149751497614977149781497914980149811498214983149841498514986149871498814989149901499114992149931499414995149961499714998149991500015001150021500315004150051500615007150081500915010150111501215013150141501515016150171501815019150201502115022150231502415025150261502715028150291503015031150321503315034150351503615037150381503915040150411504215043150441504515046150471504815049150501505115052150531505415055150561505715058150591506015061150621506315064150651506615067150681506915070150711507215073150741507515076150771507815079150801508115082
  1. "use strict";
  2. (self["webpackChunkapp"] = self["webpackChunkapp"] || []).push([["src_app_home_home_module_ts"],{
  3. /***/ 2003:
  4. /*!*********************************************!*\
  5. !*** ./src/app/home/home-routing.module.ts ***!
  6. \*********************************************/
  7. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  8. __webpack_require__.r(__webpack_exports__);
  9. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  10. /* harmony export */ "HomePageRoutingModule": () => (/* binding */ HomePageRoutingModule)
  11. /* harmony export */ });
  12. /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tslib */ 4929);
  13. /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/core */ 3184);
  14. /* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/router */ 2816);
  15. /* harmony import */ var _home_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./home.page */ 2267);
  16. const routes = [
  17. {
  18. path: '',
  19. component: _home_page__WEBPACK_IMPORTED_MODULE_0__.HomePage,
  20. }
  21. ];
  22. let HomePageRoutingModule = class HomePageRoutingModule {
  23. };
  24. HomePageRoutingModule = (0,tslib__WEBPACK_IMPORTED_MODULE_1__.__decorate)([
  25. (0,_angular_core__WEBPACK_IMPORTED_MODULE_2__.NgModule)({
  26. imports: [_angular_router__WEBPACK_IMPORTED_MODULE_3__.RouterModule.forChild(routes)],
  27. exports: [_angular_router__WEBPACK_IMPORTED_MODULE_3__.RouterModule]
  28. })
  29. ], HomePageRoutingModule);
  30. /***/ }),
  31. /***/ 3467:
  32. /*!*************************************!*\
  33. !*** ./src/app/home/home.module.ts ***!
  34. \*************************************/
  35. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  36. __webpack_require__.r(__webpack_exports__);
  37. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  38. /* harmony export */ "HomePageModule": () => (/* binding */ HomePageModule)
  39. /* harmony export */ });
  40. /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! tslib */ 4929);
  41. /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/core */ 3184);
  42. /* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @angular/common */ 6362);
  43. /* harmony import */ var _ionic_angular__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @ionic/angular */ 3819);
  44. /* harmony import */ var _angular_forms__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @angular/forms */ 587);
  45. /* harmony import */ var _home_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./home.page */ 2267);
  46. /* harmony import */ var _home_routing_module__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./home-routing.module */ 2003);
  47. /* harmony import */ var _fortawesome_angular_fontawesome__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @fortawesome/angular-fontawesome */ 9397);
  48. /* harmony import */ var swiper_angular__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! swiper/angular */ 9737);
  49. let HomePageModule = class HomePageModule {
  50. };
  51. HomePageModule = (0,tslib__WEBPACK_IMPORTED_MODULE_2__.__decorate)([
  52. (0,_angular_core__WEBPACK_IMPORTED_MODULE_3__.NgModule)({
  53. imports: [
  54. _angular_common__WEBPACK_IMPORTED_MODULE_4__.CommonModule,
  55. _angular_forms__WEBPACK_IMPORTED_MODULE_5__.FormsModule,
  56. _ionic_angular__WEBPACK_IMPORTED_MODULE_6__.IonicModule,
  57. _home_routing_module__WEBPACK_IMPORTED_MODULE_1__.HomePageRoutingModule,
  58. _fortawesome_angular_fontawesome__WEBPACK_IMPORTED_MODULE_7__.FontAwesomeModule,
  59. swiper_angular__WEBPACK_IMPORTED_MODULE_8__.SwiperModule
  60. ],
  61. declarations: [_home_page__WEBPACK_IMPORTED_MODULE_0__.HomePage]
  62. })
  63. ], HomePageModule);
  64. /***/ }),
  65. /***/ 2267:
  66. /*!***********************************!*\
  67. !*** ./src/app/home/home.page.ts ***!
  68. \***********************************/
  69. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  70. __webpack_require__.r(__webpack_exports__);
  71. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  72. /* harmony export */ "HomePage": () => (/* binding */ HomePage)
  73. /* harmony export */ });
  74. /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! tslib */ 4929);
  75. /* harmony import */ var _home_page_html_ngResource__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./home.page.html?ngResource */ 3853);
  76. /* harmony import */ var _home_page_scss_ngResource__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./home.page.scss?ngResource */ 1020);
  77. /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @angular/core */ 3184);
  78. /* harmony import */ var swiper__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! swiper */ 3587);
  79. /* harmony import */ var _services_wpdata_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../services/wpdata.service */ 9386);
  80. swiper__WEBPACK_IMPORTED_MODULE_2__["default"].use([swiper__WEBPACK_IMPORTED_MODULE_2__.Pagination, swiper__WEBPACK_IMPORTED_MODULE_2__.Autoplay, swiper__WEBPACK_IMPORTED_MODULE_2__.Navigation, swiper__WEBPACK_IMPORTED_MODULE_2__.Keyboard]);
  81. let HomePage = class HomePage {
  82. constructor(wpgetdataService) {
  83. this.wpgetdataService = wpgetdataService;
  84. this.newsdata = [];
  85. this.config = {
  86. slidesPerView: 1,
  87. pagination: { clickable: true },
  88. autoplay: {
  89. delay: 200,
  90. disableOnInteraction: false,
  91. },
  92. loop: true,
  93. navigation: true,
  94. };
  95. }
  96. ngAfterContentChecked() {
  97. if (this.swiper) {
  98. this.swiper.updateSwiper({});
  99. }
  100. }
  101. ionViewWillEnter() {
  102. this.wpgetdataService.getAllNews().subscribe((data) => {
  103. this.newsdata = data;
  104. console.log('load Lineup Data');
  105. console.log(this.newsdata);
  106. });
  107. }
  108. };
  109. HomePage.ctorParameters = () => [
  110. { type: _services_wpdata_service__WEBPACK_IMPORTED_MODULE_3__.WpdataService }
  111. ];
  112. HomePage.propDecorators = {
  113. swiper: [{ type: _angular_core__WEBPACK_IMPORTED_MODULE_4__.ViewChild, args: ['swiper',] }]
  114. };
  115. HomePage = (0,tslib__WEBPACK_IMPORTED_MODULE_5__.__decorate)([
  116. (0,_angular_core__WEBPACK_IMPORTED_MODULE_4__.Component)({
  117. selector: 'app-home',
  118. template: _home_page_html_ngResource__WEBPACK_IMPORTED_MODULE_0__,
  119. encapsulation: _angular_core__WEBPACK_IMPORTED_MODULE_4__.ViewEncapsulation.None,
  120. styles: [_home_page_scss_ngResource__WEBPACK_IMPORTED_MODULE_1__]
  121. })
  122. ], HomePage);
  123. /***/ }),
  124. /***/ 1020:
  125. /*!************************************************!*\
  126. !*** ./src/app/home/home.page.scss?ngResource ***!
  127. \************************************************/
  128. /***/ ((module) => {
  129. module.exports = ".swiper-slide {\n background-color: rgb(0, 0, 0);\n}\n\nion-content {\n font-family: Prompt !important;\n font-size: 1em;\n line-height: 1.3em;\n}\n\nion-row {\n background-color: #fcfcfc !important;\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImhvbWUucGFnZS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVNBO0VBS0UsOEJBQUE7QUFaRjs7QUFlQTtFQUNFLDhCQUFBO0VBQ0EsY0FBQTtFQUNBLGtCQUFBO0FBWkY7O0FBZUE7RUFDRSxvQ0FBQTtBQVpGIiwiZmlsZSI6ImhvbWUucGFnZS5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gaW9uLXRpdGxlIHsgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cblxuXG5cbi8vIC5zd2lwZXIgLnN3aXBlci1zbGlkZSB7XG4vLyAgIGhlaWdodDogMTAwJTtcbi8vICAgd2lkdGg6IDEwMCU7XG4vLyB9XG5cbi5zd2lwZXItc2xpZGUge1xuICAvLyBkaXNwbGF5OiBmbGV4O1xuICAvLyBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAvLyBhbGlnbi1pdGVtczogY2VudGVyO1xuICAvLyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDAsIDAsIDApO1xufVxuXG5pb24tY29udGVudCB7XG4gIGZvbnQtZmFtaWx5OiBQcm9tcHQgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAxZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjNlbTtcbn1cblxuaW9uLXJvdyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmY2ZjZmMgIWltcG9ydGFudDtcbn1cbiJdfQ== */";
  130. /***/ }),
  131. /***/ 3853:
  132. /*!************************************************!*\
  133. !*** ./src/app/home/home.page.html?ngResource ***!
  134. \************************************************/
  135. /***/ ((module) => {
  136. module.exports = "<ion-header>\n <ion-toolbar class=\"toolbar-bg-color\">\n <ion-buttons slot=\"end\">\n <ion-menu-button></ion-menu-button>\n </ion-buttons>\n <img src=\"../../../assets/icon/logo-fm99.png\" class=\"head-img\">\n </ion-toolbar>\n</ion-header>\n<ion-content>\n <swiper #swiper [config]=\"config\">\n <ng-template swiperSlide><img src=\"../../../assets/img-static/fb-Ad-1.jpeg\" alt=\"\"></ng-template>\n <ng-template swiperSlide><img src=\"../../../assets/img-static/fb-Ad-2.jpeg\" alt=\"\"></ng-template>\n <ng-template swiperSlide><img src=\"../../../assets/img-static/fb-Ad-3.jpeg\" alt=\"\"></ng-template>\n </swiper>\n <!-- <div id=\"container\">\n <fa-icon [icon]=\"['fas', 'graduation-cap']\"></fa-icon>\n <hr>\n <strong>Ready to create an app?</strong>\n <p>Start with Ionic <a target=\"_blank\" rel=\"noopener noreferrer\"\n href=\"https://ionicframework.com/docs/components\">UI Components</a></p>\n </div> -->\n <ion-grid class=\"ion-padding-vertical\">\n <ion-row>\n <ion-col>\n <h2>ข่าวกีฬา</h2>\n <hr>\n </ion-col>\n </ion-row>\n <ion-row *ngFor=\"let news of newsdata | slice:0:4\">\n <ion-col size=\"5\"> \n <img [src]=\"news.better_featured_image.source_url\" [style.width]=\"'100%'\" /> \n </ion-col>\n <ion-col class=\"ion-align-self-center\"><a [routerLink]=\"['../news-detail' , news.id]\"><span\n[innerHTML]=\"news.title.rendered\"></span>\n </a>\n </ion-col>\n </ion-row>\n </ion-grid>\n\n <ion-grid>\n <img src=\"../../../assets/img-static/banner-320x50.jpeg\" alt=\"\">\n </ion-grid>\n\n <ion-grid class=\"ion-padding-vertical\">\n <ion-row>\n <ion-col>\n <h2>รายการย้อนหลัง</h2>\n <hr>\n </ion-col>\n </ion-row>\n <ion-row>\n <ion-col size=\"5\">\n <img src=\"../../assets/img-static/mqdefault-1.jpg\">\n </ion-col>\n <ion-col class=\"ion-align-self-center\">Morning Talk [26-10-2022 l 07:30 - 09:00 น. ]</ion-col>\n </ion-row>\n <ion-row>\n <ion-col size=\"5\">\n <img src=\"../../assets/img-static/mqdefault-2.jpg\">\n </ion-col>\n <ion-col class=\"ion-align-self-center\">Golf Trick [26-10-2022 l 09:00 - 10:00 น.]</ion-col>\n </ion-row>\n <ion-row>\n <ion-col size=\"5\">\n <img src=\"../../assets/img-static/mqdefault-3.jpg\">\n </ion-col>\n <ion-col class=\"ion-align-self-center\">เจาะสนามบอลไทย [ 20-10-2022 l 20:00 - 21:30 น. ]</ion-col>\n </ion-row>\n </ion-grid>\n\n <ion-grid>\n <img src=\"../../../assets/img-static/banner-320x100.jpeg\" alt=\"\">\n </ion-grid>\n\n</ion-content>";
  137. /***/ }),
  138. /***/ 6123:
  139. /*!***************************************!*\
  140. !*** ./node_modules/dom7/dom7.esm.js ***!
  141. \***************************************/
  142. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  143. __webpack_require__.r(__webpack_exports__);
  144. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  145. /* harmony export */ "$": () => (/* binding */ $),
  146. /* harmony export */ "add": () => (/* binding */ add),
  147. /* harmony export */ "addClass": () => (/* binding */ addClass),
  148. /* harmony export */ "animate": () => (/* binding */ animate),
  149. /* harmony export */ "animationEnd": () => (/* binding */ animationEnd),
  150. /* harmony export */ "append": () => (/* binding */ append),
  151. /* harmony export */ "appendTo": () => (/* binding */ appendTo),
  152. /* harmony export */ "attr": () => (/* binding */ attr),
  153. /* harmony export */ "blur": () => (/* binding */ blur),
  154. /* harmony export */ "change": () => (/* binding */ change),
  155. /* harmony export */ "children": () => (/* binding */ children),
  156. /* harmony export */ "click": () => (/* binding */ click),
  157. /* harmony export */ "closest": () => (/* binding */ closest),
  158. /* harmony export */ "css": () => (/* binding */ css),
  159. /* harmony export */ "data": () => (/* binding */ data),
  160. /* harmony export */ "dataset": () => (/* binding */ dataset),
  161. /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__),
  162. /* harmony export */ "detach": () => (/* binding */ detach),
  163. /* harmony export */ "each": () => (/* binding */ each),
  164. /* harmony export */ "empty": () => (/* binding */ empty),
  165. /* harmony export */ "eq": () => (/* binding */ eq),
  166. /* harmony export */ "filter": () => (/* binding */ filter),
  167. /* harmony export */ "find": () => (/* binding */ find),
  168. /* harmony export */ "focus": () => (/* binding */ focus),
  169. /* harmony export */ "focusin": () => (/* binding */ focusin),
  170. /* harmony export */ "focusout": () => (/* binding */ focusout),
  171. /* harmony export */ "hasClass": () => (/* binding */ hasClass),
  172. /* harmony export */ "height": () => (/* binding */ height),
  173. /* harmony export */ "hide": () => (/* binding */ hide),
  174. /* harmony export */ "html": () => (/* binding */ html),
  175. /* harmony export */ "index": () => (/* binding */ index),
  176. /* harmony export */ "insertAfter": () => (/* binding */ insertAfter),
  177. /* harmony export */ "insertBefore": () => (/* binding */ insertBefore),
  178. /* harmony export */ "is": () => (/* binding */ is),
  179. /* harmony export */ "keydown": () => (/* binding */ keydown),
  180. /* harmony export */ "keypress": () => (/* binding */ keypress),
  181. /* harmony export */ "keyup": () => (/* binding */ keyup),
  182. /* harmony export */ "mousedown": () => (/* binding */ mousedown),
  183. /* harmony export */ "mouseenter": () => (/* binding */ mouseenter),
  184. /* harmony export */ "mouseleave": () => (/* binding */ mouseleave),
  185. /* harmony export */ "mousemove": () => (/* binding */ mousemove),
  186. /* harmony export */ "mouseout": () => (/* binding */ mouseout),
  187. /* harmony export */ "mouseover": () => (/* binding */ mouseover),
  188. /* harmony export */ "mouseup": () => (/* binding */ mouseup),
  189. /* harmony export */ "next": () => (/* binding */ next),
  190. /* harmony export */ "nextAll": () => (/* binding */ nextAll),
  191. /* harmony export */ "off": () => (/* binding */ off),
  192. /* harmony export */ "offset": () => (/* binding */ offset),
  193. /* harmony export */ "on": () => (/* binding */ on),
  194. /* harmony export */ "once": () => (/* binding */ once),
  195. /* harmony export */ "outerHeight": () => (/* binding */ outerHeight),
  196. /* harmony export */ "outerWidth": () => (/* binding */ outerWidth),
  197. /* harmony export */ "parent": () => (/* binding */ parent),
  198. /* harmony export */ "parents": () => (/* binding */ parents),
  199. /* harmony export */ "prepend": () => (/* binding */ prepend),
  200. /* harmony export */ "prependTo": () => (/* binding */ prependTo),
  201. /* harmony export */ "prev": () => (/* binding */ prev),
  202. /* harmony export */ "prevAll": () => (/* binding */ prevAll),
  203. /* harmony export */ "prop": () => (/* binding */ prop),
  204. /* harmony export */ "remove": () => (/* binding */ remove),
  205. /* harmony export */ "removeAttr": () => (/* binding */ removeAttr),
  206. /* harmony export */ "removeClass": () => (/* binding */ removeClass),
  207. /* harmony export */ "removeData": () => (/* binding */ removeData),
  208. /* harmony export */ "resize": () => (/* binding */ resize),
  209. /* harmony export */ "scroll": () => (/* binding */ scroll),
  210. /* harmony export */ "scrollLeft": () => (/* binding */ scrollLeft),
  211. /* harmony export */ "scrollTo": () => (/* binding */ scrollTo),
  212. /* harmony export */ "scrollTop": () => (/* binding */ scrollTop),
  213. /* harmony export */ "show": () => (/* binding */ show),
  214. /* harmony export */ "siblings": () => (/* binding */ siblings),
  215. /* harmony export */ "stop": () => (/* binding */ stop),
  216. /* harmony export */ "styles": () => (/* binding */ styles),
  217. /* harmony export */ "submit": () => (/* binding */ submit),
  218. /* harmony export */ "text": () => (/* binding */ text),
  219. /* harmony export */ "toggleClass": () => (/* binding */ toggleClass),
  220. /* harmony export */ "touchend": () => (/* binding */ touchend),
  221. /* harmony export */ "touchmove": () => (/* binding */ touchmove),
  222. /* harmony export */ "touchstart": () => (/* binding */ touchstart),
  223. /* harmony export */ "transform": () => (/* binding */ transform),
  224. /* harmony export */ "transition": () => (/* binding */ transition),
  225. /* harmony export */ "transitionEnd": () => (/* binding */ transitionEnd),
  226. /* harmony export */ "trigger": () => (/* binding */ trigger),
  227. /* harmony export */ "val": () => (/* binding */ val),
  228. /* harmony export */ "value": () => (/* binding */ value),
  229. /* harmony export */ "width": () => (/* binding */ width)
  230. /* harmony export */ });
  231. /* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ 2864);
  232. /**
  233. * Dom7 4.0.4
  234. * Minimalistic JavaScript library for DOM manipulation, with a jQuery-compatible API
  235. * https://framework7.io/docs/dom7.html
  236. *
  237. * Copyright 2022, Vladimir Kharlampidi
  238. *
  239. * Licensed under MIT
  240. *
  241. * Released on: January 11, 2022
  242. */
  243. /* eslint-disable no-proto */
  244. function makeReactive(obj) {
  245. const proto = obj.__proto__;
  246. Object.defineProperty(obj, '__proto__', {
  247. get() {
  248. return proto;
  249. },
  250. set(value) {
  251. proto.__proto__ = value;
  252. }
  253. });
  254. }
  255. class Dom7 extends Array {
  256. constructor(items) {
  257. if (typeof items === 'number') {
  258. super(items);
  259. } else {
  260. super(...(items || []));
  261. makeReactive(this);
  262. }
  263. }
  264. }
  265. function arrayFlat(arr = []) {
  266. const res = [];
  267. arr.forEach(el => {
  268. if (Array.isArray(el)) {
  269. res.push(...arrayFlat(el));
  270. } else {
  271. res.push(el);
  272. }
  273. });
  274. return res;
  275. }
  276. function arrayFilter(arr, callback) {
  277. return Array.prototype.filter.call(arr, callback);
  278. }
  279. function arrayUnique(arr) {
  280. const uniqueArray = [];
  281. for (let i = 0; i < arr.length; i += 1) {
  282. if (uniqueArray.indexOf(arr[i]) === -1) uniqueArray.push(arr[i]);
  283. }
  284. return uniqueArray;
  285. }
  286. function toCamelCase(string) {
  287. return string.toLowerCase().replace(/-(.)/g, (match, group) => group.toUpperCase());
  288. } // eslint-disable-next-line
  289. function qsa(selector, context) {
  290. if (typeof selector !== 'string') {
  291. return [selector];
  292. }
  293. const a = [];
  294. const res = context.querySelectorAll(selector);
  295. for (let i = 0; i < res.length; i += 1) {
  296. a.push(res[i]);
  297. }
  298. return a;
  299. }
  300. function $(selector, context) {
  301. const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
  302. const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)();
  303. let arr = [];
  304. if (!context && selector instanceof Dom7) {
  305. return selector;
  306. }
  307. if (!selector) {
  308. return new Dom7(arr);
  309. }
  310. if (typeof selector === 'string') {
  311. const html = selector.trim();
  312. if (html.indexOf('<') >= 0 && html.indexOf('>') >= 0) {
  313. let toCreate = 'div';
  314. if (html.indexOf('<li') === 0) toCreate = 'ul';
  315. if (html.indexOf('<tr') === 0) toCreate = 'tbody';
  316. if (html.indexOf('<td') === 0 || html.indexOf('<th') === 0) toCreate = 'tr';
  317. if (html.indexOf('<tbody') === 0) toCreate = 'table';
  318. if (html.indexOf('<option') === 0) toCreate = 'select';
  319. const tempParent = document.createElement(toCreate);
  320. tempParent.innerHTML = html;
  321. for (let i = 0; i < tempParent.childNodes.length; i += 1) {
  322. arr.push(tempParent.childNodes[i]);
  323. }
  324. } else {
  325. arr = qsa(selector.trim(), context || document);
  326. } // arr = qsa(selector, document);
  327. } else if (selector.nodeType || selector === window || selector === document) {
  328. arr.push(selector);
  329. } else if (Array.isArray(selector)) {
  330. if (selector instanceof Dom7) return selector;
  331. arr = selector;
  332. }
  333. return new Dom7(arrayUnique(arr));
  334. }
  335. $.fn = Dom7.prototype; // eslint-disable-next-line
  336. function addClass(...classes) {
  337. const classNames = arrayFlat(classes.map(c => c.split(' ')));
  338. this.forEach(el => {
  339. el.classList.add(...classNames);
  340. });
  341. return this;
  342. }
  343. function removeClass(...classes) {
  344. const classNames = arrayFlat(classes.map(c => c.split(' ')));
  345. this.forEach(el => {
  346. el.classList.remove(...classNames);
  347. });
  348. return this;
  349. }
  350. function toggleClass(...classes) {
  351. const classNames = arrayFlat(classes.map(c => c.split(' ')));
  352. this.forEach(el => {
  353. classNames.forEach(className => {
  354. el.classList.toggle(className);
  355. });
  356. });
  357. }
  358. function hasClass(...classes) {
  359. const classNames = arrayFlat(classes.map(c => c.split(' ')));
  360. return arrayFilter(this, el => {
  361. return classNames.filter(className => el.classList.contains(className)).length > 0;
  362. }).length > 0;
  363. }
  364. function attr(attrs, value) {
  365. if (arguments.length === 1 && typeof attrs === 'string') {
  366. // Get attr
  367. if (this[0]) return this[0].getAttribute(attrs);
  368. return undefined;
  369. } // Set attrs
  370. for (let i = 0; i < this.length; i += 1) {
  371. if (arguments.length === 2) {
  372. // String
  373. this[i].setAttribute(attrs, value);
  374. } else {
  375. // Object
  376. for (const attrName in attrs) {
  377. this[i][attrName] = attrs[attrName];
  378. this[i].setAttribute(attrName, attrs[attrName]);
  379. }
  380. }
  381. }
  382. return this;
  383. }
  384. function removeAttr(attr) {
  385. for (let i = 0; i < this.length; i += 1) {
  386. this[i].removeAttribute(attr);
  387. }
  388. return this;
  389. }
  390. function prop(props, value) {
  391. if (arguments.length === 1 && typeof props === 'string') {
  392. // Get prop
  393. if (this[0]) return this[0][props];
  394. } else {
  395. // Set props
  396. for (let i = 0; i < this.length; i += 1) {
  397. if (arguments.length === 2) {
  398. // String
  399. this[i][props] = value;
  400. } else {
  401. // Object
  402. for (const propName in props) {
  403. this[i][propName] = props[propName];
  404. }
  405. }
  406. }
  407. return this;
  408. }
  409. return this;
  410. }
  411. function data(key, value) {
  412. let el;
  413. if (typeof value === 'undefined') {
  414. el = this[0];
  415. if (!el) return undefined; // Get value
  416. if (el.dom7ElementDataStorage && key in el.dom7ElementDataStorage) {
  417. return el.dom7ElementDataStorage[key];
  418. }
  419. const dataKey = el.getAttribute(`data-${key}`);
  420. if (dataKey) {
  421. return dataKey;
  422. }
  423. return undefined;
  424. } // Set value
  425. for (let i = 0; i < this.length; i += 1) {
  426. el = this[i];
  427. if (!el.dom7ElementDataStorage) el.dom7ElementDataStorage = {};
  428. el.dom7ElementDataStorage[key] = value;
  429. }
  430. return this;
  431. }
  432. function removeData(key) {
  433. for (let i = 0; i < this.length; i += 1) {
  434. const el = this[i];
  435. if (el.dom7ElementDataStorage && el.dom7ElementDataStorage[key]) {
  436. el.dom7ElementDataStorage[key] = null;
  437. delete el.dom7ElementDataStorage[key];
  438. }
  439. }
  440. }
  441. function dataset() {
  442. const el = this[0];
  443. if (!el) return undefined;
  444. const dataset = {}; // eslint-disable-line
  445. if (el.dataset) {
  446. for (const dataKey in el.dataset) {
  447. dataset[dataKey] = el.dataset[dataKey];
  448. }
  449. } else {
  450. for (let i = 0; i < el.attributes.length; i += 1) {
  451. const attr = el.attributes[i];
  452. if (attr.name.indexOf('data-') >= 0) {
  453. dataset[toCamelCase(attr.name.split('data-')[1])] = attr.value;
  454. }
  455. }
  456. }
  457. for (const key in dataset) {
  458. if (dataset[key] === 'false') dataset[key] = false;else if (dataset[key] === 'true') dataset[key] = true;else if (parseFloat(dataset[key]) === dataset[key] * 1) dataset[key] *= 1;
  459. }
  460. return dataset;
  461. }
  462. function val(value) {
  463. if (typeof value === 'undefined') {
  464. // get value
  465. const el = this[0];
  466. if (!el) return undefined;
  467. if (el.multiple && el.nodeName.toLowerCase() === 'select') {
  468. const values = [];
  469. for (let i = 0; i < el.selectedOptions.length; i += 1) {
  470. values.push(el.selectedOptions[i].value);
  471. }
  472. return values;
  473. }
  474. return el.value;
  475. } // set value
  476. for (let i = 0; i < this.length; i += 1) {
  477. const el = this[i];
  478. if (Array.isArray(value) && el.multiple && el.nodeName.toLowerCase() === 'select') {
  479. for (let j = 0; j < el.options.length; j += 1) {
  480. el.options[j].selected = value.indexOf(el.options[j].value) >= 0;
  481. }
  482. } else {
  483. el.value = value;
  484. }
  485. }
  486. return this;
  487. }
  488. function value(value) {
  489. return this.val(value);
  490. }
  491. function transform(transform) {
  492. for (let i = 0; i < this.length; i += 1) {
  493. this[i].style.transform = transform;
  494. }
  495. return this;
  496. }
  497. function transition(duration) {
  498. for (let i = 0; i < this.length; i += 1) {
  499. this[i].style.transitionDuration = typeof duration !== 'string' ? `${duration}ms` : duration;
  500. }
  501. return this;
  502. }
  503. function on(...args) {
  504. let [eventType, targetSelector, listener, capture] = args;
  505. if (typeof args[1] === 'function') {
  506. [eventType, listener, capture] = args;
  507. targetSelector = undefined;
  508. }
  509. if (!capture) capture = false;
  510. function handleLiveEvent(e) {
  511. const target = e.target;
  512. if (!target) return;
  513. const eventData = e.target.dom7EventData || [];
  514. if (eventData.indexOf(e) < 0) {
  515. eventData.unshift(e);
  516. }
  517. if ($(target).is(targetSelector)) listener.apply(target, eventData);else {
  518. const parents = $(target).parents(); // eslint-disable-line
  519. for (let k = 0; k < parents.length; k += 1) {
  520. if ($(parents[k]).is(targetSelector)) listener.apply(parents[k], eventData);
  521. }
  522. }
  523. }
  524. function handleEvent(e) {
  525. const eventData = e && e.target ? e.target.dom7EventData || [] : [];
  526. if (eventData.indexOf(e) < 0) {
  527. eventData.unshift(e);
  528. }
  529. listener.apply(this, eventData);
  530. }
  531. const events = eventType.split(' ');
  532. let j;
  533. for (let i = 0; i < this.length; i += 1) {
  534. const el = this[i];
  535. if (!targetSelector) {
  536. for (j = 0; j < events.length; j += 1) {
  537. const event = events[j];
  538. if (!el.dom7Listeners) el.dom7Listeners = {};
  539. if (!el.dom7Listeners[event]) el.dom7Listeners[event] = [];
  540. el.dom7Listeners[event].push({
  541. listener,
  542. proxyListener: handleEvent
  543. });
  544. el.addEventListener(event, handleEvent, capture);
  545. }
  546. } else {
  547. // Live events
  548. for (j = 0; j < events.length; j += 1) {
  549. const event = events[j];
  550. if (!el.dom7LiveListeners) el.dom7LiveListeners = {};
  551. if (!el.dom7LiveListeners[event]) el.dom7LiveListeners[event] = [];
  552. el.dom7LiveListeners[event].push({
  553. listener,
  554. proxyListener: handleLiveEvent
  555. });
  556. el.addEventListener(event, handleLiveEvent, capture);
  557. }
  558. }
  559. }
  560. return this;
  561. }
  562. function off(...args) {
  563. let [eventType, targetSelector, listener, capture] = args;
  564. if (typeof args[1] === 'function') {
  565. [eventType, listener, capture] = args;
  566. targetSelector = undefined;
  567. }
  568. if (!capture) capture = false;
  569. const events = eventType.split(' ');
  570. for (let i = 0; i < events.length; i += 1) {
  571. const event = events[i];
  572. for (let j = 0; j < this.length; j += 1) {
  573. const el = this[j];
  574. let handlers;
  575. if (!targetSelector && el.dom7Listeners) {
  576. handlers = el.dom7Listeners[event];
  577. } else if (targetSelector && el.dom7LiveListeners) {
  578. handlers = el.dom7LiveListeners[event];
  579. }
  580. if (handlers && handlers.length) {
  581. for (let k = handlers.length - 1; k >= 0; k -= 1) {
  582. const handler = handlers[k];
  583. if (listener && handler.listener === listener) {
  584. el.removeEventListener(event, handler.proxyListener, capture);
  585. handlers.splice(k, 1);
  586. } else if (listener && handler.listener && handler.listener.dom7proxy && handler.listener.dom7proxy === listener) {
  587. el.removeEventListener(event, handler.proxyListener, capture);
  588. handlers.splice(k, 1);
  589. } else if (!listener) {
  590. el.removeEventListener(event, handler.proxyListener, capture);
  591. handlers.splice(k, 1);
  592. }
  593. }
  594. }
  595. }
  596. }
  597. return this;
  598. }
  599. function once(...args) {
  600. const dom = this;
  601. let [eventName, targetSelector, listener, capture] = args;
  602. if (typeof args[1] === 'function') {
  603. [eventName, listener, capture] = args;
  604. targetSelector = undefined;
  605. }
  606. function onceHandler(...eventArgs) {
  607. listener.apply(this, eventArgs);
  608. dom.off(eventName, targetSelector, onceHandler, capture);
  609. if (onceHandler.dom7proxy) {
  610. delete onceHandler.dom7proxy;
  611. }
  612. }
  613. onceHandler.dom7proxy = listener;
  614. return dom.on(eventName, targetSelector, onceHandler, capture);
  615. }
  616. function trigger(...args) {
  617. const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
  618. const events = args[0].split(' ');
  619. const eventData = args[1];
  620. for (let i = 0; i < events.length; i += 1) {
  621. const event = events[i];
  622. for (let j = 0; j < this.length; j += 1) {
  623. const el = this[j];
  624. if (window.CustomEvent) {
  625. const evt = new window.CustomEvent(event, {
  626. detail: eventData,
  627. bubbles: true,
  628. cancelable: true
  629. });
  630. el.dom7EventData = args.filter((data, dataIndex) => dataIndex > 0);
  631. el.dispatchEvent(evt);
  632. el.dom7EventData = [];
  633. delete el.dom7EventData;
  634. }
  635. }
  636. }
  637. return this;
  638. }
  639. function transitionEnd(callback) {
  640. const dom = this;
  641. function fireCallBack(e) {
  642. if (e.target !== this) return;
  643. callback.call(this, e);
  644. dom.off('transitionend', fireCallBack);
  645. }
  646. if (callback) {
  647. dom.on('transitionend', fireCallBack);
  648. }
  649. return this;
  650. }
  651. function animationEnd(callback) {
  652. const dom = this;
  653. function fireCallBack(e) {
  654. if (e.target !== this) return;
  655. callback.call(this, e);
  656. dom.off('animationend', fireCallBack);
  657. }
  658. if (callback) {
  659. dom.on('animationend', fireCallBack);
  660. }
  661. return this;
  662. }
  663. function width() {
  664. const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
  665. if (this[0] === window) {
  666. return window.innerWidth;
  667. }
  668. if (this.length > 0) {
  669. return parseFloat(this.css('width'));
  670. }
  671. return null;
  672. }
  673. function outerWidth(includeMargins) {
  674. if (this.length > 0) {
  675. if (includeMargins) {
  676. const styles = this.styles();
  677. return this[0].offsetWidth + parseFloat(styles.getPropertyValue('margin-right')) + parseFloat(styles.getPropertyValue('margin-left'));
  678. }
  679. return this[0].offsetWidth;
  680. }
  681. return null;
  682. }
  683. function height() {
  684. const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
  685. if (this[0] === window) {
  686. return window.innerHeight;
  687. }
  688. if (this.length > 0) {
  689. return parseFloat(this.css('height'));
  690. }
  691. return null;
  692. }
  693. function outerHeight(includeMargins) {
  694. if (this.length > 0) {
  695. if (includeMargins) {
  696. const styles = this.styles();
  697. return this[0].offsetHeight + parseFloat(styles.getPropertyValue('margin-top')) + parseFloat(styles.getPropertyValue('margin-bottom'));
  698. }
  699. return this[0].offsetHeight;
  700. }
  701. return null;
  702. }
  703. function offset() {
  704. if (this.length > 0) {
  705. const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
  706. const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)();
  707. const el = this[0];
  708. const box = el.getBoundingClientRect();
  709. const body = document.body;
  710. const clientTop = el.clientTop || body.clientTop || 0;
  711. const clientLeft = el.clientLeft || body.clientLeft || 0;
  712. const scrollTop = el === window ? window.scrollY : el.scrollTop;
  713. const scrollLeft = el === window ? window.scrollX : el.scrollLeft;
  714. return {
  715. top: box.top + scrollTop - clientTop,
  716. left: box.left + scrollLeft - clientLeft
  717. };
  718. }
  719. return null;
  720. }
  721. function hide() {
  722. for (let i = 0; i < this.length; i += 1) {
  723. this[i].style.display = 'none';
  724. }
  725. return this;
  726. }
  727. function show() {
  728. const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
  729. for (let i = 0; i < this.length; i += 1) {
  730. const el = this[i];
  731. if (el.style.display === 'none') {
  732. el.style.display = '';
  733. }
  734. if (window.getComputedStyle(el, null).getPropertyValue('display') === 'none') {
  735. // Still not visible
  736. el.style.display = 'block';
  737. }
  738. }
  739. return this;
  740. }
  741. function styles() {
  742. const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
  743. if (this[0]) return window.getComputedStyle(this[0], null);
  744. return {};
  745. }
  746. function css(props, value) {
  747. const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
  748. let i;
  749. if (arguments.length === 1) {
  750. if (typeof props === 'string') {
  751. // .css('width')
  752. if (this[0]) return window.getComputedStyle(this[0], null).getPropertyValue(props);
  753. } else {
  754. // .css({ width: '100px' })
  755. for (i = 0; i < this.length; i += 1) {
  756. for (const prop in props) {
  757. this[i].style[prop] = props[prop];
  758. }
  759. }
  760. return this;
  761. }
  762. }
  763. if (arguments.length === 2 && typeof props === 'string') {
  764. // .css('width', '100px')
  765. for (i = 0; i < this.length; i += 1) {
  766. this[i].style[props] = value;
  767. }
  768. return this;
  769. }
  770. return this;
  771. }
  772. function each(callback) {
  773. if (!callback) return this;
  774. this.forEach((el, index) => {
  775. callback.apply(el, [el, index]);
  776. });
  777. return this;
  778. }
  779. function filter(callback) {
  780. const result = arrayFilter(this, callback);
  781. return $(result);
  782. }
  783. function html(html) {
  784. if (typeof html === 'undefined') {
  785. return this[0] ? this[0].innerHTML : null;
  786. }
  787. for (let i = 0; i < this.length; i += 1) {
  788. this[i].innerHTML = html;
  789. }
  790. return this;
  791. }
  792. function text(text) {
  793. if (typeof text === 'undefined') {
  794. return this[0] ? this[0].textContent.trim() : null;
  795. }
  796. for (let i = 0; i < this.length; i += 1) {
  797. this[i].textContent = text;
  798. }
  799. return this;
  800. }
  801. function is(selector) {
  802. const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
  803. const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)();
  804. const el = this[0];
  805. let compareWith;
  806. let i;
  807. if (!el || typeof selector === 'undefined') return false;
  808. if (typeof selector === 'string') {
  809. if (el.matches) return el.matches(selector);
  810. if (el.webkitMatchesSelector) return el.webkitMatchesSelector(selector);
  811. if (el.msMatchesSelector) return el.msMatchesSelector(selector);
  812. compareWith = $(selector);
  813. for (i = 0; i < compareWith.length; i += 1) {
  814. if (compareWith[i] === el) return true;
  815. }
  816. return false;
  817. }
  818. if (selector === document) {
  819. return el === document;
  820. }
  821. if (selector === window) {
  822. return el === window;
  823. }
  824. if (selector.nodeType || selector instanceof Dom7) {
  825. compareWith = selector.nodeType ? [selector] : selector;
  826. for (i = 0; i < compareWith.length; i += 1) {
  827. if (compareWith[i] === el) return true;
  828. }
  829. return false;
  830. }
  831. return false;
  832. }
  833. function index() {
  834. let child = this[0];
  835. let i;
  836. if (child) {
  837. i = 0; // eslint-disable-next-line
  838. while ((child = child.previousSibling) !== null) {
  839. if (child.nodeType === 1) i += 1;
  840. }
  841. return i;
  842. }
  843. return undefined;
  844. }
  845. function eq(index) {
  846. if (typeof index === 'undefined') return this;
  847. const length = this.length;
  848. if (index > length - 1) {
  849. return $([]);
  850. }
  851. if (index < 0) {
  852. const returnIndex = length + index;
  853. if (returnIndex < 0) return $([]);
  854. return $([this[returnIndex]]);
  855. }
  856. return $([this[index]]);
  857. }
  858. function append(...els) {
  859. let newChild;
  860. const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)();
  861. for (let k = 0; k < els.length; k += 1) {
  862. newChild = els[k];
  863. for (let i = 0; i < this.length; i += 1) {
  864. if (typeof newChild === 'string') {
  865. const tempDiv = document.createElement('div');
  866. tempDiv.innerHTML = newChild;
  867. while (tempDiv.firstChild) {
  868. this[i].appendChild(tempDiv.firstChild);
  869. }
  870. } else if (newChild instanceof Dom7) {
  871. for (let j = 0; j < newChild.length; j += 1) {
  872. this[i].appendChild(newChild[j]);
  873. }
  874. } else {
  875. this[i].appendChild(newChild);
  876. }
  877. }
  878. }
  879. return this;
  880. }
  881. function appendTo(parent) {
  882. $(parent).append(this);
  883. return this;
  884. }
  885. function prepend(newChild) {
  886. const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)();
  887. let i;
  888. let j;
  889. for (i = 0; i < this.length; i += 1) {
  890. if (typeof newChild === 'string') {
  891. const tempDiv = document.createElement('div');
  892. tempDiv.innerHTML = newChild;
  893. for (j = tempDiv.childNodes.length - 1; j >= 0; j -= 1) {
  894. this[i].insertBefore(tempDiv.childNodes[j], this[i].childNodes[0]);
  895. }
  896. } else if (newChild instanceof Dom7) {
  897. for (j = 0; j < newChild.length; j += 1) {
  898. this[i].insertBefore(newChild[j], this[i].childNodes[0]);
  899. }
  900. } else {
  901. this[i].insertBefore(newChild, this[i].childNodes[0]);
  902. }
  903. }
  904. return this;
  905. }
  906. function prependTo(parent) {
  907. $(parent).prepend(this);
  908. return this;
  909. }
  910. function insertBefore(selector) {
  911. const before = $(selector);
  912. for (let i = 0; i < this.length; i += 1) {
  913. if (before.length === 1) {
  914. before[0].parentNode.insertBefore(this[i], before[0]);
  915. } else if (before.length > 1) {
  916. for (let j = 0; j < before.length; j += 1) {
  917. before[j].parentNode.insertBefore(this[i].cloneNode(true), before[j]);
  918. }
  919. }
  920. }
  921. }
  922. function insertAfter(selector) {
  923. const after = $(selector);
  924. for (let i = 0; i < this.length; i += 1) {
  925. if (after.length === 1) {
  926. after[0].parentNode.insertBefore(this[i], after[0].nextSibling);
  927. } else if (after.length > 1) {
  928. for (let j = 0; j < after.length; j += 1) {
  929. after[j].parentNode.insertBefore(this[i].cloneNode(true), after[j].nextSibling);
  930. }
  931. }
  932. }
  933. }
  934. function next(selector) {
  935. if (this.length > 0) {
  936. if (selector) {
  937. if (this[0].nextElementSibling && $(this[0].nextElementSibling).is(selector)) {
  938. return $([this[0].nextElementSibling]);
  939. }
  940. return $([]);
  941. }
  942. if (this[0].nextElementSibling) return $([this[0].nextElementSibling]);
  943. return $([]);
  944. }
  945. return $([]);
  946. }
  947. function nextAll(selector) {
  948. const nextEls = [];
  949. let el = this[0];
  950. if (!el) return $([]);
  951. while (el.nextElementSibling) {
  952. const next = el.nextElementSibling; // eslint-disable-line
  953. if (selector) {
  954. if ($(next).is(selector)) nextEls.push(next);
  955. } else nextEls.push(next);
  956. el = next;
  957. }
  958. return $(nextEls);
  959. }
  960. function prev(selector) {
  961. if (this.length > 0) {
  962. const el = this[0];
  963. if (selector) {
  964. if (el.previousElementSibling && $(el.previousElementSibling).is(selector)) {
  965. return $([el.previousElementSibling]);
  966. }
  967. return $([]);
  968. }
  969. if (el.previousElementSibling) return $([el.previousElementSibling]);
  970. return $([]);
  971. }
  972. return $([]);
  973. }
  974. function prevAll(selector) {
  975. const prevEls = [];
  976. let el = this[0];
  977. if (!el) return $([]);
  978. while (el.previousElementSibling) {
  979. const prev = el.previousElementSibling; // eslint-disable-line
  980. if (selector) {
  981. if ($(prev).is(selector)) prevEls.push(prev);
  982. } else prevEls.push(prev);
  983. el = prev;
  984. }
  985. return $(prevEls);
  986. }
  987. function siblings(selector) {
  988. return this.nextAll(selector).add(this.prevAll(selector));
  989. }
  990. function parent(selector) {
  991. const parents = []; // eslint-disable-line
  992. for (let i = 0; i < this.length; i += 1) {
  993. if (this[i].parentNode !== null) {
  994. if (selector) {
  995. if ($(this[i].parentNode).is(selector)) parents.push(this[i].parentNode);
  996. } else {
  997. parents.push(this[i].parentNode);
  998. }
  999. }
  1000. }
  1001. return $(parents);
  1002. }
  1003. function parents(selector) {
  1004. const parents = []; // eslint-disable-line
  1005. for (let i = 0; i < this.length; i += 1) {
  1006. let parent = this[i].parentNode; // eslint-disable-line
  1007. while (parent) {
  1008. if (selector) {
  1009. if ($(parent).is(selector)) parents.push(parent);
  1010. } else {
  1011. parents.push(parent);
  1012. }
  1013. parent = parent.parentNode;
  1014. }
  1015. }
  1016. return $(parents);
  1017. }
  1018. function closest(selector) {
  1019. let closest = this; // eslint-disable-line
  1020. if (typeof selector === 'undefined') {
  1021. return $([]);
  1022. }
  1023. if (!closest.is(selector)) {
  1024. closest = closest.parents(selector).eq(0);
  1025. }
  1026. return closest;
  1027. }
  1028. function find(selector) {
  1029. const foundElements = [];
  1030. for (let i = 0; i < this.length; i += 1) {
  1031. const found = this[i].querySelectorAll(selector);
  1032. for (let j = 0; j < found.length; j += 1) {
  1033. foundElements.push(found[j]);
  1034. }
  1035. }
  1036. return $(foundElements);
  1037. }
  1038. function children(selector) {
  1039. const children = []; // eslint-disable-line
  1040. for (let i = 0; i < this.length; i += 1) {
  1041. const childNodes = this[i].children;
  1042. for (let j = 0; j < childNodes.length; j += 1) {
  1043. if (!selector || $(childNodes[j]).is(selector)) {
  1044. children.push(childNodes[j]);
  1045. }
  1046. }
  1047. }
  1048. return $(children);
  1049. }
  1050. function remove() {
  1051. for (let i = 0; i < this.length; i += 1) {
  1052. if (this[i].parentNode) this[i].parentNode.removeChild(this[i]);
  1053. }
  1054. return this;
  1055. }
  1056. function detach() {
  1057. return this.remove();
  1058. }
  1059. function add(...els) {
  1060. const dom = this;
  1061. let i;
  1062. let j;
  1063. for (i = 0; i < els.length; i += 1) {
  1064. const toAdd = $(els[i]);
  1065. for (j = 0; j < toAdd.length; j += 1) {
  1066. dom.push(toAdd[j]);
  1067. }
  1068. }
  1069. return dom;
  1070. }
  1071. function empty() {
  1072. for (let i = 0; i < this.length; i += 1) {
  1073. const el = this[i];
  1074. if (el.nodeType === 1) {
  1075. for (let j = 0; j < el.childNodes.length; j += 1) {
  1076. if (el.childNodes[j].parentNode) {
  1077. el.childNodes[j].parentNode.removeChild(el.childNodes[j]);
  1078. }
  1079. }
  1080. el.textContent = '';
  1081. }
  1082. }
  1083. return this;
  1084. } // eslint-disable-next-line
  1085. function scrollTo(...args) {
  1086. const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
  1087. let [left, top, duration, easing, callback] = args;
  1088. if (args.length === 4 && typeof easing === 'function') {
  1089. callback = easing;
  1090. [left, top, duration, callback, easing] = args;
  1091. }
  1092. if (typeof easing === 'undefined') easing = 'swing';
  1093. return this.each(function animate() {
  1094. const el = this;
  1095. let currentTop;
  1096. let currentLeft;
  1097. let maxTop;
  1098. let maxLeft;
  1099. let newTop;
  1100. let newLeft;
  1101. let scrollTop; // eslint-disable-line
  1102. let scrollLeft; // eslint-disable-line
  1103. let animateTop = top > 0 || top === 0;
  1104. let animateLeft = left > 0 || left === 0;
  1105. if (typeof easing === 'undefined') {
  1106. easing = 'swing';
  1107. }
  1108. if (animateTop) {
  1109. currentTop = el.scrollTop;
  1110. if (!duration) {
  1111. el.scrollTop = top;
  1112. }
  1113. }
  1114. if (animateLeft) {
  1115. currentLeft = el.scrollLeft;
  1116. if (!duration) {
  1117. el.scrollLeft = left;
  1118. }
  1119. }
  1120. if (!duration) return;
  1121. if (animateTop) {
  1122. maxTop = el.scrollHeight - el.offsetHeight;
  1123. newTop = Math.max(Math.min(top, maxTop), 0);
  1124. }
  1125. if (animateLeft) {
  1126. maxLeft = el.scrollWidth - el.offsetWidth;
  1127. newLeft = Math.max(Math.min(left, maxLeft), 0);
  1128. }
  1129. let startTime = null;
  1130. if (animateTop && newTop === currentTop) animateTop = false;
  1131. if (animateLeft && newLeft === currentLeft) animateLeft = false;
  1132. function render(time = new Date().getTime()) {
  1133. if (startTime === null) {
  1134. startTime = time;
  1135. }
  1136. const progress = Math.max(Math.min((time - startTime) / duration, 1), 0);
  1137. const easeProgress = easing === 'linear' ? progress : 0.5 - Math.cos(progress * Math.PI) / 2;
  1138. let done;
  1139. if (animateTop) scrollTop = currentTop + easeProgress * (newTop - currentTop);
  1140. if (animateLeft) scrollLeft = currentLeft + easeProgress * (newLeft - currentLeft);
  1141. if (animateTop && newTop > currentTop && scrollTop >= newTop) {
  1142. el.scrollTop = newTop;
  1143. done = true;
  1144. }
  1145. if (animateTop && newTop < currentTop && scrollTop <= newTop) {
  1146. el.scrollTop = newTop;
  1147. done = true;
  1148. }
  1149. if (animateLeft && newLeft > currentLeft && scrollLeft >= newLeft) {
  1150. el.scrollLeft = newLeft;
  1151. done = true;
  1152. }
  1153. if (animateLeft && newLeft < currentLeft && scrollLeft <= newLeft) {
  1154. el.scrollLeft = newLeft;
  1155. done = true;
  1156. }
  1157. if (done) {
  1158. if (callback) callback();
  1159. return;
  1160. }
  1161. if (animateTop) el.scrollTop = scrollTop;
  1162. if (animateLeft) el.scrollLeft = scrollLeft;
  1163. window.requestAnimationFrame(render);
  1164. }
  1165. window.requestAnimationFrame(render);
  1166. });
  1167. } // scrollTop(top, duration, easing, callback) {
  1168. function scrollTop(...args) {
  1169. let [top, duration, easing, callback] = args;
  1170. if (args.length === 3 && typeof easing === 'function') {
  1171. [top, duration, callback, easing] = args;
  1172. }
  1173. const dom = this;
  1174. if (typeof top === 'undefined') {
  1175. if (dom.length > 0) return dom[0].scrollTop;
  1176. return null;
  1177. }
  1178. return dom.scrollTo(undefined, top, duration, easing, callback);
  1179. }
  1180. function scrollLeft(...args) {
  1181. let [left, duration, easing, callback] = args;
  1182. if (args.length === 3 && typeof easing === 'function') {
  1183. [left, duration, callback, easing] = args;
  1184. }
  1185. const dom = this;
  1186. if (typeof left === 'undefined') {
  1187. if (dom.length > 0) return dom[0].scrollLeft;
  1188. return null;
  1189. }
  1190. return dom.scrollTo(left, undefined, duration, easing, callback);
  1191. } // eslint-disable-next-line
  1192. function animate(initialProps, initialParams) {
  1193. const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
  1194. const els = this;
  1195. const a = {
  1196. props: Object.assign({}, initialProps),
  1197. params: Object.assign({
  1198. duration: 300,
  1199. easing: 'swing' // or 'linear'
  1200. /* Callbacks
  1201. begin(elements)
  1202. complete(elements)
  1203. progress(elements, complete, remaining, start, tweenValue)
  1204. */
  1205. }, initialParams),
  1206. elements: els,
  1207. animating: false,
  1208. que: [],
  1209. easingProgress(easing, progress) {
  1210. if (easing === 'swing') {
  1211. return 0.5 - Math.cos(progress * Math.PI) / 2;
  1212. }
  1213. if (typeof easing === 'function') {
  1214. return easing(progress);
  1215. }
  1216. return progress;
  1217. },
  1218. stop() {
  1219. if (a.frameId) {
  1220. window.cancelAnimationFrame(a.frameId);
  1221. }
  1222. a.animating = false;
  1223. a.elements.each(el => {
  1224. const element = el;
  1225. delete element.dom7AnimateInstance;
  1226. });
  1227. a.que = [];
  1228. },
  1229. done(complete) {
  1230. a.animating = false;
  1231. a.elements.each(el => {
  1232. const element = el;
  1233. delete element.dom7AnimateInstance;
  1234. });
  1235. if (complete) complete(els);
  1236. if (a.que.length > 0) {
  1237. const que = a.que.shift();
  1238. a.animate(que[0], que[1]);
  1239. }
  1240. },
  1241. animate(props, params) {
  1242. if (a.animating) {
  1243. a.que.push([props, params]);
  1244. return a;
  1245. }
  1246. const elements = []; // Define & Cache Initials & Units
  1247. a.elements.each((el, index) => {
  1248. let initialFullValue;
  1249. let initialValue;
  1250. let unit;
  1251. let finalValue;
  1252. let finalFullValue;
  1253. if (!el.dom7AnimateInstance) a.elements[index].dom7AnimateInstance = a;
  1254. elements[index] = {
  1255. container: el
  1256. };
  1257. Object.keys(props).forEach(prop => {
  1258. initialFullValue = window.getComputedStyle(el, null).getPropertyValue(prop).replace(',', '.');
  1259. initialValue = parseFloat(initialFullValue);
  1260. unit = initialFullValue.replace(initialValue, '');
  1261. finalValue = parseFloat(props[prop]);
  1262. finalFullValue = props[prop] + unit;
  1263. elements[index][prop] = {
  1264. initialFullValue,
  1265. initialValue,
  1266. unit,
  1267. finalValue,
  1268. finalFullValue,
  1269. currentValue: initialValue
  1270. };
  1271. });
  1272. });
  1273. let startTime = null;
  1274. let time;
  1275. let elementsDone = 0;
  1276. let propsDone = 0;
  1277. let done;
  1278. let began = false;
  1279. a.animating = true;
  1280. function render() {
  1281. time = new Date().getTime();
  1282. let progress;
  1283. let easeProgress; // let el;
  1284. if (!began) {
  1285. began = true;
  1286. if (params.begin) params.begin(els);
  1287. }
  1288. if (startTime === null) {
  1289. startTime = time;
  1290. }
  1291. if (params.progress) {
  1292. // eslint-disable-next-line
  1293. params.progress(els, Math.max(Math.min((time - startTime) / params.duration, 1), 0), startTime + params.duration - time < 0 ? 0 : startTime + params.duration - time, startTime);
  1294. }
  1295. elements.forEach(element => {
  1296. const el = element;
  1297. if (done || el.done) return;
  1298. Object.keys(props).forEach(prop => {
  1299. if (done || el.done) return;
  1300. progress = Math.max(Math.min((time - startTime) / params.duration, 1), 0);
  1301. easeProgress = a.easingProgress(params.easing, progress);
  1302. const {
  1303. initialValue,
  1304. finalValue,
  1305. unit
  1306. } = el[prop];
  1307. el[prop].currentValue = initialValue + easeProgress * (finalValue - initialValue);
  1308. const currentValue = el[prop].currentValue;
  1309. if (finalValue > initialValue && currentValue >= finalValue || finalValue < initialValue && currentValue <= finalValue) {
  1310. el.container.style[prop] = finalValue + unit;
  1311. propsDone += 1;
  1312. if (propsDone === Object.keys(props).length) {
  1313. el.done = true;
  1314. elementsDone += 1;
  1315. }
  1316. if (elementsDone === elements.length) {
  1317. done = true;
  1318. }
  1319. }
  1320. if (done) {
  1321. a.done(params.complete);
  1322. return;
  1323. }
  1324. el.container.style[prop] = currentValue + unit;
  1325. });
  1326. });
  1327. if (done) return; // Then call
  1328. a.frameId = window.requestAnimationFrame(render);
  1329. }
  1330. a.frameId = window.requestAnimationFrame(render);
  1331. return a;
  1332. }
  1333. };
  1334. if (a.elements.length === 0) {
  1335. return els;
  1336. }
  1337. let animateInstance;
  1338. for (let i = 0; i < a.elements.length; i += 1) {
  1339. if (a.elements[i].dom7AnimateInstance) {
  1340. animateInstance = a.elements[i].dom7AnimateInstance;
  1341. } else a.elements[i].dom7AnimateInstance = a;
  1342. }
  1343. if (!animateInstance) {
  1344. animateInstance = a;
  1345. }
  1346. if (initialProps === 'stop') {
  1347. animateInstance.stop();
  1348. } else {
  1349. animateInstance.animate(a.props, a.params);
  1350. }
  1351. return els;
  1352. }
  1353. function stop() {
  1354. const els = this;
  1355. for (let i = 0; i < els.length; i += 1) {
  1356. if (els[i].dom7AnimateInstance) {
  1357. els[i].dom7AnimateInstance.stop();
  1358. }
  1359. }
  1360. }
  1361. const noTrigger = 'resize scroll'.split(' ');
  1362. function shortcut(name) {
  1363. function eventHandler(...args) {
  1364. if (typeof args[0] === 'undefined') {
  1365. for (let i = 0; i < this.length; i += 1) {
  1366. if (noTrigger.indexOf(name) < 0) {
  1367. if (name in this[i]) this[i][name]();else {
  1368. $(this[i]).trigger(name);
  1369. }
  1370. }
  1371. }
  1372. return this;
  1373. }
  1374. return this.on(name, ...args);
  1375. }
  1376. return eventHandler;
  1377. }
  1378. const click = shortcut('click');
  1379. const blur = shortcut('blur');
  1380. const focus = shortcut('focus');
  1381. const focusin = shortcut('focusin');
  1382. const focusout = shortcut('focusout');
  1383. const keyup = shortcut('keyup');
  1384. const keydown = shortcut('keydown');
  1385. const keypress = shortcut('keypress');
  1386. const submit = shortcut('submit');
  1387. const change = shortcut('change');
  1388. const mousedown = shortcut('mousedown');
  1389. const mousemove = shortcut('mousemove');
  1390. const mouseup = shortcut('mouseup');
  1391. const mouseenter = shortcut('mouseenter');
  1392. const mouseleave = shortcut('mouseleave');
  1393. const mouseout = shortcut('mouseout');
  1394. const mouseover = shortcut('mouseover');
  1395. const touchstart = shortcut('touchstart');
  1396. const touchend = shortcut('touchend');
  1397. const touchmove = shortcut('touchmove');
  1398. const resize = shortcut('resize');
  1399. const scroll = shortcut('scroll');
  1400. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ($);
  1401. /***/ }),
  1402. /***/ 2864:
  1403. /*!***************************************************!*\
  1404. !*** ./node_modules/ssr-window/ssr-window.esm.js ***!
  1405. \***************************************************/
  1406. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  1407. __webpack_require__.r(__webpack_exports__);
  1408. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  1409. /* harmony export */ "extend": () => (/* binding */ extend),
  1410. /* harmony export */ "getDocument": () => (/* binding */ getDocument),
  1411. /* harmony export */ "getWindow": () => (/* binding */ getWindow),
  1412. /* harmony export */ "ssrDocument": () => (/* binding */ ssrDocument),
  1413. /* harmony export */ "ssrWindow": () => (/* binding */ ssrWindow)
  1414. /* harmony export */ });
  1415. /**
  1416. * SSR Window 4.0.2
  1417. * Better handling for window object in SSR environment
  1418. * https://github.com/nolimits4web/ssr-window
  1419. *
  1420. * Copyright 2021, Vladimir Kharlampidi
  1421. *
  1422. * Licensed under MIT
  1423. *
  1424. * Released on: December 13, 2021
  1425. */
  1426. /* eslint-disable no-param-reassign */
  1427. function isObject(obj) {
  1428. return obj !== null && typeof obj === 'object' && 'constructor' in obj && obj.constructor === Object;
  1429. }
  1430. function extend(target = {}, src = {}) {
  1431. Object.keys(src).forEach(key => {
  1432. if (typeof target[key] === 'undefined') target[key] = src[key];else if (isObject(src[key]) && isObject(target[key]) && Object.keys(src[key]).length > 0) {
  1433. extend(target[key], src[key]);
  1434. }
  1435. });
  1436. }
  1437. const ssrDocument = {
  1438. body: {},
  1439. addEventListener() {},
  1440. removeEventListener() {},
  1441. activeElement: {
  1442. blur() {},
  1443. nodeName: ''
  1444. },
  1445. querySelector() {
  1446. return null;
  1447. },
  1448. querySelectorAll() {
  1449. return [];
  1450. },
  1451. getElementById() {
  1452. return null;
  1453. },
  1454. createEvent() {
  1455. return {
  1456. initEvent() {}
  1457. };
  1458. },
  1459. createElement() {
  1460. return {
  1461. children: [],
  1462. childNodes: [],
  1463. style: {},
  1464. setAttribute() {},
  1465. getElementsByTagName() {
  1466. return [];
  1467. }
  1468. };
  1469. },
  1470. createElementNS() {
  1471. return {};
  1472. },
  1473. importNode() {
  1474. return null;
  1475. },
  1476. location: {
  1477. hash: '',
  1478. host: '',
  1479. hostname: '',
  1480. href: '',
  1481. origin: '',
  1482. pathname: '',
  1483. protocol: '',
  1484. search: ''
  1485. }
  1486. };
  1487. function getDocument() {
  1488. const doc = typeof document !== 'undefined' ? document : {};
  1489. extend(doc, ssrDocument);
  1490. return doc;
  1491. }
  1492. const ssrWindow = {
  1493. document: ssrDocument,
  1494. navigator: {
  1495. userAgent: ''
  1496. },
  1497. location: {
  1498. hash: '',
  1499. host: '',
  1500. hostname: '',
  1501. href: '',
  1502. origin: '',
  1503. pathname: '',
  1504. protocol: '',
  1505. search: ''
  1506. },
  1507. history: {
  1508. replaceState() {},
  1509. pushState() {},
  1510. go() {},
  1511. back() {}
  1512. },
  1513. CustomEvent: function CustomEvent() {
  1514. return this;
  1515. },
  1516. addEventListener() {},
  1517. removeEventListener() {},
  1518. getComputedStyle() {
  1519. return {
  1520. getPropertyValue() {
  1521. return '';
  1522. }
  1523. };
  1524. },
  1525. Image() {},
  1526. Date() {},
  1527. screen: {},
  1528. setTimeout() {},
  1529. clearTimeout() {},
  1530. matchMedia() {
  1531. return {};
  1532. },
  1533. requestAnimationFrame(callback) {
  1534. if (typeof setTimeout === 'undefined') {
  1535. callback();
  1536. return null;
  1537. }
  1538. return setTimeout(callback, 0);
  1539. },
  1540. cancelAnimationFrame(id) {
  1541. if (typeof setTimeout === 'undefined') {
  1542. return;
  1543. }
  1544. clearTimeout(id);
  1545. }
  1546. };
  1547. function getWindow() {
  1548. const win = typeof window !== 'undefined' ? window : {};
  1549. extend(win, ssrWindow);
  1550. return win;
  1551. }
  1552. /***/ }),
  1553. /***/ 9737:
  1554. /*!*****************************************************************!*\
  1555. !*** ./node_modules/swiper/angular/fesm2015/swiper_angular.mjs ***!
  1556. \*****************************************************************/
  1557. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  1558. __webpack_require__.r(__webpack_exports__);
  1559. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  1560. /* harmony export */ "SwiperComponent": () => (/* binding */ SwiperComponent),
  1561. /* harmony export */ "SwiperModule": () => (/* binding */ SwiperModule),
  1562. /* harmony export */ "SwiperSlideDirective": () => (/* binding */ SwiperSlideDirective)
  1563. /* harmony export */ });
  1564. /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ 3184);
  1565. /* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @angular/common */ 6362);
  1566. /* harmony import */ var swiper__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! swiper */ 3587);
  1567. /* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! rxjs */ 2218);
  1568. /* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! rxjs */ 4139);
  1569. /* underscore in name -> watch for changes */
  1570. const _c0 = ["prevElRef"];
  1571. const _c1 = ["nextElRef"];
  1572. const _c2 = ["scrollbarElRef"];
  1573. const _c3 = ["paginationElRef"];
  1574. function SwiperComponent_ng_container_1_Template(rf, ctx) {
  1575. if (rf & 1) {
  1576. _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementContainerStart"](0);
  1577. _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelement"](1, "div", 6, 7)(3, "div", 8, 9);
  1578. _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementContainerEnd"]();
  1579. }
  1580. }
  1581. function SwiperComponent_div_2_Template(rf, ctx) {
  1582. if (rf & 1) {
  1583. _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelement"](0, "div", 10, 11);
  1584. }
  1585. }
  1586. function SwiperComponent_div_3_Template(rf, ctx) {
  1587. if (rf & 1) {
  1588. _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelement"](0, "div", 12, 13);
  1589. }
  1590. }
  1591. function SwiperComponent_6_ng_template_0_Template(rf, ctx) {}
  1592. function SwiperComponent_6_Template(rf, ctx) {
  1593. if (rf & 1) {
  1594. _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtemplate"](0, SwiperComponent_6_ng_template_0_Template, 0, 0, "ng-template");
  1595. }
  1596. }
  1597. function SwiperComponent_7_ng_template_0_Template(rf, ctx) {}
  1598. function SwiperComponent_7_Template(rf, ctx) {
  1599. if (rf & 1) {
  1600. _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtemplate"](0, SwiperComponent_7_ng_template_0_Template, 0, 0, "ng-template");
  1601. }
  1602. }
  1603. function SwiperComponent_8_ng_template_0_Template(rf, ctx) {}
  1604. function SwiperComponent_8_Template(rf, ctx) {
  1605. if (rf & 1) {
  1606. _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtemplate"](0, SwiperComponent_8_ng_template_0_Template, 0, 0, "ng-template");
  1607. }
  1608. }
  1609. function SwiperComponent_ng_template_11_div_0_div_1_ng_template_1_Template(rf, ctx) {}
  1610. const _c4 = function (a0) {
  1611. return {
  1612. $implicit: a0
  1613. };
  1614. };
  1615. function SwiperComponent_ng_template_11_div_0_div_1_Template(rf, ctx) {
  1616. if (rf & 1) {
  1617. _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](0, "div", 3);
  1618. _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtemplate"](1, SwiperComponent_ng_template_11_div_0_div_1_ng_template_1_Template, 0, 0, "ng-template", 18);
  1619. _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
  1620. }
  1621. if (rf & 2) {
  1622. const slide_r18 = _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵnextContext"]().$implicit;
  1623. const ctx_r19 = _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵnextContext"](2);
  1624. _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵproperty"]("ngClass", ctx_r19.zoomContainerClass);
  1625. _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](1);
  1626. _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵproperty"]("ngTemplateOutlet", slide_r18.template)("ngTemplateOutletContext", _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵpureFunction1"](3, _c4, slide_r18.slideData));
  1627. }
  1628. }
  1629. function SwiperComponent_ng_template_11_div_0_ng_container_2_ng_template_1_Template(rf, ctx) {}
  1630. function SwiperComponent_ng_template_11_div_0_ng_container_2_Template(rf, ctx) {
  1631. if (rf & 1) {
  1632. _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementContainerStart"](0);
  1633. _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtemplate"](1, SwiperComponent_ng_template_11_div_0_ng_container_2_ng_template_1_Template, 0, 0, "ng-template", 18);
  1634. _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementContainerEnd"]();
  1635. }
  1636. if (rf & 2) {
  1637. const slide_r18 = _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵnextContext"]().$implicit;
  1638. _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](1);
  1639. _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵproperty"]("ngTemplateOutlet", slide_r18.template)("ngTemplateOutletContext", _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵpureFunction1"](2, _c4, slide_r18.slideData));
  1640. }
  1641. }
  1642. function SwiperComponent_ng_template_11_div_0_Template(rf, ctx) {
  1643. if (rf & 1) {
  1644. _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](0, "div", 15);
  1645. _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtemplate"](1, SwiperComponent_ng_template_11_div_0_div_1_Template, 2, 5, "div", 16);
  1646. _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtemplate"](2, SwiperComponent_ng_template_11_div_0_ng_container_2_Template, 2, 4, "ng-container", 17);
  1647. _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
  1648. }
  1649. if (rf & 2) {
  1650. const slide_r18 = ctx.$implicit;
  1651. const slideKey_r16 = _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵnextContext"]().key;
  1652. const ctx_r17 = _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵnextContext"]();
  1653. _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵstyleMap"](ctx_r17.style);
  1654. _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵproperty"]("ngClass", (slide_r18.class ? slide_r18.class + " " : "") + ctx_r17.slideClass + (slideKey_r16 !== "" ? " " + ctx_r17.slideDuplicateClass : ""))("ngSwitch", slide_r18.zoom);
  1655. _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵattribute"]("data-swiper-slide-index", slide_r18.virtualIndex ? slide_r18.virtualIndex : slide_r18.slideIndex)("data-swiper-autoplay", slide_r18.autoplayDelay);
  1656. _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](1);
  1657. _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵproperty"]("ngSwitchCase", true);
  1658. }
  1659. }
  1660. function SwiperComponent_ng_template_11_Template(rf, ctx) {
  1661. if (rf & 1) {
  1662. _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtemplate"](0, SwiperComponent_ng_template_11_div_0_Template, 3, 7, "div", 14);
  1663. _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵpipe"](1, "async");
  1664. }
  1665. if (rf & 2) {
  1666. const loopSlides_r15 = ctx.loopSlides;
  1667. _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵproperty"]("ngForOf", _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵpipeBind1"](1, 1, loopSlides_r15));
  1668. }
  1669. }
  1670. const _c5 = [[["", "slot", "container-start"]], [["", "slot", "wrapper-start"]], [["", "slot", "wrapper-end"]], [["", "slot", "container-end"]]];
  1671. const _c6 = function (a0) {
  1672. return {
  1673. loopSlides: a0,
  1674. key: "prepend"
  1675. };
  1676. };
  1677. const _c7 = function (a0) {
  1678. return {
  1679. loopSlides: a0,
  1680. key: ""
  1681. };
  1682. };
  1683. const _c8 = function (a0) {
  1684. return {
  1685. loopSlides: a0,
  1686. key: "append"
  1687. };
  1688. };
  1689. const _c9 = ["[slot=container-start]", "[slot=wrapper-start]", "[slot=wrapper-end]", "[slot=container-end]"];
  1690. const paramsList = ['init', 'enabled', '_direction', 'touchEventsTarget', 'initialSlide', '_speed', 'cssMode', 'updateOnWindowResize', 'resizeObserver', 'nested', 'focusableElements', '_width', '_height', 'preventInteractionOnTransition', 'userAgent', 'url', '_edgeSwipeDetection', '_edgeSwipeThreshold', '_freeMode', '_autoHeight', 'setWrapperSize', 'virtualTranslate', '_effect', 'breakpoints', '_spaceBetween', '_slidesPerView', 'maxBackfaceHiddenSlides', '_grid', '_slidesPerGroup', '_slidesPerGroupSkip', '_slidesPerGroupAuto', '_centeredSlides', '_centeredSlidesBounds', '_slidesOffsetBefore', '_slidesOffsetAfter', 'normalizeSlideIndex', '_centerInsufficientSlides', '_watchOverflow', 'roundLengths', 'touchRatio', 'touchAngle', 'simulateTouch', '_shortSwipes', '_longSwipes', 'longSwipesRatio', 'longSwipesMs', '_followFinger', 'allowTouchMove', '_threshold', 'touchMoveStopPropagation', 'touchStartPreventDefault', 'touchStartForcePreventDefault', 'touchReleaseOnEdges', 'uniqueNavElements', '_resistance', '_resistanceRatio', '_watchSlidesProgress', '_grabCursor', 'preventClicks', 'preventClicksPropagation', '_slideToClickedSlide', '_preloadImages', 'updateOnImagesReady', '_loop', '_loopAdditionalSlides', '_loopedSlides', '_loopedSlidesLimit', '_loopFillGroupWithBlank', 'loopPreventsSlide', '_rewind', '_allowSlidePrev', '_allowSlideNext', '_swipeHandler', '_noSwiping', 'noSwipingClass', 'noSwipingSelector', 'passiveListeners', 'containerModifierClass', 'slideClass', 'slideBlankClass', 'slideActiveClass', 'slideDuplicateActiveClass', 'slideVisibleClass', 'slideDuplicateClass', 'slideNextClass', 'slideDuplicateNextClass', 'slidePrevClass', 'slideDuplicatePrevClass', 'wrapperClass', 'runCallbacksOnInit', 'observer', 'observeParents', 'observeSlideChildren', // modules
  1691. 'a11y', 'autoplay', '_controller', 'coverflowEffect', 'cubeEffect', 'fadeEffect', 'flipEffect', 'creativeEffect', 'cardsEffect', 'hashNavigation', 'history', 'keyboard', 'lazy', 'mousewheel', '_navigation', '_pagination', 'parallax', '_scrollbar', '_thumbs', 'virtual', 'zoom', 'on'];
  1692. function isObject(o) {
  1693. return typeof o === 'object' && o !== null && o.constructor && Object.prototype.toString.call(o).slice(8, -1) === 'Object';
  1694. }
  1695. function isEnabled(val) {
  1696. return typeof val !== 'undefined' && typeof val !== 'boolean' && val.enabled === true;
  1697. }
  1698. function isShowEl(val, obj, el) {
  1699. return coerceBooleanProperty(val) === true && obj && !obj.el || !(typeof obj !== 'boolean' && obj.el !== (el === null || el === void 0 ? void 0 : el.nativeElement) && (typeof obj.el === 'string' || typeof obj.el === 'object'));
  1700. }
  1701. function extend(target, src) {
  1702. const noExtend = ['__proto__', 'constructor', 'prototype'];
  1703. Object.keys(src).filter(key => noExtend.indexOf(key) < 0).forEach(key => {
  1704. if (typeof target[key] === 'undefined') {
  1705. target[key] = src[key];
  1706. return;
  1707. }
  1708. if (target[key] && !src[key]) {
  1709. return;
  1710. }
  1711. if (isObject(src[key]) && isObject(target[key]) && Object.keys(src[key]).length > 0) {
  1712. if (src[key].__swiper__) target[key] = src[key];else extend(target[key], src[key]);
  1713. } else {
  1714. target[key] = src[key];
  1715. }
  1716. });
  1717. }
  1718. function coerceBooleanProperty(value) {
  1719. return value != null && `${value}` !== 'false';
  1720. }
  1721. const ignoreNgOnChanges = ['pagination', 'navigation', 'scrollbar', 'virtual'];
  1722. function setProperty(val, obj = {}) {
  1723. if (isObject(val)) {
  1724. return val;
  1725. }
  1726. if (coerceBooleanProperty(val) === true) {
  1727. return obj;
  1728. }
  1729. return false;
  1730. } // @ts-ignore
  1731. const allowedParams = paramsList.map(key => key.replace(/_/, ''));
  1732. function getParams(obj = {}) {
  1733. const params = {
  1734. on: {}
  1735. }; // const events = {};
  1736. const passedParams = {};
  1737. extend(params, swiper__WEBPACK_IMPORTED_MODULE_0__["default"].defaults);
  1738. extend(params, swiper__WEBPACK_IMPORTED_MODULE_0__["default"].extendedDefaults);
  1739. params._emitClasses = true;
  1740. params.init = false;
  1741. const rest = {};
  1742. const allowedParams = paramsList.map(key => key.replace(/_/, ''));
  1743. Object.keys(obj).forEach(key => {
  1744. const _key = key.replace(/^_/, '');
  1745. if (allowedParams.indexOf(_key) >= 0) {
  1746. if (isObject(obj[key])) {
  1747. params[_key] = {};
  1748. passedParams[_key] = {};
  1749. extend(params[_key], obj[key]);
  1750. extend(passedParams[_key], obj[key]);
  1751. } else {
  1752. params[_key] = obj[key];
  1753. passedParams[_key] = obj[key];
  1754. }
  1755. } // else if (key.search(/on[A-Z]/) === 0 && typeof obj[key] === 'function') {
  1756. // events[`${_key[2].toLowerCase()}${key.substr(3)}`] = obj[key];
  1757. // }
  1758. else {
  1759. rest[_key] = obj[key];
  1760. }
  1761. });
  1762. ['navigation', 'pagination', 'scrollbar'].forEach(key => {
  1763. if (params[key] === true) params[key] = {};
  1764. if (params[key] === false) delete params[key];
  1765. });
  1766. return {
  1767. params,
  1768. passedParams,
  1769. rest
  1770. };
  1771. }
  1772. class SwiperSlideDirective {
  1773. constructor(template) {
  1774. this.template = template;
  1775. this.class = '';
  1776. this.autoplayDelay = null;
  1777. this.slideData = {
  1778. isActive: false,
  1779. isPrev: false,
  1780. isNext: false,
  1781. isVisible: false,
  1782. isDuplicate: false
  1783. };
  1784. }
  1785. set ngClass(val) {
  1786. this.class = [this.class || '', val].join(' ');
  1787. }
  1788. set zoom(val) {
  1789. this._zoom = coerceBooleanProperty(val);
  1790. }
  1791. get zoom() {
  1792. return this._zoom;
  1793. }
  1794. get classNames() {
  1795. return this._classNames;
  1796. }
  1797. set classNames(val) {
  1798. if (this._classNames === val) {
  1799. return;
  1800. }
  1801. this._classNames = val;
  1802. this.slideData = {
  1803. isActive: this._hasClass(['swiper-slide-active', 'swiper-slide-duplicate-active']),
  1804. isVisible: this._hasClass(['swiper-slide-visible']),
  1805. isDuplicate: this._hasClass(['swiper-slide-duplicate']),
  1806. isPrev: this._hasClass(['swiper-slide-prev', 'swiper-slide-duplicate-prev']),
  1807. isNext: this._hasClass(['swiper-slide-next', 'swiper-slide-duplicate-next'])
  1808. };
  1809. }
  1810. _hasClass(classNames) {
  1811. return classNames.some(className => this._classNames.indexOf(className) >= 0);
  1812. }
  1813. }
  1814. SwiperSlideDirective.ɵfac = function SwiperSlideDirective_Factory(t) {
  1815. return new (t || SwiperSlideDirective)(_angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵdirectiveInject"](_angular_core__WEBPACK_IMPORTED_MODULE_1__.TemplateRef));
  1816. };
  1817. SwiperSlideDirective.ɵdir = /* @__PURE__ */_angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵdefineDirective"]({
  1818. type: SwiperSlideDirective,
  1819. selectors: [["ng-template", "swiperSlide", ""]],
  1820. inputs: {
  1821. virtualIndex: "virtualIndex",
  1822. class: "class",
  1823. ngClass: "ngClass",
  1824. autoplayDelay: ["data-swiper-autoplay", "autoplayDelay"],
  1825. zoom: "zoom"
  1826. }
  1827. });
  1828. (function () {
  1829. (typeof ngDevMode === "undefined" || ngDevMode) && _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵsetClassMetadata"](SwiperSlideDirective, [{
  1830. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Directive,
  1831. args: [{
  1832. selector: 'ng-template[swiperSlide]'
  1833. }]
  1834. }], function () {
  1835. return [{
  1836. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.TemplateRef
  1837. }];
  1838. }, {
  1839. virtualIndex: [{
  1840. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  1841. }],
  1842. class: [{
  1843. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  1844. }],
  1845. ngClass: [{
  1846. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  1847. }],
  1848. autoplayDelay: [{
  1849. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input,
  1850. args: ['data-swiper-autoplay']
  1851. }],
  1852. zoom: [{
  1853. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  1854. }]
  1855. });
  1856. })();
  1857. class SwiperComponent {
  1858. constructor(_ngZone, elementRef, _changeDetectorRef, _platformId) {
  1859. this._ngZone = _ngZone;
  1860. this.elementRef = elementRef;
  1861. this._changeDetectorRef = _changeDetectorRef;
  1862. this._platformId = _platformId;
  1863. this.slideClass = 'swiper-slide';
  1864. this.wrapperClass = 'swiper-wrapper';
  1865. this.showNavigation = true;
  1866. this.showPagination = true;
  1867. this.showScrollbar = true;
  1868. this.s__beforeBreakpoint = new _angular_core__WEBPACK_IMPORTED_MODULE_1__.EventEmitter();
  1869. this.s__containerClasses = new _angular_core__WEBPACK_IMPORTED_MODULE_1__.EventEmitter();
  1870. this.s__slideClass = new _angular_core__WEBPACK_IMPORTED_MODULE_1__.EventEmitter();
  1871. this.s__swiper = new _angular_core__WEBPACK_IMPORTED_MODULE_1__.EventEmitter();
  1872. this.s_activeIndexChange = new _angular_core__WEBPACK_IMPORTED_MODULE_1__.EventEmitter();
  1873. this.s_afterInit = new _angular_core__WEBPACK_IMPORTED_MODULE_1__.EventEmitter();
  1874. this.s_autoplay = new _angular_core__WEBPACK_IMPORTED_MODULE_1__.EventEmitter();
  1875. this.s_autoplayStart = new _angular_core__WEBPACK_IMPORTED_MODULE_1__.EventEmitter();
  1876. this.s_autoplayStop = new _angular_core__WEBPACK_IMPORTED_MODULE_1__.EventEmitter();
  1877. this.s_autoplayPause = new _angular_core__WEBPACK_IMPORTED_MODULE_1__.EventEmitter();
  1878. this.s_autoplayResume = new _angular_core__WEBPACK_IMPORTED_MODULE_1__.EventEmitter();
  1879. this.s_beforeDestroy = new _angular_core__WEBPACK_IMPORTED_MODULE_1__.EventEmitter();
  1880. this.s_beforeInit = new _angular_core__WEBPACK_IMPORTED_MODULE_1__.EventEmitter();
  1881. this.s_beforeLoopFix = new _angular_core__WEBPACK_IMPORTED_MODULE_1__.EventEmitter();
  1882. this.s_beforeResize = new _angular_core__WEBPACK_IMPORTED_MODULE_1__.EventEmitter();
  1883. this.s_beforeSlideChangeStart = new _angular_core__WEBPACK_IMPORTED_MODULE_1__.EventEmitter();
  1884. this.s_beforeTransitionStart = new _angular_core__WEBPACK_IMPORTED_MODULE_1__.EventEmitter();
  1885. this.s_breakpoint = new _angular_core__WEBPACK_IMPORTED_MODULE_1__.EventEmitter();
  1886. this.s_changeDirection = new _angular_core__WEBPACK_IMPORTED_MODULE_1__.EventEmitter();
  1887. this.s_click = new _angular_core__WEBPACK_IMPORTED_MODULE_1__.EventEmitter();
  1888. this.s_doubleTap = new _angular_core__WEBPACK_IMPORTED_MODULE_1__.EventEmitter();
  1889. this.s_doubleClick = new _angular_core__WEBPACK_IMPORTED_MODULE_1__.EventEmitter();
  1890. this.s_destroy = new _angular_core__WEBPACK_IMPORTED_MODULE_1__.EventEmitter();
  1891. this.s_fromEdge = new _angular_core__WEBPACK_IMPORTED_MODULE_1__.EventEmitter();
  1892. this.s_hashChange = new _angular_core__WEBPACK_IMPORTED_MODULE_1__.EventEmitter();
  1893. this.s_hashSet = new _angular_core__WEBPACK_IMPORTED_MODULE_1__.EventEmitter();
  1894. this.s_imagesReady = new _angular_core__WEBPACK_IMPORTED_MODULE_1__.EventEmitter();
  1895. this.s_init = new _angular_core__WEBPACK_IMPORTED_MODULE_1__.EventEmitter();
  1896. this.s_keyPress = new _angular_core__WEBPACK_IMPORTED_MODULE_1__.EventEmitter();
  1897. this.s_lazyImageLoad = new _angular_core__WEBPACK_IMPORTED_MODULE_1__.EventEmitter();
  1898. this.s_lazyImageReady = new _angular_core__WEBPACK_IMPORTED_MODULE_1__.EventEmitter();
  1899. this.s_loopFix = new _angular_core__WEBPACK_IMPORTED_MODULE_1__.EventEmitter();
  1900. this.s_momentumBounce = new _angular_core__WEBPACK_IMPORTED_MODULE_1__.EventEmitter();
  1901. this.s_navigationHide = new _angular_core__WEBPACK_IMPORTED_MODULE_1__.EventEmitter();
  1902. this.s_navigationShow = new _angular_core__WEBPACK_IMPORTED_MODULE_1__.EventEmitter();
  1903. this.s_navigationPrev = new _angular_core__WEBPACK_IMPORTED_MODULE_1__.EventEmitter();
  1904. this.s_navigationNext = new _angular_core__WEBPACK_IMPORTED_MODULE_1__.EventEmitter();
  1905. this.s_observerUpdate = new _angular_core__WEBPACK_IMPORTED_MODULE_1__.EventEmitter();
  1906. this.s_orientationchange = new _angular_core__WEBPACK_IMPORTED_MODULE_1__.EventEmitter();
  1907. this.s_paginationHide = new _angular_core__WEBPACK_IMPORTED_MODULE_1__.EventEmitter();
  1908. this.s_paginationRender = new _angular_core__WEBPACK_IMPORTED_MODULE_1__.EventEmitter();
  1909. this.s_paginationShow = new _angular_core__WEBPACK_IMPORTED_MODULE_1__.EventEmitter();
  1910. this.s_paginationUpdate = new _angular_core__WEBPACK_IMPORTED_MODULE_1__.EventEmitter();
  1911. this.s_progress = new _angular_core__WEBPACK_IMPORTED_MODULE_1__.EventEmitter();
  1912. this.s_reachBeginning = new _angular_core__WEBPACK_IMPORTED_MODULE_1__.EventEmitter();
  1913. this.s_reachEnd = new _angular_core__WEBPACK_IMPORTED_MODULE_1__.EventEmitter();
  1914. this.s_realIndexChange = new _angular_core__WEBPACK_IMPORTED_MODULE_1__.EventEmitter();
  1915. this.s_resize = new _angular_core__WEBPACK_IMPORTED_MODULE_1__.EventEmitter();
  1916. this.s_scroll = new _angular_core__WEBPACK_IMPORTED_MODULE_1__.EventEmitter();
  1917. this.s_scrollbarDragEnd = new _angular_core__WEBPACK_IMPORTED_MODULE_1__.EventEmitter();
  1918. this.s_scrollbarDragMove = new _angular_core__WEBPACK_IMPORTED_MODULE_1__.EventEmitter();
  1919. this.s_scrollbarDragStart = new _angular_core__WEBPACK_IMPORTED_MODULE_1__.EventEmitter();
  1920. this.s_setTransition = new _angular_core__WEBPACK_IMPORTED_MODULE_1__.EventEmitter();
  1921. this.s_setTranslate = new _angular_core__WEBPACK_IMPORTED_MODULE_1__.EventEmitter();
  1922. this.s_slideChange = new _angular_core__WEBPACK_IMPORTED_MODULE_1__.EventEmitter();
  1923. this.s_slideChangeTransitionEnd = new _angular_core__WEBPACK_IMPORTED_MODULE_1__.EventEmitter();
  1924. this.s_slideChangeTransitionStart = new _angular_core__WEBPACK_IMPORTED_MODULE_1__.EventEmitter();
  1925. this.s_slideNextTransitionEnd = new _angular_core__WEBPACK_IMPORTED_MODULE_1__.EventEmitter();
  1926. this.s_slideNextTransitionStart = new _angular_core__WEBPACK_IMPORTED_MODULE_1__.EventEmitter();
  1927. this.s_slidePrevTransitionEnd = new _angular_core__WEBPACK_IMPORTED_MODULE_1__.EventEmitter();
  1928. this.s_slidePrevTransitionStart = new _angular_core__WEBPACK_IMPORTED_MODULE_1__.EventEmitter();
  1929. this.s_slideResetTransitionStart = new _angular_core__WEBPACK_IMPORTED_MODULE_1__.EventEmitter();
  1930. this.s_slideResetTransitionEnd = new _angular_core__WEBPACK_IMPORTED_MODULE_1__.EventEmitter();
  1931. this.s_sliderMove = new _angular_core__WEBPACK_IMPORTED_MODULE_1__.EventEmitter();
  1932. this.s_sliderFirstMove = new _angular_core__WEBPACK_IMPORTED_MODULE_1__.EventEmitter();
  1933. this.s_slidesLengthChange = new _angular_core__WEBPACK_IMPORTED_MODULE_1__.EventEmitter();
  1934. this.s_slidesGridLengthChange = new _angular_core__WEBPACK_IMPORTED_MODULE_1__.EventEmitter();
  1935. this.s_snapGridLengthChange = new _angular_core__WEBPACK_IMPORTED_MODULE_1__.EventEmitter();
  1936. this.s_snapIndexChange = new _angular_core__WEBPACK_IMPORTED_MODULE_1__.EventEmitter();
  1937. this.s_tap = new _angular_core__WEBPACK_IMPORTED_MODULE_1__.EventEmitter();
  1938. this.s_toEdge = new _angular_core__WEBPACK_IMPORTED_MODULE_1__.EventEmitter();
  1939. this.s_touchEnd = new _angular_core__WEBPACK_IMPORTED_MODULE_1__.EventEmitter();
  1940. this.s_touchMove = new _angular_core__WEBPACK_IMPORTED_MODULE_1__.EventEmitter();
  1941. this.s_touchMoveOpposite = new _angular_core__WEBPACK_IMPORTED_MODULE_1__.EventEmitter();
  1942. this.s_touchStart = new _angular_core__WEBPACK_IMPORTED_MODULE_1__.EventEmitter();
  1943. this.s_transitionEnd = new _angular_core__WEBPACK_IMPORTED_MODULE_1__.EventEmitter();
  1944. this.s_transitionStart = new _angular_core__WEBPACK_IMPORTED_MODULE_1__.EventEmitter();
  1945. this.s_update = new _angular_core__WEBPACK_IMPORTED_MODULE_1__.EventEmitter();
  1946. this.s_zoomChange = new _angular_core__WEBPACK_IMPORTED_MODULE_1__.EventEmitter();
  1947. this.s_swiper = new _angular_core__WEBPACK_IMPORTED_MODULE_1__.EventEmitter();
  1948. this.s_lock = new _angular_core__WEBPACK_IMPORTED_MODULE_1__.EventEmitter();
  1949. this.s_unlock = new _angular_core__WEBPACK_IMPORTED_MODULE_1__.EventEmitter();
  1950. this._activeSlides = new rxjs__WEBPACK_IMPORTED_MODULE_2__.Subject();
  1951. this.containerClasses = 'swiper';
  1952. this.slidesChanges = val => {
  1953. this.slides = val.map((slide, index) => {
  1954. slide.slideIndex = index;
  1955. slide.classNames = this.slideClass || '';
  1956. return slide;
  1957. });
  1958. if (this.loop && !this.loopedSlides) {
  1959. this.calcLoopedSlides();
  1960. }
  1961. if (!this.virtual) {
  1962. if (this.loopedSlides) {
  1963. this.prependSlides = (0,rxjs__WEBPACK_IMPORTED_MODULE_3__.of)(this.slides.slice(this.slides.length - this.loopedSlides));
  1964. this.appendSlides = (0,rxjs__WEBPACK_IMPORTED_MODULE_3__.of)(this.slides.slice(0, this.loopedSlides));
  1965. }
  1966. } else if (this.swiperRef && this.swiperRef.virtual) {
  1967. this._ngZone.runOutsideAngular(() => {
  1968. this.swiperRef.virtual.slides = this.slides;
  1969. this.swiperRef.virtual.update(true);
  1970. });
  1971. }
  1972. this._changeDetectorRef.detectChanges();
  1973. };
  1974. this.style = null;
  1975. this.updateVirtualSlides = virtualData => {
  1976. // TODO: type virtualData
  1977. if (!this.swiperRef || this.currentVirtualData && this.currentVirtualData.from === virtualData.from && this.currentVirtualData.to === virtualData.to && this.currentVirtualData.offset === virtualData.offset) {
  1978. return;
  1979. }
  1980. this.style = this.swiperRef.isHorizontal() ? {
  1981. [this.swiperRef.rtlTranslate ? 'right' : 'left']: `${virtualData.offset}px`
  1982. } : {
  1983. top: `${virtualData.offset}px`
  1984. };
  1985. this.currentVirtualData = virtualData;
  1986. this._activeSlides.next(virtualData.slides);
  1987. this._ngZone.run(() => {
  1988. this._changeDetectorRef.detectChanges();
  1989. });
  1990. this._ngZone.runOutsideAngular(() => {
  1991. this.swiperRef.updateSlides();
  1992. this.swiperRef.updateProgress();
  1993. this.swiperRef.updateSlidesClasses();
  1994. if (isEnabled(this.swiperRef.params.lazy)) {
  1995. this.swiperRef.lazy.load();
  1996. }
  1997. this.swiperRef.virtual.update(true);
  1998. });
  1999. return;
  2000. };
  2001. }
  2002. set navigation(val) {
  2003. var _a, _b, _c;
  2004. const currentNext = typeof this._navigation !== 'boolean' && this._navigation !== '' ? (_a = this._navigation) === null || _a === void 0 ? void 0 : _a.nextEl : null;
  2005. const currentPrev = typeof this._navigation !== 'boolean' && this._navigation !== '' ? (_b = this._navigation) === null || _b === void 0 ? void 0 : _b.prevEl : null;
  2006. this._navigation = setProperty(val, {
  2007. nextEl: currentNext || null,
  2008. prevEl: currentPrev || null
  2009. });
  2010. this.showNavigation = !(coerceBooleanProperty(val) !== true || this._navigation && typeof this._navigation !== 'boolean' && this._navigation.prevEl !== ((_c = this._prevElRef) === null || _c === void 0 ? void 0 : _c.nativeElement) && (this._navigation.prevEl !== null || this._navigation.nextEl !== null) && (typeof this._navigation.nextEl === 'string' || typeof this._navigation.prevEl === 'string' || typeof this._navigation.nextEl === 'object' || typeof this._navigation.prevEl === 'object'));
  2011. }
  2012. get navigation() {
  2013. return this._navigation;
  2014. }
  2015. set pagination(val) {
  2016. var _a;
  2017. const current = typeof this._pagination !== 'boolean' && this._pagination !== '' ? (_a = this._pagination) === null || _a === void 0 ? void 0 : _a.el : null;
  2018. this._pagination = setProperty(val, {
  2019. el: current || null
  2020. });
  2021. this.showPagination = isShowEl(val, this._pagination, this._paginationElRef);
  2022. }
  2023. get pagination() {
  2024. return this._pagination;
  2025. }
  2026. set scrollbar(val) {
  2027. var _a;
  2028. const current = typeof this._scrollbar !== 'boolean' && this._scrollbar !== '' ? (_a = this._scrollbar) === null || _a === void 0 ? void 0 : _a.el : null;
  2029. this._scrollbar = setProperty(val, {
  2030. el: current || null
  2031. });
  2032. this.showScrollbar = isShowEl(val, this._scrollbar, this._scrollbarElRef);
  2033. }
  2034. get scrollbar() {
  2035. return this._scrollbar;
  2036. }
  2037. set virtual(val) {
  2038. this._virtual = setProperty(val);
  2039. }
  2040. get virtual() {
  2041. return this._virtual;
  2042. }
  2043. set config(val) {
  2044. this.updateSwiper(val);
  2045. const {
  2046. params
  2047. } = getParams(val);
  2048. Object.assign(this, params);
  2049. }
  2050. set prevElRef(el) {
  2051. this._prevElRef = el;
  2052. this._setElement(el, this.navigation, 'navigation', 'prevEl');
  2053. }
  2054. set nextElRef(el) {
  2055. this._nextElRef = el;
  2056. this._setElement(el, this.navigation, 'navigation', 'nextEl');
  2057. }
  2058. set scrollbarElRef(el) {
  2059. this._scrollbarElRef = el;
  2060. this._setElement(el, this.scrollbar, 'scrollbar');
  2061. }
  2062. set paginationElRef(el) {
  2063. this._paginationElRef = el;
  2064. this._setElement(el, this.pagination, 'pagination');
  2065. }
  2066. get activeSlides() {
  2067. if (this.virtual) {
  2068. return this._activeSlides;
  2069. }
  2070. return (0,rxjs__WEBPACK_IMPORTED_MODULE_3__.of)(this.slides);
  2071. }
  2072. get zoomContainerClass() {
  2073. return this.zoom && typeof this.zoom !== 'boolean' ? this.zoom.containerClass : 'swiper-zoom-container';
  2074. }
  2075. _setElement(el, ref, update, key = 'el') {
  2076. if (!ref || !el) return;
  2077. if (el.nativeElement) {
  2078. if (ref[key] === el.nativeElement) {
  2079. return;
  2080. }
  2081. ref[key] = el.nativeElement;
  2082. }
  2083. const updateObj = {};
  2084. updateObj[update] = true;
  2085. this.updateInitSwiper(updateObj);
  2086. }
  2087. ngOnInit() {
  2088. const {
  2089. params
  2090. } = getParams(this);
  2091. Object.assign(this, params);
  2092. }
  2093. ngAfterViewInit() {
  2094. this.childrenSlidesInit();
  2095. this.initSwiper();
  2096. this._changeDetectorRef.detectChanges();
  2097. setTimeout(() => {
  2098. this.s_swiper.emit(this.swiperRef);
  2099. });
  2100. }
  2101. childrenSlidesInit() {
  2102. this.slidesChanges(this.slidesEl);
  2103. this.slidesEl.changes.subscribe(this.slidesChanges);
  2104. }
  2105. get isSwiperActive() {
  2106. return this.swiperRef && !this.swiperRef.destroyed;
  2107. }
  2108. initSwiper() {
  2109. const {
  2110. params: swiperParams,
  2111. passedParams
  2112. } = getParams(this);
  2113. Object.assign(this, swiperParams);
  2114. this._ngZone.runOutsideAngular(() => {
  2115. swiperParams.init = false;
  2116. if (!swiperParams.virtual) {
  2117. swiperParams.observer = true;
  2118. }
  2119. swiperParams.onAny = (eventName, ...args) => {
  2120. const emitter = this['s_' + eventName];
  2121. if (emitter) {
  2122. emitter.emit([...args]);
  2123. }
  2124. };
  2125. const _slideClasses = (_, updated) => {
  2126. updated.forEach(({
  2127. slideEl,
  2128. classNames
  2129. }, index) => {
  2130. const dataIndex = slideEl.getAttribute('data-swiper-slide-index');
  2131. const slideIndex = dataIndex ? parseInt(dataIndex) : index;
  2132. if (this.virtual) {
  2133. const virtualSlide = this.slides.find(item => {
  2134. return item.virtualIndex && item.virtualIndex === slideIndex;
  2135. });
  2136. if (virtualSlide) {
  2137. virtualSlide.classNames = classNames;
  2138. return;
  2139. }
  2140. }
  2141. if (this.slides[slideIndex]) {
  2142. this.slides[slideIndex].classNames = classNames;
  2143. }
  2144. });
  2145. this._changeDetectorRef.detectChanges();
  2146. };
  2147. const _containerClasses = (_, classes) => {
  2148. setTimeout(() => {
  2149. this.containerClasses = classes;
  2150. });
  2151. };
  2152. Object.assign(swiperParams.on, {
  2153. _containerClasses,
  2154. _slideClasses
  2155. });
  2156. const swiperRef = new swiper__WEBPACK_IMPORTED_MODULE_0__["default"](swiperParams);
  2157. swiperRef.loopCreate = () => {};
  2158. swiperRef.loopDestroy = () => {};
  2159. if (swiperParams.loop) {
  2160. swiperRef.loopedSlides = this.loopedSlides;
  2161. }
  2162. const isVirtualEnabled = isEnabled(swiperRef.params.virtual);
  2163. if (swiperRef.virtual && isVirtualEnabled) {
  2164. swiperRef.virtual.slides = this.slides;
  2165. const extendWith = {
  2166. cache: false,
  2167. slides: this.slides,
  2168. renderExternal: this.updateVirtualSlides,
  2169. renderExternalUpdate: false
  2170. };
  2171. extend(swiperRef.params.virtual, extendWith);
  2172. extend(swiperRef.originalParams.virtual, extendWith);
  2173. }
  2174. if ((0,_angular_common__WEBPACK_IMPORTED_MODULE_4__.isPlatformBrowser)(this._platformId)) {
  2175. this.swiperRef = swiperRef.init(this.elementRef.nativeElement);
  2176. const isVirtualEnabled = isEnabled(this.swiperRef.params.virtual);
  2177. if (this.swiperRef.virtual && isVirtualEnabled) {
  2178. this.swiperRef.virtual.update(true);
  2179. }
  2180. this._changeDetectorRef.detectChanges();
  2181. }
  2182. });
  2183. }
  2184. ngOnChanges(changedParams) {
  2185. this.updateSwiper(changedParams);
  2186. this._changeDetectorRef.detectChanges();
  2187. }
  2188. updateInitSwiper(changedParams) {
  2189. if (!(changedParams && this.swiperRef && !this.swiperRef.destroyed)) {
  2190. return;
  2191. }
  2192. this._ngZone.runOutsideAngular(() => {
  2193. const {
  2194. params: currentParams,
  2195. pagination,
  2196. navigation,
  2197. scrollbar,
  2198. virtual,
  2199. thumbs
  2200. } = this.swiperRef;
  2201. if (changedParams.pagination) {
  2202. if (this.pagination && typeof this.pagination !== 'boolean' && this.pagination.el && pagination && !pagination.el) {
  2203. this.updateParameter('pagination', this.pagination);
  2204. pagination.init();
  2205. pagination.render();
  2206. pagination.update();
  2207. } else {
  2208. pagination.destroy();
  2209. pagination.el = null;
  2210. }
  2211. }
  2212. if (changedParams.scrollbar) {
  2213. if (this.scrollbar && typeof this.scrollbar !== 'boolean' && this.scrollbar.el && scrollbar && !scrollbar.el) {
  2214. this.updateParameter('scrollbar', this.scrollbar);
  2215. scrollbar.init();
  2216. scrollbar.updateSize();
  2217. scrollbar.setTranslate();
  2218. } else {
  2219. scrollbar.destroy();
  2220. scrollbar.el = null;
  2221. }
  2222. }
  2223. if (changedParams.navigation) {
  2224. if (this.navigation && typeof this.navigation !== 'boolean' && this.navigation.prevEl && this.navigation.nextEl && navigation && !navigation.prevEl && !navigation.nextEl) {
  2225. this.updateParameter('navigation', this.navigation);
  2226. navigation.init();
  2227. navigation.update();
  2228. } else if (navigation.prevEl && navigation.nextEl) {
  2229. navigation.destroy();
  2230. navigation.nextEl = null;
  2231. navigation.prevEl = null;
  2232. }
  2233. }
  2234. if (changedParams.thumbs && this.thumbs && this.thumbs.swiper) {
  2235. this.updateParameter('thumbs', this.thumbs);
  2236. const initialized = thumbs.init();
  2237. if (initialized) thumbs.update(true);
  2238. }
  2239. if (changedParams.controller && this.controller && this.controller.control) {
  2240. this.swiperRef.controller.control = this.controller.control;
  2241. }
  2242. this.swiperRef.update();
  2243. });
  2244. }
  2245. updateSwiper(changedParams) {
  2246. this._ngZone.runOutsideAngular(() => {
  2247. var _a, _b;
  2248. if (changedParams.config) {
  2249. return;
  2250. }
  2251. if (!(changedParams && this.swiperRef && !this.swiperRef.destroyed)) {
  2252. return;
  2253. }
  2254. for (const key in changedParams) {
  2255. if (ignoreNgOnChanges.indexOf(key) >= 0) {
  2256. continue;
  2257. }
  2258. const newValue = (_b = (_a = changedParams[key]) === null || _a === void 0 ? void 0 : _a.currentValue) !== null && _b !== void 0 ? _b : changedParams[key];
  2259. this.updateParameter(key, newValue);
  2260. }
  2261. if (changedParams.allowSlideNext) {
  2262. this.swiperRef.allowSlideNext = this.allowSlideNext;
  2263. }
  2264. if (changedParams.allowSlidePrev) {
  2265. this.swiperRef.allowSlidePrev = this.allowSlidePrev;
  2266. }
  2267. if (changedParams.direction) {
  2268. this.swiperRef.changeDirection(this.direction, false);
  2269. }
  2270. if (changedParams.breakpoints) {
  2271. if (this.loop && !this.loopedSlides) {
  2272. this.calcLoopedSlides();
  2273. }
  2274. this.swiperRef.currentBreakpoint = null;
  2275. this.swiperRef.setBreakpoint();
  2276. }
  2277. if (changedParams.thumbs || changedParams.controller) {
  2278. this.updateInitSwiper(changedParams);
  2279. }
  2280. this.swiperRef.update();
  2281. });
  2282. }
  2283. calcLoopedSlides() {
  2284. if (!this.loop) {
  2285. return false;
  2286. }
  2287. let slidesPerViewParams = this.slidesPerView;
  2288. if (this.breakpoints) {
  2289. const breakpoint = swiper__WEBPACK_IMPORTED_MODULE_0__["default"].prototype.getBreakpoint(this.breakpoints);
  2290. const breakpointOnlyParams = breakpoint in this.breakpoints ? this.breakpoints[breakpoint] : undefined;
  2291. if (breakpointOnlyParams && breakpointOnlyParams.slidesPerView) {
  2292. slidesPerViewParams = breakpointOnlyParams.slidesPerView;
  2293. }
  2294. }
  2295. if (slidesPerViewParams === 'auto') {
  2296. this.loopedSlides = this.slides.length;
  2297. return this.slides.length;
  2298. }
  2299. let loopedSlides = this.loopedSlides || slidesPerViewParams;
  2300. if (!loopedSlides) {
  2301. // ?
  2302. return false;
  2303. }
  2304. if (this.loopAdditionalSlides) {
  2305. loopedSlides += this.loopAdditionalSlides;
  2306. }
  2307. if (loopedSlides > this.slides.length) {
  2308. loopedSlides = this.slides.length;
  2309. }
  2310. this.loopedSlides = loopedSlides;
  2311. return true;
  2312. }
  2313. updateParameter(key, value) {
  2314. if (!(this.swiperRef && !this.swiperRef.destroyed)) {
  2315. return;
  2316. }
  2317. const _key = key.replace(/^_/, '');
  2318. const isCurrentParamObj = isObject(this.swiperRef.params[_key]);
  2319. if (_key === 'enabled') {
  2320. if (value === true) {
  2321. this.swiperRef.enable();
  2322. } else if (value === false) {
  2323. this.swiperRef.disable();
  2324. }
  2325. return;
  2326. }
  2327. if (isCurrentParamObj && isObject(value)) {
  2328. extend(this.swiperRef.params[_key], value);
  2329. } else {
  2330. this.swiperRef.params[_key] = value;
  2331. }
  2332. }
  2333. ngOnDestroy() {
  2334. this._ngZone.runOutsideAngular(() => {
  2335. var _a;
  2336. (_a = this.swiperRef) === null || _a === void 0 ? void 0 : _a.destroy(true, false);
  2337. });
  2338. }
  2339. }
  2340. SwiperComponent.ɵfac = function SwiperComponent_Factory(t) {
  2341. return new (t || SwiperComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵdirectiveInject"](_angular_core__WEBPACK_IMPORTED_MODULE_1__.NgZone), _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵdirectiveInject"](_angular_core__WEBPACK_IMPORTED_MODULE_1__.ElementRef), _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵdirectiveInject"](_angular_core__WEBPACK_IMPORTED_MODULE_1__.ChangeDetectorRef), _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵdirectiveInject"](_angular_core__WEBPACK_IMPORTED_MODULE_1__.PLATFORM_ID));
  2342. };
  2343. SwiperComponent.ɵcmp = /* @__PURE__ */_angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵdefineComponent"]({
  2344. type: SwiperComponent,
  2345. selectors: [["swiper"], ["", "swiper", ""]],
  2346. contentQueries: function SwiperComponent_ContentQueries(rf, ctx, dirIndex) {
  2347. if (rf & 1) {
  2348. _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵcontentQuery"](dirIndex, SwiperSlideDirective, 4);
  2349. }
  2350. if (rf & 2) {
  2351. let _t;
  2352. _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵqueryRefresh"](_t = _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵloadQuery"]()) && (ctx.slidesEl = _t);
  2353. }
  2354. },
  2355. viewQuery: function SwiperComponent_Query(rf, ctx) {
  2356. if (rf & 1) {
  2357. _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵviewQuery"](_c0, 5);
  2358. _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵviewQuery"](_c1, 5);
  2359. _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵviewQuery"](_c2, 5);
  2360. _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵviewQuery"](_c3, 5);
  2361. }
  2362. if (rf & 2) {
  2363. let _t;
  2364. _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵqueryRefresh"](_t = _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵloadQuery"]()) && (ctx.prevElRef = _t.first);
  2365. _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵqueryRefresh"](_t = _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵloadQuery"]()) && (ctx.nextElRef = _t.first);
  2366. _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵqueryRefresh"](_t = _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵloadQuery"]()) && (ctx.scrollbarElRef = _t.first);
  2367. _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵqueryRefresh"](_t = _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵloadQuery"]()) && (ctx.paginationElRef = _t.first);
  2368. }
  2369. },
  2370. hostVars: 2,
  2371. hostBindings: function SwiperComponent_HostBindings(rf, ctx) {
  2372. if (rf & 2) {
  2373. _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵclassMap"](ctx.containerClasses);
  2374. }
  2375. },
  2376. inputs: {
  2377. enabled: "enabled",
  2378. on: "on",
  2379. direction: "direction",
  2380. touchEventsTarget: "touchEventsTarget",
  2381. initialSlide: "initialSlide",
  2382. speed: "speed",
  2383. cssMode: "cssMode",
  2384. updateOnWindowResize: "updateOnWindowResize",
  2385. resizeObserver: "resizeObserver",
  2386. nested: "nested",
  2387. focusableElements: "focusableElements",
  2388. width: "width",
  2389. height: "height",
  2390. preventInteractionOnTransition: "preventInteractionOnTransition",
  2391. userAgent: "userAgent",
  2392. url: "url",
  2393. edgeSwipeDetection: "edgeSwipeDetection",
  2394. edgeSwipeThreshold: "edgeSwipeThreshold",
  2395. freeMode: "freeMode",
  2396. autoHeight: "autoHeight",
  2397. setWrapperSize: "setWrapperSize",
  2398. virtualTranslate: "virtualTranslate",
  2399. effect: "effect",
  2400. breakpoints: "breakpoints",
  2401. spaceBetween: "spaceBetween",
  2402. slidesPerView: "slidesPerView",
  2403. maxBackfaceHiddenSlides: "maxBackfaceHiddenSlides",
  2404. grid: "grid",
  2405. slidesPerGroup: "slidesPerGroup",
  2406. slidesPerGroupSkip: "slidesPerGroupSkip",
  2407. centeredSlides: "centeredSlides",
  2408. centeredSlidesBounds: "centeredSlidesBounds",
  2409. slidesOffsetBefore: "slidesOffsetBefore",
  2410. slidesOffsetAfter: "slidesOffsetAfter",
  2411. normalizeSlideIndex: "normalizeSlideIndex",
  2412. centerInsufficientSlides: "centerInsufficientSlides",
  2413. watchOverflow: "watchOverflow",
  2414. roundLengths: "roundLengths",
  2415. touchRatio: "touchRatio",
  2416. touchAngle: "touchAngle",
  2417. simulateTouch: "simulateTouch",
  2418. shortSwipes: "shortSwipes",
  2419. longSwipes: "longSwipes",
  2420. longSwipesRatio: "longSwipesRatio",
  2421. longSwipesMs: "longSwipesMs",
  2422. followFinger: "followFinger",
  2423. allowTouchMove: "allowTouchMove",
  2424. threshold: "threshold",
  2425. touchMoveStopPropagation: "touchMoveStopPropagation",
  2426. touchStartPreventDefault: "touchStartPreventDefault",
  2427. touchStartForcePreventDefault: "touchStartForcePreventDefault",
  2428. touchReleaseOnEdges: "touchReleaseOnEdges",
  2429. uniqueNavElements: "uniqueNavElements",
  2430. resistance: "resistance",
  2431. resistanceRatio: "resistanceRatio",
  2432. watchSlidesProgress: "watchSlidesProgress",
  2433. grabCursor: "grabCursor",
  2434. preventClicks: "preventClicks",
  2435. preventClicksPropagation: "preventClicksPropagation",
  2436. slideToClickedSlide: "slideToClickedSlide",
  2437. preloadImages: "preloadImages",
  2438. updateOnImagesReady: "updateOnImagesReady",
  2439. loop: "loop",
  2440. loopAdditionalSlides: "loopAdditionalSlides",
  2441. loopedSlides: "loopedSlides",
  2442. loopedSlidesLimit: "loopedSlidesLimit",
  2443. loopFillGroupWithBlank: "loopFillGroupWithBlank",
  2444. loopPreventsSlide: "loopPreventsSlide",
  2445. rewind: "rewind",
  2446. allowSlidePrev: "allowSlidePrev",
  2447. allowSlideNext: "allowSlideNext",
  2448. swipeHandler: "swipeHandler",
  2449. noSwiping: "noSwiping",
  2450. noSwipingClass: "noSwipingClass",
  2451. noSwipingSelector: "noSwipingSelector",
  2452. passiveListeners: "passiveListeners",
  2453. containerModifierClass: "containerModifierClass",
  2454. slideClass: "slideClass",
  2455. slideBlankClass: "slideBlankClass",
  2456. slideActiveClass: "slideActiveClass",
  2457. slideDuplicateActiveClass: "slideDuplicateActiveClass",
  2458. slideVisibleClass: "slideVisibleClass",
  2459. slideDuplicateClass: "slideDuplicateClass",
  2460. slideNextClass: "slideNextClass",
  2461. slideDuplicateNextClass: "slideDuplicateNextClass",
  2462. slidePrevClass: "slidePrevClass",
  2463. slideDuplicatePrevClass: "slideDuplicatePrevClass",
  2464. wrapperClass: "wrapperClass",
  2465. runCallbacksOnInit: "runCallbacksOnInit",
  2466. observeParents: "observeParents",
  2467. observeSlideChildren: "observeSlideChildren",
  2468. a11y: "a11y",
  2469. autoplay: "autoplay",
  2470. controller: "controller",
  2471. coverflowEffect: "coverflowEffect",
  2472. cubeEffect: "cubeEffect",
  2473. fadeEffect: "fadeEffect",
  2474. flipEffect: "flipEffect",
  2475. creativeEffect: "creativeEffect",
  2476. cardsEffect: "cardsEffect",
  2477. hashNavigation: "hashNavigation",
  2478. history: "history",
  2479. keyboard: "keyboard",
  2480. lazy: "lazy",
  2481. mousewheel: "mousewheel",
  2482. parallax: "parallax",
  2483. thumbs: "thumbs",
  2484. zoom: "zoom",
  2485. class: "class",
  2486. id: "id",
  2487. navigation: "navigation",
  2488. pagination: "pagination",
  2489. scrollbar: "scrollbar",
  2490. virtual: "virtual",
  2491. config: "config"
  2492. },
  2493. outputs: {
  2494. s__beforeBreakpoint: "_beforeBreakpoint",
  2495. s__containerClasses: "_containerClasses",
  2496. s__slideClass: "_slideClass",
  2497. s__swiper: "_swiper",
  2498. s_activeIndexChange: "activeIndexChange",
  2499. s_afterInit: "afterInit",
  2500. s_autoplay: "autoplay",
  2501. s_autoplayStart: "autoplayStart",
  2502. s_autoplayStop: "autoplayStop",
  2503. s_autoplayPause: "autoplayPause",
  2504. s_autoplayResume: "autoplayResume",
  2505. s_beforeDestroy: "beforeDestroy",
  2506. s_beforeInit: "beforeInit",
  2507. s_beforeLoopFix: "beforeLoopFix",
  2508. s_beforeResize: "beforeResize",
  2509. s_beforeSlideChangeStart: "beforeSlideChangeStart",
  2510. s_beforeTransitionStart: "beforeTransitionStart",
  2511. s_breakpoint: "breakpoint",
  2512. s_changeDirection: "changeDirection",
  2513. s_click: "click",
  2514. s_doubleTap: "doubleTap",
  2515. s_doubleClick: "doubleClick",
  2516. s_destroy: "destroy",
  2517. s_fromEdge: "fromEdge",
  2518. s_hashChange: "hashChange",
  2519. s_hashSet: "hashSet",
  2520. s_imagesReady: "imagesReady",
  2521. s_init: "init",
  2522. s_keyPress: "keyPress",
  2523. s_lazyImageLoad: "lazyImageLoad",
  2524. s_lazyImageReady: "lazyImageReady",
  2525. s_loopFix: "loopFix",
  2526. s_momentumBounce: "momentumBounce",
  2527. s_navigationHide: "navigationHide",
  2528. s_navigationShow: "navigationShow",
  2529. s_navigationPrev: "navigationPrev",
  2530. s_navigationNext: "navigationNext",
  2531. s_observerUpdate: "observerUpdate",
  2532. s_orientationchange: "orientationchange",
  2533. s_paginationHide: "paginationHide",
  2534. s_paginationRender: "paginationRender",
  2535. s_paginationShow: "paginationShow",
  2536. s_paginationUpdate: "paginationUpdate",
  2537. s_progress: "progress",
  2538. s_reachBeginning: "reachBeginning",
  2539. s_reachEnd: "reachEnd",
  2540. s_realIndexChange: "realIndexChange",
  2541. s_resize: "resize",
  2542. s_scroll: "scroll",
  2543. s_scrollbarDragEnd: "scrollbarDragEnd",
  2544. s_scrollbarDragMove: "scrollbarDragMove",
  2545. s_scrollbarDragStart: "scrollbarDragStart",
  2546. s_setTransition: "setTransition",
  2547. s_setTranslate: "setTranslate",
  2548. s_slideChange: "slideChange",
  2549. s_slideChangeTransitionEnd: "slideChangeTransitionEnd",
  2550. s_slideChangeTransitionStart: "slideChangeTransitionStart",
  2551. s_slideNextTransitionEnd: "slideNextTransitionEnd",
  2552. s_slideNextTransitionStart: "slideNextTransitionStart",
  2553. s_slidePrevTransitionEnd: "slidePrevTransitionEnd",
  2554. s_slidePrevTransitionStart: "slidePrevTransitionStart",
  2555. s_slideResetTransitionStart: "slideResetTransitionStart",
  2556. s_slideResetTransitionEnd: "slideResetTransitionEnd",
  2557. s_sliderMove: "sliderMove",
  2558. s_sliderFirstMove: "sliderFirstMove",
  2559. s_slidesLengthChange: "slidesLengthChange",
  2560. s_slidesGridLengthChange: "slidesGridLengthChange",
  2561. s_snapGridLengthChange: "snapGridLengthChange",
  2562. s_snapIndexChange: "snapIndexChange",
  2563. s_tap: "tap",
  2564. s_toEdge: "toEdge",
  2565. s_touchEnd: "touchEnd",
  2566. s_touchMove: "touchMove",
  2567. s_touchMoveOpposite: "touchMoveOpposite",
  2568. s_touchStart: "touchStart",
  2569. s_transitionEnd: "transitionEnd",
  2570. s_transitionStart: "transitionStart",
  2571. s_update: "update",
  2572. s_zoomChange: "zoomChange",
  2573. s_swiper: "swiper",
  2574. s_lock: "lock",
  2575. s_unlock: "unlock"
  2576. },
  2577. features: [_angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵNgOnChangesFeature"]],
  2578. ngContentSelectors: _c9,
  2579. decls: 13,
  2580. vars: 17,
  2581. consts: [[4, "ngIf"], ["class", "swiper-scrollbar", 4, "ngIf"], ["class", "swiper-pagination", 4, "ngIf"], [3, "ngClass"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"], ["slidesTemplate", ""], [1, "swiper-button-prev"], ["prevElRef", ""], [1, "swiper-button-next"], ["nextElRef", ""], [1, "swiper-scrollbar"], ["scrollbarElRef", ""], [1, "swiper-pagination"], ["paginationElRef", ""], [3, "ngClass", "style", "ngSwitch", 4, "ngFor", "ngForOf"], [3, "ngClass", "ngSwitch"], [3, "ngClass", 4, "ngSwitchCase"], [4, "ngSwitchDefault"], [3, "ngTemplateOutlet", "ngTemplateOutletContext"]],
  2582. template: function SwiperComponent_Template(rf, ctx) {
  2583. if (rf & 1) {
  2584. _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵprojectionDef"](_c5);
  2585. _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵprojection"](0);
  2586. _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtemplate"](1, SwiperComponent_ng_container_1_Template, 5, 0, "ng-container", 0);
  2587. _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtemplate"](2, SwiperComponent_div_2_Template, 2, 0, "div", 1);
  2588. _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtemplate"](3, SwiperComponent_div_3_Template, 2, 0, "div", 2);
  2589. _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](4, "div", 3);
  2590. _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵprojection"](5, 1);
  2591. _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtemplate"](6, SwiperComponent_6_Template, 1, 0, null, 4);
  2592. _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtemplate"](7, SwiperComponent_7_Template, 1, 0, null, 4);
  2593. _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtemplate"](8, SwiperComponent_8_Template, 1, 0, null, 4);
  2594. _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵprojection"](9, 2);
  2595. _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"]();
  2596. _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵprojection"](10, 3);
  2597. _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtemplate"](11, SwiperComponent_ng_template_11_Template, 2, 3, "ng-template", null, 5, _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtemplateRefExtractor"]);
  2598. }
  2599. if (rf & 2) {
  2600. const _r6 = _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵreference"](12);
  2601. _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](1);
  2602. _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵproperty"]("ngIf", ctx.navigation && ctx.showNavigation);
  2603. _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](1);
  2604. _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵproperty"]("ngIf", ctx.scrollbar && ctx.showScrollbar);
  2605. _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](1);
  2606. _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵproperty"]("ngIf", ctx.pagination && ctx.showPagination);
  2607. _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](1);
  2608. _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵproperty"]("ngClass", ctx.wrapperClass);
  2609. _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵattribute"]("id", ctx.id);
  2610. _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](2);
  2611. _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵproperty"]("ngTemplateOutlet", _r6)("ngTemplateOutletContext", _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵpureFunction1"](11, _c6, ctx.prependSlides));
  2612. _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](1);
  2613. _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵproperty"]("ngTemplateOutlet", _r6)("ngTemplateOutletContext", _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵpureFunction1"](13, _c7, ctx.activeSlides));
  2614. _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](1);
  2615. _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵproperty"]("ngTemplateOutlet", _r6)("ngTemplateOutletContext", _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵpureFunction1"](15, _c8, ctx.appendSlides));
  2616. }
  2617. },
  2618. dependencies: [_angular_common__WEBPACK_IMPORTED_MODULE_4__.NgIf, _angular_common__WEBPACK_IMPORTED_MODULE_4__.NgClass, _angular_common__WEBPACK_IMPORTED_MODULE_4__.NgTemplateOutlet, _angular_common__WEBPACK_IMPORTED_MODULE_4__.NgForOf, _angular_common__WEBPACK_IMPORTED_MODULE_4__.NgSwitch, _angular_common__WEBPACK_IMPORTED_MODULE_4__.NgSwitchCase, _angular_common__WEBPACK_IMPORTED_MODULE_4__.NgSwitchDefault, _angular_common__WEBPACK_IMPORTED_MODULE_4__.AsyncPipe],
  2619. styles: ["swiper{display:block}\n"],
  2620. encapsulation: 2,
  2621. changeDetection: 0
  2622. });
  2623. (function () {
  2624. (typeof ngDevMode === "undefined" || ngDevMode) && _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵsetClassMetadata"](SwiperComponent, [{
  2625. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Component,
  2626. args: [{
  2627. selector: 'swiper, [swiper]',
  2628. changeDetection: _angular_core__WEBPACK_IMPORTED_MODULE_1__.ChangeDetectionStrategy.OnPush,
  2629. encapsulation: _angular_core__WEBPACK_IMPORTED_MODULE_1__.ViewEncapsulation.None,
  2630. styles: [`
  2631. swiper {
  2632. display: block;
  2633. }
  2634. `],
  2635. template: "<ng-content select=\"[slot=container-start]\"></ng-content>\n<ng-container *ngIf=\"navigation && showNavigation\">\n <div class=\"swiper-button-prev\" #prevElRef></div>\n <div class=\"swiper-button-next\" #nextElRef></div>\n</ng-container>\n<div *ngIf=\"scrollbar && showScrollbar\" class=\"swiper-scrollbar\" #scrollbarElRef></div>\n<div *ngIf=\"pagination && showPagination\" class=\"swiper-pagination\" #paginationElRef></div>\n<div [ngClass]=\"wrapperClass\" [attr.id]=\"id\">\n <ng-content select=\"[slot=wrapper-start]\"></ng-content>\n <ng-template\n *ngTemplateOutlet=\"\n slidesTemplate;\n context: {\n loopSlides: prependSlides,\n key: 'prepend'\n }\n \"\n ></ng-template>\n <ng-template\n *ngTemplateOutlet=\"\n slidesTemplate;\n context: {\n loopSlides: activeSlides,\n key: ''\n }\n \"\n ></ng-template>\n <ng-template\n *ngTemplateOutlet=\"\n slidesTemplate;\n context: {\n loopSlides: appendSlides,\n key: 'append'\n }\n \"\n ></ng-template>\n <ng-content select=\"[slot=wrapper-end]\"></ng-content>\n</div>\n<ng-content select=\"[slot=container-end]\"></ng-content>\n\n<ng-template #slidesTemplate let-loopSlides=\"loopSlides\" let-slideKey=\"key\">\n <div\n *ngFor=\"let slide of loopSlides | async\"\n [ngClass]=\"\n (slide.class ? slide.class + ' ' : '') +\n slideClass +\n (slideKey !== '' ? ' ' + slideDuplicateClass : '')\n \"\n [attr.data-swiper-slide-index]=\"slide.virtualIndex ? slide.virtualIndex : slide.slideIndex\"\n [attr.data-swiper-autoplay]=\"slide.autoplayDelay\"\n [style]=\"style\"\n [ngSwitch]=\"slide.zoom\"\n >\n <div *ngSwitchCase=\"true\" [ngClass]=\"zoomContainerClass\">\n <ng-template\n [ngTemplateOutlet]=\"slide.template\"\n [ngTemplateOutletContext]=\"{\n $implicit: slide.slideData\n }\"\n ></ng-template>\n </div>\n <ng-container *ngSwitchDefault>\n <ng-template\n [ngTemplateOutlet]=\"slide.template\"\n [ngTemplateOutletContext]=\"{\n $implicit: slide.slideData\n }\"\n ></ng-template>\n </ng-container>\n </div>\n</ng-template>\n"
  2636. }]
  2637. }], function () {
  2638. return [{
  2639. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.NgZone
  2640. }, {
  2641. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.ElementRef
  2642. }, {
  2643. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.ChangeDetectorRef
  2644. }, {
  2645. type: Object,
  2646. decorators: [{
  2647. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Inject,
  2648. args: [_angular_core__WEBPACK_IMPORTED_MODULE_1__.PLATFORM_ID]
  2649. }]
  2650. }];
  2651. }, {
  2652. enabled: [{
  2653. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2654. }],
  2655. on: [{
  2656. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2657. }],
  2658. direction: [{
  2659. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2660. }],
  2661. touchEventsTarget: [{
  2662. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2663. }],
  2664. initialSlide: [{
  2665. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2666. }],
  2667. speed: [{
  2668. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2669. }],
  2670. cssMode: [{
  2671. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2672. }],
  2673. updateOnWindowResize: [{
  2674. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2675. }],
  2676. resizeObserver: [{
  2677. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2678. }],
  2679. nested: [{
  2680. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2681. }],
  2682. focusableElements: [{
  2683. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2684. }],
  2685. width: [{
  2686. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2687. }],
  2688. height: [{
  2689. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2690. }],
  2691. preventInteractionOnTransition: [{
  2692. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2693. }],
  2694. userAgent: [{
  2695. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2696. }],
  2697. url: [{
  2698. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2699. }],
  2700. edgeSwipeDetection: [{
  2701. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2702. }],
  2703. edgeSwipeThreshold: [{
  2704. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2705. }],
  2706. freeMode: [{
  2707. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2708. }],
  2709. autoHeight: [{
  2710. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2711. }],
  2712. setWrapperSize: [{
  2713. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2714. }],
  2715. virtualTranslate: [{
  2716. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2717. }],
  2718. effect: [{
  2719. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2720. }],
  2721. breakpoints: [{
  2722. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2723. }],
  2724. spaceBetween: [{
  2725. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2726. }],
  2727. slidesPerView: [{
  2728. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2729. }],
  2730. maxBackfaceHiddenSlides: [{
  2731. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2732. }],
  2733. grid: [{
  2734. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2735. }],
  2736. slidesPerGroup: [{
  2737. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2738. }],
  2739. slidesPerGroupSkip: [{
  2740. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2741. }],
  2742. centeredSlides: [{
  2743. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2744. }],
  2745. centeredSlidesBounds: [{
  2746. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2747. }],
  2748. slidesOffsetBefore: [{
  2749. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2750. }],
  2751. slidesOffsetAfter: [{
  2752. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2753. }],
  2754. normalizeSlideIndex: [{
  2755. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2756. }],
  2757. centerInsufficientSlides: [{
  2758. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2759. }],
  2760. watchOverflow: [{
  2761. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2762. }],
  2763. roundLengths: [{
  2764. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2765. }],
  2766. touchRatio: [{
  2767. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2768. }],
  2769. touchAngle: [{
  2770. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2771. }],
  2772. simulateTouch: [{
  2773. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2774. }],
  2775. shortSwipes: [{
  2776. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2777. }],
  2778. longSwipes: [{
  2779. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2780. }],
  2781. longSwipesRatio: [{
  2782. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2783. }],
  2784. longSwipesMs: [{
  2785. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2786. }],
  2787. followFinger: [{
  2788. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2789. }],
  2790. allowTouchMove: [{
  2791. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2792. }],
  2793. threshold: [{
  2794. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2795. }],
  2796. touchMoveStopPropagation: [{
  2797. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2798. }],
  2799. touchStartPreventDefault: [{
  2800. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2801. }],
  2802. touchStartForcePreventDefault: [{
  2803. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2804. }],
  2805. touchReleaseOnEdges: [{
  2806. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2807. }],
  2808. uniqueNavElements: [{
  2809. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2810. }],
  2811. resistance: [{
  2812. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2813. }],
  2814. resistanceRatio: [{
  2815. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2816. }],
  2817. watchSlidesProgress: [{
  2818. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2819. }],
  2820. grabCursor: [{
  2821. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2822. }],
  2823. preventClicks: [{
  2824. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2825. }],
  2826. preventClicksPropagation: [{
  2827. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2828. }],
  2829. slideToClickedSlide: [{
  2830. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2831. }],
  2832. preloadImages: [{
  2833. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2834. }],
  2835. updateOnImagesReady: [{
  2836. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2837. }],
  2838. loop: [{
  2839. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2840. }],
  2841. loopAdditionalSlides: [{
  2842. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2843. }],
  2844. loopedSlides: [{
  2845. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2846. }],
  2847. loopedSlidesLimit: [{
  2848. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2849. }],
  2850. loopFillGroupWithBlank: [{
  2851. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2852. }],
  2853. loopPreventsSlide: [{
  2854. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2855. }],
  2856. rewind: [{
  2857. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2858. }],
  2859. allowSlidePrev: [{
  2860. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2861. }],
  2862. allowSlideNext: [{
  2863. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2864. }],
  2865. swipeHandler: [{
  2866. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2867. }],
  2868. noSwiping: [{
  2869. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2870. }],
  2871. noSwipingClass: [{
  2872. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2873. }],
  2874. noSwipingSelector: [{
  2875. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2876. }],
  2877. passiveListeners: [{
  2878. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2879. }],
  2880. containerModifierClass: [{
  2881. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2882. }],
  2883. slideClass: [{
  2884. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2885. }],
  2886. slideBlankClass: [{
  2887. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2888. }],
  2889. slideActiveClass: [{
  2890. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2891. }],
  2892. slideDuplicateActiveClass: [{
  2893. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2894. }],
  2895. slideVisibleClass: [{
  2896. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2897. }],
  2898. slideDuplicateClass: [{
  2899. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2900. }],
  2901. slideNextClass: [{
  2902. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2903. }],
  2904. slideDuplicateNextClass: [{
  2905. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2906. }],
  2907. slidePrevClass: [{
  2908. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2909. }],
  2910. slideDuplicatePrevClass: [{
  2911. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2912. }],
  2913. wrapperClass: [{
  2914. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2915. }],
  2916. runCallbacksOnInit: [{
  2917. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2918. }],
  2919. observeParents: [{
  2920. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2921. }],
  2922. observeSlideChildren: [{
  2923. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2924. }],
  2925. a11y: [{
  2926. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2927. }],
  2928. autoplay: [{
  2929. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2930. }],
  2931. controller: [{
  2932. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2933. }],
  2934. coverflowEffect: [{
  2935. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2936. }],
  2937. cubeEffect: [{
  2938. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2939. }],
  2940. fadeEffect: [{
  2941. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2942. }],
  2943. flipEffect: [{
  2944. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2945. }],
  2946. creativeEffect: [{
  2947. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2948. }],
  2949. cardsEffect: [{
  2950. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2951. }],
  2952. hashNavigation: [{
  2953. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2954. }],
  2955. history: [{
  2956. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2957. }],
  2958. keyboard: [{
  2959. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2960. }],
  2961. lazy: [{
  2962. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2963. }],
  2964. mousewheel: [{
  2965. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2966. }],
  2967. parallax: [{
  2968. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2969. }],
  2970. thumbs: [{
  2971. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2972. }],
  2973. zoom: [{
  2974. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2975. }],
  2976. class: [{
  2977. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2978. }],
  2979. id: [{
  2980. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2981. }],
  2982. navigation: [{
  2983. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2984. }],
  2985. pagination: [{
  2986. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2987. }],
  2988. scrollbar: [{
  2989. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2990. }],
  2991. virtual: [{
  2992. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2993. }],
  2994. config: [{
  2995. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Input
  2996. }],
  2997. s__beforeBreakpoint: [{
  2998. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Output,
  2999. args: ['_beforeBreakpoint']
  3000. }],
  3001. s__containerClasses: [{
  3002. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Output,
  3003. args: ['_containerClasses']
  3004. }],
  3005. s__slideClass: [{
  3006. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Output,
  3007. args: ['_slideClass']
  3008. }],
  3009. s__swiper: [{
  3010. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Output,
  3011. args: ['_swiper']
  3012. }],
  3013. s_activeIndexChange: [{
  3014. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Output,
  3015. args: ['activeIndexChange']
  3016. }],
  3017. s_afterInit: [{
  3018. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Output,
  3019. args: ['afterInit']
  3020. }],
  3021. s_autoplay: [{
  3022. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Output,
  3023. args: ['autoplay']
  3024. }],
  3025. s_autoplayStart: [{
  3026. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Output,
  3027. args: ['autoplayStart']
  3028. }],
  3029. s_autoplayStop: [{
  3030. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Output,
  3031. args: ['autoplayStop']
  3032. }],
  3033. s_autoplayPause: [{
  3034. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Output,
  3035. args: ['autoplayPause']
  3036. }],
  3037. s_autoplayResume: [{
  3038. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Output,
  3039. args: ['autoplayResume']
  3040. }],
  3041. s_beforeDestroy: [{
  3042. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Output,
  3043. args: ['beforeDestroy']
  3044. }],
  3045. s_beforeInit: [{
  3046. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Output,
  3047. args: ['beforeInit']
  3048. }],
  3049. s_beforeLoopFix: [{
  3050. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Output,
  3051. args: ['beforeLoopFix']
  3052. }],
  3053. s_beforeResize: [{
  3054. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Output,
  3055. args: ['beforeResize']
  3056. }],
  3057. s_beforeSlideChangeStart: [{
  3058. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Output,
  3059. args: ['beforeSlideChangeStart']
  3060. }],
  3061. s_beforeTransitionStart: [{
  3062. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Output,
  3063. args: ['beforeTransitionStart']
  3064. }],
  3065. s_breakpoint: [{
  3066. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Output,
  3067. args: ['breakpoint']
  3068. }],
  3069. s_changeDirection: [{
  3070. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Output,
  3071. args: ['changeDirection']
  3072. }],
  3073. s_click: [{
  3074. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Output,
  3075. args: ['click']
  3076. }],
  3077. s_doubleTap: [{
  3078. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Output,
  3079. args: ['doubleTap']
  3080. }],
  3081. s_doubleClick: [{
  3082. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Output,
  3083. args: ['doubleClick']
  3084. }],
  3085. s_destroy: [{
  3086. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Output,
  3087. args: ['destroy']
  3088. }],
  3089. s_fromEdge: [{
  3090. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Output,
  3091. args: ['fromEdge']
  3092. }],
  3093. s_hashChange: [{
  3094. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Output,
  3095. args: ['hashChange']
  3096. }],
  3097. s_hashSet: [{
  3098. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Output,
  3099. args: ['hashSet']
  3100. }],
  3101. s_imagesReady: [{
  3102. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Output,
  3103. args: ['imagesReady']
  3104. }],
  3105. s_init: [{
  3106. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Output,
  3107. args: ['init']
  3108. }],
  3109. s_keyPress: [{
  3110. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Output,
  3111. args: ['keyPress']
  3112. }],
  3113. s_lazyImageLoad: [{
  3114. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Output,
  3115. args: ['lazyImageLoad']
  3116. }],
  3117. s_lazyImageReady: [{
  3118. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Output,
  3119. args: ['lazyImageReady']
  3120. }],
  3121. s_loopFix: [{
  3122. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Output,
  3123. args: ['loopFix']
  3124. }],
  3125. s_momentumBounce: [{
  3126. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Output,
  3127. args: ['momentumBounce']
  3128. }],
  3129. s_navigationHide: [{
  3130. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Output,
  3131. args: ['navigationHide']
  3132. }],
  3133. s_navigationShow: [{
  3134. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Output,
  3135. args: ['navigationShow']
  3136. }],
  3137. s_navigationPrev: [{
  3138. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Output,
  3139. args: ['navigationPrev']
  3140. }],
  3141. s_navigationNext: [{
  3142. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Output,
  3143. args: ['navigationNext']
  3144. }],
  3145. s_observerUpdate: [{
  3146. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Output,
  3147. args: ['observerUpdate']
  3148. }],
  3149. s_orientationchange: [{
  3150. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Output,
  3151. args: ['orientationchange']
  3152. }],
  3153. s_paginationHide: [{
  3154. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Output,
  3155. args: ['paginationHide']
  3156. }],
  3157. s_paginationRender: [{
  3158. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Output,
  3159. args: ['paginationRender']
  3160. }],
  3161. s_paginationShow: [{
  3162. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Output,
  3163. args: ['paginationShow']
  3164. }],
  3165. s_paginationUpdate: [{
  3166. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Output,
  3167. args: ['paginationUpdate']
  3168. }],
  3169. s_progress: [{
  3170. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Output,
  3171. args: ['progress']
  3172. }],
  3173. s_reachBeginning: [{
  3174. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Output,
  3175. args: ['reachBeginning']
  3176. }],
  3177. s_reachEnd: [{
  3178. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Output,
  3179. args: ['reachEnd']
  3180. }],
  3181. s_realIndexChange: [{
  3182. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Output,
  3183. args: ['realIndexChange']
  3184. }],
  3185. s_resize: [{
  3186. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Output,
  3187. args: ['resize']
  3188. }],
  3189. s_scroll: [{
  3190. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Output,
  3191. args: ['scroll']
  3192. }],
  3193. s_scrollbarDragEnd: [{
  3194. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Output,
  3195. args: ['scrollbarDragEnd']
  3196. }],
  3197. s_scrollbarDragMove: [{
  3198. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Output,
  3199. args: ['scrollbarDragMove']
  3200. }],
  3201. s_scrollbarDragStart: [{
  3202. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Output,
  3203. args: ['scrollbarDragStart']
  3204. }],
  3205. s_setTransition: [{
  3206. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Output,
  3207. args: ['setTransition']
  3208. }],
  3209. s_setTranslate: [{
  3210. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Output,
  3211. args: ['setTranslate']
  3212. }],
  3213. s_slideChange: [{
  3214. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Output,
  3215. args: ['slideChange']
  3216. }],
  3217. s_slideChangeTransitionEnd: [{
  3218. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Output,
  3219. args: ['slideChangeTransitionEnd']
  3220. }],
  3221. s_slideChangeTransitionStart: [{
  3222. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Output,
  3223. args: ['slideChangeTransitionStart']
  3224. }],
  3225. s_slideNextTransitionEnd: [{
  3226. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Output,
  3227. args: ['slideNextTransitionEnd']
  3228. }],
  3229. s_slideNextTransitionStart: [{
  3230. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Output,
  3231. args: ['slideNextTransitionStart']
  3232. }],
  3233. s_slidePrevTransitionEnd: [{
  3234. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Output,
  3235. args: ['slidePrevTransitionEnd']
  3236. }],
  3237. s_slidePrevTransitionStart: [{
  3238. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Output,
  3239. args: ['slidePrevTransitionStart']
  3240. }],
  3241. s_slideResetTransitionStart: [{
  3242. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Output,
  3243. args: ['slideResetTransitionStart']
  3244. }],
  3245. s_slideResetTransitionEnd: [{
  3246. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Output,
  3247. args: ['slideResetTransitionEnd']
  3248. }],
  3249. s_sliderMove: [{
  3250. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Output,
  3251. args: ['sliderMove']
  3252. }],
  3253. s_sliderFirstMove: [{
  3254. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Output,
  3255. args: ['sliderFirstMove']
  3256. }],
  3257. s_slidesLengthChange: [{
  3258. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Output,
  3259. args: ['slidesLengthChange']
  3260. }],
  3261. s_slidesGridLengthChange: [{
  3262. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Output,
  3263. args: ['slidesGridLengthChange']
  3264. }],
  3265. s_snapGridLengthChange: [{
  3266. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Output,
  3267. args: ['snapGridLengthChange']
  3268. }],
  3269. s_snapIndexChange: [{
  3270. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Output,
  3271. args: ['snapIndexChange']
  3272. }],
  3273. s_tap: [{
  3274. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Output,
  3275. args: ['tap']
  3276. }],
  3277. s_toEdge: [{
  3278. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Output,
  3279. args: ['toEdge']
  3280. }],
  3281. s_touchEnd: [{
  3282. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Output,
  3283. args: ['touchEnd']
  3284. }],
  3285. s_touchMove: [{
  3286. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Output,
  3287. args: ['touchMove']
  3288. }],
  3289. s_touchMoveOpposite: [{
  3290. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Output,
  3291. args: ['touchMoveOpposite']
  3292. }],
  3293. s_touchStart: [{
  3294. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Output,
  3295. args: ['touchStart']
  3296. }],
  3297. s_transitionEnd: [{
  3298. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Output,
  3299. args: ['transitionEnd']
  3300. }],
  3301. s_transitionStart: [{
  3302. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Output,
  3303. args: ['transitionStart']
  3304. }],
  3305. s_update: [{
  3306. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Output,
  3307. args: ['update']
  3308. }],
  3309. s_zoomChange: [{
  3310. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Output,
  3311. args: ['zoomChange']
  3312. }],
  3313. s_swiper: [{
  3314. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Output,
  3315. args: ['swiper']
  3316. }],
  3317. s_lock: [{
  3318. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Output,
  3319. args: ['lock']
  3320. }],
  3321. s_unlock: [{
  3322. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.Output,
  3323. args: ['unlock']
  3324. }],
  3325. prevElRef: [{
  3326. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.ViewChild,
  3327. args: ['prevElRef', {
  3328. static: false
  3329. }]
  3330. }],
  3331. nextElRef: [{
  3332. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.ViewChild,
  3333. args: ['nextElRef', {
  3334. static: false
  3335. }]
  3336. }],
  3337. scrollbarElRef: [{
  3338. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.ViewChild,
  3339. args: ['scrollbarElRef', {
  3340. static: false
  3341. }]
  3342. }],
  3343. paginationElRef: [{
  3344. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.ViewChild,
  3345. args: ['paginationElRef', {
  3346. static: false
  3347. }]
  3348. }],
  3349. slidesEl: [{
  3350. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.ContentChildren,
  3351. args: [SwiperSlideDirective, {
  3352. descendants: false,
  3353. emitDistinctChangesOnly: true
  3354. }]
  3355. }],
  3356. containerClasses: [{
  3357. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.HostBinding,
  3358. args: ['class']
  3359. }]
  3360. });
  3361. })();
  3362. class SwiperModule {}
  3363. SwiperModule.ɵfac = function SwiperModule_Factory(t) {
  3364. return new (t || SwiperModule)();
  3365. };
  3366. SwiperModule.ɵmod = /* @__PURE__ */_angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵdefineNgModule"]({
  3367. type: SwiperModule,
  3368. declarations: [SwiperComponent, SwiperSlideDirective],
  3369. imports: [_angular_common__WEBPACK_IMPORTED_MODULE_4__.CommonModule],
  3370. exports: [SwiperComponent, SwiperSlideDirective]
  3371. });
  3372. SwiperModule.ɵinj = /* @__PURE__ */_angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵdefineInjector"]({
  3373. imports: [[_angular_common__WEBPACK_IMPORTED_MODULE_4__.CommonModule]]
  3374. });
  3375. (function () {
  3376. (typeof ngDevMode === "undefined" || ngDevMode) && _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵsetClassMetadata"](SwiperModule, [{
  3377. type: _angular_core__WEBPACK_IMPORTED_MODULE_1__.NgModule,
  3378. args: [{
  3379. declarations: [SwiperComponent, SwiperSlideDirective],
  3380. exports: [SwiperComponent, SwiperSlideDirective],
  3381. imports: [_angular_common__WEBPACK_IMPORTED_MODULE_4__.CommonModule]
  3382. }]
  3383. }], null, null);
  3384. })();
  3385. /*
  3386. * Public API Surface of angular
  3387. */
  3388. /**
  3389. * Generated bundle index. Do not edit.
  3390. */
  3391. /***/ }),
  3392. /***/ 1802:
  3393. /*!***************************************************************!*\
  3394. !*** ./node_modules/swiper/core/breakpoints/getBreakpoint.js ***!
  3395. \***************************************************************/
  3396. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  3397. __webpack_require__.r(__webpack_exports__);
  3398. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  3399. /* harmony export */ "default": () => (/* binding */ getBreakpoint)
  3400. /* harmony export */ });
  3401. /* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ 2864);
  3402. function getBreakpoint(breakpoints, base = 'window', containerEl) {
  3403. if (!breakpoints || base === 'container' && !containerEl) return undefined;
  3404. let breakpoint = false;
  3405. const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
  3406. const currentHeight = base === 'window' ? window.innerHeight : containerEl.clientHeight;
  3407. const points = Object.keys(breakpoints).map(point => {
  3408. if (typeof point === 'string' && point.indexOf('@') === 0) {
  3409. const minRatio = parseFloat(point.substr(1));
  3410. const value = currentHeight * minRatio;
  3411. return {
  3412. value,
  3413. point
  3414. };
  3415. }
  3416. return {
  3417. value: point,
  3418. point
  3419. };
  3420. });
  3421. points.sort((a, b) => parseInt(a.value, 10) - parseInt(b.value, 10));
  3422. for (let i = 0; i < points.length; i += 1) {
  3423. const {
  3424. point,
  3425. value
  3426. } = points[i];
  3427. if (base === 'window') {
  3428. if (window.matchMedia(`(min-width: ${value}px)`).matches) {
  3429. breakpoint = point;
  3430. }
  3431. } else if (value <= containerEl.clientWidth) {
  3432. breakpoint = point;
  3433. }
  3434. }
  3435. return breakpoint || 'max';
  3436. }
  3437. /***/ }),
  3438. /***/ 5458:
  3439. /*!*******************************************************!*\
  3440. !*** ./node_modules/swiper/core/breakpoints/index.js ***!
  3441. \*******************************************************/
  3442. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  3443. __webpack_require__.r(__webpack_exports__);
  3444. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  3445. /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
  3446. /* harmony export */ });
  3447. /* harmony import */ var _setBreakpoint_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./setBreakpoint.js */ 6064);
  3448. /* harmony import */ var _getBreakpoint_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getBreakpoint.js */ 1802);
  3449. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
  3450. setBreakpoint: _setBreakpoint_js__WEBPACK_IMPORTED_MODULE_0__["default"],
  3451. getBreakpoint: _getBreakpoint_js__WEBPACK_IMPORTED_MODULE_1__["default"]
  3452. });
  3453. /***/ }),
  3454. /***/ 6064:
  3455. /*!***************************************************************!*\
  3456. !*** ./node_modules/swiper/core/breakpoints/setBreakpoint.js ***!
  3457. \***************************************************************/
  3458. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  3459. __webpack_require__.r(__webpack_exports__);
  3460. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  3461. /* harmony export */ "default": () => (/* binding */ setBreakpoint)
  3462. /* harmony export */ });
  3463. /* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/utils.js */ 3809);
  3464. const isGridEnabled = (swiper, params) => {
  3465. return swiper.grid && params.grid && params.grid.rows > 1;
  3466. };
  3467. function setBreakpoint() {
  3468. const swiper = this;
  3469. const {
  3470. activeIndex,
  3471. initialized,
  3472. loopedSlides = 0,
  3473. params,
  3474. $el
  3475. } = swiper;
  3476. const breakpoints = params.breakpoints;
  3477. if (!breakpoints || breakpoints && Object.keys(breakpoints).length === 0) return; // Get breakpoint for window width and update parameters
  3478. const breakpoint = swiper.getBreakpoint(breakpoints, swiper.params.breakpointsBase, swiper.el);
  3479. if (!breakpoint || swiper.currentBreakpoint === breakpoint) return;
  3480. const breakpointOnlyParams = breakpoint in breakpoints ? breakpoints[breakpoint] : undefined;
  3481. const breakpointParams = breakpointOnlyParams || swiper.originalParams;
  3482. const wasMultiRow = isGridEnabled(swiper, params);
  3483. const isMultiRow = isGridEnabled(swiper, breakpointParams);
  3484. const wasEnabled = params.enabled;
  3485. if (wasMultiRow && !isMultiRow) {
  3486. $el.removeClass(`${params.containerModifierClass}grid ${params.containerModifierClass}grid-column`);
  3487. swiper.emitContainerClasses();
  3488. } else if (!wasMultiRow && isMultiRow) {
  3489. $el.addClass(`${params.containerModifierClass}grid`);
  3490. if (breakpointParams.grid.fill && breakpointParams.grid.fill === 'column' || !breakpointParams.grid.fill && params.grid.fill === 'column') {
  3491. $el.addClass(`${params.containerModifierClass}grid-column`);
  3492. }
  3493. swiper.emitContainerClasses();
  3494. } // Toggle navigation, pagination, scrollbar
  3495. ['navigation', 'pagination', 'scrollbar'].forEach(prop => {
  3496. const wasModuleEnabled = params[prop] && params[prop].enabled;
  3497. const isModuleEnabled = breakpointParams[prop] && breakpointParams[prop].enabled;
  3498. if (wasModuleEnabled && !isModuleEnabled) {
  3499. swiper[prop].disable();
  3500. }
  3501. if (!wasModuleEnabled && isModuleEnabled) {
  3502. swiper[prop].enable();
  3503. }
  3504. });
  3505. const directionChanged = breakpointParams.direction && breakpointParams.direction !== params.direction;
  3506. const needsReLoop = params.loop && (breakpointParams.slidesPerView !== params.slidesPerView || directionChanged);
  3507. if (directionChanged && initialized) {
  3508. swiper.changeDirection();
  3509. }
  3510. (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.extend)(swiper.params, breakpointParams);
  3511. const isEnabled = swiper.params.enabled;
  3512. Object.assign(swiper, {
  3513. allowTouchMove: swiper.params.allowTouchMove,
  3514. allowSlideNext: swiper.params.allowSlideNext,
  3515. allowSlidePrev: swiper.params.allowSlidePrev
  3516. });
  3517. if (wasEnabled && !isEnabled) {
  3518. swiper.disable();
  3519. } else if (!wasEnabled && isEnabled) {
  3520. swiper.enable();
  3521. }
  3522. swiper.currentBreakpoint = breakpoint;
  3523. swiper.emit('_beforeBreakpoint', breakpointParams);
  3524. if (needsReLoop && initialized) {
  3525. swiper.loopDestroy();
  3526. swiper.loopCreate();
  3527. swiper.updateSlides();
  3528. swiper.slideTo(activeIndex - loopedSlides + swiper.loopedSlides, 0, false);
  3529. }
  3530. swiper.emit('breakpoint', breakpointParams);
  3531. }
  3532. /***/ }),
  3533. /***/ 4511:
  3534. /*!**********************************************************!*\
  3535. !*** ./node_modules/swiper/core/check-overflow/index.js ***!
  3536. \**********************************************************/
  3537. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  3538. __webpack_require__.r(__webpack_exports__);
  3539. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  3540. /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
  3541. /* harmony export */ });
  3542. function checkOverflow() {
  3543. const swiper = this;
  3544. const {
  3545. isLocked: wasLocked,
  3546. params
  3547. } = swiper;
  3548. const {
  3549. slidesOffsetBefore
  3550. } = params;
  3551. if (slidesOffsetBefore) {
  3552. const lastSlideIndex = swiper.slides.length - 1;
  3553. const lastSlideRightEdge = swiper.slidesGrid[lastSlideIndex] + swiper.slidesSizesGrid[lastSlideIndex] + slidesOffsetBefore * 2;
  3554. swiper.isLocked = swiper.size > lastSlideRightEdge;
  3555. } else {
  3556. swiper.isLocked = swiper.snapGrid.length === 1;
  3557. }
  3558. if (params.allowSlideNext === true) {
  3559. swiper.allowSlideNext = !swiper.isLocked;
  3560. }
  3561. if (params.allowSlidePrev === true) {
  3562. swiper.allowSlidePrev = !swiper.isLocked;
  3563. }
  3564. if (wasLocked && wasLocked !== swiper.isLocked) {
  3565. swiper.isEnd = false;
  3566. }
  3567. if (wasLocked !== swiper.isLocked) {
  3568. swiper.emit(swiper.isLocked ? 'lock' : 'unlock');
  3569. }
  3570. }
  3571. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
  3572. checkOverflow
  3573. });
  3574. /***/ }),
  3575. /***/ 2818:
  3576. /*!********************************************************!*\
  3577. !*** ./node_modules/swiper/core/classes/addClasses.js ***!
  3578. \********************************************************/
  3579. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  3580. __webpack_require__.r(__webpack_exports__);
  3581. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  3582. /* harmony export */ "default": () => (/* binding */ addClasses)
  3583. /* harmony export */ });
  3584. function prepareClasses(entries, prefix) {
  3585. const resultClasses = [];
  3586. entries.forEach(item => {
  3587. if (typeof item === 'object') {
  3588. Object.keys(item).forEach(classNames => {
  3589. if (item[classNames]) {
  3590. resultClasses.push(prefix + classNames);
  3591. }
  3592. });
  3593. } else if (typeof item === 'string') {
  3594. resultClasses.push(prefix + item);
  3595. }
  3596. });
  3597. return resultClasses;
  3598. }
  3599. function addClasses() {
  3600. const swiper = this;
  3601. const {
  3602. classNames,
  3603. params,
  3604. rtl,
  3605. $el,
  3606. device,
  3607. support
  3608. } = swiper; // prettier-ignore
  3609. const suffixes = prepareClasses(['initialized', params.direction, {
  3610. 'pointer-events': !support.touch
  3611. }, {
  3612. 'free-mode': swiper.params.freeMode && params.freeMode.enabled
  3613. }, {
  3614. 'autoheight': params.autoHeight
  3615. }, {
  3616. 'rtl': rtl
  3617. }, {
  3618. 'grid': params.grid && params.grid.rows > 1
  3619. }, {
  3620. 'grid-column': params.grid && params.grid.rows > 1 && params.grid.fill === 'column'
  3621. }, {
  3622. 'android': device.android
  3623. }, {
  3624. 'ios': device.ios
  3625. }, {
  3626. 'css-mode': params.cssMode
  3627. }, {
  3628. 'centered': params.cssMode && params.centeredSlides
  3629. }, {
  3630. 'watch-progress': params.watchSlidesProgress
  3631. }], params.containerModifierClass);
  3632. classNames.push(...suffixes);
  3633. $el.addClass([...classNames].join(' '));
  3634. swiper.emitContainerClasses();
  3635. }
  3636. /***/ }),
  3637. /***/ 8630:
  3638. /*!***************************************************!*\
  3639. !*** ./node_modules/swiper/core/classes/index.js ***!
  3640. \***************************************************/
  3641. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  3642. __webpack_require__.r(__webpack_exports__);
  3643. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  3644. /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
  3645. /* harmony export */ });
  3646. /* harmony import */ var _addClasses_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./addClasses.js */ 2818);
  3647. /* harmony import */ var _removeClasses_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./removeClasses.js */ 2411);
  3648. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
  3649. addClasses: _addClasses_js__WEBPACK_IMPORTED_MODULE_0__["default"],
  3650. removeClasses: _removeClasses_js__WEBPACK_IMPORTED_MODULE_1__["default"]
  3651. });
  3652. /***/ }),
  3653. /***/ 2411:
  3654. /*!***********************************************************!*\
  3655. !*** ./node_modules/swiper/core/classes/removeClasses.js ***!
  3656. \***********************************************************/
  3657. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  3658. __webpack_require__.r(__webpack_exports__);
  3659. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  3660. /* harmony export */ "default": () => (/* binding */ removeClasses)
  3661. /* harmony export */ });
  3662. function removeClasses() {
  3663. const swiper = this;
  3664. const {
  3665. $el,
  3666. classNames
  3667. } = swiper;
  3668. $el.removeClass(classNames.join(' '));
  3669. swiper.emitContainerClasses();
  3670. }
  3671. /***/ }),
  3672. /***/ 3606:
  3673. /*!******************************************!*\
  3674. !*** ./node_modules/swiper/core/core.js ***!
  3675. \******************************************/
  3676. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  3677. __webpack_require__.r(__webpack_exports__);
  3678. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  3679. /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
  3680. /* harmony export */ });
  3681. /* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ 2864);
  3682. /* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../shared/dom.js */ 6007);
  3683. /* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../shared/utils.js */ 3809);
  3684. /* harmony import */ var _shared_get_support_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../shared/get-support.js */ 4558);
  3685. /* harmony import */ var _shared_get_device_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../shared/get-device.js */ 1373);
  3686. /* harmony import */ var _shared_get_browser_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../shared/get-browser.js */ 7274);
  3687. /* harmony import */ var _modules_resize_resize_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./modules/resize/resize.js */ 6526);
  3688. /* harmony import */ var _modules_observer_observer_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./modules/observer/observer.js */ 8833);
  3689. /* harmony import */ var _events_emitter_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./events-emitter.js */ 4818);
  3690. /* harmony import */ var _update_index_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./update/index.js */ 1009);
  3691. /* harmony import */ var _translate_index_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./translate/index.js */ 444);
  3692. /* harmony import */ var _transition_index_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./transition/index.js */ 5026);
  3693. /* harmony import */ var _slide_index_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./slide/index.js */ 7190);
  3694. /* harmony import */ var _loop_index_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./loop/index.js */ 9355);
  3695. /* harmony import */ var _grab_cursor_index_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./grab-cursor/index.js */ 6818);
  3696. /* harmony import */ var _events_index_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./events/index.js */ 9123);
  3697. /* harmony import */ var _breakpoints_index_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./breakpoints/index.js */ 5458);
  3698. /* harmony import */ var _classes_index_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./classes/index.js */ 8630);
  3699. /* harmony import */ var _images_index_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./images/index.js */ 5032);
  3700. /* harmony import */ var _check_overflow_index_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./check-overflow/index.js */ 4511);
  3701. /* harmony import */ var _defaults_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./defaults.js */ 341);
  3702. /* harmony import */ var _moduleExtendParams_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./moduleExtendParams.js */ 8220);
  3703. /* eslint no-param-reassign: "off" */
  3704. const prototypes = {
  3705. eventsEmitter: _events_emitter_js__WEBPACK_IMPORTED_MODULE_8__["default"],
  3706. update: _update_index_js__WEBPACK_IMPORTED_MODULE_9__["default"],
  3707. translate: _translate_index_js__WEBPACK_IMPORTED_MODULE_10__["default"],
  3708. transition: _transition_index_js__WEBPACK_IMPORTED_MODULE_11__["default"],
  3709. slide: _slide_index_js__WEBPACK_IMPORTED_MODULE_12__["default"],
  3710. loop: _loop_index_js__WEBPACK_IMPORTED_MODULE_13__["default"],
  3711. grabCursor: _grab_cursor_index_js__WEBPACK_IMPORTED_MODULE_14__["default"],
  3712. events: _events_index_js__WEBPACK_IMPORTED_MODULE_15__["default"],
  3713. breakpoints: _breakpoints_index_js__WEBPACK_IMPORTED_MODULE_16__["default"],
  3714. checkOverflow: _check_overflow_index_js__WEBPACK_IMPORTED_MODULE_19__["default"],
  3715. classes: _classes_index_js__WEBPACK_IMPORTED_MODULE_17__["default"],
  3716. images: _images_index_js__WEBPACK_IMPORTED_MODULE_18__["default"]
  3717. };
  3718. const extendedDefaults = {};
  3719. class Swiper {
  3720. constructor(...args) {
  3721. let el;
  3722. let params;
  3723. if (args.length === 1 && args[0].constructor && Object.prototype.toString.call(args[0]).slice(8, -1) === 'Object') {
  3724. params = args[0];
  3725. } else {
  3726. [el, params] = args;
  3727. }
  3728. if (!params) params = {};
  3729. params = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.extend)({}, params);
  3730. if (el && !params.el) params.el = el;
  3731. if (params.el && (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(params.el).length > 1) {
  3732. const swipers = [];
  3733. (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(params.el).each(containerEl => {
  3734. const newParams = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.extend)({}, params, {
  3735. el: containerEl
  3736. });
  3737. swipers.push(new Swiper(newParams));
  3738. }); // eslint-disable-next-line no-constructor-return
  3739. return swipers;
  3740. } // Swiper Instance
  3741. const swiper = this;
  3742. swiper.__swiper__ = true;
  3743. swiper.support = (0,_shared_get_support_js__WEBPACK_IMPORTED_MODULE_3__.getSupport)();
  3744. swiper.device = (0,_shared_get_device_js__WEBPACK_IMPORTED_MODULE_4__.getDevice)({
  3745. userAgent: params.userAgent
  3746. });
  3747. swiper.browser = (0,_shared_get_browser_js__WEBPACK_IMPORTED_MODULE_5__.getBrowser)();
  3748. swiper.eventsListeners = {};
  3749. swiper.eventsAnyListeners = [];
  3750. swiper.modules = [...swiper.__modules__];
  3751. if (params.modules && Array.isArray(params.modules)) {
  3752. swiper.modules.push(...params.modules);
  3753. }
  3754. const allModulesParams = {};
  3755. swiper.modules.forEach(mod => {
  3756. mod({
  3757. swiper,
  3758. extendParams: (0,_moduleExtendParams_js__WEBPACK_IMPORTED_MODULE_21__["default"])(params, allModulesParams),
  3759. on: swiper.on.bind(swiper),
  3760. once: swiper.once.bind(swiper),
  3761. off: swiper.off.bind(swiper),
  3762. emit: swiper.emit.bind(swiper)
  3763. });
  3764. }); // Extend defaults with modules params
  3765. const swiperParams = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.extend)({}, _defaults_js__WEBPACK_IMPORTED_MODULE_20__["default"], allModulesParams); // Extend defaults with passed params
  3766. swiper.params = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.extend)({}, swiperParams, extendedDefaults, params);
  3767. swiper.originalParams = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.extend)({}, swiper.params);
  3768. swiper.passedParams = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.extend)({}, params); // add event listeners
  3769. if (swiper.params && swiper.params.on) {
  3770. Object.keys(swiper.params.on).forEach(eventName => {
  3771. swiper.on(eventName, swiper.params.on[eventName]);
  3772. });
  3773. }
  3774. if (swiper.params && swiper.params.onAny) {
  3775. swiper.onAny(swiper.params.onAny);
  3776. } // Save Dom lib
  3777. swiper.$ = _shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"]; // Extend Swiper
  3778. Object.assign(swiper, {
  3779. enabled: swiper.params.enabled,
  3780. el,
  3781. // Classes
  3782. classNames: [],
  3783. // Slides
  3784. slides: (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(),
  3785. slidesGrid: [],
  3786. snapGrid: [],
  3787. slidesSizesGrid: [],
  3788. // isDirection
  3789. isHorizontal() {
  3790. return swiper.params.direction === 'horizontal';
  3791. },
  3792. isVertical() {
  3793. return swiper.params.direction === 'vertical';
  3794. },
  3795. // Indexes
  3796. activeIndex: 0,
  3797. realIndex: 0,
  3798. //
  3799. isBeginning: true,
  3800. isEnd: false,
  3801. // Props
  3802. translate: 0,
  3803. previousTranslate: 0,
  3804. progress: 0,
  3805. velocity: 0,
  3806. animating: false,
  3807. // Locks
  3808. allowSlideNext: swiper.params.allowSlideNext,
  3809. allowSlidePrev: swiper.params.allowSlidePrev,
  3810. // Touch Events
  3811. touchEvents: function touchEvents() {
  3812. const touch = ['touchstart', 'touchmove', 'touchend', 'touchcancel'];
  3813. const desktop = ['pointerdown', 'pointermove', 'pointerup'];
  3814. swiper.touchEventsTouch = {
  3815. start: touch[0],
  3816. move: touch[1],
  3817. end: touch[2],
  3818. cancel: touch[3]
  3819. };
  3820. swiper.touchEventsDesktop = {
  3821. start: desktop[0],
  3822. move: desktop[1],
  3823. end: desktop[2]
  3824. };
  3825. return swiper.support.touch || !swiper.params.simulateTouch ? swiper.touchEventsTouch : swiper.touchEventsDesktop;
  3826. }(),
  3827. touchEventsData: {
  3828. isTouched: undefined,
  3829. isMoved: undefined,
  3830. allowTouchCallbacks: undefined,
  3831. touchStartTime: undefined,
  3832. isScrolling: undefined,
  3833. currentTranslate: undefined,
  3834. startTranslate: undefined,
  3835. allowThresholdMove: undefined,
  3836. // Form elements to match
  3837. focusableElements: swiper.params.focusableElements,
  3838. // Last click time
  3839. lastClickTime: (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.now)(),
  3840. clickTimeout: undefined,
  3841. // Velocities
  3842. velocities: [],
  3843. allowMomentumBounce: undefined,
  3844. isTouchEvent: undefined,
  3845. startMoving: undefined
  3846. },
  3847. // Clicks
  3848. allowClick: true,
  3849. // Touches
  3850. allowTouchMove: swiper.params.allowTouchMove,
  3851. touches: {
  3852. startX: 0,
  3853. startY: 0,
  3854. currentX: 0,
  3855. currentY: 0,
  3856. diff: 0
  3857. },
  3858. // Images
  3859. imagesToLoad: [],
  3860. imagesLoaded: 0
  3861. });
  3862. swiper.emit('_swiper'); // Init
  3863. if (swiper.params.init) {
  3864. swiper.init();
  3865. } // Return app instance
  3866. // eslint-disable-next-line no-constructor-return
  3867. return swiper;
  3868. }
  3869. enable() {
  3870. const swiper = this;
  3871. if (swiper.enabled) return;
  3872. swiper.enabled = true;
  3873. if (swiper.params.grabCursor) {
  3874. swiper.setGrabCursor();
  3875. }
  3876. swiper.emit('enable');
  3877. }
  3878. disable() {
  3879. const swiper = this;
  3880. if (!swiper.enabled) return;
  3881. swiper.enabled = false;
  3882. if (swiper.params.grabCursor) {
  3883. swiper.unsetGrabCursor();
  3884. }
  3885. swiper.emit('disable');
  3886. }
  3887. setProgress(progress, speed) {
  3888. const swiper = this;
  3889. progress = Math.min(Math.max(progress, 0), 1);
  3890. const min = swiper.minTranslate();
  3891. const max = swiper.maxTranslate();
  3892. const current = (max - min) * progress + min;
  3893. swiper.translateTo(current, typeof speed === 'undefined' ? 0 : speed);
  3894. swiper.updateActiveIndex();
  3895. swiper.updateSlidesClasses();
  3896. }
  3897. emitContainerClasses() {
  3898. const swiper = this;
  3899. if (!swiper.params._emitClasses || !swiper.el) return;
  3900. const cls = swiper.el.className.split(' ').filter(className => {
  3901. return className.indexOf('swiper') === 0 || className.indexOf(swiper.params.containerModifierClass) === 0;
  3902. });
  3903. swiper.emit('_containerClasses', cls.join(' '));
  3904. }
  3905. getSlideClasses(slideEl) {
  3906. const swiper = this;
  3907. if (swiper.destroyed) return '';
  3908. return slideEl.className.split(' ').filter(className => {
  3909. return className.indexOf('swiper-slide') === 0 || className.indexOf(swiper.params.slideClass) === 0;
  3910. }).join(' ');
  3911. }
  3912. emitSlidesClasses() {
  3913. const swiper = this;
  3914. if (!swiper.params._emitClasses || !swiper.el) return;
  3915. const updates = [];
  3916. swiper.slides.each(slideEl => {
  3917. const classNames = swiper.getSlideClasses(slideEl);
  3918. updates.push({
  3919. slideEl,
  3920. classNames
  3921. });
  3922. swiper.emit('_slideClass', slideEl, classNames);
  3923. });
  3924. swiper.emit('_slideClasses', updates);
  3925. }
  3926. slidesPerViewDynamic(view = 'current', exact = false) {
  3927. const swiper = this;
  3928. const {
  3929. params,
  3930. slides,
  3931. slidesGrid,
  3932. slidesSizesGrid,
  3933. size: swiperSize,
  3934. activeIndex
  3935. } = swiper;
  3936. let spv = 1;
  3937. if (params.centeredSlides) {
  3938. let slideSize = slides[activeIndex].swiperSlideSize;
  3939. let breakLoop;
  3940. for (let i = activeIndex + 1; i < slides.length; i += 1) {
  3941. if (slides[i] && !breakLoop) {
  3942. slideSize += slides[i].swiperSlideSize;
  3943. spv += 1;
  3944. if (slideSize > swiperSize) breakLoop = true;
  3945. }
  3946. }
  3947. for (let i = activeIndex - 1; i >= 0; i -= 1) {
  3948. if (slides[i] && !breakLoop) {
  3949. slideSize += slides[i].swiperSlideSize;
  3950. spv += 1;
  3951. if (slideSize > swiperSize) breakLoop = true;
  3952. }
  3953. }
  3954. } else {
  3955. // eslint-disable-next-line
  3956. if (view === 'current') {
  3957. for (let i = activeIndex + 1; i < slides.length; i += 1) {
  3958. const slideInView = exact ? slidesGrid[i] + slidesSizesGrid[i] - slidesGrid[activeIndex] < swiperSize : slidesGrid[i] - slidesGrid[activeIndex] < swiperSize;
  3959. if (slideInView) {
  3960. spv += 1;
  3961. }
  3962. }
  3963. } else {
  3964. // previous
  3965. for (let i = activeIndex - 1; i >= 0; i -= 1) {
  3966. const slideInView = slidesGrid[activeIndex] - slidesGrid[i] < swiperSize;
  3967. if (slideInView) {
  3968. spv += 1;
  3969. }
  3970. }
  3971. }
  3972. }
  3973. return spv;
  3974. }
  3975. update() {
  3976. const swiper = this;
  3977. if (!swiper || swiper.destroyed) return;
  3978. const {
  3979. snapGrid,
  3980. params
  3981. } = swiper; // Breakpoints
  3982. if (params.breakpoints) {
  3983. swiper.setBreakpoint();
  3984. }
  3985. swiper.updateSize();
  3986. swiper.updateSlides();
  3987. swiper.updateProgress();
  3988. swiper.updateSlidesClasses();
  3989. function setTranslate() {
  3990. const translateValue = swiper.rtlTranslate ? swiper.translate * -1 : swiper.translate;
  3991. const newTranslate = Math.min(Math.max(translateValue, swiper.maxTranslate()), swiper.minTranslate());
  3992. swiper.setTranslate(newTranslate);
  3993. swiper.updateActiveIndex();
  3994. swiper.updateSlidesClasses();
  3995. }
  3996. let translated;
  3997. if (swiper.params.freeMode && swiper.params.freeMode.enabled) {
  3998. setTranslate();
  3999. if (swiper.params.autoHeight) {
  4000. swiper.updateAutoHeight();
  4001. }
  4002. } else {
  4003. if ((swiper.params.slidesPerView === 'auto' || swiper.params.slidesPerView > 1) && swiper.isEnd && !swiper.params.centeredSlides) {
  4004. translated = swiper.slideTo(swiper.slides.length - 1, 0, false, true);
  4005. } else {
  4006. translated = swiper.slideTo(swiper.activeIndex, 0, false, true);
  4007. }
  4008. if (!translated) {
  4009. setTranslate();
  4010. }
  4011. }
  4012. if (params.watchOverflow && snapGrid !== swiper.snapGrid) {
  4013. swiper.checkOverflow();
  4014. }
  4015. swiper.emit('update');
  4016. }
  4017. changeDirection(newDirection, needUpdate = true) {
  4018. const swiper = this;
  4019. const currentDirection = swiper.params.direction;
  4020. if (!newDirection) {
  4021. // eslint-disable-next-line
  4022. newDirection = currentDirection === 'horizontal' ? 'vertical' : 'horizontal';
  4023. }
  4024. if (newDirection === currentDirection || newDirection !== 'horizontal' && newDirection !== 'vertical') {
  4025. return swiper;
  4026. }
  4027. swiper.$el.removeClass(`${swiper.params.containerModifierClass}${currentDirection}`).addClass(`${swiper.params.containerModifierClass}${newDirection}`);
  4028. swiper.emitContainerClasses();
  4029. swiper.params.direction = newDirection;
  4030. swiper.slides.each(slideEl => {
  4031. if (newDirection === 'vertical') {
  4032. slideEl.style.width = '';
  4033. } else {
  4034. slideEl.style.height = '';
  4035. }
  4036. });
  4037. swiper.emit('changeDirection');
  4038. if (needUpdate) swiper.update();
  4039. return swiper;
  4040. }
  4041. changeLanguageDirection(direction) {
  4042. const swiper = this;
  4043. if (swiper.rtl && direction === 'rtl' || !swiper.rtl && direction === 'ltr') return;
  4044. swiper.rtl = direction === 'rtl';
  4045. swiper.rtlTranslate = swiper.params.direction === 'horizontal' && swiper.rtl;
  4046. if (swiper.rtl) {
  4047. swiper.$el.addClass(`${swiper.params.containerModifierClass}rtl`);
  4048. swiper.el.dir = 'rtl';
  4049. } else {
  4050. swiper.$el.removeClass(`${swiper.params.containerModifierClass}rtl`);
  4051. swiper.el.dir = 'ltr';
  4052. }
  4053. swiper.update();
  4054. }
  4055. mount(el) {
  4056. const swiper = this;
  4057. if (swiper.mounted) return true; // Find el
  4058. const $el = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(el || swiper.params.el);
  4059. el = $el[0];
  4060. if (!el) {
  4061. return false;
  4062. }
  4063. el.swiper = swiper;
  4064. const getWrapperSelector = () => {
  4065. return `.${(swiper.params.wrapperClass || '').trim().split(' ').join('.')}`;
  4066. };
  4067. const getWrapper = () => {
  4068. if (el && el.shadowRoot && el.shadowRoot.querySelector) {
  4069. const res = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(el.shadowRoot.querySelector(getWrapperSelector())); // Children needs to return slot items
  4070. res.children = options => $el.children(options);
  4071. return res;
  4072. }
  4073. if (!$el.children) {
  4074. return (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])($el).children(getWrapperSelector());
  4075. }
  4076. return $el.children(getWrapperSelector());
  4077. }; // Find Wrapper
  4078. let $wrapperEl = getWrapper();
  4079. if ($wrapperEl.length === 0 && swiper.params.createElements) {
  4080. const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)();
  4081. const wrapper = document.createElement('div');
  4082. $wrapperEl = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(wrapper);
  4083. wrapper.className = swiper.params.wrapperClass;
  4084. $el.append(wrapper);
  4085. $el.children(`.${swiper.params.slideClass}`).each(slideEl => {
  4086. $wrapperEl.append(slideEl);
  4087. });
  4088. }
  4089. Object.assign(swiper, {
  4090. $el,
  4091. el,
  4092. $wrapperEl,
  4093. wrapperEl: $wrapperEl[0],
  4094. mounted: true,
  4095. // RTL
  4096. rtl: el.dir.toLowerCase() === 'rtl' || $el.css('direction') === 'rtl',
  4097. rtlTranslate: swiper.params.direction === 'horizontal' && (el.dir.toLowerCase() === 'rtl' || $el.css('direction') === 'rtl'),
  4098. wrongRTL: $wrapperEl.css('display') === '-webkit-box'
  4099. });
  4100. return true;
  4101. }
  4102. init(el) {
  4103. const swiper = this;
  4104. if (swiper.initialized) return swiper;
  4105. const mounted = swiper.mount(el);
  4106. if (mounted === false) return swiper;
  4107. swiper.emit('beforeInit'); // Set breakpoint
  4108. if (swiper.params.breakpoints) {
  4109. swiper.setBreakpoint();
  4110. } // Add Classes
  4111. swiper.addClasses(); // Create loop
  4112. if (swiper.params.loop) {
  4113. swiper.loopCreate();
  4114. } // Update size
  4115. swiper.updateSize(); // Update slides
  4116. swiper.updateSlides();
  4117. if (swiper.params.watchOverflow) {
  4118. swiper.checkOverflow();
  4119. } // Set Grab Cursor
  4120. if (swiper.params.grabCursor && swiper.enabled) {
  4121. swiper.setGrabCursor();
  4122. }
  4123. if (swiper.params.preloadImages) {
  4124. swiper.preloadImages();
  4125. } // Slide To Initial Slide
  4126. if (swiper.params.loop) {
  4127. swiper.slideTo(swiper.params.initialSlide + swiper.loopedSlides, 0, swiper.params.runCallbacksOnInit, false, true);
  4128. } else {
  4129. swiper.slideTo(swiper.params.initialSlide, 0, swiper.params.runCallbacksOnInit, false, true);
  4130. } // Attach events
  4131. swiper.attachEvents(); // Init Flag
  4132. swiper.initialized = true; // Emit
  4133. swiper.emit('init');
  4134. swiper.emit('afterInit');
  4135. return swiper;
  4136. }
  4137. destroy(deleteInstance = true, cleanStyles = true) {
  4138. const swiper = this;
  4139. const {
  4140. params,
  4141. $el,
  4142. $wrapperEl,
  4143. slides
  4144. } = swiper;
  4145. if (typeof swiper.params === 'undefined' || swiper.destroyed) {
  4146. return null;
  4147. }
  4148. swiper.emit('beforeDestroy'); // Init Flag
  4149. swiper.initialized = false; // Detach events
  4150. swiper.detachEvents(); // Destroy loop
  4151. if (params.loop) {
  4152. swiper.loopDestroy();
  4153. } // Cleanup styles
  4154. if (cleanStyles) {
  4155. swiper.removeClasses();
  4156. $el.removeAttr('style');
  4157. $wrapperEl.removeAttr('style');
  4158. if (slides && slides.length) {
  4159. slides.removeClass([params.slideVisibleClass, params.slideActiveClass, params.slideNextClass, params.slidePrevClass].join(' ')).removeAttr('style').removeAttr('data-swiper-slide-index');
  4160. }
  4161. }
  4162. swiper.emit('destroy'); // Detach emitter events
  4163. Object.keys(swiper.eventsListeners).forEach(eventName => {
  4164. swiper.off(eventName);
  4165. });
  4166. if (deleteInstance !== false) {
  4167. swiper.$el[0].swiper = null;
  4168. (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.deleteProps)(swiper);
  4169. }
  4170. swiper.destroyed = true;
  4171. return null;
  4172. }
  4173. static extendDefaults(newDefaults) {
  4174. (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.extend)(extendedDefaults, newDefaults);
  4175. }
  4176. static get extendedDefaults() {
  4177. return extendedDefaults;
  4178. }
  4179. static get defaults() {
  4180. return _defaults_js__WEBPACK_IMPORTED_MODULE_20__["default"];
  4181. }
  4182. static installModule(mod) {
  4183. if (!Swiper.prototype.__modules__) Swiper.prototype.__modules__ = [];
  4184. const modules = Swiper.prototype.__modules__;
  4185. if (typeof mod === 'function' && modules.indexOf(mod) < 0) {
  4186. modules.push(mod);
  4187. }
  4188. }
  4189. static use(module) {
  4190. if (Array.isArray(module)) {
  4191. module.forEach(m => Swiper.installModule(m));
  4192. return Swiper;
  4193. }
  4194. Swiper.installModule(module);
  4195. return Swiper;
  4196. }
  4197. }
  4198. Object.keys(prototypes).forEach(prototypeGroup => {
  4199. Object.keys(prototypes[prototypeGroup]).forEach(protoMethod => {
  4200. Swiper.prototype[protoMethod] = prototypes[prototypeGroup][protoMethod];
  4201. });
  4202. });
  4203. Swiper.use([_modules_resize_resize_js__WEBPACK_IMPORTED_MODULE_6__["default"], _modules_observer_observer_js__WEBPACK_IMPORTED_MODULE_7__["default"]]);
  4204. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Swiper);
  4205. /***/ }),
  4206. /***/ 341:
  4207. /*!**********************************************!*\
  4208. !*** ./node_modules/swiper/core/defaults.js ***!
  4209. \**********************************************/
  4210. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  4211. __webpack_require__.r(__webpack_exports__);
  4212. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  4213. /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
  4214. /* harmony export */ });
  4215. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
  4216. init: true,
  4217. direction: 'horizontal',
  4218. touchEventsTarget: 'wrapper',
  4219. initialSlide: 0,
  4220. speed: 300,
  4221. cssMode: false,
  4222. updateOnWindowResize: true,
  4223. resizeObserver: true,
  4224. nested: false,
  4225. createElements: false,
  4226. enabled: true,
  4227. focusableElements: 'input, select, option, textarea, button, video, label',
  4228. // Overrides
  4229. width: null,
  4230. height: null,
  4231. //
  4232. preventInteractionOnTransition: false,
  4233. // ssr
  4234. userAgent: null,
  4235. url: null,
  4236. // To support iOS's swipe-to-go-back gesture (when being used in-app).
  4237. edgeSwipeDetection: false,
  4238. edgeSwipeThreshold: 20,
  4239. // Autoheight
  4240. autoHeight: false,
  4241. // Set wrapper width
  4242. setWrapperSize: false,
  4243. // Virtual Translate
  4244. virtualTranslate: false,
  4245. // Effects
  4246. effect: 'slide',
  4247. // 'slide' or 'fade' or 'cube' or 'coverflow' or 'flip'
  4248. // Breakpoints
  4249. breakpoints: undefined,
  4250. breakpointsBase: 'window',
  4251. // Slides grid
  4252. spaceBetween: 0,
  4253. slidesPerView: 1,
  4254. slidesPerGroup: 1,
  4255. slidesPerGroupSkip: 0,
  4256. slidesPerGroupAuto: false,
  4257. centeredSlides: false,
  4258. centeredSlidesBounds: false,
  4259. slidesOffsetBefore: 0,
  4260. // in px
  4261. slidesOffsetAfter: 0,
  4262. // in px
  4263. normalizeSlideIndex: true,
  4264. centerInsufficientSlides: false,
  4265. // Disable swiper and hide navigation when container not overflow
  4266. watchOverflow: true,
  4267. // Round length
  4268. roundLengths: false,
  4269. // Touches
  4270. touchRatio: 1,
  4271. touchAngle: 45,
  4272. simulateTouch: true,
  4273. shortSwipes: true,
  4274. longSwipes: true,
  4275. longSwipesRatio: 0.5,
  4276. longSwipesMs: 300,
  4277. followFinger: true,
  4278. allowTouchMove: true,
  4279. threshold: 0,
  4280. touchMoveStopPropagation: false,
  4281. touchStartPreventDefault: true,
  4282. touchStartForcePreventDefault: false,
  4283. touchReleaseOnEdges: false,
  4284. // Unique Navigation Elements
  4285. uniqueNavElements: true,
  4286. // Resistance
  4287. resistance: true,
  4288. resistanceRatio: 0.85,
  4289. // Progress
  4290. watchSlidesProgress: false,
  4291. // Cursor
  4292. grabCursor: false,
  4293. // Clicks
  4294. preventClicks: true,
  4295. preventClicksPropagation: true,
  4296. slideToClickedSlide: false,
  4297. // Images
  4298. preloadImages: true,
  4299. updateOnImagesReady: true,
  4300. // loop
  4301. loop: false,
  4302. loopAdditionalSlides: 0,
  4303. loopedSlides: null,
  4304. loopedSlidesLimit: true,
  4305. loopFillGroupWithBlank: false,
  4306. loopPreventsSlide: true,
  4307. // rewind
  4308. rewind: false,
  4309. // Swiping/no swiping
  4310. allowSlidePrev: true,
  4311. allowSlideNext: true,
  4312. swipeHandler: null,
  4313. // '.swipe-handler',
  4314. noSwiping: true,
  4315. noSwipingClass: 'swiper-no-swiping',
  4316. noSwipingSelector: null,
  4317. // Passive Listeners
  4318. passiveListeners: true,
  4319. maxBackfaceHiddenSlides: 10,
  4320. // NS
  4321. containerModifierClass: 'swiper-',
  4322. // NEW
  4323. slideClass: 'swiper-slide',
  4324. slideBlankClass: 'swiper-slide-invisible-blank',
  4325. slideActiveClass: 'swiper-slide-active',
  4326. slideDuplicateActiveClass: 'swiper-slide-duplicate-active',
  4327. slideVisibleClass: 'swiper-slide-visible',
  4328. slideDuplicateClass: 'swiper-slide-duplicate',
  4329. slideNextClass: 'swiper-slide-next',
  4330. slideDuplicateNextClass: 'swiper-slide-duplicate-next',
  4331. slidePrevClass: 'swiper-slide-prev',
  4332. slideDuplicatePrevClass: 'swiper-slide-duplicate-prev',
  4333. wrapperClass: 'swiper-wrapper',
  4334. // Callbacks
  4335. runCallbacksOnInit: true,
  4336. // Internals
  4337. _emitClasses: false
  4338. });
  4339. /***/ }),
  4340. /***/ 4818:
  4341. /*!****************************************************!*\
  4342. !*** ./node_modules/swiper/core/events-emitter.js ***!
  4343. \****************************************************/
  4344. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  4345. __webpack_require__.r(__webpack_exports__);
  4346. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  4347. /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
  4348. /* harmony export */ });
  4349. /* eslint-disable no-underscore-dangle */
  4350. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
  4351. on(events, handler, priority) {
  4352. const self = this;
  4353. if (!self.eventsListeners || self.destroyed) return self;
  4354. if (typeof handler !== 'function') return self;
  4355. const method = priority ? 'unshift' : 'push';
  4356. events.split(' ').forEach(event => {
  4357. if (!self.eventsListeners[event]) self.eventsListeners[event] = [];
  4358. self.eventsListeners[event][method](handler);
  4359. });
  4360. return self;
  4361. },
  4362. once(events, handler, priority) {
  4363. const self = this;
  4364. if (!self.eventsListeners || self.destroyed) return self;
  4365. if (typeof handler !== 'function') return self;
  4366. function onceHandler(...args) {
  4367. self.off(events, onceHandler);
  4368. if (onceHandler.__emitterProxy) {
  4369. delete onceHandler.__emitterProxy;
  4370. }
  4371. handler.apply(self, args);
  4372. }
  4373. onceHandler.__emitterProxy = handler;
  4374. return self.on(events, onceHandler, priority);
  4375. },
  4376. onAny(handler, priority) {
  4377. const self = this;
  4378. if (!self.eventsListeners || self.destroyed) return self;
  4379. if (typeof handler !== 'function') return self;
  4380. const method = priority ? 'unshift' : 'push';
  4381. if (self.eventsAnyListeners.indexOf(handler) < 0) {
  4382. self.eventsAnyListeners[method](handler);
  4383. }
  4384. return self;
  4385. },
  4386. offAny(handler) {
  4387. const self = this;
  4388. if (!self.eventsListeners || self.destroyed) return self;
  4389. if (!self.eventsAnyListeners) return self;
  4390. const index = self.eventsAnyListeners.indexOf(handler);
  4391. if (index >= 0) {
  4392. self.eventsAnyListeners.splice(index, 1);
  4393. }
  4394. return self;
  4395. },
  4396. off(events, handler) {
  4397. const self = this;
  4398. if (!self.eventsListeners || self.destroyed) return self;
  4399. if (!self.eventsListeners) return self;
  4400. events.split(' ').forEach(event => {
  4401. if (typeof handler === 'undefined') {
  4402. self.eventsListeners[event] = [];
  4403. } else if (self.eventsListeners[event]) {
  4404. self.eventsListeners[event].forEach((eventHandler, index) => {
  4405. if (eventHandler === handler || eventHandler.__emitterProxy && eventHandler.__emitterProxy === handler) {
  4406. self.eventsListeners[event].splice(index, 1);
  4407. }
  4408. });
  4409. }
  4410. });
  4411. return self;
  4412. },
  4413. emit(...args) {
  4414. const self = this;
  4415. if (!self.eventsListeners || self.destroyed) return self;
  4416. if (!self.eventsListeners) return self;
  4417. let events;
  4418. let data;
  4419. let context;
  4420. if (typeof args[0] === 'string' || Array.isArray(args[0])) {
  4421. events = args[0];
  4422. data = args.slice(1, args.length);
  4423. context = self;
  4424. } else {
  4425. events = args[0].events;
  4426. data = args[0].data;
  4427. context = args[0].context || self;
  4428. }
  4429. data.unshift(context);
  4430. const eventsArray = Array.isArray(events) ? events : events.split(' ');
  4431. eventsArray.forEach(event => {
  4432. if (self.eventsAnyListeners && self.eventsAnyListeners.length) {
  4433. self.eventsAnyListeners.forEach(eventHandler => {
  4434. eventHandler.apply(context, [event, ...data]);
  4435. });
  4436. }
  4437. if (self.eventsListeners && self.eventsListeners[event]) {
  4438. self.eventsListeners[event].forEach(eventHandler => {
  4439. eventHandler.apply(context, data);
  4440. });
  4441. }
  4442. });
  4443. return self;
  4444. }
  4445. });
  4446. /***/ }),
  4447. /***/ 9123:
  4448. /*!**************************************************!*\
  4449. !*** ./node_modules/swiper/core/events/index.js ***!
  4450. \**************************************************/
  4451. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  4452. __webpack_require__.r(__webpack_exports__);
  4453. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  4454. /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
  4455. /* harmony export */ });
  4456. /* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ 2864);
  4457. /* harmony import */ var _onTouchStart_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./onTouchStart.js */ 8163);
  4458. /* harmony import */ var _onTouchMove_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./onTouchMove.js */ 540);
  4459. /* harmony import */ var _onTouchEnd_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./onTouchEnd.js */ 1638);
  4460. /* harmony import */ var _onResize_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./onResize.js */ 6280);
  4461. /* harmony import */ var _onClick_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./onClick.js */ 7235);
  4462. /* harmony import */ var _onScroll_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./onScroll.js */ 3826);
  4463. let dummyEventAttached = false;
  4464. function dummyEventListener() {}
  4465. const events = (swiper, method) => {
  4466. const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)();
  4467. const {
  4468. params,
  4469. touchEvents,
  4470. el,
  4471. wrapperEl,
  4472. device,
  4473. support
  4474. } = swiper;
  4475. const capture = !!params.nested;
  4476. const domMethod = method === 'on' ? 'addEventListener' : 'removeEventListener';
  4477. const swiperMethod = method; // Touch Events
  4478. if (!support.touch) {
  4479. el[domMethod](touchEvents.start, swiper.onTouchStart, false);
  4480. document[domMethod](touchEvents.move, swiper.onTouchMove, capture);
  4481. document[domMethod](touchEvents.end, swiper.onTouchEnd, false);
  4482. } else {
  4483. const passiveListener = touchEvents.start === 'touchstart' && support.passiveListener && params.passiveListeners ? {
  4484. passive: true,
  4485. capture: false
  4486. } : false;
  4487. el[domMethod](touchEvents.start, swiper.onTouchStart, passiveListener);
  4488. el[domMethod](touchEvents.move, swiper.onTouchMove, support.passiveListener ? {
  4489. passive: false,
  4490. capture
  4491. } : capture);
  4492. el[domMethod](touchEvents.end, swiper.onTouchEnd, passiveListener);
  4493. if (touchEvents.cancel) {
  4494. el[domMethod](touchEvents.cancel, swiper.onTouchEnd, passiveListener);
  4495. }
  4496. } // Prevent Links Clicks
  4497. if (params.preventClicks || params.preventClicksPropagation) {
  4498. el[domMethod]('click', swiper.onClick, true);
  4499. }
  4500. if (params.cssMode) {
  4501. wrapperEl[domMethod]('scroll', swiper.onScroll);
  4502. } // Resize handler
  4503. if (params.updateOnWindowResize) {
  4504. swiper[swiperMethod](device.ios || device.android ? 'resize orientationchange observerUpdate' : 'resize observerUpdate', _onResize_js__WEBPACK_IMPORTED_MODULE_4__["default"], true);
  4505. } else {
  4506. swiper[swiperMethod]('observerUpdate', _onResize_js__WEBPACK_IMPORTED_MODULE_4__["default"], true);
  4507. }
  4508. };
  4509. function attachEvents() {
  4510. const swiper = this;
  4511. const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)();
  4512. const {
  4513. params,
  4514. support
  4515. } = swiper;
  4516. swiper.onTouchStart = _onTouchStart_js__WEBPACK_IMPORTED_MODULE_1__["default"].bind(swiper);
  4517. swiper.onTouchMove = _onTouchMove_js__WEBPACK_IMPORTED_MODULE_2__["default"].bind(swiper);
  4518. swiper.onTouchEnd = _onTouchEnd_js__WEBPACK_IMPORTED_MODULE_3__["default"].bind(swiper);
  4519. if (params.cssMode) {
  4520. swiper.onScroll = _onScroll_js__WEBPACK_IMPORTED_MODULE_6__["default"].bind(swiper);
  4521. }
  4522. swiper.onClick = _onClick_js__WEBPACK_IMPORTED_MODULE_5__["default"].bind(swiper);
  4523. if (support.touch && !dummyEventAttached) {
  4524. document.addEventListener('touchstart', dummyEventListener);
  4525. dummyEventAttached = true;
  4526. }
  4527. events(swiper, 'on');
  4528. }
  4529. function detachEvents() {
  4530. const swiper = this;
  4531. events(swiper, 'off');
  4532. }
  4533. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
  4534. attachEvents,
  4535. detachEvents
  4536. });
  4537. /***/ }),
  4538. /***/ 7235:
  4539. /*!****************************************************!*\
  4540. !*** ./node_modules/swiper/core/events/onClick.js ***!
  4541. \****************************************************/
  4542. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  4543. __webpack_require__.r(__webpack_exports__);
  4544. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  4545. /* harmony export */ "default": () => (/* binding */ onClick)
  4546. /* harmony export */ });
  4547. function onClick(e) {
  4548. const swiper = this;
  4549. if (!swiper.enabled) return;
  4550. if (!swiper.allowClick) {
  4551. if (swiper.params.preventClicks) e.preventDefault();
  4552. if (swiper.params.preventClicksPropagation && swiper.animating) {
  4553. e.stopPropagation();
  4554. e.stopImmediatePropagation();
  4555. }
  4556. }
  4557. }
  4558. /***/ }),
  4559. /***/ 6280:
  4560. /*!*****************************************************!*\
  4561. !*** ./node_modules/swiper/core/events/onResize.js ***!
  4562. \*****************************************************/
  4563. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  4564. __webpack_require__.r(__webpack_exports__);
  4565. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  4566. /* harmony export */ "default": () => (/* binding */ onResize)
  4567. /* harmony export */ });
  4568. function onResize() {
  4569. const swiper = this;
  4570. const {
  4571. params,
  4572. el
  4573. } = swiper;
  4574. if (el && el.offsetWidth === 0) return; // Breakpoints
  4575. if (params.breakpoints) {
  4576. swiper.setBreakpoint();
  4577. } // Save locks
  4578. const {
  4579. allowSlideNext,
  4580. allowSlidePrev,
  4581. snapGrid
  4582. } = swiper; // Disable locks on resize
  4583. swiper.allowSlideNext = true;
  4584. swiper.allowSlidePrev = true;
  4585. swiper.updateSize();
  4586. swiper.updateSlides();
  4587. swiper.updateSlidesClasses();
  4588. if ((params.slidesPerView === 'auto' || params.slidesPerView > 1) && swiper.isEnd && !swiper.isBeginning && !swiper.params.centeredSlides) {
  4589. swiper.slideTo(swiper.slides.length - 1, 0, false, true);
  4590. } else {
  4591. swiper.slideTo(swiper.activeIndex, 0, false, true);
  4592. }
  4593. if (swiper.autoplay && swiper.autoplay.running && swiper.autoplay.paused) {
  4594. swiper.autoplay.run();
  4595. } // Return locks after resize
  4596. swiper.allowSlidePrev = allowSlidePrev;
  4597. swiper.allowSlideNext = allowSlideNext;
  4598. if (swiper.params.watchOverflow && snapGrid !== swiper.snapGrid) {
  4599. swiper.checkOverflow();
  4600. }
  4601. }
  4602. /***/ }),
  4603. /***/ 3826:
  4604. /*!*****************************************************!*\
  4605. !*** ./node_modules/swiper/core/events/onScroll.js ***!
  4606. \*****************************************************/
  4607. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  4608. __webpack_require__.r(__webpack_exports__);
  4609. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  4610. /* harmony export */ "default": () => (/* binding */ onScroll)
  4611. /* harmony export */ });
  4612. function onScroll() {
  4613. const swiper = this;
  4614. const {
  4615. wrapperEl,
  4616. rtlTranslate,
  4617. enabled
  4618. } = swiper;
  4619. if (!enabled) return;
  4620. swiper.previousTranslate = swiper.translate;
  4621. if (swiper.isHorizontal()) {
  4622. swiper.translate = -wrapperEl.scrollLeft;
  4623. } else {
  4624. swiper.translate = -wrapperEl.scrollTop;
  4625. } // eslint-disable-next-line
  4626. if (swiper.translate === 0) swiper.translate = 0;
  4627. swiper.updateActiveIndex();
  4628. swiper.updateSlidesClasses();
  4629. let newProgress;
  4630. const translatesDiff = swiper.maxTranslate() - swiper.minTranslate();
  4631. if (translatesDiff === 0) {
  4632. newProgress = 0;
  4633. } else {
  4634. newProgress = (swiper.translate - swiper.minTranslate()) / translatesDiff;
  4635. }
  4636. if (newProgress !== swiper.progress) {
  4637. swiper.updateProgress(rtlTranslate ? -swiper.translate : swiper.translate);
  4638. }
  4639. swiper.emit('setTranslate', swiper.translate, false);
  4640. }
  4641. /***/ }),
  4642. /***/ 1638:
  4643. /*!*******************************************************!*\
  4644. !*** ./node_modules/swiper/core/events/onTouchEnd.js ***!
  4645. \*******************************************************/
  4646. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  4647. __webpack_require__.r(__webpack_exports__);
  4648. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  4649. /* harmony export */ "default": () => (/* binding */ onTouchEnd)
  4650. /* harmony export */ });
  4651. /* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/utils.js */ 3809);
  4652. function onTouchEnd(event) {
  4653. const swiper = this;
  4654. const data = swiper.touchEventsData;
  4655. const {
  4656. params,
  4657. touches,
  4658. rtlTranslate: rtl,
  4659. slidesGrid,
  4660. enabled
  4661. } = swiper;
  4662. if (!enabled) return;
  4663. let e = event;
  4664. if (e.originalEvent) e = e.originalEvent;
  4665. if (data.allowTouchCallbacks) {
  4666. swiper.emit('touchEnd', e);
  4667. }
  4668. data.allowTouchCallbacks = false;
  4669. if (!data.isTouched) {
  4670. if (data.isMoved && params.grabCursor) {
  4671. swiper.setGrabCursor(false);
  4672. }
  4673. data.isMoved = false;
  4674. data.startMoving = false;
  4675. return;
  4676. } // Return Grab Cursor
  4677. if (params.grabCursor && data.isMoved && data.isTouched && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) {
  4678. swiper.setGrabCursor(false);
  4679. } // Time diff
  4680. const touchEndTime = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.now)();
  4681. const timeDiff = touchEndTime - data.touchStartTime; // Tap, doubleTap, Click
  4682. if (swiper.allowClick) {
  4683. const pathTree = e.path || e.composedPath && e.composedPath();
  4684. swiper.updateClickedSlide(pathTree && pathTree[0] || e.target);
  4685. swiper.emit('tap click', e);
  4686. if (timeDiff < 300 && touchEndTime - data.lastClickTime < 300) {
  4687. swiper.emit('doubleTap doubleClick', e);
  4688. }
  4689. }
  4690. data.lastClickTime = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.now)();
  4691. (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.nextTick)(() => {
  4692. if (!swiper.destroyed) swiper.allowClick = true;
  4693. });
  4694. if (!data.isTouched || !data.isMoved || !swiper.swipeDirection || touches.diff === 0 || data.currentTranslate === data.startTranslate) {
  4695. data.isTouched = false;
  4696. data.isMoved = false;
  4697. data.startMoving = false;
  4698. return;
  4699. }
  4700. data.isTouched = false;
  4701. data.isMoved = false;
  4702. data.startMoving = false;
  4703. let currentPos;
  4704. if (params.followFinger) {
  4705. currentPos = rtl ? swiper.translate : -swiper.translate;
  4706. } else {
  4707. currentPos = -data.currentTranslate;
  4708. }
  4709. if (params.cssMode) {
  4710. return;
  4711. }
  4712. if (swiper.params.freeMode && params.freeMode.enabled) {
  4713. swiper.freeMode.onTouchEnd({
  4714. currentPos
  4715. });
  4716. return;
  4717. } // Find current slide
  4718. let stopIndex = 0;
  4719. let groupSize = swiper.slidesSizesGrid[0];
  4720. for (let i = 0; i < slidesGrid.length; i += i < params.slidesPerGroupSkip ? 1 : params.slidesPerGroup) {
  4721. const increment = i < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup;
  4722. if (typeof slidesGrid[i + increment] !== 'undefined') {
  4723. if (currentPos >= slidesGrid[i] && currentPos < slidesGrid[i + increment]) {
  4724. stopIndex = i;
  4725. groupSize = slidesGrid[i + increment] - slidesGrid[i];
  4726. }
  4727. } else if (currentPos >= slidesGrid[i]) {
  4728. stopIndex = i;
  4729. groupSize = slidesGrid[slidesGrid.length - 1] - slidesGrid[slidesGrid.length - 2];
  4730. }
  4731. }
  4732. let rewindFirstIndex = null;
  4733. let rewindLastIndex = null;
  4734. if (params.rewind) {
  4735. if (swiper.isBeginning) {
  4736. rewindLastIndex = swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual ? swiper.virtual.slides.length - 1 : swiper.slides.length - 1;
  4737. } else if (swiper.isEnd) {
  4738. rewindFirstIndex = 0;
  4739. }
  4740. } // Find current slide size
  4741. const ratio = (currentPos - slidesGrid[stopIndex]) / groupSize;
  4742. const increment = stopIndex < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup;
  4743. if (timeDiff > params.longSwipesMs) {
  4744. // Long touches
  4745. if (!params.longSwipes) {
  4746. swiper.slideTo(swiper.activeIndex);
  4747. return;
  4748. }
  4749. if (swiper.swipeDirection === 'next') {
  4750. if (ratio >= params.longSwipesRatio) swiper.slideTo(params.rewind && swiper.isEnd ? rewindFirstIndex : stopIndex + increment);else swiper.slideTo(stopIndex);
  4751. }
  4752. if (swiper.swipeDirection === 'prev') {
  4753. if (ratio > 1 - params.longSwipesRatio) {
  4754. swiper.slideTo(stopIndex + increment);
  4755. } else if (rewindLastIndex !== null && ratio < 0 && Math.abs(ratio) > params.longSwipesRatio) {
  4756. swiper.slideTo(rewindLastIndex);
  4757. } else {
  4758. swiper.slideTo(stopIndex);
  4759. }
  4760. }
  4761. } else {
  4762. // Short swipes
  4763. if (!params.shortSwipes) {
  4764. swiper.slideTo(swiper.activeIndex);
  4765. return;
  4766. }
  4767. const isNavButtonTarget = swiper.navigation && (e.target === swiper.navigation.nextEl || e.target === swiper.navigation.prevEl);
  4768. if (!isNavButtonTarget) {
  4769. if (swiper.swipeDirection === 'next') {
  4770. swiper.slideTo(rewindFirstIndex !== null ? rewindFirstIndex : stopIndex + increment);
  4771. }
  4772. if (swiper.swipeDirection === 'prev') {
  4773. swiper.slideTo(rewindLastIndex !== null ? rewindLastIndex : stopIndex);
  4774. }
  4775. } else if (e.target === swiper.navigation.nextEl) {
  4776. swiper.slideTo(stopIndex + increment);
  4777. } else {
  4778. swiper.slideTo(stopIndex);
  4779. }
  4780. }
  4781. }
  4782. /***/ }),
  4783. /***/ 540:
  4784. /*!********************************************************!*\
  4785. !*** ./node_modules/swiper/core/events/onTouchMove.js ***!
  4786. \********************************************************/
  4787. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  4788. __webpack_require__.r(__webpack_exports__);
  4789. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  4790. /* harmony export */ "default": () => (/* binding */ onTouchMove)
  4791. /* harmony export */ });
  4792. /* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ 2864);
  4793. /* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/dom.js */ 6007);
  4794. /* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../shared/utils.js */ 3809);
  4795. function onTouchMove(event) {
  4796. const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)();
  4797. const swiper = this;
  4798. const data = swiper.touchEventsData;
  4799. const {
  4800. params,
  4801. touches,
  4802. rtlTranslate: rtl,
  4803. enabled
  4804. } = swiper;
  4805. if (!enabled) return;
  4806. let e = event;
  4807. if (e.originalEvent) e = e.originalEvent;
  4808. if (!data.isTouched) {
  4809. if (data.startMoving && data.isScrolling) {
  4810. swiper.emit('touchMoveOpposite', e);
  4811. }
  4812. return;
  4813. }
  4814. if (data.isTouchEvent && e.type !== 'touchmove') return;
  4815. const targetTouch = e.type === 'touchmove' && e.targetTouches && (e.targetTouches[0] || e.changedTouches[0]);
  4816. const pageX = e.type === 'touchmove' ? targetTouch.pageX : e.pageX;
  4817. const pageY = e.type === 'touchmove' ? targetTouch.pageY : e.pageY;
  4818. if (e.preventedByNestedSwiper) {
  4819. touches.startX = pageX;
  4820. touches.startY = pageY;
  4821. return;
  4822. }
  4823. if (!swiper.allowTouchMove) {
  4824. if (!(0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(e.target).is(data.focusableElements)) {
  4825. swiper.allowClick = false;
  4826. }
  4827. if (data.isTouched) {
  4828. Object.assign(touches, {
  4829. startX: pageX,
  4830. startY: pageY,
  4831. currentX: pageX,
  4832. currentY: pageY
  4833. });
  4834. data.touchStartTime = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.now)();
  4835. }
  4836. return;
  4837. }
  4838. if (data.isTouchEvent && params.touchReleaseOnEdges && !params.loop) {
  4839. if (swiper.isVertical()) {
  4840. // Vertical
  4841. if (pageY < touches.startY && swiper.translate <= swiper.maxTranslate() || pageY > touches.startY && swiper.translate >= swiper.minTranslate()) {
  4842. data.isTouched = false;
  4843. data.isMoved = false;
  4844. return;
  4845. }
  4846. } else if (pageX < touches.startX && swiper.translate <= swiper.maxTranslate() || pageX > touches.startX && swiper.translate >= swiper.minTranslate()) {
  4847. return;
  4848. }
  4849. }
  4850. if (data.isTouchEvent && document.activeElement) {
  4851. if (e.target === document.activeElement && (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(e.target).is(data.focusableElements)) {
  4852. data.isMoved = true;
  4853. swiper.allowClick = false;
  4854. return;
  4855. }
  4856. }
  4857. if (data.allowTouchCallbacks) {
  4858. swiper.emit('touchMove', e);
  4859. }
  4860. if (e.targetTouches && e.targetTouches.length > 1) return;
  4861. touches.currentX = pageX;
  4862. touches.currentY = pageY;
  4863. const diffX = touches.currentX - touches.startX;
  4864. const diffY = touches.currentY - touches.startY;
  4865. if (swiper.params.threshold && Math.sqrt(diffX ** 2 + diffY ** 2) < swiper.params.threshold) return;
  4866. if (typeof data.isScrolling === 'undefined') {
  4867. let touchAngle;
  4868. if (swiper.isHorizontal() && touches.currentY === touches.startY || swiper.isVertical() && touches.currentX === touches.startX) {
  4869. data.isScrolling = false;
  4870. } else {
  4871. // eslint-disable-next-line
  4872. if (diffX * diffX + diffY * diffY >= 25) {
  4873. touchAngle = Math.atan2(Math.abs(diffY), Math.abs(diffX)) * 180 / Math.PI;
  4874. data.isScrolling = swiper.isHorizontal() ? touchAngle > params.touchAngle : 90 - touchAngle > params.touchAngle;
  4875. }
  4876. }
  4877. }
  4878. if (data.isScrolling) {
  4879. swiper.emit('touchMoveOpposite', e);
  4880. }
  4881. if (typeof data.startMoving === 'undefined') {
  4882. if (touches.currentX !== touches.startX || touches.currentY !== touches.startY) {
  4883. data.startMoving = true;
  4884. }
  4885. }
  4886. if (data.isScrolling) {
  4887. data.isTouched = false;
  4888. return;
  4889. }
  4890. if (!data.startMoving) {
  4891. return;
  4892. }
  4893. swiper.allowClick = false;
  4894. if (!params.cssMode && e.cancelable) {
  4895. e.preventDefault();
  4896. }
  4897. if (params.touchMoveStopPropagation && !params.nested) {
  4898. e.stopPropagation();
  4899. }
  4900. if (!data.isMoved) {
  4901. if (params.loop && !params.cssMode) {
  4902. swiper.loopFix();
  4903. }
  4904. data.startTranslate = swiper.getTranslate();
  4905. swiper.setTransition(0);
  4906. if (swiper.animating) {
  4907. swiper.$wrapperEl.trigger('webkitTransitionEnd transitionend');
  4908. }
  4909. data.allowMomentumBounce = false; // Grab Cursor
  4910. if (params.grabCursor && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) {
  4911. swiper.setGrabCursor(true);
  4912. }
  4913. swiper.emit('sliderFirstMove', e);
  4914. }
  4915. swiper.emit('sliderMove', e);
  4916. data.isMoved = true;
  4917. let diff = swiper.isHorizontal() ? diffX : diffY;
  4918. touches.diff = diff;
  4919. diff *= params.touchRatio;
  4920. if (rtl) diff = -diff;
  4921. swiper.swipeDirection = diff > 0 ? 'prev' : 'next';
  4922. data.currentTranslate = diff + data.startTranslate;
  4923. let disableParentSwiper = true;
  4924. let resistanceRatio = params.resistanceRatio;
  4925. if (params.touchReleaseOnEdges) {
  4926. resistanceRatio = 0;
  4927. }
  4928. if (diff > 0 && data.currentTranslate > swiper.minTranslate()) {
  4929. disableParentSwiper = false;
  4930. if (params.resistance) data.currentTranslate = swiper.minTranslate() - 1 + (-swiper.minTranslate() + data.startTranslate + diff) ** resistanceRatio;
  4931. } else if (diff < 0 && data.currentTranslate < swiper.maxTranslate()) {
  4932. disableParentSwiper = false;
  4933. if (params.resistance) data.currentTranslate = swiper.maxTranslate() + 1 - (swiper.maxTranslate() - data.startTranslate - diff) ** resistanceRatio;
  4934. }
  4935. if (disableParentSwiper) {
  4936. e.preventedByNestedSwiper = true;
  4937. } // Directions locks
  4938. if (!swiper.allowSlideNext && swiper.swipeDirection === 'next' && data.currentTranslate < data.startTranslate) {
  4939. data.currentTranslate = data.startTranslate;
  4940. }
  4941. if (!swiper.allowSlidePrev && swiper.swipeDirection === 'prev' && data.currentTranslate > data.startTranslate) {
  4942. data.currentTranslate = data.startTranslate;
  4943. }
  4944. if (!swiper.allowSlidePrev && !swiper.allowSlideNext) {
  4945. data.currentTranslate = data.startTranslate;
  4946. } // Threshold
  4947. if (params.threshold > 0) {
  4948. if (Math.abs(diff) > params.threshold || data.allowThresholdMove) {
  4949. if (!data.allowThresholdMove) {
  4950. data.allowThresholdMove = true;
  4951. touches.startX = touches.currentX;
  4952. touches.startY = touches.currentY;
  4953. data.currentTranslate = data.startTranslate;
  4954. touches.diff = swiper.isHorizontal() ? touches.currentX - touches.startX : touches.currentY - touches.startY;
  4955. return;
  4956. }
  4957. } else {
  4958. data.currentTranslate = data.startTranslate;
  4959. return;
  4960. }
  4961. }
  4962. if (!params.followFinger || params.cssMode) return; // Update active index in free mode
  4963. if (params.freeMode && params.freeMode.enabled && swiper.freeMode || params.watchSlidesProgress) {
  4964. swiper.updateActiveIndex();
  4965. swiper.updateSlidesClasses();
  4966. }
  4967. if (swiper.params.freeMode && params.freeMode.enabled && swiper.freeMode) {
  4968. swiper.freeMode.onTouchMove();
  4969. } // Update progress
  4970. swiper.updateProgress(data.currentTranslate); // Update translate
  4971. swiper.setTranslate(data.currentTranslate);
  4972. }
  4973. /***/ }),
  4974. /***/ 8163:
  4975. /*!*********************************************************!*\
  4976. !*** ./node_modules/swiper/core/events/onTouchStart.js ***!
  4977. \*********************************************************/
  4978. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  4979. __webpack_require__.r(__webpack_exports__);
  4980. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  4981. /* harmony export */ "default": () => (/* binding */ onTouchStart)
  4982. /* harmony export */ });
  4983. /* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ 2864);
  4984. /* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/dom.js */ 6007);
  4985. /* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../shared/utils.js */ 3809);
  4986. // Modified from https://stackoverflow.com/questions/54520554/custom-element-getrootnode-closest-function-crossing-multiple-parent-shadowd
  4987. function closestElement(selector, base = this) {
  4988. function __closestFrom(el) {
  4989. if (!el || el === (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)() || el === (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)()) return null;
  4990. if (el.assignedSlot) el = el.assignedSlot;
  4991. const found = el.closest(selector);
  4992. if (!found && !el.getRootNode) {
  4993. return null;
  4994. }
  4995. return found || __closestFrom(el.getRootNode().host);
  4996. }
  4997. return __closestFrom(base);
  4998. }
  4999. function onTouchStart(event) {
  5000. const swiper = this;
  5001. const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)();
  5002. const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
  5003. const data = swiper.touchEventsData;
  5004. const {
  5005. params,
  5006. touches,
  5007. enabled
  5008. } = swiper;
  5009. if (!enabled) return;
  5010. if (swiper.animating && params.preventInteractionOnTransition) {
  5011. return;
  5012. }
  5013. if (!swiper.animating && params.cssMode && params.loop) {
  5014. swiper.loopFix();
  5015. }
  5016. let e = event;
  5017. if (e.originalEvent) e = e.originalEvent;
  5018. let $targetEl = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(e.target);
  5019. if (params.touchEventsTarget === 'wrapper') {
  5020. if (!$targetEl.closest(swiper.wrapperEl).length) return;
  5021. }
  5022. data.isTouchEvent = e.type === 'touchstart';
  5023. if (!data.isTouchEvent && 'which' in e && e.which === 3) return;
  5024. if (!data.isTouchEvent && 'button' in e && e.button > 0) return;
  5025. if (data.isTouched && data.isMoved) return; // change target el for shadow root component
  5026. const swipingClassHasValue = !!params.noSwipingClass && params.noSwipingClass !== ''; // eslint-disable-next-line
  5027. const eventPath = event.composedPath ? event.composedPath() : event.path;
  5028. if (swipingClassHasValue && e.target && e.target.shadowRoot && eventPath) {
  5029. $targetEl = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(eventPath[0]);
  5030. }
  5031. const noSwipingSelector = params.noSwipingSelector ? params.noSwipingSelector : `.${params.noSwipingClass}`;
  5032. const isTargetShadow = !!(e.target && e.target.shadowRoot); // use closestElement for shadow root element to get the actual closest for nested shadow root element
  5033. if (params.noSwiping && (isTargetShadow ? closestElement(noSwipingSelector, $targetEl[0]) : $targetEl.closest(noSwipingSelector)[0])) {
  5034. swiper.allowClick = true;
  5035. return;
  5036. }
  5037. if (params.swipeHandler) {
  5038. if (!$targetEl.closest(params.swipeHandler)[0]) return;
  5039. }
  5040. touches.currentX = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;
  5041. touches.currentY = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;
  5042. const startX = touches.currentX;
  5043. const startY = touches.currentY; // Do NOT start if iOS edge swipe is detected. Otherwise iOS app cannot swipe-to-go-back anymore
  5044. const edgeSwipeDetection = params.edgeSwipeDetection || params.iOSEdgeSwipeDetection;
  5045. const edgeSwipeThreshold = params.edgeSwipeThreshold || params.iOSEdgeSwipeThreshold;
  5046. if (edgeSwipeDetection && (startX <= edgeSwipeThreshold || startX >= window.innerWidth - edgeSwipeThreshold)) {
  5047. if (edgeSwipeDetection === 'prevent') {
  5048. event.preventDefault();
  5049. } else {
  5050. return;
  5051. }
  5052. }
  5053. Object.assign(data, {
  5054. isTouched: true,
  5055. isMoved: false,
  5056. allowTouchCallbacks: true,
  5057. isScrolling: undefined,
  5058. startMoving: undefined
  5059. });
  5060. touches.startX = startX;
  5061. touches.startY = startY;
  5062. data.touchStartTime = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.now)();
  5063. swiper.allowClick = true;
  5064. swiper.updateSize();
  5065. swiper.swipeDirection = undefined;
  5066. if (params.threshold > 0) data.allowThresholdMove = false;
  5067. if (e.type !== 'touchstart') {
  5068. let preventDefault = true;
  5069. if ($targetEl.is(data.focusableElements)) {
  5070. preventDefault = false;
  5071. if ($targetEl[0].nodeName === 'SELECT') {
  5072. data.isTouched = false;
  5073. }
  5074. }
  5075. if (document.activeElement && (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(document.activeElement).is(data.focusableElements) && document.activeElement !== $targetEl[0]) {
  5076. document.activeElement.blur();
  5077. }
  5078. const shouldPreventDefault = preventDefault && swiper.allowTouchMove && params.touchStartPreventDefault;
  5079. if ((params.touchStartForcePreventDefault || shouldPreventDefault) && !$targetEl[0].isContentEditable) {
  5080. e.preventDefault();
  5081. }
  5082. }
  5083. if (swiper.params.freeMode && swiper.params.freeMode.enabled && swiper.freeMode && swiper.animating && !params.cssMode) {
  5084. swiper.freeMode.onTouchStart();
  5085. }
  5086. swiper.emit('touchStart', e);
  5087. }
  5088. /***/ }),
  5089. /***/ 6818:
  5090. /*!*******************************************************!*\
  5091. !*** ./node_modules/swiper/core/grab-cursor/index.js ***!
  5092. \*******************************************************/
  5093. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  5094. __webpack_require__.r(__webpack_exports__);
  5095. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  5096. /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
  5097. /* harmony export */ });
  5098. /* harmony import */ var _setGrabCursor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./setGrabCursor.js */ 5115);
  5099. /* harmony import */ var _unsetGrabCursor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./unsetGrabCursor.js */ 5884);
  5100. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
  5101. setGrabCursor: _setGrabCursor_js__WEBPACK_IMPORTED_MODULE_0__["default"],
  5102. unsetGrabCursor: _unsetGrabCursor_js__WEBPACK_IMPORTED_MODULE_1__["default"]
  5103. });
  5104. /***/ }),
  5105. /***/ 5115:
  5106. /*!***************************************************************!*\
  5107. !*** ./node_modules/swiper/core/grab-cursor/setGrabCursor.js ***!
  5108. \***************************************************************/
  5109. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  5110. __webpack_require__.r(__webpack_exports__);
  5111. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  5112. /* harmony export */ "default": () => (/* binding */ setGrabCursor)
  5113. /* harmony export */ });
  5114. function setGrabCursor(moving) {
  5115. const swiper = this;
  5116. if (swiper.support.touch || !swiper.params.simulateTouch || swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) return;
  5117. const el = swiper.params.touchEventsTarget === 'container' ? swiper.el : swiper.wrapperEl;
  5118. el.style.cursor = 'move';
  5119. el.style.cursor = moving ? 'grabbing' : 'grab';
  5120. }
  5121. /***/ }),
  5122. /***/ 5884:
  5123. /*!*****************************************************************!*\
  5124. !*** ./node_modules/swiper/core/grab-cursor/unsetGrabCursor.js ***!
  5125. \*****************************************************************/
  5126. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  5127. __webpack_require__.r(__webpack_exports__);
  5128. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  5129. /* harmony export */ "default": () => (/* binding */ unsetGrabCursor)
  5130. /* harmony export */ });
  5131. function unsetGrabCursor() {
  5132. const swiper = this;
  5133. if (swiper.support.touch || swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) {
  5134. return;
  5135. }
  5136. swiper[swiper.params.touchEventsTarget === 'container' ? 'el' : 'wrapperEl'].style.cursor = '';
  5137. }
  5138. /***/ }),
  5139. /***/ 5032:
  5140. /*!**************************************************!*\
  5141. !*** ./node_modules/swiper/core/images/index.js ***!
  5142. \**************************************************/
  5143. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  5144. __webpack_require__.r(__webpack_exports__);
  5145. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  5146. /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
  5147. /* harmony export */ });
  5148. /* harmony import */ var _loadImage_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./loadImage.js */ 8625);
  5149. /* harmony import */ var _preloadImages_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./preloadImages.js */ 3495);
  5150. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
  5151. loadImage: _loadImage_js__WEBPACK_IMPORTED_MODULE_0__["default"],
  5152. preloadImages: _preloadImages_js__WEBPACK_IMPORTED_MODULE_1__["default"]
  5153. });
  5154. /***/ }),
  5155. /***/ 8625:
  5156. /*!******************************************************!*\
  5157. !*** ./node_modules/swiper/core/images/loadImage.js ***!
  5158. \******************************************************/
  5159. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  5160. __webpack_require__.r(__webpack_exports__);
  5161. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  5162. /* harmony export */ "default": () => (/* binding */ loadImage)
  5163. /* harmony export */ });
  5164. /* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ 2864);
  5165. /* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/dom.js */ 6007);
  5166. function loadImage(imageEl, src, srcset, sizes, checkForComplete, callback) {
  5167. const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
  5168. let image;
  5169. function onReady() {
  5170. if (callback) callback();
  5171. }
  5172. const isPicture = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(imageEl).parent('picture')[0];
  5173. if (!isPicture && (!imageEl.complete || !checkForComplete)) {
  5174. if (src) {
  5175. image = new window.Image();
  5176. image.onload = onReady;
  5177. image.onerror = onReady;
  5178. if (sizes) {
  5179. image.sizes = sizes;
  5180. }
  5181. if (srcset) {
  5182. image.srcset = srcset;
  5183. }
  5184. if (src) {
  5185. image.src = src;
  5186. }
  5187. } else {
  5188. onReady();
  5189. }
  5190. } else {
  5191. // image already loaded...
  5192. onReady();
  5193. }
  5194. }
  5195. /***/ }),
  5196. /***/ 3495:
  5197. /*!**********************************************************!*\
  5198. !*** ./node_modules/swiper/core/images/preloadImages.js ***!
  5199. \**********************************************************/
  5200. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  5201. __webpack_require__.r(__webpack_exports__);
  5202. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  5203. /* harmony export */ "default": () => (/* binding */ preloadImages)
  5204. /* harmony export */ });
  5205. function preloadImages() {
  5206. const swiper = this;
  5207. swiper.imagesToLoad = swiper.$el.find('img');
  5208. function onReady() {
  5209. if (typeof swiper === 'undefined' || swiper === null || !swiper || swiper.destroyed) return;
  5210. if (swiper.imagesLoaded !== undefined) swiper.imagesLoaded += 1;
  5211. if (swiper.imagesLoaded === swiper.imagesToLoad.length) {
  5212. if (swiper.params.updateOnImagesReady) swiper.update();
  5213. swiper.emit('imagesReady');
  5214. }
  5215. }
  5216. for (let i = 0; i < swiper.imagesToLoad.length; i += 1) {
  5217. const imageEl = swiper.imagesToLoad[i];
  5218. swiper.loadImage(imageEl, imageEl.currentSrc || imageEl.getAttribute('src'), imageEl.srcset || imageEl.getAttribute('srcset'), imageEl.sizes || imageEl.getAttribute('sizes'), true, onReady);
  5219. }
  5220. }
  5221. /***/ }),
  5222. /***/ 9355:
  5223. /*!************************************************!*\
  5224. !*** ./node_modules/swiper/core/loop/index.js ***!
  5225. \************************************************/
  5226. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  5227. __webpack_require__.r(__webpack_exports__);
  5228. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  5229. /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
  5230. /* harmony export */ });
  5231. /* harmony import */ var _loopCreate_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./loopCreate.js */ 1807);
  5232. /* harmony import */ var _loopFix_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./loopFix.js */ 492);
  5233. /* harmony import */ var _loopDestroy_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./loopDestroy.js */ 4564);
  5234. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
  5235. loopCreate: _loopCreate_js__WEBPACK_IMPORTED_MODULE_0__["default"],
  5236. loopFix: _loopFix_js__WEBPACK_IMPORTED_MODULE_1__["default"],
  5237. loopDestroy: _loopDestroy_js__WEBPACK_IMPORTED_MODULE_2__["default"]
  5238. });
  5239. /***/ }),
  5240. /***/ 1807:
  5241. /*!*****************************************************!*\
  5242. !*** ./node_modules/swiper/core/loop/loopCreate.js ***!
  5243. \*****************************************************/
  5244. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  5245. __webpack_require__.r(__webpack_exports__);
  5246. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  5247. /* harmony export */ "default": () => (/* binding */ loopCreate)
  5248. /* harmony export */ });
  5249. /* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ 2864);
  5250. /* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/dom.js */ 6007);
  5251. function loopCreate() {
  5252. const swiper = this;
  5253. const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)();
  5254. const {
  5255. params,
  5256. $wrapperEl
  5257. } = swiper; // Remove duplicated slides
  5258. const $selector = $wrapperEl.children().length > 0 ? (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])($wrapperEl.children()[0].parentNode) : $wrapperEl;
  5259. $selector.children(`.${params.slideClass}.${params.slideDuplicateClass}`).remove();
  5260. let slides = $selector.children(`.${params.slideClass}`);
  5261. if (params.loopFillGroupWithBlank) {
  5262. const blankSlidesNum = params.slidesPerGroup - slides.length % params.slidesPerGroup;
  5263. if (blankSlidesNum !== params.slidesPerGroup) {
  5264. for (let i = 0; i < blankSlidesNum; i += 1) {
  5265. const blankNode = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(document.createElement('div')).addClass(`${params.slideClass} ${params.slideBlankClass}`);
  5266. $selector.append(blankNode);
  5267. }
  5268. slides = $selector.children(`.${params.slideClass}`);
  5269. }
  5270. }
  5271. if (params.slidesPerView === 'auto' && !params.loopedSlides) params.loopedSlides = slides.length;
  5272. swiper.loopedSlides = Math.ceil(parseFloat(params.loopedSlides || params.slidesPerView, 10));
  5273. swiper.loopedSlides += params.loopAdditionalSlides;
  5274. if (swiper.loopedSlides > slides.length && swiper.params.loopedSlidesLimit) {
  5275. swiper.loopedSlides = slides.length;
  5276. }
  5277. const prependSlides = [];
  5278. const appendSlides = [];
  5279. slides.each((el, index) => {
  5280. const slide = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(el);
  5281. slide.attr('data-swiper-slide-index', index);
  5282. });
  5283. for (let i = 0; i < swiper.loopedSlides; i += 1) {
  5284. const index = i - Math.floor(i / slides.length) * slides.length;
  5285. appendSlides.push(slides.eq(index)[0]);
  5286. prependSlides.unshift(slides.eq(slides.length - index - 1)[0]);
  5287. }
  5288. for (let i = 0; i < appendSlides.length; i += 1) {
  5289. $selector.append((0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(appendSlides[i].cloneNode(true)).addClass(params.slideDuplicateClass));
  5290. }
  5291. for (let i = prependSlides.length - 1; i >= 0; i -= 1) {
  5292. $selector.prepend((0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(prependSlides[i].cloneNode(true)).addClass(params.slideDuplicateClass));
  5293. }
  5294. }
  5295. /***/ }),
  5296. /***/ 4564:
  5297. /*!******************************************************!*\
  5298. !*** ./node_modules/swiper/core/loop/loopDestroy.js ***!
  5299. \******************************************************/
  5300. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  5301. __webpack_require__.r(__webpack_exports__);
  5302. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  5303. /* harmony export */ "default": () => (/* binding */ loopDestroy)
  5304. /* harmony export */ });
  5305. function loopDestroy() {
  5306. const swiper = this;
  5307. const {
  5308. $wrapperEl,
  5309. params,
  5310. slides
  5311. } = swiper;
  5312. $wrapperEl.children(`.${params.slideClass}.${params.slideDuplicateClass},.${params.slideClass}.${params.slideBlankClass}`).remove();
  5313. slides.removeAttr('data-swiper-slide-index');
  5314. }
  5315. /***/ }),
  5316. /***/ 492:
  5317. /*!**************************************************!*\
  5318. !*** ./node_modules/swiper/core/loop/loopFix.js ***!
  5319. \**************************************************/
  5320. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  5321. __webpack_require__.r(__webpack_exports__);
  5322. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  5323. /* harmony export */ "default": () => (/* binding */ loopFix)
  5324. /* harmony export */ });
  5325. function loopFix() {
  5326. const swiper = this;
  5327. swiper.emit('beforeLoopFix');
  5328. const {
  5329. activeIndex,
  5330. slides,
  5331. loopedSlides,
  5332. allowSlidePrev,
  5333. allowSlideNext,
  5334. snapGrid,
  5335. rtlTranslate: rtl
  5336. } = swiper;
  5337. let newIndex;
  5338. swiper.allowSlidePrev = true;
  5339. swiper.allowSlideNext = true;
  5340. const snapTranslate = -snapGrid[activeIndex];
  5341. const diff = snapTranslate - swiper.getTranslate(); // Fix For Negative Oversliding
  5342. if (activeIndex < loopedSlides) {
  5343. newIndex = slides.length - loopedSlides * 3 + activeIndex;
  5344. newIndex += loopedSlides;
  5345. const slideChanged = swiper.slideTo(newIndex, 0, false, true);
  5346. if (slideChanged && diff !== 0) {
  5347. swiper.setTranslate((rtl ? -swiper.translate : swiper.translate) - diff);
  5348. }
  5349. } else if (activeIndex >= slides.length - loopedSlides) {
  5350. // Fix For Positive Oversliding
  5351. newIndex = -slides.length + activeIndex + loopedSlides;
  5352. newIndex += loopedSlides;
  5353. const slideChanged = swiper.slideTo(newIndex, 0, false, true);
  5354. if (slideChanged && diff !== 0) {
  5355. swiper.setTranslate((rtl ? -swiper.translate : swiper.translate) - diff);
  5356. }
  5357. }
  5358. swiper.allowSlidePrev = allowSlidePrev;
  5359. swiper.allowSlideNext = allowSlideNext;
  5360. swiper.emit('loopFix');
  5361. }
  5362. /***/ }),
  5363. /***/ 8220:
  5364. /*!********************************************************!*\
  5365. !*** ./node_modules/swiper/core/moduleExtendParams.js ***!
  5366. \********************************************************/
  5367. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  5368. __webpack_require__.r(__webpack_exports__);
  5369. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  5370. /* harmony export */ "default": () => (/* binding */ moduleExtendParams)
  5371. /* harmony export */ });
  5372. /* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../shared/utils.js */ 3809);
  5373. function moduleExtendParams(params, allModulesParams) {
  5374. return function extendParams(obj = {}) {
  5375. const moduleParamName = Object.keys(obj)[0];
  5376. const moduleParams = obj[moduleParamName];
  5377. if (typeof moduleParams !== 'object' || moduleParams === null) {
  5378. (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.extend)(allModulesParams, obj);
  5379. return;
  5380. }
  5381. if (['navigation', 'pagination', 'scrollbar'].indexOf(moduleParamName) >= 0 && params[moduleParamName] === true) {
  5382. params[moduleParamName] = {
  5383. auto: true
  5384. };
  5385. }
  5386. if (!(moduleParamName in params && 'enabled' in moduleParams)) {
  5387. (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.extend)(allModulesParams, obj);
  5388. return;
  5389. }
  5390. if (params[moduleParamName] === true) {
  5391. params[moduleParamName] = {
  5392. enabled: true
  5393. };
  5394. }
  5395. if (typeof params[moduleParamName] === 'object' && !('enabled' in params[moduleParamName])) {
  5396. params[moduleParamName].enabled = true;
  5397. }
  5398. if (!params[moduleParamName]) params[moduleParamName] = {
  5399. enabled: false
  5400. };
  5401. (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.extend)(allModulesParams, obj);
  5402. };
  5403. }
  5404. /***/ }),
  5405. /***/ 8833:
  5406. /*!***************************************************************!*\
  5407. !*** ./node_modules/swiper/core/modules/observer/observer.js ***!
  5408. \***************************************************************/
  5409. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  5410. __webpack_require__.r(__webpack_exports__);
  5411. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  5412. /* harmony export */ "default": () => (/* binding */ Observer)
  5413. /* harmony export */ });
  5414. /* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ 2864);
  5415. function Observer({
  5416. swiper,
  5417. extendParams,
  5418. on,
  5419. emit
  5420. }) {
  5421. const observers = [];
  5422. const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
  5423. const attach = (target, options = {}) => {
  5424. const ObserverFunc = window.MutationObserver || window.WebkitMutationObserver;
  5425. const observer = new ObserverFunc(mutations => {
  5426. // The observerUpdate event should only be triggered
  5427. // once despite the number of mutations. Additional
  5428. // triggers are redundant and are very costly
  5429. if (mutations.length === 1) {
  5430. emit('observerUpdate', mutations[0]);
  5431. return;
  5432. }
  5433. const observerUpdate = function observerUpdate() {
  5434. emit('observerUpdate', mutations[0]);
  5435. };
  5436. if (window.requestAnimationFrame) {
  5437. window.requestAnimationFrame(observerUpdate);
  5438. } else {
  5439. window.setTimeout(observerUpdate, 0);
  5440. }
  5441. });
  5442. observer.observe(target, {
  5443. attributes: typeof options.attributes === 'undefined' ? true : options.attributes,
  5444. childList: typeof options.childList === 'undefined' ? true : options.childList,
  5445. characterData: typeof options.characterData === 'undefined' ? true : options.characterData
  5446. });
  5447. observers.push(observer);
  5448. };
  5449. const init = () => {
  5450. if (!swiper.params.observer) return;
  5451. if (swiper.params.observeParents) {
  5452. const containerParents = swiper.$el.parents();
  5453. for (let i = 0; i < containerParents.length; i += 1) {
  5454. attach(containerParents[i]);
  5455. }
  5456. } // Observe container
  5457. attach(swiper.$el[0], {
  5458. childList: swiper.params.observeSlideChildren
  5459. }); // Observe wrapper
  5460. attach(swiper.$wrapperEl[0], {
  5461. attributes: false
  5462. });
  5463. };
  5464. const destroy = () => {
  5465. observers.forEach(observer => {
  5466. observer.disconnect();
  5467. });
  5468. observers.splice(0, observers.length);
  5469. };
  5470. extendParams({
  5471. observer: false,
  5472. observeParents: false,
  5473. observeSlideChildren: false
  5474. });
  5475. on('init', init);
  5476. on('destroy', destroy);
  5477. }
  5478. /***/ }),
  5479. /***/ 6526:
  5480. /*!***********************************************************!*\
  5481. !*** ./node_modules/swiper/core/modules/resize/resize.js ***!
  5482. \***********************************************************/
  5483. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  5484. __webpack_require__.r(__webpack_exports__);
  5485. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  5486. /* harmony export */ "default": () => (/* binding */ Resize)
  5487. /* harmony export */ });
  5488. /* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ 2864);
  5489. function Resize({
  5490. swiper,
  5491. on,
  5492. emit
  5493. }) {
  5494. const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
  5495. let observer = null;
  5496. let animationFrame = null;
  5497. const resizeHandler = () => {
  5498. if (!swiper || swiper.destroyed || !swiper.initialized) return;
  5499. emit('beforeResize');
  5500. emit('resize');
  5501. };
  5502. const createObserver = () => {
  5503. if (!swiper || swiper.destroyed || !swiper.initialized) return;
  5504. observer = new ResizeObserver(entries => {
  5505. animationFrame = window.requestAnimationFrame(() => {
  5506. const {
  5507. width,
  5508. height
  5509. } = swiper;
  5510. let newWidth = width;
  5511. let newHeight = height;
  5512. entries.forEach(({
  5513. contentBoxSize,
  5514. contentRect,
  5515. target
  5516. }) => {
  5517. if (target && target !== swiper.el) return;
  5518. newWidth = contentRect ? contentRect.width : (contentBoxSize[0] || contentBoxSize).inlineSize;
  5519. newHeight = contentRect ? contentRect.height : (contentBoxSize[0] || contentBoxSize).blockSize;
  5520. });
  5521. if (newWidth !== width || newHeight !== height) {
  5522. resizeHandler();
  5523. }
  5524. });
  5525. });
  5526. observer.observe(swiper.el);
  5527. };
  5528. const removeObserver = () => {
  5529. if (animationFrame) {
  5530. window.cancelAnimationFrame(animationFrame);
  5531. }
  5532. if (observer && observer.unobserve && swiper.el) {
  5533. observer.unobserve(swiper.el);
  5534. observer = null;
  5535. }
  5536. };
  5537. const orientationChangeHandler = () => {
  5538. if (!swiper || swiper.destroyed || !swiper.initialized) return;
  5539. emit('orientationchange');
  5540. };
  5541. on('init', () => {
  5542. if (swiper.params.resizeObserver && typeof window.ResizeObserver !== 'undefined') {
  5543. createObserver();
  5544. return;
  5545. }
  5546. window.addEventListener('resize', resizeHandler);
  5547. window.addEventListener('orientationchange', orientationChangeHandler);
  5548. });
  5549. on('destroy', () => {
  5550. removeObserver();
  5551. window.removeEventListener('resize', resizeHandler);
  5552. window.removeEventListener('orientationchange', orientationChangeHandler);
  5553. });
  5554. }
  5555. /***/ }),
  5556. /***/ 7190:
  5557. /*!*************************************************!*\
  5558. !*** ./node_modules/swiper/core/slide/index.js ***!
  5559. \*************************************************/
  5560. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  5561. __webpack_require__.r(__webpack_exports__);
  5562. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  5563. /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
  5564. /* harmony export */ });
  5565. /* harmony import */ var _slideTo_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./slideTo.js */ 7814);
  5566. /* harmony import */ var _slideToLoop_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./slideToLoop.js */ 5642);
  5567. /* harmony import */ var _slideNext_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./slideNext.js */ 2063);
  5568. /* harmony import */ var _slidePrev_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./slidePrev.js */ 3866);
  5569. /* harmony import */ var _slideReset_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./slideReset.js */ 6656);
  5570. /* harmony import */ var _slideToClosest_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./slideToClosest.js */ 4397);
  5571. /* harmony import */ var _slideToClickedSlide_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./slideToClickedSlide.js */ 6854);
  5572. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
  5573. slideTo: _slideTo_js__WEBPACK_IMPORTED_MODULE_0__["default"],
  5574. slideToLoop: _slideToLoop_js__WEBPACK_IMPORTED_MODULE_1__["default"],
  5575. slideNext: _slideNext_js__WEBPACK_IMPORTED_MODULE_2__["default"],
  5576. slidePrev: _slidePrev_js__WEBPACK_IMPORTED_MODULE_3__["default"],
  5577. slideReset: _slideReset_js__WEBPACK_IMPORTED_MODULE_4__["default"],
  5578. slideToClosest: _slideToClosest_js__WEBPACK_IMPORTED_MODULE_5__["default"],
  5579. slideToClickedSlide: _slideToClickedSlide_js__WEBPACK_IMPORTED_MODULE_6__["default"]
  5580. });
  5581. /***/ }),
  5582. /***/ 2063:
  5583. /*!*****************************************************!*\
  5584. !*** ./node_modules/swiper/core/slide/slideNext.js ***!
  5585. \*****************************************************/
  5586. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  5587. __webpack_require__.r(__webpack_exports__);
  5588. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  5589. /* harmony export */ "default": () => (/* binding */ slideNext)
  5590. /* harmony export */ });
  5591. /* eslint no-unused-vars: "off" */
  5592. function slideNext(speed = this.params.speed, runCallbacks = true, internal) {
  5593. const swiper = this;
  5594. const {
  5595. animating,
  5596. enabled,
  5597. params
  5598. } = swiper;
  5599. if (!enabled) return swiper;
  5600. let perGroup = params.slidesPerGroup;
  5601. if (params.slidesPerView === 'auto' && params.slidesPerGroup === 1 && params.slidesPerGroupAuto) {
  5602. perGroup = Math.max(swiper.slidesPerViewDynamic('current', true), 1);
  5603. }
  5604. const increment = swiper.activeIndex < params.slidesPerGroupSkip ? 1 : perGroup;
  5605. if (params.loop) {
  5606. if (animating && params.loopPreventsSlide) return false;
  5607. swiper.loopFix(); // eslint-disable-next-line
  5608. swiper._clientLeft = swiper.$wrapperEl[0].clientLeft;
  5609. }
  5610. if (params.rewind && swiper.isEnd) {
  5611. return swiper.slideTo(0, speed, runCallbacks, internal);
  5612. }
  5613. return swiper.slideTo(swiper.activeIndex + increment, speed, runCallbacks, internal);
  5614. }
  5615. /***/ }),
  5616. /***/ 3866:
  5617. /*!*****************************************************!*\
  5618. !*** ./node_modules/swiper/core/slide/slidePrev.js ***!
  5619. \*****************************************************/
  5620. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  5621. __webpack_require__.r(__webpack_exports__);
  5622. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  5623. /* harmony export */ "default": () => (/* binding */ slidePrev)
  5624. /* harmony export */ });
  5625. /* eslint no-unused-vars: "off" */
  5626. function slidePrev(speed = this.params.speed, runCallbacks = true, internal) {
  5627. const swiper = this;
  5628. const {
  5629. params,
  5630. animating,
  5631. snapGrid,
  5632. slidesGrid,
  5633. rtlTranslate,
  5634. enabled
  5635. } = swiper;
  5636. if (!enabled) return swiper;
  5637. if (params.loop) {
  5638. if (animating && params.loopPreventsSlide) return false;
  5639. swiper.loopFix(); // eslint-disable-next-line
  5640. swiper._clientLeft = swiper.$wrapperEl[0].clientLeft;
  5641. }
  5642. const translate = rtlTranslate ? swiper.translate : -swiper.translate;
  5643. function normalize(val) {
  5644. if (val < 0) return -Math.floor(Math.abs(val));
  5645. return Math.floor(val);
  5646. }
  5647. const normalizedTranslate = normalize(translate);
  5648. const normalizedSnapGrid = snapGrid.map(val => normalize(val));
  5649. let prevSnap = snapGrid[normalizedSnapGrid.indexOf(normalizedTranslate) - 1];
  5650. if (typeof prevSnap === 'undefined' && params.cssMode) {
  5651. let prevSnapIndex;
  5652. snapGrid.forEach((snap, snapIndex) => {
  5653. if (normalizedTranslate >= snap) {
  5654. // prevSnap = snap;
  5655. prevSnapIndex = snapIndex;
  5656. }
  5657. });
  5658. if (typeof prevSnapIndex !== 'undefined') {
  5659. prevSnap = snapGrid[prevSnapIndex > 0 ? prevSnapIndex - 1 : prevSnapIndex];
  5660. }
  5661. }
  5662. let prevIndex = 0;
  5663. if (typeof prevSnap !== 'undefined') {
  5664. prevIndex = slidesGrid.indexOf(prevSnap);
  5665. if (prevIndex < 0) prevIndex = swiper.activeIndex - 1;
  5666. if (params.slidesPerView === 'auto' && params.slidesPerGroup === 1 && params.slidesPerGroupAuto) {
  5667. prevIndex = prevIndex - swiper.slidesPerViewDynamic('previous', true) + 1;
  5668. prevIndex = Math.max(prevIndex, 0);
  5669. }
  5670. }
  5671. if (params.rewind && swiper.isBeginning) {
  5672. const lastIndex = swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual ? swiper.virtual.slides.length - 1 : swiper.slides.length - 1;
  5673. return swiper.slideTo(lastIndex, speed, runCallbacks, internal);
  5674. }
  5675. return swiper.slideTo(prevIndex, speed, runCallbacks, internal);
  5676. }
  5677. /***/ }),
  5678. /***/ 6656:
  5679. /*!******************************************************!*\
  5680. !*** ./node_modules/swiper/core/slide/slideReset.js ***!
  5681. \******************************************************/
  5682. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  5683. __webpack_require__.r(__webpack_exports__);
  5684. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  5685. /* harmony export */ "default": () => (/* binding */ slideReset)
  5686. /* harmony export */ });
  5687. /* eslint no-unused-vars: "off" */
  5688. function slideReset(speed = this.params.speed, runCallbacks = true, internal) {
  5689. const swiper = this;
  5690. return swiper.slideTo(swiper.activeIndex, speed, runCallbacks, internal);
  5691. }
  5692. /***/ }),
  5693. /***/ 7814:
  5694. /*!***************************************************!*\
  5695. !*** ./node_modules/swiper/core/slide/slideTo.js ***!
  5696. \***************************************************/
  5697. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  5698. __webpack_require__.r(__webpack_exports__);
  5699. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  5700. /* harmony export */ "default": () => (/* binding */ slideTo)
  5701. /* harmony export */ });
  5702. /* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/utils.js */ 3809);
  5703. function slideTo(index = 0, speed = this.params.speed, runCallbacks = true, internal, initial) {
  5704. if (typeof index !== 'number' && typeof index !== 'string') {
  5705. throw new Error(`The 'index' argument cannot have type other than 'number' or 'string'. [${typeof index}] given.`);
  5706. }
  5707. if (typeof index === 'string') {
  5708. /**
  5709. * The `index` argument converted from `string` to `number`.
  5710. * @type {number}
  5711. */
  5712. const indexAsNumber = parseInt(index, 10);
  5713. /**
  5714. * Determines whether the `index` argument is a valid `number`
  5715. * after being converted from the `string` type.
  5716. * @type {boolean}
  5717. */
  5718. const isValidNumber = isFinite(indexAsNumber);
  5719. if (!isValidNumber) {
  5720. throw new Error(`The passed-in 'index' (string) couldn't be converted to 'number'. [${index}] given.`);
  5721. } // Knowing that the converted `index` is a valid number,
  5722. // we can update the original argument's value.
  5723. index = indexAsNumber;
  5724. }
  5725. const swiper = this;
  5726. let slideIndex = index;
  5727. if (slideIndex < 0) slideIndex = 0;
  5728. const {
  5729. params,
  5730. snapGrid,
  5731. slidesGrid,
  5732. previousIndex,
  5733. activeIndex,
  5734. rtlTranslate: rtl,
  5735. wrapperEl,
  5736. enabled
  5737. } = swiper;
  5738. if (swiper.animating && params.preventInteractionOnTransition || !enabled && !internal && !initial) {
  5739. return false;
  5740. }
  5741. const skip = Math.min(swiper.params.slidesPerGroupSkip, slideIndex);
  5742. let snapIndex = skip + Math.floor((slideIndex - skip) / swiper.params.slidesPerGroup);
  5743. if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1;
  5744. const translate = -snapGrid[snapIndex]; // Normalize slideIndex
  5745. if (params.normalizeSlideIndex) {
  5746. for (let i = 0; i < slidesGrid.length; i += 1) {
  5747. const normalizedTranslate = -Math.floor(translate * 100);
  5748. const normalizedGrid = Math.floor(slidesGrid[i] * 100);
  5749. const normalizedGridNext = Math.floor(slidesGrid[i + 1] * 100);
  5750. if (typeof slidesGrid[i + 1] !== 'undefined') {
  5751. if (normalizedTranslate >= normalizedGrid && normalizedTranslate < normalizedGridNext - (normalizedGridNext - normalizedGrid) / 2) {
  5752. slideIndex = i;
  5753. } else if (normalizedTranslate >= normalizedGrid && normalizedTranslate < normalizedGridNext) {
  5754. slideIndex = i + 1;
  5755. }
  5756. } else if (normalizedTranslate >= normalizedGrid) {
  5757. slideIndex = i;
  5758. }
  5759. }
  5760. } // Directions locks
  5761. if (swiper.initialized && slideIndex !== activeIndex) {
  5762. if (!swiper.allowSlideNext && translate < swiper.translate && translate < swiper.minTranslate()) {
  5763. return false;
  5764. }
  5765. if (!swiper.allowSlidePrev && translate > swiper.translate && translate > swiper.maxTranslate()) {
  5766. if ((activeIndex || 0) !== slideIndex) return false;
  5767. }
  5768. }
  5769. if (slideIndex !== (previousIndex || 0) && runCallbacks) {
  5770. swiper.emit('beforeSlideChangeStart');
  5771. } // Update progress
  5772. swiper.updateProgress(translate);
  5773. let direction;
  5774. if (slideIndex > activeIndex) direction = 'next';else if (slideIndex < activeIndex) direction = 'prev';else direction = 'reset'; // Update Index
  5775. if (rtl && -translate === swiper.translate || !rtl && translate === swiper.translate) {
  5776. swiper.updateActiveIndex(slideIndex); // Update Height
  5777. if (params.autoHeight) {
  5778. swiper.updateAutoHeight();
  5779. }
  5780. swiper.updateSlidesClasses();
  5781. if (params.effect !== 'slide') {
  5782. swiper.setTranslate(translate);
  5783. }
  5784. if (direction !== 'reset') {
  5785. swiper.transitionStart(runCallbacks, direction);
  5786. swiper.transitionEnd(runCallbacks, direction);
  5787. }
  5788. return false;
  5789. }
  5790. if (params.cssMode) {
  5791. const isH = swiper.isHorizontal();
  5792. const t = rtl ? translate : -translate;
  5793. if (speed === 0) {
  5794. const isVirtual = swiper.virtual && swiper.params.virtual.enabled;
  5795. if (isVirtual) {
  5796. swiper.wrapperEl.style.scrollSnapType = 'none';
  5797. swiper._immediateVirtual = true;
  5798. }
  5799. wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = t;
  5800. if (isVirtual) {
  5801. requestAnimationFrame(() => {
  5802. swiper.wrapperEl.style.scrollSnapType = '';
  5803. swiper._swiperImmediateVirtual = false;
  5804. });
  5805. }
  5806. } else {
  5807. if (!swiper.support.smoothScroll) {
  5808. (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.animateCSSModeScroll)({
  5809. swiper,
  5810. targetPosition: t,
  5811. side: isH ? 'left' : 'top'
  5812. });
  5813. return true;
  5814. }
  5815. wrapperEl.scrollTo({
  5816. [isH ? 'left' : 'top']: t,
  5817. behavior: 'smooth'
  5818. });
  5819. }
  5820. return true;
  5821. }
  5822. swiper.setTransition(speed);
  5823. swiper.setTranslate(translate);
  5824. swiper.updateActiveIndex(slideIndex);
  5825. swiper.updateSlidesClasses();
  5826. swiper.emit('beforeTransitionStart', speed, internal);
  5827. swiper.transitionStart(runCallbacks, direction);
  5828. if (speed === 0) {
  5829. swiper.transitionEnd(runCallbacks, direction);
  5830. } else if (!swiper.animating) {
  5831. swiper.animating = true;
  5832. if (!swiper.onSlideToWrapperTransitionEnd) {
  5833. swiper.onSlideToWrapperTransitionEnd = function transitionEnd(e) {
  5834. if (!swiper || swiper.destroyed) return;
  5835. if (e.target !== this) return;
  5836. swiper.$wrapperEl[0].removeEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd);
  5837. swiper.$wrapperEl[0].removeEventListener('webkitTransitionEnd', swiper.onSlideToWrapperTransitionEnd);
  5838. swiper.onSlideToWrapperTransitionEnd = null;
  5839. delete swiper.onSlideToWrapperTransitionEnd;
  5840. swiper.transitionEnd(runCallbacks, direction);
  5841. };
  5842. }
  5843. swiper.$wrapperEl[0].addEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd);
  5844. swiper.$wrapperEl[0].addEventListener('webkitTransitionEnd', swiper.onSlideToWrapperTransitionEnd);
  5845. }
  5846. return true;
  5847. }
  5848. /***/ }),
  5849. /***/ 6854:
  5850. /*!***************************************************************!*\
  5851. !*** ./node_modules/swiper/core/slide/slideToClickedSlide.js ***!
  5852. \***************************************************************/
  5853. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  5854. __webpack_require__.r(__webpack_exports__);
  5855. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  5856. /* harmony export */ "default": () => (/* binding */ slideToClickedSlide)
  5857. /* harmony export */ });
  5858. /* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/dom.js */ 6007);
  5859. /* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/utils.js */ 3809);
  5860. function slideToClickedSlide() {
  5861. const swiper = this;
  5862. const {
  5863. params,
  5864. $wrapperEl
  5865. } = swiper;
  5866. const slidesPerView = params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : params.slidesPerView;
  5867. let slideToIndex = swiper.clickedIndex;
  5868. let realIndex;
  5869. if (params.loop) {
  5870. if (swiper.animating) return;
  5871. realIndex = parseInt((0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_0__["default"])(swiper.clickedSlide).attr('data-swiper-slide-index'), 10);
  5872. if (params.centeredSlides) {
  5873. if (slideToIndex < swiper.loopedSlides - slidesPerView / 2 || slideToIndex > swiper.slides.length - swiper.loopedSlides + slidesPerView / 2) {
  5874. swiper.loopFix();
  5875. slideToIndex = $wrapperEl.children(`.${params.slideClass}[data-swiper-slide-index="${realIndex}"]:not(.${params.slideDuplicateClass})`).eq(0).index();
  5876. (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.nextTick)(() => {
  5877. swiper.slideTo(slideToIndex);
  5878. });
  5879. } else {
  5880. swiper.slideTo(slideToIndex);
  5881. }
  5882. } else if (slideToIndex > swiper.slides.length - slidesPerView) {
  5883. swiper.loopFix();
  5884. slideToIndex = $wrapperEl.children(`.${params.slideClass}[data-swiper-slide-index="${realIndex}"]:not(.${params.slideDuplicateClass})`).eq(0).index();
  5885. (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.nextTick)(() => {
  5886. swiper.slideTo(slideToIndex);
  5887. });
  5888. } else {
  5889. swiper.slideTo(slideToIndex);
  5890. }
  5891. } else {
  5892. swiper.slideTo(slideToIndex);
  5893. }
  5894. }
  5895. /***/ }),
  5896. /***/ 4397:
  5897. /*!**********************************************************!*\
  5898. !*** ./node_modules/swiper/core/slide/slideToClosest.js ***!
  5899. \**********************************************************/
  5900. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  5901. __webpack_require__.r(__webpack_exports__);
  5902. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  5903. /* harmony export */ "default": () => (/* binding */ slideToClosest)
  5904. /* harmony export */ });
  5905. /* eslint no-unused-vars: "off" */
  5906. function slideToClosest(speed = this.params.speed, runCallbacks = true, internal, threshold = 0.5) {
  5907. const swiper = this;
  5908. let index = swiper.activeIndex;
  5909. const skip = Math.min(swiper.params.slidesPerGroupSkip, index);
  5910. const snapIndex = skip + Math.floor((index - skip) / swiper.params.slidesPerGroup);
  5911. const translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;
  5912. if (translate >= swiper.snapGrid[snapIndex]) {
  5913. // The current translate is on or after the current snap index, so the choice
  5914. // is between the current index and the one after it.
  5915. const currentSnap = swiper.snapGrid[snapIndex];
  5916. const nextSnap = swiper.snapGrid[snapIndex + 1];
  5917. if (translate - currentSnap > (nextSnap - currentSnap) * threshold) {
  5918. index += swiper.params.slidesPerGroup;
  5919. }
  5920. } else {
  5921. // The current translate is before the current snap index, so the choice
  5922. // is between the current index and the one before it.
  5923. const prevSnap = swiper.snapGrid[snapIndex - 1];
  5924. const currentSnap = swiper.snapGrid[snapIndex];
  5925. if (translate - prevSnap <= (currentSnap - prevSnap) * threshold) {
  5926. index -= swiper.params.slidesPerGroup;
  5927. }
  5928. }
  5929. index = Math.max(index, 0);
  5930. index = Math.min(index, swiper.slidesGrid.length - 1);
  5931. return swiper.slideTo(index, speed, runCallbacks, internal);
  5932. }
  5933. /***/ }),
  5934. /***/ 5642:
  5935. /*!*******************************************************!*\
  5936. !*** ./node_modules/swiper/core/slide/slideToLoop.js ***!
  5937. \*******************************************************/
  5938. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  5939. __webpack_require__.r(__webpack_exports__);
  5940. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  5941. /* harmony export */ "default": () => (/* binding */ slideToLoop)
  5942. /* harmony export */ });
  5943. function slideToLoop(index = 0, speed = this.params.speed, runCallbacks = true, internal) {
  5944. if (typeof index === 'string') {
  5945. /**
  5946. * The `index` argument converted from `string` to `number`.
  5947. * @type {number}
  5948. */
  5949. const indexAsNumber = parseInt(index, 10);
  5950. /**
  5951. * Determines whether the `index` argument is a valid `number`
  5952. * after being converted from the `string` type.
  5953. * @type {boolean}
  5954. */
  5955. const isValidNumber = isFinite(indexAsNumber);
  5956. if (!isValidNumber) {
  5957. throw new Error(`The passed-in 'index' (string) couldn't be converted to 'number'. [${index}] given.`);
  5958. } // Knowing that the converted `index` is a valid number,
  5959. // we can update the original argument's value.
  5960. index = indexAsNumber;
  5961. }
  5962. const swiper = this;
  5963. let newIndex = index;
  5964. if (swiper.params.loop) {
  5965. newIndex += swiper.loopedSlides;
  5966. }
  5967. return swiper.slideTo(newIndex, speed, runCallbacks, internal);
  5968. }
  5969. /***/ }),
  5970. /***/ 5026:
  5971. /*!******************************************************!*\
  5972. !*** ./node_modules/swiper/core/transition/index.js ***!
  5973. \******************************************************/
  5974. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  5975. __webpack_require__.r(__webpack_exports__);
  5976. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  5977. /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
  5978. /* harmony export */ });
  5979. /* harmony import */ var _setTransition_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./setTransition.js */ 7000);
  5980. /* harmony import */ var _transitionStart_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./transitionStart.js */ 1855);
  5981. /* harmony import */ var _transitionEnd_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./transitionEnd.js */ 6982);
  5982. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
  5983. setTransition: _setTransition_js__WEBPACK_IMPORTED_MODULE_0__["default"],
  5984. transitionStart: _transitionStart_js__WEBPACK_IMPORTED_MODULE_1__["default"],
  5985. transitionEnd: _transitionEnd_js__WEBPACK_IMPORTED_MODULE_2__["default"]
  5986. });
  5987. /***/ }),
  5988. /***/ 7000:
  5989. /*!**************************************************************!*\
  5990. !*** ./node_modules/swiper/core/transition/setTransition.js ***!
  5991. \**************************************************************/
  5992. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  5993. __webpack_require__.r(__webpack_exports__);
  5994. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  5995. /* harmony export */ "default": () => (/* binding */ setTransition)
  5996. /* harmony export */ });
  5997. function setTransition(duration, byController) {
  5998. const swiper = this;
  5999. if (!swiper.params.cssMode) {
  6000. swiper.$wrapperEl.transition(duration);
  6001. }
  6002. swiper.emit('setTransition', duration, byController);
  6003. }
  6004. /***/ }),
  6005. /***/ 5904:
  6006. /*!***************************************************************!*\
  6007. !*** ./node_modules/swiper/core/transition/transitionEmit.js ***!
  6008. \***************************************************************/
  6009. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  6010. __webpack_require__.r(__webpack_exports__);
  6011. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  6012. /* harmony export */ "default": () => (/* binding */ transitionEmit)
  6013. /* harmony export */ });
  6014. function transitionEmit({
  6015. swiper,
  6016. runCallbacks,
  6017. direction,
  6018. step
  6019. }) {
  6020. const {
  6021. activeIndex,
  6022. previousIndex
  6023. } = swiper;
  6024. let dir = direction;
  6025. if (!dir) {
  6026. if (activeIndex > previousIndex) dir = 'next';else if (activeIndex < previousIndex) dir = 'prev';else dir = 'reset';
  6027. }
  6028. swiper.emit(`transition${step}`);
  6029. if (runCallbacks && activeIndex !== previousIndex) {
  6030. if (dir === 'reset') {
  6031. swiper.emit(`slideResetTransition${step}`);
  6032. return;
  6033. }
  6034. swiper.emit(`slideChangeTransition${step}`);
  6035. if (dir === 'next') {
  6036. swiper.emit(`slideNextTransition${step}`);
  6037. } else {
  6038. swiper.emit(`slidePrevTransition${step}`);
  6039. }
  6040. }
  6041. }
  6042. /***/ }),
  6043. /***/ 6982:
  6044. /*!**************************************************************!*\
  6045. !*** ./node_modules/swiper/core/transition/transitionEnd.js ***!
  6046. \**************************************************************/
  6047. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  6048. __webpack_require__.r(__webpack_exports__);
  6049. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  6050. /* harmony export */ "default": () => (/* binding */ transitionEnd)
  6051. /* harmony export */ });
  6052. /* harmony import */ var _transitionEmit_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./transitionEmit.js */ 5904);
  6053. function transitionEnd(runCallbacks = true, direction) {
  6054. const swiper = this;
  6055. const {
  6056. params
  6057. } = swiper;
  6058. swiper.animating = false;
  6059. if (params.cssMode) return;
  6060. swiper.setTransition(0);
  6061. (0,_transitionEmit_js__WEBPACK_IMPORTED_MODULE_0__["default"])({
  6062. swiper,
  6063. runCallbacks,
  6064. direction,
  6065. step: 'End'
  6066. });
  6067. }
  6068. /***/ }),
  6069. /***/ 1855:
  6070. /*!****************************************************************!*\
  6071. !*** ./node_modules/swiper/core/transition/transitionStart.js ***!
  6072. \****************************************************************/
  6073. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  6074. __webpack_require__.r(__webpack_exports__);
  6075. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  6076. /* harmony export */ "default": () => (/* binding */ transitionStart)
  6077. /* harmony export */ });
  6078. /* harmony import */ var _transitionEmit_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./transitionEmit.js */ 5904);
  6079. function transitionStart(runCallbacks = true, direction) {
  6080. const swiper = this;
  6081. const {
  6082. params
  6083. } = swiper;
  6084. if (params.cssMode) return;
  6085. if (params.autoHeight) {
  6086. swiper.updateAutoHeight();
  6087. }
  6088. (0,_transitionEmit_js__WEBPACK_IMPORTED_MODULE_0__["default"])({
  6089. swiper,
  6090. runCallbacks,
  6091. direction,
  6092. step: 'Start'
  6093. });
  6094. }
  6095. /***/ }),
  6096. /***/ 286:
  6097. /*!************************************************************!*\
  6098. !*** ./node_modules/swiper/core/translate/getTranslate.js ***!
  6099. \************************************************************/
  6100. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  6101. __webpack_require__.r(__webpack_exports__);
  6102. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  6103. /* harmony export */ "default": () => (/* binding */ getSwiperTranslate)
  6104. /* harmony export */ });
  6105. /* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/utils.js */ 3809);
  6106. function getSwiperTranslate(axis = this.isHorizontal() ? 'x' : 'y') {
  6107. const swiper = this;
  6108. const {
  6109. params,
  6110. rtlTranslate: rtl,
  6111. translate,
  6112. $wrapperEl
  6113. } = swiper;
  6114. if (params.virtualTranslate) {
  6115. return rtl ? -translate : translate;
  6116. }
  6117. if (params.cssMode) {
  6118. return translate;
  6119. }
  6120. let currentTranslate = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.getTranslate)($wrapperEl[0], axis);
  6121. if (rtl) currentTranslate = -currentTranslate;
  6122. return currentTranslate || 0;
  6123. }
  6124. /***/ }),
  6125. /***/ 444:
  6126. /*!*****************************************************!*\
  6127. !*** ./node_modules/swiper/core/translate/index.js ***!
  6128. \*****************************************************/
  6129. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  6130. __webpack_require__.r(__webpack_exports__);
  6131. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  6132. /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
  6133. /* harmony export */ });
  6134. /* harmony import */ var _getTranslate_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getTranslate.js */ 286);
  6135. /* harmony import */ var _setTranslate_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./setTranslate.js */ 5179);
  6136. /* harmony import */ var _minTranslate_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./minTranslate.js */ 2889);
  6137. /* harmony import */ var _maxTranslate_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./maxTranslate.js */ 1833);
  6138. /* harmony import */ var _translateTo_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./translateTo.js */ 2953);
  6139. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
  6140. getTranslate: _getTranslate_js__WEBPACK_IMPORTED_MODULE_0__["default"],
  6141. setTranslate: _setTranslate_js__WEBPACK_IMPORTED_MODULE_1__["default"],
  6142. minTranslate: _minTranslate_js__WEBPACK_IMPORTED_MODULE_2__["default"],
  6143. maxTranslate: _maxTranslate_js__WEBPACK_IMPORTED_MODULE_3__["default"],
  6144. translateTo: _translateTo_js__WEBPACK_IMPORTED_MODULE_4__["default"]
  6145. });
  6146. /***/ }),
  6147. /***/ 1833:
  6148. /*!************************************************************!*\
  6149. !*** ./node_modules/swiper/core/translate/maxTranslate.js ***!
  6150. \************************************************************/
  6151. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  6152. __webpack_require__.r(__webpack_exports__);
  6153. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  6154. /* harmony export */ "default": () => (/* binding */ maxTranslate)
  6155. /* harmony export */ });
  6156. function maxTranslate() {
  6157. return -this.snapGrid[this.snapGrid.length - 1];
  6158. }
  6159. /***/ }),
  6160. /***/ 2889:
  6161. /*!************************************************************!*\
  6162. !*** ./node_modules/swiper/core/translate/minTranslate.js ***!
  6163. \************************************************************/
  6164. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  6165. __webpack_require__.r(__webpack_exports__);
  6166. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  6167. /* harmony export */ "default": () => (/* binding */ minTranslate)
  6168. /* harmony export */ });
  6169. function minTranslate() {
  6170. return -this.snapGrid[0];
  6171. }
  6172. /***/ }),
  6173. /***/ 5179:
  6174. /*!************************************************************!*\
  6175. !*** ./node_modules/swiper/core/translate/setTranslate.js ***!
  6176. \************************************************************/
  6177. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  6178. __webpack_require__.r(__webpack_exports__);
  6179. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  6180. /* harmony export */ "default": () => (/* binding */ setTranslate)
  6181. /* harmony export */ });
  6182. function setTranslate(translate, byController) {
  6183. const swiper = this;
  6184. const {
  6185. rtlTranslate: rtl,
  6186. params,
  6187. $wrapperEl,
  6188. wrapperEl,
  6189. progress
  6190. } = swiper;
  6191. let x = 0;
  6192. let y = 0;
  6193. const z = 0;
  6194. if (swiper.isHorizontal()) {
  6195. x = rtl ? -translate : translate;
  6196. } else {
  6197. y = translate;
  6198. }
  6199. if (params.roundLengths) {
  6200. x = Math.floor(x);
  6201. y = Math.floor(y);
  6202. }
  6203. if (params.cssMode) {
  6204. wrapperEl[swiper.isHorizontal() ? 'scrollLeft' : 'scrollTop'] = swiper.isHorizontal() ? -x : -y;
  6205. } else if (!params.virtualTranslate) {
  6206. $wrapperEl.transform(`translate3d(${x}px, ${y}px, ${z}px)`);
  6207. }
  6208. swiper.previousTranslate = swiper.translate;
  6209. swiper.translate = swiper.isHorizontal() ? x : y; // Check if we need to update progress
  6210. let newProgress;
  6211. const translatesDiff = swiper.maxTranslate() - swiper.minTranslate();
  6212. if (translatesDiff === 0) {
  6213. newProgress = 0;
  6214. } else {
  6215. newProgress = (translate - swiper.minTranslate()) / translatesDiff;
  6216. }
  6217. if (newProgress !== progress) {
  6218. swiper.updateProgress(translate);
  6219. }
  6220. swiper.emit('setTranslate', swiper.translate, byController);
  6221. }
  6222. /***/ }),
  6223. /***/ 2953:
  6224. /*!***********************************************************!*\
  6225. !*** ./node_modules/swiper/core/translate/translateTo.js ***!
  6226. \***********************************************************/
  6227. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  6228. __webpack_require__.r(__webpack_exports__);
  6229. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  6230. /* harmony export */ "default": () => (/* binding */ translateTo)
  6231. /* harmony export */ });
  6232. /* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/utils.js */ 3809);
  6233. function translateTo(translate = 0, speed = this.params.speed, runCallbacks = true, translateBounds = true, internal) {
  6234. const swiper = this;
  6235. const {
  6236. params,
  6237. wrapperEl
  6238. } = swiper;
  6239. if (swiper.animating && params.preventInteractionOnTransition) {
  6240. return false;
  6241. }
  6242. const minTranslate = swiper.minTranslate();
  6243. const maxTranslate = swiper.maxTranslate();
  6244. let newTranslate;
  6245. if (translateBounds && translate > minTranslate) newTranslate = minTranslate;else if (translateBounds && translate < maxTranslate) newTranslate = maxTranslate;else newTranslate = translate; // Update progress
  6246. swiper.updateProgress(newTranslate);
  6247. if (params.cssMode) {
  6248. const isH = swiper.isHorizontal();
  6249. if (speed === 0) {
  6250. wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = -newTranslate;
  6251. } else {
  6252. if (!swiper.support.smoothScroll) {
  6253. (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.animateCSSModeScroll)({
  6254. swiper,
  6255. targetPosition: -newTranslate,
  6256. side: isH ? 'left' : 'top'
  6257. });
  6258. return true;
  6259. }
  6260. wrapperEl.scrollTo({
  6261. [isH ? 'left' : 'top']: -newTranslate,
  6262. behavior: 'smooth'
  6263. });
  6264. }
  6265. return true;
  6266. }
  6267. if (speed === 0) {
  6268. swiper.setTransition(0);
  6269. swiper.setTranslate(newTranslate);
  6270. if (runCallbacks) {
  6271. swiper.emit('beforeTransitionStart', speed, internal);
  6272. swiper.emit('transitionEnd');
  6273. }
  6274. } else {
  6275. swiper.setTransition(speed);
  6276. swiper.setTranslate(newTranslate);
  6277. if (runCallbacks) {
  6278. swiper.emit('beforeTransitionStart', speed, internal);
  6279. swiper.emit('transitionStart');
  6280. }
  6281. if (!swiper.animating) {
  6282. swiper.animating = true;
  6283. if (!swiper.onTranslateToWrapperTransitionEnd) {
  6284. swiper.onTranslateToWrapperTransitionEnd = function transitionEnd(e) {
  6285. if (!swiper || swiper.destroyed) return;
  6286. if (e.target !== this) return;
  6287. swiper.$wrapperEl[0].removeEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd);
  6288. swiper.$wrapperEl[0].removeEventListener('webkitTransitionEnd', swiper.onTranslateToWrapperTransitionEnd);
  6289. swiper.onTranslateToWrapperTransitionEnd = null;
  6290. delete swiper.onTranslateToWrapperTransitionEnd;
  6291. if (runCallbacks) {
  6292. swiper.emit('transitionEnd');
  6293. }
  6294. };
  6295. }
  6296. swiper.$wrapperEl[0].addEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd);
  6297. swiper.$wrapperEl[0].addEventListener('webkitTransitionEnd', swiper.onTranslateToWrapperTransitionEnd);
  6298. }
  6299. }
  6300. return true;
  6301. }
  6302. /***/ }),
  6303. /***/ 1009:
  6304. /*!**************************************************!*\
  6305. !*** ./node_modules/swiper/core/update/index.js ***!
  6306. \**************************************************/
  6307. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  6308. __webpack_require__.r(__webpack_exports__);
  6309. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  6310. /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
  6311. /* harmony export */ });
  6312. /* harmony import */ var _updateSize_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./updateSize.js */ 2114);
  6313. /* harmony import */ var _updateSlides_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./updateSlides.js */ 8109);
  6314. /* harmony import */ var _updateAutoHeight_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./updateAutoHeight.js */ 1757);
  6315. /* harmony import */ var _updateSlidesOffset_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./updateSlidesOffset.js */ 4129);
  6316. /* harmony import */ var _updateSlidesProgress_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./updateSlidesProgress.js */ 3625);
  6317. /* harmony import */ var _updateProgress_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./updateProgress.js */ 5005);
  6318. /* harmony import */ var _updateSlidesClasses_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./updateSlidesClasses.js */ 5431);
  6319. /* harmony import */ var _updateActiveIndex_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./updateActiveIndex.js */ 7271);
  6320. /* harmony import */ var _updateClickedSlide_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./updateClickedSlide.js */ 6387);
  6321. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
  6322. updateSize: _updateSize_js__WEBPACK_IMPORTED_MODULE_0__["default"],
  6323. updateSlides: _updateSlides_js__WEBPACK_IMPORTED_MODULE_1__["default"],
  6324. updateAutoHeight: _updateAutoHeight_js__WEBPACK_IMPORTED_MODULE_2__["default"],
  6325. updateSlidesOffset: _updateSlidesOffset_js__WEBPACK_IMPORTED_MODULE_3__["default"],
  6326. updateSlidesProgress: _updateSlidesProgress_js__WEBPACK_IMPORTED_MODULE_4__["default"],
  6327. updateProgress: _updateProgress_js__WEBPACK_IMPORTED_MODULE_5__["default"],
  6328. updateSlidesClasses: _updateSlidesClasses_js__WEBPACK_IMPORTED_MODULE_6__["default"],
  6329. updateActiveIndex: _updateActiveIndex_js__WEBPACK_IMPORTED_MODULE_7__["default"],
  6330. updateClickedSlide: _updateClickedSlide_js__WEBPACK_IMPORTED_MODULE_8__["default"]
  6331. });
  6332. /***/ }),
  6333. /***/ 7271:
  6334. /*!**************************************************************!*\
  6335. !*** ./node_modules/swiper/core/update/updateActiveIndex.js ***!
  6336. \**************************************************************/
  6337. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  6338. __webpack_require__.r(__webpack_exports__);
  6339. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  6340. /* harmony export */ "default": () => (/* binding */ updateActiveIndex)
  6341. /* harmony export */ });
  6342. function updateActiveIndex(newActiveIndex) {
  6343. const swiper = this;
  6344. const translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;
  6345. const {
  6346. slidesGrid,
  6347. snapGrid,
  6348. params,
  6349. activeIndex: previousIndex,
  6350. realIndex: previousRealIndex,
  6351. snapIndex: previousSnapIndex
  6352. } = swiper;
  6353. let activeIndex = newActiveIndex;
  6354. let snapIndex;
  6355. if (typeof activeIndex === 'undefined') {
  6356. for (let i = 0; i < slidesGrid.length; i += 1) {
  6357. if (typeof slidesGrid[i + 1] !== 'undefined') {
  6358. if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1] - (slidesGrid[i + 1] - slidesGrid[i]) / 2) {
  6359. activeIndex = i;
  6360. } else if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1]) {
  6361. activeIndex = i + 1;
  6362. }
  6363. } else if (translate >= slidesGrid[i]) {
  6364. activeIndex = i;
  6365. }
  6366. } // Normalize slideIndex
  6367. if (params.normalizeSlideIndex) {
  6368. if (activeIndex < 0 || typeof activeIndex === 'undefined') activeIndex = 0;
  6369. }
  6370. }
  6371. if (snapGrid.indexOf(translate) >= 0) {
  6372. snapIndex = snapGrid.indexOf(translate);
  6373. } else {
  6374. const skip = Math.min(params.slidesPerGroupSkip, activeIndex);
  6375. snapIndex = skip + Math.floor((activeIndex - skip) / params.slidesPerGroup);
  6376. }
  6377. if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1;
  6378. if (activeIndex === previousIndex) {
  6379. if (snapIndex !== previousSnapIndex) {
  6380. swiper.snapIndex = snapIndex;
  6381. swiper.emit('snapIndexChange');
  6382. }
  6383. return;
  6384. } // Get real index
  6385. const realIndex = parseInt(swiper.slides.eq(activeIndex).attr('data-swiper-slide-index') || activeIndex, 10);
  6386. Object.assign(swiper, {
  6387. snapIndex,
  6388. realIndex,
  6389. previousIndex,
  6390. activeIndex
  6391. });
  6392. swiper.emit('activeIndexChange');
  6393. swiper.emit('snapIndexChange');
  6394. if (previousRealIndex !== realIndex) {
  6395. swiper.emit('realIndexChange');
  6396. }
  6397. if (swiper.initialized || swiper.params.runCallbacksOnInit) {
  6398. swiper.emit('slideChange');
  6399. }
  6400. }
  6401. /***/ }),
  6402. /***/ 1757:
  6403. /*!*************************************************************!*\
  6404. !*** ./node_modules/swiper/core/update/updateAutoHeight.js ***!
  6405. \*************************************************************/
  6406. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  6407. __webpack_require__.r(__webpack_exports__);
  6408. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  6409. /* harmony export */ "default": () => (/* binding */ updateAutoHeight)
  6410. /* harmony export */ });
  6411. /* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/dom.js */ 6007);
  6412. function updateAutoHeight(speed) {
  6413. const swiper = this;
  6414. const activeSlides = [];
  6415. const isVirtual = swiper.virtual && swiper.params.virtual.enabled;
  6416. let newHeight = 0;
  6417. let i;
  6418. if (typeof speed === 'number') {
  6419. swiper.setTransition(speed);
  6420. } else if (speed === true) {
  6421. swiper.setTransition(swiper.params.speed);
  6422. }
  6423. const getSlideByIndex = index => {
  6424. if (isVirtual) {
  6425. return swiper.slides.filter(el => parseInt(el.getAttribute('data-swiper-slide-index'), 10) === index)[0];
  6426. }
  6427. return swiper.slides.eq(index)[0];
  6428. }; // Find slides currently in view
  6429. if (swiper.params.slidesPerView !== 'auto' && swiper.params.slidesPerView > 1) {
  6430. if (swiper.params.centeredSlides) {
  6431. (swiper.visibleSlides || (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_0__["default"])([])).each(slide => {
  6432. activeSlides.push(slide);
  6433. });
  6434. } else {
  6435. for (i = 0; i < Math.ceil(swiper.params.slidesPerView); i += 1) {
  6436. const index = swiper.activeIndex + i;
  6437. if (index > swiper.slides.length && !isVirtual) break;
  6438. activeSlides.push(getSlideByIndex(index));
  6439. }
  6440. }
  6441. } else {
  6442. activeSlides.push(getSlideByIndex(swiper.activeIndex));
  6443. } // Find new height from highest slide in view
  6444. for (i = 0; i < activeSlides.length; i += 1) {
  6445. if (typeof activeSlides[i] !== 'undefined') {
  6446. const height = activeSlides[i].offsetHeight;
  6447. newHeight = height > newHeight ? height : newHeight;
  6448. }
  6449. } // Update Height
  6450. if (newHeight || newHeight === 0) swiper.$wrapperEl.css('height', `${newHeight}px`);
  6451. }
  6452. /***/ }),
  6453. /***/ 6387:
  6454. /*!***************************************************************!*\
  6455. !*** ./node_modules/swiper/core/update/updateClickedSlide.js ***!
  6456. \***************************************************************/
  6457. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  6458. __webpack_require__.r(__webpack_exports__);
  6459. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  6460. /* harmony export */ "default": () => (/* binding */ updateClickedSlide)
  6461. /* harmony export */ });
  6462. /* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/dom.js */ 6007);
  6463. function updateClickedSlide(e) {
  6464. const swiper = this;
  6465. const params = swiper.params;
  6466. const slide = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_0__["default"])(e).closest(`.${params.slideClass}`)[0];
  6467. let slideFound = false;
  6468. let slideIndex;
  6469. if (slide) {
  6470. for (let i = 0; i < swiper.slides.length; i += 1) {
  6471. if (swiper.slides[i] === slide) {
  6472. slideFound = true;
  6473. slideIndex = i;
  6474. break;
  6475. }
  6476. }
  6477. }
  6478. if (slide && slideFound) {
  6479. swiper.clickedSlide = slide;
  6480. if (swiper.virtual && swiper.params.virtual.enabled) {
  6481. swiper.clickedIndex = parseInt((0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_0__["default"])(slide).attr('data-swiper-slide-index'), 10);
  6482. } else {
  6483. swiper.clickedIndex = slideIndex;
  6484. }
  6485. } else {
  6486. swiper.clickedSlide = undefined;
  6487. swiper.clickedIndex = undefined;
  6488. return;
  6489. }
  6490. if (params.slideToClickedSlide && swiper.clickedIndex !== undefined && swiper.clickedIndex !== swiper.activeIndex) {
  6491. swiper.slideToClickedSlide();
  6492. }
  6493. }
  6494. /***/ }),
  6495. /***/ 5005:
  6496. /*!***********************************************************!*\
  6497. !*** ./node_modules/swiper/core/update/updateProgress.js ***!
  6498. \***********************************************************/
  6499. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  6500. __webpack_require__.r(__webpack_exports__);
  6501. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  6502. /* harmony export */ "default": () => (/* binding */ updateProgress)
  6503. /* harmony export */ });
  6504. function updateProgress(translate) {
  6505. const swiper = this;
  6506. if (typeof translate === 'undefined') {
  6507. const multiplier = swiper.rtlTranslate ? -1 : 1; // eslint-disable-next-line
  6508. translate = swiper && swiper.translate && swiper.translate * multiplier || 0;
  6509. }
  6510. const params = swiper.params;
  6511. const translatesDiff = swiper.maxTranslate() - swiper.minTranslate();
  6512. let {
  6513. progress,
  6514. isBeginning,
  6515. isEnd
  6516. } = swiper;
  6517. const wasBeginning = isBeginning;
  6518. const wasEnd = isEnd;
  6519. if (translatesDiff === 0) {
  6520. progress = 0;
  6521. isBeginning = true;
  6522. isEnd = true;
  6523. } else {
  6524. progress = (translate - swiper.minTranslate()) / translatesDiff;
  6525. isBeginning = progress <= 0;
  6526. isEnd = progress >= 1;
  6527. }
  6528. Object.assign(swiper, {
  6529. progress,
  6530. isBeginning,
  6531. isEnd
  6532. });
  6533. if (params.watchSlidesProgress || params.centeredSlides && params.autoHeight) swiper.updateSlidesProgress(translate);
  6534. if (isBeginning && !wasBeginning) {
  6535. swiper.emit('reachBeginning toEdge');
  6536. }
  6537. if (isEnd && !wasEnd) {
  6538. swiper.emit('reachEnd toEdge');
  6539. }
  6540. if (wasBeginning && !isBeginning || wasEnd && !isEnd) {
  6541. swiper.emit('fromEdge');
  6542. }
  6543. swiper.emit('progress', progress);
  6544. }
  6545. /***/ }),
  6546. /***/ 2114:
  6547. /*!*******************************************************!*\
  6548. !*** ./node_modules/swiper/core/update/updateSize.js ***!
  6549. \*******************************************************/
  6550. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  6551. __webpack_require__.r(__webpack_exports__);
  6552. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  6553. /* harmony export */ "default": () => (/* binding */ updateSize)
  6554. /* harmony export */ });
  6555. function updateSize() {
  6556. const swiper = this;
  6557. let width;
  6558. let height;
  6559. const $el = swiper.$el;
  6560. if (typeof swiper.params.width !== 'undefined' && swiper.params.width !== null) {
  6561. width = swiper.params.width;
  6562. } else {
  6563. width = $el[0].clientWidth;
  6564. }
  6565. if (typeof swiper.params.height !== 'undefined' && swiper.params.height !== null) {
  6566. height = swiper.params.height;
  6567. } else {
  6568. height = $el[0].clientHeight;
  6569. }
  6570. if (width === 0 && swiper.isHorizontal() || height === 0 && swiper.isVertical()) {
  6571. return;
  6572. } // Subtract paddings
  6573. width = width - parseInt($el.css('padding-left') || 0, 10) - parseInt($el.css('padding-right') || 0, 10);
  6574. height = height - parseInt($el.css('padding-top') || 0, 10) - parseInt($el.css('padding-bottom') || 0, 10);
  6575. if (Number.isNaN(width)) width = 0;
  6576. if (Number.isNaN(height)) height = 0;
  6577. Object.assign(swiper, {
  6578. width,
  6579. height,
  6580. size: swiper.isHorizontal() ? width : height
  6581. });
  6582. }
  6583. /***/ }),
  6584. /***/ 8109:
  6585. /*!*********************************************************!*\
  6586. !*** ./node_modules/swiper/core/update/updateSlides.js ***!
  6587. \*********************************************************/
  6588. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  6589. __webpack_require__.r(__webpack_exports__);
  6590. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  6591. /* harmony export */ "default": () => (/* binding */ updateSlides)
  6592. /* harmony export */ });
  6593. /* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/utils.js */ 3809);
  6594. function updateSlides() {
  6595. const swiper = this;
  6596. function getDirectionLabel(property) {
  6597. if (swiper.isHorizontal()) {
  6598. return property;
  6599. } // prettier-ignore
  6600. return {
  6601. 'width': 'height',
  6602. 'margin-top': 'margin-left',
  6603. 'margin-bottom ': 'margin-right',
  6604. 'margin-left': 'margin-top',
  6605. 'margin-right': 'margin-bottom',
  6606. 'padding-left': 'padding-top',
  6607. 'padding-right': 'padding-bottom',
  6608. 'marginRight': 'marginBottom'
  6609. }[property];
  6610. }
  6611. function getDirectionPropertyValue(node, label) {
  6612. return parseFloat(node.getPropertyValue(getDirectionLabel(label)) || 0);
  6613. }
  6614. const params = swiper.params;
  6615. const {
  6616. $wrapperEl,
  6617. size: swiperSize,
  6618. rtlTranslate: rtl,
  6619. wrongRTL
  6620. } = swiper;
  6621. const isVirtual = swiper.virtual && params.virtual.enabled;
  6622. const previousSlidesLength = isVirtual ? swiper.virtual.slides.length : swiper.slides.length;
  6623. const slides = $wrapperEl.children(`.${swiper.params.slideClass}`);
  6624. const slidesLength = isVirtual ? swiper.virtual.slides.length : slides.length;
  6625. let snapGrid = [];
  6626. const slidesGrid = [];
  6627. const slidesSizesGrid = [];
  6628. let offsetBefore = params.slidesOffsetBefore;
  6629. if (typeof offsetBefore === 'function') {
  6630. offsetBefore = params.slidesOffsetBefore.call(swiper);
  6631. }
  6632. let offsetAfter = params.slidesOffsetAfter;
  6633. if (typeof offsetAfter === 'function') {
  6634. offsetAfter = params.slidesOffsetAfter.call(swiper);
  6635. }
  6636. const previousSnapGridLength = swiper.snapGrid.length;
  6637. const previousSlidesGridLength = swiper.slidesGrid.length;
  6638. let spaceBetween = params.spaceBetween;
  6639. let slidePosition = -offsetBefore;
  6640. let prevSlideSize = 0;
  6641. let index = 0;
  6642. if (typeof swiperSize === 'undefined') {
  6643. return;
  6644. }
  6645. if (typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0) {
  6646. spaceBetween = parseFloat(spaceBetween.replace('%', '')) / 100 * swiperSize;
  6647. }
  6648. swiper.virtualSize = -spaceBetween; // reset margins
  6649. if (rtl) slides.css({
  6650. marginLeft: '',
  6651. marginBottom: '',
  6652. marginTop: ''
  6653. });else slides.css({
  6654. marginRight: '',
  6655. marginBottom: '',
  6656. marginTop: ''
  6657. }); // reset cssMode offsets
  6658. if (params.centeredSlides && params.cssMode) {
  6659. (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.setCSSProperty)(swiper.wrapperEl, '--swiper-centered-offset-before', '');
  6660. (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.setCSSProperty)(swiper.wrapperEl, '--swiper-centered-offset-after', '');
  6661. }
  6662. const gridEnabled = params.grid && params.grid.rows > 1 && swiper.grid;
  6663. if (gridEnabled) {
  6664. swiper.grid.initSlides(slidesLength);
  6665. } // Calc slides
  6666. let slideSize;
  6667. const shouldResetSlideSize = params.slidesPerView === 'auto' && params.breakpoints && Object.keys(params.breakpoints).filter(key => {
  6668. return typeof params.breakpoints[key].slidesPerView !== 'undefined';
  6669. }).length > 0;
  6670. for (let i = 0; i < slidesLength; i += 1) {
  6671. slideSize = 0;
  6672. const slide = slides.eq(i);
  6673. if (gridEnabled) {
  6674. swiper.grid.updateSlide(i, slide, slidesLength, getDirectionLabel);
  6675. }
  6676. if (slide.css('display') === 'none') continue; // eslint-disable-line
  6677. if (params.slidesPerView === 'auto') {
  6678. if (shouldResetSlideSize) {
  6679. slides[i].style[getDirectionLabel('width')] = ``;
  6680. }
  6681. const slideStyles = getComputedStyle(slide[0]);
  6682. const currentTransform = slide[0].style.transform;
  6683. const currentWebKitTransform = slide[0].style.webkitTransform;
  6684. if (currentTransform) {
  6685. slide[0].style.transform = 'none';
  6686. }
  6687. if (currentWebKitTransform) {
  6688. slide[0].style.webkitTransform = 'none';
  6689. }
  6690. if (params.roundLengths) {
  6691. slideSize = swiper.isHorizontal() ? slide.outerWidth(true) : slide.outerHeight(true);
  6692. } else {
  6693. // eslint-disable-next-line
  6694. const width = getDirectionPropertyValue(slideStyles, 'width');
  6695. const paddingLeft = getDirectionPropertyValue(slideStyles, 'padding-left');
  6696. const paddingRight = getDirectionPropertyValue(slideStyles, 'padding-right');
  6697. const marginLeft = getDirectionPropertyValue(slideStyles, 'margin-left');
  6698. const marginRight = getDirectionPropertyValue(slideStyles, 'margin-right');
  6699. const boxSizing = slideStyles.getPropertyValue('box-sizing');
  6700. if (boxSizing && boxSizing === 'border-box') {
  6701. slideSize = width + marginLeft + marginRight;
  6702. } else {
  6703. const {
  6704. clientWidth,
  6705. offsetWidth
  6706. } = slide[0];
  6707. slideSize = width + paddingLeft + paddingRight + marginLeft + marginRight + (offsetWidth - clientWidth);
  6708. }
  6709. }
  6710. if (currentTransform) {
  6711. slide[0].style.transform = currentTransform;
  6712. }
  6713. if (currentWebKitTransform) {
  6714. slide[0].style.webkitTransform = currentWebKitTransform;
  6715. }
  6716. if (params.roundLengths) slideSize = Math.floor(slideSize);
  6717. } else {
  6718. slideSize = (swiperSize - (params.slidesPerView - 1) * spaceBetween) / params.slidesPerView;
  6719. if (params.roundLengths) slideSize = Math.floor(slideSize);
  6720. if (slides[i]) {
  6721. slides[i].style[getDirectionLabel('width')] = `${slideSize}px`;
  6722. }
  6723. }
  6724. if (slides[i]) {
  6725. slides[i].swiperSlideSize = slideSize;
  6726. }
  6727. slidesSizesGrid.push(slideSize);
  6728. if (params.centeredSlides) {
  6729. slidePosition = slidePosition + slideSize / 2 + prevSlideSize / 2 + spaceBetween;
  6730. if (prevSlideSize === 0 && i !== 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween;
  6731. if (i === 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween;
  6732. if (Math.abs(slidePosition) < 1 / 1000) slidePosition = 0;
  6733. if (params.roundLengths) slidePosition = Math.floor(slidePosition);
  6734. if (index % params.slidesPerGroup === 0) snapGrid.push(slidePosition);
  6735. slidesGrid.push(slidePosition);
  6736. } else {
  6737. if (params.roundLengths) slidePosition = Math.floor(slidePosition);
  6738. if ((index - Math.min(swiper.params.slidesPerGroupSkip, index)) % swiper.params.slidesPerGroup === 0) snapGrid.push(slidePosition);
  6739. slidesGrid.push(slidePosition);
  6740. slidePosition = slidePosition + slideSize + spaceBetween;
  6741. }
  6742. swiper.virtualSize += slideSize + spaceBetween;
  6743. prevSlideSize = slideSize;
  6744. index += 1;
  6745. }
  6746. swiper.virtualSize = Math.max(swiper.virtualSize, swiperSize) + offsetAfter;
  6747. if (rtl && wrongRTL && (params.effect === 'slide' || params.effect === 'coverflow')) {
  6748. $wrapperEl.css({
  6749. width: `${swiper.virtualSize + params.spaceBetween}px`
  6750. });
  6751. }
  6752. if (params.setWrapperSize) {
  6753. $wrapperEl.css({
  6754. [getDirectionLabel('width')]: `${swiper.virtualSize + params.spaceBetween}px`
  6755. });
  6756. }
  6757. if (gridEnabled) {
  6758. swiper.grid.updateWrapperSize(slideSize, snapGrid, getDirectionLabel);
  6759. } // Remove last grid elements depending on width
  6760. if (!params.centeredSlides) {
  6761. const newSlidesGrid = [];
  6762. for (let i = 0; i < snapGrid.length; i += 1) {
  6763. let slidesGridItem = snapGrid[i];
  6764. if (params.roundLengths) slidesGridItem = Math.floor(slidesGridItem);
  6765. if (snapGrid[i] <= swiper.virtualSize - swiperSize) {
  6766. newSlidesGrid.push(slidesGridItem);
  6767. }
  6768. }
  6769. snapGrid = newSlidesGrid;
  6770. if (Math.floor(swiper.virtualSize - swiperSize) - Math.floor(snapGrid[snapGrid.length - 1]) > 1) {
  6771. snapGrid.push(swiper.virtualSize - swiperSize);
  6772. }
  6773. }
  6774. if (snapGrid.length === 0) snapGrid = [0];
  6775. if (params.spaceBetween !== 0) {
  6776. const key = swiper.isHorizontal() && rtl ? 'marginLeft' : getDirectionLabel('marginRight');
  6777. slides.filter((_, slideIndex) => {
  6778. if (!params.cssMode) return true;
  6779. if (slideIndex === slides.length - 1) {
  6780. return false;
  6781. }
  6782. return true;
  6783. }).css({
  6784. [key]: `${spaceBetween}px`
  6785. });
  6786. }
  6787. if (params.centeredSlides && params.centeredSlidesBounds) {
  6788. let allSlidesSize = 0;
  6789. slidesSizesGrid.forEach(slideSizeValue => {
  6790. allSlidesSize += slideSizeValue + (params.spaceBetween ? params.spaceBetween : 0);
  6791. });
  6792. allSlidesSize -= params.spaceBetween;
  6793. const maxSnap = allSlidesSize - swiperSize;
  6794. snapGrid = snapGrid.map(snap => {
  6795. if (snap < 0) return -offsetBefore;
  6796. if (snap > maxSnap) return maxSnap + offsetAfter;
  6797. return snap;
  6798. });
  6799. }
  6800. if (params.centerInsufficientSlides) {
  6801. let allSlidesSize = 0;
  6802. slidesSizesGrid.forEach(slideSizeValue => {
  6803. allSlidesSize += slideSizeValue + (params.spaceBetween ? params.spaceBetween : 0);
  6804. });
  6805. allSlidesSize -= params.spaceBetween;
  6806. if (allSlidesSize < swiperSize) {
  6807. const allSlidesOffset = (swiperSize - allSlidesSize) / 2;
  6808. snapGrid.forEach((snap, snapIndex) => {
  6809. snapGrid[snapIndex] = snap - allSlidesOffset;
  6810. });
  6811. slidesGrid.forEach((snap, snapIndex) => {
  6812. slidesGrid[snapIndex] = snap + allSlidesOffset;
  6813. });
  6814. }
  6815. }
  6816. Object.assign(swiper, {
  6817. slides,
  6818. snapGrid,
  6819. slidesGrid,
  6820. slidesSizesGrid
  6821. });
  6822. if (params.centeredSlides && params.cssMode && !params.centeredSlidesBounds) {
  6823. (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.setCSSProperty)(swiper.wrapperEl, '--swiper-centered-offset-before', `${-snapGrid[0]}px`);
  6824. (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.setCSSProperty)(swiper.wrapperEl, '--swiper-centered-offset-after', `${swiper.size / 2 - slidesSizesGrid[slidesSizesGrid.length - 1] / 2}px`);
  6825. const addToSnapGrid = -swiper.snapGrid[0];
  6826. const addToSlidesGrid = -swiper.slidesGrid[0];
  6827. swiper.snapGrid = swiper.snapGrid.map(v => v + addToSnapGrid);
  6828. swiper.slidesGrid = swiper.slidesGrid.map(v => v + addToSlidesGrid);
  6829. }
  6830. if (slidesLength !== previousSlidesLength) {
  6831. swiper.emit('slidesLengthChange');
  6832. }
  6833. if (snapGrid.length !== previousSnapGridLength) {
  6834. if (swiper.params.watchOverflow) swiper.checkOverflow();
  6835. swiper.emit('snapGridLengthChange');
  6836. }
  6837. if (slidesGrid.length !== previousSlidesGridLength) {
  6838. swiper.emit('slidesGridLengthChange');
  6839. }
  6840. if (params.watchSlidesProgress) {
  6841. swiper.updateSlidesOffset();
  6842. }
  6843. if (!isVirtual && !params.cssMode && (params.effect === 'slide' || params.effect === 'fade')) {
  6844. const backFaceHiddenClass = `${params.containerModifierClass}backface-hidden`;
  6845. const hasClassBackfaceClassAdded = swiper.$el.hasClass(backFaceHiddenClass);
  6846. if (slidesLength <= params.maxBackfaceHiddenSlides) {
  6847. if (!hasClassBackfaceClassAdded) swiper.$el.addClass(backFaceHiddenClass);
  6848. } else if (hasClassBackfaceClassAdded) {
  6849. swiper.$el.removeClass(backFaceHiddenClass);
  6850. }
  6851. }
  6852. }
  6853. /***/ }),
  6854. /***/ 5431:
  6855. /*!****************************************************************!*\
  6856. !*** ./node_modules/swiper/core/update/updateSlidesClasses.js ***!
  6857. \****************************************************************/
  6858. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  6859. __webpack_require__.r(__webpack_exports__);
  6860. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  6861. /* harmony export */ "default": () => (/* binding */ updateSlidesClasses)
  6862. /* harmony export */ });
  6863. function updateSlidesClasses() {
  6864. const swiper = this;
  6865. const {
  6866. slides,
  6867. params,
  6868. $wrapperEl,
  6869. activeIndex,
  6870. realIndex
  6871. } = swiper;
  6872. const isVirtual = swiper.virtual && params.virtual.enabled;
  6873. slides.removeClass(`${params.slideActiveClass} ${params.slideNextClass} ${params.slidePrevClass} ${params.slideDuplicateActiveClass} ${params.slideDuplicateNextClass} ${params.slideDuplicatePrevClass}`);
  6874. let activeSlide;
  6875. if (isVirtual) {
  6876. activeSlide = swiper.$wrapperEl.find(`.${params.slideClass}[data-swiper-slide-index="${activeIndex}"]`);
  6877. } else {
  6878. activeSlide = slides.eq(activeIndex);
  6879. } // Active classes
  6880. activeSlide.addClass(params.slideActiveClass);
  6881. if (params.loop) {
  6882. // Duplicate to all looped slides
  6883. if (activeSlide.hasClass(params.slideDuplicateClass)) {
  6884. $wrapperEl.children(`.${params.slideClass}:not(.${params.slideDuplicateClass})[data-swiper-slide-index="${realIndex}"]`).addClass(params.slideDuplicateActiveClass);
  6885. } else {
  6886. $wrapperEl.children(`.${params.slideClass}.${params.slideDuplicateClass}[data-swiper-slide-index="${realIndex}"]`).addClass(params.slideDuplicateActiveClass);
  6887. }
  6888. } // Next Slide
  6889. let nextSlide = activeSlide.nextAll(`.${params.slideClass}`).eq(0).addClass(params.slideNextClass);
  6890. if (params.loop && nextSlide.length === 0) {
  6891. nextSlide = slides.eq(0);
  6892. nextSlide.addClass(params.slideNextClass);
  6893. } // Prev Slide
  6894. let prevSlide = activeSlide.prevAll(`.${params.slideClass}`).eq(0).addClass(params.slidePrevClass);
  6895. if (params.loop && prevSlide.length === 0) {
  6896. prevSlide = slides.eq(-1);
  6897. prevSlide.addClass(params.slidePrevClass);
  6898. }
  6899. if (params.loop) {
  6900. // Duplicate to all looped slides
  6901. if (nextSlide.hasClass(params.slideDuplicateClass)) {
  6902. $wrapperEl.children(`.${params.slideClass}:not(.${params.slideDuplicateClass})[data-swiper-slide-index="${nextSlide.attr('data-swiper-slide-index')}"]`).addClass(params.slideDuplicateNextClass);
  6903. } else {
  6904. $wrapperEl.children(`.${params.slideClass}.${params.slideDuplicateClass}[data-swiper-slide-index="${nextSlide.attr('data-swiper-slide-index')}"]`).addClass(params.slideDuplicateNextClass);
  6905. }
  6906. if (prevSlide.hasClass(params.slideDuplicateClass)) {
  6907. $wrapperEl.children(`.${params.slideClass}:not(.${params.slideDuplicateClass})[data-swiper-slide-index="${prevSlide.attr('data-swiper-slide-index')}"]`).addClass(params.slideDuplicatePrevClass);
  6908. } else {
  6909. $wrapperEl.children(`.${params.slideClass}.${params.slideDuplicateClass}[data-swiper-slide-index="${prevSlide.attr('data-swiper-slide-index')}"]`).addClass(params.slideDuplicatePrevClass);
  6910. }
  6911. }
  6912. swiper.emitSlidesClasses();
  6913. }
  6914. /***/ }),
  6915. /***/ 4129:
  6916. /*!***************************************************************!*\
  6917. !*** ./node_modules/swiper/core/update/updateSlidesOffset.js ***!
  6918. \***************************************************************/
  6919. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  6920. __webpack_require__.r(__webpack_exports__);
  6921. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  6922. /* harmony export */ "default": () => (/* binding */ updateSlidesOffset)
  6923. /* harmony export */ });
  6924. function updateSlidesOffset() {
  6925. const swiper = this;
  6926. const slides = swiper.slides;
  6927. for (let i = 0; i < slides.length; i += 1) {
  6928. slides[i].swiperSlideOffset = swiper.isHorizontal() ? slides[i].offsetLeft : slides[i].offsetTop;
  6929. }
  6930. }
  6931. /***/ }),
  6932. /***/ 3625:
  6933. /*!*****************************************************************!*\
  6934. !*** ./node_modules/swiper/core/update/updateSlidesProgress.js ***!
  6935. \*****************************************************************/
  6936. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  6937. __webpack_require__.r(__webpack_exports__);
  6938. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  6939. /* harmony export */ "default": () => (/* binding */ updateSlidesProgress)
  6940. /* harmony export */ });
  6941. /* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/dom.js */ 6007);
  6942. function updateSlidesProgress(translate = this && this.translate || 0) {
  6943. const swiper = this;
  6944. const params = swiper.params;
  6945. const {
  6946. slides,
  6947. rtlTranslate: rtl,
  6948. snapGrid
  6949. } = swiper;
  6950. if (slides.length === 0) return;
  6951. if (typeof slides[0].swiperSlideOffset === 'undefined') swiper.updateSlidesOffset();
  6952. let offsetCenter = -translate;
  6953. if (rtl) offsetCenter = translate; // Visible Slides
  6954. slides.removeClass(params.slideVisibleClass);
  6955. swiper.visibleSlidesIndexes = [];
  6956. swiper.visibleSlides = [];
  6957. for (let i = 0; i < slides.length; i += 1) {
  6958. const slide = slides[i];
  6959. let slideOffset = slide.swiperSlideOffset;
  6960. if (params.cssMode && params.centeredSlides) {
  6961. slideOffset -= slides[0].swiperSlideOffset;
  6962. }
  6963. const slideProgress = (offsetCenter + (params.centeredSlides ? swiper.minTranslate() : 0) - slideOffset) / (slide.swiperSlideSize + params.spaceBetween);
  6964. const originalSlideProgress = (offsetCenter - snapGrid[0] + (params.centeredSlides ? swiper.minTranslate() : 0) - slideOffset) / (slide.swiperSlideSize + params.spaceBetween);
  6965. const slideBefore = -(offsetCenter - slideOffset);
  6966. const slideAfter = slideBefore + swiper.slidesSizesGrid[i];
  6967. const isVisible = slideBefore >= 0 && slideBefore < swiper.size - 1 || slideAfter > 1 && slideAfter <= swiper.size || slideBefore <= 0 && slideAfter >= swiper.size;
  6968. if (isVisible) {
  6969. swiper.visibleSlides.push(slide);
  6970. swiper.visibleSlidesIndexes.push(i);
  6971. slides.eq(i).addClass(params.slideVisibleClass);
  6972. }
  6973. slide.progress = rtl ? -slideProgress : slideProgress;
  6974. slide.originalProgress = rtl ? -originalSlideProgress : originalSlideProgress;
  6975. }
  6976. swiper.visibleSlides = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_0__["default"])(swiper.visibleSlides);
  6977. }
  6978. /***/ }),
  6979. /***/ 6525:
  6980. /*!**************************************************!*\
  6981. !*** ./node_modules/swiper/modules/a11y/a11y.js ***!
  6982. \**************************************************/
  6983. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  6984. __webpack_require__.r(__webpack_exports__);
  6985. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  6986. /* harmony export */ "default": () => (/* binding */ A11y)
  6987. /* harmony export */ });
  6988. /* harmony import */ var _shared_classes_to_selector_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/classes-to-selector.js */ 1472);
  6989. /* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/dom.js */ 6007);
  6990. function A11y({
  6991. swiper,
  6992. extendParams,
  6993. on
  6994. }) {
  6995. extendParams({
  6996. a11y: {
  6997. enabled: true,
  6998. notificationClass: 'swiper-notification',
  6999. prevSlideMessage: 'Previous slide',
  7000. nextSlideMessage: 'Next slide',
  7001. firstSlideMessage: 'This is the first slide',
  7002. lastSlideMessage: 'This is the last slide',
  7003. paginationBulletMessage: 'Go to slide {{index}}',
  7004. slideLabelMessage: '{{index}} / {{slidesLength}}',
  7005. containerMessage: null,
  7006. containerRoleDescriptionMessage: null,
  7007. itemRoleDescriptionMessage: null,
  7008. slideRole: 'group',
  7009. id: null
  7010. }
  7011. });
  7012. swiper.a11y = {
  7013. clicked: false
  7014. };
  7015. let liveRegion = null;
  7016. function notify(message) {
  7017. const notification = liveRegion;
  7018. if (notification.length === 0) return;
  7019. notification.html('');
  7020. notification.html(message);
  7021. }
  7022. function getRandomNumber(size = 16) {
  7023. const randomChar = () => Math.round(16 * Math.random()).toString(16);
  7024. return 'x'.repeat(size).replace(/x/g, randomChar);
  7025. }
  7026. function makeElFocusable($el) {
  7027. $el.attr('tabIndex', '0');
  7028. }
  7029. function makeElNotFocusable($el) {
  7030. $el.attr('tabIndex', '-1');
  7031. }
  7032. function addElRole($el, role) {
  7033. $el.attr('role', role);
  7034. }
  7035. function addElRoleDescription($el, description) {
  7036. $el.attr('aria-roledescription', description);
  7037. }
  7038. function addElControls($el, controls) {
  7039. $el.attr('aria-controls', controls);
  7040. }
  7041. function addElLabel($el, label) {
  7042. $el.attr('aria-label', label);
  7043. }
  7044. function addElId($el, id) {
  7045. $el.attr('id', id);
  7046. }
  7047. function addElLive($el, live) {
  7048. $el.attr('aria-live', live);
  7049. }
  7050. function disableEl($el) {
  7051. $el.attr('aria-disabled', true);
  7052. }
  7053. function enableEl($el) {
  7054. $el.attr('aria-disabled', false);
  7055. }
  7056. function onEnterOrSpaceKey(e) {
  7057. if (e.keyCode !== 13 && e.keyCode !== 32) return;
  7058. const params = swiper.params.a11y;
  7059. const $targetEl = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(e.target);
  7060. if (swiper.navigation && swiper.navigation.$nextEl && $targetEl.is(swiper.navigation.$nextEl)) {
  7061. if (!(swiper.isEnd && !swiper.params.loop)) {
  7062. swiper.slideNext();
  7063. }
  7064. if (swiper.isEnd) {
  7065. notify(params.lastSlideMessage);
  7066. } else {
  7067. notify(params.nextSlideMessage);
  7068. }
  7069. }
  7070. if (swiper.navigation && swiper.navigation.$prevEl && $targetEl.is(swiper.navigation.$prevEl)) {
  7071. if (!(swiper.isBeginning && !swiper.params.loop)) {
  7072. swiper.slidePrev();
  7073. }
  7074. if (swiper.isBeginning) {
  7075. notify(params.firstSlideMessage);
  7076. } else {
  7077. notify(params.prevSlideMessage);
  7078. }
  7079. }
  7080. if (swiper.pagination && $targetEl.is((0,_shared_classes_to_selector_js__WEBPACK_IMPORTED_MODULE_0__["default"])(swiper.params.pagination.bulletClass))) {
  7081. $targetEl[0].click();
  7082. }
  7083. }
  7084. function updateNavigation() {
  7085. if (swiper.params.loop || swiper.params.rewind || !swiper.navigation) return;
  7086. const {
  7087. $nextEl,
  7088. $prevEl
  7089. } = swiper.navigation;
  7090. if ($prevEl && $prevEl.length > 0) {
  7091. if (swiper.isBeginning) {
  7092. disableEl($prevEl);
  7093. makeElNotFocusable($prevEl);
  7094. } else {
  7095. enableEl($prevEl);
  7096. makeElFocusable($prevEl);
  7097. }
  7098. }
  7099. if ($nextEl && $nextEl.length > 0) {
  7100. if (swiper.isEnd) {
  7101. disableEl($nextEl);
  7102. makeElNotFocusable($nextEl);
  7103. } else {
  7104. enableEl($nextEl);
  7105. makeElFocusable($nextEl);
  7106. }
  7107. }
  7108. }
  7109. function hasPagination() {
  7110. return swiper.pagination && swiper.pagination.bullets && swiper.pagination.bullets.length;
  7111. }
  7112. function hasClickablePagination() {
  7113. return hasPagination() && swiper.params.pagination.clickable;
  7114. }
  7115. function updatePagination() {
  7116. const params = swiper.params.a11y;
  7117. if (!hasPagination()) return;
  7118. swiper.pagination.bullets.each(bulletEl => {
  7119. const $bulletEl = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(bulletEl);
  7120. if (swiper.params.pagination.clickable) {
  7121. makeElFocusable($bulletEl);
  7122. if (!swiper.params.pagination.renderBullet) {
  7123. addElRole($bulletEl, 'button');
  7124. addElLabel($bulletEl, params.paginationBulletMessage.replace(/\{\{index\}\}/, $bulletEl.index() + 1));
  7125. }
  7126. }
  7127. if ($bulletEl.is(`.${swiper.params.pagination.bulletActiveClass}`)) {
  7128. $bulletEl.attr('aria-current', 'true');
  7129. } else {
  7130. $bulletEl.removeAttr('aria-current');
  7131. }
  7132. });
  7133. }
  7134. const initNavEl = ($el, wrapperId, message) => {
  7135. makeElFocusable($el);
  7136. if ($el[0].tagName !== 'BUTTON') {
  7137. addElRole($el, 'button');
  7138. $el.on('keydown', onEnterOrSpaceKey);
  7139. }
  7140. addElLabel($el, message);
  7141. addElControls($el, wrapperId);
  7142. };
  7143. const handlePointerDown = () => {
  7144. swiper.a11y.clicked = true;
  7145. };
  7146. const handlePointerUp = () => {
  7147. requestAnimationFrame(() => {
  7148. requestAnimationFrame(() => {
  7149. swiper.a11y.clicked = false;
  7150. });
  7151. });
  7152. };
  7153. const handleFocus = e => {
  7154. if (swiper.a11y.clicked) return;
  7155. const slideEl = e.target.closest(`.${swiper.params.slideClass}`);
  7156. if (!slideEl || !swiper.slides.includes(slideEl)) return;
  7157. const isActive = swiper.slides.indexOf(slideEl) === swiper.activeIndex;
  7158. const isVisible = swiper.params.watchSlidesProgress && swiper.visibleSlides && swiper.visibleSlides.includes(slideEl);
  7159. if (isActive || isVisible) return;
  7160. if (swiper.isHorizontal()) {
  7161. swiper.el.scrollLeft = 0;
  7162. } else {
  7163. swiper.el.scrollTop = 0;
  7164. }
  7165. swiper.slideTo(swiper.slides.indexOf(slideEl), 0);
  7166. };
  7167. const initSlides = () => {
  7168. const params = swiper.params.a11y;
  7169. if (params.itemRoleDescriptionMessage) {
  7170. addElRoleDescription((0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(swiper.slides), params.itemRoleDescriptionMessage);
  7171. }
  7172. if (params.slideRole) {
  7173. addElRole((0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(swiper.slides), params.slideRole);
  7174. }
  7175. const slidesLength = swiper.params.loop ? swiper.slides.filter(el => !el.classList.contains(swiper.params.slideDuplicateClass)).length : swiper.slides.length;
  7176. if (params.slideLabelMessage) {
  7177. swiper.slides.each((slideEl, index) => {
  7178. const $slideEl = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(slideEl);
  7179. const slideIndex = swiper.params.loop ? parseInt($slideEl.attr('data-swiper-slide-index'), 10) : index;
  7180. const ariaLabelMessage = params.slideLabelMessage.replace(/\{\{index\}\}/, slideIndex + 1).replace(/\{\{slidesLength\}\}/, slidesLength);
  7181. addElLabel($slideEl, ariaLabelMessage);
  7182. });
  7183. }
  7184. };
  7185. const init = () => {
  7186. const params = swiper.params.a11y;
  7187. swiper.$el.append(liveRegion); // Container
  7188. const $containerEl = swiper.$el;
  7189. if (params.containerRoleDescriptionMessage) {
  7190. addElRoleDescription($containerEl, params.containerRoleDescriptionMessage);
  7191. }
  7192. if (params.containerMessage) {
  7193. addElLabel($containerEl, params.containerMessage);
  7194. } // Wrapper
  7195. const $wrapperEl = swiper.$wrapperEl;
  7196. const wrapperId = params.id || $wrapperEl.attr('id') || `swiper-wrapper-${getRandomNumber(16)}`;
  7197. const live = swiper.params.autoplay && swiper.params.autoplay.enabled ? 'off' : 'polite';
  7198. addElId($wrapperEl, wrapperId);
  7199. addElLive($wrapperEl, live); // Slide
  7200. initSlides(); // Navigation
  7201. let $nextEl;
  7202. let $prevEl;
  7203. if (swiper.navigation && swiper.navigation.$nextEl) {
  7204. $nextEl = swiper.navigation.$nextEl;
  7205. }
  7206. if (swiper.navigation && swiper.navigation.$prevEl) {
  7207. $prevEl = swiper.navigation.$prevEl;
  7208. }
  7209. if ($nextEl && $nextEl.length) {
  7210. initNavEl($nextEl, wrapperId, params.nextSlideMessage);
  7211. }
  7212. if ($prevEl && $prevEl.length) {
  7213. initNavEl($prevEl, wrapperId, params.prevSlideMessage);
  7214. } // Pagination
  7215. if (hasClickablePagination()) {
  7216. swiper.pagination.$el.on('keydown', (0,_shared_classes_to_selector_js__WEBPACK_IMPORTED_MODULE_0__["default"])(swiper.params.pagination.bulletClass), onEnterOrSpaceKey);
  7217. } // Tab focus
  7218. swiper.$el.on('focus', handleFocus, true);
  7219. swiper.$el.on('pointerdown', handlePointerDown, true);
  7220. swiper.$el.on('pointerup', handlePointerUp, true);
  7221. };
  7222. function destroy() {
  7223. if (liveRegion && liveRegion.length > 0) liveRegion.remove();
  7224. let $nextEl;
  7225. let $prevEl;
  7226. if (swiper.navigation && swiper.navigation.$nextEl) {
  7227. $nextEl = swiper.navigation.$nextEl;
  7228. }
  7229. if (swiper.navigation && swiper.navigation.$prevEl) {
  7230. $prevEl = swiper.navigation.$prevEl;
  7231. }
  7232. if ($nextEl) {
  7233. $nextEl.off('keydown', onEnterOrSpaceKey);
  7234. }
  7235. if ($prevEl) {
  7236. $prevEl.off('keydown', onEnterOrSpaceKey);
  7237. } // Pagination
  7238. if (hasClickablePagination()) {
  7239. swiper.pagination.$el.off('keydown', (0,_shared_classes_to_selector_js__WEBPACK_IMPORTED_MODULE_0__["default"])(swiper.params.pagination.bulletClass), onEnterOrSpaceKey);
  7240. } // Tab focus
  7241. swiper.$el.off('focus', handleFocus, true);
  7242. swiper.$el.off('pointerdown', handlePointerDown, true);
  7243. swiper.$el.off('pointerup', handlePointerUp, true);
  7244. }
  7245. on('beforeInit', () => {
  7246. liveRegion = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(`<span class="${swiper.params.a11y.notificationClass}" aria-live="assertive" aria-atomic="true"></span>`);
  7247. });
  7248. on('afterInit', () => {
  7249. if (!swiper.params.a11y.enabled) return;
  7250. init();
  7251. });
  7252. on('slidesLengthChange snapGridLengthChange slidesGridLengthChange', () => {
  7253. if (!swiper.params.a11y.enabled) return;
  7254. initSlides();
  7255. });
  7256. on('fromEdge toEdge afterInit lock unlock', () => {
  7257. if (!swiper.params.a11y.enabled) return;
  7258. updateNavigation();
  7259. });
  7260. on('paginationUpdate', () => {
  7261. if (!swiper.params.a11y.enabled) return;
  7262. updatePagination();
  7263. });
  7264. on('destroy', () => {
  7265. if (!swiper.params.a11y.enabled) return;
  7266. destroy();
  7267. });
  7268. }
  7269. /***/ }),
  7270. /***/ 4370:
  7271. /*!**********************************************************!*\
  7272. !*** ./node_modules/swiper/modules/autoplay/autoplay.js ***!
  7273. \**********************************************************/
  7274. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  7275. __webpack_require__.r(__webpack_exports__);
  7276. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  7277. /* harmony export */ "default": () => (/* binding */ Autoplay)
  7278. /* harmony export */ });
  7279. /* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ 2864);
  7280. /* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/utils.js */ 3809);
  7281. /* eslint no-underscore-dangle: "off" */
  7282. /* eslint no-use-before-define: "off" */
  7283. function Autoplay({
  7284. swiper,
  7285. extendParams,
  7286. on,
  7287. emit
  7288. }) {
  7289. let timeout;
  7290. swiper.autoplay = {
  7291. running: false,
  7292. paused: false
  7293. };
  7294. extendParams({
  7295. autoplay: {
  7296. enabled: false,
  7297. delay: 3000,
  7298. waitForTransition: true,
  7299. disableOnInteraction: true,
  7300. stopOnLastSlide: false,
  7301. reverseDirection: false,
  7302. pauseOnMouseEnter: false
  7303. }
  7304. });
  7305. function run() {
  7306. if (!swiper.size) {
  7307. swiper.autoplay.running = false;
  7308. swiper.autoplay.paused = false;
  7309. return;
  7310. }
  7311. const $activeSlideEl = swiper.slides.eq(swiper.activeIndex);
  7312. let delay = swiper.params.autoplay.delay;
  7313. if ($activeSlideEl.attr('data-swiper-autoplay')) {
  7314. delay = $activeSlideEl.attr('data-swiper-autoplay') || swiper.params.autoplay.delay;
  7315. }
  7316. clearTimeout(timeout);
  7317. timeout = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.nextTick)(() => {
  7318. let autoplayResult;
  7319. if (swiper.params.autoplay.reverseDirection) {
  7320. if (swiper.params.loop) {
  7321. swiper.loopFix();
  7322. autoplayResult = swiper.slidePrev(swiper.params.speed, true, true);
  7323. emit('autoplay');
  7324. } else if (!swiper.isBeginning) {
  7325. autoplayResult = swiper.slidePrev(swiper.params.speed, true, true);
  7326. emit('autoplay');
  7327. } else if (!swiper.params.autoplay.stopOnLastSlide) {
  7328. autoplayResult = swiper.slideTo(swiper.slides.length - 1, swiper.params.speed, true, true);
  7329. emit('autoplay');
  7330. } else {
  7331. stop();
  7332. }
  7333. } else if (swiper.params.loop) {
  7334. swiper.loopFix();
  7335. autoplayResult = swiper.slideNext(swiper.params.speed, true, true);
  7336. emit('autoplay');
  7337. } else if (!swiper.isEnd) {
  7338. autoplayResult = swiper.slideNext(swiper.params.speed, true, true);
  7339. emit('autoplay');
  7340. } else if (!swiper.params.autoplay.stopOnLastSlide) {
  7341. autoplayResult = swiper.slideTo(0, swiper.params.speed, true, true);
  7342. emit('autoplay');
  7343. } else {
  7344. stop();
  7345. }
  7346. if (swiper.params.cssMode && swiper.autoplay.running) run();else if (autoplayResult === false) {
  7347. run();
  7348. }
  7349. }, delay);
  7350. }
  7351. function start() {
  7352. if (typeof timeout !== 'undefined') return false;
  7353. if (swiper.autoplay.running) return false;
  7354. swiper.autoplay.running = true;
  7355. emit('autoplayStart');
  7356. run();
  7357. return true;
  7358. }
  7359. function stop() {
  7360. if (!swiper.autoplay.running) return false;
  7361. if (typeof timeout === 'undefined') return false;
  7362. if (timeout) {
  7363. clearTimeout(timeout);
  7364. timeout = undefined;
  7365. }
  7366. swiper.autoplay.running = false;
  7367. emit('autoplayStop');
  7368. return true;
  7369. }
  7370. function pause(speed) {
  7371. if (!swiper.autoplay.running) return;
  7372. if (swiper.autoplay.paused) return;
  7373. if (timeout) clearTimeout(timeout);
  7374. swiper.autoplay.paused = true;
  7375. if (speed === 0 || !swiper.params.autoplay.waitForTransition) {
  7376. swiper.autoplay.paused = false;
  7377. run();
  7378. } else {
  7379. ['transitionend', 'webkitTransitionEnd'].forEach(event => {
  7380. swiper.$wrapperEl[0].addEventListener(event, onTransitionEnd);
  7381. });
  7382. }
  7383. }
  7384. function onVisibilityChange() {
  7385. const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)();
  7386. if (document.visibilityState === 'hidden' && swiper.autoplay.running) {
  7387. pause();
  7388. }
  7389. if (document.visibilityState === 'visible' && swiper.autoplay.paused) {
  7390. run();
  7391. swiper.autoplay.paused = false;
  7392. }
  7393. }
  7394. function onTransitionEnd(e) {
  7395. if (!swiper || swiper.destroyed || !swiper.$wrapperEl) return;
  7396. if (e.target !== swiper.$wrapperEl[0]) return;
  7397. ['transitionend', 'webkitTransitionEnd'].forEach(event => {
  7398. swiper.$wrapperEl[0].removeEventListener(event, onTransitionEnd);
  7399. });
  7400. swiper.autoplay.paused = false;
  7401. if (!swiper.autoplay.running) {
  7402. stop();
  7403. } else {
  7404. run();
  7405. }
  7406. }
  7407. function onMouseEnter() {
  7408. if (swiper.params.autoplay.disableOnInteraction) {
  7409. stop();
  7410. } else {
  7411. emit('autoplayPause');
  7412. pause();
  7413. }
  7414. ['transitionend', 'webkitTransitionEnd'].forEach(event => {
  7415. swiper.$wrapperEl[0].removeEventListener(event, onTransitionEnd);
  7416. });
  7417. }
  7418. function onMouseLeave() {
  7419. if (swiper.params.autoplay.disableOnInteraction) {
  7420. return;
  7421. }
  7422. swiper.autoplay.paused = false;
  7423. emit('autoplayResume');
  7424. run();
  7425. }
  7426. function attachMouseEvents() {
  7427. if (swiper.params.autoplay.pauseOnMouseEnter) {
  7428. swiper.$el.on('mouseenter', onMouseEnter);
  7429. swiper.$el.on('mouseleave', onMouseLeave);
  7430. }
  7431. }
  7432. function detachMouseEvents() {
  7433. swiper.$el.off('mouseenter', onMouseEnter);
  7434. swiper.$el.off('mouseleave', onMouseLeave);
  7435. }
  7436. on('init', () => {
  7437. if (swiper.params.autoplay.enabled) {
  7438. start();
  7439. const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)();
  7440. document.addEventListener('visibilitychange', onVisibilityChange);
  7441. attachMouseEvents();
  7442. }
  7443. });
  7444. on('beforeTransitionStart', (_s, speed, internal) => {
  7445. if (swiper.autoplay.running) {
  7446. if (internal || !swiper.params.autoplay.disableOnInteraction) {
  7447. swiper.autoplay.pause(speed);
  7448. } else {
  7449. stop();
  7450. }
  7451. }
  7452. });
  7453. on('sliderFirstMove', () => {
  7454. if (swiper.autoplay.running) {
  7455. if (swiper.params.autoplay.disableOnInteraction) {
  7456. stop();
  7457. } else {
  7458. pause();
  7459. }
  7460. }
  7461. });
  7462. on('touchEnd', () => {
  7463. if (swiper.params.cssMode && swiper.autoplay.paused && !swiper.params.autoplay.disableOnInteraction) {
  7464. run();
  7465. }
  7466. });
  7467. on('destroy', () => {
  7468. detachMouseEvents();
  7469. if (swiper.autoplay.running) {
  7470. stop();
  7471. }
  7472. const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)();
  7473. document.removeEventListener('visibilitychange', onVisibilityChange);
  7474. });
  7475. Object.assign(swiper.autoplay, {
  7476. pause,
  7477. run,
  7478. start,
  7479. stop
  7480. });
  7481. }
  7482. /***/ }),
  7483. /***/ 3511:
  7484. /*!**************************************************************!*\
  7485. !*** ./node_modules/swiper/modules/controller/controller.js ***!
  7486. \**************************************************************/
  7487. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  7488. __webpack_require__.r(__webpack_exports__);
  7489. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  7490. /* harmony export */ "default": () => (/* binding */ Controller)
  7491. /* harmony export */ });
  7492. /* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/utils.js */ 3809);
  7493. /* eslint no-bitwise: ["error", { "allow": [">>"] }] */
  7494. function Controller({
  7495. swiper,
  7496. extendParams,
  7497. on
  7498. }) {
  7499. extendParams({
  7500. controller: {
  7501. control: undefined,
  7502. inverse: false,
  7503. by: 'slide' // or 'container'
  7504. }
  7505. });
  7506. swiper.controller = {
  7507. control: undefined
  7508. };
  7509. function LinearSpline(x, y) {
  7510. const binarySearch = function search() {
  7511. let maxIndex;
  7512. let minIndex;
  7513. let guess;
  7514. return (array, val) => {
  7515. minIndex = -1;
  7516. maxIndex = array.length;
  7517. while (maxIndex - minIndex > 1) {
  7518. guess = maxIndex + minIndex >> 1;
  7519. if (array[guess] <= val) {
  7520. minIndex = guess;
  7521. } else {
  7522. maxIndex = guess;
  7523. }
  7524. }
  7525. return maxIndex;
  7526. };
  7527. }();
  7528. this.x = x;
  7529. this.y = y;
  7530. this.lastIndex = x.length - 1; // Given an x value (x2), return the expected y2 value:
  7531. // (x1,y1) is the known point before given value,
  7532. // (x3,y3) is the known point after given value.
  7533. let i1;
  7534. let i3;
  7535. this.interpolate = function interpolate(x2) {
  7536. if (!x2) return 0; // Get the indexes of x1 and x3 (the array indexes before and after given x2):
  7537. i3 = binarySearch(this.x, x2);
  7538. i1 = i3 - 1; // We have our indexes i1 & i3, so we can calculate already:
  7539. // y2 := ((x2−x1) × (y3−y1)) ÷ (x3−x1) + y1
  7540. return (x2 - this.x[i1]) * (this.y[i3] - this.y[i1]) / (this.x[i3] - this.x[i1]) + this.y[i1];
  7541. };
  7542. return this;
  7543. } // xxx: for now i will just save one spline function to to
  7544. function getInterpolateFunction(c) {
  7545. if (!swiper.controller.spline) {
  7546. swiper.controller.spline = swiper.params.loop ? new LinearSpline(swiper.slidesGrid, c.slidesGrid) : new LinearSpline(swiper.snapGrid, c.snapGrid);
  7547. }
  7548. }
  7549. function setTranslate(_t, byController) {
  7550. const controlled = swiper.controller.control;
  7551. let multiplier;
  7552. let controlledTranslate;
  7553. const Swiper = swiper.constructor;
  7554. function setControlledTranslate(c) {
  7555. // this will create an Interpolate function based on the snapGrids
  7556. // x is the Grid of the scrolled scroller and y will be the controlled scroller
  7557. // it makes sense to create this only once and recall it for the interpolation
  7558. // the function does a lot of value caching for performance
  7559. const translate = swiper.rtlTranslate ? -swiper.translate : swiper.translate;
  7560. if (swiper.params.controller.by === 'slide') {
  7561. getInterpolateFunction(c); // i am not sure why the values have to be multiplicated this way, tried to invert the snapGrid
  7562. // but it did not work out
  7563. controlledTranslate = -swiper.controller.spline.interpolate(-translate);
  7564. }
  7565. if (!controlledTranslate || swiper.params.controller.by === 'container') {
  7566. multiplier = (c.maxTranslate() - c.minTranslate()) / (swiper.maxTranslate() - swiper.minTranslate());
  7567. controlledTranslate = (translate - swiper.minTranslate()) * multiplier + c.minTranslate();
  7568. }
  7569. if (swiper.params.controller.inverse) {
  7570. controlledTranslate = c.maxTranslate() - controlledTranslate;
  7571. }
  7572. c.updateProgress(controlledTranslate);
  7573. c.setTranslate(controlledTranslate, swiper);
  7574. c.updateActiveIndex();
  7575. c.updateSlidesClasses();
  7576. }
  7577. if (Array.isArray(controlled)) {
  7578. for (let i = 0; i < controlled.length; i += 1) {
  7579. if (controlled[i] !== byController && controlled[i] instanceof Swiper) {
  7580. setControlledTranslate(controlled[i]);
  7581. }
  7582. }
  7583. } else if (controlled instanceof Swiper && byController !== controlled) {
  7584. setControlledTranslate(controlled);
  7585. }
  7586. }
  7587. function setTransition(duration, byController) {
  7588. const Swiper = swiper.constructor;
  7589. const controlled = swiper.controller.control;
  7590. let i;
  7591. function setControlledTransition(c) {
  7592. c.setTransition(duration, swiper);
  7593. if (duration !== 0) {
  7594. c.transitionStart();
  7595. if (c.params.autoHeight) {
  7596. (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.nextTick)(() => {
  7597. c.updateAutoHeight();
  7598. });
  7599. }
  7600. c.$wrapperEl.transitionEnd(() => {
  7601. if (!controlled) return;
  7602. if (c.params.loop && swiper.params.controller.by === 'slide') {
  7603. c.loopFix();
  7604. }
  7605. c.transitionEnd();
  7606. });
  7607. }
  7608. }
  7609. if (Array.isArray(controlled)) {
  7610. for (i = 0; i < controlled.length; i += 1) {
  7611. if (controlled[i] !== byController && controlled[i] instanceof Swiper) {
  7612. setControlledTransition(controlled[i]);
  7613. }
  7614. }
  7615. } else if (controlled instanceof Swiper && byController !== controlled) {
  7616. setControlledTransition(controlled);
  7617. }
  7618. }
  7619. function removeSpline() {
  7620. if (!swiper.controller.control) return;
  7621. if (swiper.controller.spline) {
  7622. swiper.controller.spline = undefined;
  7623. delete swiper.controller.spline;
  7624. }
  7625. }
  7626. on('beforeInit', () => {
  7627. swiper.controller.control = swiper.params.controller.control;
  7628. });
  7629. on('update', () => {
  7630. removeSpline();
  7631. });
  7632. on('resize', () => {
  7633. removeSpline();
  7634. });
  7635. on('observerUpdate', () => {
  7636. removeSpline();
  7637. });
  7638. on('setTranslate', (_s, translate, byController) => {
  7639. if (!swiper.controller.control) return;
  7640. swiper.controller.setTranslate(translate, byController);
  7641. });
  7642. on('setTransition', (_s, duration, byController) => {
  7643. if (!swiper.controller.control) return;
  7644. swiper.controller.setTransition(duration, byController);
  7645. });
  7646. Object.assign(swiper.controller, {
  7647. setTranslate,
  7648. setTransition
  7649. });
  7650. }
  7651. /***/ }),
  7652. /***/ 219:
  7653. /*!******************************************************************!*\
  7654. !*** ./node_modules/swiper/modules/effect-cards/effect-cards.js ***!
  7655. \******************************************************************/
  7656. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  7657. __webpack_require__.r(__webpack_exports__);
  7658. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  7659. /* harmony export */ "default": () => (/* binding */ EffectCards)
  7660. /* harmony export */ });
  7661. /* harmony import */ var _shared_create_shadow_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/create-shadow.js */ 5998);
  7662. /* harmony import */ var _shared_effect_init_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/effect-init.js */ 9716);
  7663. /* harmony import */ var _shared_effect_target_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../shared/effect-target.js */ 8538);
  7664. /* harmony import */ var _shared_effect_virtual_transition_end_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../shared/effect-virtual-transition-end.js */ 814);
  7665. function EffectCards({
  7666. swiper,
  7667. extendParams,
  7668. on
  7669. }) {
  7670. extendParams({
  7671. cardsEffect: {
  7672. slideShadows: true,
  7673. transformEl: null,
  7674. rotate: true,
  7675. perSlideRotate: 2,
  7676. perSlideOffset: 8
  7677. }
  7678. });
  7679. const setTranslate = () => {
  7680. const {
  7681. slides,
  7682. activeIndex
  7683. } = swiper;
  7684. const params = swiper.params.cardsEffect;
  7685. const {
  7686. startTranslate,
  7687. isTouched
  7688. } = swiper.touchEventsData;
  7689. const currentTranslate = swiper.translate;
  7690. for (let i = 0; i < slides.length; i += 1) {
  7691. const $slideEl = slides.eq(i);
  7692. const slideProgress = $slideEl[0].progress;
  7693. const progress = Math.min(Math.max(slideProgress, -4), 4);
  7694. let offset = $slideEl[0].swiperSlideOffset;
  7695. if (swiper.params.centeredSlides && !swiper.params.cssMode) {
  7696. swiper.$wrapperEl.transform(`translateX(${swiper.minTranslate()}px)`);
  7697. }
  7698. if (swiper.params.centeredSlides && swiper.params.cssMode) {
  7699. offset -= slides[0].swiperSlideOffset;
  7700. }
  7701. let tX = swiper.params.cssMode ? -offset - swiper.translate : -offset;
  7702. let tY = 0;
  7703. const tZ = -100 * Math.abs(progress);
  7704. let scale = 1;
  7705. let rotate = -params.perSlideRotate * progress;
  7706. let tXAdd = params.perSlideOffset - Math.abs(progress) * 0.75;
  7707. const slideIndex = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.from + i : i;
  7708. const isSwipeToNext = (slideIndex === activeIndex || slideIndex === activeIndex - 1) && progress > 0 && progress < 1 && (isTouched || swiper.params.cssMode) && currentTranslate < startTranslate;
  7709. const isSwipeToPrev = (slideIndex === activeIndex || slideIndex === activeIndex + 1) && progress < 0 && progress > -1 && (isTouched || swiper.params.cssMode) && currentTranslate > startTranslate;
  7710. if (isSwipeToNext || isSwipeToPrev) {
  7711. const subProgress = (1 - Math.abs((Math.abs(progress) - 0.5) / 0.5)) ** 0.5;
  7712. rotate += -28 * progress * subProgress;
  7713. scale += -0.5 * subProgress;
  7714. tXAdd += 96 * subProgress;
  7715. tY = `${-25 * subProgress * Math.abs(progress)}%`;
  7716. }
  7717. if (progress < 0) {
  7718. // next
  7719. tX = `calc(${tX}px + (${tXAdd * Math.abs(progress)}%))`;
  7720. } else if (progress > 0) {
  7721. // prev
  7722. tX = `calc(${tX}px + (-${tXAdd * Math.abs(progress)}%))`;
  7723. } else {
  7724. tX = `${tX}px`;
  7725. }
  7726. if (!swiper.isHorizontal()) {
  7727. const prevY = tY;
  7728. tY = tX;
  7729. tX = prevY;
  7730. }
  7731. const scaleString = progress < 0 ? `${1 + (1 - scale) * progress}` : `${1 - (1 - scale) * progress}`;
  7732. const transform = `
  7733. translate3d(${tX}, ${tY}, ${tZ}px)
  7734. rotateZ(${params.rotate ? rotate : 0}deg)
  7735. scale(${scaleString})
  7736. `;
  7737. if (params.slideShadows) {
  7738. // Set shadows
  7739. let $shadowEl = $slideEl.find('.swiper-slide-shadow');
  7740. if ($shadowEl.length === 0) {
  7741. $shadowEl = (0,_shared_create_shadow_js__WEBPACK_IMPORTED_MODULE_0__["default"])(params, $slideEl);
  7742. }
  7743. if ($shadowEl.length) $shadowEl[0].style.opacity = Math.min(Math.max((Math.abs(progress) - 0.5) / 0.5, 0), 1);
  7744. }
  7745. $slideEl[0].style.zIndex = -Math.abs(Math.round(slideProgress)) + slides.length;
  7746. const $targetEl = (0,_shared_effect_target_js__WEBPACK_IMPORTED_MODULE_2__["default"])(params, $slideEl);
  7747. $targetEl.transform(transform);
  7748. }
  7749. };
  7750. const setTransition = duration => {
  7751. const {
  7752. transformEl
  7753. } = swiper.params.cardsEffect;
  7754. const $transitionElements = transformEl ? swiper.slides.find(transformEl) : swiper.slides;
  7755. $transitionElements.transition(duration).find('.swiper-slide-shadow').transition(duration);
  7756. (0,_shared_effect_virtual_transition_end_js__WEBPACK_IMPORTED_MODULE_3__["default"])({
  7757. swiper,
  7758. duration,
  7759. transformEl
  7760. });
  7761. };
  7762. (0,_shared_effect_init_js__WEBPACK_IMPORTED_MODULE_1__["default"])({
  7763. effect: 'cards',
  7764. swiper,
  7765. on,
  7766. setTranslate,
  7767. setTransition,
  7768. perspective: () => true,
  7769. overwriteParams: () => ({
  7770. watchSlidesProgress: true,
  7771. virtualTranslate: !swiper.params.cssMode
  7772. })
  7773. });
  7774. }
  7775. /***/ }),
  7776. /***/ 8003:
  7777. /*!**************************************************************************!*\
  7778. !*** ./node_modules/swiper/modules/effect-coverflow/effect-coverflow.js ***!
  7779. \**************************************************************************/
  7780. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  7781. __webpack_require__.r(__webpack_exports__);
  7782. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  7783. /* harmony export */ "default": () => (/* binding */ EffectCoverflow)
  7784. /* harmony export */ });
  7785. /* harmony import */ var _shared_create_shadow_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/create-shadow.js */ 5998);
  7786. /* harmony import */ var _shared_effect_init_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/effect-init.js */ 9716);
  7787. /* harmony import */ var _shared_effect_target_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../shared/effect-target.js */ 8538);
  7788. function EffectCoverflow({
  7789. swiper,
  7790. extendParams,
  7791. on
  7792. }) {
  7793. extendParams({
  7794. coverflowEffect: {
  7795. rotate: 50,
  7796. stretch: 0,
  7797. depth: 100,
  7798. scale: 1,
  7799. modifier: 1,
  7800. slideShadows: true,
  7801. transformEl: null
  7802. }
  7803. });
  7804. const setTranslate = () => {
  7805. const {
  7806. width: swiperWidth,
  7807. height: swiperHeight,
  7808. slides,
  7809. slidesSizesGrid
  7810. } = swiper;
  7811. const params = swiper.params.coverflowEffect;
  7812. const isHorizontal = swiper.isHorizontal();
  7813. const transform = swiper.translate;
  7814. const center = isHorizontal ? -transform + swiperWidth / 2 : -transform + swiperHeight / 2;
  7815. const rotate = isHorizontal ? params.rotate : -params.rotate;
  7816. const translate = params.depth; // Each slide offset from center
  7817. for (let i = 0, length = slides.length; i < length; i += 1) {
  7818. const $slideEl = slides.eq(i);
  7819. const slideSize = slidesSizesGrid[i];
  7820. const slideOffset = $slideEl[0].swiperSlideOffset;
  7821. const centerOffset = (center - slideOffset - slideSize / 2) / slideSize;
  7822. const offsetMultiplier = typeof params.modifier === 'function' ? params.modifier(centerOffset) : centerOffset * params.modifier;
  7823. let rotateY = isHorizontal ? rotate * offsetMultiplier : 0;
  7824. let rotateX = isHorizontal ? 0 : rotate * offsetMultiplier; // var rotateZ = 0
  7825. let translateZ = -translate * Math.abs(offsetMultiplier);
  7826. let stretch = params.stretch; // Allow percentage to make a relative stretch for responsive sliders
  7827. if (typeof stretch === 'string' && stretch.indexOf('%') !== -1) {
  7828. stretch = parseFloat(params.stretch) / 100 * slideSize;
  7829. }
  7830. let translateY = isHorizontal ? 0 : stretch * offsetMultiplier;
  7831. let translateX = isHorizontal ? stretch * offsetMultiplier : 0;
  7832. let scale = 1 - (1 - params.scale) * Math.abs(offsetMultiplier); // Fix for ultra small values
  7833. if (Math.abs(translateX) < 0.001) translateX = 0;
  7834. if (Math.abs(translateY) < 0.001) translateY = 0;
  7835. if (Math.abs(translateZ) < 0.001) translateZ = 0;
  7836. if (Math.abs(rotateY) < 0.001) rotateY = 0;
  7837. if (Math.abs(rotateX) < 0.001) rotateX = 0;
  7838. if (Math.abs(scale) < 0.001) scale = 0;
  7839. const slideTransform = `translate3d(${translateX}px,${translateY}px,${translateZ}px) rotateX(${rotateX}deg) rotateY(${rotateY}deg) scale(${scale})`;
  7840. const $targetEl = (0,_shared_effect_target_js__WEBPACK_IMPORTED_MODULE_2__["default"])(params, $slideEl);
  7841. $targetEl.transform(slideTransform);
  7842. $slideEl[0].style.zIndex = -Math.abs(Math.round(offsetMultiplier)) + 1;
  7843. if (params.slideShadows) {
  7844. // Set shadows
  7845. let $shadowBeforeEl = isHorizontal ? $slideEl.find('.swiper-slide-shadow-left') : $slideEl.find('.swiper-slide-shadow-top');
  7846. let $shadowAfterEl = isHorizontal ? $slideEl.find('.swiper-slide-shadow-right') : $slideEl.find('.swiper-slide-shadow-bottom');
  7847. if ($shadowBeforeEl.length === 0) {
  7848. $shadowBeforeEl = (0,_shared_create_shadow_js__WEBPACK_IMPORTED_MODULE_0__["default"])(params, $slideEl, isHorizontal ? 'left' : 'top');
  7849. }
  7850. if ($shadowAfterEl.length === 0) {
  7851. $shadowAfterEl = (0,_shared_create_shadow_js__WEBPACK_IMPORTED_MODULE_0__["default"])(params, $slideEl, isHorizontal ? 'right' : 'bottom');
  7852. }
  7853. if ($shadowBeforeEl.length) $shadowBeforeEl[0].style.opacity = offsetMultiplier > 0 ? offsetMultiplier : 0;
  7854. if ($shadowAfterEl.length) $shadowAfterEl[0].style.opacity = -offsetMultiplier > 0 ? -offsetMultiplier : 0;
  7855. }
  7856. }
  7857. };
  7858. const setTransition = duration => {
  7859. const {
  7860. transformEl
  7861. } = swiper.params.coverflowEffect;
  7862. const $transitionElements = transformEl ? swiper.slides.find(transformEl) : swiper.slides;
  7863. $transitionElements.transition(duration).find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').transition(duration);
  7864. };
  7865. (0,_shared_effect_init_js__WEBPACK_IMPORTED_MODULE_1__["default"])({
  7866. effect: 'coverflow',
  7867. swiper,
  7868. on,
  7869. setTranslate,
  7870. setTransition,
  7871. perspective: () => true,
  7872. overwriteParams: () => ({
  7873. watchSlidesProgress: true
  7874. })
  7875. });
  7876. }
  7877. /***/ }),
  7878. /***/ 1609:
  7879. /*!************************************************************************!*\
  7880. !*** ./node_modules/swiper/modules/effect-creative/effect-creative.js ***!
  7881. \************************************************************************/
  7882. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  7883. __webpack_require__.r(__webpack_exports__);
  7884. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  7885. /* harmony export */ "default": () => (/* binding */ EffectCreative)
  7886. /* harmony export */ });
  7887. /* harmony import */ var _shared_create_shadow_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/create-shadow.js */ 5998);
  7888. /* harmony import */ var _shared_effect_init_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/effect-init.js */ 9716);
  7889. /* harmony import */ var _shared_effect_target_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../shared/effect-target.js */ 8538);
  7890. /* harmony import */ var _shared_effect_virtual_transition_end_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../shared/effect-virtual-transition-end.js */ 814);
  7891. function EffectCreative({
  7892. swiper,
  7893. extendParams,
  7894. on
  7895. }) {
  7896. extendParams({
  7897. creativeEffect: {
  7898. transformEl: null,
  7899. limitProgress: 1,
  7900. shadowPerProgress: false,
  7901. progressMultiplier: 1,
  7902. perspective: true,
  7903. prev: {
  7904. translate: [0, 0, 0],
  7905. rotate: [0, 0, 0],
  7906. opacity: 1,
  7907. scale: 1
  7908. },
  7909. next: {
  7910. translate: [0, 0, 0],
  7911. rotate: [0, 0, 0],
  7912. opacity: 1,
  7913. scale: 1
  7914. }
  7915. }
  7916. });
  7917. const getTranslateValue = value => {
  7918. if (typeof value === 'string') return value;
  7919. return `${value}px`;
  7920. };
  7921. const setTranslate = () => {
  7922. const {
  7923. slides,
  7924. $wrapperEl,
  7925. slidesSizesGrid
  7926. } = swiper;
  7927. const params = swiper.params.creativeEffect;
  7928. const {
  7929. progressMultiplier: multiplier
  7930. } = params;
  7931. const isCenteredSlides = swiper.params.centeredSlides;
  7932. if (isCenteredSlides) {
  7933. const margin = slidesSizesGrid[0] / 2 - swiper.params.slidesOffsetBefore || 0;
  7934. $wrapperEl.transform(`translateX(calc(50% - ${margin}px))`);
  7935. }
  7936. for (let i = 0; i < slides.length; i += 1) {
  7937. const $slideEl = slides.eq(i);
  7938. const slideProgress = $slideEl[0].progress;
  7939. const progress = Math.min(Math.max($slideEl[0].progress, -params.limitProgress), params.limitProgress);
  7940. let originalProgress = progress;
  7941. if (!isCenteredSlides) {
  7942. originalProgress = Math.min(Math.max($slideEl[0].originalProgress, -params.limitProgress), params.limitProgress);
  7943. }
  7944. const offset = $slideEl[0].swiperSlideOffset;
  7945. const t = [swiper.params.cssMode ? -offset - swiper.translate : -offset, 0, 0];
  7946. const r = [0, 0, 0];
  7947. let custom = false;
  7948. if (!swiper.isHorizontal()) {
  7949. t[1] = t[0];
  7950. t[0] = 0;
  7951. }
  7952. let data = {
  7953. translate: [0, 0, 0],
  7954. rotate: [0, 0, 0],
  7955. scale: 1,
  7956. opacity: 1
  7957. };
  7958. if (progress < 0) {
  7959. data = params.next;
  7960. custom = true;
  7961. } else if (progress > 0) {
  7962. data = params.prev;
  7963. custom = true;
  7964. } // set translate
  7965. t.forEach((value, index) => {
  7966. t[index] = `calc(${value}px + (${getTranslateValue(data.translate[index])} * ${Math.abs(progress * multiplier)}))`;
  7967. }); // set rotates
  7968. r.forEach((value, index) => {
  7969. r[index] = data.rotate[index] * Math.abs(progress * multiplier);
  7970. });
  7971. $slideEl[0].style.zIndex = -Math.abs(Math.round(slideProgress)) + slides.length;
  7972. const translateString = t.join(', ');
  7973. const rotateString = `rotateX(${r[0]}deg) rotateY(${r[1]}deg) rotateZ(${r[2]}deg)`;
  7974. const scaleString = originalProgress < 0 ? `scale(${1 + (1 - data.scale) * originalProgress * multiplier})` : `scale(${1 - (1 - data.scale) * originalProgress * multiplier})`;
  7975. const opacityString = originalProgress < 0 ? 1 + (1 - data.opacity) * originalProgress * multiplier : 1 - (1 - data.opacity) * originalProgress * multiplier;
  7976. const transform = `translate3d(${translateString}) ${rotateString} ${scaleString}`; // Set shadows
  7977. if (custom && data.shadow || !custom) {
  7978. let $shadowEl = $slideEl.children('.swiper-slide-shadow');
  7979. if ($shadowEl.length === 0 && data.shadow) {
  7980. $shadowEl = (0,_shared_create_shadow_js__WEBPACK_IMPORTED_MODULE_0__["default"])(params, $slideEl);
  7981. }
  7982. if ($shadowEl.length) {
  7983. const shadowOpacity = params.shadowPerProgress ? progress * (1 / params.limitProgress) : progress;
  7984. $shadowEl[0].style.opacity = Math.min(Math.max(Math.abs(shadowOpacity), 0), 1);
  7985. }
  7986. }
  7987. const $targetEl = (0,_shared_effect_target_js__WEBPACK_IMPORTED_MODULE_2__["default"])(params, $slideEl);
  7988. $targetEl.transform(transform).css({
  7989. opacity: opacityString
  7990. });
  7991. if (data.origin) {
  7992. $targetEl.css('transform-origin', data.origin);
  7993. }
  7994. }
  7995. };
  7996. const setTransition = duration => {
  7997. const {
  7998. transformEl
  7999. } = swiper.params.creativeEffect;
  8000. const $transitionElements = transformEl ? swiper.slides.find(transformEl) : swiper.slides;
  8001. $transitionElements.transition(duration).find('.swiper-slide-shadow').transition(duration);
  8002. (0,_shared_effect_virtual_transition_end_js__WEBPACK_IMPORTED_MODULE_3__["default"])({
  8003. swiper,
  8004. duration,
  8005. transformEl,
  8006. allSlides: true
  8007. });
  8008. };
  8009. (0,_shared_effect_init_js__WEBPACK_IMPORTED_MODULE_1__["default"])({
  8010. effect: 'creative',
  8011. swiper,
  8012. on,
  8013. setTranslate,
  8014. setTransition,
  8015. perspective: () => swiper.params.creativeEffect.perspective,
  8016. overwriteParams: () => ({
  8017. watchSlidesProgress: true,
  8018. virtualTranslate: !swiper.params.cssMode
  8019. })
  8020. });
  8021. }
  8022. /***/ }),
  8023. /***/ 4944:
  8024. /*!****************************************************************!*\
  8025. !*** ./node_modules/swiper/modules/effect-cube/effect-cube.js ***!
  8026. \****************************************************************/
  8027. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  8028. __webpack_require__.r(__webpack_exports__);
  8029. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  8030. /* harmony export */ "default": () => (/* binding */ EffectCube)
  8031. /* harmony export */ });
  8032. /* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/dom.js */ 6007);
  8033. /* harmony import */ var _shared_effect_init_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/effect-init.js */ 9716);
  8034. function EffectCube({
  8035. swiper,
  8036. extendParams,
  8037. on
  8038. }) {
  8039. extendParams({
  8040. cubeEffect: {
  8041. slideShadows: true,
  8042. shadow: true,
  8043. shadowOffset: 20,
  8044. shadowScale: 0.94
  8045. }
  8046. });
  8047. const createSlideShadows = ($slideEl, progress, isHorizontal) => {
  8048. let shadowBefore = isHorizontal ? $slideEl.find('.swiper-slide-shadow-left') : $slideEl.find('.swiper-slide-shadow-top');
  8049. let shadowAfter = isHorizontal ? $slideEl.find('.swiper-slide-shadow-right') : $slideEl.find('.swiper-slide-shadow-bottom');
  8050. if (shadowBefore.length === 0) {
  8051. shadowBefore = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_0__["default"])(`<div class="swiper-slide-shadow-${isHorizontal ? 'left' : 'top'}"></div>`);
  8052. $slideEl.append(shadowBefore);
  8053. }
  8054. if (shadowAfter.length === 0) {
  8055. shadowAfter = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_0__["default"])(`<div class="swiper-slide-shadow-${isHorizontal ? 'right' : 'bottom'}"></div>`);
  8056. $slideEl.append(shadowAfter);
  8057. }
  8058. if (shadowBefore.length) shadowBefore[0].style.opacity = Math.max(-progress, 0);
  8059. if (shadowAfter.length) shadowAfter[0].style.opacity = Math.max(progress, 0);
  8060. };
  8061. const recreateShadows = () => {
  8062. // create new ones
  8063. const isHorizontal = swiper.isHorizontal();
  8064. swiper.slides.each(slideEl => {
  8065. const progress = Math.max(Math.min(slideEl.progress, 1), -1);
  8066. createSlideShadows((0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_0__["default"])(slideEl), progress, isHorizontal);
  8067. });
  8068. };
  8069. const setTranslate = () => {
  8070. const {
  8071. $el,
  8072. $wrapperEl,
  8073. slides,
  8074. width: swiperWidth,
  8075. height: swiperHeight,
  8076. rtlTranslate: rtl,
  8077. size: swiperSize,
  8078. browser
  8079. } = swiper;
  8080. const params = swiper.params.cubeEffect;
  8081. const isHorizontal = swiper.isHorizontal();
  8082. const isVirtual = swiper.virtual && swiper.params.virtual.enabled;
  8083. let wrapperRotate = 0;
  8084. let $cubeShadowEl;
  8085. if (params.shadow) {
  8086. if (isHorizontal) {
  8087. $cubeShadowEl = $wrapperEl.find('.swiper-cube-shadow');
  8088. if ($cubeShadowEl.length === 0) {
  8089. $cubeShadowEl = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_0__["default"])('<div class="swiper-cube-shadow"></div>');
  8090. $wrapperEl.append($cubeShadowEl);
  8091. }
  8092. $cubeShadowEl.css({
  8093. height: `${swiperWidth}px`
  8094. });
  8095. } else {
  8096. $cubeShadowEl = $el.find('.swiper-cube-shadow');
  8097. if ($cubeShadowEl.length === 0) {
  8098. $cubeShadowEl = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_0__["default"])('<div class="swiper-cube-shadow"></div>');
  8099. $el.append($cubeShadowEl);
  8100. }
  8101. }
  8102. }
  8103. for (let i = 0; i < slides.length; i += 1) {
  8104. const $slideEl = slides.eq(i);
  8105. let slideIndex = i;
  8106. if (isVirtual) {
  8107. slideIndex = parseInt($slideEl.attr('data-swiper-slide-index'), 10);
  8108. }
  8109. let slideAngle = slideIndex * 90;
  8110. let round = Math.floor(slideAngle / 360);
  8111. if (rtl) {
  8112. slideAngle = -slideAngle;
  8113. round = Math.floor(-slideAngle / 360);
  8114. }
  8115. const progress = Math.max(Math.min($slideEl[0].progress, 1), -1);
  8116. let tx = 0;
  8117. let ty = 0;
  8118. let tz = 0;
  8119. if (slideIndex % 4 === 0) {
  8120. tx = -round * 4 * swiperSize;
  8121. tz = 0;
  8122. } else if ((slideIndex - 1) % 4 === 0) {
  8123. tx = 0;
  8124. tz = -round * 4 * swiperSize;
  8125. } else if ((slideIndex - 2) % 4 === 0) {
  8126. tx = swiperSize + round * 4 * swiperSize;
  8127. tz = swiperSize;
  8128. } else if ((slideIndex - 3) % 4 === 0) {
  8129. tx = -swiperSize;
  8130. tz = 3 * swiperSize + swiperSize * 4 * round;
  8131. }
  8132. if (rtl) {
  8133. tx = -tx;
  8134. }
  8135. if (!isHorizontal) {
  8136. ty = tx;
  8137. tx = 0;
  8138. }
  8139. const transform = `rotateX(${isHorizontal ? 0 : -slideAngle}deg) rotateY(${isHorizontal ? slideAngle : 0}deg) translate3d(${tx}px, ${ty}px, ${tz}px)`;
  8140. if (progress <= 1 && progress > -1) {
  8141. wrapperRotate = slideIndex * 90 + progress * 90;
  8142. if (rtl) wrapperRotate = -slideIndex * 90 - progress * 90;
  8143. }
  8144. $slideEl.transform(transform);
  8145. if (params.slideShadows) {
  8146. createSlideShadows($slideEl, progress, isHorizontal);
  8147. }
  8148. }
  8149. $wrapperEl.css({
  8150. '-webkit-transform-origin': `50% 50% -${swiperSize / 2}px`,
  8151. 'transform-origin': `50% 50% -${swiperSize / 2}px`
  8152. });
  8153. if (params.shadow) {
  8154. if (isHorizontal) {
  8155. $cubeShadowEl.transform(`translate3d(0px, ${swiperWidth / 2 + params.shadowOffset}px, ${-swiperWidth / 2}px) rotateX(90deg) rotateZ(0deg) scale(${params.shadowScale})`);
  8156. } else {
  8157. const shadowAngle = Math.abs(wrapperRotate) - Math.floor(Math.abs(wrapperRotate) / 90) * 90;
  8158. const multiplier = 1.5 - (Math.sin(shadowAngle * 2 * Math.PI / 360) / 2 + Math.cos(shadowAngle * 2 * Math.PI / 360) / 2);
  8159. const scale1 = params.shadowScale;
  8160. const scale2 = params.shadowScale / multiplier;
  8161. const offset = params.shadowOffset;
  8162. $cubeShadowEl.transform(`scale3d(${scale1}, 1, ${scale2}) translate3d(0px, ${swiperHeight / 2 + offset}px, ${-swiperHeight / 2 / scale2}px) rotateX(-90deg)`);
  8163. }
  8164. }
  8165. const zFactor = browser.isSafari || browser.isWebView ? -swiperSize / 2 : 0;
  8166. $wrapperEl.transform(`translate3d(0px,0,${zFactor}px) rotateX(${swiper.isHorizontal() ? 0 : wrapperRotate}deg) rotateY(${swiper.isHorizontal() ? -wrapperRotate : 0}deg)`);
  8167. $wrapperEl[0].style.setProperty('--swiper-cube-translate-z', `${zFactor}px`);
  8168. };
  8169. const setTransition = duration => {
  8170. const {
  8171. $el,
  8172. slides
  8173. } = swiper;
  8174. slides.transition(duration).find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').transition(duration);
  8175. if (swiper.params.cubeEffect.shadow && !swiper.isHorizontal()) {
  8176. $el.find('.swiper-cube-shadow').transition(duration);
  8177. }
  8178. };
  8179. (0,_shared_effect_init_js__WEBPACK_IMPORTED_MODULE_1__["default"])({
  8180. effect: 'cube',
  8181. swiper,
  8182. on,
  8183. setTranslate,
  8184. setTransition,
  8185. recreateShadows,
  8186. getEffectParams: () => swiper.params.cubeEffect,
  8187. perspective: () => true,
  8188. overwriteParams: () => ({
  8189. slidesPerView: 1,
  8190. slidesPerGroup: 1,
  8191. watchSlidesProgress: true,
  8192. resistanceRatio: 0,
  8193. spaceBetween: 0,
  8194. centeredSlides: false,
  8195. virtualTranslate: true
  8196. })
  8197. });
  8198. }
  8199. /***/ }),
  8200. /***/ 9366:
  8201. /*!****************************************************************!*\
  8202. !*** ./node_modules/swiper/modules/effect-fade/effect-fade.js ***!
  8203. \****************************************************************/
  8204. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  8205. __webpack_require__.r(__webpack_exports__);
  8206. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  8207. /* harmony export */ "default": () => (/* binding */ EffectFade)
  8208. /* harmony export */ });
  8209. /* harmony import */ var _shared_effect_init_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/effect-init.js */ 9716);
  8210. /* harmony import */ var _shared_effect_target_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/effect-target.js */ 8538);
  8211. /* harmony import */ var _shared_effect_virtual_transition_end_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../shared/effect-virtual-transition-end.js */ 814);
  8212. function EffectFade({
  8213. swiper,
  8214. extendParams,
  8215. on
  8216. }) {
  8217. extendParams({
  8218. fadeEffect: {
  8219. crossFade: false,
  8220. transformEl: null
  8221. }
  8222. });
  8223. const setTranslate = () => {
  8224. const {
  8225. slides
  8226. } = swiper;
  8227. const params = swiper.params.fadeEffect;
  8228. for (let i = 0; i < slides.length; i += 1) {
  8229. const $slideEl = swiper.slides.eq(i);
  8230. const offset = $slideEl[0].swiperSlideOffset;
  8231. let tx = -offset;
  8232. if (!swiper.params.virtualTranslate) tx -= swiper.translate;
  8233. let ty = 0;
  8234. if (!swiper.isHorizontal()) {
  8235. ty = tx;
  8236. tx = 0;
  8237. }
  8238. const slideOpacity = swiper.params.fadeEffect.crossFade ? Math.max(1 - Math.abs($slideEl[0].progress), 0) : 1 + Math.min(Math.max($slideEl[0].progress, -1), 0);
  8239. const $targetEl = (0,_shared_effect_target_js__WEBPACK_IMPORTED_MODULE_1__["default"])(params, $slideEl);
  8240. $targetEl.css({
  8241. opacity: slideOpacity
  8242. }).transform(`translate3d(${tx}px, ${ty}px, 0px)`);
  8243. }
  8244. };
  8245. const setTransition = duration => {
  8246. const {
  8247. transformEl
  8248. } = swiper.params.fadeEffect;
  8249. const $transitionElements = transformEl ? swiper.slides.find(transformEl) : swiper.slides;
  8250. $transitionElements.transition(duration);
  8251. (0,_shared_effect_virtual_transition_end_js__WEBPACK_IMPORTED_MODULE_2__["default"])({
  8252. swiper,
  8253. duration,
  8254. transformEl,
  8255. allSlides: true
  8256. });
  8257. };
  8258. (0,_shared_effect_init_js__WEBPACK_IMPORTED_MODULE_0__["default"])({
  8259. effect: 'fade',
  8260. swiper,
  8261. on,
  8262. setTranslate,
  8263. setTransition,
  8264. overwriteParams: () => ({
  8265. slidesPerView: 1,
  8266. slidesPerGroup: 1,
  8267. watchSlidesProgress: true,
  8268. spaceBetween: 0,
  8269. virtualTranslate: !swiper.params.cssMode
  8270. })
  8271. });
  8272. }
  8273. /***/ }),
  8274. /***/ 3788:
  8275. /*!****************************************************************!*\
  8276. !*** ./node_modules/swiper/modules/effect-flip/effect-flip.js ***!
  8277. \****************************************************************/
  8278. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  8279. __webpack_require__.r(__webpack_exports__);
  8280. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  8281. /* harmony export */ "default": () => (/* binding */ EffectFlip)
  8282. /* harmony export */ });
  8283. /* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/dom.js */ 6007);
  8284. /* harmony import */ var _shared_create_shadow_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/create-shadow.js */ 5998);
  8285. /* harmony import */ var _shared_effect_init_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../shared/effect-init.js */ 9716);
  8286. /* harmony import */ var _shared_effect_target_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../shared/effect-target.js */ 8538);
  8287. /* harmony import */ var _shared_effect_virtual_transition_end_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../shared/effect-virtual-transition-end.js */ 814);
  8288. function EffectFlip({
  8289. swiper,
  8290. extendParams,
  8291. on
  8292. }) {
  8293. extendParams({
  8294. flipEffect: {
  8295. slideShadows: true,
  8296. limitRotation: true,
  8297. transformEl: null
  8298. }
  8299. });
  8300. const createSlideShadows = ($slideEl, progress, params) => {
  8301. let shadowBefore = swiper.isHorizontal() ? $slideEl.find('.swiper-slide-shadow-left') : $slideEl.find('.swiper-slide-shadow-top');
  8302. let shadowAfter = swiper.isHorizontal() ? $slideEl.find('.swiper-slide-shadow-right') : $slideEl.find('.swiper-slide-shadow-bottom');
  8303. if (shadowBefore.length === 0) {
  8304. shadowBefore = (0,_shared_create_shadow_js__WEBPACK_IMPORTED_MODULE_1__["default"])(params, $slideEl, swiper.isHorizontal() ? 'left' : 'top');
  8305. }
  8306. if (shadowAfter.length === 0) {
  8307. shadowAfter = (0,_shared_create_shadow_js__WEBPACK_IMPORTED_MODULE_1__["default"])(params, $slideEl, swiper.isHorizontal() ? 'right' : 'bottom');
  8308. }
  8309. if (shadowBefore.length) shadowBefore[0].style.opacity = Math.max(-progress, 0);
  8310. if (shadowAfter.length) shadowAfter[0].style.opacity = Math.max(progress, 0);
  8311. };
  8312. const recreateShadows = () => {
  8313. // Set shadows
  8314. const params = swiper.params.flipEffect;
  8315. swiper.slides.each(slideEl => {
  8316. const $slideEl = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_0__["default"])(slideEl);
  8317. let progress = $slideEl[0].progress;
  8318. if (swiper.params.flipEffect.limitRotation) {
  8319. progress = Math.max(Math.min(slideEl.progress, 1), -1);
  8320. }
  8321. createSlideShadows($slideEl, progress, params);
  8322. });
  8323. };
  8324. const setTranslate = () => {
  8325. const {
  8326. slides,
  8327. rtlTranslate: rtl
  8328. } = swiper;
  8329. const params = swiper.params.flipEffect;
  8330. for (let i = 0; i < slides.length; i += 1) {
  8331. const $slideEl = slides.eq(i);
  8332. let progress = $slideEl[0].progress;
  8333. if (swiper.params.flipEffect.limitRotation) {
  8334. progress = Math.max(Math.min($slideEl[0].progress, 1), -1);
  8335. }
  8336. const offset = $slideEl[0].swiperSlideOffset;
  8337. const rotate = -180 * progress;
  8338. let rotateY = rotate;
  8339. let rotateX = 0;
  8340. let tx = swiper.params.cssMode ? -offset - swiper.translate : -offset;
  8341. let ty = 0;
  8342. if (!swiper.isHorizontal()) {
  8343. ty = tx;
  8344. tx = 0;
  8345. rotateX = -rotateY;
  8346. rotateY = 0;
  8347. } else if (rtl) {
  8348. rotateY = -rotateY;
  8349. }
  8350. $slideEl[0].style.zIndex = -Math.abs(Math.round(progress)) + slides.length;
  8351. if (params.slideShadows) {
  8352. createSlideShadows($slideEl, progress, params);
  8353. }
  8354. const transform = `translate3d(${tx}px, ${ty}px, 0px) rotateX(${rotateX}deg) rotateY(${rotateY}deg)`;
  8355. const $targetEl = (0,_shared_effect_target_js__WEBPACK_IMPORTED_MODULE_3__["default"])(params, $slideEl);
  8356. $targetEl.transform(transform);
  8357. }
  8358. };
  8359. const setTransition = duration => {
  8360. const {
  8361. transformEl
  8362. } = swiper.params.flipEffect;
  8363. const $transitionElements = transformEl ? swiper.slides.find(transformEl) : swiper.slides;
  8364. $transitionElements.transition(duration).find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').transition(duration);
  8365. (0,_shared_effect_virtual_transition_end_js__WEBPACK_IMPORTED_MODULE_4__["default"])({
  8366. swiper,
  8367. duration,
  8368. transformEl
  8369. });
  8370. };
  8371. (0,_shared_effect_init_js__WEBPACK_IMPORTED_MODULE_2__["default"])({
  8372. effect: 'flip',
  8373. swiper,
  8374. on,
  8375. setTranslate,
  8376. setTransition,
  8377. recreateShadows,
  8378. getEffectParams: () => swiper.params.flipEffect,
  8379. perspective: () => true,
  8380. overwriteParams: () => ({
  8381. slidesPerView: 1,
  8382. slidesPerGroup: 1,
  8383. watchSlidesProgress: true,
  8384. spaceBetween: 0,
  8385. virtualTranslate: !swiper.params.cssMode
  8386. })
  8387. });
  8388. }
  8389. /***/ }),
  8390. /***/ 192:
  8391. /*!************************************************************!*\
  8392. !*** ./node_modules/swiper/modules/free-mode/free-mode.js ***!
  8393. \************************************************************/
  8394. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  8395. __webpack_require__.r(__webpack_exports__);
  8396. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  8397. /* harmony export */ "default": () => (/* binding */ freeMode)
  8398. /* harmony export */ });
  8399. /* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/utils.js */ 3809);
  8400. function freeMode({
  8401. swiper,
  8402. extendParams,
  8403. emit,
  8404. once
  8405. }) {
  8406. extendParams({
  8407. freeMode: {
  8408. enabled: false,
  8409. momentum: true,
  8410. momentumRatio: 1,
  8411. momentumBounce: true,
  8412. momentumBounceRatio: 1,
  8413. momentumVelocityRatio: 1,
  8414. sticky: false,
  8415. minimumVelocity: 0.02
  8416. }
  8417. });
  8418. function onTouchStart() {
  8419. const translate = swiper.getTranslate();
  8420. swiper.setTranslate(translate);
  8421. swiper.setTransition(0);
  8422. swiper.touchEventsData.velocities.length = 0;
  8423. swiper.freeMode.onTouchEnd({
  8424. currentPos: swiper.rtl ? swiper.translate : -swiper.translate
  8425. });
  8426. }
  8427. function onTouchMove() {
  8428. const {
  8429. touchEventsData: data,
  8430. touches
  8431. } = swiper; // Velocity
  8432. if (data.velocities.length === 0) {
  8433. data.velocities.push({
  8434. position: touches[swiper.isHorizontal() ? 'startX' : 'startY'],
  8435. time: data.touchStartTime
  8436. });
  8437. }
  8438. data.velocities.push({
  8439. position: touches[swiper.isHorizontal() ? 'currentX' : 'currentY'],
  8440. time: (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.now)()
  8441. });
  8442. }
  8443. function onTouchEnd({
  8444. currentPos
  8445. }) {
  8446. const {
  8447. params,
  8448. $wrapperEl,
  8449. rtlTranslate: rtl,
  8450. snapGrid,
  8451. touchEventsData: data
  8452. } = swiper; // Time diff
  8453. const touchEndTime = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.now)();
  8454. const timeDiff = touchEndTime - data.touchStartTime;
  8455. if (currentPos < -swiper.minTranslate()) {
  8456. swiper.slideTo(swiper.activeIndex);
  8457. return;
  8458. }
  8459. if (currentPos > -swiper.maxTranslate()) {
  8460. if (swiper.slides.length < snapGrid.length) {
  8461. swiper.slideTo(snapGrid.length - 1);
  8462. } else {
  8463. swiper.slideTo(swiper.slides.length - 1);
  8464. }
  8465. return;
  8466. }
  8467. if (params.freeMode.momentum) {
  8468. if (data.velocities.length > 1) {
  8469. const lastMoveEvent = data.velocities.pop();
  8470. const velocityEvent = data.velocities.pop();
  8471. const distance = lastMoveEvent.position - velocityEvent.position;
  8472. const time = lastMoveEvent.time - velocityEvent.time;
  8473. swiper.velocity = distance / time;
  8474. swiper.velocity /= 2;
  8475. if (Math.abs(swiper.velocity) < params.freeMode.minimumVelocity) {
  8476. swiper.velocity = 0;
  8477. } // this implies that the user stopped moving a finger then released.
  8478. // There would be no events with distance zero, so the last event is stale.
  8479. if (time > 150 || (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.now)() - lastMoveEvent.time > 300) {
  8480. swiper.velocity = 0;
  8481. }
  8482. } else {
  8483. swiper.velocity = 0;
  8484. }
  8485. swiper.velocity *= params.freeMode.momentumVelocityRatio;
  8486. data.velocities.length = 0;
  8487. let momentumDuration = 1000 * params.freeMode.momentumRatio;
  8488. const momentumDistance = swiper.velocity * momentumDuration;
  8489. let newPosition = swiper.translate + momentumDistance;
  8490. if (rtl) newPosition = -newPosition;
  8491. let doBounce = false;
  8492. let afterBouncePosition;
  8493. const bounceAmount = Math.abs(swiper.velocity) * 20 * params.freeMode.momentumBounceRatio;
  8494. let needsLoopFix;
  8495. if (newPosition < swiper.maxTranslate()) {
  8496. if (params.freeMode.momentumBounce) {
  8497. if (newPosition + swiper.maxTranslate() < -bounceAmount) {
  8498. newPosition = swiper.maxTranslate() - bounceAmount;
  8499. }
  8500. afterBouncePosition = swiper.maxTranslate();
  8501. doBounce = true;
  8502. data.allowMomentumBounce = true;
  8503. } else {
  8504. newPosition = swiper.maxTranslate();
  8505. }
  8506. if (params.loop && params.centeredSlides) needsLoopFix = true;
  8507. } else if (newPosition > swiper.minTranslate()) {
  8508. if (params.freeMode.momentumBounce) {
  8509. if (newPosition - swiper.minTranslate() > bounceAmount) {
  8510. newPosition = swiper.minTranslate() + bounceAmount;
  8511. }
  8512. afterBouncePosition = swiper.minTranslate();
  8513. doBounce = true;
  8514. data.allowMomentumBounce = true;
  8515. } else {
  8516. newPosition = swiper.minTranslate();
  8517. }
  8518. if (params.loop && params.centeredSlides) needsLoopFix = true;
  8519. } else if (params.freeMode.sticky) {
  8520. let nextSlide;
  8521. for (let j = 0; j < snapGrid.length; j += 1) {
  8522. if (snapGrid[j] > -newPosition) {
  8523. nextSlide = j;
  8524. break;
  8525. }
  8526. }
  8527. if (Math.abs(snapGrid[nextSlide] - newPosition) < Math.abs(snapGrid[nextSlide - 1] - newPosition) || swiper.swipeDirection === 'next') {
  8528. newPosition = snapGrid[nextSlide];
  8529. } else {
  8530. newPosition = snapGrid[nextSlide - 1];
  8531. }
  8532. newPosition = -newPosition;
  8533. }
  8534. if (needsLoopFix) {
  8535. once('transitionEnd', () => {
  8536. swiper.loopFix();
  8537. });
  8538. } // Fix duration
  8539. if (swiper.velocity !== 0) {
  8540. if (rtl) {
  8541. momentumDuration = Math.abs((-newPosition - swiper.translate) / swiper.velocity);
  8542. } else {
  8543. momentumDuration = Math.abs((newPosition - swiper.translate) / swiper.velocity);
  8544. }
  8545. if (params.freeMode.sticky) {
  8546. // If freeMode.sticky is active and the user ends a swipe with a slow-velocity
  8547. // event, then durations can be 20+ seconds to slide one (or zero!) slides.
  8548. // It's easy to see this when simulating touch with mouse events. To fix this,
  8549. // limit single-slide swipes to the default slide duration. This also has the
  8550. // nice side effect of matching slide speed if the user stopped moving before
  8551. // lifting finger or mouse vs. moving slowly before lifting the finger/mouse.
  8552. // For faster swipes, also apply limits (albeit higher ones).
  8553. const moveDistance = Math.abs((rtl ? -newPosition : newPosition) - swiper.translate);
  8554. const currentSlideSize = swiper.slidesSizesGrid[swiper.activeIndex];
  8555. if (moveDistance < currentSlideSize) {
  8556. momentumDuration = params.speed;
  8557. } else if (moveDistance < 2 * currentSlideSize) {
  8558. momentumDuration = params.speed * 1.5;
  8559. } else {
  8560. momentumDuration = params.speed * 2.5;
  8561. }
  8562. }
  8563. } else if (params.freeMode.sticky) {
  8564. swiper.slideToClosest();
  8565. return;
  8566. }
  8567. if (params.freeMode.momentumBounce && doBounce) {
  8568. swiper.updateProgress(afterBouncePosition);
  8569. swiper.setTransition(momentumDuration);
  8570. swiper.setTranslate(newPosition);
  8571. swiper.transitionStart(true, swiper.swipeDirection);
  8572. swiper.animating = true;
  8573. $wrapperEl.transitionEnd(() => {
  8574. if (!swiper || swiper.destroyed || !data.allowMomentumBounce) return;
  8575. emit('momentumBounce');
  8576. swiper.setTransition(params.speed);
  8577. setTimeout(() => {
  8578. swiper.setTranslate(afterBouncePosition);
  8579. $wrapperEl.transitionEnd(() => {
  8580. if (!swiper || swiper.destroyed) return;
  8581. swiper.transitionEnd();
  8582. });
  8583. }, 0);
  8584. });
  8585. } else if (swiper.velocity) {
  8586. emit('_freeModeNoMomentumRelease');
  8587. swiper.updateProgress(newPosition);
  8588. swiper.setTransition(momentumDuration);
  8589. swiper.setTranslate(newPosition);
  8590. swiper.transitionStart(true, swiper.swipeDirection);
  8591. if (!swiper.animating) {
  8592. swiper.animating = true;
  8593. $wrapperEl.transitionEnd(() => {
  8594. if (!swiper || swiper.destroyed) return;
  8595. swiper.transitionEnd();
  8596. });
  8597. }
  8598. } else {
  8599. swiper.updateProgress(newPosition);
  8600. }
  8601. swiper.updateActiveIndex();
  8602. swiper.updateSlidesClasses();
  8603. } else if (params.freeMode.sticky) {
  8604. swiper.slideToClosest();
  8605. return;
  8606. } else if (params.freeMode) {
  8607. emit('_freeModeNoMomentumRelease');
  8608. }
  8609. if (!params.freeMode.momentum || timeDiff >= params.longSwipesMs) {
  8610. swiper.updateProgress();
  8611. swiper.updateActiveIndex();
  8612. swiper.updateSlidesClasses();
  8613. }
  8614. }
  8615. Object.assign(swiper, {
  8616. freeMode: {
  8617. onTouchStart,
  8618. onTouchMove,
  8619. onTouchEnd
  8620. }
  8621. });
  8622. }
  8623. /***/ }),
  8624. /***/ 7019:
  8625. /*!**************************************************!*\
  8626. !*** ./node_modules/swiper/modules/grid/grid.js ***!
  8627. \**************************************************/
  8628. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  8629. __webpack_require__.r(__webpack_exports__);
  8630. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  8631. /* harmony export */ "default": () => (/* binding */ Grid)
  8632. /* harmony export */ });
  8633. function Grid({
  8634. swiper,
  8635. extendParams
  8636. }) {
  8637. extendParams({
  8638. grid: {
  8639. rows: 1,
  8640. fill: 'column'
  8641. }
  8642. });
  8643. let slidesNumberEvenToRows;
  8644. let slidesPerRow;
  8645. let numFullColumns;
  8646. const initSlides = slidesLength => {
  8647. const {
  8648. slidesPerView
  8649. } = swiper.params;
  8650. const {
  8651. rows,
  8652. fill
  8653. } = swiper.params.grid;
  8654. slidesPerRow = slidesNumberEvenToRows / rows;
  8655. numFullColumns = Math.floor(slidesLength / rows);
  8656. if (Math.floor(slidesLength / rows) === slidesLength / rows) {
  8657. slidesNumberEvenToRows = slidesLength;
  8658. } else {
  8659. slidesNumberEvenToRows = Math.ceil(slidesLength / rows) * rows;
  8660. }
  8661. if (slidesPerView !== 'auto' && fill === 'row') {
  8662. slidesNumberEvenToRows = Math.max(slidesNumberEvenToRows, slidesPerView * rows);
  8663. }
  8664. };
  8665. const updateSlide = (i, slide, slidesLength, getDirectionLabel) => {
  8666. const {
  8667. slidesPerGroup,
  8668. spaceBetween
  8669. } = swiper.params;
  8670. const {
  8671. rows,
  8672. fill
  8673. } = swiper.params.grid; // Set slides order
  8674. let newSlideOrderIndex;
  8675. let column;
  8676. let row;
  8677. if (fill === 'row' && slidesPerGroup > 1) {
  8678. const groupIndex = Math.floor(i / (slidesPerGroup * rows));
  8679. const slideIndexInGroup = i - rows * slidesPerGroup * groupIndex;
  8680. const columnsInGroup = groupIndex === 0 ? slidesPerGroup : Math.min(Math.ceil((slidesLength - groupIndex * rows * slidesPerGroup) / rows), slidesPerGroup);
  8681. row = Math.floor(slideIndexInGroup / columnsInGroup);
  8682. column = slideIndexInGroup - row * columnsInGroup + groupIndex * slidesPerGroup;
  8683. newSlideOrderIndex = column + row * slidesNumberEvenToRows / rows;
  8684. slide.css({
  8685. '-webkit-order': newSlideOrderIndex,
  8686. order: newSlideOrderIndex
  8687. });
  8688. } else if (fill === 'column') {
  8689. column = Math.floor(i / rows);
  8690. row = i - column * rows;
  8691. if (column > numFullColumns || column === numFullColumns && row === rows - 1) {
  8692. row += 1;
  8693. if (row >= rows) {
  8694. row = 0;
  8695. column += 1;
  8696. }
  8697. }
  8698. } else {
  8699. row = Math.floor(i / slidesPerRow);
  8700. column = i - row * slidesPerRow;
  8701. }
  8702. slide.css(getDirectionLabel('margin-top'), row !== 0 ? spaceBetween && `${spaceBetween}px` : '');
  8703. };
  8704. const updateWrapperSize = (slideSize, snapGrid, getDirectionLabel) => {
  8705. const {
  8706. spaceBetween,
  8707. centeredSlides,
  8708. roundLengths
  8709. } = swiper.params;
  8710. const {
  8711. rows
  8712. } = swiper.params.grid;
  8713. swiper.virtualSize = (slideSize + spaceBetween) * slidesNumberEvenToRows;
  8714. swiper.virtualSize = Math.ceil(swiper.virtualSize / rows) - spaceBetween;
  8715. swiper.$wrapperEl.css({
  8716. [getDirectionLabel('width')]: `${swiper.virtualSize + spaceBetween}px`
  8717. });
  8718. if (centeredSlides) {
  8719. snapGrid.splice(0, snapGrid.length);
  8720. const newSlidesGrid = [];
  8721. for (let i = 0; i < snapGrid.length; i += 1) {
  8722. let slidesGridItem = snapGrid[i];
  8723. if (roundLengths) slidesGridItem = Math.floor(slidesGridItem);
  8724. if (snapGrid[i] < swiper.virtualSize + snapGrid[0]) newSlidesGrid.push(slidesGridItem);
  8725. }
  8726. snapGrid.push(...newSlidesGrid);
  8727. }
  8728. };
  8729. swiper.grid = {
  8730. initSlides,
  8731. updateSlide,
  8732. updateWrapperSize
  8733. };
  8734. }
  8735. /***/ }),
  8736. /***/ 3726:
  8737. /*!************************************************************************!*\
  8738. !*** ./node_modules/swiper/modules/hash-navigation/hash-navigation.js ***!
  8739. \************************************************************************/
  8740. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  8741. __webpack_require__.r(__webpack_exports__);
  8742. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  8743. /* harmony export */ "default": () => (/* binding */ HashNavigation)
  8744. /* harmony export */ });
  8745. /* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ 2864);
  8746. /* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/dom.js */ 6007);
  8747. function HashNavigation({
  8748. swiper,
  8749. extendParams,
  8750. emit,
  8751. on
  8752. }) {
  8753. let initialized = false;
  8754. const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)();
  8755. const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
  8756. extendParams({
  8757. hashNavigation: {
  8758. enabled: false,
  8759. replaceState: false,
  8760. watchState: false
  8761. }
  8762. });
  8763. const onHashChange = () => {
  8764. emit('hashChange');
  8765. const newHash = document.location.hash.replace('#', '');
  8766. const activeSlideHash = swiper.slides.eq(swiper.activeIndex).attr('data-hash');
  8767. if (newHash !== activeSlideHash) {
  8768. const newIndex = swiper.$wrapperEl.children(`.${swiper.params.slideClass}[data-hash="${newHash}"]`).index();
  8769. if (typeof newIndex === 'undefined') return;
  8770. swiper.slideTo(newIndex);
  8771. }
  8772. };
  8773. const setHash = () => {
  8774. if (!initialized || !swiper.params.hashNavigation.enabled) return;
  8775. if (swiper.params.hashNavigation.replaceState && window.history && window.history.replaceState) {
  8776. window.history.replaceState(null, null, `#${swiper.slides.eq(swiper.activeIndex).attr('data-hash')}` || '');
  8777. emit('hashSet');
  8778. } else {
  8779. const slide = swiper.slides.eq(swiper.activeIndex);
  8780. const hash = slide.attr('data-hash') || slide.attr('data-history');
  8781. document.location.hash = hash || '';
  8782. emit('hashSet');
  8783. }
  8784. };
  8785. const init = () => {
  8786. if (!swiper.params.hashNavigation.enabled || swiper.params.history && swiper.params.history.enabled) return;
  8787. initialized = true;
  8788. const hash = document.location.hash.replace('#', '');
  8789. if (hash) {
  8790. const speed = 0;
  8791. for (let i = 0, length = swiper.slides.length; i < length; i += 1) {
  8792. const slide = swiper.slides.eq(i);
  8793. const slideHash = slide.attr('data-hash') || slide.attr('data-history');
  8794. if (slideHash === hash && !slide.hasClass(swiper.params.slideDuplicateClass)) {
  8795. const index = slide.index();
  8796. swiper.slideTo(index, speed, swiper.params.runCallbacksOnInit, true);
  8797. }
  8798. }
  8799. }
  8800. if (swiper.params.hashNavigation.watchState) {
  8801. (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(window).on('hashchange', onHashChange);
  8802. }
  8803. };
  8804. const destroy = () => {
  8805. if (swiper.params.hashNavigation.watchState) {
  8806. (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(window).off('hashchange', onHashChange);
  8807. }
  8808. };
  8809. on('init', () => {
  8810. if (swiper.params.hashNavigation.enabled) {
  8811. init();
  8812. }
  8813. });
  8814. on('destroy', () => {
  8815. if (swiper.params.hashNavigation.enabled) {
  8816. destroy();
  8817. }
  8818. });
  8819. on('transitionEnd _freeModeNoMomentumRelease', () => {
  8820. if (initialized) {
  8821. setHash();
  8822. }
  8823. });
  8824. on('slideChange', () => {
  8825. if (initialized && swiper.params.cssMode) {
  8826. setHash();
  8827. }
  8828. });
  8829. }
  8830. /***/ }),
  8831. /***/ 8338:
  8832. /*!********************************************************!*\
  8833. !*** ./node_modules/swiper/modules/history/history.js ***!
  8834. \********************************************************/
  8835. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  8836. __webpack_require__.r(__webpack_exports__);
  8837. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  8838. /* harmony export */ "default": () => (/* binding */ History)
  8839. /* harmony export */ });
  8840. /* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ 2864);
  8841. function History({
  8842. swiper,
  8843. extendParams,
  8844. on
  8845. }) {
  8846. extendParams({
  8847. history: {
  8848. enabled: false,
  8849. root: '',
  8850. replaceState: false,
  8851. key: 'slides',
  8852. keepQuery: false
  8853. }
  8854. });
  8855. let initialized = false;
  8856. let paths = {};
  8857. const slugify = text => {
  8858. return text.toString().replace(/\s+/g, '-').replace(/[^\w-]+/g, '').replace(/--+/g, '-').replace(/^-+/, '').replace(/-+$/, '');
  8859. };
  8860. const getPathValues = urlOverride => {
  8861. const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
  8862. let location;
  8863. if (urlOverride) {
  8864. location = new URL(urlOverride);
  8865. } else {
  8866. location = window.location;
  8867. }
  8868. const pathArray = location.pathname.slice(1).split('/').filter(part => part !== '');
  8869. const total = pathArray.length;
  8870. const key = pathArray[total - 2];
  8871. const value = pathArray[total - 1];
  8872. return {
  8873. key,
  8874. value
  8875. };
  8876. };
  8877. const setHistory = (key, index) => {
  8878. const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
  8879. if (!initialized || !swiper.params.history.enabled) return;
  8880. let location;
  8881. if (swiper.params.url) {
  8882. location = new URL(swiper.params.url);
  8883. } else {
  8884. location = window.location;
  8885. }
  8886. const slide = swiper.slides.eq(index);
  8887. let value = slugify(slide.attr('data-history'));
  8888. if (swiper.params.history.root.length > 0) {
  8889. let root = swiper.params.history.root;
  8890. if (root[root.length - 1] === '/') root = root.slice(0, root.length - 1);
  8891. value = `${root}/${key}/${value}`;
  8892. } else if (!location.pathname.includes(key)) {
  8893. value = `${key}/${value}`;
  8894. }
  8895. if (swiper.params.history.keepQuery) {
  8896. value += location.search;
  8897. }
  8898. const currentState = window.history.state;
  8899. if (currentState && currentState.value === value) {
  8900. return;
  8901. }
  8902. if (swiper.params.history.replaceState) {
  8903. window.history.replaceState({
  8904. value
  8905. }, null, value);
  8906. } else {
  8907. window.history.pushState({
  8908. value
  8909. }, null, value);
  8910. }
  8911. };
  8912. const scrollToSlide = (speed, value, runCallbacks) => {
  8913. if (value) {
  8914. for (let i = 0, length = swiper.slides.length; i < length; i += 1) {
  8915. const slide = swiper.slides.eq(i);
  8916. const slideHistory = slugify(slide.attr('data-history'));
  8917. if (slideHistory === value && !slide.hasClass(swiper.params.slideDuplicateClass)) {
  8918. const index = slide.index();
  8919. swiper.slideTo(index, speed, runCallbacks);
  8920. }
  8921. }
  8922. } else {
  8923. swiper.slideTo(0, speed, runCallbacks);
  8924. }
  8925. };
  8926. const setHistoryPopState = () => {
  8927. paths = getPathValues(swiper.params.url);
  8928. scrollToSlide(swiper.params.speed, paths.value, false);
  8929. };
  8930. const init = () => {
  8931. const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
  8932. if (!swiper.params.history) return;
  8933. if (!window.history || !window.history.pushState) {
  8934. swiper.params.history.enabled = false;
  8935. swiper.params.hashNavigation.enabled = true;
  8936. return;
  8937. }
  8938. initialized = true;
  8939. paths = getPathValues(swiper.params.url);
  8940. if (!paths.key && !paths.value) return;
  8941. scrollToSlide(0, paths.value, swiper.params.runCallbacksOnInit);
  8942. if (!swiper.params.history.replaceState) {
  8943. window.addEventListener('popstate', setHistoryPopState);
  8944. }
  8945. };
  8946. const destroy = () => {
  8947. const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
  8948. if (!swiper.params.history.replaceState) {
  8949. window.removeEventListener('popstate', setHistoryPopState);
  8950. }
  8951. };
  8952. on('init', () => {
  8953. if (swiper.params.history.enabled) {
  8954. init();
  8955. }
  8956. });
  8957. on('destroy', () => {
  8958. if (swiper.params.history.enabled) {
  8959. destroy();
  8960. }
  8961. });
  8962. on('transitionEnd _freeModeNoMomentumRelease', () => {
  8963. if (initialized) {
  8964. setHistory(swiper.params.history.key, swiper.activeIndex);
  8965. }
  8966. });
  8967. on('slideChange', () => {
  8968. if (initialized && swiper.params.cssMode) {
  8969. setHistory(swiper.params.history.key, swiper.activeIndex);
  8970. }
  8971. });
  8972. }
  8973. /***/ }),
  8974. /***/ 912:
  8975. /*!**********************************************************!*\
  8976. !*** ./node_modules/swiper/modules/keyboard/keyboard.js ***!
  8977. \**********************************************************/
  8978. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  8979. __webpack_require__.r(__webpack_exports__);
  8980. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  8981. /* harmony export */ "default": () => (/* binding */ Keyboard)
  8982. /* harmony export */ });
  8983. /* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ 2864);
  8984. /* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/dom.js */ 6007);
  8985. /* eslint-disable consistent-return */
  8986. function Keyboard({
  8987. swiper,
  8988. extendParams,
  8989. on,
  8990. emit
  8991. }) {
  8992. const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)();
  8993. const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
  8994. swiper.keyboard = {
  8995. enabled: false
  8996. };
  8997. extendParams({
  8998. keyboard: {
  8999. enabled: false,
  9000. onlyInViewport: true,
  9001. pageUpDown: true
  9002. }
  9003. });
  9004. function handle(event) {
  9005. if (!swiper.enabled) return;
  9006. const {
  9007. rtlTranslate: rtl
  9008. } = swiper;
  9009. let e = event;
  9010. if (e.originalEvent) e = e.originalEvent; // jquery fix
  9011. const kc = e.keyCode || e.charCode;
  9012. const pageUpDown = swiper.params.keyboard.pageUpDown;
  9013. const isPageUp = pageUpDown && kc === 33;
  9014. const isPageDown = pageUpDown && kc === 34;
  9015. const isArrowLeft = kc === 37;
  9016. const isArrowRight = kc === 39;
  9017. const isArrowUp = kc === 38;
  9018. const isArrowDown = kc === 40; // Directions locks
  9019. if (!swiper.allowSlideNext && (swiper.isHorizontal() && isArrowRight || swiper.isVertical() && isArrowDown || isPageDown)) {
  9020. return false;
  9021. }
  9022. if (!swiper.allowSlidePrev && (swiper.isHorizontal() && isArrowLeft || swiper.isVertical() && isArrowUp || isPageUp)) {
  9023. return false;
  9024. }
  9025. if (e.shiftKey || e.altKey || e.ctrlKey || e.metaKey) {
  9026. return undefined;
  9027. }
  9028. if (document.activeElement && document.activeElement.nodeName && (document.activeElement.nodeName.toLowerCase() === 'input' || document.activeElement.nodeName.toLowerCase() === 'textarea')) {
  9029. return undefined;
  9030. }
  9031. if (swiper.params.keyboard.onlyInViewport && (isPageUp || isPageDown || isArrowLeft || isArrowRight || isArrowUp || isArrowDown)) {
  9032. let inView = false; // Check that swiper should be inside of visible area of window
  9033. if (swiper.$el.parents(`.${swiper.params.slideClass}`).length > 0 && swiper.$el.parents(`.${swiper.params.slideActiveClass}`).length === 0) {
  9034. return undefined;
  9035. }
  9036. const $el = swiper.$el;
  9037. const swiperWidth = $el[0].clientWidth;
  9038. const swiperHeight = $el[0].clientHeight;
  9039. const windowWidth = window.innerWidth;
  9040. const windowHeight = window.innerHeight;
  9041. const swiperOffset = swiper.$el.offset();
  9042. if (rtl) swiperOffset.left -= swiper.$el[0].scrollLeft;
  9043. const swiperCoord = [[swiperOffset.left, swiperOffset.top], [swiperOffset.left + swiperWidth, swiperOffset.top], [swiperOffset.left, swiperOffset.top + swiperHeight], [swiperOffset.left + swiperWidth, swiperOffset.top + swiperHeight]];
  9044. for (let i = 0; i < swiperCoord.length; i += 1) {
  9045. const point = swiperCoord[i];
  9046. if (point[0] >= 0 && point[0] <= windowWidth && point[1] >= 0 && point[1] <= windowHeight) {
  9047. if (point[0] === 0 && point[1] === 0) continue; // eslint-disable-line
  9048. inView = true;
  9049. }
  9050. }
  9051. if (!inView) return undefined;
  9052. }
  9053. if (swiper.isHorizontal()) {
  9054. if (isPageUp || isPageDown || isArrowLeft || isArrowRight) {
  9055. if (e.preventDefault) e.preventDefault();else e.returnValue = false;
  9056. }
  9057. if ((isPageDown || isArrowRight) && !rtl || (isPageUp || isArrowLeft) && rtl) swiper.slideNext();
  9058. if ((isPageUp || isArrowLeft) && !rtl || (isPageDown || isArrowRight) && rtl) swiper.slidePrev();
  9059. } else {
  9060. if (isPageUp || isPageDown || isArrowUp || isArrowDown) {
  9061. if (e.preventDefault) e.preventDefault();else e.returnValue = false;
  9062. }
  9063. if (isPageDown || isArrowDown) swiper.slideNext();
  9064. if (isPageUp || isArrowUp) swiper.slidePrev();
  9065. }
  9066. emit('keyPress', kc);
  9067. return undefined;
  9068. }
  9069. function enable() {
  9070. if (swiper.keyboard.enabled) return;
  9071. (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(document).on('keydown', handle);
  9072. swiper.keyboard.enabled = true;
  9073. }
  9074. function disable() {
  9075. if (!swiper.keyboard.enabled) return;
  9076. (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(document).off('keydown', handle);
  9077. swiper.keyboard.enabled = false;
  9078. }
  9079. on('init', () => {
  9080. if (swiper.params.keyboard.enabled) {
  9081. enable();
  9082. }
  9083. });
  9084. on('destroy', () => {
  9085. if (swiper.keyboard.enabled) {
  9086. disable();
  9087. }
  9088. });
  9089. Object.assign(swiper.keyboard, {
  9090. enable,
  9091. disable
  9092. });
  9093. }
  9094. /***/ }),
  9095. /***/ 3553:
  9096. /*!**************************************************!*\
  9097. !*** ./node_modules/swiper/modules/lazy/lazy.js ***!
  9098. \**************************************************/
  9099. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  9100. __webpack_require__.r(__webpack_exports__);
  9101. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  9102. /* harmony export */ "default": () => (/* binding */ Lazy)
  9103. /* harmony export */ });
  9104. /* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ 2864);
  9105. /* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/dom.js */ 6007);
  9106. function Lazy({
  9107. swiper,
  9108. extendParams,
  9109. on,
  9110. emit
  9111. }) {
  9112. extendParams({
  9113. lazy: {
  9114. checkInView: false,
  9115. enabled: false,
  9116. loadPrevNext: false,
  9117. loadPrevNextAmount: 1,
  9118. loadOnTransitionStart: false,
  9119. scrollingElement: '',
  9120. elementClass: 'swiper-lazy',
  9121. loadingClass: 'swiper-lazy-loading',
  9122. loadedClass: 'swiper-lazy-loaded',
  9123. preloaderClass: 'swiper-lazy-preloader'
  9124. }
  9125. });
  9126. swiper.lazy = {};
  9127. let scrollHandlerAttached = false;
  9128. let initialImageLoaded = false;
  9129. function loadInSlide(index, loadInDuplicate = true) {
  9130. const params = swiper.params.lazy;
  9131. if (typeof index === 'undefined') return;
  9132. if (swiper.slides.length === 0) return;
  9133. const isVirtual = swiper.virtual && swiper.params.virtual.enabled;
  9134. const $slideEl = isVirtual ? swiper.$wrapperEl.children(`.${swiper.params.slideClass}[data-swiper-slide-index="${index}"]`) : swiper.slides.eq(index);
  9135. const $images = $slideEl.find(`.${params.elementClass}:not(.${params.loadedClass}):not(.${params.loadingClass})`);
  9136. if ($slideEl.hasClass(params.elementClass) && !$slideEl.hasClass(params.loadedClass) && !$slideEl.hasClass(params.loadingClass)) {
  9137. $images.push($slideEl[0]);
  9138. }
  9139. if ($images.length === 0) return;
  9140. $images.each(imageEl => {
  9141. const $imageEl = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(imageEl);
  9142. $imageEl.addClass(params.loadingClass);
  9143. const background = $imageEl.attr('data-background');
  9144. const src = $imageEl.attr('data-src');
  9145. const srcset = $imageEl.attr('data-srcset');
  9146. const sizes = $imageEl.attr('data-sizes');
  9147. const $pictureEl = $imageEl.parent('picture');
  9148. swiper.loadImage($imageEl[0], src || background, srcset, sizes, false, () => {
  9149. if (typeof swiper === 'undefined' || swiper === null || !swiper || swiper && !swiper.params || swiper.destroyed) return;
  9150. if (background) {
  9151. $imageEl.css('background-image', `url("${background}")`);
  9152. $imageEl.removeAttr('data-background');
  9153. } else {
  9154. if (srcset) {
  9155. $imageEl.attr('srcset', srcset);
  9156. $imageEl.removeAttr('data-srcset');
  9157. }
  9158. if (sizes) {
  9159. $imageEl.attr('sizes', sizes);
  9160. $imageEl.removeAttr('data-sizes');
  9161. }
  9162. if ($pictureEl.length) {
  9163. $pictureEl.children('source').each(sourceEl => {
  9164. const $source = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(sourceEl);
  9165. if ($source.attr('data-srcset')) {
  9166. $source.attr('srcset', $source.attr('data-srcset'));
  9167. $source.removeAttr('data-srcset');
  9168. }
  9169. });
  9170. }
  9171. if (src) {
  9172. $imageEl.attr('src', src);
  9173. $imageEl.removeAttr('data-src');
  9174. }
  9175. }
  9176. $imageEl.addClass(params.loadedClass).removeClass(params.loadingClass);
  9177. $slideEl.find(`.${params.preloaderClass}`).remove();
  9178. if (swiper.params.loop && loadInDuplicate) {
  9179. const slideOriginalIndex = $slideEl.attr('data-swiper-slide-index');
  9180. if ($slideEl.hasClass(swiper.params.slideDuplicateClass)) {
  9181. const originalSlide = swiper.$wrapperEl.children(`[data-swiper-slide-index="${slideOriginalIndex}"]:not(.${swiper.params.slideDuplicateClass})`);
  9182. loadInSlide(originalSlide.index(), false);
  9183. } else {
  9184. const duplicatedSlide = swiper.$wrapperEl.children(`.${swiper.params.slideDuplicateClass}[data-swiper-slide-index="${slideOriginalIndex}"]`);
  9185. loadInSlide(duplicatedSlide.index(), false);
  9186. }
  9187. }
  9188. emit('lazyImageReady', $slideEl[0], $imageEl[0]);
  9189. if (swiper.params.autoHeight) {
  9190. swiper.updateAutoHeight();
  9191. }
  9192. });
  9193. emit('lazyImageLoad', $slideEl[0], $imageEl[0]);
  9194. });
  9195. }
  9196. function load() {
  9197. const {
  9198. $wrapperEl,
  9199. params: swiperParams,
  9200. slides,
  9201. activeIndex
  9202. } = swiper;
  9203. const isVirtual = swiper.virtual && swiperParams.virtual.enabled;
  9204. const params = swiperParams.lazy;
  9205. let slidesPerView = swiperParams.slidesPerView;
  9206. if (slidesPerView === 'auto') {
  9207. slidesPerView = 0;
  9208. }
  9209. function slideExist(index) {
  9210. if (isVirtual) {
  9211. if ($wrapperEl.children(`.${swiperParams.slideClass}[data-swiper-slide-index="${index}"]`).length) {
  9212. return true;
  9213. }
  9214. } else if (slides[index]) return true;
  9215. return false;
  9216. }
  9217. function slideIndex(slideEl) {
  9218. if (isVirtual) {
  9219. return (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(slideEl).attr('data-swiper-slide-index');
  9220. }
  9221. return (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(slideEl).index();
  9222. }
  9223. if (!initialImageLoaded) initialImageLoaded = true;
  9224. if (swiper.params.watchSlidesProgress) {
  9225. $wrapperEl.children(`.${swiperParams.slideVisibleClass}`).each(slideEl => {
  9226. const index = isVirtual ? (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(slideEl).attr('data-swiper-slide-index') : (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(slideEl).index();
  9227. loadInSlide(index);
  9228. });
  9229. } else if (slidesPerView > 1) {
  9230. for (let i = activeIndex; i < activeIndex + slidesPerView; i += 1) {
  9231. if (slideExist(i)) loadInSlide(i);
  9232. }
  9233. } else {
  9234. loadInSlide(activeIndex);
  9235. }
  9236. if (params.loadPrevNext) {
  9237. if (slidesPerView > 1 || params.loadPrevNextAmount && params.loadPrevNextAmount > 1) {
  9238. const amount = params.loadPrevNextAmount;
  9239. const spv = Math.ceil(slidesPerView);
  9240. const maxIndex = Math.min(activeIndex + spv + Math.max(amount, spv), slides.length);
  9241. const minIndex = Math.max(activeIndex - Math.max(spv, amount), 0); // Next Slides
  9242. for (let i = activeIndex + spv; i < maxIndex; i += 1) {
  9243. if (slideExist(i)) loadInSlide(i);
  9244. } // Prev Slides
  9245. for (let i = minIndex; i < activeIndex; i += 1) {
  9246. if (slideExist(i)) loadInSlide(i);
  9247. }
  9248. } else {
  9249. const nextSlide = $wrapperEl.children(`.${swiperParams.slideNextClass}`);
  9250. if (nextSlide.length > 0) loadInSlide(slideIndex(nextSlide));
  9251. const prevSlide = $wrapperEl.children(`.${swiperParams.slidePrevClass}`);
  9252. if (prevSlide.length > 0) loadInSlide(slideIndex(prevSlide));
  9253. }
  9254. }
  9255. }
  9256. function checkInViewOnLoad() {
  9257. const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
  9258. if (!swiper || swiper.destroyed) return;
  9259. const $scrollElement = swiper.params.lazy.scrollingElement ? (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(swiper.params.lazy.scrollingElement) : (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(window);
  9260. const isWindow = $scrollElement[0] === window;
  9261. const scrollElementWidth = isWindow ? window.innerWidth : $scrollElement[0].offsetWidth;
  9262. const scrollElementHeight = isWindow ? window.innerHeight : $scrollElement[0].offsetHeight;
  9263. const swiperOffset = swiper.$el.offset();
  9264. const {
  9265. rtlTranslate: rtl
  9266. } = swiper;
  9267. let inView = false;
  9268. if (rtl) swiperOffset.left -= swiper.$el[0].scrollLeft;
  9269. const swiperCoord = [[swiperOffset.left, swiperOffset.top], [swiperOffset.left + swiper.width, swiperOffset.top], [swiperOffset.left, swiperOffset.top + swiper.height], [swiperOffset.left + swiper.width, swiperOffset.top + swiper.height]];
  9270. for (let i = 0; i < swiperCoord.length; i += 1) {
  9271. const point = swiperCoord[i];
  9272. if (point[0] >= 0 && point[0] <= scrollElementWidth && point[1] >= 0 && point[1] <= scrollElementHeight) {
  9273. if (point[0] === 0 && point[1] === 0) continue; // eslint-disable-line
  9274. inView = true;
  9275. }
  9276. }
  9277. const passiveListener = swiper.touchEvents.start === 'touchstart' && swiper.support.passiveListener && swiper.params.passiveListeners ? {
  9278. passive: true,
  9279. capture: false
  9280. } : false;
  9281. if (inView) {
  9282. load();
  9283. $scrollElement.off('scroll', checkInViewOnLoad, passiveListener);
  9284. } else if (!scrollHandlerAttached) {
  9285. scrollHandlerAttached = true;
  9286. $scrollElement.on('scroll', checkInViewOnLoad, passiveListener);
  9287. }
  9288. }
  9289. on('beforeInit', () => {
  9290. if (swiper.params.lazy.enabled && swiper.params.preloadImages) {
  9291. swiper.params.preloadImages = false;
  9292. }
  9293. });
  9294. on('init', () => {
  9295. if (swiper.params.lazy.enabled) {
  9296. if (swiper.params.lazy.checkInView) {
  9297. checkInViewOnLoad();
  9298. } else {
  9299. load();
  9300. }
  9301. }
  9302. });
  9303. on('scroll', () => {
  9304. if (swiper.params.freeMode && swiper.params.freeMode.enabled && !swiper.params.freeMode.sticky) {
  9305. load();
  9306. }
  9307. });
  9308. on('scrollbarDragMove resize _freeModeNoMomentumRelease', () => {
  9309. if (swiper.params.lazy.enabled) {
  9310. if (swiper.params.lazy.checkInView) {
  9311. checkInViewOnLoad();
  9312. } else {
  9313. load();
  9314. }
  9315. }
  9316. });
  9317. on('transitionStart', () => {
  9318. if (swiper.params.lazy.enabled) {
  9319. if (swiper.params.lazy.loadOnTransitionStart || !swiper.params.lazy.loadOnTransitionStart && !initialImageLoaded) {
  9320. if (swiper.params.lazy.checkInView) {
  9321. checkInViewOnLoad();
  9322. } else {
  9323. load();
  9324. }
  9325. }
  9326. }
  9327. });
  9328. on('transitionEnd', () => {
  9329. if (swiper.params.lazy.enabled && !swiper.params.lazy.loadOnTransitionStart) {
  9330. if (swiper.params.lazy.checkInView) {
  9331. checkInViewOnLoad();
  9332. } else {
  9333. load();
  9334. }
  9335. }
  9336. });
  9337. on('slideChange', () => {
  9338. const {
  9339. lazy,
  9340. cssMode,
  9341. watchSlidesProgress,
  9342. touchReleaseOnEdges,
  9343. resistanceRatio
  9344. } = swiper.params;
  9345. if (lazy.enabled && (cssMode || watchSlidesProgress && (touchReleaseOnEdges || resistanceRatio === 0))) {
  9346. load();
  9347. }
  9348. });
  9349. on('destroy', () => {
  9350. if (!swiper.$el) return;
  9351. swiper.$el.find(`.${swiper.params.lazy.loadingClass}`).removeClass(swiper.params.lazy.loadingClass);
  9352. });
  9353. Object.assign(swiper.lazy, {
  9354. load,
  9355. loadInSlide
  9356. });
  9357. }
  9358. /***/ }),
  9359. /***/ 6642:
  9360. /*!******************************************************************!*\
  9361. !*** ./node_modules/swiper/modules/manipulation/manipulation.js ***!
  9362. \******************************************************************/
  9363. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  9364. __webpack_require__.r(__webpack_exports__);
  9365. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  9366. /* harmony export */ "default": () => (/* binding */ Manipulation)
  9367. /* harmony export */ });
  9368. /* harmony import */ var _methods_appendSlide_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./methods/appendSlide.js */ 58);
  9369. /* harmony import */ var _methods_prependSlide_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./methods/prependSlide.js */ 8940);
  9370. /* harmony import */ var _methods_addSlide_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./methods/addSlide.js */ 1791);
  9371. /* harmony import */ var _methods_removeSlide_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./methods/removeSlide.js */ 4668);
  9372. /* harmony import */ var _methods_removeAllSlides_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./methods/removeAllSlides.js */ 9281);
  9373. function Manipulation({
  9374. swiper
  9375. }) {
  9376. Object.assign(swiper, {
  9377. appendSlide: _methods_appendSlide_js__WEBPACK_IMPORTED_MODULE_0__["default"].bind(swiper),
  9378. prependSlide: _methods_prependSlide_js__WEBPACK_IMPORTED_MODULE_1__["default"].bind(swiper),
  9379. addSlide: _methods_addSlide_js__WEBPACK_IMPORTED_MODULE_2__["default"].bind(swiper),
  9380. removeSlide: _methods_removeSlide_js__WEBPACK_IMPORTED_MODULE_3__["default"].bind(swiper),
  9381. removeAllSlides: _methods_removeAllSlides_js__WEBPACK_IMPORTED_MODULE_4__["default"].bind(swiper)
  9382. });
  9383. }
  9384. /***/ }),
  9385. /***/ 1791:
  9386. /*!**********************************************************************!*\
  9387. !*** ./node_modules/swiper/modules/manipulation/methods/addSlide.js ***!
  9388. \**********************************************************************/
  9389. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  9390. __webpack_require__.r(__webpack_exports__);
  9391. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  9392. /* harmony export */ "default": () => (/* binding */ addSlide)
  9393. /* harmony export */ });
  9394. function addSlide(index, slides) {
  9395. const swiper = this;
  9396. const {
  9397. $wrapperEl,
  9398. params,
  9399. activeIndex
  9400. } = swiper;
  9401. let activeIndexBuffer = activeIndex;
  9402. if (params.loop) {
  9403. activeIndexBuffer -= swiper.loopedSlides;
  9404. swiper.loopDestroy();
  9405. swiper.slides = $wrapperEl.children(`.${params.slideClass}`);
  9406. }
  9407. const baseLength = swiper.slides.length;
  9408. if (index <= 0) {
  9409. swiper.prependSlide(slides);
  9410. return;
  9411. }
  9412. if (index >= baseLength) {
  9413. swiper.appendSlide(slides);
  9414. return;
  9415. }
  9416. let newActiveIndex = activeIndexBuffer > index ? activeIndexBuffer + 1 : activeIndexBuffer;
  9417. const slidesBuffer = [];
  9418. for (let i = baseLength - 1; i >= index; i -= 1) {
  9419. const currentSlide = swiper.slides.eq(i);
  9420. currentSlide.remove();
  9421. slidesBuffer.unshift(currentSlide);
  9422. }
  9423. if (typeof slides === 'object' && 'length' in slides) {
  9424. for (let i = 0; i < slides.length; i += 1) {
  9425. if (slides[i]) $wrapperEl.append(slides[i]);
  9426. }
  9427. newActiveIndex = activeIndexBuffer > index ? activeIndexBuffer + slides.length : activeIndexBuffer;
  9428. } else {
  9429. $wrapperEl.append(slides);
  9430. }
  9431. for (let i = 0; i < slidesBuffer.length; i += 1) {
  9432. $wrapperEl.append(slidesBuffer[i]);
  9433. }
  9434. if (params.loop) {
  9435. swiper.loopCreate();
  9436. }
  9437. if (!params.observer) {
  9438. swiper.update();
  9439. }
  9440. if (params.loop) {
  9441. swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false);
  9442. } else {
  9443. swiper.slideTo(newActiveIndex, 0, false);
  9444. }
  9445. }
  9446. /***/ }),
  9447. /***/ 58:
  9448. /*!*************************************************************************!*\
  9449. !*** ./node_modules/swiper/modules/manipulation/methods/appendSlide.js ***!
  9450. \*************************************************************************/
  9451. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  9452. __webpack_require__.r(__webpack_exports__);
  9453. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  9454. /* harmony export */ "default": () => (/* binding */ appendSlide)
  9455. /* harmony export */ });
  9456. function appendSlide(slides) {
  9457. const swiper = this;
  9458. const {
  9459. $wrapperEl,
  9460. params
  9461. } = swiper;
  9462. if (params.loop) {
  9463. swiper.loopDestroy();
  9464. }
  9465. if (typeof slides === 'object' && 'length' in slides) {
  9466. for (let i = 0; i < slides.length; i += 1) {
  9467. if (slides[i]) $wrapperEl.append(slides[i]);
  9468. }
  9469. } else {
  9470. $wrapperEl.append(slides);
  9471. }
  9472. if (params.loop) {
  9473. swiper.loopCreate();
  9474. }
  9475. if (!params.observer) {
  9476. swiper.update();
  9477. }
  9478. }
  9479. /***/ }),
  9480. /***/ 8940:
  9481. /*!**************************************************************************!*\
  9482. !*** ./node_modules/swiper/modules/manipulation/methods/prependSlide.js ***!
  9483. \**************************************************************************/
  9484. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  9485. __webpack_require__.r(__webpack_exports__);
  9486. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  9487. /* harmony export */ "default": () => (/* binding */ prependSlide)
  9488. /* harmony export */ });
  9489. function prependSlide(slides) {
  9490. const swiper = this;
  9491. const {
  9492. params,
  9493. $wrapperEl,
  9494. activeIndex
  9495. } = swiper;
  9496. if (params.loop) {
  9497. swiper.loopDestroy();
  9498. }
  9499. let newActiveIndex = activeIndex + 1;
  9500. if (typeof slides === 'object' && 'length' in slides) {
  9501. for (let i = 0; i < slides.length; i += 1) {
  9502. if (slides[i]) $wrapperEl.prepend(slides[i]);
  9503. }
  9504. newActiveIndex = activeIndex + slides.length;
  9505. } else {
  9506. $wrapperEl.prepend(slides);
  9507. }
  9508. if (params.loop) {
  9509. swiper.loopCreate();
  9510. }
  9511. if (!params.observer) {
  9512. swiper.update();
  9513. }
  9514. swiper.slideTo(newActiveIndex, 0, false);
  9515. }
  9516. /***/ }),
  9517. /***/ 9281:
  9518. /*!*****************************************************************************!*\
  9519. !*** ./node_modules/swiper/modules/manipulation/methods/removeAllSlides.js ***!
  9520. \*****************************************************************************/
  9521. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  9522. __webpack_require__.r(__webpack_exports__);
  9523. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  9524. /* harmony export */ "default": () => (/* binding */ removeAllSlides)
  9525. /* harmony export */ });
  9526. function removeAllSlides() {
  9527. const swiper = this;
  9528. const slidesIndexes = [];
  9529. for (let i = 0; i < swiper.slides.length; i += 1) {
  9530. slidesIndexes.push(i);
  9531. }
  9532. swiper.removeSlide(slidesIndexes);
  9533. }
  9534. /***/ }),
  9535. /***/ 4668:
  9536. /*!*************************************************************************!*\
  9537. !*** ./node_modules/swiper/modules/manipulation/methods/removeSlide.js ***!
  9538. \*************************************************************************/
  9539. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  9540. __webpack_require__.r(__webpack_exports__);
  9541. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  9542. /* harmony export */ "default": () => (/* binding */ removeSlide)
  9543. /* harmony export */ });
  9544. function removeSlide(slidesIndexes) {
  9545. const swiper = this;
  9546. const {
  9547. params,
  9548. $wrapperEl,
  9549. activeIndex
  9550. } = swiper;
  9551. let activeIndexBuffer = activeIndex;
  9552. if (params.loop) {
  9553. activeIndexBuffer -= swiper.loopedSlides;
  9554. swiper.loopDestroy();
  9555. swiper.slides = $wrapperEl.children(`.${params.slideClass}`);
  9556. }
  9557. let newActiveIndex = activeIndexBuffer;
  9558. let indexToRemove;
  9559. if (typeof slidesIndexes === 'object' && 'length' in slidesIndexes) {
  9560. for (let i = 0; i < slidesIndexes.length; i += 1) {
  9561. indexToRemove = slidesIndexes[i];
  9562. if (swiper.slides[indexToRemove]) swiper.slides.eq(indexToRemove).remove();
  9563. if (indexToRemove < newActiveIndex) newActiveIndex -= 1;
  9564. }
  9565. newActiveIndex = Math.max(newActiveIndex, 0);
  9566. } else {
  9567. indexToRemove = slidesIndexes;
  9568. if (swiper.slides[indexToRemove]) swiper.slides.eq(indexToRemove).remove();
  9569. if (indexToRemove < newActiveIndex) newActiveIndex -= 1;
  9570. newActiveIndex = Math.max(newActiveIndex, 0);
  9571. }
  9572. if (params.loop) {
  9573. swiper.loopCreate();
  9574. }
  9575. if (!params.observer) {
  9576. swiper.update();
  9577. }
  9578. if (params.loop) {
  9579. swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false);
  9580. } else {
  9581. swiper.slideTo(newActiveIndex, 0, false);
  9582. }
  9583. }
  9584. /***/ }),
  9585. /***/ 1226:
  9586. /*!**************************************************************!*\
  9587. !*** ./node_modules/swiper/modules/mousewheel/mousewheel.js ***!
  9588. \**************************************************************/
  9589. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  9590. __webpack_require__.r(__webpack_exports__);
  9591. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  9592. /* harmony export */ "default": () => (/* binding */ Mousewheel)
  9593. /* harmony export */ });
  9594. /* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ 2864);
  9595. /* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/dom.js */ 6007);
  9596. /* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../shared/utils.js */ 3809);
  9597. /* eslint-disable consistent-return */
  9598. function Mousewheel({
  9599. swiper,
  9600. extendParams,
  9601. on,
  9602. emit
  9603. }) {
  9604. const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
  9605. extendParams({
  9606. mousewheel: {
  9607. enabled: false,
  9608. releaseOnEdges: false,
  9609. invert: false,
  9610. forceToAxis: false,
  9611. sensitivity: 1,
  9612. eventsTarget: 'container',
  9613. thresholdDelta: null,
  9614. thresholdTime: null
  9615. }
  9616. });
  9617. swiper.mousewheel = {
  9618. enabled: false
  9619. };
  9620. let timeout;
  9621. let lastScrollTime = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.now)();
  9622. let lastEventBeforeSnap;
  9623. const recentWheelEvents = [];
  9624. function normalize(e) {
  9625. // Reasonable defaults
  9626. const PIXEL_STEP = 10;
  9627. const LINE_HEIGHT = 40;
  9628. const PAGE_HEIGHT = 800;
  9629. let sX = 0;
  9630. let sY = 0; // spinX, spinY
  9631. let pX = 0;
  9632. let pY = 0; // pixelX, pixelY
  9633. // Legacy
  9634. if ('detail' in e) {
  9635. sY = e.detail;
  9636. }
  9637. if ('wheelDelta' in e) {
  9638. sY = -e.wheelDelta / 120;
  9639. }
  9640. if ('wheelDeltaY' in e) {
  9641. sY = -e.wheelDeltaY / 120;
  9642. }
  9643. if ('wheelDeltaX' in e) {
  9644. sX = -e.wheelDeltaX / 120;
  9645. } // side scrolling on FF with DOMMouseScroll
  9646. if ('axis' in e && e.axis === e.HORIZONTAL_AXIS) {
  9647. sX = sY;
  9648. sY = 0;
  9649. }
  9650. pX = sX * PIXEL_STEP;
  9651. pY = sY * PIXEL_STEP;
  9652. if ('deltaY' in e) {
  9653. pY = e.deltaY;
  9654. }
  9655. if ('deltaX' in e) {
  9656. pX = e.deltaX;
  9657. }
  9658. if (e.shiftKey && !pX) {
  9659. // if user scrolls with shift he wants horizontal scroll
  9660. pX = pY;
  9661. pY = 0;
  9662. }
  9663. if ((pX || pY) && e.deltaMode) {
  9664. if (e.deltaMode === 1) {
  9665. // delta in LINE units
  9666. pX *= LINE_HEIGHT;
  9667. pY *= LINE_HEIGHT;
  9668. } else {
  9669. // delta in PAGE units
  9670. pX *= PAGE_HEIGHT;
  9671. pY *= PAGE_HEIGHT;
  9672. }
  9673. } // Fall-back if spin cannot be determined
  9674. if (pX && !sX) {
  9675. sX = pX < 1 ? -1 : 1;
  9676. }
  9677. if (pY && !sY) {
  9678. sY = pY < 1 ? -1 : 1;
  9679. }
  9680. return {
  9681. spinX: sX,
  9682. spinY: sY,
  9683. pixelX: pX,
  9684. pixelY: pY
  9685. };
  9686. }
  9687. function handleMouseEnter() {
  9688. if (!swiper.enabled) return;
  9689. swiper.mouseEntered = true;
  9690. }
  9691. function handleMouseLeave() {
  9692. if (!swiper.enabled) return;
  9693. swiper.mouseEntered = false;
  9694. }
  9695. function animateSlider(newEvent) {
  9696. if (swiper.params.mousewheel.thresholdDelta && newEvent.delta < swiper.params.mousewheel.thresholdDelta) {
  9697. // Prevent if delta of wheel scroll delta is below configured threshold
  9698. return false;
  9699. }
  9700. if (swiper.params.mousewheel.thresholdTime && (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.now)() - lastScrollTime < swiper.params.mousewheel.thresholdTime) {
  9701. // Prevent if time between scrolls is below configured threshold
  9702. return false;
  9703. } // If the movement is NOT big enough and
  9704. // if the last time the user scrolled was too close to the current one (avoid continuously triggering the slider):
  9705. // Don't go any further (avoid insignificant scroll movement).
  9706. if (newEvent.delta >= 6 && (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.now)() - lastScrollTime < 60) {
  9707. // Return false as a default
  9708. return true;
  9709. } // If user is scrolling towards the end:
  9710. // If the slider hasn't hit the latest slide or
  9711. // if the slider is a loop and
  9712. // if the slider isn't moving right now:
  9713. // Go to next slide and
  9714. // emit a scroll event.
  9715. // Else (the user is scrolling towards the beginning) and
  9716. // if the slider hasn't hit the first slide or
  9717. // if the slider is a loop and
  9718. // if the slider isn't moving right now:
  9719. // Go to prev slide and
  9720. // emit a scroll event.
  9721. if (newEvent.direction < 0) {
  9722. if ((!swiper.isEnd || swiper.params.loop) && !swiper.animating) {
  9723. swiper.slideNext();
  9724. emit('scroll', newEvent.raw);
  9725. }
  9726. } else if ((!swiper.isBeginning || swiper.params.loop) && !swiper.animating) {
  9727. swiper.slidePrev();
  9728. emit('scroll', newEvent.raw);
  9729. } // If you got here is because an animation has been triggered so store the current time
  9730. lastScrollTime = new window.Date().getTime(); // Return false as a default
  9731. return false;
  9732. }
  9733. function releaseScroll(newEvent) {
  9734. const params = swiper.params.mousewheel;
  9735. if (newEvent.direction < 0) {
  9736. if (swiper.isEnd && !swiper.params.loop && params.releaseOnEdges) {
  9737. // Return true to animate scroll on edges
  9738. return true;
  9739. }
  9740. } else if (swiper.isBeginning && !swiper.params.loop && params.releaseOnEdges) {
  9741. // Return true to animate scroll on edges
  9742. return true;
  9743. }
  9744. return false;
  9745. }
  9746. function handle(event) {
  9747. let e = event;
  9748. let disableParentSwiper = true;
  9749. if (!swiper.enabled) return;
  9750. const params = swiper.params.mousewheel;
  9751. if (swiper.params.cssMode) {
  9752. e.preventDefault();
  9753. }
  9754. let target = swiper.$el;
  9755. if (swiper.params.mousewheel.eventsTarget !== 'container') {
  9756. target = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(swiper.params.mousewheel.eventsTarget);
  9757. }
  9758. if (!swiper.mouseEntered && !target[0].contains(e.target) && !params.releaseOnEdges) return true;
  9759. if (e.originalEvent) e = e.originalEvent; // jquery fix
  9760. let delta = 0;
  9761. const rtlFactor = swiper.rtlTranslate ? -1 : 1;
  9762. const data = normalize(e);
  9763. if (params.forceToAxis) {
  9764. if (swiper.isHorizontal()) {
  9765. if (Math.abs(data.pixelX) > Math.abs(data.pixelY)) delta = -data.pixelX * rtlFactor;else return true;
  9766. } else if (Math.abs(data.pixelY) > Math.abs(data.pixelX)) delta = -data.pixelY;else return true;
  9767. } else {
  9768. delta = Math.abs(data.pixelX) > Math.abs(data.pixelY) ? -data.pixelX * rtlFactor : -data.pixelY;
  9769. }
  9770. if (delta === 0) return true;
  9771. if (params.invert) delta = -delta; // Get the scroll positions
  9772. let positions = swiper.getTranslate() + delta * params.sensitivity;
  9773. if (positions >= swiper.minTranslate()) positions = swiper.minTranslate();
  9774. if (positions <= swiper.maxTranslate()) positions = swiper.maxTranslate(); // When loop is true:
  9775. // the disableParentSwiper will be true.
  9776. // When loop is false:
  9777. // if the scroll positions is not on edge,
  9778. // then the disableParentSwiper will be true.
  9779. // if the scroll on edge positions,
  9780. // then the disableParentSwiper will be false.
  9781. disableParentSwiper = swiper.params.loop ? true : !(positions === swiper.minTranslate() || positions === swiper.maxTranslate());
  9782. if (disableParentSwiper && swiper.params.nested) e.stopPropagation();
  9783. if (!swiper.params.freeMode || !swiper.params.freeMode.enabled) {
  9784. // Register the new event in a variable which stores the relevant data
  9785. const newEvent = {
  9786. time: (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.now)(),
  9787. delta: Math.abs(delta),
  9788. direction: Math.sign(delta),
  9789. raw: event
  9790. }; // Keep the most recent events
  9791. if (recentWheelEvents.length >= 2) {
  9792. recentWheelEvents.shift(); // only store the last N events
  9793. }
  9794. const prevEvent = recentWheelEvents.length ? recentWheelEvents[recentWheelEvents.length - 1] : undefined;
  9795. recentWheelEvents.push(newEvent); // If there is at least one previous recorded event:
  9796. // If direction has changed or
  9797. // if the scroll is quicker than the previous one:
  9798. // Animate the slider.
  9799. // Else (this is the first time the wheel is moved):
  9800. // Animate the slider.
  9801. if (prevEvent) {
  9802. if (newEvent.direction !== prevEvent.direction || newEvent.delta > prevEvent.delta || newEvent.time > prevEvent.time + 150) {
  9803. animateSlider(newEvent);
  9804. }
  9805. } else {
  9806. animateSlider(newEvent);
  9807. } // If it's time to release the scroll:
  9808. // Return now so you don't hit the preventDefault.
  9809. if (releaseScroll(newEvent)) {
  9810. return true;
  9811. }
  9812. } else {
  9813. // Freemode or scrollContainer:
  9814. // If we recently snapped after a momentum scroll, then ignore wheel events
  9815. // to give time for the deceleration to finish. Stop ignoring after 500 msecs
  9816. // or if it's a new scroll (larger delta or inverse sign as last event before
  9817. // an end-of-momentum snap).
  9818. const newEvent = {
  9819. time: (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.now)(),
  9820. delta: Math.abs(delta),
  9821. direction: Math.sign(delta)
  9822. };
  9823. const ignoreWheelEvents = lastEventBeforeSnap && newEvent.time < lastEventBeforeSnap.time + 500 && newEvent.delta <= lastEventBeforeSnap.delta && newEvent.direction === lastEventBeforeSnap.direction;
  9824. if (!ignoreWheelEvents) {
  9825. lastEventBeforeSnap = undefined;
  9826. if (swiper.params.loop) {
  9827. swiper.loopFix();
  9828. }
  9829. let position = swiper.getTranslate() + delta * params.sensitivity;
  9830. const wasBeginning = swiper.isBeginning;
  9831. const wasEnd = swiper.isEnd;
  9832. if (position >= swiper.minTranslate()) position = swiper.minTranslate();
  9833. if (position <= swiper.maxTranslate()) position = swiper.maxTranslate();
  9834. swiper.setTransition(0);
  9835. swiper.setTranslate(position);
  9836. swiper.updateProgress();
  9837. swiper.updateActiveIndex();
  9838. swiper.updateSlidesClasses();
  9839. if (!wasBeginning && swiper.isBeginning || !wasEnd && swiper.isEnd) {
  9840. swiper.updateSlidesClasses();
  9841. }
  9842. if (swiper.params.freeMode.sticky) {
  9843. // When wheel scrolling starts with sticky (aka snap) enabled, then detect
  9844. // the end of a momentum scroll by storing recent (N=15?) wheel events.
  9845. // 1. do all N events have decreasing or same (absolute value) delta?
  9846. // 2. did all N events arrive in the last M (M=500?) msecs?
  9847. // 3. does the earliest event have an (absolute value) delta that's
  9848. // at least P (P=1?) larger than the most recent event's delta?
  9849. // 4. does the latest event have a delta that's smaller than Q (Q=6?) pixels?
  9850. // If 1-4 are "yes" then we're near the end of a momentum scroll deceleration.
  9851. // Snap immediately and ignore remaining wheel events in this scroll.
  9852. // See comment above for "remaining wheel events in this scroll" determination.
  9853. // If 1-4 aren't satisfied, then wait to snap until 500ms after the last event.
  9854. clearTimeout(timeout);
  9855. timeout = undefined;
  9856. if (recentWheelEvents.length >= 15) {
  9857. recentWheelEvents.shift(); // only store the last N events
  9858. }
  9859. const prevEvent = recentWheelEvents.length ? recentWheelEvents[recentWheelEvents.length - 1] : undefined;
  9860. const firstEvent = recentWheelEvents[0];
  9861. recentWheelEvents.push(newEvent);
  9862. if (prevEvent && (newEvent.delta > prevEvent.delta || newEvent.direction !== prevEvent.direction)) {
  9863. // Increasing or reverse-sign delta means the user started scrolling again. Clear the wheel event log.
  9864. recentWheelEvents.splice(0);
  9865. } else if (recentWheelEvents.length >= 15 && newEvent.time - firstEvent.time < 500 && firstEvent.delta - newEvent.delta >= 1 && newEvent.delta <= 6) {
  9866. // We're at the end of the deceleration of a momentum scroll, so there's no need
  9867. // to wait for more events. Snap ASAP on the next tick.
  9868. // Also, because there's some remaining momentum we'll bias the snap in the
  9869. // direction of the ongoing scroll because it's better UX for the scroll to snap
  9870. // in the same direction as the scroll instead of reversing to snap. Therefore,
  9871. // if it's already scrolled more than 20% in the current direction, keep going.
  9872. const snapToThreshold = delta > 0 ? 0.8 : 0.2;
  9873. lastEventBeforeSnap = newEvent;
  9874. recentWheelEvents.splice(0);
  9875. timeout = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.nextTick)(() => {
  9876. swiper.slideToClosest(swiper.params.speed, true, undefined, snapToThreshold);
  9877. }, 0); // no delay; move on next tick
  9878. }
  9879. if (!timeout) {
  9880. // if we get here, then we haven't detected the end of a momentum scroll, so
  9881. // we'll consider a scroll "complete" when there haven't been any wheel events
  9882. // for 500ms.
  9883. timeout = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.nextTick)(() => {
  9884. const snapToThreshold = 0.5;
  9885. lastEventBeforeSnap = newEvent;
  9886. recentWheelEvents.splice(0);
  9887. swiper.slideToClosest(swiper.params.speed, true, undefined, snapToThreshold);
  9888. }, 500);
  9889. }
  9890. } // Emit event
  9891. if (!ignoreWheelEvents) emit('scroll', e); // Stop autoplay
  9892. if (swiper.params.autoplay && swiper.params.autoplayDisableOnInteraction) swiper.autoplay.stop(); // Return page scroll on edge positions
  9893. if (position === swiper.minTranslate() || position === swiper.maxTranslate()) return true;
  9894. }
  9895. }
  9896. if (e.preventDefault) e.preventDefault();else e.returnValue = false;
  9897. return false;
  9898. }
  9899. function events(method) {
  9900. let target = swiper.$el;
  9901. if (swiper.params.mousewheel.eventsTarget !== 'container') {
  9902. target = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(swiper.params.mousewheel.eventsTarget);
  9903. }
  9904. target[method]('mouseenter', handleMouseEnter);
  9905. target[method]('mouseleave', handleMouseLeave);
  9906. target[method]('wheel', handle);
  9907. }
  9908. function enable() {
  9909. if (swiper.params.cssMode) {
  9910. swiper.wrapperEl.removeEventListener('wheel', handle);
  9911. return true;
  9912. }
  9913. if (swiper.mousewheel.enabled) return false;
  9914. events('on');
  9915. swiper.mousewheel.enabled = true;
  9916. return true;
  9917. }
  9918. function disable() {
  9919. if (swiper.params.cssMode) {
  9920. swiper.wrapperEl.addEventListener(event, handle);
  9921. return true;
  9922. }
  9923. if (!swiper.mousewheel.enabled) return false;
  9924. events('off');
  9925. swiper.mousewheel.enabled = false;
  9926. return true;
  9927. }
  9928. on('init', () => {
  9929. if (!swiper.params.mousewheel.enabled && swiper.params.cssMode) {
  9930. disable();
  9931. }
  9932. if (swiper.params.mousewheel.enabled) enable();
  9933. });
  9934. on('destroy', () => {
  9935. if (swiper.params.cssMode) {
  9936. enable();
  9937. }
  9938. if (swiper.mousewheel.enabled) disable();
  9939. });
  9940. Object.assign(swiper.mousewheel, {
  9941. enable,
  9942. disable
  9943. });
  9944. }
  9945. /***/ }),
  9946. /***/ 4502:
  9947. /*!**************************************************************!*\
  9948. !*** ./node_modules/swiper/modules/navigation/navigation.js ***!
  9949. \**************************************************************/
  9950. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  9951. __webpack_require__.r(__webpack_exports__);
  9952. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  9953. /* harmony export */ "default": () => (/* binding */ Navigation)
  9954. /* harmony export */ });
  9955. /* harmony import */ var _shared_create_element_if_not_defined_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/create-element-if-not-defined.js */ 9358);
  9956. /* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/dom.js */ 6007);
  9957. function Navigation({
  9958. swiper,
  9959. extendParams,
  9960. on,
  9961. emit
  9962. }) {
  9963. extendParams({
  9964. navigation: {
  9965. nextEl: null,
  9966. prevEl: null,
  9967. hideOnClick: false,
  9968. disabledClass: 'swiper-button-disabled',
  9969. hiddenClass: 'swiper-button-hidden',
  9970. lockClass: 'swiper-button-lock',
  9971. navigationDisabledClass: 'swiper-navigation-disabled'
  9972. }
  9973. });
  9974. swiper.navigation = {
  9975. nextEl: null,
  9976. $nextEl: null,
  9977. prevEl: null,
  9978. $prevEl: null
  9979. };
  9980. function getEl(el) {
  9981. let $el;
  9982. if (el) {
  9983. $el = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(el);
  9984. if (swiper.params.uniqueNavElements && typeof el === 'string' && $el.length > 1 && swiper.$el.find(el).length === 1) {
  9985. $el = swiper.$el.find(el);
  9986. }
  9987. }
  9988. return $el;
  9989. }
  9990. function toggleEl($el, disabled) {
  9991. const params = swiper.params.navigation;
  9992. if ($el && $el.length > 0) {
  9993. $el[disabled ? 'addClass' : 'removeClass'](params.disabledClass);
  9994. if ($el[0] && $el[0].tagName === 'BUTTON') $el[0].disabled = disabled;
  9995. if (swiper.params.watchOverflow && swiper.enabled) {
  9996. $el[swiper.isLocked ? 'addClass' : 'removeClass'](params.lockClass);
  9997. }
  9998. }
  9999. }
  10000. function update() {
  10001. // Update Navigation Buttons
  10002. if (swiper.params.loop) return;
  10003. const {
  10004. $nextEl,
  10005. $prevEl
  10006. } = swiper.navigation;
  10007. toggleEl($prevEl, swiper.isBeginning && !swiper.params.rewind);
  10008. toggleEl($nextEl, swiper.isEnd && !swiper.params.rewind);
  10009. }
  10010. function onPrevClick(e) {
  10011. e.preventDefault();
  10012. if (swiper.isBeginning && !swiper.params.loop && !swiper.params.rewind) return;
  10013. swiper.slidePrev();
  10014. emit('navigationPrev');
  10015. }
  10016. function onNextClick(e) {
  10017. e.preventDefault();
  10018. if (swiper.isEnd && !swiper.params.loop && !swiper.params.rewind) return;
  10019. swiper.slideNext();
  10020. emit('navigationNext');
  10021. }
  10022. function init() {
  10023. const params = swiper.params.navigation;
  10024. swiper.params.navigation = (0,_shared_create_element_if_not_defined_js__WEBPACK_IMPORTED_MODULE_0__["default"])(swiper, swiper.originalParams.navigation, swiper.params.navigation, {
  10025. nextEl: 'swiper-button-next',
  10026. prevEl: 'swiper-button-prev'
  10027. });
  10028. if (!(params.nextEl || params.prevEl)) return;
  10029. const $nextEl = getEl(params.nextEl);
  10030. const $prevEl = getEl(params.prevEl);
  10031. if ($nextEl && $nextEl.length > 0) {
  10032. $nextEl.on('click', onNextClick);
  10033. }
  10034. if ($prevEl && $prevEl.length > 0) {
  10035. $prevEl.on('click', onPrevClick);
  10036. }
  10037. Object.assign(swiper.navigation, {
  10038. $nextEl,
  10039. nextEl: $nextEl && $nextEl[0],
  10040. $prevEl,
  10041. prevEl: $prevEl && $prevEl[0]
  10042. });
  10043. if (!swiper.enabled) {
  10044. if ($nextEl) $nextEl.addClass(params.lockClass);
  10045. if ($prevEl) $prevEl.addClass(params.lockClass);
  10046. }
  10047. }
  10048. function destroy() {
  10049. const {
  10050. $nextEl,
  10051. $prevEl
  10052. } = swiper.navigation;
  10053. if ($nextEl && $nextEl.length) {
  10054. $nextEl.off('click', onNextClick);
  10055. $nextEl.removeClass(swiper.params.navigation.disabledClass);
  10056. }
  10057. if ($prevEl && $prevEl.length) {
  10058. $prevEl.off('click', onPrevClick);
  10059. $prevEl.removeClass(swiper.params.navigation.disabledClass);
  10060. }
  10061. }
  10062. on('init', () => {
  10063. if (swiper.params.navigation.enabled === false) {
  10064. // eslint-disable-next-line
  10065. disable();
  10066. } else {
  10067. init();
  10068. update();
  10069. }
  10070. });
  10071. on('toEdge fromEdge lock unlock', () => {
  10072. update();
  10073. });
  10074. on('destroy', () => {
  10075. destroy();
  10076. });
  10077. on('enable disable', () => {
  10078. const {
  10079. $nextEl,
  10080. $prevEl
  10081. } = swiper.navigation;
  10082. if ($nextEl) {
  10083. $nextEl[swiper.enabled ? 'removeClass' : 'addClass'](swiper.params.navigation.lockClass);
  10084. }
  10085. if ($prevEl) {
  10086. $prevEl[swiper.enabled ? 'removeClass' : 'addClass'](swiper.params.navigation.lockClass);
  10087. }
  10088. });
  10089. on('click', (_s, e) => {
  10090. const {
  10091. $nextEl,
  10092. $prevEl
  10093. } = swiper.navigation;
  10094. const targetEl = e.target;
  10095. if (swiper.params.navigation.hideOnClick && !(0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(targetEl).is($prevEl) && !(0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(targetEl).is($nextEl)) {
  10096. if (swiper.pagination && swiper.params.pagination && swiper.params.pagination.clickable && (swiper.pagination.el === targetEl || swiper.pagination.el.contains(targetEl))) return;
  10097. let isHidden;
  10098. if ($nextEl) {
  10099. isHidden = $nextEl.hasClass(swiper.params.navigation.hiddenClass);
  10100. } else if ($prevEl) {
  10101. isHidden = $prevEl.hasClass(swiper.params.navigation.hiddenClass);
  10102. }
  10103. if (isHidden === true) {
  10104. emit('navigationShow');
  10105. } else {
  10106. emit('navigationHide');
  10107. }
  10108. if ($nextEl) {
  10109. $nextEl.toggleClass(swiper.params.navigation.hiddenClass);
  10110. }
  10111. if ($prevEl) {
  10112. $prevEl.toggleClass(swiper.params.navigation.hiddenClass);
  10113. }
  10114. }
  10115. });
  10116. const enable = () => {
  10117. swiper.$el.removeClass(swiper.params.navigation.navigationDisabledClass);
  10118. init();
  10119. update();
  10120. };
  10121. const disable = () => {
  10122. swiper.$el.addClass(swiper.params.navigation.navigationDisabledClass);
  10123. destroy();
  10124. };
  10125. Object.assign(swiper.navigation, {
  10126. enable,
  10127. disable,
  10128. update,
  10129. init,
  10130. destroy
  10131. });
  10132. }
  10133. /***/ }),
  10134. /***/ 4240:
  10135. /*!**************************************************************!*\
  10136. !*** ./node_modules/swiper/modules/pagination/pagination.js ***!
  10137. \**************************************************************/
  10138. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  10139. __webpack_require__.r(__webpack_exports__);
  10140. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  10141. /* harmony export */ "default": () => (/* binding */ Pagination)
  10142. /* harmony export */ });
  10143. /* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/dom.js */ 6007);
  10144. /* harmony import */ var _shared_classes_to_selector_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/classes-to-selector.js */ 1472);
  10145. /* harmony import */ var _shared_create_element_if_not_defined_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../shared/create-element-if-not-defined.js */ 9358);
  10146. function Pagination({
  10147. swiper,
  10148. extendParams,
  10149. on,
  10150. emit
  10151. }) {
  10152. const pfx = 'swiper-pagination';
  10153. extendParams({
  10154. pagination: {
  10155. el: null,
  10156. bulletElement: 'span',
  10157. clickable: false,
  10158. hideOnClick: false,
  10159. renderBullet: null,
  10160. renderProgressbar: null,
  10161. renderFraction: null,
  10162. renderCustom: null,
  10163. progressbarOpposite: false,
  10164. type: 'bullets',
  10165. // 'bullets' or 'progressbar' or 'fraction' or 'custom'
  10166. dynamicBullets: false,
  10167. dynamicMainBullets: 1,
  10168. formatFractionCurrent: number => number,
  10169. formatFractionTotal: number => number,
  10170. bulletClass: `${pfx}-bullet`,
  10171. bulletActiveClass: `${pfx}-bullet-active`,
  10172. modifierClass: `${pfx}-`,
  10173. currentClass: `${pfx}-current`,
  10174. totalClass: `${pfx}-total`,
  10175. hiddenClass: `${pfx}-hidden`,
  10176. progressbarFillClass: `${pfx}-progressbar-fill`,
  10177. progressbarOppositeClass: `${pfx}-progressbar-opposite`,
  10178. clickableClass: `${pfx}-clickable`,
  10179. lockClass: `${pfx}-lock`,
  10180. horizontalClass: `${pfx}-horizontal`,
  10181. verticalClass: `${pfx}-vertical`,
  10182. paginationDisabledClass: `${pfx}-disabled`
  10183. }
  10184. });
  10185. swiper.pagination = {
  10186. el: null,
  10187. $el: null,
  10188. bullets: []
  10189. };
  10190. let bulletSize;
  10191. let dynamicBulletIndex = 0;
  10192. function isPaginationDisabled() {
  10193. return !swiper.params.pagination.el || !swiper.pagination.el || !swiper.pagination.$el || swiper.pagination.$el.length === 0;
  10194. }
  10195. function setSideBullets($bulletEl, position) {
  10196. const {
  10197. bulletActiveClass
  10198. } = swiper.params.pagination;
  10199. $bulletEl[position]().addClass(`${bulletActiveClass}-${position}`)[position]().addClass(`${bulletActiveClass}-${position}-${position}`);
  10200. }
  10201. function update() {
  10202. // Render || Update Pagination bullets/items
  10203. const rtl = swiper.rtl;
  10204. const params = swiper.params.pagination;
  10205. if (isPaginationDisabled()) return;
  10206. const slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.slides.length;
  10207. const $el = swiper.pagination.$el; // Current/Total
  10208. let current;
  10209. const total = swiper.params.loop ? Math.ceil((slidesLength - swiper.loopedSlides * 2) / swiper.params.slidesPerGroup) : swiper.snapGrid.length;
  10210. if (swiper.params.loop) {
  10211. current = Math.ceil((swiper.activeIndex - swiper.loopedSlides) / swiper.params.slidesPerGroup);
  10212. if (current > slidesLength - 1 - swiper.loopedSlides * 2) {
  10213. current -= slidesLength - swiper.loopedSlides * 2;
  10214. }
  10215. if (current > total - 1) current -= total;
  10216. if (current < 0 && swiper.params.paginationType !== 'bullets') current = total + current;
  10217. } else if (typeof swiper.snapIndex !== 'undefined') {
  10218. current = swiper.snapIndex;
  10219. } else {
  10220. current = swiper.activeIndex || 0;
  10221. } // Types
  10222. if (params.type === 'bullets' && swiper.pagination.bullets && swiper.pagination.bullets.length > 0) {
  10223. const bullets = swiper.pagination.bullets;
  10224. let firstIndex;
  10225. let lastIndex;
  10226. let midIndex;
  10227. if (params.dynamicBullets) {
  10228. bulletSize = bullets.eq(0)[swiper.isHorizontal() ? 'outerWidth' : 'outerHeight'](true);
  10229. $el.css(swiper.isHorizontal() ? 'width' : 'height', `${bulletSize * (params.dynamicMainBullets + 4)}px`);
  10230. if (params.dynamicMainBullets > 1 && swiper.previousIndex !== undefined) {
  10231. dynamicBulletIndex += current - (swiper.previousIndex - swiper.loopedSlides || 0);
  10232. if (dynamicBulletIndex > params.dynamicMainBullets - 1) {
  10233. dynamicBulletIndex = params.dynamicMainBullets - 1;
  10234. } else if (dynamicBulletIndex < 0) {
  10235. dynamicBulletIndex = 0;
  10236. }
  10237. }
  10238. firstIndex = Math.max(current - dynamicBulletIndex, 0);
  10239. lastIndex = firstIndex + (Math.min(bullets.length, params.dynamicMainBullets) - 1);
  10240. midIndex = (lastIndex + firstIndex) / 2;
  10241. }
  10242. bullets.removeClass(['', '-next', '-next-next', '-prev', '-prev-prev', '-main'].map(suffix => `${params.bulletActiveClass}${suffix}`).join(' '));
  10243. if ($el.length > 1) {
  10244. bullets.each(bullet => {
  10245. const $bullet = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_0__["default"])(bullet);
  10246. const bulletIndex = $bullet.index();
  10247. if (bulletIndex === current) {
  10248. $bullet.addClass(params.bulletActiveClass);
  10249. }
  10250. if (params.dynamicBullets) {
  10251. if (bulletIndex >= firstIndex && bulletIndex <= lastIndex) {
  10252. $bullet.addClass(`${params.bulletActiveClass}-main`);
  10253. }
  10254. if (bulletIndex === firstIndex) {
  10255. setSideBullets($bullet, 'prev');
  10256. }
  10257. if (bulletIndex === lastIndex) {
  10258. setSideBullets($bullet, 'next');
  10259. }
  10260. }
  10261. });
  10262. } else {
  10263. const $bullet = bullets.eq(current);
  10264. const bulletIndex = $bullet.index();
  10265. $bullet.addClass(params.bulletActiveClass);
  10266. if (params.dynamicBullets) {
  10267. const $firstDisplayedBullet = bullets.eq(firstIndex);
  10268. const $lastDisplayedBullet = bullets.eq(lastIndex);
  10269. for (let i = firstIndex; i <= lastIndex; i += 1) {
  10270. bullets.eq(i).addClass(`${params.bulletActiveClass}-main`);
  10271. }
  10272. if (swiper.params.loop) {
  10273. if (bulletIndex >= bullets.length) {
  10274. for (let i = params.dynamicMainBullets; i >= 0; i -= 1) {
  10275. bullets.eq(bullets.length - i).addClass(`${params.bulletActiveClass}-main`);
  10276. }
  10277. bullets.eq(bullets.length - params.dynamicMainBullets - 1).addClass(`${params.bulletActiveClass}-prev`);
  10278. } else {
  10279. setSideBullets($firstDisplayedBullet, 'prev');
  10280. setSideBullets($lastDisplayedBullet, 'next');
  10281. }
  10282. } else {
  10283. setSideBullets($firstDisplayedBullet, 'prev');
  10284. setSideBullets($lastDisplayedBullet, 'next');
  10285. }
  10286. }
  10287. }
  10288. if (params.dynamicBullets) {
  10289. const dynamicBulletsLength = Math.min(bullets.length, params.dynamicMainBullets + 4);
  10290. const bulletsOffset = (bulletSize * dynamicBulletsLength - bulletSize) / 2 - midIndex * bulletSize;
  10291. const offsetProp = rtl ? 'right' : 'left';
  10292. bullets.css(swiper.isHorizontal() ? offsetProp : 'top', `${bulletsOffset}px`);
  10293. }
  10294. }
  10295. if (params.type === 'fraction') {
  10296. $el.find((0,_shared_classes_to_selector_js__WEBPACK_IMPORTED_MODULE_1__["default"])(params.currentClass)).text(params.formatFractionCurrent(current + 1));
  10297. $el.find((0,_shared_classes_to_selector_js__WEBPACK_IMPORTED_MODULE_1__["default"])(params.totalClass)).text(params.formatFractionTotal(total));
  10298. }
  10299. if (params.type === 'progressbar') {
  10300. let progressbarDirection;
  10301. if (params.progressbarOpposite) {
  10302. progressbarDirection = swiper.isHorizontal() ? 'vertical' : 'horizontal';
  10303. } else {
  10304. progressbarDirection = swiper.isHorizontal() ? 'horizontal' : 'vertical';
  10305. }
  10306. const scale = (current + 1) / total;
  10307. let scaleX = 1;
  10308. let scaleY = 1;
  10309. if (progressbarDirection === 'horizontal') {
  10310. scaleX = scale;
  10311. } else {
  10312. scaleY = scale;
  10313. }
  10314. $el.find((0,_shared_classes_to_selector_js__WEBPACK_IMPORTED_MODULE_1__["default"])(params.progressbarFillClass)).transform(`translate3d(0,0,0) scaleX(${scaleX}) scaleY(${scaleY})`).transition(swiper.params.speed);
  10315. }
  10316. if (params.type === 'custom' && params.renderCustom) {
  10317. $el.html(params.renderCustom(swiper, current + 1, total));
  10318. emit('paginationRender', $el[0]);
  10319. } else {
  10320. emit('paginationUpdate', $el[0]);
  10321. }
  10322. if (swiper.params.watchOverflow && swiper.enabled) {
  10323. $el[swiper.isLocked ? 'addClass' : 'removeClass'](params.lockClass);
  10324. }
  10325. }
  10326. function render() {
  10327. // Render Container
  10328. const params = swiper.params.pagination;
  10329. if (isPaginationDisabled()) return;
  10330. const slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.slides.length;
  10331. const $el = swiper.pagination.$el;
  10332. let paginationHTML = '';
  10333. if (params.type === 'bullets') {
  10334. let numberOfBullets = swiper.params.loop ? Math.ceil((slidesLength - swiper.loopedSlides * 2) / swiper.params.slidesPerGroup) : swiper.snapGrid.length;
  10335. if (swiper.params.freeMode && swiper.params.freeMode.enabled && !swiper.params.loop && numberOfBullets > slidesLength) {
  10336. numberOfBullets = slidesLength;
  10337. }
  10338. for (let i = 0; i < numberOfBullets; i += 1) {
  10339. if (params.renderBullet) {
  10340. paginationHTML += params.renderBullet.call(swiper, i, params.bulletClass);
  10341. } else {
  10342. paginationHTML += `<${params.bulletElement} class="${params.bulletClass}"></${params.bulletElement}>`;
  10343. }
  10344. }
  10345. $el.html(paginationHTML);
  10346. swiper.pagination.bullets = $el.find((0,_shared_classes_to_selector_js__WEBPACK_IMPORTED_MODULE_1__["default"])(params.bulletClass));
  10347. }
  10348. if (params.type === 'fraction') {
  10349. if (params.renderFraction) {
  10350. paginationHTML = params.renderFraction.call(swiper, params.currentClass, params.totalClass);
  10351. } else {
  10352. paginationHTML = `<span class="${params.currentClass}"></span>` + ' / ' + `<span class="${params.totalClass}"></span>`;
  10353. }
  10354. $el.html(paginationHTML);
  10355. }
  10356. if (params.type === 'progressbar') {
  10357. if (params.renderProgressbar) {
  10358. paginationHTML = params.renderProgressbar.call(swiper, params.progressbarFillClass);
  10359. } else {
  10360. paginationHTML = `<span class="${params.progressbarFillClass}"></span>`;
  10361. }
  10362. $el.html(paginationHTML);
  10363. }
  10364. if (params.type !== 'custom') {
  10365. emit('paginationRender', swiper.pagination.$el[0]);
  10366. }
  10367. }
  10368. function init() {
  10369. swiper.params.pagination = (0,_shared_create_element_if_not_defined_js__WEBPACK_IMPORTED_MODULE_2__["default"])(swiper, swiper.originalParams.pagination, swiper.params.pagination, {
  10370. el: 'swiper-pagination'
  10371. });
  10372. const params = swiper.params.pagination;
  10373. if (!params.el) return;
  10374. let $el = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_0__["default"])(params.el);
  10375. if ($el.length === 0) return;
  10376. if (swiper.params.uniqueNavElements && typeof params.el === 'string' && $el.length > 1) {
  10377. $el = swiper.$el.find(params.el); // check if it belongs to another nested Swiper
  10378. if ($el.length > 1) {
  10379. $el = $el.filter(el => {
  10380. if ((0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_0__["default"])(el).parents('.swiper')[0] !== swiper.el) return false;
  10381. return true;
  10382. });
  10383. }
  10384. }
  10385. if (params.type === 'bullets' && params.clickable) {
  10386. $el.addClass(params.clickableClass);
  10387. }
  10388. $el.addClass(params.modifierClass + params.type);
  10389. $el.addClass(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);
  10390. if (params.type === 'bullets' && params.dynamicBullets) {
  10391. $el.addClass(`${params.modifierClass}${params.type}-dynamic`);
  10392. dynamicBulletIndex = 0;
  10393. if (params.dynamicMainBullets < 1) {
  10394. params.dynamicMainBullets = 1;
  10395. }
  10396. }
  10397. if (params.type === 'progressbar' && params.progressbarOpposite) {
  10398. $el.addClass(params.progressbarOppositeClass);
  10399. }
  10400. if (params.clickable) {
  10401. $el.on('click', (0,_shared_classes_to_selector_js__WEBPACK_IMPORTED_MODULE_1__["default"])(params.bulletClass), function onClick(e) {
  10402. e.preventDefault();
  10403. let index = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_0__["default"])(this).index() * swiper.params.slidesPerGroup;
  10404. if (swiper.params.loop) index += swiper.loopedSlides;
  10405. swiper.slideTo(index);
  10406. });
  10407. }
  10408. Object.assign(swiper.pagination, {
  10409. $el,
  10410. el: $el[0]
  10411. });
  10412. if (!swiper.enabled) {
  10413. $el.addClass(params.lockClass);
  10414. }
  10415. }
  10416. function destroy() {
  10417. const params = swiper.params.pagination;
  10418. if (isPaginationDisabled()) return;
  10419. const $el = swiper.pagination.$el;
  10420. $el.removeClass(params.hiddenClass);
  10421. $el.removeClass(params.modifierClass + params.type);
  10422. $el.removeClass(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);
  10423. if (swiper.pagination.bullets && swiper.pagination.bullets.removeClass) swiper.pagination.bullets.removeClass(params.bulletActiveClass);
  10424. if (params.clickable) {
  10425. $el.off('click', (0,_shared_classes_to_selector_js__WEBPACK_IMPORTED_MODULE_1__["default"])(params.bulletClass));
  10426. }
  10427. }
  10428. on('init', () => {
  10429. if (swiper.params.pagination.enabled === false) {
  10430. // eslint-disable-next-line
  10431. disable();
  10432. } else {
  10433. init();
  10434. render();
  10435. update();
  10436. }
  10437. });
  10438. on('activeIndexChange', () => {
  10439. if (swiper.params.loop) {
  10440. update();
  10441. } else if (typeof swiper.snapIndex === 'undefined') {
  10442. update();
  10443. }
  10444. });
  10445. on('snapIndexChange', () => {
  10446. if (!swiper.params.loop) {
  10447. update();
  10448. }
  10449. });
  10450. on('slidesLengthChange', () => {
  10451. if (swiper.params.loop) {
  10452. render();
  10453. update();
  10454. }
  10455. });
  10456. on('snapGridLengthChange', () => {
  10457. if (!swiper.params.loop) {
  10458. render();
  10459. update();
  10460. }
  10461. });
  10462. on('destroy', () => {
  10463. destroy();
  10464. });
  10465. on('enable disable', () => {
  10466. const {
  10467. $el
  10468. } = swiper.pagination;
  10469. if ($el) {
  10470. $el[swiper.enabled ? 'removeClass' : 'addClass'](swiper.params.pagination.lockClass);
  10471. }
  10472. });
  10473. on('lock unlock', () => {
  10474. update();
  10475. });
  10476. on('click', (_s, e) => {
  10477. const targetEl = e.target;
  10478. const {
  10479. $el
  10480. } = swiper.pagination;
  10481. if (swiper.params.pagination.el && swiper.params.pagination.hideOnClick && $el && $el.length > 0 && !(0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_0__["default"])(targetEl).hasClass(swiper.params.pagination.bulletClass)) {
  10482. if (swiper.navigation && (swiper.navigation.nextEl && targetEl === swiper.navigation.nextEl || swiper.navigation.prevEl && targetEl === swiper.navigation.prevEl)) return;
  10483. const isHidden = $el.hasClass(swiper.params.pagination.hiddenClass);
  10484. if (isHidden === true) {
  10485. emit('paginationShow');
  10486. } else {
  10487. emit('paginationHide');
  10488. }
  10489. $el.toggleClass(swiper.params.pagination.hiddenClass);
  10490. }
  10491. });
  10492. const enable = () => {
  10493. swiper.$el.removeClass(swiper.params.pagination.paginationDisabledClass);
  10494. if (swiper.pagination.$el) {
  10495. swiper.pagination.$el.removeClass(swiper.params.pagination.paginationDisabledClass);
  10496. }
  10497. init();
  10498. render();
  10499. update();
  10500. };
  10501. const disable = () => {
  10502. swiper.$el.addClass(swiper.params.pagination.paginationDisabledClass);
  10503. if (swiper.pagination.$el) {
  10504. swiper.pagination.$el.addClass(swiper.params.pagination.paginationDisabledClass);
  10505. }
  10506. destroy();
  10507. };
  10508. Object.assign(swiper.pagination, {
  10509. enable,
  10510. disable,
  10511. render,
  10512. update,
  10513. init,
  10514. destroy
  10515. });
  10516. }
  10517. /***/ }),
  10518. /***/ 9935:
  10519. /*!**********************************************************!*\
  10520. !*** ./node_modules/swiper/modules/parallax/parallax.js ***!
  10521. \**********************************************************/
  10522. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  10523. __webpack_require__.r(__webpack_exports__);
  10524. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  10525. /* harmony export */ "default": () => (/* binding */ Parallax)
  10526. /* harmony export */ });
  10527. /* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/dom.js */ 6007);
  10528. function Parallax({
  10529. swiper,
  10530. extendParams,
  10531. on
  10532. }) {
  10533. extendParams({
  10534. parallax: {
  10535. enabled: false
  10536. }
  10537. });
  10538. const setTransform = (el, progress) => {
  10539. const {
  10540. rtl
  10541. } = swiper;
  10542. const $el = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_0__["default"])(el);
  10543. const rtlFactor = rtl ? -1 : 1;
  10544. const p = $el.attr('data-swiper-parallax') || '0';
  10545. let x = $el.attr('data-swiper-parallax-x');
  10546. let y = $el.attr('data-swiper-parallax-y');
  10547. const scale = $el.attr('data-swiper-parallax-scale');
  10548. const opacity = $el.attr('data-swiper-parallax-opacity');
  10549. if (x || y) {
  10550. x = x || '0';
  10551. y = y || '0';
  10552. } else if (swiper.isHorizontal()) {
  10553. x = p;
  10554. y = '0';
  10555. } else {
  10556. y = p;
  10557. x = '0';
  10558. }
  10559. if (x.indexOf('%') >= 0) {
  10560. x = `${parseInt(x, 10) * progress * rtlFactor}%`;
  10561. } else {
  10562. x = `${x * progress * rtlFactor}px`;
  10563. }
  10564. if (y.indexOf('%') >= 0) {
  10565. y = `${parseInt(y, 10) * progress}%`;
  10566. } else {
  10567. y = `${y * progress}px`;
  10568. }
  10569. if (typeof opacity !== 'undefined' && opacity !== null) {
  10570. const currentOpacity = opacity - (opacity - 1) * (1 - Math.abs(progress));
  10571. $el[0].style.opacity = currentOpacity;
  10572. }
  10573. if (typeof scale === 'undefined' || scale === null) {
  10574. $el.transform(`translate3d(${x}, ${y}, 0px)`);
  10575. } else {
  10576. const currentScale = scale - (scale - 1) * (1 - Math.abs(progress));
  10577. $el.transform(`translate3d(${x}, ${y}, 0px) scale(${currentScale})`);
  10578. }
  10579. };
  10580. const setTranslate = () => {
  10581. const {
  10582. $el,
  10583. slides,
  10584. progress,
  10585. snapGrid
  10586. } = swiper;
  10587. $el.children('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]').each(el => {
  10588. setTransform(el, progress);
  10589. });
  10590. slides.each((slideEl, slideIndex) => {
  10591. let slideProgress = slideEl.progress;
  10592. if (swiper.params.slidesPerGroup > 1 && swiper.params.slidesPerView !== 'auto') {
  10593. slideProgress += Math.ceil(slideIndex / 2) - progress * (snapGrid.length - 1);
  10594. }
  10595. slideProgress = Math.min(Math.max(slideProgress, -1), 1);
  10596. (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_0__["default"])(slideEl).find('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]').each(el => {
  10597. setTransform(el, slideProgress);
  10598. });
  10599. });
  10600. };
  10601. const setTransition = (duration = swiper.params.speed) => {
  10602. const {
  10603. $el
  10604. } = swiper;
  10605. $el.find('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]').each(parallaxEl => {
  10606. const $parallaxEl = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_0__["default"])(parallaxEl);
  10607. let parallaxDuration = parseInt($parallaxEl.attr('data-swiper-parallax-duration'), 10) || duration;
  10608. if (duration === 0) parallaxDuration = 0;
  10609. $parallaxEl.transition(parallaxDuration);
  10610. });
  10611. };
  10612. on('beforeInit', () => {
  10613. if (!swiper.params.parallax.enabled) return;
  10614. swiper.params.watchSlidesProgress = true;
  10615. swiper.originalParams.watchSlidesProgress = true;
  10616. });
  10617. on('init', () => {
  10618. if (!swiper.params.parallax.enabled) return;
  10619. setTranslate();
  10620. });
  10621. on('setTranslate', () => {
  10622. if (!swiper.params.parallax.enabled) return;
  10623. setTranslate();
  10624. });
  10625. on('setTransition', (_swiper, duration) => {
  10626. if (!swiper.params.parallax.enabled) return;
  10627. setTransition(duration);
  10628. });
  10629. }
  10630. /***/ }),
  10631. /***/ 2465:
  10632. /*!************************************************************!*\
  10633. !*** ./node_modules/swiper/modules/scrollbar/scrollbar.js ***!
  10634. \************************************************************/
  10635. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  10636. __webpack_require__.r(__webpack_exports__);
  10637. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  10638. /* harmony export */ "default": () => (/* binding */ Scrollbar)
  10639. /* harmony export */ });
  10640. /* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ 2864);
  10641. /* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/dom.js */ 6007);
  10642. /* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../shared/utils.js */ 3809);
  10643. /* harmony import */ var _shared_create_element_if_not_defined_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../shared/create-element-if-not-defined.js */ 9358);
  10644. function Scrollbar({
  10645. swiper,
  10646. extendParams,
  10647. on,
  10648. emit
  10649. }) {
  10650. const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)();
  10651. let isTouched = false;
  10652. let timeout = null;
  10653. let dragTimeout = null;
  10654. let dragStartPos;
  10655. let dragSize;
  10656. let trackSize;
  10657. let divider;
  10658. extendParams({
  10659. scrollbar: {
  10660. el: null,
  10661. dragSize: 'auto',
  10662. hide: false,
  10663. draggable: false,
  10664. snapOnRelease: true,
  10665. lockClass: 'swiper-scrollbar-lock',
  10666. dragClass: 'swiper-scrollbar-drag',
  10667. scrollbarDisabledClass: 'swiper-scrollbar-disabled',
  10668. horizontalClass: `swiper-scrollbar-horizontal`,
  10669. verticalClass: `swiper-scrollbar-vertical`
  10670. }
  10671. });
  10672. swiper.scrollbar = {
  10673. el: null,
  10674. dragEl: null,
  10675. $el: null,
  10676. $dragEl: null
  10677. };
  10678. function setTranslate() {
  10679. if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;
  10680. const {
  10681. scrollbar,
  10682. rtlTranslate: rtl,
  10683. progress
  10684. } = swiper;
  10685. const {
  10686. $dragEl,
  10687. $el
  10688. } = scrollbar;
  10689. const params = swiper.params.scrollbar;
  10690. let newSize = dragSize;
  10691. let newPos = (trackSize - dragSize) * progress;
  10692. if (rtl) {
  10693. newPos = -newPos;
  10694. if (newPos > 0) {
  10695. newSize = dragSize - newPos;
  10696. newPos = 0;
  10697. } else if (-newPos + dragSize > trackSize) {
  10698. newSize = trackSize + newPos;
  10699. }
  10700. } else if (newPos < 0) {
  10701. newSize = dragSize + newPos;
  10702. newPos = 0;
  10703. } else if (newPos + dragSize > trackSize) {
  10704. newSize = trackSize - newPos;
  10705. }
  10706. if (swiper.isHorizontal()) {
  10707. $dragEl.transform(`translate3d(${newPos}px, 0, 0)`);
  10708. $dragEl[0].style.width = `${newSize}px`;
  10709. } else {
  10710. $dragEl.transform(`translate3d(0px, ${newPos}px, 0)`);
  10711. $dragEl[0].style.height = `${newSize}px`;
  10712. }
  10713. if (params.hide) {
  10714. clearTimeout(timeout);
  10715. $el[0].style.opacity = 1;
  10716. timeout = setTimeout(() => {
  10717. $el[0].style.opacity = 0;
  10718. $el.transition(400);
  10719. }, 1000);
  10720. }
  10721. }
  10722. function setTransition(duration) {
  10723. if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;
  10724. swiper.scrollbar.$dragEl.transition(duration);
  10725. }
  10726. function updateSize() {
  10727. if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;
  10728. const {
  10729. scrollbar
  10730. } = swiper;
  10731. const {
  10732. $dragEl,
  10733. $el
  10734. } = scrollbar;
  10735. $dragEl[0].style.width = '';
  10736. $dragEl[0].style.height = '';
  10737. trackSize = swiper.isHorizontal() ? $el[0].offsetWidth : $el[0].offsetHeight;
  10738. divider = swiper.size / (swiper.virtualSize + swiper.params.slidesOffsetBefore - (swiper.params.centeredSlides ? swiper.snapGrid[0] : 0));
  10739. if (swiper.params.scrollbar.dragSize === 'auto') {
  10740. dragSize = trackSize * divider;
  10741. } else {
  10742. dragSize = parseInt(swiper.params.scrollbar.dragSize, 10);
  10743. }
  10744. if (swiper.isHorizontal()) {
  10745. $dragEl[0].style.width = `${dragSize}px`;
  10746. } else {
  10747. $dragEl[0].style.height = `${dragSize}px`;
  10748. }
  10749. if (divider >= 1) {
  10750. $el[0].style.display = 'none';
  10751. } else {
  10752. $el[0].style.display = '';
  10753. }
  10754. if (swiper.params.scrollbar.hide) {
  10755. $el[0].style.opacity = 0;
  10756. }
  10757. if (swiper.params.watchOverflow && swiper.enabled) {
  10758. scrollbar.$el[swiper.isLocked ? 'addClass' : 'removeClass'](swiper.params.scrollbar.lockClass);
  10759. }
  10760. }
  10761. function getPointerPosition(e) {
  10762. if (swiper.isHorizontal()) {
  10763. return e.type === 'touchstart' || e.type === 'touchmove' ? e.targetTouches[0].clientX : e.clientX;
  10764. }
  10765. return e.type === 'touchstart' || e.type === 'touchmove' ? e.targetTouches[0].clientY : e.clientY;
  10766. }
  10767. function setDragPosition(e) {
  10768. const {
  10769. scrollbar,
  10770. rtlTranslate: rtl
  10771. } = swiper;
  10772. const {
  10773. $el
  10774. } = scrollbar;
  10775. let positionRatio;
  10776. positionRatio = (getPointerPosition(e) - $el.offset()[swiper.isHorizontal() ? 'left' : 'top'] - (dragStartPos !== null ? dragStartPos : dragSize / 2)) / (trackSize - dragSize);
  10777. positionRatio = Math.max(Math.min(positionRatio, 1), 0);
  10778. if (rtl) {
  10779. positionRatio = 1 - positionRatio;
  10780. }
  10781. const position = swiper.minTranslate() + (swiper.maxTranslate() - swiper.minTranslate()) * positionRatio;
  10782. swiper.updateProgress(position);
  10783. swiper.setTranslate(position);
  10784. swiper.updateActiveIndex();
  10785. swiper.updateSlidesClasses();
  10786. }
  10787. function onDragStart(e) {
  10788. const params = swiper.params.scrollbar;
  10789. const {
  10790. scrollbar,
  10791. $wrapperEl
  10792. } = swiper;
  10793. const {
  10794. $el,
  10795. $dragEl
  10796. } = scrollbar;
  10797. isTouched = true;
  10798. dragStartPos = e.target === $dragEl[0] || e.target === $dragEl ? getPointerPosition(e) - e.target.getBoundingClientRect()[swiper.isHorizontal() ? 'left' : 'top'] : null;
  10799. e.preventDefault();
  10800. e.stopPropagation();
  10801. $wrapperEl.transition(100);
  10802. $dragEl.transition(100);
  10803. setDragPosition(e);
  10804. clearTimeout(dragTimeout);
  10805. $el.transition(0);
  10806. if (params.hide) {
  10807. $el.css('opacity', 1);
  10808. }
  10809. if (swiper.params.cssMode) {
  10810. swiper.$wrapperEl.css('scroll-snap-type', 'none');
  10811. }
  10812. emit('scrollbarDragStart', e);
  10813. }
  10814. function onDragMove(e) {
  10815. const {
  10816. scrollbar,
  10817. $wrapperEl
  10818. } = swiper;
  10819. const {
  10820. $el,
  10821. $dragEl
  10822. } = scrollbar;
  10823. if (!isTouched) return;
  10824. if (e.preventDefault) e.preventDefault();else e.returnValue = false;
  10825. setDragPosition(e);
  10826. $wrapperEl.transition(0);
  10827. $el.transition(0);
  10828. $dragEl.transition(0);
  10829. emit('scrollbarDragMove', e);
  10830. }
  10831. function onDragEnd(e) {
  10832. const params = swiper.params.scrollbar;
  10833. const {
  10834. scrollbar,
  10835. $wrapperEl
  10836. } = swiper;
  10837. const {
  10838. $el
  10839. } = scrollbar;
  10840. if (!isTouched) return;
  10841. isTouched = false;
  10842. if (swiper.params.cssMode) {
  10843. swiper.$wrapperEl.css('scroll-snap-type', '');
  10844. $wrapperEl.transition('');
  10845. }
  10846. if (params.hide) {
  10847. clearTimeout(dragTimeout);
  10848. dragTimeout = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.nextTick)(() => {
  10849. $el.css('opacity', 0);
  10850. $el.transition(400);
  10851. }, 1000);
  10852. }
  10853. emit('scrollbarDragEnd', e);
  10854. if (params.snapOnRelease) {
  10855. swiper.slideToClosest();
  10856. }
  10857. }
  10858. function events(method) {
  10859. const {
  10860. scrollbar,
  10861. touchEventsTouch,
  10862. touchEventsDesktop,
  10863. params,
  10864. support
  10865. } = swiper;
  10866. const $el = scrollbar.$el;
  10867. if (!$el) return;
  10868. const target = $el[0];
  10869. const activeListener = support.passiveListener && params.passiveListeners ? {
  10870. passive: false,
  10871. capture: false
  10872. } : false;
  10873. const passiveListener = support.passiveListener && params.passiveListeners ? {
  10874. passive: true,
  10875. capture: false
  10876. } : false;
  10877. if (!target) return;
  10878. const eventMethod = method === 'on' ? 'addEventListener' : 'removeEventListener';
  10879. if (!support.touch) {
  10880. target[eventMethod](touchEventsDesktop.start, onDragStart, activeListener);
  10881. document[eventMethod](touchEventsDesktop.move, onDragMove, activeListener);
  10882. document[eventMethod](touchEventsDesktop.end, onDragEnd, passiveListener);
  10883. } else {
  10884. target[eventMethod](touchEventsTouch.start, onDragStart, activeListener);
  10885. target[eventMethod](touchEventsTouch.move, onDragMove, activeListener);
  10886. target[eventMethod](touchEventsTouch.end, onDragEnd, passiveListener);
  10887. }
  10888. }
  10889. function enableDraggable() {
  10890. if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;
  10891. events('on');
  10892. }
  10893. function disableDraggable() {
  10894. if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;
  10895. events('off');
  10896. }
  10897. function init() {
  10898. const {
  10899. scrollbar,
  10900. $el: $swiperEl
  10901. } = swiper;
  10902. swiper.params.scrollbar = (0,_shared_create_element_if_not_defined_js__WEBPACK_IMPORTED_MODULE_3__["default"])(swiper, swiper.originalParams.scrollbar, swiper.params.scrollbar, {
  10903. el: 'swiper-scrollbar'
  10904. });
  10905. const params = swiper.params.scrollbar;
  10906. if (!params.el) return;
  10907. let $el = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(params.el);
  10908. if (swiper.params.uniqueNavElements && typeof params.el === 'string' && $el.length > 1 && $swiperEl.find(params.el).length === 1) {
  10909. $el = $swiperEl.find(params.el);
  10910. }
  10911. $el.addClass(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);
  10912. let $dragEl = $el.find(`.${swiper.params.scrollbar.dragClass}`);
  10913. if ($dragEl.length === 0) {
  10914. $dragEl = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(`<div class="${swiper.params.scrollbar.dragClass}"></div>`);
  10915. $el.append($dragEl);
  10916. }
  10917. Object.assign(scrollbar, {
  10918. $el,
  10919. el: $el[0],
  10920. $dragEl,
  10921. dragEl: $dragEl[0]
  10922. });
  10923. if (params.draggable) {
  10924. enableDraggable();
  10925. }
  10926. if ($el) {
  10927. $el[swiper.enabled ? 'removeClass' : 'addClass'](swiper.params.scrollbar.lockClass);
  10928. }
  10929. }
  10930. function destroy() {
  10931. const params = swiper.params.scrollbar;
  10932. const $el = swiper.scrollbar.$el;
  10933. if ($el) {
  10934. $el.removeClass(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);
  10935. }
  10936. disableDraggable();
  10937. }
  10938. on('init', () => {
  10939. if (swiper.params.scrollbar.enabled === false) {
  10940. // eslint-disable-next-line
  10941. disable();
  10942. } else {
  10943. init();
  10944. updateSize();
  10945. setTranslate();
  10946. }
  10947. });
  10948. on('update resize observerUpdate lock unlock', () => {
  10949. updateSize();
  10950. });
  10951. on('setTranslate', () => {
  10952. setTranslate();
  10953. });
  10954. on('setTransition', (_s, duration) => {
  10955. setTransition(duration);
  10956. });
  10957. on('enable disable', () => {
  10958. const {
  10959. $el
  10960. } = swiper.scrollbar;
  10961. if ($el) {
  10962. $el[swiper.enabled ? 'removeClass' : 'addClass'](swiper.params.scrollbar.lockClass);
  10963. }
  10964. });
  10965. on('destroy', () => {
  10966. destroy();
  10967. });
  10968. const enable = () => {
  10969. swiper.$el.removeClass(swiper.params.scrollbar.scrollbarDisabledClass);
  10970. if (swiper.scrollbar.$el) {
  10971. swiper.scrollbar.$el.removeClass(swiper.params.scrollbar.scrollbarDisabledClass);
  10972. }
  10973. init();
  10974. updateSize();
  10975. setTranslate();
  10976. };
  10977. const disable = () => {
  10978. swiper.$el.addClass(swiper.params.scrollbar.scrollbarDisabledClass);
  10979. if (swiper.scrollbar.$el) {
  10980. swiper.scrollbar.$el.addClass(swiper.params.scrollbar.scrollbarDisabledClass);
  10981. }
  10982. destroy();
  10983. };
  10984. Object.assign(swiper.scrollbar, {
  10985. enable,
  10986. disable,
  10987. updateSize,
  10988. setTranslate,
  10989. init,
  10990. destroy
  10991. });
  10992. }
  10993. /***/ }),
  10994. /***/ 2372:
  10995. /*!******************************************************!*\
  10996. !*** ./node_modules/swiper/modules/thumbs/thumbs.js ***!
  10997. \******************************************************/
  10998. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  10999. __webpack_require__.r(__webpack_exports__);
  11000. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  11001. /* harmony export */ "default": () => (/* binding */ Thumb)
  11002. /* harmony export */ });
  11003. /* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/utils.js */ 3809);
  11004. /* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/dom.js */ 6007);
  11005. function Thumb({
  11006. swiper,
  11007. extendParams,
  11008. on
  11009. }) {
  11010. extendParams({
  11011. thumbs: {
  11012. swiper: null,
  11013. multipleActiveThumbs: true,
  11014. autoScrollOffset: 0,
  11015. slideThumbActiveClass: 'swiper-slide-thumb-active',
  11016. thumbsContainerClass: 'swiper-thumbs'
  11017. }
  11018. });
  11019. let initialized = false;
  11020. let swiperCreated = false;
  11021. swiper.thumbs = {
  11022. swiper: null
  11023. };
  11024. function onThumbClick() {
  11025. const thumbsSwiper = swiper.thumbs.swiper;
  11026. if (!thumbsSwiper || thumbsSwiper.destroyed) return;
  11027. const clickedIndex = thumbsSwiper.clickedIndex;
  11028. const clickedSlide = thumbsSwiper.clickedSlide;
  11029. if (clickedSlide && (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(clickedSlide).hasClass(swiper.params.thumbs.slideThumbActiveClass)) return;
  11030. if (typeof clickedIndex === 'undefined' || clickedIndex === null) return;
  11031. let slideToIndex;
  11032. if (thumbsSwiper.params.loop) {
  11033. slideToIndex = parseInt((0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(thumbsSwiper.clickedSlide).attr('data-swiper-slide-index'), 10);
  11034. } else {
  11035. slideToIndex = clickedIndex;
  11036. }
  11037. if (swiper.params.loop) {
  11038. let currentIndex = swiper.activeIndex;
  11039. if (swiper.slides.eq(currentIndex).hasClass(swiper.params.slideDuplicateClass)) {
  11040. swiper.loopFix(); // eslint-disable-next-line
  11041. swiper._clientLeft = swiper.$wrapperEl[0].clientLeft;
  11042. currentIndex = swiper.activeIndex;
  11043. }
  11044. const prevIndex = swiper.slides.eq(currentIndex).prevAll(`[data-swiper-slide-index="${slideToIndex}"]`).eq(0).index();
  11045. const nextIndex = swiper.slides.eq(currentIndex).nextAll(`[data-swiper-slide-index="${slideToIndex}"]`).eq(0).index();
  11046. if (typeof prevIndex === 'undefined') slideToIndex = nextIndex;else if (typeof nextIndex === 'undefined') slideToIndex = prevIndex;else if (nextIndex - currentIndex < currentIndex - prevIndex) slideToIndex = nextIndex;else slideToIndex = prevIndex;
  11047. }
  11048. swiper.slideTo(slideToIndex);
  11049. }
  11050. function init() {
  11051. const {
  11052. thumbs: thumbsParams
  11053. } = swiper.params;
  11054. if (initialized) return false;
  11055. initialized = true;
  11056. const SwiperClass = swiper.constructor;
  11057. if (thumbsParams.swiper instanceof SwiperClass) {
  11058. swiper.thumbs.swiper = thumbsParams.swiper;
  11059. Object.assign(swiper.thumbs.swiper.originalParams, {
  11060. watchSlidesProgress: true,
  11061. slideToClickedSlide: false
  11062. });
  11063. Object.assign(swiper.thumbs.swiper.params, {
  11064. watchSlidesProgress: true,
  11065. slideToClickedSlide: false
  11066. });
  11067. } else if ((0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.isObject)(thumbsParams.swiper)) {
  11068. const thumbsSwiperParams = Object.assign({}, thumbsParams.swiper);
  11069. Object.assign(thumbsSwiperParams, {
  11070. watchSlidesProgress: true,
  11071. slideToClickedSlide: false
  11072. });
  11073. swiper.thumbs.swiper = new SwiperClass(thumbsSwiperParams);
  11074. swiperCreated = true;
  11075. }
  11076. swiper.thumbs.swiper.$el.addClass(swiper.params.thumbs.thumbsContainerClass);
  11077. swiper.thumbs.swiper.on('tap', onThumbClick);
  11078. return true;
  11079. }
  11080. function update(initial) {
  11081. const thumbsSwiper = swiper.thumbs.swiper;
  11082. if (!thumbsSwiper || thumbsSwiper.destroyed) return;
  11083. const slidesPerView = thumbsSwiper.params.slidesPerView === 'auto' ? thumbsSwiper.slidesPerViewDynamic() : thumbsSwiper.params.slidesPerView; // Activate thumbs
  11084. let thumbsToActivate = 1;
  11085. const thumbActiveClass = swiper.params.thumbs.slideThumbActiveClass;
  11086. if (swiper.params.slidesPerView > 1 && !swiper.params.centeredSlides) {
  11087. thumbsToActivate = swiper.params.slidesPerView;
  11088. }
  11089. if (!swiper.params.thumbs.multipleActiveThumbs) {
  11090. thumbsToActivate = 1;
  11091. }
  11092. thumbsToActivate = Math.floor(thumbsToActivate);
  11093. thumbsSwiper.slides.removeClass(thumbActiveClass);
  11094. if (thumbsSwiper.params.loop || thumbsSwiper.params.virtual && thumbsSwiper.params.virtual.enabled) {
  11095. for (let i = 0; i < thumbsToActivate; i += 1) {
  11096. thumbsSwiper.$wrapperEl.children(`[data-swiper-slide-index="${swiper.realIndex + i}"]`).addClass(thumbActiveClass);
  11097. }
  11098. } else {
  11099. for (let i = 0; i < thumbsToActivate; i += 1) {
  11100. thumbsSwiper.slides.eq(swiper.realIndex + i).addClass(thumbActiveClass);
  11101. }
  11102. }
  11103. const autoScrollOffset = swiper.params.thumbs.autoScrollOffset;
  11104. const useOffset = autoScrollOffset && !thumbsSwiper.params.loop;
  11105. if (swiper.realIndex !== thumbsSwiper.realIndex || useOffset) {
  11106. let currentThumbsIndex = thumbsSwiper.activeIndex;
  11107. let newThumbsIndex;
  11108. let direction;
  11109. if (thumbsSwiper.params.loop) {
  11110. if (thumbsSwiper.slides.eq(currentThumbsIndex).hasClass(thumbsSwiper.params.slideDuplicateClass)) {
  11111. thumbsSwiper.loopFix(); // eslint-disable-next-line
  11112. thumbsSwiper._clientLeft = thumbsSwiper.$wrapperEl[0].clientLeft;
  11113. currentThumbsIndex = thumbsSwiper.activeIndex;
  11114. } // Find actual thumbs index to slide to
  11115. const prevThumbsIndex = thumbsSwiper.slides.eq(currentThumbsIndex).prevAll(`[data-swiper-slide-index="${swiper.realIndex}"]`).eq(0).index();
  11116. const nextThumbsIndex = thumbsSwiper.slides.eq(currentThumbsIndex).nextAll(`[data-swiper-slide-index="${swiper.realIndex}"]`).eq(0).index();
  11117. if (typeof prevThumbsIndex === 'undefined') {
  11118. newThumbsIndex = nextThumbsIndex;
  11119. } else if (typeof nextThumbsIndex === 'undefined') {
  11120. newThumbsIndex = prevThumbsIndex;
  11121. } else if (nextThumbsIndex - currentThumbsIndex === currentThumbsIndex - prevThumbsIndex) {
  11122. newThumbsIndex = thumbsSwiper.params.slidesPerGroup > 1 ? nextThumbsIndex : currentThumbsIndex;
  11123. } else if (nextThumbsIndex - currentThumbsIndex < currentThumbsIndex - prevThumbsIndex) {
  11124. newThumbsIndex = nextThumbsIndex;
  11125. } else {
  11126. newThumbsIndex = prevThumbsIndex;
  11127. }
  11128. direction = swiper.activeIndex > swiper.previousIndex ? 'next' : 'prev';
  11129. } else {
  11130. newThumbsIndex = swiper.realIndex;
  11131. direction = newThumbsIndex > swiper.previousIndex ? 'next' : 'prev';
  11132. }
  11133. if (useOffset) {
  11134. newThumbsIndex += direction === 'next' ? autoScrollOffset : -1 * autoScrollOffset;
  11135. }
  11136. if (thumbsSwiper.visibleSlidesIndexes && thumbsSwiper.visibleSlidesIndexes.indexOf(newThumbsIndex) < 0) {
  11137. if (thumbsSwiper.params.centeredSlides) {
  11138. if (newThumbsIndex > currentThumbsIndex) {
  11139. newThumbsIndex = newThumbsIndex - Math.floor(slidesPerView / 2) + 1;
  11140. } else {
  11141. newThumbsIndex = newThumbsIndex + Math.floor(slidesPerView / 2) - 1;
  11142. }
  11143. } else if (newThumbsIndex > currentThumbsIndex && thumbsSwiper.params.slidesPerGroup === 1) {// newThumbsIndex = newThumbsIndex - slidesPerView + 1;
  11144. }
  11145. thumbsSwiper.slideTo(newThumbsIndex, initial ? 0 : undefined);
  11146. }
  11147. }
  11148. }
  11149. on('beforeInit', () => {
  11150. const {
  11151. thumbs
  11152. } = swiper.params;
  11153. if (!thumbs || !thumbs.swiper) return;
  11154. init();
  11155. update(true);
  11156. });
  11157. on('slideChange update resize observerUpdate', () => {
  11158. update();
  11159. });
  11160. on('setTransition', (_s, duration) => {
  11161. const thumbsSwiper = swiper.thumbs.swiper;
  11162. if (!thumbsSwiper || thumbsSwiper.destroyed) return;
  11163. thumbsSwiper.setTransition(duration);
  11164. });
  11165. on('beforeDestroy', () => {
  11166. const thumbsSwiper = swiper.thumbs.swiper;
  11167. if (!thumbsSwiper || thumbsSwiper.destroyed) return;
  11168. if (swiperCreated) {
  11169. thumbsSwiper.destroy();
  11170. }
  11171. });
  11172. Object.assign(swiper.thumbs, {
  11173. init,
  11174. update
  11175. });
  11176. }
  11177. /***/ }),
  11178. /***/ 7887:
  11179. /*!********************************************************!*\
  11180. !*** ./node_modules/swiper/modules/virtual/virtual.js ***!
  11181. \********************************************************/
  11182. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  11183. __webpack_require__.r(__webpack_exports__);
  11184. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  11185. /* harmony export */ "default": () => (/* binding */ Virtual)
  11186. /* harmony export */ });
  11187. /* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/dom.js */ 6007);
  11188. /* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/utils.js */ 3809);
  11189. function Virtual({
  11190. swiper,
  11191. extendParams,
  11192. on,
  11193. emit
  11194. }) {
  11195. extendParams({
  11196. virtual: {
  11197. enabled: false,
  11198. slides: [],
  11199. cache: true,
  11200. renderSlide: null,
  11201. renderExternal: null,
  11202. renderExternalUpdate: true,
  11203. addSlidesBefore: 0,
  11204. addSlidesAfter: 0
  11205. }
  11206. });
  11207. let cssModeTimeout;
  11208. swiper.virtual = {
  11209. cache: {},
  11210. from: undefined,
  11211. to: undefined,
  11212. slides: [],
  11213. offset: 0,
  11214. slidesGrid: []
  11215. };
  11216. function renderSlide(slide, index) {
  11217. const params = swiper.params.virtual;
  11218. if (params.cache && swiper.virtual.cache[index]) {
  11219. return swiper.virtual.cache[index];
  11220. }
  11221. const $slideEl = params.renderSlide ? (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_0__["default"])(params.renderSlide.call(swiper, slide, index)) : (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_0__["default"])(`<div class="${swiper.params.slideClass}" data-swiper-slide-index="${index}">${slide}</div>`);
  11222. if (!$slideEl.attr('data-swiper-slide-index')) $slideEl.attr('data-swiper-slide-index', index);
  11223. if (params.cache) swiper.virtual.cache[index] = $slideEl;
  11224. return $slideEl;
  11225. }
  11226. function update(force) {
  11227. const {
  11228. slidesPerView,
  11229. slidesPerGroup,
  11230. centeredSlides
  11231. } = swiper.params;
  11232. const {
  11233. addSlidesBefore,
  11234. addSlidesAfter
  11235. } = swiper.params.virtual;
  11236. const {
  11237. from: previousFrom,
  11238. to: previousTo,
  11239. slides,
  11240. slidesGrid: previousSlidesGrid,
  11241. offset: previousOffset
  11242. } = swiper.virtual;
  11243. if (!swiper.params.cssMode) {
  11244. swiper.updateActiveIndex();
  11245. }
  11246. const activeIndex = swiper.activeIndex || 0;
  11247. let offsetProp;
  11248. if (swiper.rtlTranslate) offsetProp = 'right';else offsetProp = swiper.isHorizontal() ? 'left' : 'top';
  11249. let slidesAfter;
  11250. let slidesBefore;
  11251. if (centeredSlides) {
  11252. slidesAfter = Math.floor(slidesPerView / 2) + slidesPerGroup + addSlidesAfter;
  11253. slidesBefore = Math.floor(slidesPerView / 2) + slidesPerGroup + addSlidesBefore;
  11254. } else {
  11255. slidesAfter = slidesPerView + (slidesPerGroup - 1) + addSlidesAfter;
  11256. slidesBefore = slidesPerGroup + addSlidesBefore;
  11257. }
  11258. const from = Math.max((activeIndex || 0) - slidesBefore, 0);
  11259. const to = Math.min((activeIndex || 0) + slidesAfter, slides.length - 1);
  11260. const offset = (swiper.slidesGrid[from] || 0) - (swiper.slidesGrid[0] || 0);
  11261. Object.assign(swiper.virtual, {
  11262. from,
  11263. to,
  11264. offset,
  11265. slidesGrid: swiper.slidesGrid
  11266. });
  11267. function onRendered() {
  11268. swiper.updateSlides();
  11269. swiper.updateProgress();
  11270. swiper.updateSlidesClasses();
  11271. if (swiper.lazy && swiper.params.lazy.enabled) {
  11272. swiper.lazy.load();
  11273. }
  11274. emit('virtualUpdate');
  11275. }
  11276. if (previousFrom === from && previousTo === to && !force) {
  11277. if (swiper.slidesGrid !== previousSlidesGrid && offset !== previousOffset) {
  11278. swiper.slides.css(offsetProp, `${offset}px`);
  11279. }
  11280. swiper.updateProgress();
  11281. emit('virtualUpdate');
  11282. return;
  11283. }
  11284. if (swiper.params.virtual.renderExternal) {
  11285. swiper.params.virtual.renderExternal.call(swiper, {
  11286. offset,
  11287. from,
  11288. to,
  11289. slides: function getSlides() {
  11290. const slidesToRender = [];
  11291. for (let i = from; i <= to; i += 1) {
  11292. slidesToRender.push(slides[i]);
  11293. }
  11294. return slidesToRender;
  11295. }()
  11296. });
  11297. if (swiper.params.virtual.renderExternalUpdate) {
  11298. onRendered();
  11299. } else {
  11300. emit('virtualUpdate');
  11301. }
  11302. return;
  11303. }
  11304. const prependIndexes = [];
  11305. const appendIndexes = [];
  11306. if (force) {
  11307. swiper.$wrapperEl.find(`.${swiper.params.slideClass}`).remove();
  11308. } else {
  11309. for (let i = previousFrom; i <= previousTo; i += 1) {
  11310. if (i < from || i > to) {
  11311. swiper.$wrapperEl.find(`.${swiper.params.slideClass}[data-swiper-slide-index="${i}"]`).remove();
  11312. }
  11313. }
  11314. }
  11315. for (let i = 0; i < slides.length; i += 1) {
  11316. if (i >= from && i <= to) {
  11317. if (typeof previousTo === 'undefined' || force) {
  11318. appendIndexes.push(i);
  11319. } else {
  11320. if (i > previousTo) appendIndexes.push(i);
  11321. if (i < previousFrom) prependIndexes.push(i);
  11322. }
  11323. }
  11324. }
  11325. appendIndexes.forEach(index => {
  11326. swiper.$wrapperEl.append(renderSlide(slides[index], index));
  11327. });
  11328. prependIndexes.sort((a, b) => b - a).forEach(index => {
  11329. swiper.$wrapperEl.prepend(renderSlide(slides[index], index));
  11330. });
  11331. swiper.$wrapperEl.children('.swiper-slide').css(offsetProp, `${offset}px`);
  11332. onRendered();
  11333. }
  11334. function appendSlide(slides) {
  11335. if (typeof slides === 'object' && 'length' in slides) {
  11336. for (let i = 0; i < slides.length; i += 1) {
  11337. if (slides[i]) swiper.virtual.slides.push(slides[i]);
  11338. }
  11339. } else {
  11340. swiper.virtual.slides.push(slides);
  11341. }
  11342. update(true);
  11343. }
  11344. function prependSlide(slides) {
  11345. const activeIndex = swiper.activeIndex;
  11346. let newActiveIndex = activeIndex + 1;
  11347. let numberOfNewSlides = 1;
  11348. if (Array.isArray(slides)) {
  11349. for (let i = 0; i < slides.length; i += 1) {
  11350. if (slides[i]) swiper.virtual.slides.unshift(slides[i]);
  11351. }
  11352. newActiveIndex = activeIndex + slides.length;
  11353. numberOfNewSlides = slides.length;
  11354. } else {
  11355. swiper.virtual.slides.unshift(slides);
  11356. }
  11357. if (swiper.params.virtual.cache) {
  11358. const cache = swiper.virtual.cache;
  11359. const newCache = {};
  11360. Object.keys(cache).forEach(cachedIndex => {
  11361. const $cachedEl = cache[cachedIndex];
  11362. const cachedElIndex = $cachedEl.attr('data-swiper-slide-index');
  11363. if (cachedElIndex) {
  11364. $cachedEl.attr('data-swiper-slide-index', parseInt(cachedElIndex, 10) + numberOfNewSlides);
  11365. }
  11366. newCache[parseInt(cachedIndex, 10) + numberOfNewSlides] = $cachedEl;
  11367. });
  11368. swiper.virtual.cache = newCache;
  11369. }
  11370. update(true);
  11371. swiper.slideTo(newActiveIndex, 0);
  11372. }
  11373. function removeSlide(slidesIndexes) {
  11374. if (typeof slidesIndexes === 'undefined' || slidesIndexes === null) return;
  11375. let activeIndex = swiper.activeIndex;
  11376. if (Array.isArray(slidesIndexes)) {
  11377. for (let i = slidesIndexes.length - 1; i >= 0; i -= 1) {
  11378. swiper.virtual.slides.splice(slidesIndexes[i], 1);
  11379. if (swiper.params.virtual.cache) {
  11380. delete swiper.virtual.cache[slidesIndexes[i]];
  11381. }
  11382. if (slidesIndexes[i] < activeIndex) activeIndex -= 1;
  11383. activeIndex = Math.max(activeIndex, 0);
  11384. }
  11385. } else {
  11386. swiper.virtual.slides.splice(slidesIndexes, 1);
  11387. if (swiper.params.virtual.cache) {
  11388. delete swiper.virtual.cache[slidesIndexes];
  11389. }
  11390. if (slidesIndexes < activeIndex) activeIndex -= 1;
  11391. activeIndex = Math.max(activeIndex, 0);
  11392. }
  11393. update(true);
  11394. swiper.slideTo(activeIndex, 0);
  11395. }
  11396. function removeAllSlides() {
  11397. swiper.virtual.slides = [];
  11398. if (swiper.params.virtual.cache) {
  11399. swiper.virtual.cache = {};
  11400. }
  11401. update(true);
  11402. swiper.slideTo(0, 0);
  11403. }
  11404. on('beforeInit', () => {
  11405. if (!swiper.params.virtual.enabled) return;
  11406. swiper.virtual.slides = swiper.params.virtual.slides;
  11407. swiper.classNames.push(`${swiper.params.containerModifierClass}virtual`);
  11408. swiper.params.watchSlidesProgress = true;
  11409. swiper.originalParams.watchSlidesProgress = true;
  11410. if (!swiper.params.initialSlide) {
  11411. update();
  11412. }
  11413. });
  11414. on('setTranslate', () => {
  11415. if (!swiper.params.virtual.enabled) return;
  11416. if (swiper.params.cssMode && !swiper._immediateVirtual) {
  11417. clearTimeout(cssModeTimeout);
  11418. cssModeTimeout = setTimeout(() => {
  11419. update();
  11420. }, 100);
  11421. } else {
  11422. update();
  11423. }
  11424. });
  11425. on('init update resize', () => {
  11426. if (!swiper.params.virtual.enabled) return;
  11427. if (swiper.params.cssMode) {
  11428. (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.setCSSProperty)(swiper.wrapperEl, '--swiper-virtual-size', `${swiper.virtualSize}px`);
  11429. }
  11430. });
  11431. Object.assign(swiper.virtual, {
  11432. appendSlide,
  11433. prependSlide,
  11434. removeSlide,
  11435. removeAllSlides,
  11436. update
  11437. });
  11438. }
  11439. /***/ }),
  11440. /***/ 8221:
  11441. /*!**************************************************!*\
  11442. !*** ./node_modules/swiper/modules/zoom/zoom.js ***!
  11443. \**************************************************/
  11444. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  11445. __webpack_require__.r(__webpack_exports__);
  11446. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  11447. /* harmony export */ "default": () => (/* binding */ Zoom)
  11448. /* harmony export */ });
  11449. /* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ 2864);
  11450. /* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/dom.js */ 6007);
  11451. /* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../shared/utils.js */ 3809);
  11452. function Zoom({
  11453. swiper,
  11454. extendParams,
  11455. on,
  11456. emit
  11457. }) {
  11458. const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
  11459. extendParams({
  11460. zoom: {
  11461. enabled: false,
  11462. maxRatio: 3,
  11463. minRatio: 1,
  11464. toggle: true,
  11465. containerClass: 'swiper-zoom-container',
  11466. zoomedSlideClass: 'swiper-slide-zoomed'
  11467. }
  11468. });
  11469. swiper.zoom = {
  11470. enabled: false
  11471. };
  11472. let currentScale = 1;
  11473. let isScaling = false;
  11474. let gesturesEnabled;
  11475. let fakeGestureTouched;
  11476. let fakeGestureMoved;
  11477. const gesture = {
  11478. $slideEl: undefined,
  11479. slideWidth: undefined,
  11480. slideHeight: undefined,
  11481. $imageEl: undefined,
  11482. $imageWrapEl: undefined,
  11483. maxRatio: 3
  11484. };
  11485. const image = {
  11486. isTouched: undefined,
  11487. isMoved: undefined,
  11488. currentX: undefined,
  11489. currentY: undefined,
  11490. minX: undefined,
  11491. minY: undefined,
  11492. maxX: undefined,
  11493. maxY: undefined,
  11494. width: undefined,
  11495. height: undefined,
  11496. startX: undefined,
  11497. startY: undefined,
  11498. touchesStart: {},
  11499. touchesCurrent: {}
  11500. };
  11501. const velocity = {
  11502. x: undefined,
  11503. y: undefined,
  11504. prevPositionX: undefined,
  11505. prevPositionY: undefined,
  11506. prevTime: undefined
  11507. };
  11508. let scale = 1;
  11509. Object.defineProperty(swiper.zoom, 'scale', {
  11510. get() {
  11511. return scale;
  11512. },
  11513. set(value) {
  11514. if (scale !== value) {
  11515. const imageEl = gesture.$imageEl ? gesture.$imageEl[0] : undefined;
  11516. const slideEl = gesture.$slideEl ? gesture.$slideEl[0] : undefined;
  11517. emit('zoomChange', value, imageEl, slideEl);
  11518. }
  11519. scale = value;
  11520. }
  11521. });
  11522. function getDistanceBetweenTouches(e) {
  11523. if (e.targetTouches.length < 2) return 1;
  11524. const x1 = e.targetTouches[0].pageX;
  11525. const y1 = e.targetTouches[0].pageY;
  11526. const x2 = e.targetTouches[1].pageX;
  11527. const y2 = e.targetTouches[1].pageY;
  11528. const distance = Math.sqrt((x2 - x1) ** 2 + (y2 - y1) ** 2);
  11529. return distance;
  11530. } // Events
  11531. function onGestureStart(e) {
  11532. const support = swiper.support;
  11533. const params = swiper.params.zoom;
  11534. fakeGestureTouched = false;
  11535. fakeGestureMoved = false;
  11536. if (!support.gestures) {
  11537. if (e.type !== 'touchstart' || e.type === 'touchstart' && e.targetTouches.length < 2) {
  11538. return;
  11539. }
  11540. fakeGestureTouched = true;
  11541. gesture.scaleStart = getDistanceBetweenTouches(e);
  11542. }
  11543. if (!gesture.$slideEl || !gesture.$slideEl.length) {
  11544. gesture.$slideEl = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(e.target).closest(`.${swiper.params.slideClass}`);
  11545. if (gesture.$slideEl.length === 0) gesture.$slideEl = swiper.slides.eq(swiper.activeIndex);
  11546. gesture.$imageEl = gesture.$slideEl.find(`.${params.containerClass}`).eq(0).find('picture, img, svg, canvas, .swiper-zoom-target').eq(0);
  11547. gesture.$imageWrapEl = gesture.$imageEl.parent(`.${params.containerClass}`);
  11548. gesture.maxRatio = gesture.$imageWrapEl.attr('data-swiper-zoom') || params.maxRatio;
  11549. if (gesture.$imageWrapEl.length === 0) {
  11550. gesture.$imageEl = undefined;
  11551. return;
  11552. }
  11553. }
  11554. if (gesture.$imageEl) {
  11555. gesture.$imageEl.transition(0);
  11556. }
  11557. isScaling = true;
  11558. }
  11559. function onGestureChange(e) {
  11560. const support = swiper.support;
  11561. const params = swiper.params.zoom;
  11562. const zoom = swiper.zoom;
  11563. if (!support.gestures) {
  11564. if (e.type !== 'touchmove' || e.type === 'touchmove' && e.targetTouches.length < 2) {
  11565. return;
  11566. }
  11567. fakeGestureMoved = true;
  11568. gesture.scaleMove = getDistanceBetweenTouches(e);
  11569. }
  11570. if (!gesture.$imageEl || gesture.$imageEl.length === 0) {
  11571. if (e.type === 'gesturechange') onGestureStart(e);
  11572. return;
  11573. }
  11574. if (support.gestures) {
  11575. zoom.scale = e.scale * currentScale;
  11576. } else {
  11577. zoom.scale = gesture.scaleMove / gesture.scaleStart * currentScale;
  11578. }
  11579. if (zoom.scale > gesture.maxRatio) {
  11580. zoom.scale = gesture.maxRatio - 1 + (zoom.scale - gesture.maxRatio + 1) ** 0.5;
  11581. }
  11582. if (zoom.scale < params.minRatio) {
  11583. zoom.scale = params.minRatio + 1 - (params.minRatio - zoom.scale + 1) ** 0.5;
  11584. }
  11585. gesture.$imageEl.transform(`translate3d(0,0,0) scale(${zoom.scale})`);
  11586. }
  11587. function onGestureEnd(e) {
  11588. const device = swiper.device;
  11589. const support = swiper.support;
  11590. const params = swiper.params.zoom;
  11591. const zoom = swiper.zoom;
  11592. if (!support.gestures) {
  11593. if (!fakeGestureTouched || !fakeGestureMoved) {
  11594. return;
  11595. }
  11596. if (e.type !== 'touchend' || e.type === 'touchend' && e.changedTouches.length < 2 && !device.android) {
  11597. return;
  11598. }
  11599. fakeGestureTouched = false;
  11600. fakeGestureMoved = false;
  11601. }
  11602. if (!gesture.$imageEl || gesture.$imageEl.length === 0) return;
  11603. zoom.scale = Math.max(Math.min(zoom.scale, gesture.maxRatio), params.minRatio);
  11604. gesture.$imageEl.transition(swiper.params.speed).transform(`translate3d(0,0,0) scale(${zoom.scale})`);
  11605. currentScale = zoom.scale;
  11606. isScaling = false;
  11607. if (zoom.scale === 1) gesture.$slideEl = undefined;
  11608. }
  11609. function onTouchStart(e) {
  11610. const device = swiper.device;
  11611. if (!gesture.$imageEl || gesture.$imageEl.length === 0) return;
  11612. if (image.isTouched) return;
  11613. if (device.android && e.cancelable) e.preventDefault();
  11614. image.isTouched = true;
  11615. image.touchesStart.x = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;
  11616. image.touchesStart.y = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;
  11617. }
  11618. function onTouchMove(e) {
  11619. const zoom = swiper.zoom;
  11620. if (!gesture.$imageEl || gesture.$imageEl.length === 0) return;
  11621. swiper.allowClick = false;
  11622. if (!image.isTouched || !gesture.$slideEl) return;
  11623. if (!image.isMoved) {
  11624. image.width = gesture.$imageEl[0].offsetWidth;
  11625. image.height = gesture.$imageEl[0].offsetHeight;
  11626. image.startX = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.getTranslate)(gesture.$imageWrapEl[0], 'x') || 0;
  11627. image.startY = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.getTranslate)(gesture.$imageWrapEl[0], 'y') || 0;
  11628. gesture.slideWidth = gesture.$slideEl[0].offsetWidth;
  11629. gesture.slideHeight = gesture.$slideEl[0].offsetHeight;
  11630. gesture.$imageWrapEl.transition(0);
  11631. } // Define if we need image drag
  11632. const scaledWidth = image.width * zoom.scale;
  11633. const scaledHeight = image.height * zoom.scale;
  11634. if (scaledWidth < gesture.slideWidth && scaledHeight < gesture.slideHeight) return;
  11635. image.minX = Math.min(gesture.slideWidth / 2 - scaledWidth / 2, 0);
  11636. image.maxX = -image.minX;
  11637. image.minY = Math.min(gesture.slideHeight / 2 - scaledHeight / 2, 0);
  11638. image.maxY = -image.minY;
  11639. image.touchesCurrent.x = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX;
  11640. image.touchesCurrent.y = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;
  11641. if (!image.isMoved && !isScaling) {
  11642. if (swiper.isHorizontal() && (Math.floor(image.minX) === Math.floor(image.startX) && image.touchesCurrent.x < image.touchesStart.x || Math.floor(image.maxX) === Math.floor(image.startX) && image.touchesCurrent.x > image.touchesStart.x)) {
  11643. image.isTouched = false;
  11644. return;
  11645. }
  11646. if (!swiper.isHorizontal() && (Math.floor(image.minY) === Math.floor(image.startY) && image.touchesCurrent.y < image.touchesStart.y || Math.floor(image.maxY) === Math.floor(image.startY) && image.touchesCurrent.y > image.touchesStart.y)) {
  11647. image.isTouched = false;
  11648. return;
  11649. }
  11650. }
  11651. if (e.cancelable) {
  11652. e.preventDefault();
  11653. }
  11654. e.stopPropagation();
  11655. image.isMoved = true;
  11656. image.currentX = image.touchesCurrent.x - image.touchesStart.x + image.startX;
  11657. image.currentY = image.touchesCurrent.y - image.touchesStart.y + image.startY;
  11658. if (image.currentX < image.minX) {
  11659. image.currentX = image.minX + 1 - (image.minX - image.currentX + 1) ** 0.8;
  11660. }
  11661. if (image.currentX > image.maxX) {
  11662. image.currentX = image.maxX - 1 + (image.currentX - image.maxX + 1) ** 0.8;
  11663. }
  11664. if (image.currentY < image.minY) {
  11665. image.currentY = image.minY + 1 - (image.minY - image.currentY + 1) ** 0.8;
  11666. }
  11667. if (image.currentY > image.maxY) {
  11668. image.currentY = image.maxY - 1 + (image.currentY - image.maxY + 1) ** 0.8;
  11669. } // Velocity
  11670. if (!velocity.prevPositionX) velocity.prevPositionX = image.touchesCurrent.x;
  11671. if (!velocity.prevPositionY) velocity.prevPositionY = image.touchesCurrent.y;
  11672. if (!velocity.prevTime) velocity.prevTime = Date.now();
  11673. velocity.x = (image.touchesCurrent.x - velocity.prevPositionX) / (Date.now() - velocity.prevTime) / 2;
  11674. velocity.y = (image.touchesCurrent.y - velocity.prevPositionY) / (Date.now() - velocity.prevTime) / 2;
  11675. if (Math.abs(image.touchesCurrent.x - velocity.prevPositionX) < 2) velocity.x = 0;
  11676. if (Math.abs(image.touchesCurrent.y - velocity.prevPositionY) < 2) velocity.y = 0;
  11677. velocity.prevPositionX = image.touchesCurrent.x;
  11678. velocity.prevPositionY = image.touchesCurrent.y;
  11679. velocity.prevTime = Date.now();
  11680. gesture.$imageWrapEl.transform(`translate3d(${image.currentX}px, ${image.currentY}px,0)`);
  11681. }
  11682. function onTouchEnd() {
  11683. const zoom = swiper.zoom;
  11684. if (!gesture.$imageEl || gesture.$imageEl.length === 0) return;
  11685. if (!image.isTouched || !image.isMoved) {
  11686. image.isTouched = false;
  11687. image.isMoved = false;
  11688. return;
  11689. }
  11690. image.isTouched = false;
  11691. image.isMoved = false;
  11692. let momentumDurationX = 300;
  11693. let momentumDurationY = 300;
  11694. const momentumDistanceX = velocity.x * momentumDurationX;
  11695. const newPositionX = image.currentX + momentumDistanceX;
  11696. const momentumDistanceY = velocity.y * momentumDurationY;
  11697. const newPositionY = image.currentY + momentumDistanceY; // Fix duration
  11698. if (velocity.x !== 0) momentumDurationX = Math.abs((newPositionX - image.currentX) / velocity.x);
  11699. if (velocity.y !== 0) momentumDurationY = Math.abs((newPositionY - image.currentY) / velocity.y);
  11700. const momentumDuration = Math.max(momentumDurationX, momentumDurationY);
  11701. image.currentX = newPositionX;
  11702. image.currentY = newPositionY; // Define if we need image drag
  11703. const scaledWidth = image.width * zoom.scale;
  11704. const scaledHeight = image.height * zoom.scale;
  11705. image.minX = Math.min(gesture.slideWidth / 2 - scaledWidth / 2, 0);
  11706. image.maxX = -image.minX;
  11707. image.minY = Math.min(gesture.slideHeight / 2 - scaledHeight / 2, 0);
  11708. image.maxY = -image.minY;
  11709. image.currentX = Math.max(Math.min(image.currentX, image.maxX), image.minX);
  11710. image.currentY = Math.max(Math.min(image.currentY, image.maxY), image.minY);
  11711. gesture.$imageWrapEl.transition(momentumDuration).transform(`translate3d(${image.currentX}px, ${image.currentY}px,0)`);
  11712. }
  11713. function onTransitionEnd() {
  11714. const zoom = swiper.zoom;
  11715. if (gesture.$slideEl && swiper.previousIndex !== swiper.activeIndex) {
  11716. if (gesture.$imageEl) {
  11717. gesture.$imageEl.transform('translate3d(0,0,0) scale(1)');
  11718. }
  11719. if (gesture.$imageWrapEl) {
  11720. gesture.$imageWrapEl.transform('translate3d(0,0,0)');
  11721. }
  11722. zoom.scale = 1;
  11723. currentScale = 1;
  11724. gesture.$slideEl = undefined;
  11725. gesture.$imageEl = undefined;
  11726. gesture.$imageWrapEl = undefined;
  11727. }
  11728. }
  11729. function zoomIn(e) {
  11730. const zoom = swiper.zoom;
  11731. const params = swiper.params.zoom;
  11732. if (!gesture.$slideEl) {
  11733. if (e && e.target) {
  11734. gesture.$slideEl = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(e.target).closest(`.${swiper.params.slideClass}`);
  11735. }
  11736. if (!gesture.$slideEl) {
  11737. if (swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual) {
  11738. gesture.$slideEl = swiper.$wrapperEl.children(`.${swiper.params.slideActiveClass}`);
  11739. } else {
  11740. gesture.$slideEl = swiper.slides.eq(swiper.activeIndex);
  11741. }
  11742. }
  11743. gesture.$imageEl = gesture.$slideEl.find(`.${params.containerClass}`).eq(0).find('picture, img, svg, canvas, .swiper-zoom-target').eq(0);
  11744. gesture.$imageWrapEl = gesture.$imageEl.parent(`.${params.containerClass}`);
  11745. }
  11746. if (!gesture.$imageEl || gesture.$imageEl.length === 0 || !gesture.$imageWrapEl || gesture.$imageWrapEl.length === 0) return;
  11747. if (swiper.params.cssMode) {
  11748. swiper.wrapperEl.style.overflow = 'hidden';
  11749. swiper.wrapperEl.style.touchAction = 'none';
  11750. }
  11751. gesture.$slideEl.addClass(`${params.zoomedSlideClass}`);
  11752. let touchX;
  11753. let touchY;
  11754. let offsetX;
  11755. let offsetY;
  11756. let diffX;
  11757. let diffY;
  11758. let translateX;
  11759. let translateY;
  11760. let imageWidth;
  11761. let imageHeight;
  11762. let scaledWidth;
  11763. let scaledHeight;
  11764. let translateMinX;
  11765. let translateMinY;
  11766. let translateMaxX;
  11767. let translateMaxY;
  11768. let slideWidth;
  11769. let slideHeight;
  11770. if (typeof image.touchesStart.x === 'undefined' && e) {
  11771. touchX = e.type === 'touchend' ? e.changedTouches[0].pageX : e.pageX;
  11772. touchY = e.type === 'touchend' ? e.changedTouches[0].pageY : e.pageY;
  11773. } else {
  11774. touchX = image.touchesStart.x;
  11775. touchY = image.touchesStart.y;
  11776. }
  11777. zoom.scale = gesture.$imageWrapEl.attr('data-swiper-zoom') || params.maxRatio;
  11778. currentScale = gesture.$imageWrapEl.attr('data-swiper-zoom') || params.maxRatio;
  11779. if (e) {
  11780. slideWidth = gesture.$slideEl[0].offsetWidth;
  11781. slideHeight = gesture.$slideEl[0].offsetHeight;
  11782. offsetX = gesture.$slideEl.offset().left + window.scrollX;
  11783. offsetY = gesture.$slideEl.offset().top + window.scrollY;
  11784. diffX = offsetX + slideWidth / 2 - touchX;
  11785. diffY = offsetY + slideHeight / 2 - touchY;
  11786. imageWidth = gesture.$imageEl[0].offsetWidth;
  11787. imageHeight = gesture.$imageEl[0].offsetHeight;
  11788. scaledWidth = imageWidth * zoom.scale;
  11789. scaledHeight = imageHeight * zoom.scale;
  11790. translateMinX = Math.min(slideWidth / 2 - scaledWidth / 2, 0);
  11791. translateMinY = Math.min(slideHeight / 2 - scaledHeight / 2, 0);
  11792. translateMaxX = -translateMinX;
  11793. translateMaxY = -translateMinY;
  11794. translateX = diffX * zoom.scale;
  11795. translateY = diffY * zoom.scale;
  11796. if (translateX < translateMinX) {
  11797. translateX = translateMinX;
  11798. }
  11799. if (translateX > translateMaxX) {
  11800. translateX = translateMaxX;
  11801. }
  11802. if (translateY < translateMinY) {
  11803. translateY = translateMinY;
  11804. }
  11805. if (translateY > translateMaxY) {
  11806. translateY = translateMaxY;
  11807. }
  11808. } else {
  11809. translateX = 0;
  11810. translateY = 0;
  11811. }
  11812. gesture.$imageWrapEl.transition(300).transform(`translate3d(${translateX}px, ${translateY}px,0)`);
  11813. gesture.$imageEl.transition(300).transform(`translate3d(0,0,0) scale(${zoom.scale})`);
  11814. }
  11815. function zoomOut() {
  11816. const zoom = swiper.zoom;
  11817. const params = swiper.params.zoom;
  11818. if (!gesture.$slideEl) {
  11819. if (swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual) {
  11820. gesture.$slideEl = swiper.$wrapperEl.children(`.${swiper.params.slideActiveClass}`);
  11821. } else {
  11822. gesture.$slideEl = swiper.slides.eq(swiper.activeIndex);
  11823. }
  11824. gesture.$imageEl = gesture.$slideEl.find(`.${params.containerClass}`).eq(0).find('picture, img, svg, canvas, .swiper-zoom-target').eq(0);
  11825. gesture.$imageWrapEl = gesture.$imageEl.parent(`.${params.containerClass}`);
  11826. }
  11827. if (!gesture.$imageEl || gesture.$imageEl.length === 0 || !gesture.$imageWrapEl || gesture.$imageWrapEl.length === 0) return;
  11828. if (swiper.params.cssMode) {
  11829. swiper.wrapperEl.style.overflow = '';
  11830. swiper.wrapperEl.style.touchAction = '';
  11831. }
  11832. zoom.scale = 1;
  11833. currentScale = 1;
  11834. gesture.$imageWrapEl.transition(300).transform('translate3d(0,0,0)');
  11835. gesture.$imageEl.transition(300).transform('translate3d(0,0,0) scale(1)');
  11836. gesture.$slideEl.removeClass(`${params.zoomedSlideClass}`);
  11837. gesture.$slideEl = undefined;
  11838. } // Toggle Zoom
  11839. function zoomToggle(e) {
  11840. const zoom = swiper.zoom;
  11841. if (zoom.scale && zoom.scale !== 1) {
  11842. // Zoom Out
  11843. zoomOut();
  11844. } else {
  11845. // Zoom In
  11846. zoomIn(e);
  11847. }
  11848. }
  11849. function getListeners() {
  11850. const support = swiper.support;
  11851. const passiveListener = swiper.touchEvents.start === 'touchstart' && support.passiveListener && swiper.params.passiveListeners ? {
  11852. passive: true,
  11853. capture: false
  11854. } : false;
  11855. const activeListenerWithCapture = support.passiveListener ? {
  11856. passive: false,
  11857. capture: true
  11858. } : true;
  11859. return {
  11860. passiveListener,
  11861. activeListenerWithCapture
  11862. };
  11863. }
  11864. function getSlideSelector() {
  11865. return `.${swiper.params.slideClass}`;
  11866. }
  11867. function toggleGestures(method) {
  11868. const {
  11869. passiveListener
  11870. } = getListeners();
  11871. const slideSelector = getSlideSelector();
  11872. swiper.$wrapperEl[method]('gesturestart', slideSelector, onGestureStart, passiveListener);
  11873. swiper.$wrapperEl[method]('gesturechange', slideSelector, onGestureChange, passiveListener);
  11874. swiper.$wrapperEl[method]('gestureend', slideSelector, onGestureEnd, passiveListener);
  11875. }
  11876. function enableGestures() {
  11877. if (gesturesEnabled) return;
  11878. gesturesEnabled = true;
  11879. toggleGestures('on');
  11880. }
  11881. function disableGestures() {
  11882. if (!gesturesEnabled) return;
  11883. gesturesEnabled = false;
  11884. toggleGestures('off');
  11885. } // Attach/Detach Events
  11886. function enable() {
  11887. const zoom = swiper.zoom;
  11888. if (zoom.enabled) return;
  11889. zoom.enabled = true;
  11890. const support = swiper.support;
  11891. const {
  11892. passiveListener,
  11893. activeListenerWithCapture
  11894. } = getListeners();
  11895. const slideSelector = getSlideSelector(); // Scale image
  11896. if (support.gestures) {
  11897. swiper.$wrapperEl.on(swiper.touchEvents.start, enableGestures, passiveListener);
  11898. swiper.$wrapperEl.on(swiper.touchEvents.end, disableGestures, passiveListener);
  11899. } else if (swiper.touchEvents.start === 'touchstart') {
  11900. swiper.$wrapperEl.on(swiper.touchEvents.start, slideSelector, onGestureStart, passiveListener);
  11901. swiper.$wrapperEl.on(swiper.touchEvents.move, slideSelector, onGestureChange, activeListenerWithCapture);
  11902. swiper.$wrapperEl.on(swiper.touchEvents.end, slideSelector, onGestureEnd, passiveListener);
  11903. if (swiper.touchEvents.cancel) {
  11904. swiper.$wrapperEl.on(swiper.touchEvents.cancel, slideSelector, onGestureEnd, passiveListener);
  11905. }
  11906. } // Move image
  11907. swiper.$wrapperEl.on(swiper.touchEvents.move, `.${swiper.params.zoom.containerClass}`, onTouchMove, activeListenerWithCapture);
  11908. }
  11909. function disable() {
  11910. const zoom = swiper.zoom;
  11911. if (!zoom.enabled) return;
  11912. const support = swiper.support;
  11913. zoom.enabled = false;
  11914. const {
  11915. passiveListener,
  11916. activeListenerWithCapture
  11917. } = getListeners();
  11918. const slideSelector = getSlideSelector(); // Scale image
  11919. if (support.gestures) {
  11920. swiper.$wrapperEl.off(swiper.touchEvents.start, enableGestures, passiveListener);
  11921. swiper.$wrapperEl.off(swiper.touchEvents.end, disableGestures, passiveListener);
  11922. } else if (swiper.touchEvents.start === 'touchstart') {
  11923. swiper.$wrapperEl.off(swiper.touchEvents.start, slideSelector, onGestureStart, passiveListener);
  11924. swiper.$wrapperEl.off(swiper.touchEvents.move, slideSelector, onGestureChange, activeListenerWithCapture);
  11925. swiper.$wrapperEl.off(swiper.touchEvents.end, slideSelector, onGestureEnd, passiveListener);
  11926. if (swiper.touchEvents.cancel) {
  11927. swiper.$wrapperEl.off(swiper.touchEvents.cancel, slideSelector, onGestureEnd, passiveListener);
  11928. }
  11929. } // Move image
  11930. swiper.$wrapperEl.off(swiper.touchEvents.move, `.${swiper.params.zoom.containerClass}`, onTouchMove, activeListenerWithCapture);
  11931. }
  11932. on('init', () => {
  11933. if (swiper.params.zoom.enabled) {
  11934. enable();
  11935. }
  11936. });
  11937. on('destroy', () => {
  11938. disable();
  11939. });
  11940. on('touchStart', (_s, e) => {
  11941. if (!swiper.zoom.enabled) return;
  11942. onTouchStart(e);
  11943. });
  11944. on('touchEnd', (_s, e) => {
  11945. if (!swiper.zoom.enabled) return;
  11946. onTouchEnd(e);
  11947. });
  11948. on('doubleTap', (_s, e) => {
  11949. if (!swiper.animating && swiper.params.zoom.enabled && swiper.zoom.enabled && swiper.params.zoom.toggle) {
  11950. zoomToggle(e);
  11951. }
  11952. });
  11953. on('transitionEnd', () => {
  11954. if (swiper.zoom.enabled && swiper.params.zoom.enabled) {
  11955. onTransitionEnd();
  11956. }
  11957. });
  11958. on('slideChange', () => {
  11959. if (swiper.zoom.enabled && swiper.params.zoom.enabled && swiper.params.cssMode) {
  11960. onTransitionEnd();
  11961. }
  11962. });
  11963. Object.assign(swiper.zoom, {
  11964. enable,
  11965. disable,
  11966. in: zoomIn,
  11967. out: zoomOut,
  11968. toggle: zoomToggle
  11969. });
  11970. }
  11971. /***/ }),
  11972. /***/ 1472:
  11973. /*!***********************************************************!*\
  11974. !*** ./node_modules/swiper/shared/classes-to-selector.js ***!
  11975. \***********************************************************/
  11976. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  11977. __webpack_require__.r(__webpack_exports__);
  11978. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  11979. /* harmony export */ "default": () => (/* binding */ classesToSelector)
  11980. /* harmony export */ });
  11981. function classesToSelector(classes = '') {
  11982. return `.${classes.trim().replace(/([\.:!\/])/g, '\\$1') // eslint-disable-line
  11983. .replace(/ /g, '.')}`;
  11984. }
  11985. /***/ }),
  11986. /***/ 9358:
  11987. /*!*********************************************************************!*\
  11988. !*** ./node_modules/swiper/shared/create-element-if-not-defined.js ***!
  11989. \*********************************************************************/
  11990. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  11991. __webpack_require__.r(__webpack_exports__);
  11992. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  11993. /* harmony export */ "default": () => (/* binding */ createElementIfNotDefined)
  11994. /* harmony export */ });
  11995. /* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ 2864);
  11996. function createElementIfNotDefined(swiper, originalParams, params, checkProps) {
  11997. const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)();
  11998. if (swiper.params.createElements) {
  11999. Object.keys(checkProps).forEach(key => {
  12000. if (!params[key] && params.auto === true) {
  12001. let element = swiper.$el.children(`.${checkProps[key]}`)[0];
  12002. if (!element) {
  12003. element = document.createElement('div');
  12004. element.className = checkProps[key];
  12005. swiper.$el.append(element);
  12006. }
  12007. params[key] = element;
  12008. originalParams[key] = element;
  12009. }
  12010. });
  12011. }
  12012. return params;
  12013. }
  12014. /***/ }),
  12015. /***/ 5998:
  12016. /*!*****************************************************!*\
  12017. !*** ./node_modules/swiper/shared/create-shadow.js ***!
  12018. \*****************************************************/
  12019. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  12020. __webpack_require__.r(__webpack_exports__);
  12021. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  12022. /* harmony export */ "default": () => (/* binding */ createShadow)
  12023. /* harmony export */ });
  12024. /* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./dom.js */ 6007);
  12025. function createShadow(params, $slideEl, side) {
  12026. const shadowClass = `swiper-slide-shadow${side ? `-${side}` : ''}`;
  12027. const $shadowContainer = params.transformEl ? $slideEl.find(params.transformEl) : $slideEl;
  12028. let $shadowEl = $shadowContainer.children(`.${shadowClass}`);
  12029. if (!$shadowEl.length) {
  12030. $shadowEl = (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__["default"])(`<div class="swiper-slide-shadow${side ? `-${side}` : ''}"></div>`);
  12031. $shadowContainer.append($shadowEl);
  12032. }
  12033. return $shadowEl;
  12034. }
  12035. /***/ }),
  12036. /***/ 6007:
  12037. /*!*******************************************!*\
  12038. !*** ./node_modules/swiper/shared/dom.js ***!
  12039. \*******************************************/
  12040. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  12041. __webpack_require__.r(__webpack_exports__);
  12042. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  12043. /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
  12044. /* harmony export */ });
  12045. /* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ 6123);
  12046. const Methods = {
  12047. addClass: dom7__WEBPACK_IMPORTED_MODULE_0__.addClass,
  12048. removeClass: dom7__WEBPACK_IMPORTED_MODULE_0__.removeClass,
  12049. hasClass: dom7__WEBPACK_IMPORTED_MODULE_0__.hasClass,
  12050. toggleClass: dom7__WEBPACK_IMPORTED_MODULE_0__.toggleClass,
  12051. attr: dom7__WEBPACK_IMPORTED_MODULE_0__.attr,
  12052. removeAttr: dom7__WEBPACK_IMPORTED_MODULE_0__.removeAttr,
  12053. transform: dom7__WEBPACK_IMPORTED_MODULE_0__.transform,
  12054. transition: dom7__WEBPACK_IMPORTED_MODULE_0__.transition,
  12055. on: dom7__WEBPACK_IMPORTED_MODULE_0__.on,
  12056. off: dom7__WEBPACK_IMPORTED_MODULE_0__.off,
  12057. trigger: dom7__WEBPACK_IMPORTED_MODULE_0__.trigger,
  12058. transitionEnd: dom7__WEBPACK_IMPORTED_MODULE_0__.transitionEnd,
  12059. outerWidth: dom7__WEBPACK_IMPORTED_MODULE_0__.outerWidth,
  12060. outerHeight: dom7__WEBPACK_IMPORTED_MODULE_0__.outerHeight,
  12061. styles: dom7__WEBPACK_IMPORTED_MODULE_0__.styles,
  12062. offset: dom7__WEBPACK_IMPORTED_MODULE_0__.offset,
  12063. css: dom7__WEBPACK_IMPORTED_MODULE_0__.css,
  12064. each: dom7__WEBPACK_IMPORTED_MODULE_0__.each,
  12065. html: dom7__WEBPACK_IMPORTED_MODULE_0__.html,
  12066. text: dom7__WEBPACK_IMPORTED_MODULE_0__.text,
  12067. is: dom7__WEBPACK_IMPORTED_MODULE_0__.is,
  12068. index: dom7__WEBPACK_IMPORTED_MODULE_0__.index,
  12069. eq: dom7__WEBPACK_IMPORTED_MODULE_0__.eq,
  12070. append: dom7__WEBPACK_IMPORTED_MODULE_0__.append,
  12071. prepend: dom7__WEBPACK_IMPORTED_MODULE_0__.prepend,
  12072. next: dom7__WEBPACK_IMPORTED_MODULE_0__.next,
  12073. nextAll: dom7__WEBPACK_IMPORTED_MODULE_0__.nextAll,
  12074. prev: dom7__WEBPACK_IMPORTED_MODULE_0__.prev,
  12075. prevAll: dom7__WEBPACK_IMPORTED_MODULE_0__.prevAll,
  12076. parent: dom7__WEBPACK_IMPORTED_MODULE_0__.parent,
  12077. parents: dom7__WEBPACK_IMPORTED_MODULE_0__.parents,
  12078. closest: dom7__WEBPACK_IMPORTED_MODULE_0__.closest,
  12079. find: dom7__WEBPACK_IMPORTED_MODULE_0__.find,
  12080. children: dom7__WEBPACK_IMPORTED_MODULE_0__.children,
  12081. filter: dom7__WEBPACK_IMPORTED_MODULE_0__.filter,
  12082. remove: dom7__WEBPACK_IMPORTED_MODULE_0__.remove
  12083. };
  12084. Object.keys(Methods).forEach(methodName => {
  12085. Object.defineProperty(dom7__WEBPACK_IMPORTED_MODULE_0__.$.fn, methodName, {
  12086. value: Methods[methodName],
  12087. writable: true
  12088. });
  12089. });
  12090. /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (dom7__WEBPACK_IMPORTED_MODULE_0__.$);
  12091. /***/ }),
  12092. /***/ 9716:
  12093. /*!***************************************************!*\
  12094. !*** ./node_modules/swiper/shared/effect-init.js ***!
  12095. \***************************************************/
  12096. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  12097. __webpack_require__.r(__webpack_exports__);
  12098. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  12099. /* harmony export */ "default": () => (/* binding */ effectInit)
  12100. /* harmony export */ });
  12101. function effectInit(params) {
  12102. const {
  12103. effect,
  12104. swiper,
  12105. on,
  12106. setTranslate,
  12107. setTransition,
  12108. overwriteParams,
  12109. perspective,
  12110. recreateShadows,
  12111. getEffectParams
  12112. } = params;
  12113. on('beforeInit', () => {
  12114. if (swiper.params.effect !== effect) return;
  12115. swiper.classNames.push(`${swiper.params.containerModifierClass}${effect}`);
  12116. if (perspective && perspective()) {
  12117. swiper.classNames.push(`${swiper.params.containerModifierClass}3d`);
  12118. }
  12119. const overwriteParamsResult = overwriteParams ? overwriteParams() : {};
  12120. Object.assign(swiper.params, overwriteParamsResult);
  12121. Object.assign(swiper.originalParams, overwriteParamsResult);
  12122. });
  12123. on('setTranslate', () => {
  12124. if (swiper.params.effect !== effect) return;
  12125. setTranslate();
  12126. });
  12127. on('setTransition', (_s, duration) => {
  12128. if (swiper.params.effect !== effect) return;
  12129. setTransition(duration);
  12130. });
  12131. on('transitionEnd', () => {
  12132. if (swiper.params.effect !== effect) return;
  12133. if (recreateShadows) {
  12134. if (!getEffectParams || !getEffectParams().slideShadows) return; // remove shadows
  12135. swiper.slides.each(slideEl => {
  12136. const $slideEl = swiper.$(slideEl);
  12137. $slideEl.find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').remove();
  12138. }); // create new one
  12139. recreateShadows();
  12140. }
  12141. });
  12142. let requireUpdateOnVirtual;
  12143. on('virtualUpdate', () => {
  12144. if (swiper.params.effect !== effect) return;
  12145. if (!swiper.slides.length) {
  12146. requireUpdateOnVirtual = true;
  12147. }
  12148. requestAnimationFrame(() => {
  12149. if (requireUpdateOnVirtual && swiper.slides && swiper.slides.length) {
  12150. setTranslate();
  12151. requireUpdateOnVirtual = false;
  12152. }
  12153. });
  12154. });
  12155. }
  12156. /***/ }),
  12157. /***/ 8538:
  12158. /*!*****************************************************!*\
  12159. !*** ./node_modules/swiper/shared/effect-target.js ***!
  12160. \*****************************************************/
  12161. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  12162. __webpack_require__.r(__webpack_exports__);
  12163. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  12164. /* harmony export */ "default": () => (/* binding */ effectTarget)
  12165. /* harmony export */ });
  12166. function effectTarget(effectParams, $slideEl) {
  12167. if (effectParams.transformEl) {
  12168. return $slideEl.find(effectParams.transformEl).css({
  12169. 'backface-visibility': 'hidden',
  12170. '-webkit-backface-visibility': 'hidden'
  12171. });
  12172. }
  12173. return $slideEl;
  12174. }
  12175. /***/ }),
  12176. /***/ 814:
  12177. /*!*********************************************************************!*\
  12178. !*** ./node_modules/swiper/shared/effect-virtual-transition-end.js ***!
  12179. \*********************************************************************/
  12180. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  12181. __webpack_require__.r(__webpack_exports__);
  12182. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  12183. /* harmony export */ "default": () => (/* binding */ effectVirtualTransitionEnd)
  12184. /* harmony export */ });
  12185. function effectVirtualTransitionEnd({
  12186. swiper,
  12187. duration,
  12188. transformEl,
  12189. allSlides
  12190. }) {
  12191. const {
  12192. slides,
  12193. activeIndex,
  12194. $wrapperEl
  12195. } = swiper;
  12196. if (swiper.params.virtualTranslate && duration !== 0) {
  12197. let eventTriggered = false;
  12198. let $transitionEndTarget;
  12199. if (allSlides) {
  12200. $transitionEndTarget = transformEl ? slides.find(transformEl) : slides;
  12201. } else {
  12202. $transitionEndTarget = transformEl ? slides.eq(activeIndex).find(transformEl) : slides.eq(activeIndex);
  12203. }
  12204. $transitionEndTarget.transitionEnd(() => {
  12205. if (eventTriggered) return;
  12206. if (!swiper || swiper.destroyed) return;
  12207. eventTriggered = true;
  12208. swiper.animating = false;
  12209. const triggerEvents = ['webkitTransitionEnd', 'transitionend'];
  12210. for (let i = 0; i < triggerEvents.length; i += 1) {
  12211. $wrapperEl.trigger(triggerEvents[i]);
  12212. }
  12213. });
  12214. }
  12215. }
  12216. /***/ }),
  12217. /***/ 7274:
  12218. /*!***************************************************!*\
  12219. !*** ./node_modules/swiper/shared/get-browser.js ***!
  12220. \***************************************************/
  12221. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  12222. __webpack_require__.r(__webpack_exports__);
  12223. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  12224. /* harmony export */ "getBrowser": () => (/* binding */ getBrowser)
  12225. /* harmony export */ });
  12226. /* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ 2864);
  12227. let browser;
  12228. function calcBrowser() {
  12229. const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
  12230. function isSafari() {
  12231. const ua = window.navigator.userAgent.toLowerCase();
  12232. return ua.indexOf('safari') >= 0 && ua.indexOf('chrome') < 0 && ua.indexOf('android') < 0;
  12233. }
  12234. return {
  12235. isSafari: isSafari(),
  12236. isWebView: /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(window.navigator.userAgent)
  12237. };
  12238. }
  12239. function getBrowser() {
  12240. if (!browser) {
  12241. browser = calcBrowser();
  12242. }
  12243. return browser;
  12244. }
  12245. /***/ }),
  12246. /***/ 1373:
  12247. /*!**************************************************!*\
  12248. !*** ./node_modules/swiper/shared/get-device.js ***!
  12249. \**************************************************/
  12250. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  12251. __webpack_require__.r(__webpack_exports__);
  12252. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  12253. /* harmony export */ "getDevice": () => (/* binding */ getDevice)
  12254. /* harmony export */ });
  12255. /* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ 2864);
  12256. /* harmony import */ var _get_support_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./get-support.js */ 4558);
  12257. let deviceCached;
  12258. function calcDevice({
  12259. userAgent
  12260. } = {}) {
  12261. const support = (0,_get_support_js__WEBPACK_IMPORTED_MODULE_1__.getSupport)();
  12262. const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
  12263. const platform = window.navigator.platform;
  12264. const ua = userAgent || window.navigator.userAgent;
  12265. const device = {
  12266. ios: false,
  12267. android: false
  12268. };
  12269. const screenWidth = window.screen.width;
  12270. const screenHeight = window.screen.height;
  12271. const android = ua.match(/(Android);?[\s\/]+([\d.]+)?/); // eslint-disable-line
  12272. let ipad = ua.match(/(iPad).*OS\s([\d_]+)/);
  12273. const ipod = ua.match(/(iPod)(.*OS\s([\d_]+))?/);
  12274. const iphone = !ipad && ua.match(/(iPhone\sOS|iOS)\s([\d_]+)/);
  12275. const windows = platform === 'Win32';
  12276. let macos = platform === 'MacIntel'; // iPadOs 13 fix
  12277. const iPadScreens = ['1024x1366', '1366x1024', '834x1194', '1194x834', '834x1112', '1112x834', '768x1024', '1024x768', '820x1180', '1180x820', '810x1080', '1080x810'];
  12278. if (!ipad && macos && support.touch && iPadScreens.indexOf(`${screenWidth}x${screenHeight}`) >= 0) {
  12279. ipad = ua.match(/(Version)\/([\d.]+)/);
  12280. if (!ipad) ipad = [0, 1, '13_0_0'];
  12281. macos = false;
  12282. } // Android
  12283. if (android && !windows) {
  12284. device.os = 'android';
  12285. device.android = true;
  12286. }
  12287. if (ipad || iphone || ipod) {
  12288. device.os = 'ios';
  12289. device.ios = true;
  12290. } // Export object
  12291. return device;
  12292. }
  12293. function getDevice(overrides = {}) {
  12294. if (!deviceCached) {
  12295. deviceCached = calcDevice(overrides);
  12296. }
  12297. return deviceCached;
  12298. }
  12299. /***/ }),
  12300. /***/ 4558:
  12301. /*!***************************************************!*\
  12302. !*** ./node_modules/swiper/shared/get-support.js ***!
  12303. \***************************************************/
  12304. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  12305. __webpack_require__.r(__webpack_exports__);
  12306. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  12307. /* harmony export */ "getSupport": () => (/* binding */ getSupport)
  12308. /* harmony export */ });
  12309. /* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ 2864);
  12310. let support;
  12311. function calcSupport() {
  12312. const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
  12313. const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)();
  12314. return {
  12315. smoothScroll: document.documentElement && 'scrollBehavior' in document.documentElement.style,
  12316. touch: !!('ontouchstart' in window || window.DocumentTouch && document instanceof window.DocumentTouch),
  12317. passiveListener: function checkPassiveListener() {
  12318. let supportsPassive = false;
  12319. try {
  12320. const opts = Object.defineProperty({}, 'passive', {
  12321. // eslint-disable-next-line
  12322. get() {
  12323. supportsPassive = true;
  12324. }
  12325. });
  12326. window.addEventListener('testPassiveListener', null, opts);
  12327. } catch (e) {// No support
  12328. }
  12329. return supportsPassive;
  12330. }(),
  12331. gestures: function checkGestures() {
  12332. return 'ongesturestart' in window;
  12333. }()
  12334. };
  12335. }
  12336. function getSupport() {
  12337. if (!support) {
  12338. support = calcSupport();
  12339. }
  12340. return support;
  12341. }
  12342. /***/ }),
  12343. /***/ 3809:
  12344. /*!*********************************************!*\
  12345. !*** ./node_modules/swiper/shared/utils.js ***!
  12346. \*********************************************/
  12347. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  12348. __webpack_require__.r(__webpack_exports__);
  12349. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  12350. /* harmony export */ "animateCSSModeScroll": () => (/* binding */ animateCSSModeScroll),
  12351. /* harmony export */ "deleteProps": () => (/* binding */ deleteProps),
  12352. /* harmony export */ "extend": () => (/* binding */ extend),
  12353. /* harmony export */ "getComputedStyle": () => (/* binding */ getComputedStyle),
  12354. /* harmony export */ "getTranslate": () => (/* binding */ getTranslate),
  12355. /* harmony export */ "isObject": () => (/* binding */ isObject),
  12356. /* harmony export */ "nextTick": () => (/* binding */ nextTick),
  12357. /* harmony export */ "now": () => (/* binding */ now),
  12358. /* harmony export */ "setCSSProperty": () => (/* binding */ setCSSProperty)
  12359. /* harmony export */ });
  12360. /* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ 2864);
  12361. function deleteProps(obj) {
  12362. const object = obj;
  12363. Object.keys(object).forEach(key => {
  12364. try {
  12365. object[key] = null;
  12366. } catch (e) {// no getter for object
  12367. }
  12368. try {
  12369. delete object[key];
  12370. } catch (e) {// something got wrong
  12371. }
  12372. });
  12373. }
  12374. function nextTick(callback, delay = 0) {
  12375. return setTimeout(callback, delay);
  12376. }
  12377. function now() {
  12378. return Date.now();
  12379. }
  12380. function getComputedStyle(el) {
  12381. const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
  12382. let style;
  12383. if (window.getComputedStyle) {
  12384. style = window.getComputedStyle(el, null);
  12385. }
  12386. if (!style && el.currentStyle) {
  12387. style = el.currentStyle;
  12388. }
  12389. if (!style) {
  12390. style = el.style;
  12391. }
  12392. return style;
  12393. }
  12394. function getTranslate(el, axis = 'x') {
  12395. const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
  12396. let matrix;
  12397. let curTransform;
  12398. let transformMatrix;
  12399. const curStyle = getComputedStyle(el, null);
  12400. if (window.WebKitCSSMatrix) {
  12401. curTransform = curStyle.transform || curStyle.webkitTransform;
  12402. if (curTransform.split(',').length > 6) {
  12403. curTransform = curTransform.split(', ').map(a => a.replace(',', '.')).join(', ');
  12404. } // Some old versions of Webkit choke when 'none' is passed; pass
  12405. // empty string instead in this case
  12406. transformMatrix = new window.WebKitCSSMatrix(curTransform === 'none' ? '' : curTransform);
  12407. } else {
  12408. transformMatrix = curStyle.MozTransform || curStyle.OTransform || curStyle.MsTransform || curStyle.msTransform || curStyle.transform || curStyle.getPropertyValue('transform').replace('translate(', 'matrix(1, 0, 0, 1,');
  12409. matrix = transformMatrix.toString().split(',');
  12410. }
  12411. if (axis === 'x') {
  12412. // Latest Chrome and webkits Fix
  12413. if (window.WebKitCSSMatrix) curTransform = transformMatrix.m41; // Crazy IE10 Matrix
  12414. else if (matrix.length === 16) curTransform = parseFloat(matrix[12]); // Normal Browsers
  12415. else curTransform = parseFloat(matrix[4]);
  12416. }
  12417. if (axis === 'y') {
  12418. // Latest Chrome and webkits Fix
  12419. if (window.WebKitCSSMatrix) curTransform = transformMatrix.m42; // Crazy IE10 Matrix
  12420. else if (matrix.length === 16) curTransform = parseFloat(matrix[13]); // Normal Browsers
  12421. else curTransform = parseFloat(matrix[5]);
  12422. }
  12423. return curTransform || 0;
  12424. }
  12425. function isObject(o) {
  12426. return typeof o === 'object' && o !== null && o.constructor && Object.prototype.toString.call(o).slice(8, -1) === 'Object';
  12427. }
  12428. function isNode(node) {
  12429. // eslint-disable-next-line
  12430. if (typeof window !== 'undefined' && typeof window.HTMLElement !== 'undefined') {
  12431. return node instanceof HTMLElement;
  12432. }
  12433. return node && (node.nodeType === 1 || node.nodeType === 11);
  12434. }
  12435. function extend(...args) {
  12436. const to = Object(args[0]);
  12437. const noExtend = ['__proto__', 'constructor', 'prototype'];
  12438. for (let i = 1; i < args.length; i += 1) {
  12439. const nextSource = args[i];
  12440. if (nextSource !== undefined && nextSource !== null && !isNode(nextSource)) {
  12441. const keysArray = Object.keys(Object(nextSource)).filter(key => noExtend.indexOf(key) < 0);
  12442. for (let nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex += 1) {
  12443. const nextKey = keysArray[nextIndex];
  12444. const desc = Object.getOwnPropertyDescriptor(nextSource, nextKey);
  12445. if (desc !== undefined && desc.enumerable) {
  12446. if (isObject(to[nextKey]) && isObject(nextSource[nextKey])) {
  12447. if (nextSource[nextKey].__swiper__) {
  12448. to[nextKey] = nextSource[nextKey];
  12449. } else {
  12450. extend(to[nextKey], nextSource[nextKey]);
  12451. }
  12452. } else if (!isObject(to[nextKey]) && isObject(nextSource[nextKey])) {
  12453. to[nextKey] = {};
  12454. if (nextSource[nextKey].__swiper__) {
  12455. to[nextKey] = nextSource[nextKey];
  12456. } else {
  12457. extend(to[nextKey], nextSource[nextKey]);
  12458. }
  12459. } else {
  12460. to[nextKey] = nextSource[nextKey];
  12461. }
  12462. }
  12463. }
  12464. }
  12465. }
  12466. return to;
  12467. }
  12468. function setCSSProperty(el, varName, varValue) {
  12469. el.style.setProperty(varName, varValue);
  12470. }
  12471. function animateCSSModeScroll({
  12472. swiper,
  12473. targetPosition,
  12474. side
  12475. }) {
  12476. const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
  12477. const startPosition = -swiper.translate;
  12478. let startTime = null;
  12479. let time;
  12480. const duration = swiper.params.speed;
  12481. swiper.wrapperEl.style.scrollSnapType = 'none';
  12482. window.cancelAnimationFrame(swiper.cssModeFrameID);
  12483. const dir = targetPosition > startPosition ? 'next' : 'prev';
  12484. const isOutOfBound = (current, target) => {
  12485. return dir === 'next' && current >= target || dir === 'prev' && current <= target;
  12486. };
  12487. const animate = () => {
  12488. time = new Date().getTime();
  12489. if (startTime === null) {
  12490. startTime = time;
  12491. }
  12492. const progress = Math.max(Math.min((time - startTime) / duration, 1), 0);
  12493. const easeProgress = 0.5 - Math.cos(progress * Math.PI) / 2;
  12494. let currentPosition = startPosition + easeProgress * (targetPosition - startPosition);
  12495. if (isOutOfBound(currentPosition, targetPosition)) {
  12496. currentPosition = targetPosition;
  12497. }
  12498. swiper.wrapperEl.scrollTo({
  12499. [side]: currentPosition
  12500. });
  12501. if (isOutOfBound(currentPosition, targetPosition)) {
  12502. swiper.wrapperEl.style.overflow = 'hidden';
  12503. swiper.wrapperEl.style.scrollSnapType = '';
  12504. setTimeout(() => {
  12505. swiper.wrapperEl.style.overflow = '';
  12506. swiper.wrapperEl.scrollTo({
  12507. [side]: currentPosition
  12508. });
  12509. });
  12510. window.cancelAnimationFrame(swiper.cssModeFrameID);
  12511. return;
  12512. }
  12513. swiper.cssModeFrameID = window.requestAnimationFrame(animate);
  12514. };
  12515. animate();
  12516. }
  12517. /***/ }),
  12518. /***/ 3587:
  12519. /*!*******************************************!*\
  12520. !*** ./node_modules/swiper/swiper.esm.js ***!
  12521. \*******************************************/
  12522. /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
  12523. __webpack_require__.r(__webpack_exports__);
  12524. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  12525. /* harmony export */ "A11y": () => (/* reexport safe */ _modules_a11y_a11y_js__WEBPACK_IMPORTED_MODULE_11__["default"]),
  12526. /* harmony export */ "Autoplay": () => (/* reexport safe */ _modules_autoplay_autoplay_js__WEBPACK_IMPORTED_MODULE_14__["default"]),
  12527. /* harmony export */ "Controller": () => (/* reexport safe */ _modules_controller_controller_js__WEBPACK_IMPORTED_MODULE_10__["default"]),
  12528. /* harmony export */ "EffectCards": () => (/* reexport safe */ _modules_effect_cards_effect_cards_js__WEBPACK_IMPORTED_MODULE_24__["default"]),
  12529. /* harmony export */ "EffectCoverflow": () => (/* reexport safe */ _modules_effect_coverflow_effect_coverflow_js__WEBPACK_IMPORTED_MODULE_22__["default"]),
  12530. /* harmony export */ "EffectCreative": () => (/* reexport safe */ _modules_effect_creative_effect_creative_js__WEBPACK_IMPORTED_MODULE_23__["default"]),
  12531. /* harmony export */ "EffectCube": () => (/* reexport safe */ _modules_effect_cube_effect_cube_js__WEBPACK_IMPORTED_MODULE_20__["default"]),
  12532. /* harmony export */ "EffectFade": () => (/* reexport safe */ _modules_effect_fade_effect_fade_js__WEBPACK_IMPORTED_MODULE_19__["default"]),
  12533. /* harmony export */ "EffectFlip": () => (/* reexport safe */ _modules_effect_flip_effect_flip_js__WEBPACK_IMPORTED_MODULE_21__["default"]),
  12534. /* harmony export */ "FreeMode": () => (/* reexport safe */ _modules_free_mode_free_mode_js__WEBPACK_IMPORTED_MODULE_16__["default"]),
  12535. /* harmony export */ "Grid": () => (/* reexport safe */ _modules_grid_grid_js__WEBPACK_IMPORTED_MODULE_17__["default"]),
  12536. /* harmony export */ "HashNavigation": () => (/* reexport safe */ _modules_hash_navigation_hash_navigation_js__WEBPACK_IMPORTED_MODULE_13__["default"]),
  12537. /* harmony export */ "History": () => (/* reexport safe */ _modules_history_history_js__WEBPACK_IMPORTED_MODULE_12__["default"]),
  12538. /* harmony export */ "Keyboard": () => (/* reexport safe */ _modules_keyboard_keyboard_js__WEBPACK_IMPORTED_MODULE_2__["default"]),
  12539. /* harmony export */ "Lazy": () => (/* reexport safe */ _modules_lazy_lazy_js__WEBPACK_IMPORTED_MODULE_9__["default"]),
  12540. /* harmony export */ "Manipulation": () => (/* reexport safe */ _modules_manipulation_manipulation_js__WEBPACK_IMPORTED_MODULE_18__["default"]),
  12541. /* harmony export */ "Mousewheel": () => (/* reexport safe */ _modules_mousewheel_mousewheel_js__WEBPACK_IMPORTED_MODULE_3__["default"]),
  12542. /* harmony export */ "Navigation": () => (/* reexport safe */ _modules_navigation_navigation_js__WEBPACK_IMPORTED_MODULE_4__["default"]),
  12543. /* harmony export */ "Pagination": () => (/* reexport safe */ _modules_pagination_pagination_js__WEBPACK_IMPORTED_MODULE_5__["default"]),
  12544. /* harmony export */ "Parallax": () => (/* reexport safe */ _modules_parallax_parallax_js__WEBPACK_IMPORTED_MODULE_7__["default"]),
  12545. /* harmony export */ "Scrollbar": () => (/* reexport safe */ _modules_scrollbar_scrollbar_js__WEBPACK_IMPORTED_MODULE_6__["default"]),
  12546. /* harmony export */ "Swiper": () => (/* reexport safe */ _core_core_js__WEBPACK_IMPORTED_MODULE_0__["default"]),
  12547. /* harmony export */ "Thumbs": () => (/* reexport safe */ _modules_thumbs_thumbs_js__WEBPACK_IMPORTED_MODULE_15__["default"]),
  12548. /* harmony export */ "Virtual": () => (/* reexport safe */ _modules_virtual_virtual_js__WEBPACK_IMPORTED_MODULE_1__["default"]),
  12549. /* harmony export */ "Zoom": () => (/* reexport safe */ _modules_zoom_zoom_js__WEBPACK_IMPORTED_MODULE_8__["default"]),
  12550. /* harmony export */ "default": () => (/* reexport safe */ _core_core_js__WEBPACK_IMPORTED_MODULE_0__["default"])
  12551. /* harmony export */ });
  12552. /* harmony import */ var _core_core_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./core/core.js */ 3606);
  12553. /* harmony import */ var _modules_virtual_virtual_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./modules/virtual/virtual.js */ 7887);
  12554. /* harmony import */ var _modules_keyboard_keyboard_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./modules/keyboard/keyboard.js */ 912);
  12555. /* harmony import */ var _modules_mousewheel_mousewheel_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./modules/mousewheel/mousewheel.js */ 1226);
  12556. /* harmony import */ var _modules_navigation_navigation_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./modules/navigation/navigation.js */ 4502);
  12557. /* harmony import */ var _modules_pagination_pagination_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./modules/pagination/pagination.js */ 4240);
  12558. /* harmony import */ var _modules_scrollbar_scrollbar_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./modules/scrollbar/scrollbar.js */ 2465);
  12559. /* harmony import */ var _modules_parallax_parallax_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./modules/parallax/parallax.js */ 9935);
  12560. /* harmony import */ var _modules_zoom_zoom_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./modules/zoom/zoom.js */ 8221);
  12561. /* harmony import */ var _modules_lazy_lazy_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./modules/lazy/lazy.js */ 3553);
  12562. /* harmony import */ var _modules_controller_controller_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./modules/controller/controller.js */ 3511);
  12563. /* harmony import */ var _modules_a11y_a11y_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./modules/a11y/a11y.js */ 6525);
  12564. /* harmony import */ var _modules_history_history_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./modules/history/history.js */ 8338);
  12565. /* harmony import */ var _modules_hash_navigation_hash_navigation_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./modules/hash-navigation/hash-navigation.js */ 3726);
  12566. /* harmony import */ var _modules_autoplay_autoplay_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./modules/autoplay/autoplay.js */ 4370);
  12567. /* harmony import */ var _modules_thumbs_thumbs_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./modules/thumbs/thumbs.js */ 2372);
  12568. /* harmony import */ var _modules_free_mode_free_mode_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./modules/free-mode/free-mode.js */ 192);
  12569. /* harmony import */ var _modules_grid_grid_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./modules/grid/grid.js */ 7019);
  12570. /* harmony import */ var _modules_manipulation_manipulation_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./modules/manipulation/manipulation.js */ 6642);
  12571. /* harmony import */ var _modules_effect_fade_effect_fade_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./modules/effect-fade/effect-fade.js */ 9366);
  12572. /* harmony import */ var _modules_effect_cube_effect_cube_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./modules/effect-cube/effect-cube.js */ 4944);
  12573. /* harmony import */ var _modules_effect_flip_effect_flip_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./modules/effect-flip/effect-flip.js */ 3788);
  12574. /* harmony import */ var _modules_effect_coverflow_effect_coverflow_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./modules/effect-coverflow/effect-coverflow.js */ 8003);
  12575. /* harmony import */ var _modules_effect_creative_effect_creative_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./modules/effect-creative/effect-creative.js */ 1609);
  12576. /* harmony import */ var _modules_effect_cards_effect_cards_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./modules/effect-cards/effect-cards.js */ 219);
  12577. /**
  12578. * Swiper 8.4.4
  12579. * Most modern mobile touch slider and framework with hardware accelerated transitions
  12580. * https://swiperjs.com
  12581. *
  12582. * Copyright 2014-2022 Vladimir Kharlampidi
  12583. *
  12584. * Released under the MIT License
  12585. *
  12586. * Released on: October 12, 2022
  12587. */
  12588. /***/ })
  12589. }]);
  12590. //# sourceMappingURL=src_app_home_home_module_ts.js.map