{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./app/javascript/packs/analytics.js","webpack:///./app/javascript/packs/homepage.js","webpack:///./app/javascript/packs/timer.js","webpack:///./app/javascript/packs/timer_spec.js","webpack:///./app/javascript/packs/delivery_date.js","webpack:///./app/javascript/packs/pickup_date.js","webpack:///./app/javascript/packs/checkout.js","webpack:///./app/javascript/packs/google_events.js","webpack:///./app/javascript/packs/ch_flow.js","webpack:///./app/javascript/packs/review_payment.js","webpack:///./app/javascript/packs/application.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","gtag","dataLayer","push","arguments","window","Date","addEventListener","event","ga_enabled","analytics_id","_objectSpread","optimize_id","spree_user_id","data","url","srcElement","location","pathname","title","Spree","Customization","homepage","initContactMapImage","IFRAME_SELECTOR","$","attr","fadeOut","fadeIn","removeAttr","timer","initialized","cutOffTimeObject","interval","test","isTestMode","newDate","SAME_DAY_SELECTOR","NEXT_DAY_SELECTOR","TIMER_HOUR_SELECTOR","TIMER_MIN_SELECTOR","TIMER_SEC_SELECTOR","initTimer","slug","concat","ORDER_NOW_SELECTOR","prop","query","search","fetch","headers","SpreeAPI","prepareHeaders","orderToken","then","response","json","timerObject","map","day","deliveryDateObject","delivery_date_value","pickupDateObject","pickup_date_value","deliveryDate","picker","set","delivery_dates","pickupDate","pickup_dates","tabs","selector","initDeliveryButtons","setDefaultButton","el","length","undefined","val","each","this","hasClass","click","runTimer","cutOffToday","currentDayCutOffTime","nextAvailableDayCutOffTime","findNextAvailableDayCutOffTime","cutOffDiff","getCutOffDiff","showTimerLayout","disableDeliveryButtons","cutOffTime","parseInt","secondsLeft","hide","show","html","time","hoursleft","Math","floor","minutesleft","secondsleft","forEach","days","filter","e","slice","index","btn","formatDay","label","formatLocaleDay","text","today","dayWithTz","that","removeClass","addClass","disablePickerDeliveryDate","dayToDisable","setDate","getDate","valueToDisable","config","disabledDates","disable","offset","getTimezoneOffset","getTime","toISOString","split","toLocaleDateString","weekday","month","runTests","clearInterval","console","log","test1","test2","test3","test4","test5","test6","timeEqualTo","hour","min","sec","layoutToday","isToday","is","logResult","number","testType","result","UTC","initDeliveryDateLabelBtn","element","removeActive","initDeliveryDateCustomDateBtn","initDeliveryDateDatepicker","flatpickr","minDate","disableMobile","className","onChange","dateObj","dateStr","checkout","reloadPage","DELIVERY_DATE_SELECTOR","defaultDate","enable","storeId","href","Google","impression","document","getElementsByClassName","_toConsumableArray","parsed","JSON","parse","getAttribute","list_position","productClick","product","productDetails","getElementById","addToCart","items","purchase","getCookie","transaction_id","cookie","parts","pop","shift","setCookie","expires","date","setTime","toUTCString","setChFlowCookie","urlSearchParams","URLSearchParams","params","fromEntries","entries","ch","review_payment","initCollapseEvent","on","update","callback","error","preventDefault","target","closest","current_order_id","method","current_order_token","body","stringify","order","status","alert","handle500error","updateContact","link","emailField","find","phoneField","email","phone","isValid","validateEmail","children","errors","message","updateMessage","occasion","occasion_text","updateDate","delivery_date","pickup_time","dateOnChange","pickupSelect","available_pickup_time","empty","_","append","require"],"mappings":"aACE,IAAIA,EAAmB,CAAC,EAGxB,SAASC,EAAoBC,GAG5B,GAAGF,EAAiBE,GACnB,OAAOF,EAAiBE,GAAUC,QAGnC,IAAIC,EAASJ,EAAiBE,GAAY,CACzCG,EAAGH,EACHI,GAAG,EACHH,QAAS,CAAC,GAUX,OANAI,EAAQL,GAAUM,KAAKJ,EAAOD,QAASC,EAAQA,EAAOD,QAASF,GAG/DG,EAAOE,GAAI,EAGJF,EAAOD,OACf,CAIAF,EAAoBQ,EAAIF,EAGxBN,EAAoBS,EAAIV,EAGxBC,EAAoBU,EAAI,SAASR,EAASS,EAAMC,GAC3CZ,EAAoBa,EAAEX,EAASS,IAClCG,OAAOC,eAAeb,EAASS,EAAM,CAAEK,YAAY,EAAMC,IAAKL,GAEhE,EAGAZ,EAAoBkB,EAAI,SAAShB,GACX,qBAAXiB,QAA0BA,OAAOC,aAC1CN,OAAOC,eAAeb,EAASiB,OAAOC,YAAa,CAAEC,MAAO,WAE7DP,OAAOC,eAAeb,EAAS,aAAc,CAAEmB,OAAO,GACvD,EAOArB,EAAoBsB,EAAI,SAASD,EAAOE,GAEvC,GADU,EAAPA,IAAUF,EAAQrB,EAAoBqB,IAC/B,EAAPE,EAAU,OAAOF,EACpB,GAAW,EAAPE,GAA8B,kBAAVF,GAAsBA,GAASA,EAAMG,WAAY,OAAOH,EAChF,IAAII,EAAKX,OAAOY,OAAO,MAGvB,GAFA1B,EAAoBkB,EAAEO,GACtBX,OAAOC,eAAeU,EAAI,UAAW,CAAET,YAAY,EAAMK,MAAOA,IACtD,EAAPE,GAA4B,iBAATF,EAAmB,IAAI,IAAIM,KAAON,EAAOrB,EAAoBU,EAAEe,EAAIE,EAAK,SAASA,GAAO,OAAON,EAAMM,EAAM,EAAEC,KAAK,KAAMD,IAC9I,OAAOF,CACR,EAGAzB,EAAoB6B,EAAI,SAAS1B,GAChC,IAAIS,EAAST,GAAUA,EAAOqB,WAC7B,WAAwB,OAAOrB,EAAgB,OAAG,EAClD,WAA8B,OAAOA,CAAQ,EAE9C,OADAH,EAAoBU,EAAEE,EAAQ,IAAKA,GAC5BA,CACR,EAGAZ,EAAoBa,EAAI,SAASiB,EAAQC,GAAY,OAAOjB,OAAOkB,UAAUC,eAAe1B,KAAKuB,EAAQC,EAAW,EAGpH/B,EAAoBkC,EAAI,UAIjBlC,EAAoBA,EAAoBmC,EAAI,G,+hCCjFrD,SAASC,IAAOC,UAAUC,KAAKC,UAAW,C,OAD1CC,OAAOH,UAAYG,OAAOH,WAAa,GAEvCD,EAAK,KAAM,IAAIK,MAGfD,OAAOE,iBAAiB,mBAAmB,SAASC,GAC9CH,OAAOI,aACTR,EAAK,SAAUI,OAAOK,aAAYC,MAAA,GAC7BN,OAAOO,aAAe,CAAE,YAAeP,OAAOO,cAC9CP,OAAOQ,eAAiB,CAAE,QAAWR,OAAOQ,gBAAe,IAC9D,gBAAkB,EAClB,sBAAwB,EACxB,kCAAoC,KAEtCZ,EAAK,SAAUI,OAAOK,aAAc,CAClC,cAAiBF,EAAMM,KAAKC,IAC5B,UAAaP,EAAMQ,WAAWC,SAASC,SACvC,WAAcV,EAAMQ,WAAWG,QAGrC,IAEelB,W,sBCtBfmB,MAAMC,cAAcC,SAAW,CAAC,EAEhCF,MAAMC,cAAcC,SAASC,oBAAsB,WACjD,IACMC,EAAkB,4BAIxBC,EAAED,GAAiBE,KAAK,MAAOD,EAAED,GAAiBE,KAAK,aACvDD,EANyB,8BAMLE,QAHa,KAGqB,WACpDF,EAL4B,mCAKHG,QAC3B,IACAH,EAAED,GAAiBK,WAAW,WAChC,C,gBCbAT,MAAMC,cAAcS,MAAQ,CAC1BC,aAAa,EACbC,iBAAkB,CAAC,EACnBC,SAAU,KACVC,KAAM,CACJC,YAAY,EACZC,QAAS,MAEXC,kBAAmB,8BACnBC,kBAAmB,8BACnBC,oBAAqB,0CACrBC,mBAAoB,yCACpBC,mBAAoB,0CAGtBrB,MAAMC,cAAcS,MAAMY,UAAY,WACpC,IAAMC,EAAI,QAAAC,OAAWvC,OAAOY,SAASC,UAG/B2B,EAAqB,sBAC3BpB,EAAEoB,GAAoBC,KAAK,YAAY,GAEvC,IAAIC,EAAQ1C,OAAOY,SAAS+B,OAI1BD,GAHGA,EAGE,IAAAH,OAAQD,GAFR,IAAAC,OAAQD,GAIfM,MAAM,gBAADL,OAAiBG,GAAS,CAC7BG,QAASC,SAASC,eAAe,CAC/B,sBAAuBD,SAASE,eAEjCC,MAAK,SAAUC,GAChBA,EAASC,OAAOF,MAAK,SAAUtB,GAC7BZ,MAAMC,cAAcS,MAAM2B,YAAczB,EAAiBF,MAAM4B,KAC7D,SAACC,GAAG,OAAKA,GAAO,IAAIrD,KAAKqD,EAAI,IAE/BvC,MAAMC,cAAcS,MAAM8B,mBACxB5B,EAAiB6B,oBAAoBH,KAAI,SAACC,GAAG,OAAKA,GAAO,IAAIrD,KAAKqD,EAAI,IACxEvC,MAAMC,cAAcS,MAAMgC,iBACxB9B,EAAiB+B,kBAAkBL,KAAI,SAACC,GAAG,OAAKA,GAAO,IAAIrD,KAAKqD,EAAI,IACtEvC,MAAMC,cAAc2C,aAAaC,QAC/B7C,MAAMC,cAAc2C,aAAaC,OAAOC,IACtC,SACAlC,EAAiBmC,gBAErB/C,MAAMC,cAAc+C,WAAWH,QAC7B7C,MAAMC,cAAc+C,WAAWH,OAAOC,IACpC,SACAlC,EAAiBqC,cAErBjD,MAAMC,cAAcS,MAAMC,aAAc,EACxCX,MAAMC,cAAcS,MAAMwC,KAAO,CAC/B,CACEC,SAAU,uCACV5E,OAAQyB,MAAMC,cAAcS,MAAM8B,oBAEpC,CACEW,SAAU,qCACV5E,OAAQyB,MAAMC,cAAcS,MAAMgC,mBAGtCU,IACA/C,EAAEoB,GAAoBC,KAAK,YAAY,EACzC,GACF,GACF,EAEA1B,MAAMC,cAAcS,MAAM2C,iBAAmB,SAAUC,KAAStE,UAAAuE,OAAA,QAAAC,IAAAxE,UAAA,IAAAA,UAAA,KAEhDqB,EADiB,2BACSoD,OACtCpD,EAAEiD,GAAII,MAAK,WACT,IAAKrD,EAAEsD,MAAMC,SAAS,YAEpB,OADAvD,EAAEsD,MAAME,SACD,CAEX,GAEJ,EAEA7D,MAAMC,cAAcS,MAAMoD,SAAW,WACnC,GAAK9D,MAAMC,cAAcS,MAAMC,YAA/B,CACA,IAGIoD,EAHEC,EAAuBhE,MAAMC,cAAcS,MAAM2B,YAAY,GAC7D4B,EAA6BC,IAC/BC,EAAaC,EAAcJ,GAG3BG,EAAa,GACfA,EAAaC,EAAcH,GAC3BF,GAAc,GAEdA,GAAc,EAGhBM,EAAgBN,EAAaI,GAC7BG,EAAuBP,EAd2B,CAepD,EAEA,IAAMK,EAAgB,SAAUG,GAC9B,OAAKA,EACQC,UAAUD,EAAavD,KAAa,MADxB,CAG3B,EAEMkD,EAAiC,WACrC,IAAK,IAAIrH,EAAI,EAAGA,EAAImD,MAAMC,cAAcS,MAAM2B,YAAYkB,OAAQ1G,IAChE,GAAImD,MAAMC,cAAcS,MAAM2B,YAAYxF,GACxC,OAAOmD,MAAMC,cAAcS,MAAM2B,YAAYxF,GAGjD,OAAO,IACT,EAEMwH,EAAkB,SAAUN,EAAaU,GAQ7C,GAPIV,GACF1D,EAAEL,MAAMC,cAAcS,MAAMQ,mBAAmBwD,OAC/CrE,EAAEL,MAAMC,cAAcS,MAAMO,mBAAmB0D,SAE/CtE,EAAEL,MAAMC,cAAcS,MAAMO,mBAAmByD,OAC/CrE,EAAEL,MAAMC,cAAcS,MAAMQ,mBAAmByD,QAE7CF,EAAc,EAIhB,OAHApE,EAAEL,MAAMC,cAAcS,MAAMS,qBAAqByD,KAAK,MACtDvE,EAAEL,MAAMC,cAAcS,MAAMU,oBAAoBwD,KAAK,WACrDvE,EAAEL,MAAMC,cAAcS,MAAMW,oBAAoBuD,KAAK,MAIvD,IAAIC,EAAOJ,EACPK,EAAYC,KAAKC,MAAMH,EAAO,MAClCA,GAA0B,KAAZC,EACd,IAAIG,EAAcF,KAAKC,MAAMH,EAAO,IAChCK,EAAcL,EAAqB,GAAdI,EAErBH,EAAY,KAAIA,EAAY,IAAMA,GAClCG,EAAc,KAAIA,EAAc,IAAMA,GACtCC,EAAc,KAAIA,EAAc,IAAMA,GAE1C7E,EAAEL,MAAMC,cAAcS,MAAMS,qBAAqByD,KAAKE,GACtDzE,EAAEL,MAAMC,cAAcS,MAAMU,oBAAoBwD,KAAKK,GACrD5E,EAAEL,MAAMC,cAAcS,MAAMW,oBAAoBuD,KAAKM,EACvD,EAEMlE,EAAU,WACd,OAAIhB,MAAMC,cAAcS,MAAMI,KAAKC,WAC1Bf,MAAMC,cAAcS,MAAMI,KAAKE,QAE/B,IAAI9B,IAEf,EAEMkE,EAAsB,WAC1BpD,MAAMC,cAAcS,MAAMwC,KAAKiC,SAAQ,SAAU7B,GAC/C,GAAKjD,EAAEiD,EAAGH,UAAV,CACA,IAAMiC,EAAO9B,EAAG/E,OAAO8G,QAAO,SAACC,GAAC,OAAKA,CAAC,IAAEC,MAAM,EAAG,GACjDlF,EAAEiD,EAAGH,UAAUO,MAAK,SAAU8B,EAAOC,GACnCpF,EAAEoF,GAAK/F,KAAK,QAASgG,EAAUN,EAAKI,KACpC,IAAMG,EAAQC,EAAgBR,EAAKI,IACnCnF,EAAEoF,GAAKI,KAAKF,EACd,GAN2B,CAO7B,GACF,EACMrB,EAAyB,SAAUP,GACvC,IAAM+B,EAAQC,EAAU,IAAI7G,MAC5Bc,MAAMC,cAAcS,MAAMwC,KAAKiC,SAAQ,SAAU7B,GAC1CjD,EAAEiD,EAAGH,WACV9C,EAAEiD,EAAGH,UAAUO,MAAK,WAClB,IAAMsC,EAAOrC,KACP7F,EAAQuC,EAAE2F,GAAMtG,OAAO5B,MACzBA,IAAU4H,EAAUI,IAAW/B,EAKjC1D,EAAE2F,GAAMC,YAAY,oCAJpB5F,EAAE2F,GAAME,SAAS,mCAEjBC,EAA0BrI,GAI9B,GACF,IACAkC,MAAMC,cAAcS,MAAM2B,YAAY8C,SAAQ,SAAC5C,EAAKiD,GAClD,GAAIA,EAAQ,IAELjD,EAAK,CACR,IAAI6D,EAAe,IAAIlH,KAAK4G,GAC5BM,EAAaC,QAAQD,EAAaE,UAAYd,GAC9CW,EAA0BC,EAC5B,CAEJ,IACApG,MAAMC,cAAcS,MAAM2C,iBACxB,uCAEJ,EACM8C,EAA4B,SAAUI,GAC1C,GACGvG,MAAMC,cAAc2C,aAAaC,QACjC7C,MAAMC,cAAc2C,aAAaC,OAAO2D,OAF3C,CAKA,IAAMC,EAAgBzG,MAAMC,cAAc2C,aAAaC,OAAO2D,OAAOE,QACrED,EAAc1H,KAAKwH,GACnBvG,MAAMC,cAAc2C,aAAaC,OAAOC,IAAI,UAAW2D,EAH/C,CAIV,EACMV,EAAY,SAAUxD,GAC1B,IAAMoE,EAASpE,EAAIqE,oBACnB,OAAO,IAAI1H,KAAKqD,EAAIsE,UAAqB,GAATF,EAAc,IAChD,EACMjB,EAAY,SAAUnD,GAC1B,OAAOA,EAAIuE,cAAcC,MAAM,KAAK,EACtC,EACMnB,EAAkB,SAAUrD,GAChC,OAAOA,EAAIyE,mBAAmB,QAAS,CACrCC,QAAS,OACTC,MAAO,QACP3E,IAAK,WAET,C,gBCvNAvC,MAAMC,cAAcS,MAAMyG,SAAW,WACnCnH,MAAMC,cAAcS,MAAMI,KAAKC,YAAa,EAC5CqG,cAAcpH,MAAMC,cAAcS,MAAMG,UACxCwG,QAAQC,IAAI,+BAAgC,iBAC5CD,QAAQC,IAAI,oBAEZC,IACAC,IACAC,IACAC,IACAC,IACAC,IAEAP,QAAQC,IAAI,qBACd,EAEA,IAAIO,EAAc,SAASC,EAAMC,EAAKC,GAKpC,OAJa3H,EAAEL,MAAMC,cAAcS,MAAMS,qBAAqB0E,SAAWiC,GACvEzH,EAAEL,MAAMC,cAAcS,MAAMU,oBAAoByE,SAAWkC,GAC3D1H,EAAEL,MAAMC,cAAcS,MAAMW,oBAAoBwE,SAAWmC,CAG/D,EAEIC,EAAc,SAASC,GACzB,OAAIA,EACK7H,EAAEL,MAAMC,cAAcS,MAAMO,mBAAmBkH,GAAG,YAElD9H,EAAEL,MAAMC,cAAcS,MAAMQ,mBAAmBiH,GAAG,WAE7D,EACIC,EAAY,SAASC,EAAQC,EAAUC,GACrCA,EACFlB,QAAQC,IAAI,MAAD9F,OAAO6G,EAAM,UAAA7G,OAAS8G,EAAQ,aAAa,gBAEtDjB,QAAQC,IAAI,MAAD9F,OAAO6G,EAAM,UAAA7G,OAAS8G,EAAQ,iBAAiB,aAE9D,EAEIf,EAAQ,WAWVvH,MAAMC,cAAcS,MAAMY,UAVH,CACrB,gCACA,KACA,KACA,KACA,KACA,KACA,KACA,OAGFtB,MAAMC,cAAcS,MAAMI,KAAKE,QAAU,IAAI9B,KAAKA,KAAKsJ,IAAI,OAAQ,KAAM,KAAM,KAAM,KAAM,OAC3FxI,MAAMC,cAAcS,MAAMoD,WAC1BuD,QAAQC,IAAI,+CACZc,EAAU,EAAG,OAAQP,EAAY,KAAM,KAAM,OAC7CO,EAAU,EAAG,SAAUH,GAAY,GACrC,EACIT,EAAQ,WAWVxH,MAAMC,cAAcS,MAAMY,UAVH,CACrB,gCACA,gCACA,KACA,KACA,KACA,KACA,KACA,OAGFtB,MAAMC,cAAcS,MAAMI,KAAKE,QAAU,IAAI9B,KAAKA,KAAKsJ,IAAI,OAAQ,KAAM,KAAM,KAAM,KAAM,OAC3FxI,MAAMC,cAAcS,MAAMoD,WAC1BuD,QAAQC,IAAI,yBACZc,EAAU,EAAG,OAAQP,EAAY,KAAM,KAAM,OAC7CO,EAAU,EAAG,SAAUH,GAAY,GACrC,EACIR,EAAQ,WAWVzH,MAAMC,cAAcS,MAAMY,UAVH,CACrB,gCACA,KACA,gCACA,KACA,KACA,KACA,KACA,OAGFtB,MAAMC,cAAcS,MAAMI,KAAKE,QAAU,IAAI9B,KAAKA,KAAKsJ,IAAI,OAAQ,KAAM,KAAM,KAAM,KAAM,OAC3FxI,MAAMC,cAAcS,MAAMoD,WAC1BuD,QAAQC,IAAI,gDACZc,EAAU,EAAG,OAAQP,EAAY,KAAM,KAAM,OAC7CO,EAAU,EAAG,SAAUH,GAAY,GACrC,EACIP,EAAQ,WAWV1H,MAAMC,cAAcS,MAAMY,UAVH,CACrB,gCACA,KACA,KACA,gCACA,KACA,KACA,KACA,OAGFtB,MAAMC,cAAcS,MAAMI,KAAKE,QAAU,IAAI9B,KAAKA,KAAKsJ,IAAI,OAAQ,KAAM,KAAM,KAAM,KAAM,OAC3FxI,MAAMC,cAAcS,MAAMoD,WAC1BuD,QAAQC,IAAI,iCACZc,EAAU,EAAG,OAAQP,EAAY,KAAM,KAAM,OAC7CO,EAAU,EAAG,SAAUH,GAAY,GACrC,EACIN,EAAQ,WAWV3H,MAAMC,cAAcS,MAAMY,UAVH,CACrB,gCACA,KACA,KACA,KACA,KACA,KACA,KACA,kCAGFtB,MAAMC,cAAcS,MAAMI,KAAKE,QAAU,IAAI9B,KAAKA,KAAKsJ,IAAI,OAAQ,KAAM,KAAM,KAAM,KAAM,OAC3FxI,MAAMC,cAAcS,MAAMoD,WAC1BuD,QAAQC,IAAI,6BACZc,EAAU,EAAG,OAAQP,EAAY,MAAO,KAAM,OAC9CO,EAAU,EAAG,SAAUH,GAAY,GACrC,EACIL,EAAQ,WAWV5H,MAAMC,cAAcS,MAAMY,UAVH,CACrB,KACA,gCACA,KACA,KACA,KACA,KACA,KACA,OAGFtB,MAAMC,cAAcS,MAAMI,KAAKE,QAAU,IAAI9B,KAAKA,KAAKsJ,IAAI,OAAQ,KAAM,KAAM,KAAM,KAAM,OAC3FxI,MAAMC,cAAcS,MAAMoD,WAC1BuD,QAAQC,IAAI,wBACZc,EAAU,EAAG,OAAQP,EAAY,KAAM,KAAM,OAC7CO,EAAU,EAAG,SAAUH,GAAY,GACrC,C,gBClJAjI,MAAMC,cAAc2C,aAAe,CAAC,EAEpC5C,MAAMC,cAAc2C,aAAa6F,yBAA2B,SAASC,GAC/DrI,EAAEqI,GAAS9E,SAAS,4BAExB+E,IACAtI,EAAEqI,GAASxC,SAAS,UACtB,EAEAlG,MAAMC,cAAc2C,aAAagG,8BAAgC,SAASF,GACxE,IAAIrI,EAAEqI,GAAS9E,SAAS,0BAAxB,CAEA,IAAI9F,EAAQuC,EAAEqI,GAAShJ,OAAO5B,MAG9BuC,EAF+B,2BAELoD,IAAI3F,EAL2B,CAM3D,EAEAkC,MAAMC,cAAc2C,aAAaiG,2BAA6B,WAG5D7I,MAAMC,cAAc2C,aAAaC,OAASiG,UAFJ,sCAE6C,CACjFC,QAAS,QACTC,cAAe,OACfC,UAAW,yBACXC,SAAU,SAACC,EAASC,GAKlB/I,EAJ+B,2BAILoD,IAAI2F,GAC9BT,IACA,IAAIhD,EAAQwD,EAAQ,GAAGnC,mBAAmB,QAAS,CAAEC,QAAS,OAAQC,MAAO,QAAS3E,IAAK,YAC3FlC,EAN0C,iDAMLwF,KAAKF,GAC1CtF,EAN8C,4CAML6F,SAAS,SACpD,GAEJ,EAEA,IAAIyC,EAAe,WAGjBtI,EAFmC,mCAELqD,MAAK,WACjCrD,EAAEsD,MAAMsC,YAAY,SACtB,GACF,C,gBC5CAjG,MAAMC,cAAc+C,WAAa,CAAC,EAElChD,MAAMC,cAAc+C,WAAWyF,yBAA2B,SAASC,GAC7DrI,EAAEqI,GAAS9E,SAAS,4BAExB+E,IACAtI,EAAEqI,GAASxC,SAAS,UACtB,EAEAlG,MAAMC,cAAc+C,WAAW4F,8BAAgC,SAASF,GACtE,IAAIrI,EAAEqI,GAAS9E,SAAS,0BAAxB,CAEA,IAAI9F,EAAQuC,EAAEqI,GAAShJ,OAAO5B,MAG9BuC,EAF+B,2BAELoD,IAAI3F,EAL2B,CAM3D,EAEAkC,MAAMC,cAAc+C,WAAW6F,2BAA6B,WAG1D7I,MAAMC,cAAc+C,WAAWH,OAASiG,UAFF,oCAE2C,CAC/EC,QAAS,QACTC,cAAe,OACfC,UAAW,yBACXC,SAAU,SAACC,EAASC,GAKlB/I,EAJ+B,2BAILoD,IAAI2F,GAC9BT,IACA,IAAIhD,EAAQwD,EAAQ,GAAGnC,mBAAmB,QAAS,CAAEC,QAAS,OAAQC,MAAO,QAAS3E,IAAK,YAC3FlC,EAN0C,+CAMLwF,KAAKF,GAC1CtF,EAN8C,0CAML6F,SAAS,SACpD,GAEJ,EAEA,IAAIyC,EAAe,WAGjBtI,EAFmC,iCAELqD,MAAK,WACjCrD,EAAEsD,MAAMsC,YAAY,SACtB,GACF,C,gBC9CAjG,MAAMC,cAAcoJ,SAAW,CAAC,EAEhCrJ,MAAMC,cAAcoJ,SAASR,2BAA6B,WAEvD,IADDS,IAAUtK,UAAAuE,OAAA,QAAAC,IAAAxE,UAAA,KAAAA,UAAA,GAGJuK,EAAyB,0BAM/BvJ,MAAMC,cAAcoJ,SAASxG,OAASiG,UAPA,sCASpC,CACEC,QAAS,QACTC,cAAe,OACfQ,YAAanJ,EAAEkJ,GAAwB9F,MACvCgG,OAAQpJ,EAVV,4CAU0CX,OAAOqD,eAC/CmG,SAAU,SAACC,EAASC,GAClB/I,EAAEkJ,GAAwB9F,IAAI2F,GAC9B,IAAIzD,EAAQwD,EAAQ,GAAGnC,mBAAmB,QAAS,CACjDC,QAAS,OACTC,MAAO,QACP3E,IAAK,YAIP,GAFAlC,EAhBJ,iDAgByCwF,KAAKF,GAEtC2D,EAAY,CACd,IAAII,EAAUrJ,EAAE,uBAAuBoD,MACvCxE,OAAOY,SAAS8J,KACd1K,OAAOY,SAASC,SAChB,kBACAsJ,EACA,aACAM,CACJ,CACF,GAGN,C,+wBCtCA1J,MAAMC,cAAc2J,OAAS,CAAC,EAG9B5J,MAAMC,cAAc2J,OAAOC,WAAa,WACtC,GAAI5K,OAAOI,YAA8B,qBAATR,WAAwBiL,SAASC,uBAAuB,yBAAyBxG,OAAQ,CACvH8D,QAAQC,IAAI,cACZ,IACI5H,EAAOsK,EADYF,SAASC,uBAAuB,0BACtBzH,KAAI,SAASgB,EAAIkC,GAChD,IAAIyE,EAASC,KAAKC,MAAM7G,EAAG8G,aAAa,qBAExC,OADAH,EAAOI,cAAgB7E,EAAQ,EACxByE,CACT,IACApL,kBAAK,QAAS,iBAAkB,CAC9B,MAASa,GAEb,CACF,EAEAM,MAAMC,cAAc2J,OAAOU,aAAe,SAAUC,GAC9CtL,OAAOI,YAA8B,qBAATR,YAC9BwI,QAAQC,IAAI,gBACZzI,kBAAK,QAAS,iBAAkB,CAC9B,aAAgB,UAChB,MAAS,CAAC0L,KAGhB,EAEAvK,MAAMC,cAAc2J,OAAOY,eAAiB,WAC1C,GAAIvL,OAAOI,YAA8B,qBAATR,WAAwBiL,SAASW,eAAe,sBAAuB,CACrGpD,QAAQC,IAAI,kBACZ,IAAIiD,EAAUL,KAAKC,MAAML,SAASW,eAAe,sBAAsBL,aAAa,qBACpFvL,kBAAK,QAAS,YAAa,CACzB,MAAS,CAAC0L,IAEd,CACF,EAEAvK,MAAMC,cAAc2J,OAAOc,UAAY,SAAUH,GAC3CtL,OAAOI,YAA8B,qBAATR,YAC9BwI,QAAQC,IAAI,aACZzI,kBAAK,QAAS,cAAe,CAC3B,MAAS0L,IAGf,EAEAvK,MAAMC,cAAc2J,OAAOP,SAAW,WACpC,GAAIpK,OAAOI,YAA8B,qBAATR,WAAwBiL,SAASW,eAAe,uBAAwB,CACtGpD,QAAQC,IAAI,YACZ,IAAI5H,EAAOwK,KAAKC,MAAML,SAASW,eAAe,uBAAuBL,aAAa,qBAClF1K,EAAKiL,MAAQjL,EAAKiL,MAAMrI,KAAI,SAASgB,GAAM,OAAO4G,KAAKC,MAAM7G,EAAI,IACjEzE,kBAAK,QAAS,oBAAqBa,EACrC,CACF,EAEAM,MAAMC,cAAc2J,OAAOgB,SAAW,WACpC,GAAI3L,OAAOI,YAA8B,qBAATR,WAAwBiL,SAASW,eAAe,oBAAqB,CACnGpD,QAAQC,IAAI,YACZ,IAAI5H,EAAOwK,KAAKC,MAAML,SAASW,eAAe,oBAAoBL,aAAa,qBAC/E1K,EAAKiL,MAAQjL,EAAKiL,MAAMrI,KAAI,SAASgB,GAAM,OAAO4G,KAAKC,MAAM7G,EAAI,IAC7DtD,MAAMC,cAAc2J,OAAOiB,UAAU,8BAAgCnL,EAAKoL,iBAC5EhB,SAASiB,OAAS,4BAA8BrL,EAAKoL,eAAiB,IACtEjM,kBAAK,QAAS,WAAYa,GAE9B,CACF,EAEAM,MAAMC,cAAc2J,OAAOiB,UAAY,SAASzN,GAC9C,IACM4N,EADK,KAAAxJ,OAAQsI,SAASiB,QACRhE,MAAM,KAADvF,OAAMpE,EAAI,MACnC,GAAqB,IAAjB4N,EAAMzH,OAAc,OAAOyH,EAAMC,MAAMlE,MAAM,KAAKmE,OACxD,EAEIjM,OAAOI,YAA8B,qBAATR,WAC9BI,OAAOE,iBAAiB,mBAAmB,WACzCa,MAAMC,cAAc2J,OAAOC,aAC3B7J,MAAMC,cAAc2J,OAAOY,iBAC3BxK,MAAMC,cAAc2J,OAAOP,WAC3BrJ,MAAMC,cAAc2J,OAAOgB,UAC7B,G,gBClFF5K,MAAMmL,UAAY,SAAU/N,EAAMU,EAAOsH,GACvC,IAAIgG,EAAU,GACd,GAAIhG,EAAM,CACR,IAAIiG,EAAO,IAAInM,KACfmM,EAAKC,QAAQD,EAAKxE,UAAmB,GAAPzB,EAAY,GAAK,GAAK,KACpDgG,EAAU,aAAeC,EAAKE,aAChC,CACAzB,SAASiB,OAAS3N,EAAO,KAAOU,GAAS,IAAMsN,EAAU,UAC3D,EACApL,MAAM6K,UAAY,SAAUzN,GAC1B,IACM4N,EADK,KAAAxJ,OAAQsI,SAASiB,QACRhE,MAAM,KAADvF,OAAMpE,EAAI,MACnC,GAAqB,IAAjB4N,EAAMzH,OAAc,OAAOyH,EAAMC,MAAMlE,MAAM,KAAKmE,OACxD,EAEAlL,MAAMwL,gBAAkB,WACtB,IAAMC,EAAkB,IAAIC,gBAAgBzM,OAAOY,SAAS+B,QACtD+J,EAASpO,OAAOqO,YAAYH,EAAgBI,WAC9CF,EAAOG,IAAMH,EAAOG,GAAGvI,QACzBvD,MAAMmL,UAAU,UAAWQ,EAAOG,GAEtC,C,gBCrBA9L,MAAMC,cAAc8L,eAAiB,CAAC,EAEtC/L,MAAMC,cAAc8L,eAAeC,kBAAoB,WACrD3L,EAAE,oBAAoB4L,GAAG,qBAAqB,WAC5C5L,EAAE,kBAAkBqE,OACpBrE,EAAE,kBAAkBqE,MACtB,IACArE,EAAE,oBAAoB4L,GAAG,sBAAsB,WAC7C5L,EAAE,kBAAkBsE,OACpBtE,EAAE,kBAAkBsE,MACtB,IACAtE,EAAE,oBAAoB4L,GAAG,qBAAqB,WAC5C5L,EAAE,0BAA0BqE,OAC5BrE,EAAE,oBAAoBqE,MACxB,IACArE,EAAE,oBAAoB4L,GAAG,sBAAsB,WAC7C5L,EAAE,0BAA0BsE,OAC5BtE,EAAE,oBAAoBsE,MACxB,IACAtE,EAAE,iBAAiB4L,GAAG,qBAAqB,WACzC5L,EAAE,0BAA0BqE,OAC5BrE,EAAE,wBAAwBqE,MAC5B,IACArE,EAAE,iBAAiB4L,GAAG,sBAAsB,WAC1C5L,EAAE,0BAA0BsE,OAC5BtE,EAAE,wBAAwBsE,MAC5B,GACF,EACA3E,MAAMC,cAAc8L,eAAeG,OAAS,SAASP,EAAQQ,GAA4B,IAAlBC,EAAKpN,UAAAuE,OAAA,QAAAC,IAAAxE,UAAA,GAAAA,UAAA,QAACwE,EAC3EpE,MAAMiN,iBACKhM,EAAEjB,MAAMkN,QAAQC,QAAQ,cAEnC1K,MAAM7B,MAAML,IAAI,kBAAoBK,MAAMwM,iBAAmB,uBAAwB,CACnFC,OAAQ,MACR3K,QAASC,SAASC,eAAe,CAAE,sBAAuBhC,MAAM0M,sBAChEC,KAAMzC,KAAK0C,UAAU,CACnBC,MAAOlB,MAERzJ,MAAK,SAAUC,GAChB,OAAQA,EAAS2K,QACf,KAAK,IACH3K,EAASC,OAAOF,MAAK,SAAUE,GAAQnD,OAAO8N,MAAM3K,EAAKgK,MAAO,IAChE,MACF,KAAK,IACHjK,EAASC,OAAOF,MAAK,SAAUE,GAC7B,GAAIgK,EAAO,OAAOA,EAAMhK,GACxBnD,OAAO8N,MAAM3K,EAAKgK,MAAO,IAC3B,MACF,KAAK,IACHrK,SAASiL,iBACT,MACF,KAAK,IACH7K,EAASC,OAAOF,MAAK,SAAUxC,GAC7ByM,EAASzM,EACX,IAGN,GACF,EAKAM,MAAMC,cAAc8L,eAAekB,cAAgB,SAAS7N,GAC1DA,EAAMiN,iBACN,IAAIa,EAAO7M,EAAEjB,EAAMkN,QAAQC,QAAQ,cAC/BY,EAAaD,EAAKE,KAAK,mBACvBC,EAAaH,EAAKE,KAAK,mBACvBE,EAAQH,EAAW1J,MACnB8J,EAAQF,EAAW5J,MACnB+J,GAAU,GAXhB,SAAuBF,GAErB,MADS,eACCxM,KAAKwM,EACjB,CAsBOG,CAAcH,IACjBH,EAAWZ,QAAQ,0BAA0BrG,SAAS,iBACtDiH,EAAWZ,QAAQ,OAAOmB,SAAS,OAAOzH,YAAY,UACtDuH,GAAU,IAEVL,EAAWZ,QAAQ,OAAOmB,SAAS,OAAOxH,SAAS,UACnDiH,EAAWZ,QAAQ,0BAA0BtG,YAAY,kBAEtDsH,GAKHF,EAAWd,QAAQ,OAAOmB,SAAS,OAAOxH,SAAS,UACnDmH,EAAWd,QAAQ,0BAA0BtG,YAAY,mBALzDoH,EAAWd,QAAQ,0BAA0BrG,SAAS,iBACtDmH,EAAWd,QAAQ,OAAOmB,SAAS,OAAOzH,YAAY,UACtDuH,GAAU,GAKRA,GACFxN,MAAMC,cAAc8L,eAAeG,OAAO,CAAEoB,MAAOA,EAAOC,MAAOA,IA9BpD,SAAS7N,GAClBA,EAAK4N,OAASjN,EAAE,kBAAkBuE,KAAKlF,EAAK4N,OAC5C5N,EAAK6N,OAASlN,EAAE,kBAAkBuE,KAAKlF,EAAK6N,OAChDlN,EAAE,oBAAoB6F,SAAS,SACjC,IACY,SAAS9D,GACfA,EAAKuL,QAAUvL,EAAKuL,OAAOJ,OAC7BF,EAAWd,QAAQ,0BAA0BrG,SAAS,iBACtDmH,EAAWd,QAAQ,OAAOmB,SAAS,OAAOzH,YAAY,WAEtD8G,MAAM5K,SAASyL,QAEnB,GAoBF,EACA5N,MAAMC,cAAc8L,eAAe8B,cAAgB,SAASzO,GAC1DA,EAAMiN,iBACN,IAAIa,EAAO7M,EAAEjB,EAAMkN,QAAQC,QAAQ,cAC/BuB,EAAWZ,EAAKE,KAAK,aAAa3J,MAClCmK,EAAUV,EAAKE,KAAK,YAAY3J,MAUpCzD,MAAMC,cAAc8L,eAAeG,OAAO,CAAE4B,SAAUA,EAAUF,QAASA,IAT1D,SAASlO,GAClBA,EAAKqO,eACP1N,EAAE,0BAA0BuE,KAAK,aAAelF,EAAKqO,eAEnDrO,EAAKkO,SACPvN,EAAE,yBAAyBuE,KAAKlF,EAAKkO,SAEvCvN,EAAE,oBAAoB6F,SAAS,SACjC,GAEF,EACAlG,MAAMC,cAAc8L,eAAeiC,WAAa,SAAS5O,GACvDA,EAAMiN,iBACN,IAAIa,EAAO7M,EAAEjB,EAAMkN,QAAQC,QAAQ,cAC/B0B,EAAgBf,EAAKE,KAAK,2BAA2B3J,MACrDyK,EAAchB,EAAKE,KAAK,mBAAmB3J,MAM/CzD,MAAMC,cAAc8L,eAAeG,OAAO,CAAE+B,cAAeA,EAAeC,YAAaA,IALxE,SAASxO,GAClBA,EAAKuO,eAAiB5N,EAAE,0BAA0BuE,KAAKlF,EAAKuO,eAC5DvO,EAAKwO,aAAe7N,EAAE,wBAAwBuE,KAAKlF,EAAKwO,aAC5D7N,EAAE,iBAAiB6F,SAAS,SAC9B,GAEF,EACAlG,MAAMC,cAAc8L,eAAeoC,aAAe,SAAS/O,GACzDA,EAAMiN,iBACN,IAAIa,EAAO7M,EAAEjB,EAAMkN,QAAQC,QAAQ,cAC/B0B,EAAgBf,EAAKE,KAAK,2BAA2B3J,MACrD2K,EAAelB,EAAKE,KAAK,mBAS7BvL,MAAM7B,MAAML,IAAI,kBAAoBK,MAAMwM,iBAA1B,6CAAiGyB,GAAgB,CAC/HxB,OAAQ,MACR3K,QAASC,SAASC,eAAe,CAAE,sBAAuBhC,MAAM0M,wBAC/DxK,MAAK,SAAUC,GAChB,OAAQA,EAAS2K,QACf,KAAK,IAGL,KAAK,IACH3K,EAASC,OAAOF,MAAK,SAAUE,GAAQnD,OAAO8N,MAAM3K,EAAKgK,MAAO,IAChE,MACF,KAAK,IACHrK,SAASiL,iBACT,MACF,KAAK,IACH7K,EAASC,OAAOF,MAAK,SAAUxC,IAvBtB,SAASA,GAClBA,EAAK2O,wBACPD,EAAaE,QACbjO,EAAEqD,KAAKhE,EAAK2O,uBAAuB,SAASE,EAAGzQ,GAC7CsQ,EAAaI,OAAOnO,EAAE,qBAAqBC,KAAK,QAASxC,EAAM,IAAI+H,KAAK/H,EAAM,IAChF,IAEJ,CAiBQqO,CAASzM,EACX,IAGN,GACF,C,4BCtKAM,MAAMC,cAAgB,CAAC,EAGvBwO,EAAQ,IACRA,EAAQ,IACRA,EAAQ,IACRA,EAAQ,IACRA,EAAQ,IACRA,EAAQ,IACRA,EAAQ,IACRA,EAAQ,IACRA,EAAQ,G","file":"js/application-066bfe3168123bfc33b4.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/packs/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 29);\n","window.dataLayer = window.dataLayer || [];\nfunction gtag(){dataLayer.push(arguments);}\ngtag('js', new Date());\n\n// Page View\nwindow.addEventListener('turbolinks:load', function(event) {\n if (window.ga_enabled) {\n gtag('config', window.analytics_id, {\n ...window.optimize_id && { 'optimize_id': window.optimize_id },\n ...window.spree_user_id && { 'user_id': window.spree_user_id },\n 'send_page_view': false,\n 'allow_google_signals': true,\n 'allow_ad_personalization_signals': true\n });\n gtag('config', window.analytics_id, {\n 'page_location': event.data.url,\n 'page_path': event.srcElement.location.pathname,\n 'page_title': event.srcElement.title\n });\n }\n})\n\nexport default gtag\n","Spree.Customization.homepage = {}\n\nSpree.Customization.homepage.initContactMapImage = function() {\n const PREVIEW_SELECTOR = '#contact_map_image-preview';\n const IFRAME_SELECTOR = '#contact_map_image-iframe';\n const IFRAME_BLOCK_SELECTOR = '#contact_map_image-iframe-block';\n const PREVIEW_IMAGE_HIDE_DELAY = 500;\n\n $(IFRAME_SELECTOR).attr('src', $(IFRAME_SELECTOR).attr('data-src'));\n $(PREVIEW_SELECTOR).fadeOut(PREVIEW_IMAGE_HIDE_DELAY, function() {\n $(IFRAME_BLOCK_SELECTOR).fadeIn()\n });\n $(IFRAME_SELECTOR).removeAttr('data-src');\n}\n","Spree.Customization.timer = {\n initialized: false,\n cutOffTimeObject: {},\n interval: null,\n test: {\n isTestMode: false,\n newDate: null,\n },\n SAME_DAY_SELECTOR: \"#js-cut-off-times--same-day\",\n NEXT_DAY_SELECTOR: \"#js-cut-off-times--next-day\",\n TIMER_HOUR_SELECTOR: \"#js-cut-off-times--timer-remaining-hour\",\n TIMER_MIN_SELECTOR: \"#js-cut-off-times--timer-remaining-min\",\n TIMER_SEC_SELECTOR: \"#js-cut-off-times--timer-remaining-sec\",\n};\n\nSpree.Customization.timer.initTimer = function () {\n const slug = `slug=${window.location.pathname}`;\n\n // disable order now button until available delivery dates are fetched\n const ORDER_NOW_SELECTOR = \"#add-to-cart-button\";\n $(ORDER_NOW_SELECTOR).prop('disabled', true)\n\n var query = window.location.search;\n if (!query) {\n query += `?${slug}`;\n } else {\n query += `&${slug}`;\n }\n fetch(`/cut_off_time${query}`, {\n headers: SpreeAPI.prepareHeaders({\n \"X-Spree-Order-Token\": SpreeAPI.orderToken,\n }),\n }).then(function (response) {\n response.json().then(function (cutOffTimeObject) {\n Spree.Customization.timer.timerObject = cutOffTimeObject.timer.map(\n (day) => day && new Date(day)\n );\n Spree.Customization.timer.deliveryDateObject =\n cutOffTimeObject.delivery_date_value.map((day) => day && new Date(day));\n Spree.Customization.timer.pickupDateObject =\n cutOffTimeObject.pickup_date_value.map((day) => day && new Date(day));\n Spree.Customization.deliveryDate.picker &&\n Spree.Customization.deliveryDate.picker.set(\n \"enable\",\n cutOffTimeObject.delivery_dates\n );\n Spree.Customization.pickupDate.picker &&\n Spree.Customization.pickupDate.picker.set(\n \"enable\",\n cutOffTimeObject.pickup_dates\n );\n Spree.Customization.timer.initialized = true;\n Spree.Customization.timer.tabs = [\n {\n selector: \".order-delivery-date__label-btn-date\",\n object: Spree.Customization.timer.deliveryDateObject,\n },\n {\n selector: \".order-pickup-date__label-btn-date\",\n object: Spree.Customization.timer.pickupDateObject,\n },\n ];\n initDeliveryButtons();\n $(ORDER_NOW_SELECTOR).prop('disabled', false)\n });\n });\n};\n\nSpree.Customization.timer.setDefaultButton = function (el, force = false) {\n const DELIVERY_DATE_SELECTOR = \"#js-order_delivery_date\";\n if (force || !$(DELIVERY_DATE_SELECTOR).val()) {\n $(el).each(function () {\n if (!$(this).hasClass(\"disabled\")) {\n $(this).click();\n return false;\n }\n });\n }\n};\n\nSpree.Customization.timer.runTimer = function () {\n if (!Spree.Customization.timer.initialized) return;\n const currentDayCutOffTime = Spree.Customization.timer.timerObject[0];\n const nextAvailableDayCutOffTime = findNextAvailableDayCutOffTime();\n var cutOffDiff = getCutOffDiff(currentDayCutOffTime);\n var cutOffToday;\n\n if (cutOffDiff < 0) {\n cutOffDiff = getCutOffDiff(nextAvailableDayCutOffTime);\n cutOffToday = false;\n } else {\n cutOffToday = true;\n }\n\n showTimerLayout(cutOffToday, cutOffDiff);\n disableDeliveryButtons(cutOffToday);\n};\n\nconst getCutOffDiff = function (cutOffTime) {\n if (!cutOffTime) return -1;\n const diff = parseInt((cutOffTime - newDate()) / 1000);\n return diff;\n};\n\nconst findNextAvailableDayCutOffTime = function () {\n for (var i = 1; i < Spree.Customization.timer.timerObject.length; i++) {\n if (Spree.Customization.timer.timerObject[i]) {\n return Spree.Customization.timer.timerObject[i];\n }\n }\n return null;\n};\n\nconst showTimerLayout = function (cutOffToday, secondsLeft) {\n if (cutOffToday) {\n $(Spree.Customization.timer.NEXT_DAY_SELECTOR).hide();\n $(Spree.Customization.timer.SAME_DAY_SELECTOR).show();\n } else {\n $(Spree.Customization.timer.SAME_DAY_SELECTOR).hide();\n $(Spree.Customization.timer.NEXT_DAY_SELECTOR).show();\n }\n if (secondsLeft < 0) {\n $(Spree.Customization.timer.TIMER_HOUR_SELECTOR).html(\"00\");\n $(Spree.Customization.timer.TIMER_MIN_SELECTOR).html(\"00\");\n $(Spree.Customization.timer.TIMER_SEC_SELECTOR).html(\"00\");\n return;\n }\n\n var time = secondsLeft;\n var hoursleft = Math.floor(time / 3600);\n time = time - hoursleft * 3600;\n var minutesleft = Math.floor(time / 60);\n var secondsleft = time - minutesleft * 60;\n\n if (hoursleft < 10) hoursleft = \"0\" + hoursleft;\n if (minutesleft < 10) minutesleft = \"0\" + minutesleft;\n if (secondsleft < 10) secondsleft = \"0\" + secondsleft;\n\n $(Spree.Customization.timer.TIMER_HOUR_SELECTOR).html(hoursleft);\n $(Spree.Customization.timer.TIMER_MIN_SELECTOR).html(minutesleft);\n $(Spree.Customization.timer.TIMER_SEC_SELECTOR).html(secondsleft);\n};\n\nconst newDate = function () {\n if (Spree.Customization.timer.test.isTestMode) {\n return Spree.Customization.timer.test.newDate;\n } else {\n return new Date();\n }\n};\n\nconst initDeliveryButtons = function () {\n Spree.Customization.timer.tabs.forEach(function (el) {\n if (!$(el.selector)) return;\n const days = el.object.filter((e) => e).slice(0, 3);\n $(el.selector).each(function (index, btn) {\n $(btn).data(\"value\", formatDay(days[index]));\n const label = formatLocaleDay(days[index]);\n $(btn).text(label);\n });\n });\n};\nconst disableDeliveryButtons = function (cutOffToday) {\n const today = dayWithTz(new Date());\n Spree.Customization.timer.tabs.forEach(function (el) {\n if (!$(el.selector)) return;\n $(el.selector).each(function () {\n const that = this;\n const value = $(that).data().value;\n if (value === formatDay(today) && !cutOffToday) {\n $(that).addClass(\"disabled disabled-button-border\");\n\n disablePickerDeliveryDate(value);\n } else {\n $(that).removeClass(\"disabled disabled-button-border\");\n }\n });\n });\n Spree.Customization.timer.timerObject.forEach((day, index) => {\n if (index > 0) {\n // current day is already handled in disableDeliveryButtons func\n if (!day) {\n var dayToDisable = new Date(today);\n dayToDisable.setDate(dayToDisable.getDate() + index);\n disablePickerDeliveryDate(dayToDisable);\n }\n }\n });\n Spree.Customization.timer.setDefaultButton(\n \".order-delivery-date__label-btn-date\"\n );\n};\nconst disablePickerDeliveryDate = function (valueToDisable) {\n if (\n !Spree.Customization.deliveryDate.picker ||\n !Spree.Customization.deliveryDate.picker.config\n )\n return;\n const disabledDates = Spree.Customization.deliveryDate.picker.config.disable;\n disabledDates.push(valueToDisable);\n Spree.Customization.deliveryDate.picker.set(\"disable\", disabledDates);\n};\nconst dayWithTz = function (day) {\n const offset = day.getTimezoneOffset();\n return new Date(day.getTime() - offset * 60 * 1000);\n};\nconst formatDay = function (day) {\n return day.toISOString().split(\"T\")[0];\n};\nconst formatLocaleDay = function (day) {\n return day.toLocaleDateString(\"en-US\", {\n weekday: \"long\",\n month: \"short\",\n day: \"numeric\",\n });\n};\n","Spree.Customization.timer.runTests = function() {\n Spree.Customization.timer.test.isTestMode = true\n clearInterval(Spree.Customization.timer.interval)\n console.log('%cTimer interval is stopped!', 'color: yellow');\n console.log('Running tests...');\n\n test1()\n test2()\n test3()\n test4()\n test5()\n test6()\n\n console.log('Tests are finished');\n}\n\nvar timeEqualTo = function(hour, min, sec) {\n var result = $(Spree.Customization.timer.TIMER_HOUR_SELECTOR).text() === hour &&\n $(Spree.Customization.timer.TIMER_MIN_SELECTOR).text() === min &&\n $(Spree.Customization.timer.TIMER_SEC_SELECTOR).text() === sec;\n\n return result\n}\n\nvar layoutToday = function(isToday) {\n if (isToday) {\n return $(Spree.Customization.timer.SAME_DAY_SELECTOR).is(':visible')\n } else {\n return $(Spree.Customization.timer.NEXT_DAY_SELECTOR).is(':visible')\n }\n}\nvar logResult = function(number, testType, result) {\n if (result) {\n console.log(`%c#${number} Test ${testType} - passed`, 'color: green');\n } else {\n console.log(`%c#${number} Test ${testType} - not passed`, 'color: red');\n }\n}\n\nvar test1 = function() {\n var cutOffTimeObject = [\n \"2020-10-27T18:00:00.000-04:00\",\n null,\n null,\n null,\n null,\n null,\n null,\n null\n ]\n Spree.Customization.timer.initTimer(cutOffTimeObject);\n Spree.Customization.timer.test.newDate = new Date(Date.UTC('2020', '09', '27', '12', '00', '00'));\n Spree.Customization.timer.runTimer();\n console.log('Same day delivery (before same day cut off)');\n logResult(1, 'time', timeEqualTo('10', '00', '00'))\n logResult(1, 'layout', layoutToday(true))\n}\nvar test2 = function() {\n var cutOffTimeObject = [\n \"2020-10-27T14:00:00.000-04:00\",\n \"2020-10-28T14:00:00.000-04:00\",\n null,\n null,\n null,\n null,\n null,\n null\n ]\n Spree.Customization.timer.initTimer(cutOffTimeObject);\n Spree.Customization.timer.test.newDate = new Date(Date.UTC('2020', '09', '27', '19', '00', '00'));\n Spree.Customization.timer.runTimer();\n console.log('After same day cutoff');\n logResult(2, 'time', timeEqualTo('23', '00', '00'))\n logResult(2, 'layout', layoutToday(false))\n}\nvar test3 = function() {\n var cutOffTimeObject = [\n \"2020-10-27T14:00:00.000-04:00\",\n null,\n \"2020-10-29T14:00:00.000-04:00\",\n null,\n null,\n null,\n null,\n null\n ]\n Spree.Customization.timer.initTimer(cutOffTimeObject);\n Spree.Customization.timer.test.newDate = new Date(Date.UTC('2020', '09', '27', '19', '00', '00'));\n Spree.Customization.timer.runTimer();\n console.log('After same day cutoff and no cutoff tomorrow');\n logResult(3, 'time', timeEqualTo('47', '00', '00'))\n logResult(3, 'layout', layoutToday(false))\n}\nvar test4 = function() {\n var cutOffTimeObject = [\n \"2020-10-27T14:00:00.000-04:00\",\n null,\n null,\n \"2020-10-30T14:00:00.000-04:00\",\n null,\n null,\n null,\n null\n ]\n Spree.Customization.timer.initTimer(cutOffTimeObject);\n Spree.Customization.timer.test.newDate = new Date(Date.UTC('2020', '09', '27', '19', '00', '00'));\n Spree.Customization.timer.runTimer();\n console.log('No cutoff time for a few days');\n logResult(4, 'time', timeEqualTo('71', '00', '00'))\n logResult(4, 'layout', layoutToday(false))\n}\nvar test5 = function() {\n var cutOffTimeObject = [\n \"2020-10-27T14:00:00.000-04:00\",\n null,\n null,\n null,\n null,\n null,\n null,\n \"2020-11-03T14:00:00.000-04:00\"\n ]\n Spree.Customization.timer.initTimer(cutOffTimeObject);\n Spree.Customization.timer.test.newDate = new Date(Date.UTC('2020', '09', '27', '19', '00', '00'));\n Spree.Customization.timer.runTimer();\n console.log('No cutoff time for a week');\n logResult(5, 'time', timeEqualTo('167', '00', '00'))\n logResult(5, 'layout', layoutToday(false))\n}\nvar test6 = function() {\n var cutOffTimeObject = [\n null,\n \"2020-10-28T14:00:00.000-04:00\",\n null,\n null,\n null,\n null,\n null,\n null\n ]\n Spree.Customization.timer.initTimer(cutOffTimeObject);\n Spree.Customization.timer.test.newDate = new Date(Date.UTC('2020', '09', '27', '19', '00', '00'));\n Spree.Customization.timer.runTimer();\n console.log('No cutoff time today');\n logResult(6, 'time', timeEqualTo('23', '00', '00'))\n logResult(6, 'layout', layoutToday(false))\n}\n","Spree.Customization.deliveryDate = {}\n\nSpree.Customization.deliveryDate.initDeliveryDateLabelBtn = function(element) {\n if ($(element).hasClass('disabled-button-border')) return\n\n removeActive()\n $(element).addClass('active')\n}\n\nSpree.Customization.deliveryDate.initDeliveryDateCustomDateBtn = function(element) {\n if ($(element).hasClass('disabled-button-border')) return\n\n var value = $(element).data().value;\n const DELIVERY_DATE_SELECTOR = '#js-order_delivery_date'\n\n $(DELIVERY_DATE_SELECTOR).val(value);\n}\n\nSpree.Customization.deliveryDate.initDeliveryDateDatepicker = function() {\n const DELIVERY_DATE_PICKER_SELECTOR = '.order-delivery-date__datepicker-js'\n\n Spree.Customization.deliveryDate.picker = flatpickr(DELIVERY_DATE_PICKER_SELECTOR, {\n minDate: 'today',\n disableMobile: 'true',\n className: \"flatpickr-day.selected\",\n onChange: (dateObj, dateStr) => {\n const DELIVERY_DATE_SELECTOR = '#js-order_delivery_date'\n const DELIVERY_DATE_LABEL_TEXT_SELECTOR = '#order-delivery-date__label-btn-calendar-text'\n const DELIVERY_DATE_LABEL_CALENDAR_SELECTOR = '#order-delivery-date__label-btn-calendar'\n\n $(DELIVERY_DATE_SELECTOR).val(dateStr);\n removeActive()\n var label = dateObj[0].toLocaleDateString('en-US', { weekday: 'long', month: 'short', day: 'numeric' })\n $(DELIVERY_DATE_LABEL_TEXT_SELECTOR).text(label)\n $(DELIVERY_DATE_LABEL_CALENDAR_SELECTOR).addClass('active')\n }\n })\n}\n\nvar removeActive = function() {\n const DELIVERY_DATE_BTN_SELECTOR = '.order-delivery-date__label-btn'\n\n $(DELIVERY_DATE_BTN_SELECTOR).each(function() {\n $(this).removeClass('active')\n })\n}\n","// TODO: DRY principle, refactor the same code in delivery_Date.js\nSpree.Customization.pickupDate = {}\n\nSpree.Customization.pickupDate.initDeliveryDateLabelBtn = function(element) {\n if ($(element).hasClass('disabled-button-border')) return\n\n removeActive()\n $(element).addClass('active')\n}\n\nSpree.Customization.pickupDate.initDeliveryDateCustomDateBtn = function(element) {\n if ($(element).hasClass('disabled-button-border')) return\n\n var value = $(element).data().value;\n const DELIVERY_DATE_SELECTOR = '#js-order_delivery_date'\n\n $(DELIVERY_DATE_SELECTOR).val(value);\n}\n\nSpree.Customization.pickupDate.initDeliveryDateDatepicker = function() {\n const DELIVERY_DATE_PICKER_SELECTOR = '.order-pickup-date__datepicker-js'\n\n Spree.Customization.pickupDate.picker = flatpickr(DELIVERY_DATE_PICKER_SELECTOR, {\n minDate: 'today',\n disableMobile: 'true',\n className: \"flatpickr-day.selected\",\n onChange: (dateObj, dateStr) => {\n const DELIVERY_DATE_SELECTOR = '#js-order_delivery_date'\n const DELIVERY_DATE_LABEL_TEXT_SELECTOR = '#order-pickup-date__label-btn-calendar-text'\n const DELIVERY_DATE_LABEL_CALENDAR_SELECTOR = '#order-pickup-date__label-btn-calendar'\n\n $(DELIVERY_DATE_SELECTOR).val(dateStr);\n removeActive()\n var label = dateObj[0].toLocaleDateString('en-US', { weekday: 'long', month: 'short', day: 'numeric' })\n $(DELIVERY_DATE_LABEL_TEXT_SELECTOR).text(label)\n $(DELIVERY_DATE_LABEL_CALENDAR_SELECTOR).addClass('active')\n }\n })\n}\n\nvar removeActive = function() {\n const DELIVERY_DATE_BTN_SELECTOR = '.order-pickup-date__label-btn'\n\n $(DELIVERY_DATE_BTN_SELECTOR).each(function() {\n $(this).removeClass('active')\n })\n}\n","Spree.Customization.checkout = {};\n\nSpree.Customization.checkout.initDeliveryDateDatepicker = function (\n reloadPage = true\n) {\n const DELIVERY_DATE_PICKER_SELECTOR = \".order-delivery-date__datepicker-js\";\n const DELIVERY_DATE_SELECTOR = \"#js-order_delivery_date\";\n const DELIVERY_DATE_LABEL_SELECTOR =\n \"#order-delivery-date__label-btn-calendar\";\n const DELIVERY_DATE_LABEL_TEXT_SELECTOR =\n \"#order-delivery-date__label-btn-calendar-text\";\n\n Spree.Customization.checkout.picker = flatpickr(\n DELIVERY_DATE_PICKER_SELECTOR,\n {\n minDate: \"today\",\n disableMobile: \"true\",\n defaultDate: $(DELIVERY_DATE_SELECTOR).val(),\n enable: $(DELIVERY_DATE_LABEL_SELECTOR).data().delivery_dates,\n onChange: (dateObj, dateStr) => {\n $(DELIVERY_DATE_SELECTOR).val(dateStr);\n var label = dateObj[0].toLocaleDateString(\"en-US\", {\n weekday: \"long\",\n month: \"short\",\n day: \"numeric\",\n });\n $(DELIVERY_DATE_LABEL_TEXT_SELECTOR).text(label);\n\n if (reloadPage) {\n var storeId = $(\"#js-store_pickup_id\").val();\n window.location.href =\n window.location.pathname +\n \"?delivery_date=\" +\n dateStr +\n \"&store_id=\" +\n storeId;\n }\n },\n }\n );\n};\n","import gtag from './analytics.js';\n\nSpree.Customization.Google = {}\n// https://developers.google.com/analytics/devguides/collection/gtagjs/enhanced-ecommerce\n\nSpree.Customization.Google.impression = function () {\n if (window.ga_enabled && typeof gtag !== 'undefined' && document.getElementsByClassName('gaDataLayerProduct-js').length) {\n console.log('impression')\n var productsElements = document.getElementsByClassName('gaDataLayerProduct-js')\n var data = [...productsElements].map(function(el, index) {\n var parsed = JSON.parse(el.getAttribute('data-gaDataLayer'))\n parsed.list_position = index + 1;\n return parsed;\n })\n gtag('event', 'view_item_list', {\n 'items': data\n });\n };\n}\n\nSpree.Customization.Google.productClick = function (product) {\n if (window.ga_enabled && typeof gtag !== 'undefined') {\n console.log('productClick')\n gtag('event', 'select_content', {\n 'content_type': 'product',\n 'items': [product]\n });\n }\n}\n\nSpree.Customization.Google.productDetails = function () {\n if (window.ga_enabled && typeof gtag !== 'undefined' && document.getElementById('product-details-js')) {\n console.log('productDetails')\n var product = JSON.parse(document.getElementById('product-details-js').getAttribute('data-gaDataLayer'))\n gtag('event', 'view_item', {\n 'items': [product]\n });\n };\n}\n\nSpree.Customization.Google.addToCart = function (product) {\n if (window.ga_enabled && typeof gtag !== 'undefined') {\n console.log('addToCart')\n gtag('event', 'add_to_cart', {\n 'items': product\n });\n }\n}\n\nSpree.Customization.Google.checkout = function () {\n if (window.ga_enabled && typeof gtag !== 'undefined' && document.getElementById('checkout_content-js')) {\n console.log('checkout')\n var data = JSON.parse(document.getElementById('checkout_content-js').getAttribute('data-gaDataLayer'))\n data.items = data.items.map(function(el) { return JSON.parse(el) })\n gtag('event', 'checkout_progress', data);\n };\n}\n\nSpree.Customization.Google.purchase = function () {\n if (window.ga_enabled && typeof gtag !== 'undefined' && document.getElementById('order_summary-js')) {\n console.log('purchase')\n var data = JSON.parse(document.getElementById('order_summary-js').getAttribute('data-gaDataLayer'))\n data.items = data.items.map(function(el) { return JSON.parse(el) })\n if (Spree.Customization.Google.getCookie('order_id_for_ga_purchase') !== data.transaction_id) {\n document.cookie = \"order_id_for_ga_purchase=\" + data.transaction_id + \";\"\n gtag('event', 'purchase', data);\n }\n };\n}\n\nSpree.Customization.Google.getCookie = function(name) {\n const value = `; ${document.cookie}`;\n const parts = value.split(`; ${name}=`);\n if (parts.length === 2) return parts.pop().split(';').shift();\n}\n\nif (window.ga_enabled && typeof gtag !== 'undefined') {\n window.addEventListener('turbolinks:load', function() {\n Spree.Customization.Google.impression()\n Spree.Customization.Google.productDetails()\n Spree.Customization.Google.checkout()\n Spree.Customization.Google.purchase()\n })\n}\n","Spree.setCookie = function (name, value, days) {\n var expires = \"\";\n if (days) {\n var date = new Date();\n date.setTime(date.getTime() + days * 24 * 60 * 60 * 1000);\n expires = \"; expires=\" + date.toUTCString();\n }\n document.cookie = name + \"=\" + (value || \"\") + expires + \"; path=/\";\n};\nSpree.getCookie = function (name) {\n const value = `; ${document.cookie}`;\n const parts = value.split(`; ${name}=`);\n if (parts.length === 2) return parts.pop().split(\";\").shift();\n};\n\nSpree.setChFlowCookie = function () {\n const urlSearchParams = new URLSearchParams(window.location.search);\n const params = Object.fromEntries(urlSearchParams.entries());\n if (params.ch && params.ch.length) {\n Spree.setCookie(\"ch_flow\", params.ch);\n }\n};\n","Spree.Customization.review_payment = {}\n\nSpree.Customization.review_payment.initCollapseEvent = function() {\n $('#collapseContact').on('shown.bs.collapse', function () {\n $('#preview-email').hide()\n $('#preview-phone').hide()\n })\n $('#collapseContact').on('hidden.bs.collapse', function () {\n $('#preview-email').show()\n $('#preview-phone').show()\n })\n $('#collapseMessage').on('shown.bs.collapse', function () {\n $('#preview-occasion_text').hide()\n $('#preview-message').hide()\n })\n $('#collapseMessage').on('hidden.bs.collapse', function () {\n $('#preview-occasion_text').show()\n $('#preview-message').show()\n })\n $('#collapseDate').on('shown.bs.collapse', function () {\n $('#preview-delivery_date').hide()\n $('#preview-pickup_time').hide()\n })\n $('#collapseDate').on('hidden.bs.collapse', function () {\n $('#preview-delivery_date').show()\n $('#preview-pickup_time').show()\n })\n}\nSpree.Customization.review_payment.update = function(params, callback, error=undefined) {\n event.preventDefault()\n var link = $(event.target).closest('.card-body')\n\n fetch(Spree.url('/api/v1/orders/' + Spree.current_order_id + '/update_review.json'), {\n method: 'PUT',\n headers: SpreeAPI.prepareHeaders({ 'X-Spree-Order-Token': Spree.current_order_token }),\n body: JSON.stringify({\n order: params\n })\n }).then(function (response) {\n switch (response.status) {\n case 404:\n response.json().then(function (json) { window.alert(json.error) })\n break\n case 422:\n response.json().then(function (json) {\n if (error) return error(json);\n window.alert(json.error) })\n break\n case 500:\n SpreeAPI.handle500error()\n break\n case 200:\n response.json().then(function (data) {\n callback(data)\n })\n break\n }\n })\n}\nfunction validateEmail(email) {\n var re = /\\S+@\\S+\\.\\S+/;\n return re.test(email);\n}\nSpree.Customization.review_payment.updateContact = function(event) {\n event.preventDefault()\n var link = $(event.target).closest('.card-body')\n var emailField = link.find('#email-field-js');\n var phoneField = link.find('#phone-field-js');\n var email = emailField.val();\n var phone = phoneField.val();\n var isValid = true;\n var callback = function(data) {\n if (data.email) { $('#preview-email').html(data.email) }\n if (data.phone) { $('#preview-phone').html(data.phone) }\n $('#collapseContact').addClass('hidden')\n }\n var error = function(json) {\n if (json.errors && json.errors.phone) {\n phoneField.closest('.form-group-validation').addClass('was-validated')\n phoneField.closest('div').children('div').removeClass(\"hidden\");\n } else {\n alert(response.message)\n }\n }\n if (!validateEmail(email)) {\n emailField.closest('.form-group-validation').addClass('was-validated')\n emailField.closest('div').children('div').removeClass(\"hidden\");\n isValid = false;\n } else {\n emailField.closest('div').children('div').addClass(\"hidden\");\n emailField.closest('.form-group-validation').removeClass('was-validated')\n }\n if (!phone) {\n phoneField.closest('.form-group-validation').addClass('was-validated')\n phoneField.closest('div').children('div').removeClass(\"hidden\");\n isValid = false;\n } else {\n phoneField.closest('div').children('div').addClass(\"hidden\");\n phoneField.closest('.form-group-validation').removeClass('was-validated')\n }\n if (isValid) {\n Spree.Customization.review_payment.update({ email: email, phone: phone }, callback, error)\n }\n}\nSpree.Customization.review_payment.updateMessage = function(event) {\n event.preventDefault()\n var link = $(event.target).closest('.card-body')\n var occasion = link.find('#occasion').val();\n var message = link.find('#message').val();\n var callback = function(data) {\n if (data.occasion_text) { \n $('#preview-occasion_text').html(\"Occasion: \" + data.occasion_text)\n }\n if (data.message) { \n $('#preview-message-text').html(data.message) \n }\n $('#collapseMessage').addClass('hidden')\n }\n Spree.Customization.review_payment.update({ occasion: occasion, message: message }, callback)\n}\nSpree.Customization.review_payment.updateDate = function(event) {\n event.preventDefault()\n var link = $(event.target).closest('.card-body')\n var delivery_date = link.find('#js-order_delivery_date').val()\n var pickup_time = link.find('#js-pickup_time').val()\n var callback = function(data) {\n if (data.delivery_date) { $('#preview-delivery_date').html(data.delivery_date) }\n if (data.pickup_time) { $('#preview-pickup_time').html(data.pickup_time) }\n $('#collapseDate').addClass('hidden')\n }\n Spree.Customization.review_payment.update({ delivery_date: delivery_date, pickup_time: pickup_time }, callback)\n}\nSpree.Customization.review_payment.dateOnChange = function(event) {\n event.preventDefault()\n var link = $(event.target).closest('.card-body')\n var delivery_date = link.find('#js-order_delivery_date').val()\n var pickupSelect = link.find('#js-pickup_time')\n var callback = function(data) {\n if (data.available_pickup_time) {\n pickupSelect.empty(); // remove old options\n $.each(data.available_pickup_time, function(_, value) {\n pickupSelect.append($('').attr('value', value[0]).text(value[1]));\n });\n }\n }\n fetch(Spree.url('/api/v1/orders/' + Spree.current_order_id + '/available_pickup_time.json' + '?delivery_date=' + delivery_date), {\n method: 'GET',\n headers: SpreeAPI.prepareHeaders({ 'X-Spree-Order-Token': Spree.current_order_token })\n }).then(function (response) {\n switch (response.status) {\n case 404:\n response.json().then(function (json) { window.alert(json.error) })\n break\n case 422:\n response.json().then(function (json) { window.alert(json.error) })\n break\n case 500:\n SpreeAPI.handle500error()\n break\n case 200:\n response.json().then(function (data) {\n callback(data)\n })\n break\n }\n })\n}\n","Spree.Customization = {}\n\n// require('./sentry');\nrequire('./homepage');\nrequire('./timer');\nrequire('./timer_spec');\nrequire('./delivery_date');\nrequire('./pickup_date');\nrequire('./checkout');\nrequire('./google_events');\nrequire('./ch_flow');\nrequire('./review_payment');\n\n// require(\"@rails/ujs\").start()\n// require(\"turbolinks\").start()\n// require(\"@rails/activestorage\").start()\n// require(\"channels\")\n\n// Uncomment to copy all static images under ../images to the output folder and reference\n// them with the image_pack_tag helper in views (e.g <%= image_pack_tag 'rails.png' %>)\n// or the `imagePath` JavaScript helper below.\n//\n// const images = require.context('../images', true)\n// const imagePath = (name) => images(name, true)\n"],"sourceRoot":""}