PageSourceSearch

https://yumzy.in/5488-es2015.cac373f248a487f0eade.js

js yumzy.in collected 2026-09-26 20:45:30 UTC 69,203 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunkyumzy=self.webpackChunkyumzy||[]).push([[5488],{55488:function(e,t,n){n.r(t),n.d(t,{CartMobileModule:function(){return M},playerFactory:function(){return R}});var i=n(97582),a=n(37716),s=n(38583),o=n(67957),r=n(3679),l=n(8032),c=n(88550),d=n(82202),p=n(63333),h=n(21633),m=n(62902),u=n(56371),v=n(73903),y=n(55827),b=n(53787),g=n(57087),f=n(90787),x=n(94490),I=n(76461),w=n(99681),k=n(42549),C=n(61045),O=n(87602),S=n(24565),T=n(93661),D=n(92919),A=n(14104),P=n(37260);let L=class{constructor(e,t,n,i,a,s,o,r,l,c,d,h,u,v,y,b,g){var f;this.router=e,this.cartService=t,this.razorPayService=n,this.route=i,this.cd=a,this.toast=s,this.loaderService=o,this.activateRoute=r,this.analyticsService=l,this.navCtrl=c,this.modalService=d,this.renderer=h,this.cacheService=u,this.firebaseService=v,this.popoverController=y,this.allInOneSDK=b,this.paymentService=g,this.titleTxt="On my plate",this.navUrl="/home",this.yourPlateItemsList=[],this.spInstructions="",this.emptyPlate="",this.btmViewObj={btnTxt:"Pay \u20b90"},this.errorIdsList=[],this.outletId="",this.couponsList=[],this.taxAndChargesAmt=0,this.errorCodesEnum=m.j,this.formattedText="",this.errorCode=0,this.couponDiscount=0,this.paymentList=[],this.isWalletUsed=!1,this.navigateTo="",this.navParams={},this.deliveryType="",this.deliveryAddress={},this.paymentBtn={},this.displayToolTip=!1,this.displayTaxTip=!1,this.statusBarHeight=p.YG.statusBarHeight,this.skeletonLoading=!0,this.errorMessage="",this.selectedDate="",p.YG.bottomNavMobileIndSub$.next(2),p.YG.spInstructionsSub$.subscribe(e=>this.spInstructions=e),this.cartService.init(this.cd,this.preCheckoutPlate.bind(this),this.onSetPlateView.bind(this),this.emptyPlateView.bind(this)),this.activateRoute.queryParams.subscribe(e=>{var t,n;if(console.log("here is data",e),Object.keys(e).length>0){this.params=e;const i=this.backButtonHandleFun(e);this.cacheService.setqueryParams(i),"address"===e.from&&(this.navStateData=null===(n=null===(t=this.router.getCurrentNavigation().extras)||void 0===t?void 0:t.state)||void 0===n?void 0:n.data,this.navStateData&&this.cartService.updateLocation(this.navStateData)),"complete"==e.status?this.preCheckoutPlate(""):this.preCheckoutPlate("MODAL")}else this.preCheckoutPlate("MODAL")});const x=p.YG.yourPlateItems;x&&x.outlets.length>0&&(x.deliveryInfo?this.deliveryType=(null===(f=x.deliveryInfo)||void 0===f?void 0:f.selfPickup)?"self-pickup":"delivery":p.YG.deliveryType?this.deliveryType=p.YG.deliveryType:this.deliveryType="delivery"),this.getYumzyBalance()}backButtonHandleFun(e){let t={};return this.navigateTo=e.redirectUrl,"/explore"===e.redirectUrl&&(t={queryParams:{redirectUrl:"/home"}}),e.hasOwnProperty("promoId")&&e.hasOwnProperty("navigateFrom")&&"/rest-details"===e.navigateFrom?(this.navigateFrom=e.redirectUrl,t={queryParams:{outletId:e.outletId,promoId:e.promoId,redirectUrl:"/home"}}):e.hasOwnProperty("promoId")&&e.hasOwnProperty("navigateFrom")&&"/see-all-dish"===e.navigateFrom?(this.navigateFrom="/see-all-dish",t={queryParams:{outletId:e.outletId,promoId:e.promoId,title:null==e?void 0:e.title,redirectUrl:"/see-all-dish"}}):e.hasOwnProperty("promoId")&&(this.navigateFrom=e.redirectUrl,t={queryParams:{promoId:e.promoId,title:e.title,redirectUrl:"/home"}},e.hasOwnProperty("navigateFrom")&&"/see-all-restaurants"===e.navigateFrom&&(this.navigateFrom="/see-all-restaurants",t.queryParams.outletId=e.outletId,t.queryParams.redirectUrl="/see-all-restaurants")),"APPLY_COUPON"===e.type&&!e.hasOwnProperty("promoId")&&(t={queryParams:{outletId:e.outletId,redirectUrl:"/home"}}),e.hasOwnProperty("navigateFrom")&&!e.hasOwnProperty("promoId")&&(this.navigateFrom=e.navigateFrom,"/order-history"===e.navigateFrom?t={queryParams:{outletId:e.outletId,redirectUrl:"/order-history"}}:"/favorites"===e.navigateFrom?t={queryParams:{outletId:e.outletId,redirectUrl:"/favorites"}}:"/explore"===e.navigateFrom?(this.navigateFrom="/explore",t={queryParams:{outletId:e.outletId,redirectUrl:"/explore"}}):"/rest-details"===e.navigateFrom&&(t={queryParams:{outletId:e.outletId,promoId:e.promoId,redirectUrl:"/home"}})),t}onViewMenu(e){const t={outletId:e,redirectUrl:u.Pf.plate};this.navigateFrom?"/favorites"===this.navigateFrom?t.redirectUrl="/favorites":"/order-history"===this.navigateFrom?t.redirectUrl="/order-history":"/see-all-restaurants"===this.navigateFrom?t.redirectUrl="/see-all-restaurants":"/see-all-dish"===this.navigateFrom?t.navigateFrom="/see-all-dish":"/explore"===this.navigateFrom?t.redirectUrl="/explore":"/rest-details"===this.navigateFrom&&(t.redirectUrl="/home"):this.params&&"/explore"===this.params.redirectUrl?t.navigateFrom="/explore":this.params&&"/rest-details"===this.params.redirectUrl?t.redirectUrl="/home":t.navigateFrom="/cart",this.params&&this.params.hasOwnProperty("promoId")&&(t.promoId=this.params.promoId,t.title=this.params.title),this.router.navigate(["rest-details"],{queryParams:t})}onToggleState(e){this.preCheckoutPlate(e)}onTimeSlotAdded(e){this.preCheckoutPlate(e)}handleChildData(e){this.selectedDate=e}preCheckoutPlate(e){return(0,i.mG)(this,void 0,void 0,function*(){this.cartService.preCheckout().then(t=>(0,i.mG)(this,void 0,void 0,function*(){this.preCheckoutData=t.body.data,console.log(this.preCheckoutData),this.setCartView(this.preCheckoutData,"SUCCESS");const n=this.params;this.skeletonLoading=!1;const i=null==n?void 0:n.type;this.codAmount=this.preCheckoutData.cartDoc.payments.filter(e=>"cod"===e.paidVia.toLowerCase())[0].amount,"APPLY_COUPON"===i&&"MODAL"===e&&(this.preCheckoutData.cartDoc.coupons.length>0&&(this.couponDiscount=this.preCheckoutData.cartDoc.coupons[0],this.analyticsService.cleverTapEvent(h.N.COUPON_APPLIED,(0,b.ZU)(this.billingObj,this.preCheckoutData))),yield this.cartService.openCouponConfirmationModal(this.couponDiscount),console.log("called",this.couponDiscount))}))})}getYumzyBalance(){this.cartService.getYumzyBal().then(e=>{this.balanceObj=e.body.data,console.log(this.balanceObj),this.yumzyBal=this.balanceObj.availableBalance})}setCartView(e,t){return(0,i.mG)(this,void 0,void 0,function*(){const n=e.error;this.formattedText=e.formattedText,this.errorCode=e.code,console.log("errorCode",this.errorCode),this.errorCode===m.j.CART_IS_EMPTY?(console.log(n),yield this.emptyPlateView(!1)):(this.emptyPlate=u.lH.NO,this.billingObj=e.cartDoc.billing,this.couponsList=e.cartDoc.coupons,this.deliveryInfo=e.cartDoc.deliveryInfo,this.walletTexts=e.walletTexts,this.outletsListObj=e.cartDoc.outlets[0],this.outletId=this.outletsListObj.outletId,this.yourPlateItemsList=this.outletsListObj.items,this.paymentObj=e.cartDoc.payments,this.yourPlateItemsList.map(e=>e.available=!0),this.getItemPrice(this.yourPlateItemsList),yield this.checkErrorValidation(e,n,t),this.setPaymentType(this.errorCode,e.cartDoc),p.YG.yourPlateItemsSub$.next(JSON.parse(JSON.stringify(e.cartDoc))),this.taxAndChargesTotal())})}setPaymentType(e,t){t.payments&&(this.paymentList=t.payments,this.usedBalObj=this.paymentList.find(e=>"wallet"===e.paidVia),this.isWalletUsed=this.paymentList.some(e=>"wallet"===e.paidVia),this.usedWalletTotalAmtObj=this.paymentList.find(e=>"paymentGateway"===e.paidVia),p.YG.userInfoData.isTemporary?(this.btmViewObj=u.U2.LOGIN,this.paymentBtn=u.U2.LOGIN):e||(console.warn("paymentObject",this.paymentObj.find(e=>"paymentgateway"===e.paidVia.toLowerCase()).amount),p.YG.currentAddressObj&&p.YG.currentAddressObj.addressId&&p.YG.userInfoData.address.length>0?this.paymentBtn.btnTxt=this.isWalletUsed?"Pay \u20b9"+this.usedWalletTotalAmtObj.amount.toFixed(2):"Pay \u20b9"+this.paymentObj.find(e=>"paymentgateway"===e.paidVia.toLowerCase()).amount.toFixed(2):p.YG.userInfoData.address.length>0?(this.btmViewObj=u.U2.SELECT_ADDRESS,this.paymentBtn=u.U2.SELECT_ADDRESS,console.log("paymentbtn",this.paymentBtn,"btmViewObj",this.btmViewObj)):(this.btmViewObj=u.U2.ADD_ADDRESS,console.log("paymentbtn",this.paymentBtn,"btmViewObj",this.btmViewObj),this.paymentBtn=u.U2.ADD_ADDRESS)))}taxAndChargesTotal(){var e;let t=0,n=0;return console.log("called",this.billingObj),this.billingObj.charges.forEac
1h(e=>{"deliveryCharge"!==e.name&&e.value>0&&(n+=Number(e.value),console.log("total chrges",n))}),t=Number(this.billingObj.taxes[0].value)+n,this.deliveryInfo&&this.deliveryInfo.deliveryCharge>0&&(this.taxAndChargesAmt-=null===(e=this.deliveryInfo)||void 0===e?void 0:e.deliveryCharge),t}emptyPlateView(e){e&&(console.log(this.clearCartCleverTapObj()),this.analyticsService.cleverTapEvent(h.N.CART_CLEARED,this.clearCartCleverTapObj())),this.emptyPlate=u.lH.YES,p.YG.yourPlateItemsSub$.next(JSON.parse(JSON.stringify(null))),p.YG.plateItemCountSub$.next({itemCount:0,itemTotal:0,outletName:"",outletLogo:"",outletId:""}),p.YG.spInstructionsSub$.next("")}getVegNonVegImg(e,t){return(0,y.kH)(e,t)}isCustomizeItem(e){return!!(e.addons.length>0||e.variant)}onInputSpl(){console.log(this.spInstructions),p.YG.spInstructionsSub$.next(this.spInstructions)}checkErrorValidation(e,t,n){var i;let a=e.code;const s={app_name:"yumzy-ios",timestamp:Number(Date.now()),client:"iOS",cartId:p.YG.cartId,errorCode:a,errorMsg:t,outletId:this.outletsListObj.outletId,outletName:this.outletsListObj.outletName,userId:p.YG.userId?p.YG.userId:"",userCity:p.YG.currentAddressObj?p.YG.currentAddressObj.city:"",userLocality:p.YG.currentAddressObj?p.YG.currentAddressObj.locality:"",coordinates:p.YG.currentAddressObj?JSON.stringify(p.YG.currentAddressObj.longLat.coordinates):"",eventId:this.orderId,eventName:"errorInApp"};if(S.Z.errorCheckout(s),this.firebaseService.logCustomEvent("error_checkout",s),!p.YG.isNative){const e=Object.assign(Object.assign({},s),{source:"error_checkout",user_mobile_number:(null===(i=p.YG.userInfoData)||void 0===i?void 0:i.mobile)||""});(0,v.L9)("error_checkout",e)}this.btmViewObj=u.U2[a],this.errorIdsList=e.ids,a===m.j.ITEM_NOT_SERVING?(this.itemNotServing(a,t),"FAILURE"===n&&this.cartService.openCartInvalidModal(t),this.analyticsService.cleverTapEvent(h.N.UNABLE_TO_CHECKOUT,(0,b.If)(this.outletId,t,a))):a===m.j.OUTLET_NOT_SERVING?(this.outletNotServing(a,t),"FAILURE"===n&&this.cartService.openCartInvalidModal(t),this.analyticsService.cleverTapEvent(h.N.UNABLE_TO_CHECKOUT,(0,b.If)(this.outletId,t,a))):a===m.j.OFFER_INVALID?(this.cartService.openCartInvalidModal(t),this.analyticsService.cleverTapEvent(h.N.UNABLE_TO_CHECKOUT,(0,b.If)(this.outletId,t,a)),this.offerIsExpire()):a===m.j.OFFER_MIN_ORDER?this.setDeliveryAddress():a===m.j.DELIVERY_PERSON_UNAVAILABLE||a===m.j.LOCATION_UNSERVICABLE?(this.btmViewObj=u.U2[a],this.paymentBtn=u.U2[a],0===p.YG.userInfoData.address.length&&(this.btmViewObj.btnTxt="ADD ADDRESS"),this.analyticsService.cleverTapEvent(h.N.UNABLE_TO_CHECKOUT,(0,b.If)(this.outletId,t,a))):(this.setDeliveryAddress(),console.log("paymentbtn",this.paymentBtn,"btmViewObj",this.btmViewObj))}itemNotServing(e,t){this.yourPlateItemsList.forEach(e=>{this.errorIdsList.forEach(t=>{e.itemId===t&&(e.available=!1)})});const n=this.yourPlateItemsList.filter(e=>!1===e.available);this.btmViewObj.errorCode=e,this.btmViewObj=u.U2[e],this.btmViewObj.title="Item's not available";const i=n[0].name,a=1===n.length?i+" item is":i+" and "+(n.length-1)+" items are";this.btmViewObj.desc=a+" not available in your cart"}outletNotServing(e,t){this.yourPlateItemsList.map(e=>e.available=!1),this.btmViewObj=u.U2[e],this.btmViewObj.desc=t}setDeliveryAddress(){if(p.YG.userInfoData.address.length>0){const e=p.YG.userInfoData.address,t=p.YG.currentAddressObj;console.log(e),console.log(t);const n=e.find(e=>e.addressTag.toLowerCase()===t.addressTag.toLowerCase()&&e.addressId===t.addressId);console.log("deliveryAdrObj--------\x3e",n),n?(this.paymentBtn=u.U2.DELIVERY_ADDRESS,this.paymentBtn.btnTxt="Pay \u20b9"+this.paymentObj.find(e=>"paymentgateway"===e.paidVia.toLowerCase()).amount.toFixed(2),this.deliveryAddress.title=n.name,this.deliveryAddress.desc=n.fullAddress,console.log(this.paymentBtn)):this.paymentBtn=u.U2.SELECT_ADDRESS}else this.paymentBtn=u.U2.ADD_ADDRESS}offerIsExpire(){this.setDeliveryAddress()}getAddonNameStr(e){return(0,v.mj)(e)}openAddonsVariantModel(e,t){this.cartService.openAddonsVariantModal(e,t)}onItemDecrease(e,t){if(0===e.quantity)return!0;this.loaderService.show(!1),e.promoId=this.params&&this.params.hasOwnProperty("promiId")?this.params.promoId:"",this.cartService.decreaseItemQuantity(e,t,this.outletId)}onItemIncrease(e,t){if(0===e.quantity)return!0;!e.config||!e.config.maxQty||e.quantity<e.config.maxQty?(this.loaderService.show(!1),e.promoId=this.params&&this.params.hasOwnProperty("promiId")?this.params.promoId:"",this.cartService.increaseItemQuantity(e,t,this.outletId)):(this.errorMessage=`Maximum quantity ${e.config.maxQty} reached`,this.toast.presentToast(this.errorMessage,"","error"))}onOpenApplyCoupon(){if(this.couponsList&&!(this.couponsList.length>0)){console.log(p.YG.cartId);const e={routeType:"CART",outletId:this.outletsListObj.outletId,cartId:p.YG.cartId,redirectUrl:u.Pf.plate};this.params&&(this.params.hasOwnProperty("outletId")&&(e.redirOutletId=this.params.outletId),"/explore"===this.params.redirectUrl&&(e.navFromExplore="/explore"),this.params.hasOwnProperty("promoId")&&(e.promoId=this.params.promoId,this.params.hasOwnProperty("title")&&(e.title=this.params.title),"/see-all-restaurants"===this.params.navigateFrom&&(e.outletId=this.params.outletId)),this.navigateFrom&&(e.navigateFrom=this.navigateFrom)),this.router.navigate(["offers"],{queryParams:e,state:{cartValue:this.billingObj}})}}onOpenTaxAndChargesModal(){if(this.billingObj.charges.length>0){console.log("called",this.billingObj);const e=document.querySelector(".tax-info");console.log(e);const t=document.querySelector(".cart-content");this.renderer.listen(t,"click",t=>{e.contains(t.target)?(this.displayTaxTip=!0,setTimeout(()=>{const e=document.querySelector(".custom-tooltip");this.renderer.setStyle(e,"opacity","1")},100)):this.displayTaxTip=!1})}}onSetPlateView(e){var t;return(0,i.mG)(this,void 0,void 0,function*(){this.walletTexts=e.walletTexts;const n=e.error;if(this.errorCode=e.code,this.errorCode===m.j.CART_IS_EMPTY)return void this.setCartView(e,"FAILURE");const i=e.cartDoc.outlets[0];this.billingObj=e.cartDoc.billing,this.couponsList=e.cartDoc.coupons,this.couponsList&&this.couponsList.length>0&&this.couponsList[0].cart&&this.couponsList[0].cart.minAmount>(null===(t=this.billingObj)||void 0===t?void 0:t.subTotal)&&this.onRemoveCoupon(this.couponsList[0].couponCode),this.deliveryInfo=e.cartDoc.deliveryInfo,this.yourPlateItemsList=i.items?i.items:[],this.yourPlateItemsList.map(e=>e.available=!0),this.getItemPrice(this.yourPlateItemsList),yield this.checkErrorValidation(e,n,"SUCCESS"),this.setPaymentType(this.errorCode,e.cartDoc),p.YG.yourPlateItemsSub$.next(JSON.parse(JSON.stringify(e.cartDoc))),console.log("paymentbtn",this.paymentBtn,"btmViewObj",this.btmViewObj),this.taxAndChargesTotal()})}onRemoveCoupon(e){this.cartService.removeCoupon(e),this.analyticsService.cleverTapEvent(h.N.COUPON_REMOVED,(0,b.EK)(this.billingObj,this.preCheckoutData))}onPlaceNewOrder(e){return(0,i.mG)(this,void 0,void 0,function*(){console.log(e),"PLACE_ORDER"===e?"delivery"===this.deliveryType?this.onNewOrderPlace(this.sp
1Instructions):this.onOpenDeliveryTypeCnfModal():"SELECT_ADDRESS"===e?this.cartService.onOpenAddressSelectModal(this.params):"ADD_ADDRESS"===e?this.cartService.onAddNewAddress(this.params):"LOCATION_UNSERVICEABLE"===e?0===p.YG.userInfoData.address.length?this.cartService.onAddNewAddress(this.params):this.cartService.onOpenAddressSelectModal(this.params):"DELIVERY_PERSON_UNAVAILABLE"===e?this.cartService.clearYourPlate():"ITEM_NOT_SERVING"===e?this.navigateToUnavalItem():"OUTLET_NOT_SERVING"===e?this.cartService.clearYourPlate():"LOGIN"===e&&this.router.navigate(["login"],{queryParams:{navigationFrom:"cart",navigateToCart:"Y",redirectUrl:u.Pf.plate}})})}removeUnavailableItem(e,t){this.cartService.removeUnavalItem(e,t)}navigateToUnavalItem(){const e=document.querySelectorAll(".unavalItem")[0].offsetTop;this.content.scrollToPoint(0,e-20,300)}onNewOrderPlace(e){var t,n,a,s,o,r,l,c,d,u;this.loaderService.show();const g=(0,y.ik)(e);console.log("paymentType: ","in-app"),console.log(window.location);let f="";(0,I.n$)("ios"),f=window.location.origin+"/order-confirmation",g.postBackURL=f,g.sdkLink=!0;const x=(null===(n=null===(t=p.YG.currentAddressObj)||void 0===t?void 0:t.longLat)||void 0===n?void 0:n.coordinates)||[],w={app_name:"yumzy-ios",timestamp:Number(Date.now()),client:"iOS",cart_id:String(p.YG.cartId||""),sub_total:Number(this.billingObj.subTotal||0),total:Number(this.billingObj.totalAmount||0),outlet_id:String((null===(a=this.outletsListObj)||void 0===a?void 0:a.outletId)||""),outlet_locality:String((null===(s=this.outletsListObj)||void 0===s?void 0:s.locality)||""),outlet_name:String((null===(o=this.outletsListObj)||void 0===o?void 0:o.outletName)||""),outlet_city:String((null===(l=null===(r=this.outletsListObj)||void 0===r?void 0:r.outletAddress)||void 0===l?void 0:l.city)||""),user_id:String(p.YG.userId||""),user_city:String((null===(c=p.YG.currentAddressObj)||void 0===c?void 0:c.city)||""),user_locality:String((null===(d=p.YG.currentAddressObj)||void 0===d?void 0:d.locality)||""),latitude:x[1]||0,longitude:x[0]||0};if(S.Z.payClick(w),this.firebaseService.logCustomEvent("pay_click",w),!p.YG.isNative){const e=Object.assign(Object.assign({},w),{source:"pay_clicked",user_mobile_number:(null===(u=p.YG.userInfoData)||void 0===u?void 0:u.mobile)||""});(0,v.L9)("view_content",e)}this.cartService.placeOrders(g).then(e=>(0,i.mG)(this,void 0,void 0,function*(){this.loaderService.hide();const t=e.body.data;this.orderNum=t.orderNum,this.orderId=t.orderId;let n={mid:t.mid,orderId:t.orderId,txnToken:t.token,amount:t.totalAmount+"",callbackUrl:t.callbackUrl};try{(0,I.n$)("android")||(0,I.n$)("ios")?this.allInOneSDK.startTransaction(n).then(e=>{console.warn("## resp: "+JSON.stringify(e)),this.paymentCallback()}).catch(e=>{console.warn("## error: "+JSON.stringify(e)),this.paymentCallback()}):this.paymentService.initiatePayment(t.mid,t.orderId,t.token,t.totalAmount+"",t.callbackUrl,()=>{this.paymentCallback()}).then(e=>{}).catch(e=>{console.log(e),this.paymentCallback()})}catch(i){let e={orderId:this.orderId,orderNum:this.orderNum};this.navCtrl.navigateForward(["/order-confirmation"],{queryParams:{type:"pending",navigateFrom:"cart-page"},state:{data:{data:e}}})}this.analyticsService.cleverTapEvent(h.N.PAY_CLICKED,(0,b.Ct)(t,this.outletsListObj))}),e=>(0,i.mG)(this,void 0,void 0,function*(){console.log(e);const t=e.error.data;e.error.code===m.j.ITEM_QTY_MORE_THAN_1&&this.toast.presentToast(t.error,"","error"),this.setCartView(t,"FAILURE"),console.log(t)}))}paymentCallback(){let e={orderId:this.orderId,orderNum:this.orderNum};this.navCtrl.navigateForward(["/order-confirmation"],{queryParams:{type:"pending",navigateFrom:"cart-page"},state:{data:{data:e}}})}onOpenDeliveryTypeCnfModal(){const e=this.modalService.open(C.l,(0,u.iE)("CENTER_CONFIRM_MODAL_CONFIG"));e.componentInstance.modalObj="cartPage",e.result.then(e=>(0,i.mG)(this,void 0,void 0,function*(){"proceed"===e?this.onNewOrderPlace(this.spInstructions):"change"===e&&this.onOpenDeliveryModal()})).catch(e=>{})}onOpenDeliveryModal(){if(!this.showDeliverySelection())return!0;console.log(this.deliveryType);const e=this.modalService.open(w.j,(0,u.iE)("FROM_BOTTOM_MODAL"));e.componentInstance.modalObj=this.deliveryType,e.result.then(e=>(0,i.mG)(this,void 0,void 0,function*(){this.deliveryType=e.name,p.YG.deliveryType=this.deliveryType,this.pickUpType(this.deliveryType)})).catch(e=>{console.log(e)})}razorPaySuccessHandler(){this.cartService.startOrderPolling(this.orderId,this.orderNum,this.outletId,this.paymentObj.find(e=>"paymentGateway"===e.paidVia.toLowerCase()).amount)}onChangeAddress(){return(0,i.mG)(this,void 0,void 0,function*(){this.cartService.onOpenAddressSelectModal(this.params)})}onClearAllItem(){this.cartService.openClearAllItemConfirmationModal(this.clearCartCleverTapObj())}clearCartCleverTapObj(){const e=p.YG.yourPlateItems.outlets[0],t={totalPrice:this.billingObj.totalAmount,cartDiscount:this.billingObj.discount,outletId:e.outletId,outletName:e.outletName,outletLocality:e.locality,cartId:p.YG.cartId,outletCity:e.outletAddress.city,noOfItems:this.preCheckoutData.cartDoc.outlets[0]?this.preCheckoutData.cartDoc.outlets[0].items.length:0,coordinates:e.location.coordinates};return Object.assign(t,(0,b.Pv)())}onBrowseRestaurant(){this.navCtrl.navigateBack(["/home"]),p.YG.bottomNavMobileIndSub$.next(0)}onUseYumzyWallet(e){const t={cartId:p.YG.cartId};!0===e?this.cartService.useYumzyBalance(t).then(e=>{this.isWalletUsed=!0;const t=e.body.data;this.paymentObj=t.cartDoc.payments,this.setPaymentType(this.errorCode,t.cartDoc)}):this.cartService.unUseYumzyBalance(t).then(e=>{this.isWalletUsed=!1;const t=e.body.data;this.paymentObj=t.cartDoc.payments,this.setPaymentType(this.errorCode,t.cartDoc)}
1),this.getSavingAmount()}getItemPrice(e){console.log("your",e)}onScrollToBillSec(){let e=document.getElementById("bill").offsetTop;this.content.scrollToPoint(0,e,300);const t=document.querySelector(".bill-head-text"),n=document.querySelector(".custom-highlight-class");this.renderer.setStyle(n,"display","inline-block"),this.renderer.addClass(n,"custom-highlight"),setTimeout(()=>{this.renderer.setStyle(t,"color","black"),this.renderer.addClass(n,"custom-background")},300),setTimeout(()=>{this.renderer.setStyle(t,"color","black"),this.renderer.addClass(n,"removeAnimation")},800),setTimeout(()=>{this.renderer.setStyle(n,"display","none"),this.renderer.removeClass(n,"removeAnimation"),this.renderer.removeClass(n,"custom-highlight"),this.renderer.removeClass(n,"custom-background"),this.renderer.setStyle(t,"color","var(--primary-grey-2)")},1200)}pickUpType(e){return(0,i.mG)(this,void 0,void 0,function*(){let t;t="delivery"===e?yield this.cartService.noSelfPickupOrder():yield this.cartService.selfPickupOrder(),this.deliveryType=t})}onShowDeliveryBreakUps(){if(this.deliveryInfo&&this.deliveryInfo.deliveryCharge>0){const e=document.querySelector(".delivery-info");console.log(e);const t=document.querySelector(".cart-content");this.renderer.listen(t,"click",t=>{e.contains(t.target)?(this.displayToolTip=!0,setTimeout(()=>{const e=document.querySelector(".custom-tooltip");this.renderer.setStyle(e,"opacity","1")},100)):this.displayToolTip=!1})}}logScrolling(e){const t=document.querySelector(".custom-cart-header"),n=document.querySelector(".custom-text-aera");e.detail.scrollTop>40?(this.renderer.setStyle(t,"boxShadow","0 1px 2px #00000029"),this.renderer.setStyle(n,"opacity","1")):(this.renderer.setStyle(t,"boxShadow","none"),this.renderer.setStyle(n,"opacity","0"))}onNavigateBack(){if(p.YG.navigate=!1,this.cacheService.setqueryParams(""),this.navigateTo){const e=this.backButtonHandleFun(this.params);this.navCtrl.navigateBack([this.navigateTo],e)}else this.navCtrl.navigateBack(["/home"]),p.YG.bottomNavMobileIndSub$.next(0)}showDeliverySelection(){var e,t,n,i,a,s,o,r,l,c,d,p;if(this.deliveryInfo)return this.deliveryInfo.canSelfPickup?!(!(null===(n=null===(t=null===(e=this.deliveryInfo)||void 0===e?void 0:e.config)||void 0===t?void 0:t.types)||void 0===n?void 0:n.onDemand)&&!(null===(s=null===(a=null===(i=this.deliveryInfo)||void 0===i?void 0:i.config)||void 0===a?void 0:a.types)||void 0===s?void 0:s.scheduled)):((null===(l=null===(r=null===(o=this.deliveryInfo)||void 0===o?void 0:o.config)||void 0===r?void 0:r.types)||void 0===l?void 0:l.onDemand)||(null===(p=null===(d=null===(c=this.deliveryInfo)||void 0===c?void 0:c.config)||void 0===d?void 0:d.types)||void 0===p||p.scheduled),!1)}getSavingAmount(){let e=this.billingObj.discount||0;return this.preCheckoutData.cartDoc.payments.forEach(t=>{"wallet"===t.paidVia&&!0===this.isWalletUsed&&t.usageBreakup.rewards&&(e+=t.usageBreakup.rewards)}),e}getDeliveryForDisplay(){var e,t;let n=0;return(null===(e=this.deliveryInfo)||void 0===e?void 0:e.totalDeliveryCharge)>0&&(n=this.deliveryInfo.totalDeliveryCharge),0==(null===(t=this.deliveryInfo)||void 0===t?void 0:t.totalDeliveryCharge)&&this.billingObj.charges.forEach(e=>{"deliveryCharge"===e.name&&e.value>0&&(n=e.value)}),n}showTaxAndChargesTooltip(){return(0,i.mG)(this,void 0,void 0,function*(){let e=this.billingObj.charges.filter(e=>"deliveryCharge"!==e.name&&e.value>0).map(e=>`${e.displayName}: \u20b9${e.value.toFixed(2)}`).join("<br>");return e+=this.billingObj.taxes.filter(e=>e.value>0).map(e=>`<br>Taxes:<br>${e.displayName}: \u20b9${e.value.toFixed(2)}`).join("<br>"),yield(yield this.popoverController.create({component:D.L,cssClass:"tooltip-popover",translucent:!0,showBackdrop:!0,backdropDismiss:!0,mode:"ios",componentProps:{title:"Taxes and Charges",description:e,btnText:"Okay"}})).present()})}showDeliveryBreakupTooltip(){var e,t,n,a,s,o;return(0,i.mG)(this,void 0,void 0,function*(){let i=(null===(e=this.deliveryInfo)||void 0===e?void 0:e.breakup[0])>0?`<br>Base Fee: \u20b9${null===(t=this.deliveryInfo)||void 0===t?void 0:t.originalDelivery.toFixed(2)}`:"";return i+=(null===(n=this.deliveryInfo)||void 0===n?void 0:n.breakup[1])>0?`<br>Additional Distance Fee: \u20b9${null===(a=this.deliveryInfo)||void 0===a?void 0:a.breakup[1].toFixed(2)}`:"",i+=(null===(s=this.deliveryInfo)||void 0===s?void 0:s.deliverySurge)?`<br>Delivery surge: \u20b9${null===(o=this.deliveryInfo)||void 0===o?void 0:o.deliverySurge.amount.toFixed(2)}`:"",yield(yield this.popoverController.create({component:D.L,cssClass:"tooltip-popover",translucent:!0,showBackdrop:!0,backdropDismiss:!0,mode:"ios",componentProps:{title:"Delivery Fee Breakup",description:i,btnText:"Okay"}})).present()})}};L.ctorParameters=()=>[{type:o.F0},{type:d.N},{type:p.xu},{type:o.gz},{type:a.ChangeDetectorRef},{type:p.kl},{type:g.D},{type:o.gz},{type:f.y},{type:x.SH},{type:k.FF},{type:a.Renderer2},{type:O.Q},{type:T.O},{type:x.Dh},{type:A.d},{type:P.t}],L.propDecorators={content:[{type:a.ViewChild,args:[x.W2,{static:!1}]}]},L=(0,i.gn)([(0,a.Component)({template:""})],L);let j=class extends L{constructor(e,t,n,i,a,s,o,r,l,c,d,p,h,m,u,v,y){super(e,t,n,i,a,s,o,r,l,c,d,p,h,m,u,v,y)}ngOnInit(){}};j.ctorParameters=()=>[{type:o.F0},{type:d.N},{type:p.xu},{type:o.gz},{type:a.ChangeDetectorRef},{type:p.kl},{type:g.D},{type:o.gz},{type:f.y},{type:x.SH},{type:k.FF},{type:a.Renderer2},{type:O.Q},{type:T.O},{type:x.Dh},{type:A.d},{type:P.t}],j=(0,i.gn)([(0,a.Component)({selector:"app-cart-mobile",template:'<ion-header class="header ion-no-border custom-cart-header" [ngStyle]="{ \'padding-top\': statusBarHeight + \'px\' }">\n  <div class="row m-0" *ngIf="emptyPlate">\n    <div class="col-12 d-flex align-items-center">\n      <div *ngIf="emptyPlate === \'NO\'" class="p-2 primary-grey-2" (click)="onNavigateBack()">
1\n        <span class="fs-16 icon-arrow-back"></span>\n      </div>\n      <div *ngIf="emptyPlate === \'NO\'">\n        <p class="custom-text-aera sitefontmedium pl-2 py-2 mb-1 text-capitalize limit-characters"\n          [ngStyle]="{ opacity: 0 }">\n          <span class="fs-14 sitefontbold text-capitalize">{{ outletsListObj.outletName }}\n          </span>\n          <span class="d-block fs-12 primary-grey-2 sitefontnormal">\n            {{ yourPlateItemsList.length }}\n            <span *ngIf="yourPlateItemsList.length === 1">item</span>\n            <span *ngIf="yourPlateItemsList.length > 1">items</span>\n          </span>\n        </p>\n      </div>\n      \x3c!-- <p\n        class="\n          custom-text-aera\n          sitefontmedium\n          pl-2\n          py-2\n          mb-1\n          text-capitalize\n          limit-characters\n        "\n        *ngIf="emptyPlate !== \'NO\'"\n      >\n       My Cart\n      </p> --\x3e\n    </div>\n  </div>\n</ion-header>\n<app-cart-skeleton-loading *ngIf="skeletonLoading"></app-cart-skeleton-loading>\n<ion-content [scrollEvents]="true" *ngIf="\n    emptyPlate === \'NO\' && yourPlateItemsList && yourPlateItemsList.length > 0 && !skeletonLoading\n  " (ionScroll)="logScrolling($event)" class="cart-content"\n  [ngClass]="{ \'custom-ion-content\': emptyPlate && emptyPlate !== \'NO\' }">\n  <div class="cart-sec">\n    <div class="resturant-section d-flex align-items-baseline">
1\n      <span class="fs-14 icon-store pr-3"> </span>\n      <div class="resturant-info">\n        <p class="fs-16 text-capitalize sitefontbold black-clr">\n          {{ outletsListObj.outletName }}\n        </p>\n        <p class="fs-14 sitefontnormal primary-grey-2">\n          {{ outletsListObj?.locality }}\n        </p>\n        <button class="pt-2 px-0 fs-12 view-menu-btn sitefontmedium primary-cta"\n          (click)="onViewMenu(outletsListObj.outletId)">\n          View Menu\n          <p class="fs-9 icon-arrow-drop-up"></p>\n        </button>\n      </div>\n    </div>\n    <div class="coupon-card mb-4 pt-2" *ngIf="getSavingAmount() > 0">\n      <img src="assets/icon/cart/coupon-card-jaw.svg" class="w-100" alt="" />\n      <div class="coupon-text position-absolute w-100 text-center">\n        \x3c!-- <img src="assets/icon/cart/icon-gift.svg" alt="" class="pr-4" /> --\x3e\n        <span class="fs-14 sitefontbold text-uppercase">Your Total Saving : \u20b9{{\n          getSavingAmount() | number: "1.2-2"\n          }}</span>\n      </div>\n    </div>\n    <div class="your-plate-list">\n      <div *ngFor="let item of yourPlateItemsList; let i = index" class="pb-4"\n        [ngClass]="{ unavalItem: !item.available }">\n        <div class="menu-item d-flex justify-content-between">\n          <div class="d-flex align-items-start flex-grow-1">\n            <img [src]="getVegNonVegImg(item.isVeg, item.containsEgg)" class="veg-non-veg mr-2" />\n            <div class="menu-item-name">\n              <p class="fs-14 sitefontmedium text-capitalize">\n                {{ item.name }}\n              </p>\n              <span class="amount-discount">\n                <p class="fs-14 sitefontnormal pt-2 strike" *ngIf="item.discountPercent > 0">\n                  \u20b9{{ item?.billing?.originalTotal | number: "1.2-2" }} \n                </p>\n                <p class="fs-16 fw-6 sitefontnormal pt-2">\n                  \u20b9{{ item?.billing?.subTotal | number: "1.2-2" }}\n                </p>\n                <p\n                  *ngIf="item.discountPercent > 0"\n                  class="fs-14 discount-text pt-2">\n                  <span class="down-arrow">\u2193</span>{{ item?.discountPercent }}% \n                </p>\n                \n                \x3c!-- <p\n                  *ngIf="item.billing.couponDiscount > 0"\n                  class="fs-14 sitefontnormal"\n                >\n                  \u20b9{{ item?.billing.totalAmount | number: "1.2-2" }}\n                </p> --\x3e\n              </span>\n              <p\n                  *ngIf="item.discountPercent > 0"\n                  class="fs-12  pt-2">\n                  {{ item?.discountSummary }}\n                </p>\n\n              <div class="customized-item pt-1" *ngIf="isCustomizeItem(item)">\n                <span class="fs-12 sitefontmedium text-uppercase primary-cta"\n                  (click)="openAddonsVariantModel(item, i)">Customised\n                  <p class="fs-10 m-0 p-2 icon-arrow-angle-forward"></p>\n                </span>\n              </div>\n            </div>\n          </div>\n          <div class="unavailable-item-view float-right d-flex flex-column" *ngIf="!item.available">\n            <p class="fs-12 text-center sitefontmedium primary-grey-2">\n              Unavailable\n            </p>\n            <button (click)="removeUnavailableItem(i, outletId)" class="fs-12 sitefontbold primary-cta py-2">\n              REMOVE\n            </button>\n          </div>\n          <div class="item-qty-section" *ngIf="item.available">\n            <div class="with-qty-view sitefontmedium position-relative">\n              <span class="sitefontmedium" (click)="onItemDecrease(item, i)">\n                <span class="icon-minus fs-18"></span>\n              </span>\n              <span class="sitefontmedium fw-5 fs-16 item-qty" id="{{item.itemId }}size">{{ item.quantity }}</span>\n              <span class="sitefontmedium fs-14" (click)="onItemIncrease(item, i)">\n                <span class="icon-plus fs-20"></span>\n              </span>\n              <div class="line-loader" [id]="i + \'loader\'"></div>\n              <div class="loader-element"></div>\n            </div>\n          </div>\n        </div>\n      </div>\n      <div class="special-req py-3">\n        <div class="special-text">\n          <input type="text" placeholder="Add instructions for restaurant" [(ngModel)]="spInstructions"\n            (input)="onInputSpl()" />\n        </div>\n      </div>\n    </div>\n    <div class="custom-border"></div>\n    <div class="offer-sec" style="width: 100% !important;">\n      <div>\n        <p class="fs-14 sitefontbold primary-grey-2">OFFERS</p>\n        <div class="d-flex align-items-center pl-3 py-2 mt-4">
1\n          <span class="icon-tag fs-18 mr-3"></span>\n          <div class="d-flex align-items-center justify-content-between flex-grow-1" (click)="onOpenApplyCoupon()">\n            <span>\n              <p *ngIf="couponsList && !(couponsList.length > 0)" class="fs-14 sitefontmedium primary-clr">\n                Apply Coupon\n              </p>\n              <p *ngIf="couponsList && couponsList.length > 0" class="fs-14 sitefontmedium primary-clr">\n                {{ couponsList[0].couponName }}\n              </p>\n              <p *ngIf="couponsList && couponsList.length > 0" class="fs-12 sitefontnormal robin-blue-clr">\n                Discount \u20b9{{ couponsList[0]?.couponDiscount | number: "1.2-2" }}\n                applied on the bill\n              </p>\n            </span>\n            <p *ngIf="couponsList && !(couponsList.length > 0)" class="icon-arrow-drop-up fs-10"></p>\n            <span *ngIf="couponsList && couponsList.length > 0" class="icon-close fs-10 primary-grey-2"\n              (click)="onRemoveCoupon(couponsList[0].couponCode)"></span>\n          </div>\n        </div>\n      </div>\n    </div>\n    <div class="delivery-sec" [ngClass]="{ \'no-wallet-Bal\': !(yumzyBal > 0) }">\n      <div (click)="onOpenDeliveryModal()">\n        <p class="fs-14 sitefontbold primary-grey-2">DELIVERY TYPE</p>\n        <div class="d-flex align-items-center pl-3 py-2 mt-4">\n          <span *ngIf="deliveryType === \'delivery\'" class="icon-bike fs-18 mr-3"></span>\n          <img *ngIf="deliveryType !== \'delivery\'" src="assets/icon/cart/Icon-shopping-bag.svg" />\n          <div class="d-flex align-items-center justify-content-between flex-grow-1">\n            <span>\n              <p class="fs-14 sitefontmedium primary-clr text-capitalize">\n                {{ deliveryType }}\n              </p>\n\n              <p *ngIf="deliveryType === \'delivery\'" class="fs-12 sitefontnormal robin-blue-clr">\n                Order will be delivered by us.\n              </p>\n              <p *ngIf="deliveryType !== \'delivery\'" class="fs-12 sitefontnormal robin-blue-clr">\n                Pick-up your order from the restaurant.\n              </p>\n            </span>\n            <span *ngIf="showDeliverySelection()" class="icon-arrow-drop-up fs-10"></span>\n          </div>\n        </div>\n        <div class="mt-3 fs-12 deliveryPromo" *ngIf="deliveryInfo?.deliveryPromo">\n          <p [innerHTML]="deliveryInfo?.deliveryPromo"></p>\n        </div>\n      </div>\n    </div>\n    <div class="wallet-sec" *ngIf="yumzyBal > 0">\n      <div>\n        <p class="fs-14 sitefontbold primary-grey-2">WALLET</p>\n        <div class="d-flex align-items-center pl-3 py-2 mt-4">\n          <div class="d-flex input-sec position-relative">\n            <label for="bal" class="check-box m-0">\n              <input id="bal" type="checkbox" #checkbox (change)="onUseYumzyWallet($event.target.checked)"\n                [checked]="walletTexts && !(walletTexts.length > 0) && isWalletUsed" [disabled]="walletTexts && walletTexts.length > 0" />\n              <span class="checkmark"></span>\n            </label>\n          </div>\n          <div class="wallet-bal-text">\n            <span class="fs-14 sitefontmedium primary-clr d-block" [ngStyle]="{\'opacity\':walletTexts && walletTexts.length > 0 ? \'0.5\' : \'1\'}">Available Coins : {{\n              balanceObj.availableBalance\n              }}</span>\n            <p class="fs-12 sitefontmedium primary-cta"\n              *ngIf="walletTexts && !(walletTexts.length > 0)"\n              [ngClass]="{ \'wallet-checkbox-checked\': checkbox.checked && isWalletUsed }">\n              <span *ngIf="balanceObj.availableBalance >= billingObj.totalAmount">\n                You are saving extra \u20b9{{ usedBalObj?.amount }} with Chacha Coins.</span>\n              <span *ngIf="!(balanceObj.availableBalance >= billingObj.totalAmount)">\n                You are saving extra \u20b9{{ usedBalObj?.amount }} with Chacha Coins.</span>\n            </p>\n            <p class="fs-12 wallet-checkbox-checked sitefontmedium primary-cta"\n              *ngIf="walletTexts && walletTexts.length > 0">
1\n              <span>{{walletTexts[0]}}\n              </span>\n            </p>\n          </div>\n        </div>\n      </div>\n    </div>\n    <div class="custom-border"></div>\n    <app-delivery-slot\n      *ngIf="preCheckoutData?.cartDoc?.bulkOrder"\n      [disabled]="preCheckoutData?.cartDoc?.bulkOrder ? preCheckoutData?.cartDoc?.bulkOrder : false"\n      [outletId]="outletsListObj.outletId"\n      [scheduleEnabled]="preCheckoutData?.cartDoc?.deliveryInfo?.schedule !== null ? true : false"\n      [existingDate]="preCheckoutData?.cartDoc?.deliveryInfo?.schedule?.date ? preCheckoutData?.cartDoc?.deliveryInfo?.schedule?.date : \'\'"\n      [existingLabel]="preCheckoutData?.cartDoc?.deliveryInfo?.schedule?.label ? preCheckoutData?.cartDoc?.deliveryInfo?.schedule?.label : \'\'"\n      (onTimeSlotAdded)="onTimeSlotAdded($event)"\n      (dataEmitter)="handleChildData($event)"\n      [existingSelectedSlot]="preCheckoutData?.cartDoc?.deliveryInfo?.schedule !== null ? preCheckoutData?.cartDoc?.deliveryInfo?.schedule : null"\n    >\n    </app-delivery-slot>\n    <div class="bill-sec" id="bill">\n      <div>\n        <p class="position-relative d-inline">\n          <span class="position-absolute custom-highlight custom-highlight-class">\n          </span>\n          <span class="fs-14 sitefontbold bill-head-text pr-2 primary-grey-2">\n            BILL DETAILS\n          </span>\n        </p>\n          <app-toggle-button\n            *ngIf="preCheckoutData?.cartDoc?.partialPay"\n            [disabled]="preCheckoutData?.partialPayError"\n            [tooltipTitle]="preCheckoutData?.partialPayTexts?.tooltip?.title"\n            [tooltipDescription]="preCheckoutData?.partialPayTexts?.tooltip?.description"\n            [tooltipBtnText]="preCheckoutData?.partialPayTexts?.tooltip?.buttonText || \'OKAY\'"\n            [toggleTitle]="preCheckoutData?.partialPayTexts?.applyInfo?.title"\n            [toggleDescription]="preCheckoutData?.partialPayTexts?.applyInfo?.description"\n            cartId = "{{preCheckoutData?.cartDoc?.cartId}}"\n            [isEnabled]="preCheckoutData?.cartDoc?.partialPaySelected"\n            (onToggleState)="onToggleState($event)"\n          >\n          </app-toggle-button>\n        <div class="col-12 billing-details">\n          <p class="fs-14 black-clr sitefontnormal">\n            Item Total\n            <span class="float-right fs-14 sitefontnormal black-clr">\n              \u20b9{{ billingObj?.subTotal | number: "1.2-2" }}</span>\n          </p>\n          <div class="fs-14 sitefontnormal" *ngIf="couponsList && couponsList.length > 0">\n            <p class="bill-coupon-txt primary-cta">\n              PROMO - ({{ couponsList[0]?.couponName }})\n              <span class="float-right sitefontnormal primary-cta">\n                <span class="icon-minus fs-14"></span> \u20b9{{ couponsList[0]?.couponDiscount | number: "1.2-2" }}</span>\n            </p>\n          </div>\n          <p class="fs-14 black-clr sitefontmedium" style="border-top: 1px dashed var(--primary-grey-2);"\n            *ngIf="couponsList && couponsList.length > 0">\n            Sub Total\n            <span class="float-right fs-14 sitefontmedium black-clr">\n              \u20b9{{ billingObj?.subTotal - couponsList[0]?.couponDiscount | number: "1.2-2" }}</span>\n          </p>\n          <p style="height: 15px;" *ngIf="couponsList && couponsList.length > 0"></p>\n\n          <div class="d-flex align-items-center justify-content-between position-relative">\n            <p (click)="onShowDeliveryBreakUps()" class="fs-14 sitefontnormal black-clr delivery-info" [ngClass]="{\n                \'text-underline\':\n                  deliveryInfo && deliveryInfo.totalDeliveryCharge > 0\n              }">\n              Delivery Fee{{deliveryInfo?.distance > 0 ? \' | \'+deliveryInfo?.distance+\' kms\' : \'\'}}\n              <span style="vertical-align: top;"><ion-icon name="information-circle" class="info-icon" (click)="showDeliveryBreakupTooltip()"></ion-icon></span>\n            </p>\n            \x3c!-- <div class="custom-tooltip position-absolute" *ngIf="displayToolTip" data-direction="top">\n              <div class="custom-tooltip__initiator"></div>\n              <div class="custom-tooltip__item">\n                <p class="fs-12 sitefontbold pb-2">\n                  Delivery Fee Breakup\n                </p>\n                <p *ngIf="deliveryInfo && deliveryInfo.breakup[0] > 0" class="fs-10 sitefontnormal black-clr">
1\n                  Base Fee\n                  <span class="fs-10 sitefontnormal float-right black-clr"\n                    *ngIf="deliveryInfo?.originalDelivery < deliveryInfo.breakup[0]">\n                    \u20b9{{ (deliveryInfo.breakup[0] | number: "1.2-2") || 0 | number: "1.2-2" }}\n                  </span>\n                  <span class="fs-10 sitefontnormal float-right black-clr"\n                    *ngIf="deliveryInfo?.originalDelivery > deliveryInfo.breakup[0]">\n                    <span style="text-decoration: line-through;">\n                      \u20b9{{ (deliveryInfo.originalDelivery | number: "1.2-2") || 0 | number: "1.2-2" }}\n                    </span>\n                    \u20b9{{ (deliveryInfo.breakup[0] | number: "1.2-2") || 0 | number: "1.2-2" }}\n                  </span>\n                </p>\n                <p *ngIf="deliveryInfo.breakup[1] > 0" class="fs-10 sitefontnormal black-clr">\n                  Additional Distance Fee\n                  <span class="fs-10 sitefontnormal float-right black-clr">\n                    \u20b9{{ (deliveryInfo.breakup[1] | number: "1.2-2") || 0 | number: "1.2-2" }}\n                  </span>\n                </p>\n                <p *ngIf="deliveryInfo.deliverySurge" class="fs-10 sitefontnormal black-clr">\n                  Delivery surge\n                  <span class="fs-10 sitefontnormal float-right black-clr">\n                    \u20b9{{ deliveryInfo.deliverySurge.amount | number: "1.2-2" }}\n                  </span>\n                </p>\n              </div>\n            </div> --\x3e\n            <span class="fs-14 sitefontnormal black-clr">\n              \u20b9{{ (getDeliveryForDisplay()| number: "1.2-2") || 0 | number: "1.2-2" }}</span>\n          </div>\n          <div class="fs-14 sitefontnormal black-clr"\n            class="d-flex align-items-center justify-content-between position-relative">\n            <p class="fs-14 sitefontnormal black-clr tax-info" (click)="onOpenTaxAndChargesModal()"\n              [ngClass]="{ \'text-underline\': taxAndChargesAmt > 0 }">\n              Tax and Charges <span style="vertical-align: top;"><ion-icon name="information-circle" class="info-icon" (click)="showTaxAndChargesTooltip()"></ion-icon></span>\n            </p>\n            \x3c!-- <div class="custom-tooltip position-absolute" *ngIf="displayTaxTip" data-direction="top">\n              <div class="custom-tooltip__initiator"></div>\n              <div class="custom-tooltip__item tax-tool-tip">\n                <p class="fs-12 sitefontbold pb-2" style="width: 100%">\n                  Tax and Charges\n                </p>\n                <div *ngFor="let taxInfo of billingObj?.charges">\n                  <p class="fs-10 sitefontnormal black-clr" *ngIf="\n                      taxInfo.name !== \'deliveryCharge\' && taxInfo.value > 0\n                    ">\n                    {{ taxInfo.displayName }}\n                    <span class="fs-10 sitefontnormal float-right black-clr">\n                      \u20b9{{ taxInfo.value | number: "1.2-2" }}\n                    </span>\n                  </p>\n                </div>\n                <div *ngFor="let taxCharges of billingObj.taxes">\n                  <p class="fs-10 pt-1 sitefontnormal black-clr" *ngIf="taxCharges.value > 0">\n                    {{ taxCharges.displayName }}\n                    <span class="fs-10 sitefontnormal float-right black-clr">\n                      \u20b9{{ taxCharges.value | number: "1.2-2" }}\n                    </span>\n                  </p>\n                </div>\n              </div>\n            </div> --\x3e\n            <span class="float-right fs-14 sitefontnormal black-clr">\u20b9{{ taxAndChargesTotal() | number: "1.2-2" }}</span>\n          </div>\n          <div *ngIf="preCheckoutData?.cartDoc?.deliveryInfo?.schedule?.label">\n            <p class="sub-text">Your schedule delivery is on {{ selectedDate }} at {{preCheckoutData?.cartDoc?.deliveryInfo?.schedule?.label}}</p>\n          </div>\n\n          <div class="fs-14 sitefontnormal black-clr" *ngIf="usedBalObj && usedBalObj.paidVia === \'wallet\'">\n            <p class="discount-txt primary-cta">\n              Chacha coins ({{usedBalObj.amount}}
1)\n              <span class="float-right sitefontnormal primary-cta d-flex align-items-center">\n                <span class="icon-minus fs-14"></span>\u20b9{{usedBalObj.amount| number: "1.2-2"}}</span>\n            </p>\n          </div>\n          \x3c!-- <div class="to-pay-view">\n            <p class="fs-13 fw-7">\n              To Pay\n              <span class="float-right" *ngIf="!isWalletUsed"\n                >\u20b9 {{ billingObj?.totalAmount | number: "1.2-2" }}</span\n              >\n              <span class="float-right" *ngIf="isWalletUsed"\n                >\u20b9 {{ usedWalletTotalAmtObj?.amount | number: "1.2-2" }}</span\n              >\n            </p>\n          </div> --\x3e\n        </div>\n        <div class="grand-total" *ngIf="preCheckoutData?.cartDoc?.partialPaySelected === true">\n          <p class="fs-14 sitefontbold">\n            COD\n            <span class="fs-14 sitefontbold float-right">\u20b9 {{ codAmount | number: "1.2-2" }}</span>\n          </p>\n        </div>\n        <div class="grand-total">\n          <p class="fs-14 sitefontbold">\n            Grand Total\n            <span *ngIf="!isWalletUsed" class="fs-14 sitefontbold float-right">\n              \u20b9{{ billingObj?.totalAmount | number: "1.2-2" }}</span>\n            <span class="fs-14 sitefontbold float-right" *ngIf="isWalletUsed">\u20b9 {{ usedWalletTotalAmtObj?.amount |\n              number: "1.2-2" }}</span>\n          </p>\n        </div>\n      </div>\n    </div>\n\n    \x3c!-- tooltip block --\x3e\n\n    \x3c!-- tooltip block --\x3e\n\n    \x3c!-- <div class="custom-border"></div> --\x3e\n    \x3c!-- <div class="tAndC">\n      <div>\n        <p class="fs-12 sitefontbold primary-grey-2">Terms & Conditions</p>\n        <div class="py-3 my-1">\n          <p class="fs-12 sitefontnormal black-clr">\n            100% cancellation fee will be applicable if you decide to Cancel the\n            order anytime after order placement\n          </p>\n          <p class="pt-3 fs-12 sitefontnormal primary-grey-2">\n            Avoid cancellation as it leads to food wastage\n          </p>\n        </div>\n      </div>\n    </div> --\x3e\n  </div>\n</ion-content>\n<div class="d-flex align-items-center text-center empty-plate-view" *ngIf="emptyPlate === \'YES\'">\n  <div class="m-auto d-flex flex-column justify-content-center">\n    <img src="assets/icon/cart/empty-plate.svg" />\n    <p class="pt-4 fs-18 fw-8">Your plate awaits good food</p>\n    \x3c!-- <p class="fs-11 fw-4 cool-grey-clr">Add food from the menu?</p> --\x3e\n    <p class="fs-11 fw-4 cool-grey-clr pb-2">\n      Add all your favourite dishes from the menu\n    </p>\n    <button class="btn btn-red-bg-sm mt-2" (click)="onBrowseRestaurant()">\n      Browse Restaurants\n    </button>\n  </div>\n</div>\n\n<ion-footer class="cart-footer-sec" *ngIf="emptyPlate === \'NO\'">\n  \x3c!-- <div class="cart-footer-skeleton-loading" *ngIf="footerSkeletonLoading">\n    <div class="address-sec">\n      <div class="d-flex justify-content-between">\n        <span class="skeleton-loader height-20 width-50 "></span>\n        <span class="skeleton-loader height-10" style="width:30%;"></span>\n      </div>
1\n      <span class="skeleton-loader height-10 mb-0 width-100 "></span>\n    </div>\n    <div class="payment-details">\n      <span class="skeleton-loader width-100 " style="height:40px ;"></span>\n    </div>\n\n  </div> --\x3e\n  <div class="address-sec" *ngIf="\n      errorCode !== 1010 &&\n      errorCode !== 1011 &&\n      errorCode !== 1014 &&\n      errorCode !== 1015 &&\n      paymentBtn.btnTxt !== \'Login\' &&\n      paymentBtn.btnTxt !== \'Select Address\' &&\n      paymentBtn.btnTxt !== \'Add Address\'\n    ">\n    <div>\n      <div class="d-flex align-items-center justify-content-between">\n        <p class="fs-12 sitefontnormal black-clr">\n          Deliver to :\n          <span class="fs-12 sitefontbold primary-clr text-uppercase">\n            {{ deliveryAddress.title }}</span>\n        </p>\n        <p (click)="onChangeAddress()" class="fs-12 sitefontbold new-error-color">\n          CHANGE\n        </p>\n      </div>\n      <p class="fs-12 pt-2 address-desc sitefontlight primary-clr">\n        {{ deliveryAddress.desc }}\n      </p>\n    </div>\n    \x3c!-- <div *ngIf="btmViewObj.errorCode === 1010">\n      <p class="fs-12 sitefontmedium new-error-color">\n        {{ btmViewObj.desc + btmViewObj.title }}\n      </p>\n    </div> --\x3e\n  </div>\n  <div class="payment-details d-flex align-items-flex-start justify-content-between" *ngIf="\n      (paymentBtn &&\n        errorCode !== 1010 &&\n        errorCode !== 1011 &&\n        errorCode !== 1011 &&\n        errorCode !== 1014 &&\n        errorCode !== 1015) ||\n      paymentBtn.btnTxt === \'Select Address\' ||\n      paymentBtn.btnTxt === \'Add Address\'\n    " [ngClass]="{\n      \'payment-sec-box-shadow\':\n        paymentBtn.btnTxt === \'Select Address\' ||\n        paymentBtn.btnTxt === \'Add Address\'\n    }">\n    <div>\n      <p class="fs-12 sitefontnormal black-clr">BILL DETAILS</p>\n      <span class="d-flex align-items-center">\n        <button (click)="onScrollToBillSec()" class="robin-blue-clr p-0 fs-14 sitefontbold mt-3">\n          View Bill\n          <span class="fs-10 icon-arrow-dropdown pl-1"></span>\n        </button>\n      </span>\n    </div>\n    <button (click)="onPlaceNewOrder(paymentBtn.btnAction)" type="button"\n      class="text-uppercase payment-btn sitefontbold fs-16">\n      {{ paymentBtn.btnTxt }}\n    </button>\n  </div>\n  <div *ngIf="\n      (errorCode && errorCode === 1011) ||\n      errorCode === 1010 ||\n      errorCode === 1011 ||\n      errorCode === 1014 ||\n      (errorCode === 1015 &&\n        paymentBtn.btnTxt !== \'Select Address\' &&\n        paymentBtn.btnTxt !== \'Add Address\')\n    ">\n    <div class="restaurant-unavailable">\n      <div class="d-flex align-items-center pb-4">\n        <img [src]="btmViewObj.imgUrl" alt="" width="30px" height="30px" class="mr-3 mt-2" />\n        <div class="mt-3">\n          <p class="fs-14 sitefontlight black-clr">{{ btmViewObj.title }}</p>\n          <p class="fs-11 sitefontlight black-clr">\n            {{ btmViewObj.desc }}\n          </p>\n        </div>\n      </div>\n      <button (click)="onPlaceNewOrder(btmViewObj.btnAction)" class="btn unavailable-btn">\n        {{ btmViewObj?.btnTxt }}\n      </button>\n    </div>\n  </div>\n</ion-footer>',styles:[c]})],j);var E=n(77119);let N=class{constructor(){}ngOnInit(){}};N.ctorParameters=()=>[],N=(0,i.gn)([(0,a.Component)({selector:"app-cart-skeleton-loading",template:'<div class="skeleton mt-5 pt-3">\n  <div class="pl-3 ml-1">\n    <span class="skeleton-loader height-20 width-50 "></span>\n    <span class="skeleton-loader height-10 width-30 "></span>\n    <span class="skeleton-loader height-10 width-25 "></span>\n  </div>\n  <div class="d-flex justify-content-between align-items-start pt-3 px-3 mx-1" *ngFor="let number of [0,1]">\n    <div style="width: 45%;">
1\n      <span class="skeleton-loader height-20"></span>\n      <span class="skeleton-loader height-20 width-50"></span>\n    </div>\n    <div style="width: 25%;">\n      <span class="skeleton-loader height-40"></span>\n    </div>\n  </div>\n  <div class="mx-3 px-1 mt-4 special-inst">\n    <span class="skeleton-loader height-20 width-100"></span>\n  </div>\n  <div class="custom-border mt-3">\n\n  </div>\n  <div class="offer-sec mx-3 px-1 mt-3 ">\n    <span class="skeleton-loader height-20 width-25"></span>\n    <div class="mt-3">\n      <span class="skeleton-loader height-20 width-100 mb-0"></span>\n    </div>\n\n  </div>\n  <div class="delivery-sec mx-3 px-1 mt-4 ">\n    <span class="skeleton-loader height-20 width-25"></span>\n    <div class="mt-3">\n      <span class="skeleton-loader height-20 width-100 mb-0"></span>\n    </div>\n  </div>\n  <div class="mx-3 px-1">\n    <span class="skeleton-loader height-25 width-100"></span>\n  </div>\n  <div class="wallet-sec mx-3 px-1 mt-4 ">\n    <span class="skeleton-loader height-20 width-25"></span>\n    <div class="mt-3">
1\n      <span class="skeleton-loader height-20 width-100 mb-0"></span>\n    </div>\n  </div>\n</div>',styles:[E]})],N);var U=n(67735),_=n(98679),B=n(63052),F=n.n(B),V=n(24143),Y=n(78187);const G=[{path:"",component:j}];function R(){return F()}let M=class{};M=(0,i.gn)([(0,a.NgModule)({declarations:[j,N,U.F,C.l,V.d,D.L,Y.w],imports:[s.ez,o.Bz.forChild(G),r.u5,l.p,x.Pc,_.CT.forRoot({player:R})]})],M)},88550:function(e){e.exports='.header {\n  display: block;\n  position: sticky;\n  top: 0;\n  left: 0;\n  width: 100%;\n  background-color: var(--white);\n  z-index: 1000;\n  height: auto;\n}\n.header > div > div {\n  padding: 8px 12px 0px 12px;\n}\n.header .limit-characters {\n  text-overflow: ellipsis;\n  white-space: nowrap;\n  overflow: hidden;\n  opacity: 1;\n  transition: opacity 0.5s ease-out;\n}\n.header.no-border {\n  border: none !important;\n}\n.cart-content {\n  height: calc(100vh - 90px);\n  --padding-bottom: 200px;\n}\n.cart-content .cart-sec {\n  padding: 0rem 0rem 1.25rem 0rem;\n}\n.cart-content .cart-sec .custom-border {\n  height: 8px;\n  background: var(--layout-bg-color);\n}\n.cart-content .cart-sec .resturant-section {\n  padding: 0px 1.25rem 0.75rem 1.25rem;\n}\n.cart-content .cart-sec .resturant-section .resturant-info button {\n  background: none;\n}\n.cart-content .cart-sec .resturant-section .resturant-info button .icon-arrow-drop-up {\n  display: inline-block;\n  transform: rotate(90deg);\n}\n.cart-content .cart-sec .coupon-card {\n  position: sticky;\n  top: -1px;\n  background: var(--white);\n  z-index: 10;\n}\n.cart-content .cart-sec .coupon-card > img {\n  height: 40px;\n}\n.cart-content .cart-sec .coupon-card .coupon-text {\n  top: calc(50% - 9px);\n}\n.cart-content .cart-sec .coupon-card .coupon-text span {\n  color: var(--discount-txt-clr);\n}\n.cart-content .cart-sec .your-plate-list {\n  padding: 0rem 1.25rem;\n}\n.cart-content .cart-sec .your-plate-list .menu-item .veg-non-veg {\n  width: 12px;\n  padding-top: 4px !important;\n}\n.cart-content .cart-sec .your-plate-list .menu-item .menu-item-name {\n  width: 80%;\n}\n.cart-content .cart-sec .your-plate-list .menu-item .menu-item-name .discount-view {\n  text-decoration: line-through;\n  color: var(--primary-grey-2);\n  font-size: 12px !important;\n}\n.cart-content .cart-sec .your-plate-list .menu-item .customized-item .icon-arrow-angle-forward {\n  display: inline-block;\n  transform: rotate(90deg);\n}\n.cart-content .cart-sec .your-plate-list .menu-item .customized-item :before {\n  color: var(--primary-cta);\n}\n.cart-content .cart-sec .your-plate-list .menu-item .item-qty-section {\n  margin-top: 4px;\n}\n.cart-content .cart-sec .your-plate-list .menu-item .item-qty-section .with-qty-view {\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  border: 1px solid var(--layout-bg-color);\n  background: var(--white);\n  box-shadow: 0 6px 8px #00000020;\n  border-radius: 6px;\n  color: var(--primary-cta);\n  border-radius: 6px;\n  padding: 4px 4px;\n}\n.cart-content .cart-sec .your-plate-list .menu-item .item-qty-section .with-qty-view > span {\n  padding: 1px 4px;\n  line-height: 1;\n}\n.cart-content .cart-sec .your-plate-list .menu-item .item-qty-section .with-qty-view .item-qty {\n  padding: 3px 0px;\n  width: 20px;\n  text-align: center;\n}\n.cart-content .cart-sec .your-plate-list .unavailable-item-view p {\n  background: var(--layout-bg-color);\n  padding: 8px 11px;\n  border-radius: 6px;\n  height: -moz-fit-content;\n  height: fit-content;\n  margin-top: 4px;\n  border: 1px solid var(--silver);\n}\n.cart-content .cart-sec .your-plate-list .unavailable-item-view button {\n  background: none;\n  border: none;\n  outline: none;\n}\n.cart-content .cart-sec .your-plate-list .special-req .special-text {\n  border-top: 1px solid var(--layout-bg-color);\n  border-bottom: 1px solid var(--layout-bg-color);\n  font-size: 12 !important;\n}\n.cart-content .cart-sec .your-plate-list .special-req .special-text input {\n  border: none;\n  height: 56px;\n  width: 100%;\n  font-size: 14px;\n  background: white;\n}
1\n.cart-content .cart-sec .your-plate-list .special-req .special-text :focus {\n  border: none;\n  outline: none;\n}\n.cart-content .cart-sec .your-plate-list .special-req .special-text input::-moz-placeholder {\n  font-size: 14px;\n}\n.cart-content .cart-sec .your-plate-list .special-req .special-text input::placeholder {\n  font-size: 14px;\n}\n.cart-content .cart-sec .deliveryPromo {\n  border: none !important;\n  border-radius: 2px !important;\n  background-color: #fffaeb;\n  color: var(--primary-clr);\n  border-color: #fff3cf;\n}\n.cart-content .cart-sec .deliveryPromo p {\n  padding-left: 5px;\n  border-left: 5px solid #fff3cf;\n}\n.cart-content .cart-sec .offer-sec,\n.cart-content .cart-sec .delivery-sec,\n.cart-content .cart-sec .wallet-sec {\n  padding: 0rem 1.25rem;\n  position: relative;\n}\n.cart-content .cart-sec .offer-sec > div,\n.cart-content .cart-sec .delivery-sec > div,\n.cart-content .cart-sec .wallet-sec > div {\n  padding: 0.75rem 0rem;\n}\n.cart-content .cart-sec .offer-sec > div > p:before,\n.cart-content .cart-sec .delivery-sec > div > p:before,\n.cart-content .cart-sec .wallet-sec > div > p:before {\n  content: "";\n  display: inline-block;\n  position: absolute;\n  top: 42px;\n  width: 20px;\n  height: 1px;\n  background-color: var(--silver);\n}\n.cart-content .cart-sec .offer-sec > div > div,\n.cart-content .cart-sec .delivery-sec > div > div,\n.cart-content .cart-sec .wallet-sec > div > div {\n  border: 1px solid var(--silver);\n  border-radius: 6px;\n  padding-right: 6px;\n}\n.cart-content .cart-sec .offer-sec > div > div img,\n.cart-content .cart-sec .delivery-sec > div > div img,\n.cart-content .cart-sec .wallet-sec > div > div img {\n  width: 15px;\n  top: 10px;\n  margin-right: 16px;\n}\n.cart-content .cart-sec .offer-sec > div > div div,\n.cart-content .cart-sec .delivery-sec > div > div div,\n.cart-content .cart-sec .wallet-sec > div > div div {\n  line-height: 1.8;\n}\n.cart-content .cart-sec .offer-sec > div > div div .icon-arrow-drop-up,\n.cart-content .cart-sec .delivery-sec > div > div div .icon-arrow-drop-up,\n.cart-content .cart-sec .wallet-sec > div > div div .icon-arrow-drop-up {\n  transform: rotate(90deg);\n  padding: 10px;\n}\n.cart-content .cart-sec .offer-sec > div > div div ::before,\n.cart-content .cart-sec .delivery-sec > div > div div ::before,\n.cart-content .cart-sec .wallet-sec > div > div div ::before {\n  color: var(--primary-clr);\n}\n.cart-content .cart-sec .offer-sec > div > div div .icon-close,\n.cart-content .cart-sec .delivery-sec > div > div div .icon-close,\n.cart-content .cart-sec .wallet-sec > div > div div .icon-close {\n  padding: 10px;\n}\n.cart-content .cart-sec .offer-sec > div > div div ::before,\n.cart-content .cart-sec .delivery-sec > div > div div ::before,\n.cart-content .cart-sec .wallet-sec > div > div div ::before {\n  color: var(--primary-grey-2);\n}\n.cart-content .cart-sec .no-wallet-Bal {\n  padding-bottom: 0.75rem;\n}\n.cart-content .cart-sec .no-wallet-Bal > div {\n  border: none;\n}\n.cart-content .cart-sec .wallet-sec {\n  padding-bottom: 0.75rem;\n}\n.cart-content .cart-sec .wallet-sec > div {\n  border: none;\n}\n.cart-content .cart-sec .wallet-sec > div .wallet-bal-text {\n  padding-left: 36px;\n}\n.cart-content .cart-sec .wallet-sec > div .wallet-bal-text > p {\n  display: none;\n}\n.cart-content .cart-sec .wallet-sec > div .wallet-checkbox-checked {\n  display: block !important;\n}\n.cart-content .cart-sec .wallet-sec > div .input-sec {\n  /* Hide the browser\'s default checkbox */\n  /* Create a custom checkbox */\n  /* When the checkbox is checked, add a blue background */\n  /* Create the checkmark/indicator (hidden when not checked) */\n  /* Show the checkmark when checked */\n  /* Style the checkmark/indicator */\n}\n.cart-content .cart-sec .wallet-sec > div .input-sec .check-box {\n  display: block;\n  position: relative;\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  user-select: none;\n}\n.cart-content .cart-sec .wallet-sec > div .input-sec .check-box input {\n  opacity: 0;\n  cursor: pointer;\n  height: 0;\n  width: 0;\n}
1\n.cart-content .cart-sec .wallet-sec > div .input-sec .checkmark {\n  position: absolute;\n  top: 1px;\n  left: 0;\n  height: 19px;\n  width: 19px;\n  border: 1px solid #cccccc;\n}\n.cart-content .cart-sec .wallet-sec > div .input-sec .check-box input:checked ~ .checkmark {\n  background-color: #cc1e56;\n}\n.cart-content .cart-sec .wallet-sec > div .input-sec .checkmark:after {\n  content: "";\n  position: absolute;\n  display: none;\n}\n.cart-content .cart-sec .wallet-sec > div .input-sec .check-box input:checked ~ .checkmark:after {\n  display: block;\n}\n.cart-content .cart-sec .wallet-sec > div .input-sec .check-box input:checked ~ div > span {\n  font-weight: 600;\n}\n.cart-content .cart-sec .wallet-sec > div .input-sec .check-box .checkmark:after {\n  left: 6px;\n  top: 0px;\n  width: 6px;\n  height: 12px;\n  border: solid white;\n  border-width: 0 2px 2px 0;\n  transform: rotate(45deg);\n}\n.cart-content .cart-sec .bill-sec {\n  padding: 0rem 1.25rem;\n  position: relative;\n}\n.cart-content .cart-sec .bill-sec > div {\n  padding: 1.25rem 0rem;\n}\n.cart-content .cart-sec .bill-sec > div > p:before {\n  content: "";\n  display: inline-block;\n  position: absolute;\n  top: 28px;\n  width: 20px;\n  height: 1px;\n  background-color: var(--silver);\n}\n.cart-content .cart-sec .bill-sec > div .billing-details {\n  padding: 1.5rem 0rem;\n  line-height: 2;\n}\n.cart-content .cart-sec .bill-sec > div .grand-total p {\n  padding: 10px 0px;\n  border-top: 1px dashed var(--primary-grey-2);\n  border-bottom: 1px dashed var(--primary-grey-2);\n}\n.cart-content .cart-sec .bill-sec .text-underline {\n  text-decoration: underline;\n}\n.cart-content .tAndC {\n  padding: 0rem 1.2rem;\n  position: relative;\n}\n.cart-content .tAndC > div {\n  padding-top: 1.25rem;\n}\n.cart-content .tAndC > div > p:before {\n  content: "";\n  display: inline-block;\n  position: absolute;\n  top: 38px;\n  width: 20px;\n  height: 1px;\n  background-color: var(--silver);\n}\n.empty-plate-view {\n  height: calc(100vh - 90px);\n}\n.custom-ion-content {\n  --padding-bottom: 0px !important;\n}\n.cart-footer-sec {\n  position: fixed;\n  z-index: 1001 !important;\n  bottom: 0px;\n  background-color: white;\n}\n.cart-footer-sec .cart-footer-skeleton-loading {\n  background-color: white;\n}\n.cart-footer-sec .address-sec {\n  padding: 10px 20px;\n  background: var(--layout-bg-color);
1\n  box-shadow: 0px -2px 4px var(--box-shadow);\n}\n.cart-footer-sec .address-sec > div .address-desc {\n  width: 80%;\n  display: block;\n  display: -webkit-box;\n  max-width: 100%;\n  margin: 0 auto;\n  -webkit-line-clamp: 1;\n  -webkit-box-orient: vertical;\n  overflow: hidden;\n  text-overflow: ellipsis;\n}\n.cart-footer-sec .payment-details {\n  background: var(--white);\n  padding: 20px;\n}\n.cart-footer-sec .payment-details > div button {\n  background: none;\n}\n.cart-footer-sec .payment-details > div :focus {\n  outline: none;\n}\n.cart-footer-sec .payment-details .payment-btn {\n  height: 56px;\n  width: 55%;\n  border-radius: 6px;\n  padding: 0px 20px;\n  background: var(--primary-cta);\n  color: var(--white);\n  box-shadow: 0 4px 12px var(--box-shadow);\n}\n.cart-footer-sec .payment-details :focus {\n  outline: none;\n}\n.cart-footer-sec .payment-details .disabled-btn {\n  background: var(--silver);\n  color: var(--primary-grey-2);\n  pointer-events: none;\n}\n.cart-footer-sec .payment-sec-box-shadow {\n  box-shadow: 0px -2px 4px var(--box-sha
1dow);\n}\n.cart-footer-sec .restaurant-unavailable {\n  padding: 0px 16px 12px 16px;\n  background: linear-gradient(111deg, #f1eff3, rgba(232, 230, 234, 0.97), white) !important;\n}\n.cart-footer-sec .restaurant-unavailable .unavailable-btn {\n  width: 100%;\n  padding: 10px 0px;\n  height: 56px;\n  background-color: var(--primary-cta);\n  color: var(--white);\n  border-radius: 4px;\n  box-shadow: 0 4px 12px var(--box-shadow);\n}\n.log-in-btn {\n  box-shadow: 0px -4px 20px -5px rgba(0, 0, 0, 0.2);\n}\n.log-in-btn .payment-btn {\n  font-size: 14px !important;\n}\n@media screen and (max-height: 800px) {\n  .cart-footer-sec .address-sec > p {\n    width: 80%;\n    -webkit-line-clamp: 1;\n    -webkit-box-orient: vertical;\n    overflow: hidden;\n    text-overflow: ellipsis;\n  }\n  .cart-footer-sec .payment-details {\n    padding: 10px 20px;\n  }\n}\n.custom-tooltip {\n  left: 10%;\n  opacity: 0;\n  bottom: 16px;\n  width: 100%;\n  transition: opacity 0.5s ease;\n}\n.custom-tooltip__item {\n  position: absolute;\n  padding: 14px;\n  min-width: 180px;\n  line-height: 1.8;\n  background: var(--white);\n  transition: all 0.25s cubic-bezier(0, 0, 0.2, 1);\n  color: #484848;\n  border-radius: 4px;\n  font-weight: 400;\n  box-shadow: 0 0px 8px #bcbcbc;\n  z-index: 4;\n}\n.custom-tooltip__item p:first-child {\n  width: 90%;\n  line-height: 1.5;\n}\n.tax-tool-tip {\n  padding: 14px 14px;\n}\n.tax-tool-tip p:first-child {\n  width: 100%;\n}
1\n.custom-tooltip__item:after {\n  content: "";\n  display: block;\n  position: absolute;\n  width: 0;\n  height: 0;\n  border-style: solid;\n}\n.custom-tooltip__initiator {\n  cursor: pointer;\n  z-index: 5;\n}\n.custom-tooltip[data-direction=top] .custom-tooltip__item {\n  bottom: calc(100% + 1em);\n}\n.custom-tooltip[data-direction=top] .custom-tooltip__item:after {\n  bottom: -0.9em;\n  border-width: 0.9em 0.8em 0 0.2em;\n  border-color: white transparent transparent transparent;\n  filter: drop-shadow(0px 2px 1px #bcbcbc);\n  -webkit-filter: drop-shadow(0px 2px 1px #bcbcbc);\n}\n.custom-highlight {\n  left: -5px;\n  top: 1px;\n  height: 100%;\n  width: 100%;\n  transform: rotateX(90deg);\n  background: red;\n  opacity: 0.3;\n  padding-right: 14px;\n  transition: all 0.5s ease;\n}\n.custom-background {\n  transform: rotateX(180deg);\n}\n.removeAnimation {\n  height: 0px;\n}\n.sub-text {\n  font-size: 15px;\n  color: #999;\n  line-height: 1.5;\n  margin: 0;\n  padding-right: 10px;\n}\n.info-icon {\n  font-size: 20px;\n  color: #e91e63;\n  flex-shrink: 0;\n  cursor: pointer;\n  margin-top: 2px;\n}\n.amount-discount {\n  display: flex;\n  align-items: center;\n  grid-gap: 8px;\n  gap: 8px;\n  /* space between amount & percentage */\n}\n.discount-text {\n  color: #129839;\n  /* optional */\n  font-size: 13px;\n}\n.strike {\n  text-decoration: line-through;\n  color: #999;\n}'},77119:function(e){e.exports=".skeleton .width-75 {\n  width: 75%;\n}\n.skeleton .width-25 {\n  width: 25%;\n}\n.skeleton .width-65 {\n  width: 65%;\n}\n.skeleton .width-30 {\n  width: 30%;\n}\n.skeleton .height-25 {\n  height: 25%;\n}\n.skeleton .height-40 {\n  height: 5vh;\n}\n.skeleton .height-10 {\n  height: 10px;\n}\n.skeleton .special-inst {\n  padding: 16px;\n  border-top: 1px solid var(--layout-bg-color);\n  border-bottom: 1px solid var(--layout-bg-color);\n}\n.skeleton .custom-border {\n  height: 10px;\n  background: var(--layout-bg-color);\n}\n.skeleton .offer-sec > div,\n.skeleton .delivery-sec > div,\n.skeleton .wallet-sec > div {\n  padding: 0.75rem 1.25rem;\n  border: 1px solid var(--silver);\n}"}}]);

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