dealpos 11.2.5 → 11.2.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- "use strict";(self.webpackChunkPOS=self.webpackChunkPOS||[]).push([[3979],{3979:(zs,ht,m)=>{m.r(ht),m.d(ht,{POSModule:()=>Vs});var _=m(6019),H=m(4382),n=m(3668),N=m(3405),O=(()=>{return(o=O||(O={}))[o.IsNew=0]="IsNew",o[o.IsComplete=1]="IsComplete",o[o.IsEdit=2]="IsEdit",o[o.isPark=3]="isPark",o[o.IsRetrieve=4]="IsRetrieve",o[o.IsSplit=5]="IsSplit",o[o.IsBill=6]="IsBill",o[o.IsReturn=7]="IsReturn",o[o.IsUndo=8]="IsUndo",o[o.UploadOrderFail=9]="UploadOrderFail",O;var o})(),C=m(8805),pe=m(2313),g=m(7695),Y=m(2254),P=m(5304),j=m(4099),Un=m(8735),Fn=m(5389),nn=m(2003),W=m(2418),rn=m(8596);let D=(()=>{class o{constructor(t,e,i){this._onlineStatusService=t,this._localDataService=e,this._httpService=i,this._Data=new j.X(null),this.Data$=this._Data.asObservable().pipe((0,Un.h)(r=>null!==r),(0,Fn.x)()),this._onlineStatusService.getOnlineStatus$().subscribe(r=>{this.isOnline=r})}get Data(){return this._Data.value}pushNewValue(t){this._Data.next(t)}request(){return new Promise((t,e)=>{this.isOnline?this._httpService.post(g.Wz.GetPOSStorage).subscribe(i=>{this._Data.next(i),this._localDataService.setPOSStorage(i),t(i)},i=>{e(i)}):this._localDataService.getPOSStorage().subscribe(i=>{null!=i?t(i):e(g.g7.failGetLocalPosStorage)})})}getOutletName(t){const e=this.Data.Entities.find(i=>i.ID==t);return void 0!==e?e.Name:t}}return o.\u0275fac=function(t){return new(t||o)(n.LFG(nn.q),n.LFG(W.T),n.LFG(rn.O))},o.\u0275prov=n.Yz7({token:o,factory:o.\u0275fac,providedIn:"root"}),o})();var z=m(1348),$=m(2625);class Ln{constructor(){this.posState=O.IsNew,this.CommissionID="",this.ReturNumber="",this.parkTemporaryItem=[],this.InputTextValue=""}}var ge=m(991),Pn=m(3521),Hn=(()=>{return(o=Hn||(Hn={}))[o.NOW=0]="NOW",o[o.LATER=1]="LATER",Hn;var o})();class Sn{constructor(){this.Prefix=null,this.Seed=null,this.Digit=null}static Generate(a){let t="";if(a.Seed){let e=a.Seed+"";for(;e.length<a.Digit;)e="0"+e;t=g.gT.StringFormat(a.Prefix,e)}return t}}class Vn{constructor(){this.RegisterID=null,this.RegisterCode=null,this.EntityID=null,this.EntityName=null,this.NumberElement=new Sn,this.InvoiceNumberElement=new Sn,this.Promotion=[]}}var an=m(2565),tn=m(9240),gn=(()=>{return(o=gn||(gn={}))[o.Pending=1]="Pending",o[o.Complete=3]="Complete",gn;var o})(),T=m(5761),ue=m(5686),wn=(()=>{return(o=wn||(wn={}))[o.Never=0]="Never",o[o.OnRetrieve=1]="OnRetrieve",o[o.Always=2]="Always",wn;var o})(),un=m(9794);class _e{constructor(a){a&&(this.EntityID=a.EntityID,this.ID=a.ID,this.Note=a.Note,this.Serial=a.Serial,this.VariantID=a.VariantID)}get EntityID(){return this._EntityID}get ID(){return this._ID}get Note(){return this._Note}get Serial(){return this._Serial}get VariantID(){return this._VariantID}set EntityID(a){this._EntityID=a}set ID(a){this._ID=a}set Note(a){this._Note=a}set Serial(a){this._Serial=a}set VariantID(a){this._VariantID=a}}var mt=m(8053);let ft=(()=>{class o{constructor(t,e){this.httpService=t,this.localData=e}getVariantByID(t,e,i=!0){return new Promise((r,c)=>{this.localData.isConfigFromServer().then(l=>{l?this.httpService.post(g.Wz.GetVariantByID,{id:t,entityID:e,Promotion:i}).subscribe(s=>r(s),s=>{c(s)}):this.localData.getVariantById(t,e).then(d=>r(d)).catch(d=>c(d))}).catch(l=>c(l))})}getVariantByCode(t,e,i=!1){return new Promise((r,c)=>{this.localData.isProductFromServer().then(l=>{l?this.httpService.post("/API/Product/GetVariantByCode",{code:t,entityID:e,barcodeSerial:i,Promotion:!0}).subscribe(s=>r(s),s=>c(s)):this.localData.getVariantByCode(t).then(d=>r(d)).catch(d=>c(d))}).catch(l=>c(l))})}getVariantSerial(t,e,i){return this.httpService.post("/API/Product/GetVariantSerial",{entityID:t,soID:e,variantID:i}).pipe((0,mt.U)(r=>r.map(l=>new _e(l))))}getStockByID(t,e){return new Promise((i,r)=>{this.httpService.post("/API/Product/GetInventoryByVariantID",{id:t,entityID:e}).subscribe(l=>i(l),l=>r(l))})}}return o.\u0275fac=function(t){return new(t||o)(n.LFG(rn.O),n.LFG(W.T))},o.\u0275prov=n.Yz7({token:o,factory:o.\u0275fac,providedIn:"root"}),o})();var _n=m(3545);let S=(()=>{class o{constructor(t,e){this._OrderHttpService=t,this._customerHttpService=e,this._Data=new j.X(new $.m),this.Data$=this._Data.asObservable()}get Data(){return this._Data.value}pushNewValue(t){this._Data.next(t||this.Data)}submitOrder(t){return new Promise((e,i)=>{null!=this.Data.Invoice.Due&&(this.Data.Payments=[]),this._OrderHttpService.submitOrder(this.Data,t).then(r=>{e(r)},r=>{this.Data.Items=[],i(r)})})}updateCustomerID(t){return this.Data.Order.CustomerID=t,this.pushNewValue(this.Data),new Promise((e,i)=>{this._customerHttpService.GetPrivilegeByID(t,this.Data.Order.EntityID).subscribe(r=>{this._customerHttpService.Data=r,this.pushNewValue(this.Data),e(r)},()=>{i([])})})}}return o.\u0275fac=function(t){return new(t||o)(n.LFG(z.D),n.LFG(_n.r))},o.\u0275prov=n.Yz7({token:o,factory:o.\u0275fac,providedIn:"root"}),o})();var A=m(2387);let hn=(()=>{class o{constructor(t,e,i,r,c,l){this.variantService=t,this._posService=e,this._orderDataService=i,this.toastr=r,this._orderProcessorService=c,this._customerHttpService=l,this.subscribeToObservable()}subscribeToObservable(){this._posService.Data$.subscribe(t=>{this.restriction=t.Restriction,this.appConfigJson=t.AppConfigJSON}),this._orderDataService.Data$.subscribe(t=>{this.salesOrderData=t,this.entityID=t.Order.EntityID})}addCartItemById(t,e,i=!0){return new Promise((r,c)=>{this.variantService.getVariantByID(t,this.entityID,i).then(l=>{this.createNewCartItem(l,e),r(l)}).catch(l=>{c(l)})})}addCartItemByCode(t){return new Promise((e,i)=>{const r=this.appConfigJson.ModuleSell.DigitalScale;r.Digit>0&&g.gT.IsNotEmpty(r.Regex)&&t.length==r.Digit?this.parseDigitalScaleBarcodeWithRegex(t,r).then(l=>{l||this.findVariantByCode(t).then(d=>e(d)).catch(d=>i(d))}):this.findVariantByCode(t).then(l=>e(l)).catch(l=>i(l))})}findVariantByCode(t){const e=this.appConfigJson.ModuleSell.BarcodeSerialEnabled;return new Promise((i,r)=>{this.variantService.getVariantByCode(t,this.entityID,e).then(c=>{c.TypeID==un.J.Serialized&&(c.PriceNote=`[${t}]`),i(c),this.createNewCartItem(c)}).catch(c=>r(c))})}updateCartItem(t,e){this.salesOrderData.CartItems[e]=t,this._orderDataService.pushNewValue(this.salesOrderData)}deleteCartItem(t){this.salesOrderData.CartItems=this.salesOrderData.CartItems.filter(e=>e!==t),this._orderDataService.pushNewValue(this.salesOrderData)}parseDigitalScaleBarcodeWithRegex(t,e){const i=this.appConfigJson.ModuleSell.BarcodeSerialEnabled,r=new RegExp(e.Regex),c=t.match(r),l=c[1];let d=parseFloat(c[2]);return d/=e.QuantityDivider,new Promise(s=>{this.variantService.getVariantByCode(l,this.entityID,i).then(p=>{this.createNewCartItem(p,null,d),s(!0)}).catch(()=>{s(!1)})})}createNewCartItem(t,e,i){let r=new tn.t;r.patchByVariant(t,this.appConfigJson.ModuleSell.ProductNotes.CopyProductDescription,this.appConfigJson.ModuleSell.ProductNotes.CopyPromotionName),r=this.applyReward(r,e),r=this.applyPromotionProduct(r),g.gT.IsEmpty(e)&&(r=this.applyPriceBook(r)),this.validateCartItem(r)&&(r.Quantity=i||r.Quantity,this.pushNewItemToArray(r,r.PromotionGift)),this.addAvailableComponent(r)}applyPromotionProduct(t){const e=t.Variant.DiscountAmount;return e&&(this._posService.Data.AppConfigJSON.ModuleSell.promotion.ShowPromotionDiscountAmount?t.DiscountAmount=e:t.Price=t.Price-e),t}applyReward(t,e){if(e){const i=this.appConfigJson.ModuleSell.ProductNotes.CopyPromotionName;t.Discount=e.Discount;const r=e.OriginalPrice-e.UnitPrice;this.appConfigJson.ModuleSell.promotion.ShowPromotionDiscountAmount?t.DiscountAmount=r:t.Price=t.Price-r,t.PromotionGift=!0,i&&(t.Note=e.PromotionName)}return t}addAvailableComponent(t){const e=0!=t.Price,i=this.appConfigJson.ModuleSell.SellProductComponentDefaultPrice,r=t.Variant;if(null!=r.Component&&r.Component.length>0)for(const c of r.Component){const l=new tn.t;l.patchByVariant(c),l.Quantity=t.Quantity*c.Quantity,e&&!i&&(c.UnitPrice=0),l.Price=c.UnitPrice,this.pushNewItemToArray(l)}}pushNewItemToArray(t,e=!1){const i=this.salesOrderData.CartItems.findIndex(r=>r.VariantID==t.VariantID);if(-1==i||e)this.salesOrderData.CartItems.push(t);else{const r=this.appConfigJson.ModuleSell.QuickKey.NewRowBehaviour;r==wn.Always||r==wn.OnRetrieve&&this._orderProcessorService.Data.posState==O.IsRetrieve?this.salesOrderData.CartItems.push(t):this.addingQuantityItem(i,t)}this._orderDataService.pushNewValue(this.salesOrderData)}addingQuantityItem(t,e){let i=this.salesOrderData.CartItems.filter(d=>d.VariantID==e.VariantID),r=i.length,c=i.find(d=>!d.PromotionGift);this.salesOrderData.CartItems[t].PromotionGift&&1==r?this.salesOrderData.CartItems.push(e):(c=this.addingSerialItem(c,e),c.Quantity+=e.Quantity),c&&(c=this.applyPriceBook(c))}addingSerialItem(t,e){if(t.Variant.TypeID==un.J.Serialized){let i=[...t.Serial,...e.Serial];t.Serial=i.filter((r,c)=>i.indexOf(r)==c),t.Note=`[${t.Serial}]`}return t}validateCartItem(t){return-1==t.Variant.CategoryTypeID?(this.toastr.info(t.Variant.Name+" cannot be sold, check Category "+t.Variant.CategoryName+" settings","info"),!1):!(!this.checkPriceMinimum(t)||!this.validateSerialItem(t))}checkPriceMinimum(t){const e=1===this.appConfigJson.ModuleSell.ProductDialog.PriceMinimumTypeID?"UnitPrice":"UnitCost";let r=!0;if(t.Price<t.Variant[e]&&this.restriction.PriceMinimum){r=!1;const c=t.Variant[e].toString().replace(/\B(?=(\d{3})+(?!\d))/g,",");alert(`You have no right to sell this item lower than ${c}`)}return r}validateSerialItem(t){let e=!0;return 4==t.Variant.TypeID&&g.gT.IsNotEmpty(t.Note)&&t.Quantity>0&&t.Serial.length!=t.Quantity&&(this.toastr.error("Serial must be equal with the quantity","Error"),e=!1),e}applyPriceBook(t){const e=null!=t.Variant.PriceBook?t.Variant.PriceBook:[],i=this.findCustomerPricebook(e);if(e&&0!==e.length){const r=e.sort(function(c,l){return l.MinimumQuantity-c.MinimumQuantity}).filter(c=>t.Quantity>=c.MinimumQuantity);r.length>0&&(void 0!==i?t=this.applyPricebookToItem(t,i):0!=r[0].MinimumQuantity&&(t=this.applyPricebookToItem(t,r[0])))}return t}applyPricebookToItem(t,e){const i=this.appConfigJson.ModuleSell.Pricebook.PricebookVisible;return t.Discount=e.PriceDiscount,t.PriceNote=e.Name,t.UnitPrice=e.UnitPrice,t.PriceBookID=e.ID,t.Price=e.UnitPrice,i&&(t.Note=e.Name),t}findCustomerPricebook(t=[]){const e=this._customerHttpService.Data;let i;return e&&(i=t.find(r=>r.ID==e.PricebookID)),i}}return o.\u0275fac=function(t){return new(t||o)(n.LFG(ft),n.LFG(D),n.LFG(S),n.LFG(A._W),n.LFG(R),n.LFG(_n.r))},o.\u0275prov=n.Yz7({token:o,factory:o.\u0275fac,providedIn:"root"}),o})();var y=m(7481),h=m(9133),J=m(1464);function he(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",9),n.TgZ(1,"div",4),n.TgZ(2,"input",10),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw().model=i})("ngModelChange",function(i){return n.CHM(t),n.oxw().changed(i)}),n.qZA(),n.qZA(),n.qZA()}if(2&o){const t=n.oxw();n.xp6(2),n.Q6J("ngModel",t.model)}}function me(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"tr"),n.TgZ(1,"td"),n._uU(2),n.qZA(),n.TgZ(3,"td"),n._uU(4),n.qZA(),n.TgZ(5,"td",11),n._uU(6),n.ALo(7,"number"),n.qZA(),n.TgZ(8,"td",11),n._uU(9),n.ALo(10,"number"),n.qZA(),n.TgZ(11,"td"),n.TgZ(12,"div",12),n.TgZ(13,"button",13),n.NdJ("click",function(){const r=n.CHM(t).$implicit;return n.oxw().select(r)}),n._uU(14,"Apply"),n.qZA(),n.qZA(),n.qZA(),n.qZA()}if(2&o){const t=a.$implicit;n.xp6(2),n.Oqu(t.VariantName),n.xp6(2),n.Oqu(t.VariantCode),n.xp6(2),n.Oqu(n.lcZ(7,4,t.OriginalPrice)),n.xp6(3),n.Oqu(n.lcZ(10,6,t.UnitPrice))}}let fe=(()=>{class o{constructor(t,e,i,r,c,l){this._dialogRef=t,this._matDialog=e,this._shoppingCartService=i,this._promotionEventService=r,this._toastr=c,this.rewards=l,this.modalConfig=new T.O,this.modelChanged=new N.xQ,this.temp=[],this.selectedPromotion=this._promotionEventService.selectedPromotion,this.temp=l,this.modelChanged.pipe((0,ue.b)(300),(0,Fn.x)()).subscribe(d=>this.model=d)}changed(t){this.rewards=""!=t||null!=t?this.temp.filter(e=>this.findKeywordInValue(t,e.VariantName)||this.findKeywordInValue(t,e.VariantCode)):this.temp,this.modelChanged.next(t)}findKeywordInValue(t,e){return e.toUpperCase().indexOf(t.toUpperCase())>-1}ngOnInit(){this.modalConfig.title="Select a Reward",this.modalConfig.customWidth="'300px'",this.modalConfig.hideFooter=!0}select(t){this._shoppingCartService.addCartItemById(t.VariantID,t,!1).then(()=>{this._matDialog.closeAll(),this._promotionEventService.pushNewValue(this._promotionEventService.Data),this.showToastAppliedPromo()})}showToastAppliedPromo(){this._toastr.success("Applied "+this.selectedPromotion.Name+" to order!","Applied successfully!")}close(){this._dialogRef.close()}}return o.\u0275fac=function(t){return new(t||o)(n.Y36(P.so),n.Y36(P.uw),n.Y36(hn),n.Y36(fn),n.Y36(A._W),n.Y36(P.WI))},o.\u0275cmp=n.Xpm({type:o,selectors:[["POS-modal-select-item"]],decls:21,vars:7,consts:[[3,"config","onCancel","onClose"],[1,"container"],["class","row mb-3",4,"ngIf"],[1,"row","table-scroll"],[1,"col-12"],[1,"table","table-bordered"],[1,"thead-light"],["scope","col"],[4,"ngFor","ngForOf"],[1,"row","mb-3"],["type","text","placeholder","Type to filter reward",1,"form-control",3,"ngModel","ngModelChange"],[1,"text-right"],[1,"col","text-right"],[1,"btn","btn-sm","btn-success",3,"click"]],template:function(t,e){1&t&&(n.TgZ(0,"modal-material",0),n.NdJ("onCancel",function(){return e.close()})("onClose",function(){return e.close()}),n.TgZ(1,"content"),n.TgZ(2,"div",1),n.YNc(3,he,3,1,"div",2),n.TgZ(4,"div",3),n.TgZ(5,"div",4),n.TgZ(6,"table",5),n.TgZ(7,"thead",6),n.TgZ(8,"tr"),n.TgZ(9,"th",7),n._uU(10,"Name"),n.qZA(),n.TgZ(11,"th",7),n._uU(12,"Code"),n.qZA(),n.TgZ(13,"th",7),n._uU(14,"Price"),n.qZA(),n.TgZ(15,"th",7),n._uU(16,"Promo"),n.qZA(),n._UZ(17,"th",7),n.qZA(),n.qZA(),n.TgZ(18,"tbody"),n.YNc(19,me,15,8,"tr",8),n.ALo(20,"sortBy"),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.qZA()),2&t&&(n.Q6J("config",e.modalConfig),n.xp6(3),n.Q6J("ngIf",(null==e.temp?null:e.temp.length)>5),n.xp6(16),n.Q6J("ngForOf",n.Dn7(20,3,e.rewards,"desc","VariantCode")))},directives:[y.M,_.O5,_.sg,h.Fj,h.JJ,h.On],pipes:[J.W7,_.JJ],styles:[".table-scroll[_ngcontent-%COMP%] {\n max-height: 400px;\n overflow-y: auto;\n}\n\ntable[_ngcontent-%COMP%] {\n max-width: 600px !important;\n overflow-x: hidden;\n}"]}),o})();var q=(()=>{return(o=q||(q={}))[o.Amount=1]="Amount",o[o.Quantity=2]="Quantity",o[o.Discount=3]="Discount",o[o.Product=4]="Product",o[o.PromotionTiered=5]="PromotionTiered",q;var o})(),Tn=(()=>{return(o=Tn||(Tn={}))[o.Product=1]="Product",o[o.Cheapest=2]="Cheapest",Tn;var o})(),Ce=m(6636),Ct=m(4434),K=m(1980);let en=(()=>{class o{constructor(t){this.posHttpResponseService=t,this._Data=new j.X(new K.Q),this.Data$=this._Data.asObservable(),this.posHttpResponseService.Data$.subscribe(e=>{const i=new K.Q;i.Assign(e.Roles),this.pushNewValue(i)})}get Data(){return this._Data.value}pushNewValue(t){this._Data.next(t)}}return o.\u0275fac=function(t){return new(t||o)(n.LFG(D))},o.\u0275prov=n.Yz7({token:o,factory:o.\u0275fac,providedIn:"root"}),o})();function Pe(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"span",18),n.NdJ("click",function(i){n.CHM(t);const r=n.oxw().$implicit;return n.oxw().closeRegister(r),i.stopPropagation()}),n.qZA()}}function Oe(o,a){1&o&&(n.TgZ(0,"div"),n.TgZ(1,"span",19),n._uU(2,"VACANT"),n.qZA(),n.qZA())}function Me(o,a){if(1&o&&(n.TgZ(0,"div"),n.TgZ(1,"span",20),n._UZ(2,"i",21),n.TgZ(3,"font"),n._uU(4),n.qZA(),n.qZA(),n.TgZ(5,"span",22),n._UZ(6,"i",23),n.TgZ(7,"font"),n._uU(8),n.qZA(),n.qZA(),n.qZA()),2&o){const t=n.oxw().$implicit;n.xp6(4),n.Oqu(t.LoginID),n.xp6(4),n.hij("",t.StartDisplay.split(" ")[3]," - Now")}}const be=function(o){return{active:o}},xe=function(o){return{gray:o}};function ve(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",10),n.TgZ(1,"div",11),n.TgZ(2,"div",12),n.TgZ(3,"h5",13),n.NdJ("click",function(){const r=n.CHM(t).$implicit;return n.oxw().select(r)}),n.TgZ(4,"span"),n._UZ(5,"i",14),n._uU(6),n.ALo(7,"limitTo"),n.qZA(),n.YNc(8,Pe,1,0,"span",15),n.qZA(),n.TgZ(9,"div",16),n.NdJ("click",function(){const r=n.CHM(t).$implicit;return n.oxw().select(r)}),n.YNc(10,Oe,3,0,"div",17),n.YNc(11,Me,9,2,"div",17),n.qZA(),n.qZA(),n.qZA(),n.qZA()}if(2&o){const t=a.$implicit,e=n.oxw();n.xp6(1),n.Q6J("ngClass",t.Active?"active":""),n.xp6(1),n.Q6J("ngClass",n.VKq(11,be,(null==t?null:t.Name)==(null==e.selectedRegister?null:e.selectedRegister.Name))),n.xp6(1),n.Q6J("ngClass",n.VKq(13,xe,t!=e.selectedRegister)),n.xp6(3),n.Oqu(n.xi3(7,8,t.Name,15)),n.xp6(2),n.Q6J("ngIf","Close"!=t.State),n.xp6(1),n.Q6J("ngSwitch",t.State),n.xp6(1),n.Q6J("ngSwitchCase","Close"),n.xp6(1),n.Q6J("ngSwitchCase","Open")}}let Pt=(()=>{class o{constructor(t,e,i,r,c){this._dialogRef=t,this._outletService=e,this._posService=i,this._userRoleService=r,this.router=c,this.searchInput="",this.selectedRegister=new Ct.e,this.modalConfig=new T.O,this.role=new K.Q,this.destroy$=new N.xQ}get AppConfigJSON(){return this._posService.Data.AppConfigJSON}ngOnInit(){this.subscribeToObsChanges(),this.initModalConfig()}subscribeToObsChanges(){this.registers=this._posService.Data.Registers,this._outletService.Data$.pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.selectedRegister=this.findOutletRegisterById(t.RegisterID)}),this._userRoleService.Data$.pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.role=t})}findOutletRegisterById(t){return this.registers.find(i=>i.ID===t)||new Ct.e}initModalConfig(){this.modalConfig.hideClose=!1,this.modalConfig.hideCancel=!1,this.modalConfig.bodyScrollable=!0,this.modalConfig.title="Choose an outlet"}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}close(){this._dialogRef.close()}onOk(){null!=this.selectedRegister.ID?(this._outletService.pushNewRegister(this.selectedRegister),this._dialogRef.close(this.selectedRegister)):alert("Please select a register first!")}select(t){if(this.AppConfigJSON.ModuleShift.Closure.Enabled)if(null!=this.selectedRegister.ID&&this.selectedRegister.Open&&null==t.CashierID)confirm("You already have an active register with "+this.selectedRegister.Name+"!\nDo you want to end your session?")&&(this.close(),this.router.navigate(["menu/Shift/Main/My_Shift"],{queryParams:{RegisterID:t.ID}}));else if(t.Open&&this.selectedRegister.ID!=t.ID){if(0==this.role.SellEditor)return void alert("You cannot end shift for Register "+t.Name+" - Unauthorized Access");alert("This Register has already active register, Are you sure you want to end this register?"),this.close(),this.router.navigate(["/menu/Shift/Main/My_Shift"],{queryParams:{RegisterID:t.ID}})}else this.selectedRegister=t;else this.selectedRegister=t}closeRegister(t){0!=this.role.SellEditor?(this.selectedRegister.ID==t.ID?this.router.navigate(["/menu/Shift/Main/My_Shift"]):this.router.navigate(["/menu/Shift/Main/My_Shift"],{queryParams:{RegisterID:t.ID}}),this.close()):alert("You cannot end shift for Register "+t.Name+" - Unauthorized Access")}}return o.\u0275fac=function(t){return new(t||o)(n.Y36(P.so),n.Y36(F),n.Y36(D),n.Y36(en),n.Y36(H.F0))},o.\u0275cmp=n.Xpm({type:o,selectors:[["pos-modal-register"]],decls:13,vars:7,consts:[[3,"config","onOk","onCancel","onClose"],[1,"form-group","ml-0",2,"width","200px",3,"hidden"],[1,"input-group","margin-bottom-sm"],[1,"input-group-prepend"],[1,"input-group-text"],["aria-hidden","true",1,"fa","fa-search"],["placeholder","Filter by Name","name","searchInput",1,"form-control",3,"ngModel","ngModelChange"],[1,"container"],[1,"row",2,"width","600px"],["class","col-4",4,"ngFor","ngForOf"],[1,"col-4"],[1,"card","border-0",3,"ngClass"],[1,"card-body","p-0",3,"ngClass"],[1,"card-title","mb-0",3,"ngClass","click"],[1,"fa","fa-info-circle","pr-1"],["class","fa fa-times-circle fa-lg position-absolute","style","text-shadow: 0 1px 0 #fff; right: 4px; top: 6px",3,"click",4,"ngIf"],[1,"card-text","px-0","py-2",3,"ngSwitch","click"],[4,"ngSwitchCase"],[1,"fa","fa-times-circle","fa-lg","position-absolute",2,"text-shadow","0 1px 0 #fff","right","4px","top","6px",3,"click"],[1,"idle"],[1,"cashier"],["aria-hidden","true",1,"fa","fa-user","pr-2"],[1,"open"],["aria-hidden","true",1,"far","fa-clock","pr-2"]],template:function(t,e){1&t&&(n.TgZ(0,"modal-material",0),n.NdJ("onOk",function(){return e.onOk()})("onCancel",function(){return e.close()})("onClose",function(){return e.close()}),n.TgZ(1,"content"),n.TgZ(2,"div",1),n.TgZ(3,"div",2),n.TgZ(4,"div",3),n.TgZ(5,"span",4),n._UZ(6,"i",5),n.qZA(),n.qZA(),n.TgZ(7,"input",6),n.NdJ("ngModelChange",function(r){return e.searchInput=r}),n.qZA(),n.qZA(),n.qZA(),n.TgZ(8,"div",7),n.TgZ(9,"div",8),n.YNc(10,ve,12,15,"div",9),n.ALo(11,"FilterByName"),n.qZA(),n.qZA(),n.qZA(),n._UZ(12,"footer"),n.qZA()),2&t&&(n.Q6J("config",e.modalConfig),n.xp6(2),n.Q6J("hidden",e.registers.length<=6),n.xp6(5),n.Q6J("ngModel",e.searchInput),n.xp6(3),n.Q6J("ngForOf",n.xi3(11,4,e.registers,e.searchInput)))},directives:[y.M,h.Fj,h.JJ,h.On,_.sg,_.mk,_.O5,_.RF,_.n9],pipes:[J.bs,J.OI],styles:[".col-4[_ngcontent-%COMP%] {\n list-style: none;\n margin: 0px;\n padding: 0px;\n display: flex;\n flex-wrap: wrap !important;\n}\n.col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] {\n width: 180px;\n min-height: 95px;\n margin-right: 17px;\n margin-bottom: 17px;\n position: relative;\n}\n.col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body[_ngcontent-%COMP%] {\n display: block;\n outline: 0;\n border: 1px solid #B1AAAA;\n border-radius: 5px;\n cursor: pointer;\n}\n.col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body[_ngcontent-%COMP%] h5[_ngcontent-%COMP%] {\n height: 30px;\n border-radius: 4px;\n padding: 5px 10px;\n color: #ffffff;\n background: #B1AAAA;\n overflow: hidden;\n}\n.col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body[_ngcontent-%COMP%] h5[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n margin-right: 5px;\n}\n.col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body[_ngcontent-%COMP%]:hover, .col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.active[_ngcontent-%COMP%], .col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.vacant[_ngcontent-%COMP%] {\n background: #ffffe1;\n border: 1px solid #89b03e;\n}\n.col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body[_ngcontent-%COMP%]:hover > h5[_ngcontent-%COMP%], .col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.active[_ngcontent-%COMP%] > h5[_ngcontent-%COMP%], .col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.vacant[_ngcontent-%COMP%] > h5[_ngcontent-%COMP%] {\n background: #89b03e;\n}\n.col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.occupied[_ngcontent-%COMP%], .col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.occupied[_ngcontent-%COMP%]:hover {\n border: 1px solid #c9302c;\n}\n.col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.occupied[_ngcontent-%COMP%] > h6[_ngcontent-%COMP%], .col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.occupied[_ngcontent-%COMP%]:hover > h6[_ngcontent-%COMP%] {\n background: #c9302c !important;\n}\n.col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.occupied[_ngcontent-%COMP%] span.alias[_ngcontent-%COMP%] {\n background: #c9302c;\n}\n.col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.occupied[_ngcontent-%COMP%]:hover {\n background: white;\n}\n.col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.preparing[_ngcontent-%COMP%] {\n border: 1px solid #f6a828;\n}\n.col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.preparing[_ngcontent-%COMP%] > h6[_ngcontent-%COMP%] {\n background: #f6a828 !important;\n}\n.col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.preparing[_ngcontent-%COMP%]:hover {\n border: 1px solid #f6a828;\n background: white;\n}\n.col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.preparing[_ngcontent-%COMP%]:hover > strong[_ngcontent-%COMP%] {\n background: #f6a828 !important;\n}\n.col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.preparing[_ngcontent-%COMP%] span.alias[_ngcontent-%COMP%] {\n background: #f6a828;\n}\n.col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.preparing[_ngcontent-%COMP%] div[_ngcontent-%COMP%] > span[_ngcontent-%COMP%] {\n font-size: 0.75rem !important;\n}\n.col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body[_ngcontent-%COMP%] div[_ngcontent-%COMP%] {\n height: 80px;\n padding: 15px 10px;\n position: relative;\n}\n.col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n display: block;\n font-weight: normal;\n font-size: 0.875rem;\n width: 100%;\n margin-bottom: 5px;\n}\n.col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:first-child {\n margin-top: -10px;\n}\n.col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:last-child {\n margin-bottom: 0px;\n}\n.col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span.alias[_ngcontent-%COMP%] {\n text-align: center;\n position: absolute;\n bottom: 0px;\n right: 0px;\n width: auto;\n background-color: #B1AAAA;\n border-radius: 3px;\n padding: 2px 5px;\n color: #ffffff;\n display: none !important;\n}\n.col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span.idle[_ngcontent-%COMP%] {\n display: block;\n font-size: 1.25rem;\n text-align: center;\n}\n.col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > span[_ngcontent-%COMP%] {\n position: absolute;\n width: 27px;\n height: 28px;\n cursor: pointer;\n top: 5px;\n}\n.col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > span[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: black;\n}\n.col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]:last-of-type {\n right: -5px;\n}\n.col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]:nth-last-of-type(2) {\n right: 15px;\n}\n.col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] input[type=checkbox][_ngcontent-%COMP%] {\n bottom: 20px;\n right: 5px;\n position: absolute;\n}\n.col-4[_ngcontent-%COMP%] .duration[_ngcontent-%COMP%] > span[_ngcontent-%COMP%] {\n border: 1px solid !important;\n position: absolute;\n bottom: -3px;\n left: 58px;\n background: #fff;\n border-radius: 5px;\n}"]}),o})();var cn=m(859);let Ot=(()=>{class o{constructor(t,e){this.dialogRef=t,this.data=e,this.config=new T.O}ngOnInit(){this.config.title="Opening Cash"}onOk(){this.dialogRef.close({amount:this.amount})}}return o.\u0275fac=function(t){return new(t||o)(n.Y36(P.so),n.Y36(P.WI))},o.\u0275cmp=n.Xpm({type:o,selectors:[["POS-modal-opening-cash"]],decls:3,vars:3,consts:[[3,"title","config","onOk","onCancel","onClose"],["autoNum","",1,"border","w-100","rounded","p-4",3,"ngModel","ngModelChange"]],template:function(t,e){1&t&&(n.TgZ(0,"modal-material",0),n.NdJ("onOk",function(){return e.onOk()})("onCancel",function(){return e.dialogRef.close()})("onClose",function(){return e.dialogRef.close()}),n.TgZ(1,"content"),n.TgZ(2,"input",1),n.NdJ("ngModelChange",function(r){return e.amount=r}),n.qZA(),n.qZA(),n.qZA()),2&t&&(n.Q6J("title","Opening Cash")("config",e.config),n.xp6(2),n.Q6J("ngModel",e.amount))},directives:[y.M,h.Fj,cn.b,h.JJ,h.On],styles:[""]}),o})();var o,et=(o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,t){a.__proto__=t}||function(a,t){for(var e in t)t.hasOwnProperty(e)&&(a[e]=t[e])},function(a,t){function e(){this.constructor=a}o(a,t),a.prototype=null===t?Object.create(t):(e.prototype=t.prototype,new e)}),kn=function(o){function a(t,e){var r=this,c=this.constructor.prototype;return(r=o.call(this,t)||this).statusCode=e,r.__proto__=c,r}return et(a,o),a}(Error),ot=function(o){function a(t){void 0===t&&(t="A timeout occurred.");var i=this,r=this.constructor.prototype;return(i=o.call(this,t)||this).__proto__=r,i}return et(a,o),a}(Error),In=function(o){function a(t){void 0===t&&(t="An abort occurred.");var i=this,r=this.constructor.prototype;return(i=o.call(this,t)||this).__proto__=r,i}return et(a,o),a}(Error),it=Object.assign||function(o){for(var a,t=1,e=arguments.length;t<e;t++)for(var i in a=arguments[t])Object.prototype.hasOwnProperty.call(a,i)&&(o[i]=a[i]);return o},Mt=function(a,t,e){this.statusCode=a,this.statusText=t,this.content=e},rt=function(){function o(){}return o.prototype.get=function(a,t){return this.send(it({},t,{method:"GET",url:a}))},o.prototype.post=function(a,t){return this.send(it({},t,{method:"POST",url:a}))},o.prototype.delete=function(a,t){return this.send(it({},t,{method:"DELETE",url:a}))},o.prototype.getCookieString=function(a){return""},o}(),u=(()=>(function(o){o[o.Trace=0]="Trace",o[o.Debug=1]="Debug",o[o.Information=2]="Information",o[o.Warning=3]="Warning",o[o.Error=4]="Error",o[o.Critical=5]="Critical",o[o.None=6]="None"}(u||(u={})),u))(),at=function(){function o(){}return o.prototype.log=function(a,t){},o.instance=new o,o}(),ye=Object.assign||function(o){for(var a,t=1,e=arguments.length;t<e;t++)for(var i in a=arguments[t])Object.prototype.hasOwnProperty.call(a,i)&&(o[i]=a[i]);return o},E=function(){function o(){}return o.isRequired=function(a,t){if(null==a)throw new Error("The '"+t+"' argument is required.")},o.isNotEmpty=function(a,t){if(!a||a.match(/^\s*$/))throw new Error("The '"+t+"' argument should not be empty.")},o.isIn=function(a,t,e){if(!(a in t))throw new Error("Unknown "+e+" value: "+a+".")},o}(),V=function(){function o(){}return Object.defineProperty(o,"isBrowser",{get:function(){return"object"==typeof window},enumerable:!0,configurable:!0}),Object.defineProperty(o,"isWebWorker",{get:function(){return"object"==typeof self&&"importScripts"in self},enumerable:!0,configurable:!0}),Object.defineProperty(o,"isNode",{get:function(){return!this.isBrowser&&!this.isWebWorker},enumerable:!0,configurable:!0}),o}();function An(o,a){var t="";return ct(o)?(t="Binary data of length "+o.byteLength,a&&(t+=". Content: '"+function(o){var a=new Uint8Array(o),t="";return a.forEach(function(e){t+="0x"+(e<16?"0":"")+e.toString(16)+" "}),t.substr(0,t.length-1)}(o)+"'")):"string"==typeof o&&(t="String data of length "+o.length,a&&(t+=". Content: '"+o+"'")),t}function ct(o){return o&&"undefined"!=typeof ArrayBuffer&&(o instanceof ArrayBuffer||o.constructor&&"ArrayBuffer"===o.constructor.name)}function bt(o,a,t,e,i,r,c,l,d){return function(o,a,t,e){return new(t||(t=Promise))(function(i,r){function c(s){try{d(e.next(s))}catch(p){r(p)}}function l(s){try{d(e.throw(s))}catch(p){r(p)}}function d(s){s.done?i(s.value):new t(function(p){p(s.value)}).then(c,l)}d((e=e.apply(o,[])).next())})}(this,0,void 0,function(){var s,p,f,M,v,x;return function(o,a){var e,i,r,c,t={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return c={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(c[Symbol.iterator]=function(){return this}),c;function l(s){return function(p){return function(s){if(e)throw new TypeError("Generator is already executing.");for(;t;)try{if(e=1,i&&(r=2&s[0]?i.return:s[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,s[1])).done)return r;switch(i=0,r&&(s=[2&s[0],r.value]),s[0]){case 0:case 1:r=s;break;case 4:return t.label++,{value:s[1],done:!1};case 5:t.label++,i=s[1],s=[0];continue;case 7:s=t.ops.pop(),t.trys.pop();continue;default:if(!(r=(r=t.trys).length>0&&r[r.length-1])&&(6===s[0]||2===s[0])){t=0;continue}if(3===s[0]&&(!r||s[1]>r[0]&&s[1]<r[3])){t.label=s[1];break}if(6===s[0]&&t.label<r[1]){t.label=r[1],r=s;break}if(r&&t.label<r[2]){t.label=r[2],t.ops.push(s);break}r[2]&&t.ops.pop(),t.trys.pop();continue}s=a.call(o,t)}catch(p){s=[6,p],i=0}finally{e=r=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,p])}}}(this,function(pn){switch(pn.label){case 0:return p={},i?[4,i()]:[3,2];case 1:(f=pn.sent())&&((s={}).Authorization="Bearer "+f,p=s),pn.label=2;case 2:return M=On(),p[M[0]]=M[1],o.log(u.Trace,"("+a+" transport) sending data. "+An(r,c)+"."),v=ct(r)?"arraybuffer":"text",[4,t.post(e,{content:r,headers:ye({},p,d),responseType:v,withCredentials:l})];case 3:return x=pn.sent(),o.log(u.Trace,"("+a+" transport) request complete. Response status: "+x.statusCode+"."),[2]}})})}var Ie=function(){function o(a,t){this.subject=a,this.observer=t}return o.prototype.dispose=function(){var a=this.subject.observers.indexOf(this.observer);a>-1&&this.subject.observers.splice(a,1),0===this.subject.observers.length&&this.subject.cancelCallback&&this.subject.cancelCallback().catch(function(t){})},o}(),Bn=function(){function o(a){this.minimumLogLevel=a,this.outputConsole=console}return o.prototype.log=function(a,t){if(a>=this.minimumLogLevel)switch(a){case u.Critical:case u.Error:this.outputConsole.error("["+(new Date).toISOString()+"] "+u[a]+": "+t);break;case u.Warning:this.outputConsole.warn("["+(new Date).toISOString()+"] "+u[a]+": "+t);break;case u.Information:this.outputConsole.info("["+(new Date).toISOString()+"] "+u[a]+": "+t);break;default:this.outputConsole.log("["+(new Date).toISOString()+"] "+u[a]+": "+t)}},o}();function On(){var o="X-SignalR-User-Agent";return V.isNode&&(o="User-Agent"),[o,Ae("5.0.12",Ze(),V.isNode?"NodeJS":"Browser",Ne())]}function Ae(o,a,t,e){var i="Microsoft SignalR/",r=o.split(".");return i+=r[0]+"."+r[1],i+=" ("+o+"; ",i+=a&&""!==a?a+"; ":"Unknown OS; ",i+=""+t,(i+=e?"; "+e:"; Unknown Runtime Version")+")"}function Ze(){if(!V.isNode)return"";switch(process.platform){case"win32":return"Windows NT";case"darwin":return"macOS";case"linux":return"Linux";default:return process.platform}}function Ne(){if(V.isNode)return process.versions.node}var Re=function(){var o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,t){a.__proto__=t}||function(a,t){for(var e in t)t.hasOwnProperty(e)&&(a[e]=t[e])};return function(a,t){function e(){this.constructor=a}o(a,t),a.prototype=null===t?Object.create(t):(e.prototype=t.prototype,new e)}}(),Je=Object.assign||function(o){for(var a,t=1,e=arguments.length;t<e;t++)for(var i in a=arguments[t])Object.prototype.hasOwnProperty.call(a,i)&&(o[i]=a[i]);return o},Ue=function(o){function a(t){var e=o.call(this)||this;if(e.logger=t,"undefined"==typeof fetch){var i=require;e.jar=new(i("tough-cookie").CookieJar),e.fetchType=i("node-fetch"),e.fetchType=i("fetch-cookie")(e.fetchType,e.jar),e.abortControllerType=i("abort-controller")}else e.fetchType=fetch.bind(self),e.abortControllerType=AbortController;return e}return Re(a,o),a.prototype.send=function(t){return function(o,a,t,e){return new(t||(t=Promise))(function(i,r){function c(s){try{d(e.next(s))}catch(p){r(p)}}function l(s){try{d(e.throw(s))}catch(p){r(p)}}function d(s){s.done?i(s.value):new t(function(p){p(s.value)}).then(c,l)}d((e=e.apply(o,[])).next())})}(this,0,void 0,function(){var e,i,r,l,d,s,p,f=this;return function(o,a){var e,i,r,c,t={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return c={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(c[Symbol.iterator]=function(){return this}),c;function l(s){return function(p){return function(s){if(e)throw new TypeError("Generator is already executing.");for(;t;)try{if(e=1,i&&(r=2&s[0]?i.return:s[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,s[1])).done)return r;switch(i=0,r&&(s=[2&s[0],r.value]),s[0]){case 0:case 1:r=s;break;case 4:return t.label++,{value:s[1],done:!1};case 5:t.label++,i=s[1],s=[0];continue;case 7:s=t.ops.pop(),t.trys.pop();continue;default:if(!(r=(r=t.trys).length>0&&r[r.length-1])&&(6===s[0]||2===s[0])){t=0;continue}if(3===s[0]&&(!r||s[1]>r[0]&&s[1]<r[3])){t.label=s[1];break}if(6===s[0]&&t.label<r[1]){t.label=r[1],r=s;break}if(r&&t.label<r[2]){t.label=r[2],t.ops.push(s);break}r[2]&&t.ops.pop(),t.trys.pop();continue}s=a.call(o,t)}catch(p){s=[6,p],i=0}finally{e=r=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,p])}}}(this,function(M){switch(M.label){case 0:if(t.abortSignal&&t.abortSignal.aborted)throw new In;if(!t.method)throw new Error("No method defined.");if(!t.url)throw new Error("No url defined.");e=new this.abortControllerType,t.abortSignal&&(t.abortSignal.onabort=function(){e.abort(),i=new In}),r=null,t.timeout&&(r=setTimeout(function(){e.abort(),f.logger.log(u.Warning,"Timeout from HTTP request."),i=new ot},t.timeout)),M.label=1;case 1:return M.trys.push([1,3,4,5]),[4,this.fetchType(t.url,{body:t.content,cache:"no-cache",credentials:!0===t.withCredentials?"include":"same-origin",headers:Je({"Content-Type":"text/plain;charset=UTF-8","X-Requested-With":"XMLHttpRequest"},t.headers),method:t.method,mode:"cors",redirect:"manual",signal:e.signal})];case 2:return l=M.sent(),[3,5];case 3:throw d=M.sent(),i||(this.logger.log(u.Warning,"Error from HTTP request. "+d+"."),d);case 4:return r&&clearTimeout(r),t.abortSignal&&(t.abortSignal.onabort=null),[7];case 5:if(!l.ok)throw new kn(l.statusText,l.status);return s=function(o,a){var t;switch(a){case"arraybuffer":t=o.arrayBuffer();break;default:t=o.text();break;case"blob":case"document":case"json":throw new Error(a+" is not supported.")}return t}(l,t.responseType),[4,s];case 6:return p=M.sent(),[2,new Mt(l.status,l.statusText,p)]}})})},a.prototype.getCookieString=function(t){var e="";return V.isNode&&this.jar&&this.jar.getCookies(t,function(i,r){return e=r.join("; ")}),e},a}(rt),Le=function(){var o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,t){a.__proto__=t}||function(a,t){for(var e in t)t.hasOwnProperty(e)&&(a[e]=t[e])};return function(a,t){function e(){this.constructor=a}o(a,t),a.prototype=null===t?Object.create(t):(e.prototype=t.prototype,new e)}}(),He=function(o){function a(t){var e=o.call(this)||this;return e.logger=t,e}return Le(a,o),a.prototype.send=function(t){var e=this;return t.abortSignal&&t.abortSignal.aborted?Promise.reject(new In):t.method?t.url?new Promise(function(i,r){var c=new XMLHttpRequest;c.open(t.method,t.url,!0),c.withCredentials=void 0===t.withCredentials||t.withCredentials,c.setRequestHeader("X-Requested-With","XMLHttpRequest"),c.setRequestHeader("Content-Type","text/plain;charset=UTF-8");var l=t.headers;l&&Object.keys(l).forEach(function(d){c.setRequestHeader(d,l[d])}),t.responseType&&(c.responseType=t.responseType),t.abortSignal&&(t.abortSignal.onabort=function(){c.abort(),r(new In)}),t.timeout&&(c.timeout=t.timeout),c.onload=function(){t.abortSignal&&(t.abortSignal.onabort=null),c.status>=200&&c.status<300?i(new Mt(c.status,c.statusText,c.response||c.responseText)):r(new kn(c.statusText,c.status))},c.onerror=function(){e.logger.log(u.Warning,"Error from HTTP request. "+c.status+": "+c.statusText+"."),r(new kn(c.statusText,c.status))},c.ontimeout=function(){e.logger.log(u.Warning,"Timeout from HTTP request."),r(new ot)},c.send(t.content||"")}):Promise.reject(new Error("No url defined.")):Promise.reject(new Error("No method defined."))},a}(rt),Ve=function(){var o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,t){a.__proto__=t}||function(a,t){for(var e in t)t.hasOwnProperty(e)&&(a[e]=t[e])};return function(a,t){function e(){this.constructor=a}o(a,t),a.prototype=null===t?Object.create(t):(e.prototype=t.prototype,new e)}}(),Be=function(o){function a(t){var e=o.call(this)||this;if("undefined"!=typeof fetch||V.isNode)e.httpClient=new Ue(t);else{if("undefined"==typeof XMLHttpRequest)throw new Error("No usable HttpClient found.");e.httpClient=new He(t)}return e}return Ve(a,o),a.prototype.send=function(t){return t.abortSignal&&t.abortSignal.aborted?Promise.reject(new In):t.method?t.url?this.httpClient.send(t):Promise.reject(new Error("No url defined.")):Promise.reject(new Error("No method defined."))},a.prototype.getCookieString=function(t){return this.httpClient.getCookieString(t)},a}(rt),Mn=function(){function o(){}return o.write=function(a){return""+a+o.RecordSeparator},o.parse=function(a){if(a[a.length-1]!==o.RecordSeparator)throw new Error("Message is incomplete.");var t=a.split(o.RecordSeparator);return t.pop(),t},o.RecordSeparatorCode=30,o.RecordSeparator=String.fromCharCode(o.RecordSeparatorCode),o}(),Ye=function(){function o(){}return o.prototype.writeHandshakeRequest=function(a){return Mn.write(JSON.stringify(a))},o.prototype.parseHandshakeResponse=function(a){var e,i;if(ct(a)||"undefined"!=typeof Buffer&&a instanceof Buffer){var r=new Uint8Array(a);if(-1===(c=r.indexOf(Mn.RecordSeparatorCode)))throw new Error("Message is incomplete.");var l=c+1;e=String.fromCharCode.apply(null,r.slice(0,l)),i=r.byteLength>l?r.slice(l).buffer:null}else{var c,d=a;if(-1===(c=d.indexOf(Mn.RecordSeparator)))throw new Error("Message is incomplete.");e=d.substring(0,l=c+1),i=d.length>l?d.substring(l):null}var s=Mn.parse(e),p=JSON.parse(s[0]);if(p.type)throw new Error("Expected a handshake response from the server.");return[i,p]},o}(),w=(()=>(function(o){o[o.Invocation=1]="Invocation",o[o.StreamItem=2]="StreamItem",o[o.Completion=3]="Completion",o[o.StreamInvocation=4]="StreamInvocation",o[o.CancelInvocation=5]="CancelInvocation",o[o.Ping=6]="Ping",o[o.Close=7]="Close"}(w||(w={})),w))(),ze=function(){function o(){this.observers=[]}return o.prototype.next=function(a){for(var t=0,e=this.observers;t<e.length;t++)e[t].next(a)},o.prototype.error=function(a){for(var t=0,e=this.observers;t<e.length;t++){var i=e[t];i.error&&i.error(a)}},o.prototype.complete=function(){for(var a=0,t=this.observers;a<t.length;a++){var e=t[a];e.complete&&e.complete()}},o.prototype.subscribe=function(a){return this.observers.push(a),new Ie(this,a)},o}(),Zn=function(o,a,t,e){return new(t||(t=Promise))(function(i,r){function c(s){try{d(e.next(s))}catch(p){r(p)}}function l(s){try{d(e.throw(s))}catch(p){r(p)}}function d(s){s.done?i(s.value):new t(function(p){p(s.value)}).then(c,l)}d((e=e.apply(o,a||[])).next())})},Nn=function(o,a){var e,i,r,c,t={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return c={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(c[Symbol.iterator]=function(){return this}),c;function l(s){return function(p){return function(s){if(e)throw new TypeError("Generator is already executing.");for(;t;)try{if(e=1,i&&(r=2&s[0]?i.return:s[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,s[1])).done)return r;switch(i=0,r&&(s=[2&s[0],r.value]),s[0]){case 0:case 1:r=s;break;case 4:return t.label++,{value:s[1],done:!1};case 5:t.label++,i=s[1],s=[0];continue;case 7:s=t.ops.pop(),t.trys.pop();continue;default:if(!(r=(r=t.trys).length>0&&r[r.length-1])&&(6===s[0]||2===s[0])){t=0;continue}if(3===s[0]&&(!r||s[1]>r[0]&&s[1]<r[3])){t.label=s[1];break}if(6===s[0]&&t.label<r[1]){t.label=r[1],r=s;break}if(r&&t.label<r[2]){t.label=r[2],t.ops.push(s);break}r[2]&&t.ops.pop(),t.trys.pop();continue}s=a.call(o,t)}catch(p){s=[6,p],i=0}finally{e=r=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,p])}}},k=(()=>(function(o){o.Disconnected="Disconnected",o.Connecting="Connecting",o.Connected="Connected",o.Disconnecting="Disconnecting",o.Reconnecting="Reconnecting"}(k||(k={})),k))(),je=function(){function o(a,t,e,i){var r=this;this.nextKeepAlive=0,E.isRequired(a,"connection"),E.isRequired(t,"logger"),E.isRequired(e,"protocol"),this.serverTimeoutInMilliseconds=3e4,this.keepAliveIntervalInMilliseconds=15e3,this.logger=t,this.protocol=e,this.connection=a,this.reconnectPolicy=i,this.handshakeProtocol=new Ye,this.connection.onreceive=function(c){return r.processIncomingData(c)},this.connection.onclose=function(c){return r.connectionClosed(c)},this.callbacks={},this.methods={},this.closedCallbacks=[],this.reconnectingCallbacks=[],this.reconnectedCallbacks=[],this.invocationId=0,this.receivedHandshakeResponse=!1,this.connectionState=k.Disconnected,this.connectionStarted=!1,this.cachedPingMessage=this.protocol.writeMessage({type:w.Ping})}return o.create=function(a,t,e,i){return new o(a,t,e,i)},Object.defineProperty(o.prototype,"state",{get:function(){return this.connectionState},enumerable:!0,configurable:!0}),Object.defineProperty(o.prototype,"connectionId",{get:function(){return this.connection&&this.connection.connectionId||null},enumerable:!0,configurable:!0}),Object.defineProperty(o.prototype,"baseUrl",{get:function(){return this.connection.baseUrl||""},set:function(a){if(this.connectionState!==k.Disconnected&&this.connectionState!==k.Reconnecting)throw new Error("The HubConnection must be in the Disconnected or Reconnecting state to change the url.");if(!a)throw new Error("The HubConnection url must be a valid url.");this.connection.baseUrl=a},enumerable:!0,configurable:!0}),o.prototype.start=function(){return this.startPromise=this.startWithStateTransitions(),this.startPromise},o.prototype.startWithStateTransitions=function(){return Zn(this,void 0,void 0,function(){var a;return Nn(this,function(t){switch(t.label){case 0:if(this.connectionState!==k.Disconnected)return[2,Promise.reject(new Error("Cannot start a HubConnection that is not in the 'Disconnected' state."))];this.connectionState=k.Connecting,this.logger.log(u.Debug,"Starting HubConnection."),t.label=1;case 1:return t.trys.push([1,3,,4]),[4,this.startInternal()];case 2:return t.sent(),this.connectionState=k.Connected,this.connectionStarted=!0,this.logger.log(u.Debug,"HubConnection connected successfully."),[3,4];case 3:return a=t.sent(),this.connectionState=k.Disconnected,this.logger.log(u.Debug,"HubConnection failed to start successfully because of error '"+a+"'."),[2,Promise.reject(a)];case 4:return[2]}})})},o.prototype.startInternal=function(){return Zn(this,void 0,void 0,function(){var a,t,e,i=this;return Nn(this,function(r){switch(r.label){case 0:return this.stopDuringStartError=void 0,this.receivedHandshakeResponse=!1,a=new Promise(function(c,l){i.handshakeResolver=c,i.handshakeRejecter=l}),[4,this.connection.start(this.protocol.transferFormat)];case 1:r.sent(),r.label=2;case 2:return r.trys.push([2,5,,7]),t={protocol:this.protocol.name,version:this.protocol.version},this.logger.log(u.Debug,"Sending handshake request."),[4,this.sendMessage(this.handshakeProtocol.writeHandshakeRequest(t))];case 3:return r.sent(),this.logger.log(u.Information,"Using HubProtocol '"+this.protocol.name+"'."),this.cleanupTimeout(),this.resetTimeoutPeriod(),this.resetKeepAliveInterval(),[4,a];case 4:if(r.sent(),this.stopDuringStartError)throw this.stopDuringStartError;return[3,7];case 5:return e=r.sent(),this.logger.log(u.Debug,"Hub handshake failed with error '"+e+"' during start(). Stopping HubConnection."),this.cleanupTimeout(),this.cleanupPingTimer(),[4,this.connection.stop(e)];case 6:throw r.sent(),e;case 7:return[2]}})})},o.prototype.stop=function(){return Zn(this,void 0,void 0,function(){var a;return Nn(this,function(e){switch(e.label){case 0:return a=this.startPromise,this.stopPromise=this.stopInternal(),[4,this.stopPromise];case 1:e.sent(),e.label=2;case 2:return e.trys.push([2,4,,5]),[4,a];case 3:case 4:return e.sent(),[3,5];case 5:return[2]}})})},o.prototype.stopInternal=function(a){return this.connectionState===k.Disconnected?(this.logger.log(u.Debug,"Call to HubConnection.stop("+a+") ignored because it is already in the disconnected state."),Promise.resolve()):this.connectionState===k.Disconnecting?(this.logger.log(u.Debug,"Call to HttpConnection.stop("+a+") ignored because the connection is already in the disconnecting state."),this.stopPromise):(this.connectionState=k.Disconnecting,this.logger.log(u.Debug,"Stopping HubConnection."),this.reconnectDelayHandle?(this.logger.log(u.Debug,"Connection stopped during reconnect delay. Done reconnecting."),clearTimeout(this.reconnectDelayHandle),this.reconnectDelayHandle=void 0,this.completeClose(),Promise.resolve()):(this.cleanupTimeout(),this.cleanupPingTimer(),this.stopDuringStartError=a||new Error("The connection was stopped before the hub handshake could complete."),this.connection.stop(a)))},o.prototype.stream=function(a){for(var t=this,e=[],i=1;i<arguments.length;i++)e[i-1]=arguments[i];var s,r=this.replaceStreamingParams(e),c=r[0],l=r[1],d=this.createStreamInvocation(a,e,l),p=new ze;return p.cancelCallback=function(){var f=t.createCancelInvocation(d.invocationId);return delete t.callbacks[d.invocationId],s.then(function(){return t.sendWithProtocol(f)})},this.callbacks[d.invocationId]=function(f,M){M?p.error(M):f&&(f.type===w.Completion?f.error?p.error(new Error(f.error)):p.complete():p.next(f.item))},s=this.sendWithProtocol(d).catch(function(f){p.error(f),delete t.callbacks[d.invocationId]}),this.launchStreams(c,s),p},o.prototype.sendMessage=function(a){return this.resetKeepAliveInterval(),this.connection.send(a)},o.prototype.sendWithProtocol=function(a){return this.sendMessage(this.protocol.writeMessage(a))},o.prototype.send=function(a){for(var t=[],e=1;e<arguments.length;e++)t[e-1]=arguments[e];var i=this.replaceStreamingParams(t),r=i[0],c=i[1],l=this.sendWithProtocol(this.createInvocation(a,t,!0,c));return this.launchStreams(r,l),l},o.prototype.invoke=function(a){for(var t=this,e=[],i=1;i<arguments.length;i++)e[i-1]=arguments[i];var r=this.replaceStreamingParams(e),c=r[0],l=r[1],d=this.createInvocation(a,e,!1,l),s=new Promise(function(p,f){t.callbacks[d.invocationId]=function(b,I){I?f(I):b&&(b.type===w.Completion?b.error?f(new Error(b.error)):p(b.result):f(new Error("Unexpected message type: "+b.type)))};var M=t.sendWithProtocol(d).catch(function(b){f(b),delete t.callbacks[d.invocationId]});t.launchStreams(c,M)});return s},o.prototype.on=function(a,t){!a||!t||(a=a.toLowerCase(),this.methods[a]||(this.methods[a]=[]),-1===this.methods[a].indexOf(t)&&this.methods[a].push(t))},o.prototype.off=function(a,t){if(a){a=a.toLowerCase();var e=this.methods[a];if(e)if(t){var i=e.indexOf(t);-1!==i&&(e.splice(i,1),0===e.length&&delete this.methods[a])}else delete this.methods[a]}},o.prototype.onclose=function(a){a&&this.closedCallbacks.push(a)},o.prototype.onreconnecting=function(a){a&&this.reconnectingCallbacks.push(a)},o.prototype.onreconnected=function(a){a&&this.reconnectedCallbacks.push(a)},o.prototype.processIncomingData=function(a){if(this.cleanupTimeout(),this.receivedHandshakeResponse||(a=this.processHandshakeResponse(a),this.receivedHandshakeResponse=!0),a)for(var e=0,i=this.protocol.parseMessages(a,this.logger);e<i.length;e++){var r=i[e];switch(r.type){case w.Invocation:this.invokeClientMethod(r);break;case w.StreamItem:case w.Completion:var c=this.callbacks[r.invocationId];c&&(r.type===w.Completion&&delete this.callbacks[r.invocationId],c(r));break;case w.Ping:break;case w.Close:this.logger.log(u.Information,"Close message received from server.");var l=r.error?new Error("Server returned an error on close: "+r.error):void 0;!0===r.allowReconnect?this.connection.stop(l):this.stopPromise=this.stopInternal(l);break;default:this.logger.log(u.Warning,"Invalid message type: "+r.type+".")}}this.resetTimeoutPeriod()},o.prototype.processHandshakeResponse=function(a){var t,e,i,r;try{i=(t=this.handshakeProtocol.parseHandshakeResponse(a))[0],e=t[1]}catch(l){this.logger.log(u.Error,r="Error parsing handshake response: "+l);var c=new Error(r);throw this.handshakeRejecter(c),c}if(e.error)throw this.logger.log(u.Error,r="Server returned handshake error: "+e.error),c=new Error(r),this.handshakeRejecter(c),c;return this.logger.log(u.Debug,"Server handshake complete."),this.handshakeResolver(),i},o.prototype.resetKeepAliveInterval=function(){this.connection.features.inherentKeepAlive||(this.nextKeepAlive=(new Date).getTime()+this.keepAliveIntervalInMilliseconds,this.cleanupPingTimer())},o.prototype.resetTimeoutPeriod=function(){var a=this;if(!(this.connection.features&&this.connection.features.inherentKeepAlive||(this.timeoutHandle=setTimeout(function(){return a.serverTimeout()},this.serverTimeoutInMilliseconds),void 0!==this.pingServerHandle))){var t=this.nextKeepAlive-(new Date).getTime();t<0&&(t=0),this.pingServerHandle=setTimeout(function(){return Zn(a,void 0,void 0,function(){return Nn(this,function(i){switch(i.label){case 0:if(this.connectionState!==k.Connected)return[3,4];i.label=1;case 1:return i.trys.push([1,3,,4]),[4,this.sendMessage(this.cachedPingMessage)];case 2:return i.sent(),[3,4];case 3:return i.sent(),this.cleanupPingTimer(),[3,4];case 4:return[2]}})})},t)}},o.prototype.serverTimeout=function(){this.connection.stop(new Error("Server timeout elapsed without receiving a message from the server."))},o.prototype.invokeClientMethod=function(a){var t=this,e=this.methods[a.target.toLowerCase()];if(e){try{e.forEach(function(r){return r.apply(t,a.arguments)})}catch(r){this.logger.log(u.Error,"A callback for the method "+a.target.toLowerCase()+" threw error '"+r+"'.")}if(a.invocationId){var i="Server requested a response, which is not supported in this version of the client.";this.logger.log(u.Error,i),this.stopPromise=this.stopInternal(new Error(i))}}else this.logger.log(u.Warning,"No client method with the name '"+a.target+"' found.")},o.prototype.connectionClosed=function(a){this.logger.log(u.Debug,"HubConnection.connectionClosed("+a+") called while in state "+this.connectionState+"."),this.stopDuringStartError=this.stopDuringStartError||a||new Error("The underlying connection was closed before the hub handshake could complete."),this.handshakeResolver&&this.handshakeResolver(),this.cancelCallbacksWithError(a||new Error("Invocation canceled due to the underlying connection being closed.")),this.cleanupTimeout(),this.cleanupPingTimer(),this.connectionState===k.Disconnecting?this.completeClose(a):this.connectionState===k.Connected&&this.reconnectPolicy?this.reconnect(a):this.connectionState===k.Connected&&this.completeClose(a)},o.prototype.completeClose=function(a){var t=this;if(this.connectionStarted){this.connectionState=k.Disconnected,this.connectionStarted=!1;try{this.closedCallbacks.forEach(function(e){return e.apply(t,[a])})}catch(e){this.logger.log(u.Error,"An onclose callback called with error '"+a+"' threw error '"+e+"'.")}}},o.prototype.reconnect=function(a){return Zn(this,void 0,void 0,function(){var t,e,i,r,c,l=this;return Nn(this,function(d){switch(d.label){case 0:if(t=Date.now(),e=0,i=void 0!==a?a:new Error("Attempting to reconnect due to a unknown error."),null===(r=this.getNextRetryDelay(e++,0,i)))return this.logger.log(u.Debug,"Connection not reconnecting because the IRetryPolicy returned null on the first reconnect attempt."),this.completeClose(a),[2];if(this.connectionState=k.Reconnecting,this.logger.log(u.Information,a?"Connection reconnecting because of error '"+a+"'.":"Connection reconnecting."),this.onreconnecting){try{this.reconnectingCallbacks.forEach(function(s){return s.apply(l,[a])})}catch(s){this.logger.log(u.Error,"An onreconnecting callback called with error '"+a+"' threw error '"+s+"'.")}if(this.connectionState!==k.Reconnecting)return this.logger.log(u.Debug,"Connection left the reconnecting state in onreconnecting callback. Done reconnecting."),[2]}d.label=1;case 1:return null===r?[3,7]:(this.logger.log(u.Information,"Reconnect attempt number "+e+" will start in "+r+" ms."),[4,new Promise(function(s){l.reconnectDelayHandle=setTimeout(s,r)})]);case 2:if(d.sent(),this.reconnectDelayHandle=void 0,this.connectionState!==k.Reconnecting)return this.logger.log(u.Debug,"Connection left the reconnecting state during reconnect delay. Done reconnecting."),[2];d.label=3;case 3:return d.trys.push([3,5,,6]),[4,this.startInternal()];case 4:if(d.sent(),this.connectionState=k.Connected,this.logger.log(u.Information,"HubConnection reconnected successfully."),this.onreconnected)try{this.reconnectedCallbacks.forEach(function(s){return s.apply(l,[l.connection.connectionId])})}catch(s){this.logger.log(u.Error,"An onreconnected callback called with connectionId '"+this.connection.connectionId+"; threw error '"+s+"'.")}return[2];case 5:return c=d.sent(),this.logger.log(u.Information,"Reconnect attempt failed because of error '"+c+"'."),this.connectionState!==k.Reconnecting?(this.logger.log(u.Debug,"Connection moved to the '"+this.connectionState+"' from the reconnecting state during reconnect attempt. Done reconnecting."),this.connectionState===k.Disconnecting&&this.completeClose(),[2]):(i=c instanceof Error?c:new Error(c.toString()),r=this.getNextRetryDelay(e++,Date.now()-t,i),[3,6]);case 6:return[3,1];case 7:return this.logger.log(u.Information,"Reconnect retries have been exhausted after "+(Date.now()-t)+" ms and "+e+" failed attempts. Connection disconnecting."),this.completeClose(),[2]}})})},o.prototype.getNextRetryDelay=function(a,t,e){try{return this.reconnectPolicy.nextRetryDelayInMilliseconds({elapsedMilliseconds:t,previousRetryCount:a,retryReason:e})}catch(i){return this.logger.log(u.Error,"IRetryPolicy.nextRetryDelayInMilliseconds("+a+", "+t+") threw error '"+i+"'."),null}},o.prototype.cancelCallbacksWithError=function(a){var t=this.callbacks;this.callbacks={},Object.keys(t).forEach(function(e){(0,t[e])(null,a)})},o.prototype.cleanupPingTimer=function(){this.pingServerHandle&&(clearTimeout(this.pingServerHandle),this.pingServerHandle=void 0)},o.prototype.cleanupTimeout=function(){this.timeoutHandle&&clearTimeout(this.timeoutHandle)},o.prototype.createInvocation=function(a,t,e,i){if(e)return 0!==i.length?{arguments:t,streamIds:i,target:a,type:w.Invocation}:{arguments:t,target:a,type:w.Invocation};var r=this.invocationId;return this.invocationId++,0!==i.length?{arguments:t,invocationId:r.toString(),streamIds:i,target:a,type:w.Invocation}:{arguments:t,invocationId:r.toString(),target:a,type:w.Invocation}},o.prototype.launchStreams=function(a,t){var e=this;if(0!==a.length){t||(t=Promise.resolve());var i=function(c){a[c].subscribe({complete:function(){t=t.then(function(){return e.sendWithProtocol(e.createCompletionMessage(c))})},error:function(l){var d;d=l instanceof Error?l.message:l&&l.toString?l.toString():"Unknown error",t=t.then(function(){return e.sendWithProtocol(e.createCompletionMessage(c,d))})},next:function(l){t=t.then(function(){return e.sendWithProtocol(e.createStreamItemMessage(c,l))})}})};for(var r in a)i(r)}},o.prototype.replaceStreamingParams=function(a){for(var t=[],e=[],i=0;i<a.length;i++){var r=a[i];if(this.isObservable(r)){var c=this.invocationId;this.invocationId++,t[c]=r,e.push(c.toString()),a.splice(i,1)}}return[t,e]},o.prototype.isObservable=function(a){return a&&a.subscribe&&"function"==typeof a.subscribe},o.prototype.createStreamInvocation=function(a,t,e){var i=this.invocationId;return this.invocationId++,0!==e.length?{arguments:t,invocationId:i.toString(),streamIds:e,target:a,type:w.StreamInvocation}:{arguments:t,invocationId:i.toString(),target:a,type:w.StreamInvocation}},o.prototype.createCancelInvocation=function(a){return{invocationId:a,type:w.CancelInvocation}},o.prototype.createStreamItemMessage=function(a,t){return{invocationId:a,item:t,type:w.StreamItem}},o.prototype.createCompletionMessage=function(a,t,e){return t?{error:t,invocationId:a,type:w.Completion}:{invocationId:a,result:e,type:w.Completion}},o}(),We=[0,2e3,1e4,3e4,null],xt=function(){function o(a){this.retryDelays=void 0!==a?a.concat([null]):We}return o.prototype.nextRetryDelayInMilliseconds=function(a){return this.retryDelays[a.previousRetryCount]},o}(),Q=(()=>(function(o){o[o.None=0]="None",o[o.WebSockets=1]="WebSockets",o[o.ServerSentEvents=2]="ServerSentEvents",o[o.LongPolling=4]="LongPolling"}(Q||(Q={})),Q))(),U=(()=>(function(o){o[o.Text=1]="Text",o[o.Binary=2]="Binary"}(U||(U={})),U))(),Ke=function(){function o(){this.isAborted=!1,this.onabort=null}return o.prototype.abort=function(){this.isAborted||(this.isAborted=!0,this.onabort&&this.onabort())},Object.defineProperty(o.prototype,"signal",{get:function(){return this},enumerable:!0,configurable:!0}),Object.defineProperty(o.prototype,"aborted",{get:function(){return this.isAborted},enumerable:!0,configurable:!0}),o}(),vt=Object.assign||function(o){for(var a,t=1,e=arguments.length;t<e;t++)for(var i in a=arguments[t])Object.prototype.hasOwnProperty.call(a,i)&&(o[i]=a[i]);return o},qn=function(o,a,t,e){return new(t||(t=Promise))(function(i,r){function c(s){try{d(e.next(s))}catch(p){r(p)}}function l(s){try{d(e.throw(s))}catch(p){r(p)}}function d(s){s.done?i(s.value):new t(function(p){p(s.value)}).then(c,l)}d((e=e.apply(o,a||[])).next())})},Rn=function(o,a){var e,i,r,c,t={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return c={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(c[Symbol.iterator]=function(){return this}),c;function l(s){return function(p){return function(s){if(e)throw new TypeError("Generator is already executing.");for(;t;)try{if(e=1,i&&(r=2&s[0]?i.return:s[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,s[1])).done)return r;switch(i=0,r&&(s=[2&s[0],r.value]),s[0]){case 0:case 1:r=s;break;case 4:return t.label++,{value:s[1],done:!1};case 5:t.label++,i=s[1],s=[0];continue;case 7:s=t.ops.pop(),t.trys.pop();continue;default:if(!(r=(r=t.trys).length>0&&r[r.length-1])&&(6===s[0]||2===s[0])){t=0;continue}if(3===s[0]&&(!r||s[1]>r[0]&&s[1]<r[3])){t.label=s[1];break}if(6===s[0]&&t.label<r[1]){t.label=r[1],r=s;break}if(r&&t.label<r[2]){t.label=r[2],t.ops.push(s);break}r[2]&&t.ops.pop(),t.trys.pop();continue}s=a.call(o,t)}catch(p){s=[6,p],i=0}finally{e=r=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,p])}}},yt=function(){function o(a,t,e,i,r,c){this.httpClient=a,this.accessTokenFactory=t,this.logger=e,this.pollAbort=new Ke,this.logMessageContent=i,this.withCredentials=r,this.headers=c,this.running=!1,this.onreceive=null,this.onclose=null}return Object.defineProperty(o.prototype,"pollAborted",{get:function(){return this.pollAbort.aborted},enumerable:!0,configurable:!0}),o.prototype.connect=function(a,t){return qn(this,void 0,void 0,function(){var e,i,l,d,s,p,f;return Rn(this,function(M){switch(M.label){case 0:if(E.isRequired(a,"url"),E.isRequired(t,"transferFormat"),E.isIn(t,U,"transferFormat"),this.url=a,this.logger.log(u.Trace,"(LongPolling transport) Connecting."),t===U.Binary&&"undefined"!=typeof XMLHttpRequest&&"string"!=typeof(new XMLHttpRequest).responseType)throw new Error("Binary protocols over XmlHttpRequest not implementing advanced features are not supported.");return i=On(),l=vt(((e={})[i[0]]=i[1],e),this.headers),d={abortSignal:this.pollAbort.signal,headers:l,timeout:1e5,withCredentials:this.withCredentials},t===U.Binary&&(d.responseType="arraybuffer"),[4,this.getAccessToken()];case 1:return s=M.sent(),this.updateHeaderToken(d,s),p=a+"&_="+Date.now(),this.logger.log(u.Trace,"(LongPolling transport) polling: "+p+"."),[4,this.httpClient.get(p,d)];case 2:return 200!==(f=M.sent()).statusCode?(this.logger.log(u.Error,"(LongPolling transport) Unexpected response code: "+f.statusCode+"."),this.closeError=new kn(f.statusText||"",f.statusCode),this.running=!1):this.running=!0,this.receiving=this.poll(this.url,d),[2]}})})},o.prototype.getAccessToken=function(){return qn(this,void 0,void 0,function(){return Rn(this,function(a){switch(a.label){case 0:return this.accessTokenFactory?[4,this.accessTokenFactory()]:[3,2];case 1:return[2,a.sent()];case 2:return[2,null]}})})},o.prototype.updateHeaderToken=function(a,t){a.headers||(a.headers={}),t?a.headers.Authorization="Bearer "+t:a.headers.Authorization&&delete a.headers.Authorization},o.prototype.poll=function(a,t){return qn(this,void 0,void 0,function(){var e,i,r,c;return Rn(this,function(l){switch(l.label){case 0:l.trys.push([0,,8,9]),l.label=1;case 1:return this.running?[4,this.getAccessToken()]:[3,7];case 2:e=l.sent(),this.updateHeaderToken(t,e),l.label=3;case 3:return l.trys.push([3,5,,6]),i=a+"&_="+Date.now(),this.logger.log(u.Trace,"(LongPolling transport) polling: "+i+"."),[4,this.httpClient.get(i,t)];case 4:return 204===(r=l.sent()).statusCode?(this.logger.log(u.Information,"(LongPolling transport) Poll terminated by server."),this.running=!1):200!==r.statusCode?(this.logger.log(u.Error,"(LongPolling transport) Unexpected response code: "+r.statusCode+"."),this.closeError=new kn(r.statusText||"",r.statusCode),this.running=!1):r.content?(this.logger.log(u.Trace,"(LongPolling transport) data received. "+An(r.content,this.logMessageContent)+"."),this.onreceive&&this.onreceive(r.content)):this.logger.log(u.Trace,"(LongPolling transport) Poll timed out, reissuing."),[3,6];case 5:return c=l.sent(),this.running?c instanceof ot?this.logger.log(u.Trace,"(LongPolling transport) Poll timed out, reissuing."):(this.closeError=c,this.running=!1):this.logger.log(u.Trace,"(LongPolling transport) Poll errored after shutdown: "+c.message),[3,6];case 6:return[3,1];case 7:return[3,9];case 8:return this.logger.log(u.Trace,"(LongPolling transport) Polling complete."),this.pollAborted||this.raiseOnClose(),[7];case 9:return[2]}})})},o.prototype.send=function(a){return qn(this,void 0,void 0,function(){return Rn(this,function(t){return this.running?[2,bt(this.logger,"LongPolling",this.httpClient,this.url,this.accessTokenFactory,a,this.logMessageContent,this.withCredentials,this.headers)]:[2,Promise.reject(new Error("Cannot send until the transport is connected"))]})})},o.prototype.stop=function(){return qn(this,void 0,void 0,function(){var a,t,r,c;return Rn(this,function(l){switch(l.label){case 0:this.logger.log(u.Trace,"(LongPolling transport) Stopping polling."),this.running=!1,this.pollAbort.abort(),l.label=1;case 1:return l.trys.push([1,,5,6]),[4,this.receiving];case 2:return l.sent(),this.logger.log(u.Trace,"(LongPolling transport) sending DELETE request to "+this.url+"."),a={},t=On(),a[t[0]]=t[1],r={headers:vt({},a,this.headers),withCredentials:this.withCredentials},[4,this.getAccessToken()];case 3:return c=l.sent(),this.updateHeaderToken(r,c),[4,this.httpClient.delete(this.url,r)];case 4:return l.sent(),this.logger.log(u.Trace,"(LongPolling transport) DELETE request sent."),[3,6];case 5:return this.logger.log(u.Trace,"(LongPolling transport) Stop finished."),this.raiseOnClose(),[7];case 6:return[2]}})})},o.prototype.raiseOnClose=function(){if(this.onclose){var a="(LongPolling transport) Firing onclose event.";this.closeError&&(a+=" Error: "+this.closeError),this.logger.log(u.Trace,a),this.onclose(this.closeError)}},o}(),Xe=Object.assign||function(o){for(var a,t=1,e=arguments.length;t<e;t++)for(var i in a=arguments[t])Object.prototype.hasOwnProperty.call(a,i)&&(o[i]=a[i]);return o},Dt=function(o,a,t,e){return new(t||(t=Promise))(function(i,r){function c(s){try{d(e.next(s))}catch(p){r(p)}}function l(s){try{d(e.throw(s))}catch(p){r(p)}}function d(s){s.done?i(s.value):new t(function(p){p(s.value)}).then(c,l)}d((e=e.apply(o,a||[])).next())})},St=function(o,a){var e,i,r,c,t={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return c={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(c[Symbol.iterator]=function(){return this}),c;function l(s){return function(p){return function(s){if(e)throw new TypeError("Generator is already executing.");for(;t;)try{if(e=1,i&&(r=2&s[0]?i.return:s[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,s[1])).done)return r;switch(i=0,r&&(s=[2&s[0],r.value]),s[0]){case 0:case 1:r=s;break;case 4:return t.label++,{value:s[1],done:!1};case 5:t.label++,i=s[1],s=[0];continue;case 7:s=t.ops.pop(),t.trys.pop();continue;default:if(!(r=(r=t.trys).length>0&&r[r.length-1])&&(6===s[0]||2===s[0])){t=0;continue}if(3===s[0]&&(!r||s[1]>r[0]&&s[1]<r[3])){t.label=s[1];break}if(6===s[0]&&t.label<r[1]){t.label=r[1],r=s;break}if(r&&t.label<r[2]){t.label=r[2],t.ops.push(s);break}r[2]&&t.ops.pop(),t.trys.pop();continue}s=a.call(o,t)}catch(p){s=[6,p],i=0}finally{e=r=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,p])}}},no=function(){function o(a,t,e,i,r,c,l){this.httpClient=a,this.accessTokenFactory=t,this.logger=e,this.logMessageContent=i,this.withCredentials=c,this.eventSourceConstructor=r,this.headers=l,this.onreceive=null,this.onclose=null}return o.prototype.connect=function(a,t){return Dt(this,void 0,void 0,function(){var e,i=this;return St(this,function(r){switch(r.label){case 0:return E.isRequired(a,"url"),E.isRequired(t,"transferFormat"),E.isIn(t,U,"transferFormat"),this.logger.log(u.Trace,"(SSE transport) Connecting."),this.url=a,this.accessTokenFactory?[4,this.accessTokenFactory()]:[3,2];case 1:(e=r.sent())&&(a+=(a.indexOf("?")<0?"?":"&")+"access_token="+encodeURIComponent(e)),r.label=2;case 2:return[2,new Promise(function(c,l){var d=!1;if(t===U.Text){var s;if(V.isBrowser||V.isWebWorker)s=new i.eventSourceConstructor(a,{withCredentials:i.withCredentials});else{var p=i.httpClient.getCookieString(a),f={};f.Cookie=p;var M=On();f[M[0]]=M[1],s=new i.eventSourceConstructor(a,{withCredentials:i.withCredentials,headers:Xe({},f,i.headers)})}try{s.onmessage=function(v){if(i.onreceive)try{i.logger.log(u.Trace,"(SSE transport) data received. "+An(v.data,i.logMessageContent)+"."),i.onreceive(v.data)}catch(x){return void i.close(x)}},s.onerror=function(v){var x=new Error(v.data||"Error occurred");d?i.close(x):l(x)},s.onopen=function(){i.logger.log(u.Information,"SSE connected to "+i.url),i.eventSource=s,d=!0,c()}}catch(v){return void l(v)}}else l(new Error("The Server-Sent Events transport only supports the 'Text' transfer format"))})]}})})},o.prototype.send=function(a){return Dt(this,void 0,void 0,function(){return St(this,function(t){return this.eventSource?[2,bt(this.logger,"SSE",this.httpClient,this.url,this.accessTokenFactory,a,this.logMessageContent,this.withCredentials,this.headers)]:[2,Promise.reject(new Error("Cannot send until the transport is connected"))]})})},o.prototype.stop=function(){return this.close(),Promise.resolve()},o.prototype.close=function(a){this.eventSource&&(this.eventSource.close(),this.eventSource=void 0,this.onclose&&this.onclose(a))},o}(),to=Object.assign||function(o){for(var a,t=1,e=arguments.length;t<e;t++)for(var i in a=arguments[t])Object.prototype.hasOwnProperty.call(a,i)&&(o[i]=a[i]);return o},io=function(){function o(a,t,e,i,r,c){this.logger=e,this.accessTokenFactory=t,this.logMessageContent=i,this.webSocketConstructor=r,this.httpClient=a,this.onreceive=null,this.onclose=null,this.headers=c}return o.prototype.connect=function(a,t){return function(o,a,t,e){return new(t||(t=Promise))(function(i,r){function c(s){try{d(e.next(s))}catch(p){r(p)}}function l(s){try{d(e.throw(s))}catch(p){r(p)}}function d(s){s.done?i(s.value):new t(function(p){p(s.value)}).then(c,l)}d((e=e.apply(o,[])).next())})}(this,0,void 0,function(){var e,i=this;return function(o,a){var e,i,r,c,t={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return c={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(c[Symbol.iterator]=function(){return this}),c;function l(s){return function(p){return function(s){if(e)throw new TypeError("Generator is already executing.");for(;t;)try{if(e=1,i&&(r=2&s[0]?i.return:s[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,s[1])).done)return r;switch(i=0,r&&(s=[2&s[0],r.value]),s[0]){case 0:case 1:r=s;break;case 4:return t.label++,{value:s[1],done:!1};case 5:t.label++,i=s[1],s=[0];continue;case 7:s=t.ops.pop(),t.trys.pop();continue;default:if(!(r=(r=t.trys).length>0&&r[r.length-1])&&(6===s[0]||2===s[0])){t=0;continue}if(3===s[0]&&(!r||s[1]>r[0]&&s[1]<r[3])){t.label=s[1];break}if(6===s[0]&&t.label<r[1]){t.label=r[1],r=s;break}if(r&&t.label<r[2]){t.label=r[2],t.ops.push(s);break}r[2]&&t.ops.pop(),t.trys.pop();continue}s=a.call(o,t)}catch(p){s=[6,p],i=0}finally{e=r=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,p])}}}(this,function(r){switch(r.label){case 0:return E.isRequired(a,"url"),E.isRequired(t,"transferFormat"),E.isIn(t,U,"transferFormat"),this.logger.log(u.Trace,"(WebSockets transport) Connecting."),this.accessTokenFactory?[4,this.accessTokenFactory()]:[3,2];case 1:(e=r.sent())&&(a+=(a.indexOf("?")<0?"?":"&")+"access_token="+encodeURIComponent(e)),r.label=2;case 2:return[2,new Promise(function(c,l){a=a.replace(/^http/,"ws");var d,s=i.httpClient.getCookieString(a),p=!1;if(V.isNode){var f={},M=On();f[M[0]]=M[1],s&&(f.Cookie=""+s),d=new i.webSocketConstructor(a,void 0,{headers:to({},f,i.headers)})}d||(d=new i.webSocketConstructor(a)),t===U.Binary&&(d.binaryType="arraybuffer"),d.onopen=function(v){i.logger.log(u.Information,"WebSocket connected to "+a+"."),i.webSocket=d,p=!0,c()},d.onerror=function(v){var x;x="undefined"!=typeof ErrorEvent&&v instanceof ErrorEvent?v.error:new Error("There was an error with the transport."),l(x)},d.onmessage=function(v){if(i.logger.log(u.Trace,"(WebSockets transport) data received. "+An(v.data,i.logMessageContent)+"."),i.onreceive)try{i.onreceive(v.data)}catch(x){return void i.close(x)}},d.onclose=function(v){if(p)i.close(v);else{var x;x="undefined"!=typeof ErrorEvent&&v instanceof ErrorEvent?v.error:new Error("There was an error with the transport."),l(x)}}})]}})})},o.prototype.send=function(a){return this.webSocket&&this.webSocket.readyState===this.webSocketConstructor.OPEN?(this.logger.log(u.Trace,"(WebSockets transport) sending data. "+An(a,this.logMessageContent)+"."),this.webSocket.send(a),Promise.resolve()):Promise.reject("WebSocket is not in the OPEN state")},o.prototype.stop=function(){return this.webSocket&&this.close(void 0),Promise.resolve()},o.prototype.close=function(a){this.webSocket&&(this.webSocket.onclose=function(){},this.webSocket.onmessage=function(){},this.webSocket.onerror=function(){},this.webSocket.close(),this.webSocket=void 0),this.logger.log(u.Trace,"(WebSockets transport) socket closed."),this.onclose&&(!this.isCloseEvent(a)||!1!==a.wasClean&&1e3===a.code?a instanceof Error?this.onclose(a):this.onclose():this.onclose(new Error("WebSocket closed with status code: "+a.code+" ("+a.reason+").")))},o.prototype.isCloseEvent=function(a){return a&&"boolean"==typeof a.wasClean&&"number"==typeof a.code},o}(),ro=Object.assign||function(o){for(var a,t=1,e=arguments.length;t<e;t++)for(var i in a=arguments[t])Object.prototype.hasOwnProperty.call(a,i)&&(o[i]=a[i]);return o},mn=function(o,a,t,e){return new(t||(t=Promise))(function(i,r){function c(s){try{d(e.next(s))}catch(p){r(p)}}function l(s){try{d(e.throw(s))}catch(p){r(p)}}function d(s){s.done?i(s.value):new t(function(p){p(s.value)}).then(c,l)}d((e=e.apply(o,a||[])).next())})},sn=function(o,a){var e,i,r,c,t={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return c={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(c[Symbol.iterator]=function(){return this}),c;function l(s){return function(p){return function(s){if(e)throw new TypeError("Generator is already executing.");for(;t;)try{if(e=1,i&&(r=2&s[0]?i.return:s[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,s[1])).done)return r;switch(i=0,r&&(s=[2&s[0],r.value]),s[0]){case 0:case 1:r=s;break;case 4:return t.label++,{value:s[1],done:!1};case 5:t.label++,i=s[1],s=[0];continue;case 7:s=t.ops.pop(),t.trys.pop();continue;default:if(!(r=(r=t.trys).length>0&&r[r.length-1])&&(6===s[0]||2===s[0])){t=0;continue}if(3===s[0]&&(!r||s[1]>r[0]&&s[1]<r[3])){t.label=s[1];break}if(6===s[0]&&t.label<r[1]){t.label=r[1],r=s;break}if(r&&t.label<r[2]){t.label=r[2],t.ops.push(s);break}r[2]&&t.ops.pop(),t.trys.pop();continue}s=a.call(o,t)}catch(p){s=[6,p],i=0}finally{e=r=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,p])}}},ao=function(){function o(a,t){if(void 0===t&&(t={}),this.stopPromiseResolver=function(){},this.features={},this.negotiateVersion=1,E.isRequired(a,"url"),this.logger=function(o){return void 0===o?new Bn(u.Information):null===o?at.instance:o.log?o:new Bn(o)}(t.logger),this.baseUrl=this.resolveUrl(a),(t=t||{}).logMessageContent=void 0!==t.logMessageContent&&t.logMessageContent,"boolean"!=typeof t.withCredentials&&void 0!==t.withCredentials)throw new Error("withCredentials option was not a 'boolean' or 'undefined' value");t.withCredentials=void 0===t.withCredentials||t.withCredentials;var e=null,i=null;if(V.isNode){var r=require;e=r("ws"),i=r("eventsource")}V.isNode||"undefined"==typeof WebSocket||t.WebSocket?V.isNode&&!t.WebSocket&&e&&(t.WebSocket=e):t.WebSocket=WebSocket,V.isNode||"undefined"==typeof EventSource||t.EventSource?V.isNode&&!t.EventSource&&void 0!==i&&(t.EventSource=i):t.EventSource=EventSource,this.httpClient=t.httpClient||new Be(this.logger),this.connectionState="Disconnected",this.connectionStarted=!1,this.options=t,this.onreceive=null,this.onclose=null}return o.prototype.start=function(a){return mn(this,void 0,void 0,function(){var t;return sn(this,function(e){switch(e.label){case 0:return E.isIn(a=a||U.Binary,U,"transferFormat"),this.logger.log(u.Debug,"Starting connection with transfer format '"+U[a]+"'."),"Disconnected"!==this.connectionState?[2,Promise.reject(new Error("Cannot start an HttpConnection that is not in the 'Disconnected' state."))]:(this.connectionState="Connecting",this.startInternalPromise=this.startInternal(a),[4,this.startInternalPromise]);case 1:return e.sent(),"Disconnecting"!==this.connectionState?[3,3]:(this.logger.log(u.Error,t="Failed to start the HttpConnection before stop() was called."),[4,this.stopPromise]);case 2:return e.sent(),[2,Promise.reject(new Error(t))];case 3:if("Connected"!==this.connectionState)return this.logger.log(u.Error,t="HttpConnection.startInternal completed gracefully but didn't enter the connection into the connected state!"),[2,Promise.reject(new Error(t))];e.label=4;case 4:return this.connectionStarted=!0,[2]}})})},o.prototype.send=function(a){return"Connected"!==this.connectionState?Promise.reject(new Error("Cannot send data if the connection is not in the 'Connected' State.")):(this.sendQueue||(this.sendQueue=new so(this.transport)),this.sendQueue.send(a))},o.prototype.stop=function(a){return mn(this,void 0,void 0,function(){var t=this;return sn(this,function(e){switch(e.label){case 0:return"Disconnected"===this.connectionState?(this.logger.log(u.Debug,"Call to HttpConnection.stop("+a+") ignored because the connection is already in the disconnected state."),[2,Promise.resolve()]):"Disconnecting"===this.connectionState?(this.logger.log(u.Debug,"Call to HttpConnection.stop("+a+") ignored because the connection is already in the disconnecting state."),[2,this.stopPromise]):(this.connectionState="Disconnecting",this.stopPromise=new Promise(function(i){t.stopPromiseResolver=i}),[4,this.stopInternal(a)]);case 1:return e.sent(),[4,this.stopPromise];case 2:return e.sent(),[2]}})})},o.prototype.stopInternal=function(a){return mn(this,void 0,void 0,function(){var e;return sn(this,function(i){switch(i.label){case 0:this.stopError=a,i.label=1;case 1:return i.trys.push([1,3,,4]),[4,this.startInternalPromise];case 2:case 3:return i.sent(),[3,4];case 4:if(!this.transport)return[3,9];i.label=5;case 5:return i.trys.push([5,7,,8]),[4,this.transport.stop()];case 6:return i.sent(),[3,8];case 7:return e=i.sent(),this.logger.log(u.Error,"HttpConnection.transport.stop() threw error '"+e+"'."),this.stopConnection(),[3,8];case 8:return this.transport=void 0,[3,10];case 9:this.logger.log(u.Debug,"HttpConnection.transport is undefined in HttpConnection.stop() because start() failed."),i.label=10;case 10:return[2]}})})},o.prototype.startInternal=function(a){return mn(this,void 0,void 0,function(){var t,e,i,r,c,l;return sn(this,function(d){switch(d.label){case 0:t=this.baseUrl,this.accessTokenFactory=this.options.accessTokenFactory,d.label=1;case 1:return d.trys.push([1,12,,13]),this.options.skipNegotiation?this.options.transport!==Q.WebSockets?[3,3]:(this.transport=this.constructTransport(Q.WebSockets),[4,this.startTransport(t,a)]):[3,5];case 2:return d.sent(),[3,4];case 3:throw new Error("Negotiation can only be skipped when using the WebSocket transport directly.");case 4:return[3,11];case 5:e=null,i=0,r=function(){var s;return sn(this,function(p){switch(p.label){case 0:return[4,c.getNegotiationResponse(t)];case 1:if(e=p.sent(),"Disconnecting"===c.connectionState||"Disconnected"===c.connectionState)throw new Error("The connection was stopped during negotiation.");if(e.error)throw new Error(e.error);if(e.ProtocolVersion)throw new Error("Detected a connection attempt to an ASP.NET SignalR Server. This client only supports connecting to an ASP.NET Core SignalR Server. See https://aka.ms/signalr-core-differences for details.");return e.url&&(t=e.url),e.accessToken&&(s=e.accessToken,c.accessTokenFactory=function(){return s}),i++,[2]}})},c=this,d.label=6;case 6:return[5,r()];case 7:d.sent(),d.label=8;case 8:if(e.url&&i<100)return[3,6];d.label=9;case 9:if(100===i&&e.url)throw new Error("Negotiate redirection limit exceeded.");return[4,this.createTransport(t,this.options.transport,e,a)];case 10:d.sent(),d.label=11;case 11:return this.transport instanceof yt&&(this.features.inherentKeepAlive=!0),"Connecting"===this.connectionState&&(this.logger.log(u.Debug,"The HttpConnection connected successfully."),this.connectionState="Connected"),[3,13];case 12:return l=d.sent(),this.logger.log(u.Error,"Failed to start the connection: "+l),this.connectionState="Disconnected",this.transport=void 0,this.stopPromiseResolver(),[2,Promise.reject(l)];case 13:return[2]}})})},o.prototype.getNegotiationResponse=function(a){return mn(this,void 0,void 0,function(){var t,e,i,l,d,s,p;return sn(this,function(f){switch(f.label){case 0:return t={},this.accessTokenFactory?[4,this.accessTokenFactory()]:[3,2];case 1:(e=f.sent())&&(t.Authorization="Bearer "+e),f.label=2;case 2:i=On(),t[i[0]]=i[1],l=this.resolveNegotiateUrl(a),this.logger.log(u.Debug,"Sending negotiation request: "+l+"."),f.label=3;case 3:return f.trys.push([3,5,,6]),[4,this.httpClient.post(l,{content:"",headers:ro({},t,this.options.headers),withCredentials:this.options.withCredentials})];case 4:return 200!==(d=f.sent()).statusCode?[2,Promise.reject(new Error("Unexpected status code returned from negotiate '"+d.statusCode+"'"))]:((!(s=JSON.parse(d.content)).negotiateVersion||s.negotiateVersion<1)&&(s.connectionToken=s.connectionId),[2,s]);case 5:return p=f.sent(),this.logger.log(u.Error,"Failed to complete negotiation with the server: "+p),[2,Promise.reject(p)];case 6:return[2]}})})},o.prototype.createConnectUrl=function(a,t){return t?a+(-1===a.indexOf("?")?"?":"&")+"id="+t:a},o.prototype.createTransport=function(a,t,e,i){return mn(this,void 0,void 0,function(){var r,c,d,s,p,f,M,b,I;return sn(this,function(x){switch(x.label){case 0:return r=this.createConnectUrl(a,e.connectionToken),this.isITransport(t)?(this.logger.log(u.Debug,"Connection was provided an instance of ITransport, using that directly."),this.transport=t,[4,this.startTransport(r,i)]):[3,2];case 1:return x.sent(),this.connectionId=e.connectionId,[2];case 2:c=[],d=e,s=0,p=e.availableTransports||[],x.label=3;case 3:return s<p.length?(M=this.resolveTransportOrError(f=p[s],t,i))instanceof Error?(c.push(f.transport+" failed: "+M),[3,12]):[3,4]:[3,13];case 4:if(!this.isITransport(M))return[3,12];if(this.transport=M,d)return[3,9];x.label=5;case 5:return x.trys.push([5,7,,8]),[4,this.getNegotiationResponse(a)];case 6:return d=x.sent(),[3,8];case 7:return b=x.sent(),[2,Promise.reject(b)];case 8:r=this.createConnectUrl(a,d.connectionToken),x.label=9;case 9:return x.trys.push([9,11,,12]),[4,this.startTransport(r,i)];case 10:return x.sent(),this.connectionId=d.connectionId,[2];case 11:return I=x.sent(),this.logger.log(u.Error,"Failed to start the transport '"+f.transport+"': "+I),d=void 0,c.push(f.transport+" failed: "+I),"Connecting"!==this.connectionState?(this.logger.log(u.Debug,"Failed to select transport before stop() was called."),[2,Promise.reject(new Error("Failed to select transport before stop() was called."))]):[3,12];case 12:return s++,[3,3];case 13:return c.length>0?[2,Promise.reject(new Error("Unable to connect to the server with any of the available transports. "+c.join(" ")))]:[2,Promise.reject(new Error("None of the transports supported by the client are supported by the server."))]}})})},o.prototype.constructTransport=function(a){switch(a){case Q.WebSockets:if(!this.options.WebSocket)throw new Error("'WebSocket' is not supported in your environment.");return new io(this.httpClient,this.accessTokenFactory,this.logger,this.options.logMessageContent||!1,this.options.WebSocket,this.options.headers||{});case Q.ServerSentEvents:if(!this.options.EventSource)throw new Error("'EventSource' is not supported in your environment.");return new no(this.httpClient,this.accessTokenFactory,this.logger,this.options.logMessageContent||!1,this.options.EventSource,this.options.withCredentials,this.options.headers||{});case Q.LongPolling:return new yt(this.httpClient,this.accessTokenFactory,this.logger,this.options.logMessageContent||!1,this.options.withCredentials,this.options.headers||{});default:throw new Error("Unknown transport: "+a+".")}},o.prototype.startTransport=function(a,t){var e=this;return this.transport.onreceive=this.onreceive,this.transport.onclose=function(i){return e.stopConnection(i)},this.transport.connect(a,t)},o.prototype.resolveTransportOrError=function(a,t,e){var i=Q[a.transport];if(null==i)return this.logger.log(u.Debug,"Skipping transport '"+a.transport+"' because it is not supported by this client."),new Error("Skipping transport '"+a.transport+"' because it is not supported by this client.");if(!function(o,a){return!o||0!=(a&o)}(t,i))return this.logger.log(u.Debug,"Skipping transport '"+Q[i]+"' because it was disabled by the client."),new Error("'"+Q[i]+"' is disabled by the client.");if(!(a.transferFormats.map(function(c){return U[c]}).indexOf(e)>=0))return this.logger.log(u.Debug,"Skipping transport '"+Q[i]+"' because it does not support the requested transfer format '"+U[e]+"'."),new Error("'"+Q[i]+"' does not support "+U[e]+".");if(i===Q.WebSockets&&!this.options.WebSocket||i===Q.ServerSentEvents&&!this.options.EventSource)return this.logger.log(u.Debug,"Skipping transport '"+Q[i]+"' because it is not supported in your environment.'"),new Error("'"+Q[i]+"' is not supported in your environment.");this.logger.log(u.Debug,"Selecting transport '"+Q[i]+"'.");try{return this.constructTransport(i)}catch(c){return c}},o.prototype.isITransport=function(a){return a&&"object"==typeof a&&"connect"in a},o.prototype.stopConnection=function(a){var t=this;if(this.logger.log(u.Debug,"HttpConnection.stopConnection("+a+") called while in state "+this.connectionState+"."),this.transport=void 0,a=this.stopError||a,this.stopError=void 0,"Disconnected"!==this.connectionState){if("Connecting"===this.connectionState)throw this.logger.log(u.Warning,"Call to HttpConnection.stopConnection("+a+") was ignored because the connection is still in the connecting state."),new Error("HttpConnection.stopConnection("+a+") was called while the connection is still in the connecting state.");if("Disconnecting"===this.connectionState&&this.stopPromiseResolver(),a?this.logger.log(u.Error,"Connection disconnected with error '"+a+"'."):this.logger.log(u.Information,"Connection disconnected."),this.sendQueue&&(this.sendQueue.stop().catch(function(e){t.logger.log(u.Error,"TransportSendQueue.stop() threw error '"+e+"'.")}),this.sendQueue=void 0),this.connectionId=void 0,this.connectionState="Disconnected",this.connectionStarted){this.connectionStarted=!1;try{this.onclose&&this.onclose(a)}catch(e){this.logger.log(u.Error,"HttpConnection.onclose("+a+") threw error '"+e+"'.")}}}else this.logger.log(u.Debug,"Call to HttpConnection.stopConnection("+a+") was ignored because the connection is already in the disconnected state.")},o.prototype.resolveUrl=function(a){if(0===a.lastIndexOf("https://",0)||0===a.lastIndexOf("http://",0))return a;if(!V.isBrowser||!window.document)throw new Error("Cannot resolve '"+a+"'.");var t=window.document.createElement("a");return t.href=a,this.logger.log(u.Information,"Normalizing '"+a+"' to '"+t.href+"'."),t.href},o.prototype.resolveNegotiateUrl=function(a){var t=a.indexOf("?"),e=a.substring(0,-1===t?a.length:t);return"/"!==e[e.length-1]&&(e+="/"),e+="negotiate",-1===(e+=-1===t?"":a.substring(t)).indexOf("negotiateVersion")&&(e+=-1===t?"?":"&",e+="negotiateVersion="+this.negotiateVersion),e},o}(),so=function(){function o(a){this.transport=a,this.buffer=[],this.executing=!0,this.sendBufferedData=new Yn,this.transportResult=new Yn,this.sendLoopPromise=this.sendLoop()}return o.prototype.send=function(a){return this.bufferData(a),this.transportResult||(this.transportResult=new Yn),this.transportResult.promise},o.prototype.stop=function(){return this.executing=!1,this.sendBufferedData.resolve(),this.sendLoopPromise},o.prototype.bufferData=function(a){if(this.buffer.length&&typeof this.buffer[0]!=typeof a)throw new Error("Expected data to be of type "+typeof this.buffer+" but was of type "+typeof a);this.buffer.push(a),this.sendBufferedData.resolve()},o.prototype.sendLoop=function(){return mn(this,void 0,void 0,function(){var a,t,e;return sn(this,function(i){switch(i.label){case 0:return[4,this.sendBufferedData.promise];case 1:if(i.sent(),!this.executing)return this.transportResult&&this.transportResult.reject("Connection stopped."),[3,6];this.sendBufferedData=new Yn,a=this.transportResult,this.transportResult=void 0,t="string"==typeof this.buffer[0]?this.buffer.join(""):o.concatBuffers(this.buffer),this.buffer.length=0,i.label=2;case 2:return i.trys.push([2,4,,5]),[4,this.transport.send(t)];case 3:return i.sent(),a.resolve(),[3,5];case 4:return e=i.sent(),a.reject(e),[3,5];case 5:return[3,0];case 6:return[2]}})})},o.concatBuffers=function(a){for(var t=a.map(function(d){return d.byteLength}).reduce(function(d,s){return d+s}),e=new Uint8Array(t),i=0,r=0,c=a;r<c.length;r++){var l=c[r];e.set(new Uint8Array(l),i),i+=l.byteLength}return e.buffer},o}(),Yn=function(){function o(){var a=this;this.promise=new Promise(function(t,e){var i;return a.resolver=(i=[t,e])[0],a.rejecter=i[1],i})}return o.prototype.resolve=function(){this.resolver()},o.prototype.reject=function(a){this.rejecter(a)},o}(),po=function(){function o(){this.name="json",this.version=1,this.transferFormat=U.Text}return o.prototype.parseMessages=function(a,t){if("string"!=typeof a)throw new Error("Invalid input for JSON hub protocol. Expected a string.");if(!a)return[];null===t&&(t=at.instance);for(var i=[],r=0,c=Mn.parse(a);r<c.length;r++){var d=JSON.parse(c[r]);if("number"!=typeof d.type)throw new Error("Invalid payload.");switch(d.type){case w.Invocation:this.isInvocationMessage(d);break;case w.StreamItem:this.isStreamItemMessage(d);break;case w.Completion:this.isCompletionMessage(d);break;case w.Ping:case w.Close:break;default:t.log(u.Information,"Unknown message type '"+d.type+"' ignored.");continue}i.push(d)}return i},o.prototype.writeMessage=function(a){return Mn.write(JSON.stringify(a))},o.prototype.isInvocationMessage=function(a){this.assertNotEmptyString(a.target,"Invalid payload for Invocation message."),void 0!==a.invocationId&&this.assertNotEmptyString(a.invocationId,"Invalid payload for Invocation message.")},o.prototype.isStreamItemMessage=function(a){if(this.assertNotEmptyString(a.invocationId,"Invalid payload for StreamItem message."),void 0===a.item)throw new Error("Invalid payload for StreamItem message.")},o.prototype.isCompletionMessage=function(a){if(a.result&&a.error)throw new Error("Invalid payload for Completion message.");!a.result&&a.error&&this.assertNotEmptyString(a.error,"Invalid payload for Completion message."),this.assertNotEmptyString(a.invocationId,"Invalid payload for Completion message.")},o.prototype.assertNotEmptyString=function(a,t){if("string"!=typeof a||""===a)throw new Error(t)},o}(),Tt=Object.assign||function(o){for(var a,t=1,e=arguments.length;t<e;t++)for(var i in a=arguments[t])Object.prototype.hasOwnProperty.call(a,i)&&(o[i]=a[i]);return o},go={trace:u.Trace,debug:u.Debug,info:u.Information,information:u.Information,warn:u.Warning,warning:u.Warning,error:u.Error,critical:u.Critical,none:u.None},_o=function(){function o(){}return o.prototype.configureLogging=function(a){if(E.isRequired(a,"logging"),function(o){return void 0!==o.log}(a))this.logger=a;else if("string"==typeof a){var t=function(o){var a=go[o.toLowerCase()];if(void 0!==a)return a;throw new Error("Unknown log level: "+o)}(a);this.logger=new Bn(t)}else this.logger=new Bn(a);return this},o.prototype.withUrl=function(a,t){return E.isRequired(a,"url"),E.isNotEmpty(a,"url"),this.url=a,this.httpConnectionOptions=Tt({},this.httpConnectionOptions,"object"==typeof t?t:{transport:t}),this},o.prototype.withHubProtocol=function(a){return E.isRequired(a,"protocol"),this.protocol=a,this},o.prototype.withAutomaticReconnect=function(a){if(this.reconnectPolicy)throw new Error("A reconnectPolicy has already been set.");return this.reconnectPolicy=a?Array.isArray(a)?new xt(a):a:new xt,this},o.prototype.build=function(){var a=this.httpConnectionOptions||{};if(void 0===a.logger&&(a.logger=this.logger),!this.url)throw new Error("The 'HubConnectionBuilder.withUrl' method must be called before building the connection.");var t=new ao(this.url,a);return je.create(t,this.logger||at.instance,this.protocol||new po,this.reconnectPolicy)},o}();let zn=(()=>{class o{constructor(t){this.toastr=t,this.OnPaymentReceived=new j.X(null),this.OnReceivePushNotification=new j.X(null),this.OnContactReceive=new j.X(null),this.previousGroupID="",this.socketConnection=(new _o).withUrl("/POSHub").withAutomaticReconnect([0,1e4,1e4,1e4,1e4,null]).configureLogging(u.Information).build()}SubscribeGroup(t){this.socketConnection.state==k.Disconnected?this.socketConnection.start().then(()=>{this.invokeSubscribe(t,!0)}).catch(e=>{this.toastr.error(e,"Error")}):this.invokeSubscribe(t,!1)}invokeSubscribe(t,e){this.socketConnection.invoke("SubscribeGroup",{CurrentID:t,PreviousID:this.previousGroupID}).then(()=>{this.previousGroupID=t}),e&&(this.socketConnection.on("ReceiveMobilePaymentSignal",r=>{this.OnPaymentReceived.next(r)}),this.socketConnection.on("ReceivePushNotificationSignal",r=>{this.OnReceivePushNotification.next(r)}),this.socketConnection.on("OnContactReceive",r=>{this.OnContactReceive.next(r)}))}Broadcast(t){null!=this.socketConnection&&null!=this.socketConnection.connectionId&&this.socketConnection.invoke("BroadCast",t).catch(e=>{console.error(e),this.toastr.error(e,"Error")})}}return o.\u0275fac=function(t){return new(t||o)(n.LFG(A._W))},o.\u0275prov=n.Yz7({token:o,factory:o.\u0275fac,providedIn:"root"}),o})();class mo{}var fo=m(2411);let st=(()=>{class o{constructor(t,e,i){this._httpService=t,this._onlineStatusService=e,this._localDataService=i,this._onlineStatusService.getOnlineStatus$().subscribe(r=>{this.isOnline=r})}GenerateNumber(t,e){if(this.isOnline)return this._httpService.post(g.Wz.GenerateNumber,{entityID:t,typeID:1});{let i=new mo;return g.gT.IsNotEmpty(e.NumberElement)&&(e.NumberElement.Seed+=1),g.gT.IsNotEmpty(e.InvoiceNumberElement)&&(e.InvoiceNumberElement.Seed+=1),i.InvoiceNumberElement=e.InvoiceNumberElement,i.OrderNumberElement=e.NumberElement,i.NewOrderID=g.gT.createUUID(),(0,fo.of)(i)}}LoadRegister(t){const e={RegisterID:t};return new Promise(i=>{this._localDataService.isConfigFromServer().then(r=>{r?this._httpService.post(g.Wz.GetRegisterInfo,e).subscribe(c=>{i(c)}):this._localDataService.getOutletByRegisterId(t).then(c=>{i(c)})})})}recordOpeningCash(t){return this._httpService.post("/API/POS/RecordOpeningCash",t).toPromise()}}return o.\u0275fac=function(t){return new(t||o)(n.LFG(rn.O),n.LFG(nn.q),n.LFG(W.T))},o.\u0275prov=n.Yz7({token:o,factory:o.\u0275fac,providedIn:"root"}),o})(),F=(()=>{class o{constructor(t,e,i,r,c){this._signalRClientService=t,this._matDialog=e,this._posHttpResponseService=i,this._CoreHttpService=r,this._toastrService=c,this._Data=new j.X(null),this.Data$=this._Data.asObservable().pipe((0,Un.h)(l=>null!==l),(0,Fn.x)())}get Data(){return this._Data.value}getSalesname(t){let e="";if(this.Data.ListSales){const i=this._Data.value.ListSales.find(r=>r.ID==t);i&&(e=i.Name)}return e}setActiveRegisterFromOptions(t,e){if(t.length>1){const i=t.find(r=>r.LoginID==e);i?this.pushNewRegister(i):this._matDialog.open(Pt,{id:"registerModal"}).afterClosed().subscribe(r=>{r&&this.openOpeningCashModal(r.ID)})}1==t.length&&(this.pushNewRegister(t[0]),g.gT.IsEmpty(t[0].LoginID)&&g.gT.IsEmpty(t[0].CashierID)&&this.openOpeningCashModal(t[0].ID)),0==t.length&&this._toastrService.warning("You do not have access to any OUTLET","Warning")}openOpeningCashModal(t){const e=this._posHttpResponseService.Data.AppConfigJSON;e.ModuleShift.Closure.Enabled&&e.ModuleShift.Closure.OpeningCashRequired&&this._matDialog.open(Ot).afterClosed().subscribe(r=>{r&&null!=r.amount&&this._CoreHttpService.recordOpeningCash({RegisterID:t,OpAmount:r.amount})})}pushNewRegister(t){const e=this._Data.value;(e?e.RegisterID:null)!=t.ID&&this._CoreHttpService.LoadRegister(t.ID).then(r=>{r.RegisterCode=t.Code,r.DefaultPrintTemplate=r.PrintTemplate,this.pushNewValue(r),this._signalRClientService.SubscribeGroup(r.RegisterID)})}pushNewValue(t){this._Data.next(t)}}return o.\u0275fac=function(t){return new(t||o)(n.LFG(zn),n.LFG(P.uw),n.LFG(D),n.LFG(st),n.LFG(A._W))},o.\u0275prov=n.Yz7({token:o,factory:o.\u0275fac,providedIn:"root"}),o})();class ln{}var Jn=m(6205),Co=m(3461),lt=m(5985);let G=(()=>{class o{constructor(t,e){this._orderDataService=t,this._posService=e,this._Data=new j.X(0),this.Data$=this._Data.asObservable().pipe((0,Fn.x)()),this.tax=new Co.z,this.discountAfterTax=0,this.currencySymbol="Rp",this.AppConfigJSON=new ln,this._orderDataService.Data$.subscribe(i=>{this.salesOrderData=i,g.gT.IsNotEmpty(i.Order.Number)&&(this.calculateDiscountAmount(),this.pushNewValue(this.grandTotal))}),this._posService.Data$.subscribe(i=>{this.AppConfigJSON=i.AppConfigJSON})}get Data(){return this._Data.value}pushNewValue(t){this._Data.next(t)}get grandTotal(){const t=g.Mb.DecimalRound(this.TotalAfterSurcharge,this.AppConfigJSON.ApplicationMath.RoundingDigit.Sales,this.AppConfigJSON.ApplicationMath.RoundingDigit.MultipleOfFiveRounding);return isNaN(t)?0:t}get TotalAfterTax(){return g.Mb.DecimalRound(this.TotalBeforeTax+this.TaxAmount)}get TotalBeforeTax(){let e=0;return e=this.tax.CalculationTypeID===Jn.E.Include?g.Mb.DecimalRound(this.DiscountTotal-this.TaxAmount,4):this.DiscountTotal,e}get TotalAfterSurcharge(){return g.Mb.DecimalRound(this.TotalAfterTax+this.SurchargeAmount)}get TotalAfterDiscountTaxable(){return g.Mb.DecimalRound(this.GrossTotalTaxable-this.DiscountTotal)}get TaxAmount(){if(null!=this.tax){let t=0;return t=this.GrossTotalTaxable,t=g.Mb.DecimalRound(this.tax.CalculationTypeID==Jn.E.Include?this.tax.Rate/(100+this.tax.Rate)*t:this.tax.Rate/100*t,this.AppConfigJSON.ApplicationMath.RoundingDigit.Tax),t}return 0}get SurchargeAmount(){return g.Mb.DecimalRound(this.TotalAfterTax*this.salesOrderData.Invoice.SurchargePcg/100)}get Discount1Amount(){return g.Mb.DecimalRound(this.GrossTotal*this.salesOrderData.Order.Discount)/100}get AfterDiscount1Amount(){return g.Mb.DecimalRound(this.GrossTotal-this.Discount1Amount)}get Discount2Amount(){return g.Mb.DecimalRound(this.AfterDiscount1Amount*this.salesOrderData.Order.Discount2/100)}get AfterDiscount2Amount(){return g.Mb.DecimalRound(this.AfterDiscount1Amount-this.Discount2Amount)}get DiscountTotal(){return g.Mb.DecimalRound(this.AfterDiscount2Amount-this.salesOrderData.Order.DiscountAmount)}calculateDiscountAmount(){let t=this.salesOrderData.Order.DiscountAmount,e=0;this.AfterDiscount2Amount>=0&&t>0&&t>this.AfterDiscount2Amount&&(e=this.AfterDiscount2Amount),0!==e&&e<=t&&0!==this.GrossTotal&&(t=e),this.salesOrderData.Order.DiscountAmount=t}get GrossTotal(){return this.sum(this.salesOrderData.CartItems,"Total")}get GrossTotalTaxable(){const t=this.salesOrderData.CartItems.filter(i=>i.Taxable);let e=this.sum(t,"Total");if(0!==t.length)if(1===this.AppConfigJSON.ModuleSell.BaseTaxCalculation)e=e*(100-this.salesOrderData.Order.Discount)/100,e=e*(100-this.salesOrderData.Order.Discount2)/100,e-=this.salesOrderData.Order.DiscountAmount;else{for(const i of t)i.TotalWithoutDiscount=i.Quantity*i.Price*i.UnitQuantity;e=this.sum(t,"TotalWithoutDiscount")}return g.Mb.DecimalRound(e)}get GrossTotalNonTaxable(){const t=this.salesOrderData.CartItems.filter(i=>0==i.Taxable);let e=this.sum(t,"Total");if(1===this.AppConfigJSON.ModuleSell.BaseTaxCalculation)e=e*(100-this.salesOrderData.Order.Discount)/100,e=e*(100-this.salesOrderData.Order.Discount2)/100,e-=this.salesOrderData.Order.DiscountAmount;else{for(const i of t)i.TotalWithoutDiscount=i.Quantity*i.Price*i.UnitQuantity;e=this.sum(t,"TotalWithoutDiscount")}return g.Mb.DecimalRound(e)}sum(t,e){return t.reduce(function(i,r){return i+r[e]},0)}GetPointOnlyAmount(){const t=this.salesOrderData.CartItems.filter(e=>e.Variant.PaymentTypeID==lt._.Point);return this.GetAmountByCart(t)}GetCashOnlyAmount(){const t=this.salesOrderData.CartItems.filter(e=>e.Variant.PaymentTypeID==lt._.Cash);return this.GetAmountByCart(t)}GetCashAndPointAmountCart(){const t=this.salesOrderData.CartItems.filter(e=>e.Variant.PaymentTypeID!=lt._.Cash);return this.GetAmountByCart(t)}GetAmountByCart(t){let e=this.sum(t,"Total");return e=g.Mb.DecimalRound(e*(100-this.salesOrderData.Order.Discount)/100),e=g.Mb.DecimalRound(e*(100-this.salesOrderData.Order.Discount2)/100),e}}return o.\u0275fac=function(t){return new(t||o)(n.LFG(S),n.LFG(D))},o.\u0275prov=n.Yz7({token:o,factory:o.\u0275fac,providedIn:"root"}),o})(),fn=(()=>{class o{constructor(t,e,i,r,c,l,d,s){this._orderDataService=t,this._outletService=e,this._invoiceCalculatorService=i,this._dialog=r,this._httpService=c,this._posService=l,this._toastr=d,this.locale=s,this._Data=new j.X([]),this.Data$=this._Data.asObservable(),this.selectedPromotion=null,this.onClickToastPromo=new N.xQ,this.taxes=[],this.previousQuantity=0,this.previousTotalEligible=0,this.decimalPipe=new _.JJ(s),this._posService.Data$.subscribe(p=>{this.taxes=p.Taxes}),this._outletService.Data$.subscribe(p=>{const f=this.getPromotionDesc(p.Promotion);this.pushNewValue(f)}),this._orderDataService.Data$.pipe((0,Un.h)(p=>(this.salesOrderData=p,this.previousQuantity!=p.TotalQuantity))).subscribe(p=>{this.checkEligibleQtyPromotion(p.CartItems),this.checkEligibleTierPromotion(p.CartItems),this.previousQuantity=p.TotalQuantity,this.checkSelectedPromotionRequirement()}),this._invoiceCalculatorService.Data$.subscribe(p=>{this.checkEligibleAmountPromotion(p),this.checkSelectedPromotionRequirement()})}get Data(){return this._Data.getValue()}pushNewValue(t){this.showToastEligiblePromotion(),this._Data.next(t)}checkSelectedPromotionRequirement(){if(null!=this.selectedPromotion&&!1===this.Data.find(e=>e.ID===this.selectedPromotion.ID).Eligible){if(this._dialog.openDialogs.length>0)return;this._dialog.open(kt,{id:"modal-promotion-confirm",data:{message:"Order will be restored to before the promotion is applied"},disableClose:!0})}}restoreOrder(){this._orderDataService.pushNewValue(this.orderDataBeforePromotion),this.selectedPromotion=null}getPromotionDesc(t=[]){return t.map(i=>(i.Description=this.generatePromotionDesc(i),i))}checkEligibleAmountPromotion(t){const e=this.Data.filter(r=>r.TypeID===q.Amount&&!this.checkExpiredPromotion(r)).map(r=>(r.Eligible=t>=r.MinimumAmount,r)),i=this.mappingEligiblePromotion(e);this.pushNewValue(i)}checkEligibleQtyPromotion(t){let e=0;const i=this.Data.filter(c=>c.TypeID===q.Quantity&&!this.checkExpiredPromotion(c)).map(c=>(c.Eligible=!1,c.ListVariant.length>0?(e=this.getQuantityByRequirementType(t,"variant",c.ListVariant),e>=c.MinimumAmount&&(c.Eligible=!0)):c.ListCategory.length>0?(e=this.getQuantityByRequirementType(t,"category",c.ListCategory),e>=c.MinimumAmount&&(c.Eligible=!0)):this.salesOrderData.TotalQuantity>=c.MinimumAmount&&(c.Eligible=!0),c)),r=this.mappingEligiblePromotion(i);this.pushNewValue(r)}checkEligibleTierPromotion(t){let e;const i=this.Data.filter(c=>c.TypeID===q.PromotionTiered&&!this.checkExpiredPromotion(c)).map(c=>(c.Eligible=!1,e=c.ListVariant.length>0?this.getQuantityByRequirementType(t,"variant",c.ListVariant):c.ListCategory.length>0?this.getQuantityByRequirementType(t,"category",c.ListCategory):this.salesOrderData.TotalQuantity,c.PromotionTieredQuantity.forEach(l=>{e>=l.Quantity&&(c.Eligible=!0)}),c)),r=this.mappingEligiblePromotion(i);this.pushNewValue(r)}getQuantityByRequirementType(t,e,i){let c,r=0;return t.forEach("variant"==e?l=>{c=i.findIndex(d=>d.ID===l.VariantID),-1!==c&&(r+=l.Quantity)}:l=>{l.Variant&&(c=i.findIndex(d=>d.ID===l.Variant.CategoryID),-1!==c&&(r+=l.Quantity))}),r}mappingEligiblePromotion(t){let e=this.Data;if(t.length>0){let i;e=this.Data.map(r=>(i=t.findIndex(c=>c.ID==r.ID),-1!==i&&(r=t[i]),r))}return e}checkExpiredPromotion(t){const e=new Date,i=new Date(t.StartDate),r=t.StartTime.split(":").map(d=>parseInt(d));i.setHours(r[0],r[1],r[2]);const c=new Date(t.ExpirationDate),l=t.EndTime.split(":").map(d=>parseInt(d));return c.setHours(l[0],l[1],l[2]),!(e.getTime()>=i.getTime()&&e.getTime()<=c.getTime())}showToastEligiblePromotion(){const t=this.getTotalEligiblePromotion();this.previousTotalEligible!==t&&t>0&&this._toastr.info(t+" promotion(s) can be applied!","Promo available!").onTap.pipe((0,Ce.q)(1)).subscribe(()=>{this.onClickToastPromo.next(!0)}),this.previousTotalEligible=t}getTotalEligiblePromotion(){return this.Data.filter(e=>e.Eligible||e.TypeID==q.Discount).length}generatePromotionDesc(t){let e="";switch(t.TypeID){case q.Quantity:e+="Minimum "+this.decimalPipe.transform(t.MinimumAmount)+" ",t.ListVariant.length>0?(e+=" piece of ",e+=this.generateItemListDescription(t.ListVariant)):t.ListCategory.length>0?(e+="from category ",e+=this.generateItemListDescription(t.ListCategory)):e+="items";break;case q.Amount:e+="Minimum spend Rp. "+this.decimalPipe.transform(t.MinimumAmount);break;case q.Discount:e+=`Apply \n ${0!==t.Discount1?"discount1 = "+t.Discount1+"%":""}\n ${0!==t.Discount1&&0!==t.Discount2?" and ":""}\n ${0!==t.Discount2?"discount2 = "+t.Discount2+"%":""}\n `,t.Eligible=!0}return e}generateItemListDescription(t){let e="";for(const i of t)e+=""==e?"":" or ",e+=`[${i.Name}]`;return e=this.slicePromotionDesc(e),e}slicePromotionDesc(t){return t.length>200&&(t=t.slice(0,200),t+="..."),t}applyPromotion(t){switch(this.orderDataBeforePromotion=(0,an.d8)($.m,this.salesOrderData),this.selectedPromotion=t,t.TypeID){case q.Amount:this.applyProductReward(t);break;case q.Quantity:switch(t.RewardTypeID){case Tn.Product:this.applyProductReward(t);break;case Tn.Cheapest:this.applyCheapestReward(t)}break;case q.Discount:this.applyDiscountReward(t);break;case q.Product:break;case q.PromotionTiered:this.applyTierReward(t)}}applyProductReward(t){this._httpService.post(g.Wz.GetRewardByPromotionID,{PromotionID:t.ID}).toPromise().then(e=>{this.openDialogSelectReward(e)})}openDialogSelectReward(t){this._dialog.open(fe,{data:t.Rewards})}applyCheapestReward(t){let e=this.salesOrderData.CartItems;if(e.length>0){const r=e.sort((l,d)=>l.Price-d.Price)[0];let c=r.Total;r.Quantity>1&&(c=r.Total/r.Quantity),r.DiscountAmount=c,r.Note=t.Name,e=e.map(l=>(l.VariantID==r.VariantID&&((l=r).PromotionGift=!0),l)),this.salesOrderData.CartItems=e,this._orderDataService.pushNewValue(this.salesOrderData),this.showToastAppliedPromo(this.selectedPromotion)}}applyDiscountReward(t){let i=this._posService.Data.AppConfigJSON.ModuleSell.ProductNotes.CopyPromotionName;if(this.salesOrderData.Order.Discount+=t.Discount1,this.salesOrderData.Order.Discount2+=t.Discount2,1==i&&(this.salesOrderData.Order.Note=t.Name),g.gT.IsNotEmpty(t.TaxTypeID)){const r=this.taxes.find(c=>c.ID==t.TaxTypeID);this._invoiceCalculatorService.tax=r,this.salesOrderData.Order.TaxTypeID=t.TaxTypeID}this._orderDataService.pushNewValue(this.salesOrderData),this.pushNewValue(this.Data),this.showToastAppliedPromo(this.selectedPromotion)}applyTierReward(t){let e=this.salesOrderData.CartItems,i=[];i=e.filter(t.ListVariant.length>0?r=>-1!==t.ListVariant.findIndex(c=>c.ID==r.VariantID):r=>-1!==t.ListCategory.findIndex(c=>c.ID==r.Variant.CategoryID)),e=0==i.length?this.tierPromotionBlankRequirement(t):this.tierPromotionWithRequirement(t,i),this.salesOrderData.CartItems=e,this._orderDataService.pushNewValue(this.salesOrderData)}tierPromotionBlankRequirement(t){let e=this.salesOrderData.CartItems;const i=this.salesOrderData.TotalQuantity;return t.PromotionTieredQuantity.sort((r,c)=>r.Quantity-c.Quantity).forEach(r=>{i>=r.Quantity&&(e=e.map(c=>(c.Discount=r.Discount,this.copyPromotionNameToItem(t,c))))}),e}tierPromotionWithRequirement(t,e){let c,i=0,r=this.salesOrderData.CartItems;return e.forEach(l=>{i+=l.Quantity}),t.PromotionTieredQuantity.sort((l,d)=>l.Quantity-d.Quantity).forEach(l=>{i>=l.Quantity&&(e=e.map(d=>(d.Discount=l.Discount,d)))}),r=r.map(l=>(c=e.find(d=>d==l),c&&(l=this.copyPromotionNameToItem(t,l=c)),l)),r}copyPromotionNameToItem(t,e){return 1==this._posService.Data.AppConfigJSON.ModuleSell.ProductNotes.CopyPromotionName&&(e.Note=t.Name),e}removePromotion(){this._orderDataService.pushNewValue(this.orderDataBeforePromotion),this.showToastRemovePromo(this.selectedPromotion),this.selectedPromotion=null}showToastAppliedPromo(t){this._toastr.success("Applied "+t.Name+" to order!","Applied successfully!")}showToastRemovePromo(t){this._toastr.info("Removed "+t.Name+" from order!","Removed successfully!")}}return o.\u0275fac=function(t){return new(t||o)(n.LFG(S),n.LFG(F),n.LFG(G),n.LFG(P.uw),n.LFG(rn.O),n.LFG(D),n.LFG(A._W),n.LFG(n.soG))},o.\u0275prov=n.Yz7({token:o,factory:o.\u0275fac,providedIn:"root"}),o})(),kt=(()=>{class o{constructor(t,e,i){this._promotionEventService=t,this._dialogRef=e,this.data=i,this.modalConfig=new T.O,this.modalConfig.hideCancel=!0,this.modalConfig.hideClose=!0,this.modalConfig.headerType=Y.n.Warning,this.modalConfig.title="Promotion Requirement unfulfilled!",this.modalConfig.customWidth="350px",this.modalConfig.okText="Ok",this.selectedPromotion=t.selectedPromotion}onOk(){this._promotionEventService.restoreOrder(),this._dialogRef.close()}}return o.\u0275fac=function(t){return new(t||o)(n.Y36(fn),n.Y36(P.so),n.Y36(P.WI))},o.\u0275cmp=n.Xpm({type:o,selectors:[["POS-modal-promotion-confirm"]],decls:9,vars:4,consts:[[3,"config","onOk"],[1,"font-italic","text-danger","mb-3"],[1,"mb-0"]],template:function(t,e){1&t&&(n.TgZ(0,"modal-material",0),n.NdJ("onOk",function(){return e.onOk()}),n.TgZ(1,"content"),n.TgZ(2,"div"),n.TgZ(3,"h5"),n._uU(4),n.qZA(),n.TgZ(5,"p",1),n._uU(6),n.qZA(),n.TgZ(7,"p",2),n._uU(8),n.qZA(),n.qZA(),n.qZA(),n.qZA()),2&t&&(n.Q6J("config",e.modalConfig),n.xp6(4),n.Oqu(null==e.selectedPromotion?null:e.selectedPromotion.Name),n.xp6(2),n.Oqu(null==e.selectedPromotion?null:e.selectedPromotion.Description),n.xp6(2),n.Oqu(null==e.data?null:e.data.message))},directives:[y.M],styles:[""]}),o})();var on=m(3044),$n=m(1097);class Gn{}class Po{}class Oo{}class Mo{}class bo{}class L{constructor(a,t,e,i){this.Amount=a,this.CurrencySymbol=t,this.Label=e,this.Type=i}}let dt=(()=>{class o{constructor(t,e,i,r){this._invoiceCalculatorService=t,this._decimalPipe=e,this._poshttpResponseService=i,this._orderService=r,this.appConfig=new ln,this._poshttpResponseService.Data$.subscribe(c=>{this.appConfig=c.AppConfigJSON})}generateAmountSummary(){let t=[];return this.generateAmount(t),this.generateDiscountSummary(t),this.generateSubTotal(t),this.generateTaxSummary(t),this.generateSurchargeSummary(t),t}generateAmount(t){t.push(new L(this._invoiceCalculatorService.GrossTotal,this._invoiceCalculatorService.currencySymbol,"Amount",1))}generateDiscountSummary(t){if(0!=this._invoiceCalculatorService.Discount1Amount){const e=this._decimalPipe.transform(this._orderService.Data.Order.Discount),r=this.checkDiscountIgnoreDecimal(e)?"{0}":"{0} ({1}%)";t.push(new L(-1*this._invoiceCalculatorService.Discount1Amount,this._invoiceCalculatorService.currencySymbol,g.gT.StringFormat(r,this.appConfig.CorePrint.Alias.Discount1,e),1))}if(0!=this._invoiceCalculatorService.Discount2Amount){const e=this._decimalPipe.transform(this._orderService.Data.Order.Discount2),r=this.checkDiscountIgnoreDecimal(e)?"{0}":"{0} ({1}%)";t.push(new L(-1*this._invoiceCalculatorService.Discount2Amount,this._invoiceCalculatorService.currencySymbol,g.gT.StringFormat(r,this.appConfig.CorePrint.Alias.Discount2,e),1))}0!=this._orderService.Data.Order.DiscountAmount&&this.appConfig.PrintConfigInvoice.ItemsFooter.DiscountAmountVisible&&t.push(new L(-1*this._orderService.Data.Order.DiscountAmount,this._invoiceCalculatorService.currencySymbol,"Discount ("+this._invoiceCalculatorService.currencySymbol+")",1))}generateSubTotal(t){const e=this._invoiceCalculatorService.tax,i=0!==e.Rate&&1==e.PrintVisible;if(this.isDiscounted()&&!this.isTaxReserveSequence()){let r="Sub Total",c=this._invoiceCalculatorService.DiscountTotal;i||(c=this._invoiceCalculatorService.TotalAfterTax,r="Total"),t.push(new L(c,this._invoiceCalculatorService.currencySymbol,r,1))}}generateTaxSummary(t){const e=this._invoiceCalculatorService.tax;if(!e.PrintVisible||0==e.Rate)return;const i=this.appConfig.PrintConfigInvoice.Footer.TaxDetailVisible?2:1;t.push(new L(this._invoiceCalculatorService.TaxAmount,this._invoiceCalculatorService.currencySymbol,e.Label,i)),this.appConfig.PrintConfigInvoice.Footer.TaxDetailVisible&&(t.push(new L(this._invoiceCalculatorService.GrossTotalTaxable,this._invoiceCalculatorService.currencySymbol,this.appConfig.PrintConfigInvoice.Footer.TaxableSales,i)),this.appConfig.PrintConfigInvoice.Footer.LabelWithZeroAmount&&t.push(new L(0,this._invoiceCalculatorService.currencySymbol,this.appConfig.PrintConfigInvoice.Footer.LabelWithZeroAmount,i)),t.push(new L(this._invoiceCalculatorService.GrossTotalNonTaxable,this._invoiceCalculatorService.currencySymbol,this.appConfig.PrintConfigInvoice.Footer.TaxExemptSales,i)),this.appConfig.PrintConfigInvoice.Footer.LabelWithZeroAmount&&t.push(new L(0,this._invoiceCalculatorService.currencySymbol,this.appConfig.PrintConfigInvoice.Footer.LabelWithZeroAmount,i)));const r=e.CalculationTypeID===Jn.E.Include,c=!this.isTaxReserveSequence()&&r;t.push(new L(c?this._invoiceCalculatorService.TotalBeforeTax:this._invoiceCalculatorService.TotalAfterTax,this._invoiceCalculatorService.currencySymbol,c?"Before Tax":"Total Amount",i))}generateSurchargeSummary(t){var e;if(0==this._invoiceCalculatorService.SurchargeAmount)return;const i=this.appConfig.CorePrint;t.push(new L(this._invoiceCalculatorService.SurchargeAmount,this._invoiceCalculatorService.currencySymbol,g.gT.StringFormat("{0} ({1}%)",i&&i.Alias.SurchargePcg?i.Alias.SurchargePcg:"Surcharge",this._decimalPipe.transform(null===(e=this._orderService.Data)||void 0===e?void 0:e.Invoice.SurchargePcg)),1)),this.generateGrandTotal(t)}generateGrandTotal(t){t.push(new L(this._invoiceCalculatorService.Data,this._invoiceCalculatorService.currencySymbol,"Total Amount",1))}checkDiscountIgnoreDecimal(t){const i=this.appConfig.PrintConfigInvoice.Footer.DiscountIgnoredDecimal;let c=!1;return 0!=parseFloat(t)%1&&i&&(c=!0),c}isDiscounted(){let r=!1;return(0!=this._invoiceCalculatorService.Discount1Amount||0!=this._invoiceCalculatorService.Discount2Amount||0!=this._orderService.Data.Order.DiscountAmount)&&(r=!0),r}isTaxReserveSequence(){let t=this._invoiceCalculatorService.tax;const e=!!t;return e&&(e?t.CalculationTypeID:null)===Jn.E.Include&&this.appConfig.PrintConfigInvoice.Footer.TaxIncludeBeforeTotalAmount}}return o.\u0275fac=function(t){return new(t||o)(n.LFG(G),n.LFG(_.JJ),n.LFG(D),n.LFG(S))},o.\u0275prov=n.Yz7({token:o,factory:o.\u0275fac,providedIn:"root"}),o})(),bn=(()=>{class o{constructor(t,e,i,r,c,l,d){this.localdata=t,this._receiptCalculatorService=e,this._salesOrderDataModelService=i,this._outletService=r,this._cashierCalculatorService=c,this._signal=l,this._customerHttpService=d,this._salesOrderDataModelService.Data$.subscribe(s=>{s.Order.Number&&(this.orderDataModel=s,this.BroadcastCartToCustomerDisplay())})}ConstructCartModelForCustomerDisplay(){const t=this._customerHttpService.Data,e=new bo;e.Number=this.orderDataModel.Order.Number,e.Items=Array();for(const i of this.orderDataModel.CartItems){const r=new Mo;r.Name=i.Variant.Name,r.Discount=i.Discount,r.DiscountAmount=i.DiscountAmount,r.Price=i.Price,r.Quantity=i.Quantity,r.UnitQuantity=i.UnitQuantity,e.Items.push(r)}return e.SalesName=g.gT.IsNotEmpty(this.orderDataModel.Order.SalesID)?this._outletService.getSalesname(this.orderDataModel.Order.SalesID):"",g.gT.IsNotEmpty(this.orderDataModel.Order.CustomerID)&&(e.Customer=new $n.B,e.Customer.Email=t.Email,e.Customer.Mobile=t.Mobile,e.Customer.Name=this.orderDataModel.ContactName),e.CurrencySymbol=this._cashierCalculatorService.currencySymbol,e.FinalAmount=this._cashierCalculatorService.Data,e.AmountSummary=this._receiptCalculatorService.generateAmountSummary(),e}BroadcastCartToCustomerDisplay(){if(this._outletService.Data){const t=this.ConstructCartModelForCustomerDisplay(),e=new Gn;e.GroupID=this._outletService.Data.RegisterID+"_Subscriber",e.Method="POSCartAmountUpdated",e.Data=t,this.localdata.isStoreOrderInServer().then(i=>{i&&this._signal.Broadcast(e)})}}BroadcastStateToCustomerDisplay(t,e="",i="",r=0){const c=new Po;c.Status=t,c.InvoiceID=e,c.LoyaltyPoint=i,c.diff=r;const l=new Gn;l.GroupID=this._outletService.Data.RegisterID+"_Subscriber",l.Method="POSStateUpdated",l.Data=c,this.localdata.isStoreOrderInServer().then(d=>{d&&this._signal.Broadcast(l)})}BroadcastQRToCustomerDisplay(t){const e=new Oo;e.GopayQr=t;const i=new Gn;i.GroupID=this._outletService.Data.RegisterID+"_Subscriber",i.Method="POSQRPaymentActivated",i.Data=e,this.localdata.isStoreOrderInServer().then(r=>{r&&this._signal.Broadcast(i)})}BroadcastChangeToKitchenDisplay(){const t=new Gn;t.GroupID=this._outletService.Data.EntityID+"_Subscriber",t.Method="ReceiveKitchenDisplayMessage",t.Data={changes:!0},this.localdata.isStoreOrderInServer().then(e=>{e&&this._signal.Broadcast(t)})}}return o.\u0275fac=function(t){return new(t||o)(n.LFG(W.T),n.LFG(dt),n.LFG(S),n.LFG(F),n.LFG(G),n.LFG(zn),n.LFG(_n.r))},o.\u0275prov=n.Yz7({token:o,factory:o.\u0275fac,providedIn:"root"}),o})(),R=(()=>{class o{constructor(t,e,i,r,c,l,d,s,p,f,M,b){this._orderDataService=t,this._posHttpResponseService=e,this._CoreHttpService=i,this._outletService=r,this._orderHttpService=c,this._signal=l,this._promotionEventService=d,this._customerHttpService=s,this._posHubService=p,this._invoiceCalculatorService=f,this._dialog=M,this._toastr=b,this._Data=new j.X(new Ln),this.Data$=this._Data.asObservable(),this.posData=new $.m,this.activeRegister=new Vn,this.subscribeObservableChanges(),this._signal.OnContactReceive.subscribe(I=>{if(!g.gT.IsEmpty(I)){const v=JSON.parse(I);this._orderDataService.updateCustomerID(v.ID).then(x=>{this.posData.ContactName=v.Name,this._customerHttpService.Data=x,this.pushNewValue(this.Data)})}})}get Data(){return this._Data.value}subscribeObservableChanges(){this._orderDataService.Data$.subscribe(t=>{this.posData=t}),this._outletService.Data$.subscribe(t=>{this.activeRegister=t,this.Data.posState!=O.IsEdit&&this.createNewSalesOrderDataModel()})}pushNewValue(t){this._Data.next(t)}createNewTransactionInSameOutletRegister(t=!0){t?this._CoreHttpService.GenerateNumber(this._orderDataService.Data.Order.EntityID,this.activeRegister).subscribe(i=>{this.activeRegister.NumberElement=i.OrderNumberElement,this.activeRegister.InvoiceNumberElement=i.InvoiceNumberElement,this.activeRegister.NewOrderID=i.NewOrderID,this.pushNewValue(new Ln),this.createNewSalesOrderDataModel()}):(this.pushNewValue(new Ln),this.createNewSalesOrderDataModel())}updatePosState(t,e){e&&this._orderHttpService.pushNewValue(e),this.Data.posState=t,this.pushNewValue(this.Data)}ReturnOrder(t){t&&(this.posData.CartItems=(0,an.d8)(tn.t,t.CartItems),this.posData.CartItems=this.posData.CartItems.map(e=>(e.generateSerial(e.Variant),e.Quantity=-1*e.Quantity,e.DiscountAmount=-1*e.DiscountAmount,e)),this.posData.Order.Note="Return "+t.Order.Number,this.posData.Order.Discount=t.Order.Discount,this.posData.Order.Discount2=t.Order.Discount2,this.posData.Order.DiscountAmount=-1*t.Order.DiscountAmount,this.posData.Order.TaxTypeID=t.Order.TaxTypeID,this.posData.Order.SalesID=t.Order.SalesID,this.posData.Order.CustomerID=t.Order.CustomerID,this.posData.ContactName=t.ContactName,this._orderDataService.pushNewValue(this.posData))}plainToClass(t,e){this.posData=(0,an.d8)($.m,t),this.setSerialItems(),this.assignInvoice(t),this.assignCustomerData(t),this.initSelectedRegister(t,e),this.assignParkTemporaryItem(t),e==O.IsRetrieve&&(this.posData.Order.Date=(new Date).toJSON(),this.posData.Action.DeliveryEntityID=this.getDeliveryEntityID(this.activeRegister)),this._invoiceCalculatorService.tax=this.getTaxObjectByID(this.posData.Order.TaxTypeID),this._orderDataService.pushNewValue(this.posData)}assignInvoice(t){if(t.Invoice)this.posData.Invoice=t.Invoice,this.posData.Action.Type=Pn.q.Payment;else{const e=this._posHttpResponseService.Data.AppConfigJSON,i=this.activeRegister;this.posData.Invoice=new ge.m,e.ModuleSell.Numbering.SalesOrderNumberVisible&&(this.posData.Invoice.Number=Sn.Generate(i.InvoiceNumberElement))}}assignCustomerData(t){const e=t.Order.CustomerID,i=t.Order.EntityID;g.gT.IsNotEmpty(e)&&g.gT.IsNotEmpty(i)?this._customerHttpService.GetPrivilegeByID(e,i).toPromise().then(r=>{const l=this._posHttpResponseService.Data.AppConfigJSON.ApplicationLoyalty.Label;this._customerHttpService.Data=r,this._customerHttpService.Data.Label=l,this.pushNewValue(this.Data)}):this.Data.InputTextValue=null}initSelectedRegister(t,e){if(e!==O.IsRetrieve){const i=t.Order.RegisterID,c=this._posHttpResponseService.Data.Registers.find(l=>l.ID==i);this._outletService.pushNewRegister(c)}else{const i=this.activeRegister.RegisterID;i!==t.Order.RegisterID&&(this.posData.Order.RegisterID=i,this._toastr.warning("You are processing order from different Register","Different Register"))}}setSerialItems(){this.posData.CartItems=this.posData.CartItems.map(t=>(t.generateSerial(t.Variant),t))}assignParkTemporaryItem(t){this.Data.parkTemporaryItem=(0,an.d8)(tn.t,t.CartItems),this.pushNewValue(this.Data)}getDefaultOrderType(t){if(g.gT.IsNotEmpty(t.DefaultCustomerPOType))return t.DefaultCustomerPOType;{let e=this._posHttpResponseService.Data.PoTypes;return e.length>0?e[0].ID:null}}createNewSalesOrderDataModel(){const t=this._posHttpResponseService.Data.AppConfigJSON;this._promotionEventService.selectedPromotion=null,this._invoiceCalculatorService.discountAfterTax=0,this._customerHttpService.Data=new $n.B;const e=this._posHttpResponseService.Data,i=this.activeRegister,r=new $.m;!g.gT.IsEmpty(e.SalesID)&&null!=i.ListSales&&i.ListSales.find(d=>d.ID==e.SalesID)&&(r.Order.SalesID=e.SalesID),r.Order.Number=Sn.Generate(i.NumberElement),r.Action.NewOrderID=i.NewOrderID,t.ModuleSell.Numbering.SalesOrderNumberVisible&&(r.Invoice.Number=Sn.Generate(i.InvoiceNumberElement)),r.Order.CurrencyID=e.AppConfigJSON.CoreDefaults.CurrencyID;const c=this.findCurrencyById(r.Order.CurrencyID);this._invoiceCalculatorService.currencySymbol=c.Symbol,r.Order.CurrencyRate=c.ExchangeRate,g.gT.IsNotEmpty(i.DefaultTaxType)?(r.Order.TaxTypeID=i.DefaultTaxType,this._invoiceCalculatorService.tax=this.getTaxObjectByID(i.DefaultTaxType)):(r.Order.TaxTypeID=e.Taxes[0].ID,this._invoiceCalculatorService.tax=e.Taxes[0]),r.Order.TypeID=this._posHttpResponseService.Data.AppConfigJSON.ModuleSell.RememberOrderTypeFromPreviousTransaction?g.gT.IsEmpty(this._orderHttpService.Data)?this.getDefaultOrderType(i):this.posData.Order.TypeID:this.getDefaultOrderType(i),g.gT.IsNotEmpty(i.EntityID)&&(r.Order.EntityID=i.EntityID,r.Order.RegisterID=i.RegisterID),r.Order.CouponType=t.TadaCouponVisible?on.$.Tada:on.$.DealPOS,r.Action.DeliveryEntityID=this.getDeliveryEntityID(i),this._orderDataService.pushNewValue(r)}findCurrencyById(t=1){return this._posHttpResponseService.Data.Currencies.find(r=>r.ID==t)}getTaxObjectByID(t){const e=this._posHttpResponseService.Data.Taxes.find(i=>i.ID==t);return e}getDeliveryEntityID(t){return this._posHttpResponseService.Data.AppConfigJSON.ModuleSell.Shipping.DefaultOrderDelivery==Hn.NOW?g.gT.IsEmpty(t.DefaultWarehouse)?t.EntityID:t.DefaultWarehouse:g.gT.GuidEmpty}submitParkToServer(t){if(this._promotionEventService.selectedPromotion)return void this.clearPromotionAppliedInPark();const e=this._posHttpResponseService.Data.AppConfigJSON;return this.posData.Action.DeliveryEntityID=g.gT.GuidEmpty,this.posData.Action.Type=Pn.q.Park,null!=t.ParkLabel&&(this.posData.Order.ParkLabel=t.ParkLabel),this.posData.Order.Note=t.Note,this.posData.Order.NumberOfPerson=t.NumberOfPerson,this.posData.Order.Deposit=t.Deposit,this.posData.Order.InvoicedStateID=gn.Pending,this.posData.Order.DepositPaymentMethodID=t.DepositPaymentMethodID,g.gT.IsNotEmpty(t.ID)&&(this.posData.Order.ID=t.ID),this._orderDataService.pushNewValue(this.posData),new Promise((i,r)=>{this._orderDataService.submitOrder(e).then(c=>{i(c),this._posHubService.BroadcastChangeToKitchenDisplay(),this.updatePosState(O.isPark,c),this.createNewTransactionInSameOutletRegister()}).catch(c=>{r(c)})})}clearPromotionAppliedInPark(){this._dialog.open(kt,{id:"modal-promotion-confirm",data:{message:"\n Promotion cannot be applied when Park, \n Order will be restored to before the promotion is applied\n "},disableClose:!0})}}return o.\u0275fac=function(t){return new(t||o)(n.LFG(S),n.LFG(D),n.LFG(st),n.LFG(F),n.LFG(z.D),n.LFG(zn),n.LFG(fn),n.LFG(_n.r),n.LFG(bn),n.LFG(G),n.LFG(P.uw),n.LFG(A._W))},o.\u0275prov=n.Yz7({token:o,factory:o.\u0275fac,providedIn:"root"}),o})();var xo=m(1915),It=m(3113),vo=m(9204),yo=m(5722),En=m(8852);class Do{}let At=(()=>{class o{constructor(t){this.httpService=t}VerifyPayment(t){return this.httpService.post(g.Wz.VerifyPayment,t)}generateLink(t){return this.httpService.post(g.Wz.GenerateLink,t)}generateQRCode(t,e){return this.httpService.post(t,e)}}return o.\u0275fac=function(t){return new(t||o)(n.LFG(rn.O))},o.\u0275prov=n.Yz7({token:o,factory:o.\u0275fac,providedIn:"root"}),o})(),Zt=(()=>{class o{constructor(t,e,i,r){this._posHubService=t,this._orderDataService=e,this._PaymentHttpService=i,this._InvoicecashierCalculatorService=r}onQRPaymentComplete(t,e){return new Promise((i,r)=>{t.transaction_id===this.transactionId?t.gross_amount===this._InvoicecashierCalculatorService.Data?"settlement"===t.transaction_status?this.validateEMoneyPayment(e).subscribe(c=>{i(c)}):r({header:"Invalid QR Payment",message:`Transaction status is ${t.transaction_status}`}):r({header:"Invalid QR Payment",message:`paid_amount: ${t.gross_amount} vs invoice_amount: ${this._InvoicecashierCalculatorService.Data}`}):r({header:"Invalid QR Payment",message:`transaction_id: ${t.transaction_id} / gross_amount: ${t.gross_amount}`})})}generateNewPayment(t,e){const i=this._orderDataService.Data;g.gT.IsEmpty(this.qrPaymentMethodID)&&alert("QR PaymentMethod.ID is not available!");const r=new En.j;return r.PaidAmount=e,r.Amount=e,r.Date=i.Order.Date,r.MethodID=this.qrPaymentMethodID,r.Code=t,r}sendStateCompleteToCustomerDisplay(t){this._posHubService.BroadcastStateToCustomerDisplay(O.IsComplete,t.ObjectID,t.LoyaltyPoint,0)}generateQR(t,e){this.qrPaymentMethodID=e.ID;const i=this.getServiceUrl(e.EMoneyTypeID);return this._PaymentHttpService.generateQRCode(i,t).pipe((0,mt.U)(l=>(this.transactionId=l.Transaction_id,this.sendQRToCustomerDisplay(l.Url),l)))}sendQRToCustomerDisplay(t){this._posHubService.BroadcastQRToCustomerDisplay(t)}validateEMoneyPayment(t){const e=this._orderDataService.Data,i=this._InvoicecashierCalculatorService.Data,r=new Do;return r.RegisterID=e.Order.RegisterID,r.Number=e.Order.Number,r.Amount=i,r.TransactionID=this.transactionId,this._PaymentHttpService.VerifyPayment(r).pipe((0,vo.w)(c=>{const l=this._orderDataService.Data,d=this.generateNewPayment(this.transactionId,i),s=[];return s.push(d),l.Invoice.Due=null,l.Action.Type=Pn.q.Payment,l.Order.InvoicedStateID=gn.Complete,l.Payments=s,this._orderDataService.pushNewValue(l),(0,xo.D)(this._orderDataService.submitOrder(t)).pipe((0,yo.b)(p=>{this.sendStateCompleteToCustomerDisplay(p)}))}))}getServiceUrl(t){let e;switch(t){case It.m.Gopay:e=g.Wz.GenerateGopayQrCode;break;case It.m.EmpatKali:e=g.Wz.GenerateEmpatKaliQrCode}return e}}return o.\u0275fac=function(t){return new(t||o)(n.LFG(bn),n.LFG(S),n.LFG(At),n.LFG(G))},o.\u0275prov=n.Yz7({token:o,factory:o.\u0275fac,providedIn:"root"}),o})();var pt=m(9880),Nt=m(9265),dn=(()=>(function(o){o[o.DiscountPercentage=1]="DiscountPercentage",o[o.DiscountAmount=2]="DiscountAmount",o[o.Return=3]="Return",o[o.ParkedDeletion=4]="ParkedDeletion",o[o.FullAccess=5]="FullAccess"}(dn||(dn={})),dn))();let So=(()=>{class o{constructor(t,e,i,r){this._httpService=t,this._orderDataService=e,this._userRoleService=i,this.toastr=r,this.role=new K.Q,this.subscribeToObservable()}subscribeToObservable(){this._userRoleService.Data$.subscribe(t=>{this.role=t})}RedeemCoupon(t,e,i){this._httpService.post(g.Wz.Authorize,{Key:t,EntityID:this._orderDataService.Data.Order.EntityID,CouponType:i}).subscribe(c=>{switch(c.Type){case dn.DiscountPercentage:this.HandleDiscountPercentage(c),this.toastr.success(c.Notify,"Coupon Applied");break;case dn.DiscountAmount:this.HandleDiscountAmount(c),this.toastr.success(c.Notify,"Coupon Applied");break;case dn.Return:this.HandleReturn();break;case dn.ParkedDeletion:this.HandleParkedDeletion();break;case dn.FullAccess:this.HandleFullAccess(),this.toastr.success("You now have Full Access for this Order!","Coupon Applied")}this._orderDataService.Data.Order.AuthorizationKey=t,this._orderDataService.Data.Order.AuthorizationNote=e,this._orderDataService.Data.Order.CouponType=i,i==on.$.Tada&&(g.gT.IsNotEmpty(this._orderDataService.Data.Order.Note)?this._orderDataService.Data.Order.Note+="\nCoupon TADA - "+c.Notify:this._orderDataService.Data.Order.Note=" Coupon TADA - "+c.Notify)})}HandleDiscountPercentage(t){t.amount>0?(this._orderDataService.Data.Order.Discount=t.amount,this._orderDataService.pushNewValue()):(this.role.Discount=!0,this._userRoleService.pushNewValue(this.role))}HandleDiscountAmount(t){t.amount>0?(this._orderDataService.Data.Order.DiscountAmount=t.amount,this._orderDataService.pushNewValue()):(this.role.Discount=!0,this._userRoleService.pushNewValue(this.role))}HandleReturn(){this.role.Return=!0,this._userRoleService.pushNewValue(this.role)}HandleParkedDeletion(){this.role.ParkedDeletionAuthorized=!0,this._userRoleService.pushNewValue(this.role)}HandleFullAccess(){this.role.UnitPriceEditor=!0,this.role.Discount=!0,this.role.Return=!0,this.role.TaxRestriction=!1,this.role.NumberEditor=!0,this.role.DateEditor=!0,this._userRoleService.pushNewValue(this.role)}}return o.\u0275fac=function(t){return new(t||o)(n.LFG(rn.O),n.LFG(S),n.LFG(en),n.LFG(A._W))},o.\u0275prov=n.Yz7({token:o,factory:o.\u0275fac,providedIn:"root"}),o})();var xn=m(7348);function wo(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",6),n.TgZ(1,"mat-button-toggle-group",9),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw().modeCouponType=i})("change",function(){return n.CHM(t),n.oxw().changeCoupon()}),n.TgZ(2,"mat-button-toggle",10),n.TgZ(3,"large",11),n._uU(4,"TADA"),n.qZA(),n.qZA(),n.TgZ(5,"mat-button-toggle",10),n.TgZ(6,"large",11),n._uU(7,"DealPOS"),n.qZA(),n.qZA(),n.qZA(),n.qZA()}if(2&o){const t=n.oxw();n.xp6(1),n.Q6J("ngModel",t.modeCouponType),n.xp6(1),n.Q6J("value",!0),n.xp6(3),n.Q6J("value",!1)}}let To=(()=>{class o{constructor(t,e,i,r){this.promotionService=t,this._orderDataService=e,this._posService=i,this.dialogRef=r,this.modalConfig=new T.O,this.modeType=!1,this.typeText="password",this.typeIcon="passwordIcon fas fa-lg ng-star-inserted fa-eye-slash",this.modalConfig.title="Promotion Coupon",this.modalConfig.customWidth="284px",this.modeCouponType=!1,this.TadaVisible=i.Data.AppConfigJSON.TadaCouponVisible,this._orderDataService.Data$.subscribe(c=>{this.AuthorizationKey=c.Order.AuthorizationKey,this.AuthorizationNote=c.Order.AuthorizationNote,this.couponType=c.Order.CouponType,this.ChangeTypeCoupon(),this.CustomerID=c.Order.CustomerID}),this.TadaVisible&&g.gT.IsEmpty(this.AuthorizationKey)&&(this.modeCouponType=!0,this.couponType=on.$.Tada)}ChangeTypeCoupon(){null==this.couponType&&(this.couponType=on.$.DealPOS,this.modeCouponType=!1),this.couponType==on.$.Tada&&(this.modeCouponType=!0),this.couponType==on.$.DealPOS&&(this.modeCouponType=!1)}changeCoupon(){this.couponType=this.modeCouponType?on.$.Tada:on.$.DealPOS}showPassword(){this.modeType?(this.typeText="text",this.typeIcon="passwordIcon fas fa-lg ng-star-inserted fa-eye"):(this.typeText="password",this.typeIcon="passwordIcon fas fa-lg ng-star-inserted fa-eye-slash")}onOk(){this.TadaVisible&&this.couponType==on.$.Tada&&g.gT.IsEmpty(this.CustomerID)?alert("Please enter your customer"):(this.promotionService.RedeemCoupon(this.AuthorizationKey,this.AuthorizationNote,this.couponType),this.dialogRef.close())}}return o.\u0275fac=function(t){return new(t||o)(n.Y36(So),n.Y36(S),n.Y36(D),n.Y36(P.so))},o.\u0275cmp=n.Xpm({type:o,selectors:[["pos-modal-coupon-code"]],decls:12,vars:9,consts:[[3,"title","config","onOk","onCancel","onClose"],["class","form-label-group",4,"ngIf"],[1,"form-label-group","mb-0"],["data-cy","CouponInput","id","cpn","name","AuthorizationKey",1,"form-control",3,"type","ngModel","ngModelChange"],[3,"click"],["for","cpn"],[1,"form-label-group"],["name","note","id","note","data-cy","CouponNote","name","AuthorizationNote",1,"form-control",3,"ngModel","ngModelChange"],["for","note"],["name","fontStyle","aria-label","Font Style",3,"ngModel","ngModelChange","change"],[3,"value"],[1,"font-weight-bold"]],template:function(t,e){1&t&&(n.TgZ(0,"modal-material",0),n.NdJ("onOk",function(){return e.onOk()})("onCancel",function(){return e.dialogRef.close()})("onClose",function(){return e.dialogRef.close()}),n.TgZ(1,"content"),n.YNc(2,wo,8,3,"div",1),n.TgZ(3,"div",2),n.TgZ(4,"input",3),n.NdJ("ngModelChange",function(r){return e.AuthorizationKey=r}),n.qZA(),n.TgZ(5,"i",4),n.NdJ("click",function(){return e.modeType=!e.modeType,e.showPassword()}),n.qZA(),n.TgZ(6,"label",5),n._uU(7,"Coupon"),n.qZA(),n.qZA(),n.TgZ(8,"div",6),n.TgZ(9,"textarea",7),n.NdJ("ngModelChange",function(r){return e.AuthorizationNote=r}),n.qZA(),n.TgZ(10,"label",8),n._uU(11,"Note"),n.qZA(),n.qZA(),n.qZA(),n.qZA()),2&t&&(n.Q6J("title","Promotion Coupon")("config",e.modalConfig),n.xp6(2),n.Q6J("ngIf",e.TadaVisible),n.xp6(2),n.Q6J("type",e.typeText)("ngModel",e.AuthorizationKey),n.xp6(1),n.Tol(e.typeIcon),n.xp6(4),n.Q6J("ngModel",e.AuthorizationNote))},directives:[y.M,_.O5,h.Fj,h.JJ,h.On,xn.A9,xn.Yi],styles:[".passwordIcon[_ngcontent-%COMP%] {\n position: relative;\n margin: 0 auto !important;\n cursor: pointer;\n left: 12.5rem;\n top: -2.3rem;\n z-index: 999;\n}\n\n.mat-button-toggle-checked[_ngcontent-%COMP%] {\n background-color: #dfeffc;\n color: #0976b4;\n}"]}),o})();function ko(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",13),n.TgZ(1,"div",14),n.TgZ(2,"div",15),n._uU(3,"Orders"),n.qZA(),n.TgZ(4,"div",15),n.TgZ(5,"input",16),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw().localConfig.orderUsingLocal=i}),n.qZA(),n.TgZ(6,"label",17),n._uU(7,"Online"),n.qZA(),n.qZA(),n.TgZ(8,"div",15),n.TgZ(9,"input",16),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw().localConfig.orderUsingLocal=i}),n.qZA(),n.TgZ(10,"label",17),n._uU(11,"Offline"),n.qZA(),n.qZA(),n.qZA(),n.TgZ(12,"div",14),n.TgZ(13,"div",15),n._uU(14,"Products"),n.qZA(),n.TgZ(15,"div",15),n.TgZ(16,"input",18),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw().localConfig.productUsingLocal=i}),n.qZA(),n.TgZ(17,"label",17),n._uU(18,"Online"),n.qZA(),n.qZA(),n.TgZ(19,"div",15),n.TgZ(20,"input",18),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw().localConfig.productUsingLocal=i}),n.qZA(),n.TgZ(21,"label",17),n._uU(22,"Offline"),n.qZA(),n.qZA(),n.qZA(),n.TgZ(23,"div",14),n.TgZ(24,"div",15),n._uU(25,"Start Config"),n.qZA(),n.TgZ(26,"div",15),n.TgZ(27,"input",19),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw().localConfig.configUsingLocal=i}),n.qZA(),n.TgZ(28,"label",17),n._uU(29,"Online"),n.qZA(),n.qZA(),n.TgZ(30,"div",15),n.TgZ(31,"input",19),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw().localConfig.configUsingLocal=i}),n.qZA(),n.TgZ(32,"label",17),n._uU(33,"Offline"),n.qZA(),n.qZA(),n.qZA(),n.qZA()}if(2&o){const t=n.oxw();n.xp6(5),n.Q6J("ngModel",t.localConfig.orderUsingLocal)("value",!1),n.xp6(4),n.Q6J("ngModel",t.localConfig.orderUsingLocal)("value",!0),n.xp6(7),n.Q6J("ngModel",t.localConfig.productUsingLocal)("value",!1),n.xp6(4),n.Q6J("ngModel",t.localConfig.productUsingLocal)("value",!0),n.xp6(7),n.Q6J("ngModel",t.localConfig.configUsingLocal)("value",!1),n.xp6(4),n.Q6J("ngModel",t.localConfig.configUsingLocal)("value",!0)}}let Io=(()=>{class o{constructor(t,e){this._onlineStatusService=t,this.dialogRef=e,this.modalConfig=new T.O,this.modalConfig.title="Working Status",this.destroy$=new N.xQ}ngOnInit(){this._onlineStatusService.localDataConfig$.pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.localConfig=t})}updateOnlineStatus(t){this.localConfig.configUsingLocal=t,this.localConfig.orderUsingLocal=t,this.localConfig.productUsingLocal=t,this._onlineStatusService.updateStoredConfig(this.localConfig)}close(){this._onlineStatusService.updateStoredConfig(this.localConfig),this.dialogRef.close()}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete()}}return o.\u0275fac=function(t){return new(t||o)(n.Y36(nn.q),n.Y36(P.so))},o.\u0275cmp=n.Xpm({type:o,selectors:[["pos-modal-online-status"]],decls:23,vars:6,consts:[[3,"config","onOk","onCancel","onClose"],[2,"width","420px"],[1,"row","no-gutters","text-center"],[1,"col-6","pr-3",3,"click"],[1,"btn","btn-outline-secondary","success"],[1,"fa","fa-wifi"],[1,"pt-5","pb-10"],[1,"h6"],[1,"col-6","pl-3",3,"click"],["for","radOffline",1,"btn","btn-outline-secondary","danger"],[1,"fa","fa-wifi-off"],[1,"pt-3"],["class","container","style","margin-top: 10px",4,"ngIf"],[1,"container",2,"margin-top","10px"],[1,"row"],[1,"col-md-4"],["type","radio","name","order",3,"ngModel","value","ngModelChange"],[1,"font-weight-bold"],["type","radio","name","product",3,"ngModel","value","ngModelChange"],["type","radio","name","config",3,"ngModel","value","ngModelChange"]],template:function(t,e){1&t&&(n.TgZ(0,"modal-material",0),n.NdJ("onOk",function(){return e.close()})("onCancel",function(){return e.close()})("onClose",function(){return e.close()}),n.TgZ(1,"content"),n.TgZ(2,"div",1),n.TgZ(3,"div",2),n.TgZ(4,"div",3),n.NdJ("click",function(){return e.updateOnlineStatus(!1)}),n.TgZ(5,"label",4),n._UZ(6,"i",5),n.TgZ(7,"h4",6),n.TgZ(8,"strong"),n._uU(9,"ONLINE"),n.qZA(),n.qZA(),n.TgZ(10,"small",7),n._uU(11," Upload orders in realtime to cloud server "),n.qZA(),n.qZA(),n.qZA(),n.TgZ(12,"div",8),n.NdJ("click",function(){return e.updateOnlineStatus(!0)}),n.TgZ(13,"label",9),n._UZ(14,"i",10),n.TgZ(15,"h4",11),n.TgZ(16,"strong"),n._uU(17,"OFFLINE"),n.qZA(),n.qZA(),n.TgZ(18,"small",7),n._uU(19," Save order locally, upload manually when connection is available "),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.TgZ(20,"more-content"),n.YNc(21,ko,34,12,"div",12),n.qZA(),n._UZ(22,"footer"),n.qZA()),2&t&&(n.Q6J("config",e.modalConfig),n.xp6(5),n.ekj("success",!(e.localConfig.orderUsingLocal&&e.localConfig.productUsingLocal&&e.localConfig.configUsingLocal)),n.xp6(8),n.ekj("offline",e.localConfig.orderUsingLocal&&e.localConfig.productUsingLocal&&e.localConfig.configUsingLocal),n.xp6(8),n.Q6J("ngIf",e.localConfig))},directives:[y.M,_.O5,h._,h.Fj,h.JJ,h.On],styles:['.success[_ngcontent-%COMP%] {\n color: #ffffff;\n background-color: #89b03e;\n}\n.offline[_ngcontent-%COMP%] {\n color: #ffffff;\n background-color: #c9302c;\n}\n.fa-wifi-off[_ngcontent-%COMP%] {\n background-image: url("//res.cloudinary.com/pos/image/upload/v1535431932/POS/Images/Icon/wifi-off.svg");\n height: 30px;\n width: 30px;\n background-size: 30px;\n background-repeat: no-repeat;\n}\n#radOffline[_ngcontent-%COMP%]:checked + label[_ngcontent-%COMP%] .fa-wifi-off[_ngcontent-%COMP%] {\n background-image: url("//res.cloudinary.com/pos/image/upload/POS/Images/Icon/wifi-off-white.svg");\n}\n.fa-wifi[_ngcontent-%COMP%] {\n font-size: 30px;\n}']}),o})();function Ao(o,a){if(1&o){const t=n.EpF();n.ynx(0),n.TgZ(1,"button",10),n.NdJ("click",function(){n.CHM(t);const i=n.oxw(2).$implicit;return n.oxw().onApplyPromotion(i)}),n._uU(2," APPLY "),n.qZA(),n.BQk()}if(2&o){const t=n.oxw(3);n.xp6(1),n.Q6J("disabled",t.selectedPromotion)}}function Zo(o,a){if(1&o){const t=n.EpF();n.ynx(0),n.TgZ(1,"button",11),n.NdJ("click",function(){n.CHM(t);const i=n.oxw(2).$implicit;return n.oxw().onRemovePromotion(i)}),n._uU(2," REMOVE "),n.qZA(),n.BQk()}}function No(o,a){if(1&o&&(n.ynx(0),n.YNc(1,Ao,3,1,"ng-container",9),n.YNc(2,Zo,3,0,"ng-container",9),n.BQk()),2&o){const t=n.oxw().$implicit,e=n.oxw();n.xp6(1),n.Q6J("ngIf",(null==e.selectedPromotion?null:e.selectedPromotion.ID)!=t.ID),n.xp6(1),n.Q6J("ngIf",(null==e.selectedPromotion?null:e.selectedPromotion.ID)==t.ID)}}function qo(o,a){1&o&&(n.TgZ(0,"p",12),n._uU(1,"Not Eligible"),n.qZA())}const Ro=function(o){return{"bg-light":o}};function Jo(o,a){if(1&o&&(n.TgZ(0,"div",3),n.TgZ(1,"div",4),n.TgZ(2,"h5"),n._uU(3),n.qZA(),n.TgZ(4,"p",5),n._uU(5),n.qZA(),n.qZA(),n.TgZ(6,"div",6),n.YNc(7,No,3,2,"ng-container",7),n.YNc(8,qo,2,0,"ng-template",null,8,n.W1O),n.qZA(),n.qZA()),2&o){const t=a.$implicit,e=n.MAs(9),i=n.oxw();n.Q6J("ngClass",n.VKq(5,Ro,!t.Eligible&&t.TypeID!==i.promotionType.Discount)),n.xp6(3),n.Oqu(t.Name),n.xp6(2),n.Oqu(t.Description),n.xp6(2),n.Q6J("ngIf",t.Eligible||t.TypeID===i.promotionType.Discount)("ngIfElse",e)}}let qt=(()=>{class o{constructor(t,e){this._dialogRef=t,this._promotionEventService=e,this.modalConfig=new T.O,this.promotions=[],this.promotionType=q,this.destroy$=new N.xQ}ngOnInit(){this.subscribePromotionService(),this.initModalConfig()}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete()}subscribePromotionService(){this._promotionEventService.Data$.pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.promotions=t,this.checkValidSelectedPromotion()})}checkValidSelectedPromotion(){this.selectedPromotion=this._promotionEventService.selectedPromotion,this.selectedPromotion&&-1===this.promotions.findIndex(e=>e.ID==this.selectedPromotion.ID&&e.Eligible)&&(this.selectedPromotion=null,this._promotionEventService.selectedPromotion=null)}initModalConfig(){this.modalConfig.title="Promotions",this.modalConfig.customWidth="500px",this.modalConfig.hideFooter=!0,this.modalConfig.bodyScrollable=!0}onApplyPromotion(t){this._promotionEventService.applyPromotion(t),t.TypeID!=q.Product&&this.close()}onRemovePromotion(t){this._promotionEventService.removePromotion(),this.selectedPromotion=null}close(){this._dialogRef.close()}}return o.\u0275fac=function(t){return new(t||o)(n.Y36(P.so),n.Y36(fn))},o.\u0275cmp=n.Xpm({type:o,selectors:[["POS-modal-promotion"]],decls:5,vars:6,consts:[[3,"config","onCancel","onClose"],[1,"container"],["class","row border mt-3 py-2 justify-content-between",3,"ngClass",4,"ngFor","ngForOf"],[1,"row","border","mt-3","py-2","justify-content-between",3,"ngClass"],[1,"col","mt-3"],[1,"description"],[1,"col-auto","my-auto"],[4,"ngIf","ngIfElse"],["notEligible",""],[4,"ngIf"],[1,"btn","btn-success","my-auto",3,"disabled","click"],[1,"btn","btn-danger","my-auto",3,"click"],[1,"text-danger","my-auto"]],template:function(t,e){1&t&&(n.TgZ(0,"modal-material",0),n.NdJ("onCancel",function(){return e.close()})("onClose",function(){return e.close()}),n.TgZ(1,"content"),n.TgZ(2,"div",1),n.YNc(3,Jo,10,7,"div",2),n.ALo(4,"sortBy"),n.qZA(),n.qZA(),n.qZA()),2&t&&(n.Q6J("config",e.modalConfig),n.xp6(3),n.Q6J("ngForOf",n.Dn7(4,2,e.promotions,"desc","Eligible")))},directives:[y.M,_.sg,_.mk,_.O5],pipes:[J.W7],styles:[".description[_ngcontent-%COMP%] {\n word-wrap: break-word;\n}"]}),o})(),Eo=(()=>{class o{constructor(t,e,i,r){this.dialogRef=t,this._orderDataService=e,this._orderProcessorService=i,this._OrderHttpService=r,this.modalConfig=new T.O,this.modalConfig.title="Return",this.modalConfig.customWidth="284px",this.destroy$=new N.xQ}ngOnInit(){this.initInvoiceRetur()}initInvoiceRetur(){this.ReturNumber=null,this._orderProcessorService.Data$.pipe((0,C.R)(this.destroy$)).subscribe(t=>{t.posState===O.IsReturn&&(this.ReturNumber=t.ReturNumber)})}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete()}onOk(){this._OrderHttpService.GetReturnInvoice(this.ReturNumber,this._orderDataService.Data.Order.EntityID).pipe((0,C.R)(this.destroy$)).subscribe(e=>{this._orderProcessorService.Data.ReturNumber=this.ReturNumber,this._orderProcessorService.ReturnOrder(e),this._orderProcessorService.updatePosState(O.IsReturn),this.dialogRef.close()})}}return o.\u0275fac=function(t){return new(t||o)(n.Y36(P.so),n.Y36(S),n.Y36(R),n.Y36(z.D))},o.\u0275cmp=n.Xpm({type:o,selectors:[["pos-modal-return"]],decls:6,vars:2,consts:[[3,"config","onOk","onCancel","onClose"],[1,"form-label-group"],["type","text","data-cy","ReturnNumber","id","ReturNumber","name","ReturNumber",1,"form-control",3,"ngModel","ngModelChange"],["for","ReturNumber"]],template:function(t,e){1&t&&(n.TgZ(0,"modal-material",0),n.NdJ("onOk",function(){return e.onOk()})("onCancel",function(){return e.dialogRef.close()})("onClose",function(){return e.dialogRef.close()}),n.TgZ(1,"content"),n.TgZ(2,"div",1),n.TgZ(3,"input",2),n.NdJ("ngModelChange",function(r){return e.ReturNumber=r}),n.qZA(),n.TgZ(4,"label",3),n._uU(5,"Number Invoice"),n.qZA(),n.qZA(),n.qZA(),n.qZA()),2&t&&(n.Q6J("config",e.modalConfig),n.xp6(3),n.Q6J("ngModel",e.ReturNumber))},directives:[y.M,h.Fj,h.JJ,h.On],styles:[""]}),o})();var B=m(2605);function Qo(o,a){if(1&o&&(n.ynx(0),n._uU(1),n.ALo(2,"date"),n.BQk()),2&o){const t=n.oxw();n.xp6(1),n.hij(" ",n.xi3(2,1,t.syncDate,"dd MMM yyyy HH:mm")," ")}}function Uo(o,a){1&o&&n._uU(0," Never been synced ")}function Fo(o,a){if(1&o&&(n.TgZ(0,"p"),n._uU(1),n.qZA()),2&o){const t=n.oxw();n.xp6(1),n.hij("You last synced ",t.dayDiff," days ago!")}}let Lo=(()=>{class o{constructor(t,e,i,r){this.LocalData=t,this.toastr=e,this.httpService=i,this.dialogRef=r,this.offlineProduct=0,this.onlineProducts=0}ngOnInit(){this.initOfflineProducts()}initOfflineProducts(){this.LocalData.getVariants().then(t=>{this.httpService.POSText("/API/Product/ProductRowsCount",'{"RowCount":99999,"PageNumber":1,"ProductDiscontinued":false,"VariantDiscontinued":false}').subscribe(e=>{this.setProductsCount(e),this.checkSyncDate()})})}checkSyncDate(){this.LocalData.getSyncTime().subscribe(t=>{this.syncDate=t,this.dayDiff=null!=this.syncDate?Math.floor(((new Date).getTime()-this.syncDate.getTime())/1e3/60/60/24):0})}syncProduct(){const t=this.LocalData.syncProducts(),e=this.LocalData.syncOutletPrice(),i=this.LocalData.syncOutlets();this.httpService.POSText("/API/Product/ProductRowsCount",'{"RowCount":99999,"PageNumber":1,"ProductDiscontinued":false,"VariantDiscontinued":false}').subscribe(r=>{this.setProductsCount(r)}),Promise.all([t,e,i]).then(()=>{this.toastr.success("Sync Product Offline Successfully","Success!"),this.checkSyncDate(),this.dialogRef.close()})}setProductsCount(t){if(t){let e=JSON.parse(t);this.onlineProducts=Number(e.Count),this.offlineProduct=Number(e.Count),this.checkSyncDate()}}}return o.\u0275fac=function(t){return new(t||o)(n.Y36(W.T),n.Y36(A._W),n.Y36(rn.O),n.Y36(P.so))},o.\u0275cmp=n.Xpm({type:o,selectors:[["sync-products"]],decls:25,vars:5,consts:[[1,"sync-product","row","justify-content-between"],[1,"col"],[1,"row","justify-content-start"],[1,"col-auto"],[4,"ngIf","ngIfElse"],["neverSync",""],[4,"ngIf"],[1,"col-auto","my-auto"],[1,"btn","btn-success",3,"click"],[1,"fas","fa-sync-alt","mr-2","pr-2"]],template:function(t,e){if(1&t&&(n.TgZ(0,"div",0),n.TgZ(1,"div",1),n.TgZ(2,"div",2),n.TgZ(3,"div",3),n._uU(4,"Online Products :"),n.qZA(),n.TgZ(5,"div",3),n._uU(6),n.qZA(),n.qZA(),n.TgZ(7,"div",2),n.TgZ(8,"div",3),n._uU(9,"Offline products :"),n.qZA(),n.TgZ(10,"div",3),n._uU(11),n.qZA(),n.qZA(),n.TgZ(12,"div",2),n.TgZ(13,"div",3),n._uU(14,"Last Sync :"),n.qZA(),n.TgZ(15,"div",3),n.YNc(16,Qo,3,4,"ng-container",4),n.YNc(17,Uo,1,0,"ng-template",null,5,n.W1O),n.YNc(19,Fo,2,1,"p",6),n.qZA(),n.qZA(),n.qZA(),n.TgZ(20,"div",7),n.TgZ(21,"button",8),n.NdJ("click",function(){return e.syncProduct()}),n._UZ(22,"i",9),n.TgZ(23,"span"),n._uU(24,"Sync"),n.qZA(),n.qZA(),n.qZA(),n.qZA()),2&t){const i=n.MAs(18);n.xp6(6),n.hij(" ",null==e.onlineProducts?"Failed to get Online Products":e.onlineProducts," "),n.xp6(5),n.hij(" ",e.offlineProduct," "),n.xp6(5),n.Q6J("ngIf",e.syncDate)("ngIfElse",i),n.xp6(3),n.Q6J("ngIf",e.dayDiff>14)}},directives:[_.O5],pipes:[_.uU],styles:[".sync-product[_ngcontent-%COMP%] {\n padding: 16px;\n font-size: 14px;\n}"]}),o})();function Ho(o,a){if(1&o&&(n.TgZ(0,"tr"),n.TgZ(1,"td"),n._uU(2),n.qZA(),n.TgZ(3,"td"),n._uU(4),n.ALo(5,"date"),n.qZA(),n.TgZ(6,"td"),n._uU(7),n.ALo(8,"date"),n.qZA(),n.TgZ(9,"td",5),n._uU(10),n.qZA(),n.TgZ(11,"td",5),n._uU(12),n.ALo(13,"number"),n.qZA(),n.qZA()),2&o){const t=a.$implicit;n.xp6(2),n.Oqu(t.Order.Number),n.xp6(2),n.Oqu(n.xi3(5,5,t.Order.ClientTimestamp,"dd MMM yyyy")),n.xp6(3),n.Oqu(n.xi3(8,8,t.Order.ClientTimestamp,"HH:mm")),n.xp6(3),n.Oqu(t.Items.length),n.xp6(2),n.Oqu(n.lcZ(13,11,t.TotalPaidAmount))}}function Vo(o,a){if(1&o&&(n.TgZ(0,"div",2),n.TgZ(1,"table",3),n.TgZ(2,"thead",4),n.TgZ(3,"tr"),n.TgZ(4,"th"),n._uU(5,"Number"),n.qZA(),n.TgZ(6,"th"),n._uU(7,"Date"),n.qZA(),n.TgZ(8,"th"),n._uU(9,"Time"),n.qZA(),n.TgZ(10,"th",5),n._uU(11,"Qty"),n.qZA(),n.TgZ(12,"th",5),n._uU(13,"Total"),n.qZA(),n.qZA(),n.qZA(),n.TgZ(14,"tbody"),n.YNc(15,Ho,14,13,"tr",6),n.qZA(),n.qZA(),n.qZA()),2&o){const t=n.oxw();n.xp6(15),n.Q6J("ngForOf",t.offlineOrders)}}function Bo(o,a){1&o&&(n.TgZ(0,"h1",7),n._uU(1,"There is no offline orders!"),n.qZA())}let Yo=(()=>{class o{constructor(t){this._localDataService=t,this.offlineOrders=[]}ngOnInit(){this.getOfflineOrders()}getOfflineOrders(){this._localDataService.getOfflineOrders().then(t=>{t.forEach(e=>{this.offlineOrders.push((0,an.d8)($.m,e))})})}}return o.\u0275fac=function(t){return new(t||o)(n.Y36(W.T))},o.\u0275cmp=n.Xpm({type:o,selectors:[["sync-orders"]],decls:3,vars:2,consts:[["class","table-responsive",4,"ngIf","ngIfElse"],["noOrders",""],[1,"table-responsive"],[1,"table","border-bottom"],[1,"thead-light"],[1,"text-right"],[4,"ngFor","ngForOf"],[1,"text-center","mt-5"]],template:function(t,e){if(1&t&&(n.YNc(0,Vo,16,1,"div",0),n.YNc(1,Bo,2,0,"ng-template",null,1,n.W1O)),2&t){const i=n.MAs(2);n.Q6J("ngIf",null!=e.offlineOrders&&e.offlineOrders.length>0)("ngIfElse",i)}},directives:[_.O5,_.sg],pipes:[_.uU,_.JJ],styles:[""]}),o})();const zo=["navTabs"];function $o(o,a){1&o&&(n.TgZ(0,"span"),n._uU(1,"Products"),n.qZA())}let Go=(()=>{class o{constructor(t,e){this._router=t,this.dialogRef=e,this.modalConfig=new T.O}ngOnInit(){this.initModalConfig()}initModalConfig(){this.modalConfig.headerType=Y.n.Success,this.modalConfig.title="You are online to synchronize",this.modalConfig.hideFooter=!0,this.modalConfig.customWidth="550px",this.modalConfig.noPadding=!0}goToOfflinePage(){0==this.tabs.selectedIndex?this._router.navigate(["/menu","Sell","Offline","Products"]):1==this.tabs.selectedIndex&&this._router.navigate(["/menu","Sell","Offline","Orders"]),this.close()}close(){this.dialogRef.close()}}return o.\u0275fac=function(t){return new(t||o)(n.Y36(H.F0),n.Y36(P.so))},o.\u0275cmp=n.Xpm({type:o,selectors:[["pos-modal-sync"]],viewQuery:function(t,e){if(1&t&&n.Gf(zo,5),2&t){let i;n.iGM(i=n.CRH())&&(e.tabs=i.first)}},decls:13,vars:2,consts:[[3,"config","onOk","onCancel","onClose"],["mat-align-tabs","start",1,"sync","mb-5",3,"dynamicHeight"],["navTabs",""],["mat-tab-label",""],["label","Orders"],[1,"d-flex","justify-content-center","my-5"],[1,"btn","btn-primary","btn-lg",3,"click"],[1,"fas","fa-paper-plane"]],template:function(t,e){1&t&&(n.TgZ(0,"modal-material",0),n.NdJ("onOk",function(){return e.close()})("onCancel",function(){return e.close()})("onClose",function(){return e.close()}),n.TgZ(1,"content"),n.TgZ(2,"mat-tab-group",1,2),n.TgZ(4,"mat-tab"),n.YNc(5,$o,2,0,"ng-template",3),n._UZ(6,"sync-products"),n.qZA(),n.TgZ(7,"mat-tab",4),n._UZ(8,"sync-orders"),n.qZA(),n.qZA(),n.TgZ(9,"div",5),n.TgZ(10,"button",6),n.NdJ("click",function(){return e.goToOfflinePage()}),n._UZ(11,"i",7),n._uU(12," Go to Details "),n.qZA(),n.qZA(),n.qZA(),n.qZA()),2&t&&(n.Q6J("config",e.modalConfig),n.xp6(2),n.Q6J("dynamicHeight",!1))},directives:[y.M,B.SP,B.uX,B.uD,Lo,Yo],styles:[".mat-ink-bar {\n background-color: #93bd45 !important;\n}\n\n .sync mat-tab-body {\n height: 200px;\n}\n\n .mat-tab-body-content {\n overflow-x: hidden !important;\n}\n\n.btn-gray[_ngcontent-%COMP%] {\n background-color: #f4f4f4;\n border: 1px solid #D6D6D6;\n font-weight: bold;\n color: #545454 !important;\n background: linear-gradient(to bottom, #ffffff 0%, #eeeeee 100%);\n}\n\n.h5[_ngcontent-%COMP%] {\n font-size: 12px;\n}\n\n.row[_ngcontent-%COMP%] {\n width: 450px;\n}"]}),o})();function jo(o,a){if(1&o&&(n.TgZ(0,"span",9),n._uU(1),n.qZA()),2&o){const t=n.oxw(2);n.xp6(1),n.Oqu(t.totalOfflineOrders)}}function Wo(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"a",6),n.NdJ("click",function(){return n.CHM(t),n.oxw().openSyncModal()}),n._UZ(1,"i",7),n.YNc(2,jo,2,1,"span",8),n.qZA()}if(2&o){const t=n.oxw();n.xp6(2),n.Q6J("ngIf",0!=t.totalOfflineOrders)}}function Ko(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"a",10),n.NdJ("click",function(){return n.CHM(t),n.oxw().openCouponCodeModal()}),n._UZ(1,"i",11),n.qZA()}}function Xo(o,a){if(1&o&&(n.TgZ(0,"span",9),n._uU(1),n.qZA()),2&o){const t=n.oxw(2);n.xp6(1),n.Oqu(t.totalEligiblePromotion)}}function ni(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"a",12),n.NdJ("click",function(){return n.CHM(t),n.oxw().openPromotionModal()}),n._UZ(1,"i",13),n.YNc(2,Xo,2,1,"span",8),n.qZA()}if(2&o){const t=n.oxw();n.xp6(2),n.Q6J("ngIf",0!=t.totalEligiblePromotion)}}function ti(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"a",14),n.NdJ("click",function(){return n.CHM(t),n.oxw().openReturnModal()}),n._UZ(1,"i",15),n.qZA()}}let ei=(()=>{class o{constructor(t,e,i,r,c){this._localDataService=t,this._promotionEventService=e,this.matDialog=i,this._posService=r,this._userRoleService=c,this.returnEnabled=!0,this.totalOfflineOrders=0,this.totalEligiblePromotion=0,this.destroy$=new N.xQ,this.restriction=this._posService.Data.Restriction,this._localDataService.getOfflineOrders().then(l=>{this.totalOfflineOrders=l.length})}ngOnInit(){this.subscribeToObservable()}subscribeToObservable(){this.returnEnabled=this.restriction.Return,this._userRoleService.Data$.pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.returnEnabled=t.Return}),this._promotionEventService.Data$.pipe((0,C.R)(this.destroy$)).subscribe(()=>{this.totalEligiblePromotion=this._promotionEventService.getTotalEligiblePromotion()}),this._promotionEventService.onClickToastPromo.pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.openPromotionModal()})}openOnlineStatusModal(){this.matDialog.open(Io)}openSyncModal(){this.matDialog.open(Go)}openCouponCodeModal(){this.matDialog.open(To)}openReturnModal(){this.matDialog.open(Eo)}openPromotionModal(){this.matDialog.open(qt,{id:"promotion-event"})}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}}return o.\u0275fac=function(t){return new(t||o)(n.Y36(W.T),n.Y36(fn),n.Y36(P.uw),n.Y36(D),n.Y36(en))},o.\u0275cmp=n.Xpm({type:o,selectors:[["pos-header"]],inputs:{isOnline:"isOnline"},decls:8,vars:6,consts:[["title","Working Status",1,"btn","btn-gray","font-weight-normal","mr-5","p-4",3,"click"],[1,"fa","fa-circle","pr-2",3,"ngClass"],["title","Synchronize","class","header mr-5 position-relative",3,"click",4,"ngIf"],["title","Promotion Coupon","class","header mr-5",3,"click",4,"ngIf"],["title","Promotion","class","header mr-5 position-relative",3,"click",4,"ngIf"],["title","Return","data-cy","Return","class","header",3,"click",4,"ngIf"],["title","Synchronize",1,"header","mr-5","position-relative",3,"click"],[1,"fas","fa-sync-alt"],["class","position-absolute badge badge-pill badge-danger",4,"ngIf"],[1,"position-absolute","badge","badge-pill","badge-danger"],["title","Promotion Coupon",1,"header","mr-5",3,"click"],["data-cy","Coupon","aria-hidden","true",1,"fa","fa-coupon"],["title","Promotion",1,"header","mr-5","position-relative",3,"click"],[1,"fas","fa-gift"],["title","Return","data-cy","Return",1,"header",3,"click"],["aria-hidden","true",1,"fa","fa-retur"]],template:function(t,e){1&t&&(n.TgZ(0,"a",0),n.NdJ("click",function(){return e.openOnlineStatusModal()}),n._UZ(1,"i",1),n.TgZ(2,"span"),n._uU(3),n.qZA(),n.qZA(),n.YNc(4,Wo,3,1,"a",2),n.YNc(5,Ko,2,0,"a",3),n.YNc(6,ni,3,1,"a",4),n.YNc(7,ti,2,0,"a",5)),2&t&&(n.xp6(1),n.Q6J("ngClass",e.isOnline?"text-success":"text-danger"),n.xp6(2),n.Oqu(e.isOnline?"Online":"Offline"),n.xp6(1),n.Q6J("ngIf",e.isOnline),n.xp6(1),n.Q6J("ngIf",e.isOnline),n.xp6(1),n.Q6J("ngIf",e.isOnline),n.xp6(1),n.Q6J("ngIf",e.returnEnabled&&e.isOnline))},directives:[_.mk,_.O5],styles:['@media print {\n .cashier[_ngcontent-%COMP%], pos-quick-key[_ngcontent-%COMP%], pos-header[_ngcontent-%COMP%], pos-toolbar[_ngcontent-%COMP%] {\n display: none;\n }\n}\n.is-backdate[_ngcontent-%COMP%] {\n background: repeating-linear-gradient(-60deg, #fcf4a3, #fcf4a3 15px, #fada5e 15px, #fada5e 30px) !important;\n}\n.quickKey[_ngcontent-%COMP%] {\n margin-right: 10px;\n}\n.cashier[_ngcontent-%COMP%] [_ngcontent-%COMP%]::-webkit-input-placeholder {\n font-style: italic;\n}\n.cashier[_ngcontent-%COMP%] [_ngcontent-%COMP%]:-moz-placeholder {\n \n font-style: italic;\n}\n.cashier[_ngcontent-%COMP%] [_ngcontent-%COMP%]::-moz-placeholder {\n \n font-style: italic;\n}\n.cashier[_ngcontent-%COMP%] [_ngcontent-%COMP%]:-ms-input-placeholder {\n font-style: italic;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] {\n border-bottom: 1px solid #dde2eb;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .small[_ngcontent-%COMP%] {\n margin-right: 5px !important;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .small[_ngcontent-%COMP%] .number[_ngcontent-%COMP%] {\n width: 143px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .small[_ngcontent-%COMP%] select[_ngcontent-%COMP%] {\n width: 140px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .small[_ngcontent-%COMP%] .select2-container[_ngcontent-%COMP%] {\n font-size: 12px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] {\n margin-right: 22px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] div[_ngcontent-%COMP%]:last-child {\n margin-right: 0;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 1.25rem;\n color: #3B3B3B;\n margin-right: 5px;\n line-height: unset !important;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] input[_ngcontent-%COMP%], .cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span.outlet[_ngcontent-%COMP%] {\n padding: 4px 8px 3px 5px;\n border: 1px solid #dddddd;\n font-size: 0.875rem;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] .outlet[_ngcontent-%COMP%] {\n width: 165px;\n color: #337ab7;\n background: #ffffff;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] .number[_ngcontent-%COMP%] {\n width: 150px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] select[_ngcontent-%COMP%] {\n width: 150px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.quickKey[_ngcontent-%COMP%] {\n width: 420px;\n margin-right: 10px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] {\n width: 570px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.header[_ngcontent-%COMP%] {\n border: solid 1px #cfcfcf;\n border-bottom: none;\n border-radius: 3px 3px 0 0;\n background: #f2f7fa;\n color: #222222;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.header[_ngcontent-%COMP%] .right-bottom[_ngcontent-%COMP%] {\n font-size: 9px;\n right: -6px;\n bottom: -10px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-table[_ngcontent-%COMP%] {\n border-left: solid 1px #cfcfcf;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-table[_ngcontent-%COMP%] div.col[_ngcontent-%COMP%] {\n overflow: auto;\n height: 250px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-table[_ngcontent-%COMP%] div.col[_ngcontent-%COMP%] table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] {\n background: #fbfbf7;\n border-left: none;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-table[_ngcontent-%COMP%] div.col[_ngcontent-%COMP%] table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] th[_ngcontent-%COMP%] {\n padding: 9px 5px !important;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-table[_ngcontent-%COMP%] div.col[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n padding: 10px 5px;\n border-bottom: 1px solid #cfcfcf;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-table[_ngcontent-%COMP%] div.col[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td[_ngcontent-%COMP%]:first-child {\n padding-right: 0;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-footer[_ngcontent-%COMP%] {\n border-top: solid 1px #cfcfcf;\n min-height: 85px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-footer[_ngcontent-%COMP%] div.summary[_ngcontent-%COMP%] table[_ngcontent-%COMP%] th[_ngcontent-%COMP%], .cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-footer[_ngcontent-%COMP%] div.summary[_ngcontent-%COMP%] table[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n border-left: solid 1px #cfcfcf;\n border-bottom: solid 1px #cfcfcf;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-footer[_ngcontent-%COMP%] div.summary[_ngcontent-%COMP%] table[_ngcontent-%COMP%] th[_ngcontent-%COMP%] {\n padding: 7px 8px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-footer[_ngcontent-%COMP%] div.summary[_ngcontent-%COMP%] table[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n padding: 7px 5px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-footer[_ngcontent-%COMP%] .disc[_ngcontent-%COMP%] {\n padding-top: 7px;\n padding-bottom: 6px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.action-buttons[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] {\n font-size: 1.125rem;\n padding: 15px 18px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.action-buttons[_ngcontent-%COMP%] .btn-gray[_ngcontent-%COMP%] {\n margin-right: 10px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.action-buttons[_ngcontent-%COMP%] .btn-success[_ngcontent-%COMP%] {\n width: 200px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.action-buttons[_ngcontent-%COMP%] .right-bottom[_ngcontent-%COMP%] {\n font-size: 0.625rem;\n right: 4px;\n}\n.text-black.btn-success[_ngcontent-%COMP%] {\n color: #4d4d4d !important;\n}\n.main-panel[_ngcontent-%COMP%] nav.fixed-top.offline[_ngcontent-%COMP%], .full_screen[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] > div.row.header.offline[_ngcontent-%COMP%] {\n background: repeating-linear-gradient(-60deg, #f8d7da, #f8d7da 15px, #f5c6cb 15px, #f5c6cb 30px) !important;\n}\n.barcode-input[_ngcontent-%COMP%] {\n width: 305px;\n}\n.barcode-input[_ngcontent-%COMP%] > input[_ngcontent-%COMP%] {\n height: 28px;\n}\n.barcode-input[_ngcontent-%COMP%] autocomplete[_ngcontent-%COMP%] {\n width: 267px;\n}\n.barcode-input[_ngcontent-%COMP%] autocompleteV2[_ngcontent-%COMP%] {\n width: 267px;\n}\n.input-group-text-retrieve[_ngcontent-%COMP%] {\n padding: 9px 0.75rem !important;\n}\n.font-12[_ngcontent-%COMP%] {\n font-size: 12px;\n}\n.btn-gray[_ngcontent-%COMP%] {\n background-color: #f4f4f4;\n border: 1px solid #d6d6d6;\n font-weight: bold;\n color: #545454 !important;\n background: linear-gradient(to bottom, #ffffff 0%, #eeeeee 100%);\n}\n.btn-gray-more[_ngcontent-%COMP%] {\n background-color: #f4f4f4;\n border: 1px solid #d6d6d6;\n background: linear-gradient(to bottom, #ffffff 0%, #eeeeee 100%);\n}\n.cash-btn[_ngcontent-%COMP%] {\n background-color: #f4f4f4;\n border: 1px solid #d6d6d6;\n font-weight: bold;\n margin: 0 0 0 10px;\n padding: 7px 15px;\n height: 18px;\n box-sizing: content-box;\n background: linear-gradient(to bottom, #ffffff 0%, #eeeeee 100%);\n}\n.calc-tbl[_ngcontent-%COMP%] th[_ngcontent-%COMP%] {\n padding: 7px 15px 7px 10px;\n border: 1px solid #ddd;\n border-top: none;\n background-color: #eeeeee;\n}\n.dropdown-menu[_ngcontent-%COMP%] .disabled[_ngcontent-%COMP%] {\n display: none !important;\n}\n.calc-tbl[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n width: 100px;\n text-align: right;\n padding: 7px 5px;\n}\nsection.complete[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n color: #3b5998;\n margin: 20px 0px;\n}\nsection.complete[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] a[_ngcontent-%COMP%] {\n font-size: 0.75rem;\n color: #868686;\n}\nsection.complete[_ngcontent-%COMP%] .complete-action[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] {\n text-align: center;\n height: 150px;\n width: 190px;\n font-family: "Roboto Slab", serif;\n display: flex;\n flex-direction: column !important;\n padding: 0px;\n color: #666666;\n margin-right: 10px;\n}\nsection.complete[_ngcontent-%COMP%] .complete-action[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n display: block;\n font-size: 50px;\n margin-top: 20px;\n}\nsection.complete[_ngcontent-%COMP%] .complete-action[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n margin: 0px;\n margin-top: 10px;\n color: #666666;\n}\nsection.complete[_ngcontent-%COMP%] .complete-action[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]:first-child h4[_ngcontent-%COMP%] {\n color: #3B3B3B;\n}\nsection.complete[_ngcontent-%COMP%] .complete-action[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n font-size: 0.625rem;\n font-style: italic;\n padding: 10px;\n box-sizing: border-box;\n color: #868686;\n border-top: 1px solid #dddddd;\n font-weight: normal;\n margin: 0px;\n}\n.complete-more-action[_ngcontent-%COMP%] {\n margin-top: 10px;\n}\n\n.modal-body[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n font-weight: 400;\n}\n.modal-body[_ngcontent-%COMP%] .actions-tabs[_ngcontent-%COMP%] {\n position: absolute;\n left: 230px;\n top: 15px;\n}\n.modal-header[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 12px;\n font-style: normal;\n}\n.modal-header[_ngcontent-%COMP%] a[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 14px !important;\n}\n.dialogButtonOption[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] {\n padding: 25px 0px;\n width: 190px;\n margin-right: 10px;\n}\n.dialogButtonOption[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n font-weight: 700;\n text-transform: uppercase;\n}\n.dialogButtonOption[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n font-size: 0.75rem;\n font-style: italic;\n color: #868686;\n margin-top: 10px;\n}\n.currency[_ngcontent-%COMP%] {\n top: 13px;\n left: 30px;\n}\n.paymentNote[_ngcontent-%COMP%]::before {\n z-index: 10;\n content: "";\n position: absolute;\n top: 0;\n left: calc(50% - 10px);\n height: 100%;\n width: 10px;\n background-color: inherit;\n border-right: 1px solid lightgray;\n transform: skewX(-10deg);\n}\n#dialogPayment[_ngcontent-%COMP%] .col-auto[_ngcontent-%COMP%], #dialogSubmitOrder[_ngcontent-%COMP%] .col-auto[_ngcontent-%COMP%] {\n padding: 0 4px;\n}\n#dialogPayment[_ngcontent-%COMP%] .col-auto[_ngcontent-%COMP%], #dialogSubmitOrder[_ngcontent-%COMP%] .col-auto[_ngcontent-%COMP%] {\n padding: 0 4px;\n}\n#dialogPayment[_ngcontent-%COMP%] .col-4[_ngcontent-%COMP%], #dialogSubmitOrder[_ngcontent-%COMP%] .col-4[_ngcontent-%COMP%] {\n width: 125px !important;\n padding: 0 4px;\n}\n#dialogPayment[_ngcontent-%COMP%] .col-8[_ngcontent-%COMP%], #dialogSubmitOrder[_ngcontent-%COMP%] .col-8[_ngcontent-%COMP%] {\n width: 250px !important;\n padding: 0 4px;\n}\n#dialogPayment[_ngcontent-%COMP%] .btn-link[_ngcontent-%COMP%], #dialogSubmitOrder[_ngcontent-%COMP%] .btn-link[_ngcontent-%COMP%] {\n padding-top: 0px;\n color: #868686;\n padding-bottom: 8px;\n border-radius: unset;\n font-family: "Roboto Slab", serif;\n}\n#dialogPayment[_ngcontent-%COMP%] .btn-link.selected[_ngcontent-%COMP%], #dialogSubmitOrder[_ngcontent-%COMP%] .btn-link.selected[_ngcontent-%COMP%] {\n color: #3B3B3B;\n border-bottom: 4px solid #07a519;\n}\n#dialogPayment[_ngcontent-%COMP%] .change[_ngcontent-%COMP%], #dialogSubmitOrder[_ngcontent-%COMP%] .change[_ngcontent-%COMP%] {\n position: absolute;\n top: 1px;\n height: 40px;\n background: #89b03e;\n color: #fff;\n right: 16px;\n padding: 0 10px;\n line-height: 40px;\n font-size: 16px;\n}\n#dialogPayment[_ngcontent-%COMP%] .change[_ngcontent-%COMP%]:before, #dialogSubmitOrder[_ngcontent-%COMP%] .change[_ngcontent-%COMP%]:before {\n content: "\\a";\n border-style: solid;\n border-width: 40px 24px 0 0;\n border-color: transparent #89b03e transparent transparent;\n position: absolute;\n left: -24px;\n}\n#dialogPayment[_ngcontent-%COMP%] .change.danger[_ngcontent-%COMP%], #dialogSubmitOrder[_ngcontent-%COMP%] .change.danger[_ngcontent-%COMP%] {\n background: #c9302c;\n}\n#dialogPayment[_ngcontent-%COMP%] .change.danger[_ngcontent-%COMP%]:before, #dialogSubmitOrder[_ngcontent-%COMP%] .change.danger[_ngcontent-%COMP%]:before {\n border-color: transparent #c9302c transparent transparent;\n}\n\n.phone[_ngcontent-%COMP%] div[_ngcontent-%COMP%] {\n height: 50px;\n width: 50px;\n padding-top: 11px;\n background-color: #f5f5f5;\n border: 1px solid gray !important;\n}\n.phone[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n padding-left: 65px !important;\n border: 1px solid gray !important;\n font-size: 25px;\n height: 50px;\n}\n.phone[_ngcontent-%COMP%] .form-control[_ngcontent-%COMP%]:focus {\n border-color: #8bb8df !important;\n}\n.back-button[_ngcontent-%COMP%] {\n left: -18px;\n top: -74px;\n}\n.back-button[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: white;\n}\n.back-button-gopay[_ngcontent-%COMP%] {\n left: -18px;\n top: -50px;\n}\n.back-button-gopay[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: white;\n}\n.logo-gopay[_ngcontent-%COMP%] {\n margin-top: -16px;\n}\n#dialogSubmitOrder[_ngcontent-%COMP%] .btn-link[_ngcontent-%COMP%] {\n padding-top: 0px;\n color: #868686;\n padding-bottom: 8px;\n border-radius: unset;\n font-family: "Roboto Slab", serif;\n}\n#dialogSubmitOrder[_ngcontent-%COMP%] .btn-link.selected[_ngcontent-%COMP%] {\n color: #3B3B3B;\n border-bottom: 4px solid #07a519;\n}\n#dialogSubmitOrder[_ngcontent-%COMP%] .btn-info[_ngcontent-%COMP%] {\n font-size: 0.75rem;\n margin-right: 10px;\n padding: 10px;\n margin-bottom: 10px;\n float: left;\n}\n#dialogSubmitOrder[_ngcontent-%COMP%] .input-label[_ngcontent-%COMP%] {\n position: relative;\n}\n#dialogSubmitOrder[_ngcontent-%COMP%] .input-label[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n position: absolute;\n font-size: 0.875rem;\n color: #868686;\n top: 26px;\n left: 20px;\n}\n#dialogSubmitOrder[_ngcontent-%COMP%] .input-label[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n margin: 0;\n margin-bottom: 8px;\n border: 1px solid #dddddd;\n padding: 7px 5px;\n width: 100%;\n font-size: 36px;\n border-radius: 3px;\n text-align: right;\n background-color: #ffffff;\n outline: none;\n}\n#dialogSubmitOrder[_ngcontent-%COMP%] .pay-info[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n border-bottom: 2px solid #07a519 !important;\n font-size: 0.875rem;\n border: none !important;\n border-bottom: 2px solid #07a519 !important;\n outline: none;\n}\n#dialogSubmitOrder[_ngcontent-%COMP%] .change[_ngcontent-%COMP%] {\n background-color: #cccccc;\n border: 1px solid #dddddd;\n width: 149px;\n padding: 5px 10px 5px 0;\n text-align: right;\n font-size: 1.25rem;\n font-weight: bold;\n float: right;\n}\n.rad-btn[_ngcontent-%COMP%] {\n position: relative;\n display: inline-block;\n}\n.rad-btn[_ngcontent-%COMP%] label[_ngcontent-%COMP%] {\n border: 1px solid #dddddd;\n border-radius: 3px;\n margin-right: 10px;\n cursor: pointer;\n padding: 10px;\n margin-bottom: 10px;\n color: black;\n}\n.rad-btn[_ngcontent-%COMP%] input[type=radio][_ngcontent-%COMP%] {\n visibility: hidden;\n position: absolute;\n left: 0;\n top: 0;\n}\n.rad-btn[_ngcontent-%COMP%] input[type=radio][_ngcontent-%COMP%]:checked + label[_ngcontent-%COMP%] {\n background: #dfeffc;\n border: 1px solid #dfeffc;\n}\n.modal-dialog[_ngcontent-%COMP%] .noteBox[_ngcontent-%COMP%] {\n background-color: #ffffe1;\n border: 1px solid #cacaca;\n padding: 3px;\n display: block;\n outline: 0;\n margin-bottom: 5px;\n font-size: 11px;\n text-decoration: none;\n}\n\n.fullscreen[_ngcontent-%COMP%] {\n position: fixed;\n bottom: 0px;\n right: 0px;\n padding: 10px;\n background-color: #bbbbbb;\n cursor: pointer;\n}\n.fullscreen[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 34px;\n color: white;\n}\n.pos-status[_ngcontent-%COMP%] {\n position: fixed;\n right: 10px;\n top: 10px;\n list-style: none;\n padding: 0px;\n margin: 0px;\n z-index: 1031;\n display: flex;\n align-items: center !important;\n}\n.pos-status[_ngcontent-%COMP%] li[_ngcontent-%COMP%] {\n cursor: pointer;\n margin-right: 10px;\n}\n.pos-status[_ngcontent-%COMP%] li[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] {\n padding: 8px 10px;\n color: #868686;\n}\n.pos-status[_ngcontent-%COMP%] li[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 26px;\n}\n.pos-status[_ngcontent-%COMP%] li[_ngcontent-%COMP%]:first-child i[_ngcontent-%COMP%] {\n font-size: 16px;\n}\n.full_screen[_ngcontent-%COMP%] .pos-status[_ngcontent-%COMP%] {\n left: 10px;\n bottom: 10px;\n top: auto;\n right: auto;\n}\n.full_screen[_ngcontent-%COMP%] .park-action[_ngcontent-%COMP%] {\n left: 0px;\n right: auto !important;\n padding: 0px;\n}\n.full_screen[_ngcontent-%COMP%] nav[_ngcontent-%COMP%], .full_screen[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%] {\n display: none !important;\n}\n.full_screen[_ngcontent-%COMP%] section.cashier[_ngcontent-%COMP%] > div.container-fluid[_ngcontent-%COMP%] {\n padding: 0 !important;\n}\n.full_screen[_ngcontent-%COMP%] section.cashier[_ngcontent-%COMP%] > div.container-fluid[_ngcontent-%COMP%] > div.row.header[_ngcontent-%COMP%], .full_screen[_ngcontent-%COMP%] section.cashier[_ngcontent-%COMP%] > div.container-fluid[_ngcontent-%COMP%] > div.row.body[_ngcontent-%COMP%] {\n justify-content: center;\n}\n.full_screen[_ngcontent-%COMP%] .main-panel[_ngcontent-%COMP%] {\n left: 0px;\n right: 0px;\n top: 0px;\n bottom: 0px;\n width: 100%;\n padding: 0px;\n}\n.full_screen[_ngcontent-%COMP%] #divSideMenu[_ngcontent-%COMP%] {\n display: none;\n}\n#dialogItem[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%] {\n border-top: none;\n border-right: none;\n}\ndiv#dialogDiscount[_ngcontent-%COMP%] .txtPcg[_ngcontent-%COMP%] {\n width: 30px;\n}\n#radOnline[_ngcontent-%COMP%] + label[_ngcontent-%COMP%], #radOffline[_ngcontent-%COMP%] + label[_ngcontent-%COMP%] {\n height: 150px;\n width: 200px;\n white-space: normal;\n margin: 20px 0px 20px 10px;\n padding-top: 12px;\n border: 1px solid #dddddd;\n}\n#radOnline[_ngcontent-%COMP%] + label[_ngcontent-%COMP%] h4[_ngcontent-%COMP%], #radOffline[_ngcontent-%COMP%] + label[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n margin: 5px;\n}\n#radOnline[_ngcontent-%COMP%] + label[_ngcontent-%COMP%] i[_ngcontent-%COMP%], #radOffline[_ngcontent-%COMP%] + label[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 30px;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] a[_ngcontent-%COMP%] strong[_ngcontent-%COMP%] {\n height: 30px;\n border-radius: 4px;\n padding: 5px 10px;\n color: #ffffff;\n background: #b1aaaa;\n}\nul.dialogPicker[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover, ul.dialogPicker[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a.active[_ngcontent-%COMP%] {\n background: #fffed9;\n border: 1px solid #88ae3d;\n}\nul.dialogPicker[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover > strong[_ngcontent-%COMP%], ul.dialogPicker[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a.active[_ngcontent-%COMP%] > strong[_ngcontent-%COMP%] {\n background: #88ae3d;\n}\n#radOnline[_ngcontent-%COMP%]:checked + label[_ngcontent-%COMP%] {\n color: #ffffff;\n background-color: #89b03e;\n}\n#radOffline[_ngcontent-%COMP%]:checked + label[_ngcontent-%COMP%] {\n color: #ffffff;\n background-color: #c9302c;\n}\n.fa-wifi-off[_ngcontent-%COMP%] {\n background-image: url("//res.cloudinary.com/pos/image/upload/v1535431932/POS/Images/Icon/wifi-off.svg");\n height: 30px;\n width: 30px;\n background-size: 30px;\n background-repeat: no-repeat;\n}\n#radOffline[_ngcontent-%COMP%]:checked + label[_ngcontent-%COMP%] .fa-wifi-off[_ngcontent-%COMP%] {\n background-image: url("//res.cloudinary.com/pos/image/upload/POS/Images/Icon/wifi-off-white.svg");\n}\n.fa-coupon[_ngcontent-%COMP%] {\n background-position-y: center;\n background-image: url("//res.cloudinary.com/pos/image/upload/POS/Images/Icon/coupon.svg");\n height: 26px;\n width: 26px;\n background-size: 26px;\n background-repeat: no-repeat;\n}\n.fa-retur[_ngcontent-%COMP%] {\n background-position-y: center;\n background-image: url("//res.cloudinary.com/pos/image/upload/POS/Images/Icon/return.svg");\n height: 26px;\n width: 26px;\n background-size: 26px;\n background-repeat: no-repeat;\n}\n\nul.dialogPicker[_ngcontent-%COMP%] {\n list-style: none;\n margin: 0px;\n padding: 0px;\n display: flex;\n flex-wrap: wrap !important;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] {\n width: 180px;\n min-height: 95px;\n margin-right: 17px;\n margin-bottom: 17px;\n position: relative;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] {\n display: block;\n outline: 0;\n border: 1px solid #b1aaaa;\n border-radius: 5px;\n cursor: pointer;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] h6[_ngcontent-%COMP%] {\n height: 30px;\n border-radius: 4px;\n padding: 5px 10px;\n color: #ffffff;\n background: #b1aaaa;\n overflow: hidden;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] h6[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n margin-right: 5px;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover, ul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.active[_ngcontent-%COMP%], ul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.vacant[_ngcontent-%COMP%] {\n background: #ffffe1;\n border: 1px solid #89b03e;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover > h6[_ngcontent-%COMP%], ul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.active[_ngcontent-%COMP%] > h6[_ngcontent-%COMP%], ul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.vacant[_ngcontent-%COMP%] > h6[_ngcontent-%COMP%] {\n background: #89b03e;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.occupied[_ngcontent-%COMP%], ul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.occupied[_ngcontent-%COMP%]:hover {\n border: 1px solid #c9302c;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.occupied[_ngcontent-%COMP%] > h6[_ngcontent-%COMP%], ul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.occupied[_ngcontent-%COMP%]:hover > h6[_ngcontent-%COMP%] {\n background: #c9302c !important;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.occupied[_ngcontent-%COMP%] span.alias[_ngcontent-%COMP%] {\n background: #c9302c;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.occupied[_ngcontent-%COMP%]:hover {\n background: white;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.preparing[_ngcontent-%COMP%] {\n border: 1px solid #f6a828;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.preparing[_ngcontent-%COMP%] > h6[_ngcontent-%COMP%] {\n background: #f6a828 !important;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.preparing[_ngcontent-%COMP%]:hover {\n border: 1px solid #f6a828;\n background: white;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.preparing[_ngcontent-%COMP%]:hover > strong[_ngcontent-%COMP%] {\n background: #f6a828 !important;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.preparing[_ngcontent-%COMP%] span.alias[_ngcontent-%COMP%] {\n background: #f6a828;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.preparing[_ngcontent-%COMP%] div[_ngcontent-%COMP%] > span[_ngcontent-%COMP%] {\n font-size: 0.75rem !important;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] div[_ngcontent-%COMP%] {\n height: 80px;\n padding: 15px 10px;\n position: relative;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n display: block;\n font-weight: normal;\n font-size: 0.875rem;\n width: 100%;\n margin-bottom: 5px;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:first-child {\n margin-top: -10px;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:last-child {\n margin-bottom: 0px;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span.alias[_ngcontent-%COMP%] {\n text-align: center;\n position: absolute;\n bottom: 0px;\n right: 0px;\n width: auto;\n background-color: #b1aaaa;\n border-radius: 3px;\n padding: 2px 5px;\n color: #ffffff;\n display: none !important;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span.idle[_ngcontent-%COMP%] {\n display: block;\n font-size: 1.25rem;\n text-align: center;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > span[_ngcontent-%COMP%] {\n position: absolute;\n width: 27px;\n height: 28px;\n cursor: pointer;\n top: 5px;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > span[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: black;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]:last-of-type {\n right: -5px;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]:nth-last-of-type(2) {\n right: 15px;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] input[type=checkbox][_ngcontent-%COMP%] {\n bottom: 20px;\n right: 5px;\n position: absolute;\n}\nul.dialogPicker[_ngcontent-%COMP%] .duration[_ngcontent-%COMP%] > span[_ngcontent-%COMP%] {\n border: 1px solid !important;\n position: absolute;\n bottom: -3px;\n left: 58px;\n background: #fff;\n border-radius: 5px;\n}\nul.dialogPickerBig[_ngcontent-%COMP%] li[_ngcontent-%COMP%] {\n width: 140px !important;\n margin-bottom: 17px;\n margin-top: 0px !important;\n min-height: 80px !important;\n}\nul.dialogPickerBig[_ngcontent-%COMP%] li[_ngcontent-%COMP%] a[_ngcontent-%COMP%] div[_ngcontent-%COMP%] {\n height: 50px !important;\n}\n.arrow_box_left[_ngcontent-%COMP%]:after, .arrow_box_left[_ngcontent-%COMP%]:before {\n left: 100% !important;\n}\n.arrow_box_left[_ngcontent-%COMP%]:after {\n border-left-color: #ffffff !important;\n border-right-color: transparent !important;\n}\n.arrow_box_left[_ngcontent-%COMP%]:before {\n border-left-color: #dddddd !important;\n border-right-color: transparent !important;\n}\n.arrow_box_bottom[_ngcontent-%COMP%]:after, .arrow_box_bottom[_ngcontent-%COMP%]:before {\n top: initial;\n left: 40%;\n bottom: 100% !important;\n}\n.arrow_box_bottom[_ngcontent-%COMP%]:after {\n border-bottom-color: #ffffff !important;\n border-right-color: transparent !important;\n margin-left: -6px;\n}\n.arrow_box_bottom[_ngcontent-%COMP%]:before {\n border-bottom-color: #dddddd !important;\n border-right-color: transparent !important;\n margin-left: -9px;\n}\ndiv.price_calculator[_ngcontent-%COMP%] {\n left: -260px;\n top: 46px;\n width: 250px;\n height: 138px;\n padding: 12px 0px 3px 8px;\n border-radius: 3px;\n position: absolute !important;\n}\ndiv.price_calculator[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n border: 0px !important;\n border-bottom: 1px solid #dddddd !important;\n background-color: transparent !important;\n padding: 8px 5px 5px 5px !important;\n width: 60px !important;\n}\n.tooltip-component[_ngcontent-%COMP%] {\n position: relative;\n}\n.tooltip-component[_ngcontent-%COMP%]:hover > div.toolTip[_ngcontent-%COMP%] {\n display: block;\n}\n.tooltip-component[_ngcontent-%COMP%] div.toolTip[_ngcontent-%COMP%] {\n background: #ffffe1;\n border: 1px solid #dddddd;\n position: absolute;\n top: 110%;\n left: 0%;\n padding: 10px;\n display: none;\n text-align: center;\n min-height: 15px;\n margin-top: 0.1rem;\n}\n.tooltip-component[_ngcontent-%COMP%] div.toolTip.green[_ngcontent-%COMP%] {\n background: #caed9e;\n border: 4px solid #90d93f;\n}\n.tooltip-component[_ngcontent-%COMP%] div.toolTip[_ngcontent-%COMP%]:after, .tooltip-component[_ngcontent-%COMP%] div.toolTip[_ngcontent-%COMP%]:before {\n content: "";\n position: absolute;\n top: 0;\n left: 50%;\n width: 0;\n height: 0;\n border: 5px solid transparent;\n}\n.tooltip-component[_ngcontent-%COMP%] div.toolTip[_ngcontent-%COMP%]::after {\n border-bottom-color: #ffffe1;\n border-top: 0;\n margin-left: -5px;\n margin-top: -5px;\n}\n.tooltip-component[_ngcontent-%COMP%] div.toolTip[_ngcontent-%COMP%]::before {\n border-bottom-color: #dddddd;\n border-top: 0;\n margin-left: -5px;\n margin-top: -6px;\n}\n.tooltip-component[_ngcontent-%COMP%] div.toolTip[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n margin: 0px;\n white-space: nowrap;\n color: #89b03e;\n text-shadow: 0px 1px 0px White;\n}\n.offline[_ngcontent-%COMP%] .modal-header[_ngcontent-%COMP%] {\n background-color: #c9302c !important;\n}\n.warning[_ngcontent-%COMP%] .modal-header[_ngcontent-%COMP%] {\n background-color: #f6a828 !important;\n}\n#dialogPromo[_ngcontent-%COMP%] table[_ngcontent-%COMP%] {\n min-width: 400px;\n}\n#dialogPromo[_ngcontent-%COMP%] table.table-hover[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:hover {\n background-color: #89b03e;\n color: white;\n}\nfade-in[_ngcontent-%COMP%] {\n opacity: 1;\n \n transition: opacity 2s;\n}\n.fade-out[_ngcontent-%COMP%] {\n opacity: 0;\n \n transition: opacity 2s;\n z-index: 1;\n}\n.later-payment[_ngcontent-%COMP%] strong[_ngcontent-%COMP%] {\n font-size: 20px;\n}\n.later-payment[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n font-size: 20px;\n padding: 20px 10px !important;\n}\n.change-box[_ngcontent-%COMP%] {\n top: initial;\n height: auto;\n align-self: center;\n}\n.e-money[_ngcontent-%COMP%] {\n height: 65px;\n}\n@media only screen and (max-width: 1280px) {\n input[placeholder=Customer][_ngcontent-%COMP%] {\n width: 135px;\n }\n\n span.select2.select2-container[_ngcontent-%COMP%] {\n width: 135px !important;\n }\n}\n@media only screen and (max-width: 1215px) {\n input[placeholder=Customer][_ngcontent-%COMP%] {\n width: 120px;\n }\n\n span.select2.select2-container[_ngcontent-%COMP%] {\n width: 120px !important;\n }\n}\n@media only screen and (max-width: 1185px) {\n input[placeholder=Customer][_ngcontent-%COMP%] {\n width: 140px;\n }\n\n span.select2.select2-container[_ngcontent-%COMP%] {\n width: 140px !important;\n }\n}\n@media only screen and (max-width: 992px) {\n .pos-status[_ngcontent-%COMP%] {\n bottom: 10px;\n left: 10px;\n top: auto;\n }\n}\n.simple-keyboard[_ngcontent-%COMP%] {\n width: 20vw;\n position: absolute;\n left: 77%;\n top: 30%;\n z-index: 1200;\n}\n .hg-theme-default .hg-button {\n height: 70px !important;\n font-size: 16px !important;\n}\n .hg-button-bksp {\n width: 21px;\n}\n .hg-button[data-skbtn="{enter}"] {\n width: 90px;\n}\n.header[_ngcontent-%COMP%] {\n border-bottom: 1px solid #dde2eb;\n color: black;\n}\n.header[_ngcontent-%COMP%] .small[_ngcontent-%COMP%] {\n margin-right: 5px !important;\n}\n.header[_ngcontent-%COMP%] .small[_ngcontent-%COMP%] .number[_ngcontent-%COMP%] {\n width: 143px;\n}\n.header[_ngcontent-%COMP%] .small[_ngcontent-%COMP%] select[_ngcontent-%COMP%] {\n width: 140px;\n}\n.header[_ngcontent-%COMP%] .small[_ngcontent-%COMP%] .select2-container[_ngcontent-%COMP%] {\n font-size: 12px;\n}\n.header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] {\n margin-right: 22px;\n}\n.header[_ngcontent-%COMP%] div[_ngcontent-%COMP%]:last-child {\n margin-right: 0;\n}\n.header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 1.25rem;\n color: #3B3B3B;\n margin-right: 5px;\n line-height: unset !important;\n}\n.header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] input[_ngcontent-%COMP%], .header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span.outlet[_ngcontent-%COMP%] {\n padding: 4px 8px 3px 5px;\n border: 1px solid #dddddd;\n font-size: 0.875rem;\n}\n.header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] .outlet[_ngcontent-%COMP%] {\n width: 165px;\n color: #337ab7;\n background: #ffffff;\n}\n.header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] .number[_ngcontent-%COMP%] {\n width: 150px;\n}\n.header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] select[_ngcontent-%COMP%] {\n width: 150px;\n}\n[_nghost-%COMP%] {\n position: relative;\n list-style: none;\n padding: 0;\n margin: 0;\n z-index: 1031;\n display: flex;\n align-items: center !important;\n}\n.fa-coupon[_ngcontent-%COMP%] {\n background-position-y: center;\n background-image: url("//res.cloudinary.com/pos/image/upload/POS/Images/Icon/coupon.svg");\n height: 26px;\n width: 26px;\n background-size: 26px;\n background-repeat: no-repeat;\n}\n.fa-retur[_ngcontent-%COMP%] {\n background-position-y: center;\n background-image: url("//res.cloudinary.com/pos/image/upload/POS/Images/Icon/return.svg");\n height: 26px;\n width: 26px;\n background-size: 26px;\n background-repeat: no-repeat;\n}\n.fa-sync-alt[_ngcontent-%COMP%], .fa-gift[_ngcontent-%COMP%] {\n font-size: 26px;\n}\n.btn-gray[_ngcontent-%COMP%] {\n background-color: #f4f4f4;\n border: 1px solid #D6D6D6;\n font-weight: bold;\n color: #545454 !important;\n background: linear-gradient(to bottom, #ffffff 0%, #eeeeee 100%);\n}']}),o})(),oi=(()=>{class o{constructor(t,e){this.dialogRef=t,this.data=e,this.modalConfig=new T.O,this.pointUsed=this.data.pointUsed,this.availablePoint=this.data.availablePoint,this.label=this.data.label,this.modalConfig.title=this.getLabelLoyalty(),this.modalConfig.customWidth="284px"}ngOnInit(){0==this.pointUsed&&(this.pointUsed=null)}onOk(){this.dialogRef.close(this.pointUsed>this.availablePoint?{pointUsed:this.availablePoint}:{pointUsed:this.pointUsed})}getLabelLoyalty(){return null==this.label||""==this.label.trim()?"Loyalty Point":this.label}}return o.\u0275fac=function(t){return new(t||o)(n.Y36(P.so),n.Y36(P.WI))},o.\u0275cmp=n.Xpm({type:o,selectors:[["POS-modal-loyalty-point"]],decls:6,vars:7,consts:[[3,"title","config","onOk","onCancel","onClose"],["autoNum","","preventNegative","","data-cy","pointUsed",1,"border","rounded","p-4",3,"max","ngModel","ngModelChange"],[1,"pl-2"]],template:function(t,e){1&t&&(n.TgZ(0,"modal-material",0),n.NdJ("onOk",function(){return e.onOk()})("onCancel",function(){return e.dialogRef.close()})("onClose",function(){return e.dialogRef.close()}),n.TgZ(1,"content"),n.TgZ(2,"input",1),n.NdJ("ngModelChange",function(r){return e.pointUsed=r}),n.qZA(),n.TgZ(3,"span",2),n._uU(4),n.ALo(5,"number"),n.qZA(),n.qZA(),n.qZA()),2&t&&(n.Q6J("title",e.getLabelLoyalty())("config",e.modalConfig),n.xp6(2),n.Q6J("max",e.availablePoint)("ngModel",e.pointUsed),n.xp6(2),n.hij("/ ",n.lcZ(5,5,e.availablePoint),""))},directives:[y.M,h.Fj,cn.b,h.JJ,h.On],pipes:[_.JJ],styles:["input[_ngcontent-%COMP%] {\n width: 110px;\n}"]}),o})();var ii=m(6802),X=m(5496),vn=m(4290);const ri=["firstNameAutoFocus"];function ai(o,a){1&o&&n._UZ(0,"option",30),2&o&&n.Q6J("value",a.$implicit.Name)}const Rt=function(o){return{"has-error":o}};function ci(o,a){if(1&o&&(n.TgZ(0,"div",31),n.TgZ(1,"i",32),n._uU(2," Name is mandatory."),n.qZA(),n.qZA()),2&o){n.oxw();const t=n.MAs(12);n.Q6J("ngClass",n.VKq(1,Rt,t.touched&&t.invalid))}}function si(o,a){if(1&o&&(n.TgZ(0,"div",31),n.TgZ(1,"i",32),n._uU(2," Mobile is mandatory."),n.qZA(),n.qZA()),2&o){n.oxw();const t=n.MAs(24);n.Q6J("ngClass",n.VKq(1,Rt,t.invalid))}}const li=function(o){return{"border border-danger":o}},Jt=function(o){return{"is-invalid border border-danger":o}};function di(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",8),n.TgZ(1,"div",9),n.TgZ(2,"div",10),n.TgZ(3,"input",11),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw().customer.Title=i}),n.qZA(),n.TgZ(4,"label",12),n._uU(5,"Title"),n.qZA(),n.TgZ(6,"datalist",13),n.YNc(7,ai,1,1,"option",14),n.qZA(),n.qZA(),n.qZA(),n.TgZ(8,"div",15),n.TgZ(9,"div",10),n.TgZ(10,"input",16,17),n.NdJ("keyup",function(){return n.CHM(t),n.oxw().onKeyUpFirstName()})("ngModelChange",function(i){return n.CHM(t),n.oxw().customer.FirstName=i}),n.qZA(),n.YNc(13,ci,3,3,"div",18),n.TgZ(14,"label",19),n._uU(15,"First Name"),n.qZA(),n.qZA(),n.qZA(),n.TgZ(16,"div",20),n.TgZ(17,"div",10),n.TgZ(18,"input",21),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw().customer.LastName=i}),n.qZA(),n.TgZ(19,"label",22),n._uU(20,"Last Name"),n.qZA(),n.qZA(),n.qZA(),n.TgZ(21,"div",23),n.TgZ(22,"div",10),n.TgZ(23,"input",24,25),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw().customer.Mobile=i}),n.qZA(),n.YNc(25,si,3,3,"div",18),n.TgZ(26,"label",26),n._uU(27,"Mobile"),n.qZA(),n.qZA(),n.qZA(),n.TgZ(28,"div",23),n.TgZ(29,"div",10),n.TgZ(30,"input",27,28),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw().customer.Email=i}),n.qZA(),n.TgZ(32,"label",29),n._uU(33,"Email"),n.qZA(),n.qZA(),n.qZA(),n.qZA()}if(2&o){const t=n.MAs(12),e=n.MAs(24),i=n.MAs(31),r=n.oxw();n.xp6(3),n.Q6J("ngModel",r.customer.Title),n.xp6(4),n.Q6J("ngForOf",null==r.options?null:r.options.Titles),n.xp6(3),n.Q6J("ngClass",n.VKq(14,li,t.touched&&t.invalid))("ngModel",r.customer.FirstName)("required",!0),n.xp6(3),n.Q6J("ngIf",t.touched&&t.invalid),n.xp6(5),n.Q6J("ngModel",r.customer.LastName),n.xp6(5),n.Q6J("ngClass",n.VKq(16,Jt,e.invalid))("ngModel",r.customer.Mobile)("required",null==r.config||null==r.config.ModuleContact?null:r.config.ModuleContact.Advance.RequireContactMobile),n.xp6(2),n.Q6J("ngIf",e.invalid),n.xp6(5),n.Q6J("ngClass",n.VKq(18,Jt,i.invalid))("ngModel",r.customer.Email)("required",null==r.config||null==r.config.ModuleContact?null:r.config.ModuleContact.Advance.RequireEmailActivation)}}function pi(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",33),n.TgZ(1,"div",34),n.TgZ(2,"label",35),n._uU(3,"Address"),n.qZA(),n.TgZ(4,"textarea",36),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw().customer.Address=i}),n.qZA(),n.qZA(),n.TgZ(5,"div",37),n.TgZ(6,"ng-select",38),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw().customer.City=i}),n.qZA(),n.qZA(),n.TgZ(7,"div",37),n.TgZ(8,"ng-select",39),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw().customer.NationalityID=i}),n.qZA(),n.qZA(),n.TgZ(9,"div",37),n.TgZ(10,"ng-select",40),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw().customer.Gender=i}),n.qZA(),n.qZA(),n.TgZ(11,"div",23),n.TgZ(12,"div",10),n.TgZ(13,"input",41),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw().customer.Code=i}),n.qZA(),n.TgZ(14,"label",42),n._uU(15,"Member Code"),n.qZA(),n.qZA(),n.qZA(),n.TgZ(16,"div",23),n.TgZ(17,"div",10),n.TgZ(18,"input",43),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw().customer.NationalIDNumber=i}),n.qZA(),n.TgZ(19,"label",44),n._uU(20,"Identification"),n.qZA(),n.qZA(),n.qZA(),n.TgZ(21,"div",45),n.TgZ(22,"datepicker",46),n.NdJ("dateChange",function(i){return n.CHM(t),n.oxw().customer.Birthdate=i}),n.qZA(),n.qZA(),n.TgZ(23,"div",47),n.TgZ(24,"strong"),n._uU(25,"Customer Race"),n.qZA(),n.TgZ(26,"ng-select",48),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw().customer.RaceID=i}),n.qZA(),n.qZA(),n.TgZ(27,"div",47),n.TgZ(28,"strong"),n._uU(29,"Group"),n.qZA(),n.TgZ(30,"ng-select",49),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw().customer.Group=i}),n.qZA(),n.qZA(),n.qZA()}if(2&o){const t=n.oxw();n.xp6(4),n.Q6J("ngModel",t.customer.Address),n.xp6(2),n.Q6J("ngModel",t.customer.City)("items",null==t.options?null:t.options.Cities),n.xp6(2),n.Q6J("ngModel",t.customer.NationalityID)("items",null==t.options?null:t.options.Nationalities),n.xp6(2),n.Q6J("ngModel",t.customer.Gender)("items",null==t.options?null:t.options.Genders),n.xp6(3),n.Q6J("ngModel",t.customer.Code),n.xp6(5),n.Q6J("ngModel",t.customer.NationalIDNumber),n.xp6(4),n.Q6J("date",t.customer.Birthdate),n.xp6(4),n.Q6J("ngModel",t.customer.RaceID)("items",null==t.options?null:t.options.Races),n.xp6(4),n.Q6J("ngModel",t.customer.Group)("items",null==t.options?null:t.options.Groups)}}const Et=function(o){return{selected:o}};let Qt=(()=>{class o{constructor(t,e,i,r,c){this._dialogRef=t,this._posService=e,this._orderDataService=i,this._CustomerHttpService=r,this.data=c,this.modalConfig=new T.O,this.title="",this.customer=new ii.O8,null!=this.data&&(this.customer.FirstName=this.data.name)}get options(){return this._posService.Data.CustomerOptions}get config(){return this._posService.Data.AppConfigJSON}ngOnInit(){this.setEntityID(),this.modalConfig.customWidth="532px",this.modalConfig.title=this.title?this.title:"New Customer",this.modalConfig.bodyScrollable=!0,this.modalConfig.hideScrollbar=!0,this.initModalValidated()}initModalValidated(){this.modalConfig.validated=null!=this.data&&!!this.data.name}ngAfterViewInit(){this.setAutoFocus()}setEntityID(){this.customer.CreatorEntityID=this._orderDataService.Data.Order.EntityID}setAutoFocus(){this.firstNameRef.nativeElement.focus()}onKeyUpFirstName(){this.modalConfig.validated=!!this.customer.FirstName}chooiceDetail(t){this.detailVisible=t}onOk(){const t=this._orderDataService.Data;this.customer.Name=this.getCustomerName(),this._CustomerHttpService.addCustomer(this.customer).then(e=>{t.ContactName=this.customer.Name,this._orderDataService.pushNewValue(t),this._orderDataService.updateCustomerID(e.ID).then(i=>{this.customerData=i,this.close("ok")})})}getCustomerName(){let t="";return t+=" "+(this.customer.FirstName?this.customer.FirstName:""),t+=" "+(this.customer.LastName?this.customer.LastName:""),t=t.trim(),t}close(t){this._dialogRef.close("ok"===t?this.customerData:null)}}return o.\u0275fac=function(t){return new(t||o)(n.Y36(P.so),n.Y36(D),n.Y36(S),n.Y36(_n.r),n.Y36(P.WI))},o.\u0275cmp=n.Xpm({type:o,selectors:[["POS-modal-customer"]],viewQuery:function(t,e){if(1&t&&n.Gf(ri,5),2&t){let i;n.iGM(i=n.CRH())&&(e.firstNameRef=i.first)}},decls:14,vars:10,consts:[[3,"validated","config","onOk","onCancel","onClose"],[1,"container"],["name","form"],["f","ngForm"],[1,"row","align-items-center","py-2","my-2"],[1,"btn","btn-link",3,"ngClass","click"],["class","form-row",4,"ngIf"],["class","form-row mt-2",4,"ngIf"],[1,"form-row"],[1,"col-md-3","mt-3"],[1,"form-label-group"],["list","cust-title","id","Title","name","Title","placeholder","Title",1,"form-control",3,"ngModel","ngModelChange"],["for","Title"],["id","cust-title"],[3,"value",4,"ngFor","ngForOf"],[1,"col-md-5","mt-3"],["type","text","id","FirstName","name","FirstName","placeholder","First Name",1,"form-control",3,"ngClass","ngModel","required","keyup","ngModelChange"],["firstNameAutoFocus","","FirstName","ngModel"],[3,"ngClass",4,"ngIf"],["for","FirstName"],[1,"col-md-4","mt-3"],["type","text","id","LastName","name","LastName","placeholder","Last Name",1,"form-control",3,"ngModel","ngModelChange"],["for","LastName"],[1,"col-md-6","mt-3"],["type","text","id","Phone","name","Phone","placeholder","Mobile",1,"form-control",3,"ngClass","ngModel","required","ngModelChange"],["Phone","ngModel"],["for","Phone"],["type","email","id","email","name","Email","placeholder","Email","email","",1,"form-control",3,"ngClass","ngModel","required","ngModelChange"],["Email","ngModel"],["for","email"],[3,"value"],[3,"ngClass"],[1,"control-label","text-danger"],[1,"form-row","mt-2"],[1,"col-md-12"],[1,"font-weight-bold"],["name","address",1,"form-control",3,"ngModel","ngModelChange"],[1,"col-md-6","mt-5"],["appendTo","body","name","city","bindLabel","Name","bindValue","ID","placeholder","City",1,"tall",3,"ngModel","items","ngModelChange"],["name","NationalityID","bindLabel","Name","bindValue","ID","placeholder","Nationality","appendTo","body",1,"tall",3,"ngModel","items","ngModelChange"],["name","gender","bindLabel","Value","bindValue","Key","placeholder","Gender","appendTo","body",1,"tall",3,"ngModel","items","ngModelChange"],["type","text","name","code","id","code","placeholder","Member Code",1,"form-control",3,"ngModel","ngModelChange"],["for","code"],["type","text","id","Identification","name","Identification","placeholder","Identification",1,"form-control",3,"ngModel","ngModelChange"],["for","Identification"],[1,"col-auto","w-50","mt-3"],["placeholder","Birthday","appearance","outline","name","orderDate",3,"date","dateChange"],[1,"col-md","mt-2"],["name","race","bindLabel","Name","bindValue","ID","placeholder","Race","dropdownPosition","top",1,"tall",3,"ngModel","items","ngModelChange"],["name","group","bindLabel","Name","bindValue","ID","placeholder","Group","dropdownPosition","top",1,"tall",3,"ngModel","items","ngModelChange"]],template:function(t,e){if(1&t&&(n.TgZ(0,"modal-material",0),n.NdJ("onOk",function(){return e.onOk()})("onCancel",function(){return e.close("cancel")})("onClose",function(){return e.close("close")}),n.TgZ(1,"content"),n.TgZ(2,"div",1),n.TgZ(3,"form",2,3),n.TgZ(5,"div",4),n.TgZ(6,"a",5),n.NdJ("click",function(){return e.chooiceDetail(!1)}),n._uU(7," General "),n.qZA(),n.TgZ(8,"a",5),n.NdJ("click",function(){return e.chooiceDetail(!0)}),n._uU(9," Detail "),n.qZA(),n.qZA(),n.TgZ(10,"div"),n.YNc(11,di,34,20,"div",6),n.YNc(12,pi,31,14,"div",7),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n._UZ(13,"footer"),n.qZA()),2&t){const i=n.MAs(4);n.Q6J("validated",i.form.valid)("config",e.modalConfig),n.xp6(6),n.Q6J("ngClass",n.VKq(6,Et,!e.detailVisible)),n.xp6(2),n.Q6J("ngClass",n.VKq(8,Et,e.detailVisible)),n.xp6(3),n.Q6J("ngIf",!e.detailVisible),n.xp6(1),n.Q6J("ngIf",e.detailVisible)}},directives:[y.M,h._Y,h.JL,h.F,_.mk,_.O5,h.Fj,h.JJ,h.On,_.sg,h.Q7,h.on,h.YN,h.Kr,X.w9,vn.QB],styles:['.btn-link[_ngcontent-%COMP%] {\n padding-top: 0px;\n color: #868686;\n padding-bottom: 8px;\n border-radius: unset;\n font-family: "Roboto Slab", serif;\n}\n.btn-link.selected[_ngcontent-%COMP%] {\n color: #3B3B3B;\n border-bottom: 2px solid #07a519;\n}\n.form-label-group[_ngcontent-%COMP%] {\n margin-bottom: 0.2rem !important;\n}']}),o})();var Cn=m(7163);function gi(o,a){1&o&&(n.TgZ(0,"div",6),n._UZ(1,"i",7),n.qZA())}function ui(o,a){if(1&o&&(n.TgZ(0,"div",5),n._UZ(1,"h6",8),n.TgZ(2,"span",9),n._uU(3),n.ALo(4,"number"),n.qZA(),n.qZA()),2&o){const t=n.oxw(2);n.xp6(1),n.Q6J("innerHtml",t.getLabelLoyalty(),n.oJD),n.xp6(2),n.Oqu(null!=t.customerData&&t.customerData.Point?n.lcZ(4,2,null==t.customerData?null:t.customerData.Point):0)}}function _i(o,a){1&o&&(n.TgZ(0,"div",6),n._UZ(1,"i",10),n.qZA())}function hi(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",2),n.NdJ("click",function(){return n.CHM(t),n.oxw().showPointModal.emit()}),n.YNc(1,gi,2,0,"div",3),n.YNc(2,ui,5,4,"div",4),n.YNc(3,_i,2,0,"div",3),n.TgZ(4,"div",5),n.TgZ(5,"h6"),n._uU(6,"Debt"),n.qZA(),n.TgZ(7,"span"),n._uU(8),n.ALo(9,"number"),n.TgZ(10,"span"),n._uU(11),n.ALo(12,"number"),n.qZA(),n.qZA(),n.qZA(),n.qZA()}if(2&o){const t=n.oxw();n.xp6(1),n.Q6J("ngIf",(null==t.customerData?null:t.customerData.Point)>=0),n.xp6(1),n.Q6J("ngIf",(null==t.customerData?null:t.customerData.Point)>=0),n.xp6(1),n.Q6J("ngIf",(null==t.customerData?null:t.customerData.Debt)>0),n.xp6(5),n.hij(" ",n.lcZ(9,5,null==t.customerData?null:t.customerData.Debt)," / "),n.xp6(3),n.Oqu(n.lcZ(12,7,null==t.customerData?null:t.customerData.DebtLimit))}}let mi=(()=>{class o{constructor(){this.showPointModal=new n.vpe}ngOnInit(){}getLabelLoyalty(){if(null!=this.customerData)return null!=this.customerData.Label?""==this.customerData.Label.trim()?"Loyalty":this.customerData.Label:"Loyalty"}}return o.\u0275fac=function(t){return new(t||o)},o.\u0275cmp=n.Xpm({type:o,selectors:[["customer-info"]],inputs:{customerData:"customerData",enabledPoint:"enabledPoint"},outputs:{showPointModal:"showPointModal"},decls:2,vars:1,consts:[[1,"customer-panel"],["class","row customer-info-box arrow-box-bottom no-gutters","data-cy","Loyalty",3,"click",4,"ngIf"],["data-cy","Loyalty",1,"row","customer-info-box","arrow-box-bottom","no-gutters",3,"click"],["class","col-2",4,"ngIf"],["class","col-4",4,"ngIf"],[1,"col-4"],[1,"col-2"],["aria-hidden","true",1,"fa","fa-star","fa-fw"],[3,"innerHtml"],[2,"font-size","12px"],["aria-hidden","true",1,"fas","fa-dollar-sign","fa-fw"]],template:function(t,e){1&t&&(n.TgZ(0,"div",0),n.YNc(1,hi,13,9,"div",1),n.qZA()),2&t&&(n.xp6(1),n.Q6J("ngIf",e.enabledPoint))},directives:[_.O5],pipes:[_.JJ],styles:[".customer-panel[_ngcontent-%COMP%] {\n position: absolute;\n top: -61px;\n z-index: 1030;\n right: 60%;\n margin: auto;\n}\n.customer-panel[_ngcontent-%COMP%] > div.row[_ngcontent-%COMP%] {\n text-align: left;\n border: 1px solid #bbbbbb;\n padding: 5px;\n margin-bottom: 2px;\n position: relative;\n display: flex;\n left: 100px;\n}\n.customer-panel[_ngcontent-%COMP%] > div.row[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n margin-right: 0px;\n font-size: 1.25rem;\n padding-top: 4px;\n color: #337ab7;\n}\n.customer-panel[_ngcontent-%COMP%] > div.row[_ngcontent-%COMP%] div.col-3[_ngcontent-%COMP%] {\n text-align: left;\n right: 8px;\n}\n.customer-panel[_ngcontent-%COMP%] > div.row[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n font-size: 0.625rem;\n margin-top: 4px;\n}\n.customer-info-box[_ngcontent-%COMP%] {\n min-width: 220px;\n background-color: #ffffe1 !important;\n}\n.customer-info-box[_ngcontent-%COMP%]:after {\n border-width: 6px !important;\n margin-left: -6px !important;\n border-top-color: #ffffe1 !important;\n}\n.customer-info-box[_ngcontent-%COMP%]:before {\n border-width: 7px !important;\n margin-left: -7px !important;\n}"]}),o})();function fi(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"customer-info",15),n.NdJ("showPointModal",function(){return n.CHM(t),n.oxw(2).cashierShowPointModal()}),n.qZA()}if(2&o){const t=n.oxw(2);n.Q6J("customerData",t.customerData)("enabledPoint",null==t.selectedRegister?null:t.selectedRegister.MemberPoint)}}function Ci(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"a",16),n.NdJ("click",function(){return n.CHM(t),n.oxw(2).openCustomerModal()}),n._UZ(1,"i",17),n.qZA()}}function Pi(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div"),n.YNc(1,fi,1,2,"customer-info",11),n._UZ(2,"i",12),n.TgZ(3,"autocompleteV2",13),n.NdJ("onInputChange",function(i){return n.CHM(t),n.oxw().onInputCustomer(i)})("onSelect",function(i){return n.CHM(t),n.oxw().onCustomerSelected(i)})("onInputEnter",function(i){return n.CHM(t),n.oxw().onScanCodeCustomer(i)})("onOptionsEmpty",function(i){return n.CHM(t),n.oxw().onOptionsEmpty(i)}),n.qZA(),n.YNc(4,Ci,2,0,"a",14),n.qZA()}if(2&o){const t=n.oxw();n.Gre("col-auto customer ",t.salesOrderNumberingVisible?"small":""," mobile-view"),n.xp6(1),n.Q6J("ngIf",t.customerData&&((null==t.customerData?null:t.customerData.Point)>=0||(null==t.customerData?null:t.customerData.Debt)>0)&&t.checkCustomerEmpty(t.posData.Order.CustomerID)),n.xp6(2),n.Q6J("inputTextValue",t.posData.ContactName)("inputLock",t.role.CustomerInputLock),n.xp6(1),n.Q6J("ngIf",t.role.Contacts&&t.customerQuickAddEnabled||t.role.ContactsCreate&&t.customerQuickAddEnabled)}}function Oi(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div"),n._UZ(1,"i",18),n.TgZ(2,"ng-select",19),n.NdJ("ngModelChange",function(i){n.CHM(t);const r=n.oxw();return(null==r.posData?null:r.posData.Order).SalesID=i})("ngModelChange",function(){return n.CHM(t),n.oxw().updateSales()}),n.qZA(),n.qZA()}if(2&o){const t=n.oxw();n.Gre("col-auto d-flex flex-row sales ",t.salesOrderNumberingVisible?"small":""," mobile-view"),n.xp6(2),n.Q6J("disabled",!t.role.SalesPerson)("items",t.sales)("ngModel",null==t.posData?null:t.posData.Order.SalesID)}}const Mi=function(o){return{"date-warnings":o}};let bi=(()=>{class o{constructor(t,e,i,r,c,l,d,s,p,f,M,b){this._onlineStatusService=t,this._outletService=e,this._orderDataService=i,this._posService=r,this._matDialog=c,this._orderProcessorService=l,this._CustomerHttpService=d,this._toastrService=s,this._userRoleService=p,this._CoreHttpService=f,this._invoiceCalculatorService=M,this._shoppingCartService=b,this.selectedRegister=new Vn,this.salesOrderNumberingVisible=!1,this.customerQuickAddEnabled=!0,this.role=new K.Q,this.newDate=new Date,this.posData=new $.m,this.posState=O.IsNew,this.SalesPerson=!0,this.appConfig=new ln,this.destroy$=new N.xQ}get isEditState(){return this.posState===O.IsEdit}ngOnInit(){this.appConfig=this._posService.Data.AppConfigJSON,this.customerQuickAddEnabled=this.appConfig.ModuleSell.Customer.QuickAddEnabled,this.salesOrderNumberingVisible=this.appConfig.ModuleSell.Numbering.SalesOrderNumberVisible,this.subscribeToValueChanges()}subscribeToValueChanges(){this.subscribeToCartItemsChange(),this._onlineStatusService.getOnlineStatus$().pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.isOnline=t}),this._orderDataService.Data$.pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.posData=t}),this._userRoleService.Data$.pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.role=t}),this._orderProcessorService.Data$.pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.customerData=this._CustomerHttpService.Data,this.posState=t.posState,t.posState===O.isPark&&(this.posData.ContactName=null)}),this._outletService.Data$.pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.selectedRegister=t,this.sales=t.ListSales})}subscribeToCartItemsChange(){let t=0;this._orderDataService.Data$.pipe((0,C.R)(this.destroy$),(0,Un.h)(e=>t!=e.TotalQuantity)).subscribe(e=>{t=e.TotalQuantity,this.reedemPointToDiscount()})}openRegisterModal(){this._matDialog.open(Pt,{id:"registerModal"}).afterClosed().subscribe(e=>{e&&this.openOpeningCashModal()})}openOpeningCashModal(){this.appConfig.ModuleShift.Closure.Enabled&&this.appConfig.ModuleShift.Closure.OpeningCashRequired&&this._matDialog.open(Ot).afterClosed().subscribe(e=>{e&&null!=e.amount&&(this._CoreHttpService.recordOpeningCash({RegisterID:this.posData.Order.RegisterID,OpAmount:e.amount}),document.getElementById("product").focus())})}openCustomerModal(){this._matDialog.open(Qt,{autoFocus:!1}).afterClosed().subscribe(t=>{t&&this._orderProcessorService.pushNewValue(this._orderProcessorService.Data)})}cashierShowPointModal(){this._matDialog.open(oi,{data:{pointUsed:this.customerData.PointUsed,availablePoint:this.customerData.Point,label:this.customerData.Label}}).afterClosed().subscribe(e=>{if(e){let i=e.pointUsed*this.appConfig.ApplicationLoyalty.LoyaltyPoint.RedeemPointValue;this.posData.Order.PointUsed=e.pointUsed;const r=this.posData.RedeemableAmount;i>r&&(i=r),this.posData.Order.DiscountAmount=i,this._orderDataService.pushNewValue(this.posData)}})}updateSales(){this._orderDataService.pushNewValue(this.posData)}checkIsNotToday(t){if(t){const e=new Date;e.setHours(0,0,0,0),this.isNotToday=e.getTime()!=t.getTime()}}inputNumberModelChanged(t){this.posData.Order.Number=t}onInputCustomer(t){if(this._orderProcessorService.Data.InputTextValue=t,null!==t&&0==t.length){const e=this.appConfig.ApplicationLoyalty.Rules.PrefferedPayment;this.resetCustomerPricebook(),this.posData.Order.CustomerID=null,this._CustomerHttpService.Data=new $n.B,this.customerData=new $n.B,this.updateDiscountRate(),e&&this.customerData.Point>0&&(this.posData.Order.PointUsed=0,this.posData.Order.DiscountAmount=0,this._orderDataService.pushNewValue())}}resetCustomerPricebook(){if(this.customerData){let t=this.customerData.PricebookID;g.gT.IsNotEmpty(t)&&(this.posData.CartItems=this.posData.CartItems.map(i=>(i.PriceBookID==t&&(i.Discount=i.Variant.PriceDiscount,i.Note=i.Variant.PriceNote,i.PriceNote=i.Variant.PriceNote,i.PriceBookID=g.gT.GuidEmpty,i.Price=i.Variant.UnitPrice,i.UnitPrice=i.Variant.UnitPrice),i)))}}onOptionsEmpty(t){this._toastrService.warning(`Customer with name ${t} is not found`,"Warning")}onScanCodeCustomer(t){this.posData.ContactName=null,0!==t.length&&this._CustomerHttpService.getCustomerByCode(t).then(e=>{this.posData.ContactName=e.Display,this.onCustomerSelected(e.ID)})}onCustomerSelected(t){this.resetCartOnChangeCustomer(t),g.gT.IsNotEmpty(t)&&this._orderDataService.updateCustomerID(t).then(e=>{this.applyCustomerPricebook(e),this.updateTaxCustomer(e.TaxTypeId),g.gT.IsNotEmpty(e.SalesID)&&(this.posData.Order.SalesID=e.SalesID),e.EntityID==g.gT.GuidEmpty?this.customerData=e:e.EntityID!=this.posData.Order.EntityID?(this.posData.Order.CustomerID=null,this.posData.ContactName=null,alert("your customer has a exclusive outlet")):this.customerData=e,null==this.customerData.DiscountRate&&(this.customerData.DiscountRate=0),this.updateDiscountRate(this.customerData.DiscountRate),this.reedemPointToDiscount()})}applyCustomerPricebook(t){if(g.gT.IsNotEmpty(t.PricebookID)){let e=this.posData.CartItems.map(i=>(0!==i.Variant.PriceBook.length&&i.Variant.PriceBook.forEach(r=>{r.ID===t.PricebookID&&(i=this._shoppingCartService.applyPricebookToItem(i,r))}),i));this.posData.CartItems=e}}updateDiscountRate(t=0){this.posData.Order.Discount=t,this._orderDataService.pushNewValue()}updateTaxCustomer(t){let i=this._posService.Data.Taxes.find(r=>r.ID==t);i&&(this._orderDataService.Data.Order.TaxTypeID=i.ID,this._invoiceCalculatorService.tax=i,this._orderDataService.pushNewValue())}reedemPointToDiscount(){const t=this.appConfig.ApplicationLoyalty.Rules.PrefferedPayment,e=this._orderProcessorService.Data.posState==O.IsEdit;if(g.gT.IsNotEmpty(this.posData.Order.CustomerID)&&!e){if(t){const i=this.appConfig.ApplicationLoyalty.LoyaltyPoint.RedeemPointValue,r=this.customerData.Point?this.customerData.Point:0,c=this._invoiceCalculatorService.GetCashAndPointAmountCart();let l=r*i,d=r;l>c&&(l=c,d=Math.ceil(l/i)),this.customerData.PointUsed=d,this.posData.Order.PointUsed=d,this.posData.Order.DiscountAmount=l}else this.customerData.PointUsed=0,this.posData.Order.PointUsed=0,this.posData.Order.DiscountAmount=0;this._orderDataService.pushNewValue()}}checkCustomerEmpty(t){let e=g.gT.IsNotEmpty(t);return t&&t.length<g.gT.GuidEmpty.length&&(e=!1),e}resetCartOnChangeCustomer(t){this.selectedCustomerId!=t&&this.appConfig.ModuleSell.Customer.ClearCartOnChange&&(this.posData.CartItems=[],this._orderDataService.pushNewValue(this.posData)),this.selectedCustomerId=t}displayRegisterName(t){let e="Choose an Outlet";const i=this.findOutletRegisterById(t.RegisterID);return null!=i&&null!=i.Name&&(e=i.Name),e}findOutletRegisterById(t){return this._posService.Data.Registers.find(r=>r.ID===t)}ngOnDestroy(){this._CustomerHttpService.Data=null,this.destroy$.next(!0),this.destroy$.complete()}}return o.\u0275fac=function(t){return new(t||o)(n.Y36(nn.q),n.Y36(F),n.Y36(S),n.Y36(D),n.Y36(P.uw),n.Y36(R),n.Y36(_n.r),n.Y36(A._W),n.Y36(en),n.Y36(st),n.Y36(G),n.Y36(hn))},o.\u0275cmp=n.Xpm({type:o,selectors:[["pos-toolbar"]],decls:15,vars:29,consts:[[1,"row","header","no-gutters","py-4"],["data-cy","ChooseRegister"],["title","Outlet",1,"fa","fa-home"],["placeholder","Choose an outlet","readonly","",1,"outlet","cursor","mobile-view",3,"disabled","value","click"],["data-cy","soDate","name","orderDate",3,"ngClass","disabled","date","dateChange"],["aria-hidden","true","title","Sales order number",1,"fa","fa-hashtag"],["type","text","data-cy","soNumber","required","","placeholder","Sales Order Number",1,"number",3,"ngModel","disabled","ngModelChange"],[3,"hidden"],["aria-hidden","true","title","Invoice number",1,"far","fa-file-alt"],["type","text","required","","placeholder","Invoice Number",1,"number",3,"ngModel","disabled","ngModelChange"],[3,"class",4,"ngIf"],[3,"customerData","enabledPoint","showPointModal",4,"ngIf"],["aria-hidden","true","title","Customer",1,"fa","fa-user"],["requestUrl","/API/AC/GetCustomerSuggestion","placeholder","Customer","inputID","ContactID",3,"inputTextValue","inputLock","onInputChange","onSelect","onInputEnter","onOptionsEmpty"],["id","btnCustomer","class","ml-1","title","New Customer Form",3,"click",4,"ngIf"],[3,"customerData","enabledPoint","showPointModal"],["id","btnCustomer","title","New Customer Form",1,"ml-1",3,"click"],["aria-hidden","true",1,"fa","fa-plus-circle"],["aria-hidden","true","title","sales",1,"fa","fa-id-badge","align-middle"],["bindLabel","Name","bindValue","ID","placeholder","Sales Person","data-cy","SalesPerson",1,"salesPerson",3,"disabled","items","ngModel","ngModelChange"]],template:function(t,e){1&t&&(n.TgZ(0,"div",0),n.TgZ(1,"div",1),n._UZ(2,"i",2),n.TgZ(3,"input",3),n.NdJ("click",function(){return e.openRegisterModal()}),n.ALo(4,"limitTo"),n.qZA(),n.qZA(),n.TgZ(5,"div"),n.TgZ(6,"datepicker",4),n.NdJ("dateChange",function(r){return(null==e.posData?null:e.posData.Order).Date=r})("dateChange",function(r){return e.checkIsNotToday(r)}),n.qZA(),n.qZA(),n.TgZ(7,"div"),n._UZ(8,"i",5),n.TgZ(9,"input",6),n.NdJ("ngModelChange",function(r){return e.inputNumberModelChanged(r)}),n.qZA(),n.qZA(),n.TgZ(10,"div",7),n._UZ(11,"i",8),n.TgZ(12,"input",9),n.NdJ("ngModelChange",function(r){return(null==e.posData?null:e.posData.Invoice).Number=r}),n.qZA(),n.qZA(),n.YNc(13,Pi,5,7,"div",10),n.YNc(14,Oi,3,6,"div",10),n.qZA()),2&t&&(n.xp6(1),n.Gre("col-auto ",e.salesOrderNumberingVisible?"small":"",""),n.xp6(2),n.Q6J("disabled",e.isEditState)("value",n.xi3(4,24,e.displayRegisterName(e.selectedRegister),20)),n.xp6(2),n.Gre("col-auto date ",e.salesOrderNumberingVisible?"small":""," mobile-view"),n.xp6(1),n.Q6J("ngClass",n.VKq(27,Mi,e.isNotToday))("disabled",!e.role.DateEditor)("date",null==e.posData?null:e.posData.Order.Date),n.xp6(1),n.Gre("col-auto ",e.salesOrderNumberingVisible?"small":""," mobile-view"),n.xp6(2),n.Q6J("ngModel",null==e.posData?null:e.posData.Order.Number)("disabled",!e.role.NumberEditor),n.xp6(1),n.Gre("col-auto ",e.salesOrderNumberingVisible?"small":""," mobile-view"),n.Q6J("hidden",!e.salesOrderNumberingVisible),n.xp6(2),n.Q6J("ngModel",null==e.posData?null:e.posData.Invoice.Number)("disabled",!e.role.NumberEditor),n.xp6(1),n.Q6J("ngIf",e.isOnline),n.xp6(1),n.Q6J("ngIf",(null==e.sales?null:e.sales.length)>0&&e.isOnline&&e.SalesPerson))},directives:[vn.QB,_.mk,h.Fj,h.Q7,h.JJ,h.On,_.O5,Cn.J,mi,X.w9],pipes:[J.OI],styles:[".small[_ngcontent-%COMP%] {\n margin-right: 5px !important;\n}\n.small[_ngcontent-%COMP%] .number[_ngcontent-%COMP%] {\n width: 143px;\n}\n.small[_ngcontent-%COMP%] select[_ngcontent-%COMP%] {\n width: 140px;\n}\n.small[_ngcontent-%COMP%] .select2-container[_ngcontent-%COMP%] {\n font-size: 12px;\n}\n.col-auto[_ngcontent-%COMP%] {\n margin-right: 22px;\n font-size: 0.875rem;\n height: -moz-fit-content;\n height: fit-content;\n}\n.col-auto[_ngcontent-%COMP%]:last-child {\n margin-right: 0;\n}\n.col-auto.date[_ngcontent-%COMP%] {\n margin-left: 25px;\n}\n.col-auto.date[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n top: 3px !important;\n}\n.col-auto.date[_ngcontent-%COMP%] datepicker[_ngcontent-%COMP%] mat-form-field {\n padding-right: 0 !important;\n background: white;\n}\n.col-auto.date[_ngcontent-%COMP%] datepicker[_ngcontent-%COMP%] mat-form-field .mat-form-field-wrapper {\n padding-bottom: 0;\n}\n.col-auto.date[_ngcontent-%COMP%] datepicker[_ngcontent-%COMP%] .mat-form-field-flex {\n width: 117px;\n height: 36px;\n border: 1px solid #dddddd;\n}\n.col-auto.date[_ngcontent-%COMP%] datepicker[_ngcontent-%COMP%] .mat-form-field-infix {\n border: none !important;\n top: 5px;\n}\n.col-auto.date[_ngcontent-%COMP%] datepicker[_ngcontent-%COMP%] .mat-form-field-infix input {\n font-size: 14px;\n color: black;\n padding-left: 5px;\n}\n.col-auto.date[_ngcontent-%COMP%] datepicker[_ngcontent-%COMP%] .mat-form-field-suffix {\n left: -128px;\n top: 2px;\n}\n.col-auto.date[_ngcontent-%COMP%] datepicker[_ngcontent-%COMP%] .mat-form-field-suffix .mat-button-wrapper {\n color: black;\n}\n.col-auto.date[_ngcontent-%COMP%] datepicker[_ngcontent-%COMP%] .mat-form-field-underline {\n display: none;\n}\n.col-auto.date[_ngcontent-%COMP%] datepicker.date-warnings[_ngcontent-%COMP%] .mat-form-field-flex {\n background: repeating-linear-gradient(-60deg, #fcf3cf, #fcf3cf 15px, #f9e79f 15px, #f9e79f 30px) !important;\n}\n.col-auto[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 1.25rem;\n color: #3B3B3B;\n margin-right: 5px;\n line-height: unset !important;\n position: relative;\n top: 2px;\n}\n.col-auto[_ngcontent-%COMP%] input[_ngcontent-%COMP%], .col-auto[_ngcontent-%COMP%] span.outlet[_ngcontent-%COMP%] {\n padding: 4px 8px 3px 5px;\n border: 1px solid #dddddd;\n font-size: 0.875rem;\n}\n.col-auto[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n height: 36px;\n}\n.col-auto[_ngcontent-%COMP%] input[_ngcontent-%COMP%]:disabled {\n background-color: #e9ecef !important;\n opacity: 1 !important;\n color: rgba(0, 0, 0, 0.38) !important;\n}\n.col-auto[_ngcontent-%COMP%] .outlet[_ngcontent-%COMP%] {\n width: 165px;\n color: #337ab7;\n background: #ffffff;\n}\n.col-auto[_ngcontent-%COMP%] .number[_ngcontent-%COMP%] {\n width: 135px;\n}\n.col-auto.customer[_ngcontent-%COMP%] autocomplete[_ngcontent-%COMP%] input {\n font-size: 14px;\n}\n.col-auto.customer[_ngcontent-%COMP%] autocompleteV2[_ngcontent-%COMP%] input {\n font-size: 14px;\n}\n.col-auto.sales[_ngcontent-%COMP%] ng-select[_ngcontent-%COMP%] input {\n font-size: 14px;\n}\n.col-auto[_ngcontent-%COMP%] ng-select[_ngcontent-%COMP%] {\n width: 135px;\n}\n.header[_ngcontent-%COMP%] {\n border-bottom: 1px solid #dde2eb;\n}\n@media only screen and (max-width: 576px) {\n .mobile-view[_ngcontent-%COMP%] {\n margin-top: 5px;\n }\n .mobile-view[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n width: 75% !important;\n }\n}"]}),o})();var xi=m(6690);let Ut=(()=>{class o{constructor(t,e){this.data=t,this._dialogRef=e,this.modalConfig=new T.O,this.message=t.message,this.initModal()}initModal(){this.modalConfig.title=this.data.title,this.modalConfig.headerType=Y.n.Success,this.modalConfig.hideCancel=!0,this.modalConfig.hideOk=!0,this.modalConfig.hideFooter=!0}close(){this._dialogRef.close()}}return o.\u0275fac=function(t){return new(t||o)(n.Y36(P.WI),n.Y36(P.so))},o.\u0275cmp=n.Xpm({type:o,selectors:[["POS-modal-info"]],decls:4,vars:2,consts:[[3,"config","onCancel"],[1,"font-weight-normal","d-flex","justify-content-center"]],template:function(t,e){1&t&&(n.TgZ(0,"modal-material",0),n.NdJ("onCancel",function(){return e.close()}),n.TgZ(1,"content"),n.TgZ(2,"h4",1),n._uU(3),n.qZA(),n.qZA(),n.qZA()),2&t&&(n.Q6J("config",e.modalConfig),n.xp6(3),n.Oqu(e.message))},directives:[y.M],styles:[""]}),o})();var yn=(()=>(function(o){o[o.RequireAuthorization=0]="RequireAuthorization",o[o.DoNotRequireAuthorization=1]="DoNotRequireAuthorization",o[o.DoNotRequireAuthorizationNSyncCost=2]="DoNotRequireAuthorizationNSyncCost"}(yn||(yn={})),yn))(),yi=m(8623),Qn=(()=>(function(o){o[o.SELL_INPUT=0]="SELL_INPUT",o[o.PRODUCT=1]="PRODUCT"}(Qn||(Qn={})),Qn))(),Ft=m(1102),Lt=m(235);function Di(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"tr"),n.TgZ(1,"td"),n._uU(2),n.qZA(),n.TgZ(3,"td"),n.TgZ(4,"input",3),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw().otherModel=i})("ngModelChange",function(){return n.CHM(t),n.oxw().onOtherChange()}),n.qZA(),n.qZA(),n.TgZ(5,"td"),n._uU(6,"X"),n.qZA(),n.TgZ(7,"td"),n.TgZ(8,"input",3),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw().otherMultiplier=i})("ngModelChange",function(){return n.CHM(t),n.oxw().onOtherChange()}),n.qZA(),n.qZA(),n.qZA()}if(2&o){const t=n.oxw();n.xp6(2),n.Oqu(null==t.appConfigJSON||null==t.appConfigJSON.ModuleSell||null==t.appConfigJSON.ModuleSell.ProductDialog?null:t.appConfigJSON.ModuleSell.ProductDialog.UnitQtyLabel),n.xp6(2),n.Q6J("disabled",t.qtyDisabled)("ngModel",t.otherModel),n.xp6(4),n.Q6J("disabled",t.qtyDisabled)("ngModel",t.otherMultiplier)}}let Si=(()=>{class o{constructor(t){this._posService=t,this.qtyChange=new n.vpe,this.priceChange=new n.vpe,this.otherChange=new n.vpe,this.qtyDisabled=!1,this.priceDisabled=!1,this.appConfigJSON=this._posService.Data.AppConfigJSON}onPriceChange(){let t=this.priceModel?parseFloat(this.priceModel):0,e=this.priceMultiplier?parseFloat(this.priceMultiplier):0;this.priceChange.emit(t*e)}onQtyChange(){let t=this.qtyModel?parseFloat(this.qtyModel):0,e=this.qtyMultiplier?parseFloat(this.qtyMultiplier):0;this.qtyChange.emit(t*e)}onOtherChange(){let t=this.otherModel?parseFloat(this.otherModel):0,e=this.otherMultiplier?parseFloat(this.otherMultiplier):0;this.otherChange.emit(t*e)}}return o.\u0275fac=function(t){return new(t||o)(n.Y36(D))},o.\u0275cmp=n.Xpm({type:o,selectors:[["POS-calculator"]],inputs:{left:"left",top:"top",appConfigJSON:"appConfigJSON",qtyDisabled:"qtyDisabled",priceDisabled:"priceDisabled"},outputs:{priceChange:"priceChange",qtyChange:"qtyChange",otherChange:"otherChange"},decls:24,vars:15,consts:[[1,"price_calculator","arrow_box","arrow_box_left"],[1,"header","bg-warning","text-white"],[1,"table","table-sm","table-borderless"],["type","text",3,"disabled","ngModel","ngModelChange"],[4,"ngIf"]],template:function(t,e){1&t&&(n.TgZ(0,"div",0),n.TgZ(1,"span",1),n._uU(2,"Calculator"),n.qZA(),n.TgZ(3,"table",2),n.TgZ(4,"tbody"),n.TgZ(5,"tr"),n.TgZ(6,"td"),n._uU(7,"Qty"),n.qZA(),n.TgZ(8,"td"),n.TgZ(9,"input",3),n.NdJ("ngModelChange",function(r){return e.qtyModel=r})("ngModelChange",function(){return e.onQtyChange()}),n.qZA(),n.qZA(),n.TgZ(10,"td"),n._uU(11,"X"),n.qZA(),n.TgZ(12,"td"),n.TgZ(13,"input",3),n.NdJ("ngModelChange",function(r){return e.qtyMultiplier=r})("ngModelChange",function(){return e.onQtyChange()}),n.qZA(),n.qZA(),n.qZA(),n.YNc(14,Di,9,5,"tr",4),n.TgZ(15,"tr"),n.TgZ(16,"td"),n._uU(17,"Price"),n.qZA(),n.TgZ(18,"td"),n.TgZ(19,"input",3),n.NdJ("ngModelChange",function(r){return e.priceModel=r})("ngModelChange",function(){return e.onPriceChange()}),n.qZA(),n.qZA(),n.TgZ(20,"td"),n._uU(21,"X"),n.qZA(),n.TgZ(22,"td"),n.TgZ(23,"input",3),n.NdJ("ngModelChange",function(r){return e.priceMultiplier=r})("ngModelChange",function(){return e.onPriceChange()}),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.qZA()),2&t&&(n.Udp("position","absolute")("left",e.left+"%")("top",e.top+"%"),n.xp6(9),n.Q6J("disabled",e.qtyDisabled)("ngModel",e.qtyModel),n.xp6(4),n.Q6J("disabled",e.qtyDisabled)("ngModel",e.qtyMultiplier),n.xp6(1),n.Q6J("ngIf",null==e.appConfigJSON||null==e.appConfigJSON.ModuleSell||null==e.appConfigJSON.ModuleSell.ProductDialog?null:e.appConfigJSON.ModuleSell.ProductDialog.UnitQtyLabel),n.xp6(5),n.Q6J("disabled",e.priceDisabled)("ngModel",e.priceModel),n.xp6(4),n.Q6J("disabled",e.priceDisabled)("ngModel",e.priceMultiplier))},directives:[h.Fj,h.JJ,h.On,_.O5],styles:['div.price_calculator[_ngcontent-%COMP%] {\n left: calc((100vw - 725px) / 2 - 250px);\n top: 85px;\n width: 250px;\n height: 150px;\n padding-top: 20px;\n border-radius: 3px;\n position: fixed !important;\n}\ndiv.price_calculator[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n border: 0px !important;\n border-bottom: 1px solid #dddddd !important;\n background-color: transparent !important;\n padding: 8px 5px 5px 5px !important;\n width: 60px !important;\n}\n.arrow_box[_ngcontent-%COMP%] {\n position: relative;\n background: #ffffff;\n border: 2px solid #dddddd;\n}\n.arrow_box[_ngcontent-%COMP%]:after, .arrow_box[_ngcontent-%COMP%]:before {\n right: 100%;\n border: solid transparent;\n content: " ";\n height: 0;\n width: 0;\n position: absolute;\n pointer-events: none;\n}\n.arrow_box[_ngcontent-%COMP%]:after {\n border-color: rgba(238, 238, 238, 0);\n border-right-color: #ffffff;\n border-width: 6px;\n top: 50%;\n margin-top: -6px;\n}\n.arrow_box[_ngcontent-%COMP%]:before {\n border-color: rgba(200, 211, 223, 0);\n border-right-color: #dddddd;\n border-width: 9px;\n top: 50%;\n margin-top: -9px;\n}\n.arrow_box[_ngcontent-%COMP%] > .header[_ngcontent-%COMP%] {\n font-size: 0.625rem;\n padding: 1px 2px 1px 3px;\n position: absolute;\n top: 0;\n right: 0;\n border-radius: 0px 0px 0px 3px;\n}\n.arrow_box_left[_ngcontent-%COMP%]:after, .arrow_box_left[_ngcontent-%COMP%]:before {\n left: 100% !important;\n}\n.arrow_box_left[_ngcontent-%COMP%]:after {\n border-left-color: #ffffff !important;\n border-right-color: transparent !important;\n}\n.arrow_box_left[_ngcontent-%COMP%]:before {\n border-left-color: #dddddd !important;\n border-right-color: transparent !important;\n}\n.more[_ngcontent-%COMP%] {\n position: absolute;\n top: 0px;\n left: 30px;\n}']}),o})(),wi=(()=>{class o{}return o.\u0275fac=function(t){return new(t||o)},o.\u0275mod=n.oAB({type:o}),o.\u0275inj=n.cJS({providers:[],imports:[[_.ez,h.u5]]}),o})();const Ti=["quantity"],ki=["price"],Ii=["discount"],Ht=function(o){return{selected:o}};function Ai(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"a",8),n.NdJ("click",function(){n.CHM(t);const i=n.oxw();return i.onTabChange(i.modalItemState.PRODUCT)}),n._uU(1," Product "),n.qZA()}if(2&o){const t=n.oxw();n.Q6J("ngClass",n.VKq(1,Ht,t.modalItemState.PRODUCT==t.currentState))}}function Zi(o,a){if(1&o){const t=n.EpF();n.ynx(0),n.TgZ(1,"div",18),n.TgZ(2,"div",16),n.TgZ(3,"autocompleteV2",19,20),n.NdJ("onSelect",function(i){return n.CHM(t),n.oxw(2).onAddItem(i)})("onInputEnter",function(i){return n.CHM(t),n.oxw(2).onEnterProductCode(i)}),n.qZA(),n.qZA(),n.qZA(),n.BQk()}if(2&o){const t=n.oxw(2);n.xp6(3),n.Q6J("localStorage","products")("inputTextValue",null==t.cartItem||null==t.cartItem.Variant?null:t.cartItem.Variant.Name)("clearOnSelect",!1)}}function Ni(o,a){if(1&o&&(n.TgZ(0,"span"),n._uU(1),n.qZA()),2&o){const t=n.oxw(3);n.xp6(1),n.hij("(",null==t.cartItem.Variant?null:t.cartItem.Variant.UOMName,")")}}function qi(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",33),n.TgZ(1,"strong"),n.TgZ(2,"span"),n._uU(3),n.qZA(),n.qZA(),n.TgZ(4,"input",34),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw(3).cartItem.UnitQuantity=i}),n.qZA(),n.qZA()}if(2&o){const t=n.oxw(3);n.xp6(3),n.Oqu(t.AppConfigJSON.ModuleSell.ProductDialog.UnitQtyLabel),n.xp6(1),n.Q6J("preventNegative",!0)("readOnly",null==t.cartItem?null:t.cartItem.PromotionGift)("ngModel",t.cartItem.UnitQuantity)}}function Ri(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",35),n.TgZ(1,"strong"),n._uU(2,"Disc. Amount"),n.qZA(),n.TgZ(3,"input",36),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw(3).cartItem.DiscountAmount=i}),n.qZA(),n.qZA()}if(2&o){const t=n.oxw(3);n.xp6(3),n.Q6J("simpleKeyboard",t.keyboard)("ngModel",t.cartItem.DiscountAmount)("readonly",!t.role.Discount||(null==t.cartItem?null:t.cartItem.PromotionGift))}}function Ji(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",38),n.TgZ(1,"strong"),n._uU(2,"Sales Person"),n.qZA(),n.TgZ(3,"ng-select",39),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw().$implicit.SalesID=i}),n.qZA(),n.qZA()}if(2&o){const t=n.oxw().$implicit,e=n.oxw(4);n.xp6(3),n.Q6J("items",e.sales)("ngModel",t.SalesID)}}function Ei(o,a){if(1&o&&(n.TgZ(0,"div"),n.YNc(1,Ji,4,2,"div",32),n.qZA()),2&o){const t=n.oxw(4);n.xp6(1),n.Q6J("ngIf",t.isEmptySalesID)}}function Qi(o,a){if(1&o&&(n.ynx(0),n.YNc(1,Ei,2,1,"div",37),n.BQk()),2&o){const t=n.oxw(3);n.xp6(1),n.Q6J("ngForOf",t.cartItem.SalesOrderItemCommission)}}function Ui(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",38),n.TgZ(1,"strong"),n._uU(2,"Fulfillment From"),n.qZA(),n.TgZ(3,"ng-select",40),n.NdJ("ngModelChange",function(){return n.CHM(t),n.oxw(3).onDeliveryEntityChange()})("ngModelChange",function(i){return n.CHM(t),n.oxw(3).cartItem.EntityID=i}),n.qZA(),n.qZA()}if(2&o){const t=n.oxw(3);n.xp6(3),n.Q6J("items",t.entities)("ngModel",t.cartItem.EntityID)}}function Fi(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",38),n.TgZ(1,"strong"),n._uU(2,"Pricebook"),n.qZA(),n.TgZ(3,"ng-select",41),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw(3).pricebookId=i})("ngModelChange",function(){return n.CHM(t),n.oxw(3).pricebookChange()}),n.qZA(),n.qZA()}if(2&o){const t=n.oxw(3);n.xp6(3),n.Q6J("items",null==t.cartItem||null==t.cartItem.Variant?null:t.cartItem.Variant.PriceBook)("ngModel",t.pricebookId)("disabled",t.pricebookDisabled)}}function Li(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",18),n.TgZ(1,"div",21),n.TgZ(2,"strong"),n._uU(3," Qty "),n.YNc(4,Ni,2,1,"span",7),n.qZA(),n.TgZ(5,"input",22,23),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw(2).updateItemQuantity(i)}),n.qZA(),n.qZA(),n.YNc(7,qi,5,4,"div",24),n.TgZ(8,"div",25),n.TgZ(9,"strong"),n._uU(10,"Price"),n.qZA(),n.TgZ(11,"input",26,27),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw(2).cartItem.Price=i}),n.qZA(),n.qZA(),n.TgZ(13,"div",28),n.TgZ(14,"strong"),n._uU(15,"Discount %"),n.qZA(),n.TgZ(16,"input",29,30),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw(2).updateDiscountPercentage(i)}),n.qZA(),n.qZA(),n.YNc(18,Ri,4,3,"div",31),n.YNc(19,Qi,2,1,"ng-container",7),n.TgZ(20,"div"),n.YNc(21,Ui,4,2,"div",32),n.qZA(),n.TgZ(22,"div"),n.YNc(23,Fi,4,3,"div",32),n.qZA(),n.qZA()}if(2&o){const t=n.oxw(2);n.xp6(4),n.Q6J("ngIf",(null==t.cartItem.Variant?null:t.cartItem.Variant.UOM)&&(null==t.cartItem.Variant?null:t.cartItem.Variant.UOMName)),n.xp6(1),n.Q6J("simpleKeyboard",t.keyboard)("preventNegative",!t.role.Return)("ngModel",t.cartItem.Quantity)("readOnly",(null==t.cartItem?null:t.cartItem.PromotionGift)||t.checkQtyInputDisabled()),n.xp6(2),n.Q6J("ngIf",t.AppConfigJSON.ModuleSell.ProductDialog.UnitQtyLabel),n.xp6(1),n.Q6J("hidden",t.priceVisibleRestriction),n.xp6(3),n.Q6J("simpleKeyboard",t.keyboard)("readonly",!t.unitPriceEditor||(null==t.cartItem?null:t.cartItem.PromotionGift))("ngModel",t.cartItem.Price),n.xp6(5),n.Q6J("simpleKeyboard",t.keyboard)("ngModel",t.cartItem.Discount)("readonly",!t.role.Discount||(null==t.cartItem?null:t.cartItem.PromotionGift)),n.xp6(2),n.Q6J("ngIf",!t.buy),n.xp6(1),n.Q6J("ngIf",t.isEmptySalesID&&1===t.cartItem.SalesOrderItemCommission.length&&(null==t.sales?null:t.sales.length)>0),n.xp6(2),n.Q6J("ngIf",t.AppConfigJSON.ModuleSell.ProductDialog.SplitDeliveryOutletEnabled&&1==t.salesOrderData.Order.DeliveryStateID),n.xp6(2),n.Q6J("ngIf",null!=t.cartItem.Variant&&null!=(null==t.cartItem||null==t.cartItem.Variant?null:t.cartItem.Variant.PriceBook)&&(null==t.cartItem||null==t.cartItem.Variant?null:t.cartItem.Variant.PriceBook.length)>0)}}function Hi(o,a){1&o&&(n.TgZ(0,"label",42),n._uU(1,"Note:"),n.qZA())}function Vi(o,a){1&o&&(n.TgZ(0,"label",42),n._uU(1,"Serial:"),n.qZA())}function Bi(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",43),n.TgZ(1,"a",44),n.NdJ("click",function(){return n.CHM(t),n.oxw(2).serialSelectMode=!0}),n._UZ(2,"i",45),n._uU(3," Back "),n.qZA(),n.qZA()}}function Yi(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",18),n.TgZ(1,"div",46),n.TgZ(2,"strong"),n.TgZ(3,"span"),n._uU(4,"Cost"),n.qZA(),n.qZA(),n.TgZ(5,"input",47),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw(2).cartItem.Cost=i}),n.qZA(),n.qZA(),n.qZA()}if(2&o){const t=n.oxw(2);n.xp6(5),n.Q6J("ngModel",t.cartItem.Cost)}}function zi(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",48),n.TgZ(1,"ng-select",49),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw(2).cartItem.Serial=i})("ngModelChange",function(){return n.CHM(t),n.oxw(2).updateSerial()}),n.qZA(),n.TgZ(2,"a",50),n.NdJ("click",function(){n.CHM(t);const i=n.oxw(2);return i.serialSelectMode=!i.serialSelectMode}),n._UZ(3,"i",51),n.qZA(),n.qZA()}if(2&o){const t=n.oxw(2);n.xp6(1),n.Q6J("items",t.serials)("ngModel",t.cartItem.Serial)("multiple",!0)("disabled","update"===t.statusModal&&0!==(null==t.initialSerial?null:t.initialSerial.length))}}function $i(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"p-chips",55),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw(3).cartItem.Serial=i})("onAdd",function(){return n.CHM(t),n.oxw(3).updateSerial()}),n.qZA()}if(2&o){const t=n.oxw(3);n.Q6J("ngModel",t.cartItem.Serial)}}function Gi(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"ng-select",56),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw(3).cartItem.Serial=i})("ngModelChange",function(){return n.CHM(t),n.oxw(3).updateSerial()}),n.qZA()}if(2&o){const t=n.oxw(3);n.Q6J("items",t.serials)("ngModel",t.cartItem.Serial)("multiple",!0)}}function ji(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",48),n.YNc(1,$i,1,1,"p-chips",52),n.YNc(2,Gi,1,3,"ng-select",53),n.TgZ(3,"a",50),n.NdJ("click",function(){n.CHM(t);const i=n.oxw(2);return i.serialSelectMode=!i.serialSelectMode}),n._UZ(4,"i",54),n.qZA(),n.qZA()}if(2&o){const t=n.oxw(2);n.xp6(1),n.Q6J("ngIf",t.cartItem.Quantity>=0),n.xp6(1),n.Q6J("ngIf",t.cartItem.Quantity<0)}}const Wi=function(){return["code,lists advlist,table"]},Xi=function(o){return{menubar:!1,branding:!1,plugins:o,toolbar:"code | bold italic | bullist numlist | outdent indent | alignleft aligncenter alignright alignjustify | table "}};function nr(o,a){if(1&o){const t=n.EpF();n.ynx(0),n.YNc(1,Zi,5,3,"ng-container",7),n.YNc(2,Li,24,17,"div",9),n.TgZ(3,"div",10),n.TgZ(4,"div",11),n.YNc(5,Hi,2,0,"label",12),n.YNc(6,Vi,2,0,"label",12),n.YNc(7,Bi,4,0,"div",13),n.qZA(),n.TgZ(8,"div",14),n.TgZ(9,"editor",15),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw().cartItem.Note=i}),n.qZA(),n.qZA(),n.qZA(),n.YNc(10,Yi,6,1,"div",9),n.TgZ(11,"div",10),n.TgZ(12,"div",16),n.TgZ(13,"strong"),n._uU(14,"Serial:"),n.qZA(),n.YNc(15,zi,4,4,"div",17),n.YNc(16,ji,5,2,"div",17),n.qZA(),n.qZA(),n.BQk()}if(2&o){const t=n.oxw();n.xp6(1),n.Q6J("ngIf","create"===t.statusModal),n.xp6(1),n.Q6J("ngIf",t.cartItem),n.xp6(1),n.Q6J("hidden",t.serialSelectMode),n.xp6(2),n.Q6J("ngIf",!t.isSerial()),n.xp6(1),n.Q6J("ngIf",t.isSerial()),n.xp6(1),n.Q6J("ngIf",t.isSerial()),n.xp6(2),n.Q6J("init",n.VKq(13,Xi,n.DdM(12,Wi)))("ngModel",t.cartItem.Note),n.xp6(1),n.Q6J("ngIf",t.costVisible),n.xp6(1),n.Q6J("hidden",!t.serialSelectMode),n.xp6(4),n.Q6J("ngIf",!t.buy),n.xp6(1),n.Q6J("ngIf",t.buy)}}function tr(o,a){1&o&&(n.ynx(0),n._UZ(1,"i",72),n.TgZ(2,"h6"),n._uU(3,"No Image"),n.qZA(),n.BQk())}function er(o,a){if(1&o&&n._UZ(0,"img",73),2&o){const t=n.oxw(2);n.Q6J("src",t.cartItem.Variant.ThumbnailUrl,n.LSH)}}function or(o,a){if(1&o&&(n.ynx(0),n._uU(1),n.BQk()),2&o){const t=n.oxw(2);n.xp6(1),n.hij(" ",t.onHand," ")}}function ir(o,a){if(1&o&&(n.ynx(0),n._uU(1),n.BQk()),2&o){const t=n.oxw(2);n.xp6(1),n.hij(" ",t.allocated," ")}}function rr(o,a){if(1&o&&(n.ynx(0),n._uU(1),n.BQk()),2&o){const t=n.oxw(2);n.xp6(1),n.hij(" ",t.onHand-t.allocated," ")}}function ar(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"a",74),n.NdJ("click",function(){n.CHM(t);const i=n.oxw(2);return i.getStockItem(i.cartItem.VariantID)}),n._UZ(1,"i",75),n.qZA()}if(2&o){const t=n.oxw(2);n.Q6J("hidden",!0===t.showInventoryItem)}}function cr(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"tr"),n.TgZ(1,"th",76),n._uU(2,"Cost"),n.qZA(),n.TgZ(3,"td",77),n.TgZ(4,"input",78),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw(2).cartItem.Cost=i}),n.qZA(),n.qZA(),n.qZA()}if(2&o){const t=n.oxw(2);n.xp6(4),n.Q6J("ngModel",t.cartItem.Cost)("readonly",!t.AppConfigJSON.ModuleSell.Cost.Enabled)}}function sr(o,a){if(1&o&&(n.TgZ(0,"tr"),n.TgZ(1,"th",68),n._uU(2,"Content"),n.qZA(),n.TgZ(3,"td",77),n.TgZ(4,"div",79),n._uU(5),n.ALo(6,"number"),n.qZA(),n.qZA(),n.qZA()),2&o){const t=n.oxw(2);n.xp6(5),n.AsE("",null==t.cartItem||null==t.cartItem.Variant?null:t.cartItem.Variant.UnitQuantity," (@",n.lcZ(6,2,t.cartItem.UnitQuantityPrice),")")}}const lr=function(){return["/menu/Products/Catalog/Variants/Info"]},dr=function(o){return{ID:o}};function pr(o,a){if(1&o&&(n.ynx(0),n.TgZ(1,"div",57),n.TgZ(2,"div",58),n.TgZ(3,"a",59),n.YNc(4,tr,4,0,"ng-container",60),n.YNc(5,er,1,1,"ng-template",null,61,n.W1O),n.qZA(),n.qZA(),n.TgZ(7,"div",62),n.TgZ(8,"div",63),n.TgZ(9,"div",64),n.TgZ(10,"div",48),n._UZ(11,"i",65),n.TgZ(12,"div",66),n._uU(13,"Inventory"),n.qZA(),n.qZA(),n.TgZ(14,"table",67),n.TgZ(15,"tr"),n.TgZ(16,"th",68),n._uU(17,"On Hand"),n.qZA(),n.TgZ(18,"th",68),n._uU(19,"Allocated"),n.qZA(),n.TgZ(20,"th",68),n._uU(21,"Available"),n.qZA(),n.qZA(),n.TgZ(22,"tr"),n.TgZ(23,"td"),n.YNc(24,or,2,1,"ng-container",60),n.qZA(),n.TgZ(25,"td"),n.YNc(26,ir,2,1,"ng-container",60),n.qZA(),n.TgZ(27,"td"),n.YNc(28,rr,2,1,"ng-container",60),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.YNc(29,ar,2,1,"ng-template",null,69,n.W1O),n.qZA(),n.TgZ(31,"div",57),n.TgZ(32,"div",64),n.TgZ(33,"table",70),n.YNc(34,cr,5,2,"tr",7),n.TgZ(35,"tr"),n.TgZ(36,"th",68),n._uU(37,"Price"),n.qZA(),n.TgZ(38,"td",71),n._uU(39),n.ALo(40,"number"),n.qZA(),n.qZA(),n.YNc(41,sr,7,4,"tr",7),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.BQk()),2&o){const t=n.MAs(6),e=n.MAs(30),i=n.oxw();n.xp6(3),n.Q6J("routerLink",n.DdM(15,lr))("queryParams",n.VKq(16,dr,null==i.cartItem||null==i.cartItem.Variant?null:i.cartItem.Variant.ID)),n.xp6(1),n.Q6J("ngIf",null==(null==i.cartItem||null==i.cartItem.Variant?null:i.cartItem.Variant.ThumbnailUrl))("ngIfElse",t),n.xp6(20),n.Q6J("ngIf",i.cartItem.Variant&&i.queryInventoryOnOpen&&i.isOnline||i.showInventoryItem)("ngIfElse",e),n.xp6(2),n.Q6J("ngIf",i.cartItem.Variant&&i.queryInventoryOnOpen&&i.isOnline||i.showInventoryItem)("ngIfElse",e),n.xp6(2),n.Q6J("ngIf",i.cartItem.Variant&&i.queryInventoryOnOpen&&i.isOnline||i.showInventoryItem)("ngIfElse",e),n.xp6(6),n.Q6J("ngIf",i.AppConfigJSON.ModuleSell.Cost.Visible&&i.role.ShowCost),n.xp6(5),n.hij(" ",n.lcZ(40,13,i.cartItem.Variant.UnitPrice)," "),n.xp6(2),n.Q6J("ngIf",(null==i.cartItem||null==i.cartItem.Variant?null:i.cartItem.Variant.UnitQuantity)>1)}}function gr(o,a){if(1&o){const t=n.EpF();n.ynx(0),n.TgZ(1,"POS-calculator",80),n.NdJ("priceChange",function(i){return n.CHM(t),n.oxw().onCalculatorPrice(i)})("qtyChange",function(i){return n.CHM(t),n.oxw().onCalculatorQty(i)})("otherChange",function(i){return n.CHM(t),n.oxw().onCalculatorUnitQty(i)}),n.qZA(),n.BQk()}if(2&o){const t=n.oxw();n.xp6(1),n.Q6J("qtyDisabled",t.calculatorQtyDisabled)("priceDisabled",t.calculatorPriceDisabled)("appConfigJSON",t.AppConfigJSON)("top",20)}}let jn=(()=>{class o extends class{constructor(){this.modalConfig=new T.O,this.cartItem=new tn.t,this.role=new K.Q,this.serialSelectMode=!1,this.serials=[],this.costVisible=!1,this.buy=!1,this.unitQtyLabel="Unit Quantity",this.modalConfig.title="Adding new items to order",this.modalConfig.hideScrollbar=!0,this.onHand=0,this.allocated=0,this.pricebookDisabled=!0,this.showInventoryItem=!1}mapAppConfigJson(a){this.numpadVisible=a.ModuleSell.NumPadVisible,this.pricebookCopyDesc=a.ModuleSell.Pricebook.PricebookVisible,this.queryInventoryOnOpen=a.ModuleSell.ProductDialog.QueryInventoryOnOpen,this.calculatorEnabled=a.ModuleSell.ProductDialog.CalculatorEnabled,this.quantityToOneInDialog=a.ModuleSell.ProductDialog.QuantityToOneInDialog,this.unitQtyLabel=a.ModuleSell.ProductDialog.UnitQtyLabel,this.splitDeliveryOutletEnabled=a.ModuleSell.ProductDialog.SplitDeliveryOutletEnabled}isSerial(){return null!=this.cartItem.Variant&&4==this.cartItem.Variant.TypeID}setUserRole(a){this.role=a,this.unitPriceEditor=this.role.UnitPriceEditor,this.priceVisibleRestriction=this.role.PriceVisibleRestriction,this.pricebookSelector=this.role.PricebookSelector}}{constructor(t,e,i,r,c,l,d,s,p,f,M,b,I,v){super(),this._dialogRef=t,this.data=e,this._shoppingCartService=i,this._outletService=r,this._posService=c,this._orderProcessorService=l,this._orderDataService=d,this._variantService=s,this._toastr=p,this.decimalPipe=f,this._matDialog=M,this._numpadService=b,this._userRoleService=I,this._onlineStatusService=v,this.AppConfigJSON=new ln,this.isOnline=!0,this.modalItemState=Qn,this.destroy$=new N.xQ,this.entities=this._posService.Data.Entities,this.AppConfigJSON=this._posService.Data.AppConfigJSON,this.mapAppConfigJson(this.AppConfigJSON),this.subscribeToObservableChanges()}ngOnInit(){this.initTabState(),this.serialSelectMode=this.isSerial(),this.initStatusModal(),this.numpadVisible&&(this.keyboard=this._numpadService.keyboard),this.initIsUnitPriceEditor()}initTabState(){this.currentState=Qn.SELL_INPUT}onTabChange(t){this.currentState=t}ngAfterViewInit(){setTimeout(()=>{this.initFieldFocus()},200)}initFieldFocus(){switch(this.data&&this.data.focus){case"Price":this._priceElement.nativeElement.focus();break;case"Discount":this._discountElement.nativeElement.focus();break;case"Quantity":this._quantityElement.nativeElement.focus()}}initIsUnitPriceEditor(){const e=this.cartItem.Variant?this.cartItem.Variant.SellPriceType:null;(this.cartItem.Variant?this.cartItem.Variant.TypeID:null)==un.J.NonInventory&&(e==yn.DoNotRequireAuthorization||e==yn.DoNotRequireAuthorizationNSyncCost)&&(this.unitPriceEditor=!0)}initStatusModal(){this.data?(this.updateHeaderTitle(`Editing Cart Item - ${this.cartItem.Variant?this.cartItem.Variant.Name:""}`),this.statusModal="update"):(this.statusModal="create",this.cartItem=this.checkItemQuantityDefault(this.cartItem))}checkItemQuantityDefault(t){return this.quantityToOneInDialog||(t.Quantity=null),t}subscribeToObservableChanges(){this._userRoleService.Data$.pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.setUserRole(t)}),this._orderDataService.Data$.pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.salesOrderData=t,this.initCartItem(t.CartItems),this.checkPriceBookDisabled(),this.checkCalculatorPriceDisabled(),this.checkEmptySalesID()}),this._orderProcessorService.Data$.pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.OrderManager=t,this.checkCalculatorQtyDisabled()}),this._outletService.Data$.pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.sales=t.ListSales}),this._onlineStatusService.getOnlineStatus$().pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.isOnline=t}),this.getSerialVariant()}initCartItem(t){null!=this.data?(this.cartItem=(0,an.d8)(tn.t,t[this.data.index]),this.cartItem.EntityID==g.gT.GuidEmpty&&(this.cartItem.EntityID=null),this.oriUnitPrice=g.gT.IsEmpty(this.cartItem.PriceBookID)?this.cartItem.Price:this.cartItem.UnitPriceOriginal,this.oriDiscount=this.cartItem.Discount,this.initialSerial=this.cartItem.Serial,this.pricebookId=this.cartItem.PriceBookID,this.initSelectedPriceBook(),this.checkQueryInventory()):this.cartItem=new tn.t}getSerialVariant(){null!=this.cartItem.Variant&&this.isOnline&&4==this.cartItem.Variant.TypeID&&this._variantService.getVariantSerial(this.salesOrderData.Order.EntityID,this.salesOrderData.Order.ID,this.cartItem.VariantID).pipe((0,C.R)(this.destroy$)).subscribe(r=>{this.serials=r})}initSelectedPriceBook(){1===(this.cartItem.Variant&&this.cartItem.Variant.PriceBook?this.cartItem.Variant.PriceBook:[]).length&&!this.cartItem.PriceBookID&&!this.cartItem.PromotionGift&&this.checkPriceBook()}checkPriceBookDisabled(){if(this.cartItem.Variant){const e=this.cartItem.Variant.TypeID==un.J.NonInventory&&0==this.cartItem.Variant.SellPriceType&&!this.pricebookSelector;this.pricebookDisabled=this.cartItem.Variant.TypeID!=un.J.NonInventory&&!this.pricebookSelector||e}}checkCalculatorPriceDisabled(){if(this.cartItem.Variant){const e=this.cartItem.Variant.TypeID==un.J.NonInventory&&0==this.cartItem.Variant.SellPriceType&&!this.unitPriceEditor;this.calculatorPriceDisabled=this.cartItem.Variant.TypeID!=un.J.NonInventory&&!this.unitPriceEditor||e}}checkQtyInputDisabled(){let t=this.AppConfigJSON.ApplicationParkAndRetrieve.AccessControl.AuthorizeParkedOrdersItemDeletion,e=this.AppConfigJSON.ApplicationParkAndRetrieve.AccessControl.AuthorizeBilledOrdersItemDeletion,i=g.gT.IsNotEmpty(this.cartItem.ID);return!!(t&&!this.role.Order&&this.OrderManager.posState==O.IsRetrieve&&i||e&&!this.role.Order&&this.OrderManager.posState==O.IsBill&&i)}checkCalculatorQtyDisabled(){this.calculatorQtyDisabled=!this.AppConfigJSON.ApplicationParkAndRetrieve.AccessControl.AuthorizeParkOrderDeletion&&this.OrderManager.posState===O.IsRetrieve&&!this.role.Order&&this.AppConfigJSON.ApplicationParkAndRetrieve.AccessControl.AuthorizeParkedOrdersItemDeletion}checkEmptySalesID(){null!=this.salesOrderData.Order&&(this.isEmptySalesID=g.gT.IsEmpty(this.salesOrderData.Order.SalesID))}checkQueryInventory(){this.queryInventoryOnOpen&&this.isOnline&&this.getStockItem(this.cartItem.VariantID)}pricebookChange(){this.cartItem.pricebookUpdate(this.pricebookId,!this.pricebookDisabled,this.pricebookCopyDesc)}updateHeaderTitle(t){this.modalConfig.title=t}onDeliveryEntityChange(){const t=this.entities.find(e=>e.ID==this.cartItem.EntityID);t?this.cartItem.EntityName=t.Name:delete this.cartItem.EntityName}onOk(t){if(!this.validateConfigDefaultQuantity(t))return;this.cartItem.Variant.SellPriceType==yn.DoNotRequireAuthorizationNSyncCost&&(this.cartItem.Cost=this.cartItem.Price);const i=this.cartItem.Cost,r=this.cartItem.UnitPriceOriginal,c=this.cartItem.Price;this.role.PriceMinimum?2==this.AppConfigJSON.ModuleSell.ProductDialog.PriceMinimumTypeID?c<i?this.priceMinimumAlert(i):this.validateOnSubmit():c<r?this.priceMinimumAlert(r):this.validateOnSubmit():this.validateOnSubmit(),document.getElementById("product").focus()}validateConfigDefaultQuantity(t){return!("Enter"==t&&!this.quantityToOneInDialog)||this.cartItem.Quantity>0}validateOnSubmit(){g.gT.IsEmpty(this.cartItem.VariantID)?this._toastr.error("Enter item data before clicking OK!","No item is entered!"):(g.gT.IsEmpty(this.cartItem.Quantity)&&this.updateItemQuantity("1"),this.checkValidateSerialItem(this.cartItem)&&this.onSubmitCartItem())}priceMinimumAlert(t){const e=g.gT.StringFormat("You have no right to sell this item lower than {0}",this.decimalPipe.transform(t));alert(e)}onSubmitCartItem(){let t=!1;if(null==this.data){let e=this.cartItem;this._shoppingCartService.pushNewItemToArray(e,!0),this._shoppingCartService.addAvailableComponent(e),t=!0}else this._shoppingCartService.updateCartItem(this.cartItem,this.data.index),t=!0;t&&this._dialogRef.close()}onCancel(){this._dialogRef.close()}checkValidateSerialItem(t){return this._shoppingCartService.validateSerialItem(t)}updateItemQuantity(t){this.cartItem.Quantity=Number(t),this.checkPriceBook()}updateDiscountPercentage(t){this.cartItem.Discount=Number(t)}updateOrUnitPrice(t){this.oriUnitPrice=t}quantityEditDisabled(){return this.AppConfigJSON.ApplicationParkAndRetrieve.AccessControl.AuthorizeParkedOrdersItemDeletion&&!this.role.Order&&g.gT.IsNotEmpty(this.cartItem.ID)}updateSerial(){this.cartItem.updateSerial()}onAddItem(t){this._variantService.getVariantByID(t,this.salesOrderData.Order.EntityID).then(i=>{const r=i,c=new tn.t;c.patchByVariant(r),this.addItem(c)})}onEnterProductCode(t){this._variantService.getVariantByCode(t,this.salesOrderData.Order.EntityID).then(i=>{if(i){const r=Object.assign(new yi.O,i),c=new tn.t;c.patchByVariant(r),this.addItem(c)}else this.onProductNotFound(t)}).catch(i=>{window.alert(`Barcode "${t}" is not registered in the product`)})}onProductNotFound(t){this._matDialog.open(Ut,{data:{message:`Barcode "${t}" is not registered in the product`,title:"Product not found"},width:"30%"}),this.playAudio()}playAudio(){const t=new Audio;t.src="/Sounds/bell_ring.mp3",t.load(),t.play()}addItem(t){this.onHand=0,this.AppConfigJSON.ModuleSell.ProductDialog.QuantityToOneInDialog?t.Quantity=1:this._quantityElement.nativeElement.focus(),this.cartItem=this.checkItemQuantityDefault(t);const r=`Editing Cart item - ${t.Variant?t.Variant.Name:null}`;this.updateOrUnitPrice(t.UnitPriceOriginal),this.updateHeaderTitle(r),this.checkPriceBook(),this.getSerialVariant(),this.checkPriceBookDisabled(),this.checkCalculatorPriceDisabled(),this.checkCalculatorQtyDisabled(),this.checkQueryInventory(),this.initIsUnitPriceEditor()}getStockItem(t){this._variantService.getStockByID(t,this.salesOrderData.Order.EntityID).then(e=>{e&&(this.showInventoryItem=!0,this.allocated=e.Allocated,this.onHand=e.OnHand)})}checkPriceBook(){const t=null!=this.cartItem.Variant?this.cartItem.Variant.PriceBook:null,e=this.AppConfigJSON.ModuleSell.Pricebook.PricebookVisible;if(t&&0!==t.length){const i=this.cartItem.Variant.PriceBook.sort(function(r,c){return c.MinimumQuantity-r.MinimumQuantity}).filter(r=>this.cartItem.Quantity>=r.MinimumQuantity);if(i.length>0)0!=i[0].MinimumQuantity&&(this.pricebookId=i[0].ID,this.cartItem.Discount=i[0].PriceDiscount,this.cartItem.PriceNote=i[0].Name,this.cartItem.UnitPrice=i[0].UnitPrice,this.cartItem.Price=i[0].UnitPrice,this.cartItem.PriceBookID=i[0].ID,e&&(this.cartItem.Note=i[0].Name),this.cartItem.UnitPriceOriginal=this.oriUnitPrice);else{const r=this.cartItem.Discount,c=this.cartItem.UnitPrice,l=this.cartItem.Price;this.pricebookId=null,this.cartItem.PriceNote="",this.cartItem.Note="",this.cartItem.Discount=this.oriDiscount?this.oriDiscount:r,this.cartItem.UnitPrice=this.oriUnitPrice?this.oriUnitPrice:c,this.cartItem.Price=this.oriUnitPrice?this.oriUnitPrice:l,this.cartItem.PriceBookID=null}}}onCalculatorQty(t){this.updateItemQuantity(t)}onCalculatorPrice(t){this.cartItem.Price=parseFloat(t)}onCalculatorUnitQty(t){this.cartItem.UnitQuantity=parseFloat(t)}resizeCloudinaryImage(t){return t&&(t=t.replace("w_80","w_150")),t}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete()}}return o.\u0275fac=function(t){return new(t||o)(n.Y36(P.so),n.Y36(P.WI),n.Y36(hn),n.Y36(F),n.Y36(D),n.Y36(R),n.Y36(S),n.Y36(ft),n.Y36(A._W),n.Y36(_.JJ),n.Y36(P.uw),n.Y36(pt.u),n.Y36(en),n.Y36(nn.q))},o.\u0275cmp=n.Xpm({type:o,selectors:[["POS-modal-item"]],viewQuery:function(t,e){if(1&t&&(n.Gf(Ti,5),n.Gf(ki,5),n.Gf(Ii,5)),2&t){let i;n.iGM(i=n.CRH())&&(e._quantityElement=i.first),n.iGM(i=n.CRH())&&(e._priceElement=i.first),n.iGM(i=n.CRH())&&(e._discountElement=i.first)}},features:[n.qOj],decls:11,vars:8,consts:[[3,"config","onOk","onCancel","onClose"],[1,"mb-5"],[1,"container",2,"width","650px"],[1,"row","border-bottom"],["data-cy","input_sell",1,"btn","btn-link",3,"ngClass","click"],["class","btn btn-link","data-cy","product",3,"ngClass","click",4,"ngIf"],[1,"mt-8"],[4,"ngIf"],["data-cy","product",1,"btn","btn-link",3,"ngClass","click"],["class","row form-group",4,"ngIf"],[1,"row","form-group",3,"hidden"],[1,"col-sm-12","d-flex","justify-content-between"],["class","font-weight-bold d-block",4,"ngIf"],["class","mx-3",4,"ngIf"],[1,"col","tinymce"],["apiKey","zc58cdrrftek5r5igtmjiar7ed4n3wr00hzd4w4mvtx8mpxa","placeholder","Note",1,"form-control","p-0","border-0",3,"init","ngModel","ngModelChange"],[1,"col"],["class","d-flex",4,"ngIf"],[1,"row","form-group"],["inputID","product","requestUrl","/API/AC/GetVariantSuggestionByCodeNName","placeholder","Input product name / code",1,"form-control",3,"localStorage","inputTextValue","clearOnSelect","onSelect","onInputEnter"],["variant",""],[1,"col-auto","mb-4","pr-0",2,"width","82px"],["id","txtCartQuantity","keyboardType","number","type","text","autoNum","",1,"form-control","input-numpad",3,"simpleKeyboard","preventNegative","ngModel","readOnly","ngModelChange"],["quantity",""],["class","col-auto pr-0","style","width: 82px",4,"ngIf"],[1,"col-auto","pr-0",2,"width","112px",3,"hidden"],["id","inputPrice","keyboardType","number","type","text","autoNum","",1,"form-control",3,"simpleKeyboard","readonly","ngModel","ngModelChange"],["price",""],[1,"col-auto","pr-0",2,"width","90px"],["id","inputDiscount","keyboardType","number","type","text","autoNum","","percentage","","decimalPlaces","2",1,"form-control",3,"simpleKeyboard","ngModel","readonly","ngModelChange"],["discount",""],["class","col-auto pr-0","style","width: 130px",4,"ngIf"],["class","col-auto pr-0","style","width: 220px",4,"ngIf"],[1,"col-auto","pr-0",2,"width","82px"],["type","text","autoNum","",1,"form-control","input-numpad",3,"preventNegative","readOnly","ngModel","ngModelChange"],[1,"col-auto","pr-0",2,"width","130px"],["id","inputDiscAmount","keyboardType","number","type","text","autoNum","","preventNegative","",1,"form-control",3,"simpleKeyboard","ngModel","readonly","ngModelChange"],[4,"ngFor","ngForOf"],[1,"col-auto","pr-0",2,"width","220px"],["bindLabel","Name","bindValue","ID","placeholder","Sales Person",2,"width","200px",3,"items","ngModel","ngModelChange"],["bindLabel","Name","bindValue","ID","placeholder","Delivery Outlet",2,"width","200px",3,"items","ngModel","ngModelChange"],["bindLabel","Name","bindValue","ID","placeholder","Pricebook",2,"width","200px",3,"items","ngModel","disabled","ngModelChange"],[1,"font-weight-bold","d-block"],[1,"mx-3"],[1,"keyboard-serial","ml-auto",2,"cursor","pointer",3,"click"],[1,"fas","fa-undo","mr-2"],[1,"col-auto","ml-4","pr-0",2,"width","82px"],["type","text","autoNum","",1,"form-control","input-numpad",3,"ngModel","ngModelChange"],[1,"d-flex"],["bindLabel","Serial","bindValue","Serial","placeholder","Insert Serial",2,"width","490px","position","fixed","z-index","100",3,"items","ngModel","multiple","disabled","ngModelChange"],[1,"keyboard-serial","ml-auto",3,"click"],[1,"fas","fa-keyboard","fa-2x"],[3,"ngModel","ngModelChange","onAdd",4,"ngIf"],["style","width: 490px; position: fixed; z-index: 100","bindLabel","Serial","bindValue","Serial","placeholder","Insert Serial",3,"items","ngModel","multiple","ngModelChange",4,"ngIf"],[1,"fas","fa-keyboard","fa-2x","pl-5"],[3,"ngModel","ngModelChange","onAdd"],["bindLabel","Serial","bindValue","Serial","placeholder","Insert Serial",2,"width","490px","position","fixed","z-index","100",3,"items","ngModel","multiple","ngModelChange"],[1,"row"],[1,"col-4","d-flex","justify-content-center","flex-column","align-items-center","text-muted"],["target","_blank",2,"color","inherit",3,"routerLink","queryParams"],[4,"ngIf","ngIfElse"],["SHOW_IMAGE",""],[1,"col-8"],[1,"row","mb-8"],[1,"col-12"],["aria-hidden","true",1,"fa-archive","fas","fa-1x","pt-3","pr-2"],[2,"font-size","15px","font-family","Roboto Slab"],[1,"table","table-bordered","border-light-gray","text-center"],[1,"table-light"],["QUESTIONICON",""],[1,"table","table-bordered","border-light-gray",2,"width","171px"],[1,"pr-4","text-right"],["aria-hidden","true",1,"fa","fa-picture-o","fa-5x"],[1,"border","rounded",3,"src"],[2,"cursor","pointer",3,"hidden","click"],[1,"fas","fa-question-circle","mt-1"],[1,"table-light",2,"width","70px"],[1,"p-0"],["type","text","autoNum","",1,"form-control","border-0","bg-white","text-right",3,"ngModel","readonly","ngModelChange"],["ngClass","ml-3"],[3,"qtyDisabled","priceDisabled","appConfigJSON","top","priceChange","qtyChange","otherChange"]],template:function(t,e){1&t&&(n.TgZ(0,"modal-material",0),n.NdJ("onOk",function(r){return e.onOk(r)})("onCancel",function(){return e.onCancel()})("onClose",function(){return e.onCancel()}),n.TgZ(1,"content",1),n.TgZ(2,"div",2),n.TgZ(3,"div",3),n.TgZ(4,"a",4),n.NdJ("click",function(){return e.onTabChange(e.modalItemState.SELL_INPUT)}),n._uU(5," Cart "),n.qZA(),n.YNc(6,Ai,2,3,"a",5),n.qZA(),n.TgZ(7,"div",6),n.YNc(8,nr,17,15,"ng-container",7),n.YNc(9,pr,42,18,"ng-container",7),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.YNc(10,gr,2,4,"ng-container",7)),2&t&&(n.Q6J("config",e.modalConfig),n.xp6(4),n.Q6J("ngClass",n.VKq(6,Ht,e.modalItemState.SELL_INPUT==e.currentState)),n.xp6(2),n.Q6J("ngIf",null==e.cartItem||null==e.cartItem.Variant?null:e.cartItem.Variant.Name),n.xp6(2),n.Q6J("ngIf",e.modalItemState.SELL_INPUT==e.currentState),n.xp6(1),n.Q6J("ngIf",e.modalItemState.PRODUCT==e.currentState),n.xp6(1),n.Q6J("ngIf",e.calculatorEnabled))},directives:[y.M,_.mk,_.O5,Ft.PG,h.JJ,h.On,Cn.J,h.Fj,cn.b,Lt.V,_.sg,X.w9,H.yS,Si],pipes:[_.JJ],styles:['.tinymce[_ngcontent-%COMP%] a[_ngcontent-%COMP%] img[_ngcontent-%COMP%] {\n z-index: 2;\n position: absolute;\n right: 15px;\n bottom: 19px;\n}\n.tinymce[_ngcontent-%COMP%] editor[_ngcontent-%COMP%] {\n height: max-content;\n z-index: 1;\n}\n.more[_ngcontent-%COMP%] {\n position: absolute;\n top: 0px;\n left: 30px;\n}\n.unit-qty[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n width: 100px;\n}\np-chips[_ngcontent-%COMP%] {\n width: 100%;\n}\np-chips[_ngcontent-%COMP%] ul.ui-inputtext {\n width: 100%;\n}\np-chips[_ngcontent-%COMP%] ul.ui-inputtext li input.undefined {\n border: none;\n}\n.table[_ngcontent-%COMP%] th[_ngcontent-%COMP%], .table[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n line-height: 6px !important;\n}\n.btn-link[_ngcontent-%COMP%] {\n padding-top: 0px;\n color: #868686;\n padding-bottom: 8px;\n border-radius: unset;\n font-family: "Roboto Slab", serif;\n}\n.btn-link.selected[_ngcontent-%COMP%] {\n color: #3B3B3B;\n border-bottom: 4px solid #07a519;\n}']}),o})(),Vt=(()=>{class o{constructor(t,e,i,r){this._cartService=t,this._posService=e,this._orderDataService=i,this._matDialog=r,this._quickKeySubject=new j.X(new xi.AM),this.quickKey$=this._quickKeySubject.asObservable(),this._orderDataService.Data$.subscribe(c=>{this.Items=c.CartItems})}get _appConfigJSON(){return this._posService.Data.AppConfigJSON}addQuickKeyItem(t){this._cartService.addCartItemById(t).then(()=>{this._appConfigJSON.ModuleSell.ProductDialog.OpenOnNewItemAdded&&this._matDialog.open(jn,{data:{index:this.Items.length-1}})}).catch(e=>{window.alert(e)})}}return o.\u0275fac=function(t){return new(t||o)(n.LFG(hn),n.LFG(D),n.LFG(S),n.LFG(P.uw))},o.\u0275prov=n.Yz7({token:o,factory:o.\u0275fac,providedIn:"root"}),o})();function ur(o,a){if(1&o&&n._UZ(0,"img",17),2&o){const t=n.oxw().$implicit;n.Q6J("src",t.ImageURLClient.indexOf("cloudinary")>-1?"https:"+t.ImageURLClient:t.ImageURLClient,n.LSH)}}function _r(o,a){if(1&o&&(n.TgZ(0,"p"),n._uU(1),n.ALo(2,"slice"),n.qZA()),2&o){const t=n.oxw().$implicit;n.xp6(1),n.Oqu(n.Dn7(2,1,t.Display,0,3))}}function hr(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",13),n.TgZ(1,"a",14),n.NdJ("click",function(){const r=n.CHM(t).$implicit;return n.oxw(3).select(r)}),n.YNc(2,ur,1,1,"img",15),n.YNc(3,_r,3,5,"p",16),n.TgZ(4,"small"),n._uU(5),n.ALo(6,"slice"),n.qZA(),n.qZA(),n.qZA()}if(2&o){const t=a.$implicit;n.xp6(2),n.Q6J("ngIf",t.ImageURLClient),n.xp6(1),n.Q6J("ngIf",!t.ImageURLClient),n.xp6(2),n.Oqu(n.Dn7(6,3,t.Display,0,36))}}const Bt=function(){return["/menu/Outlets/Master/Quick_Key_Templates/Form"]},mr=function(o){return{ID:o}};function fr(o,a){if(1&o&&(n.TgZ(0,"mat-tab",6),n.TgZ(1,"div",7),n.TgZ(2,"div",8),n.YNc(3,hr,7,7,"div",9),n.TgZ(4,"div",10),n.TgZ(5,"a",11),n._UZ(6,"i",12),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.qZA()),2&o){const t=a.$implicit,e=n.oxw(2);n.Q6J("label",t.Name),n.xp6(3),n.Q6J("ngForOf",t.Items),n.xp6(2),n.Q6J("routerLink",n.DdM(4,Bt))("queryParams",n.VKq(5,mr,e.quickKey.ID))}}function Cr(o,a){if(1&o&&(n.TgZ(0,"mat-tab-group",4),n.YNc(1,fr,7,7,"mat-tab",5),n.qZA()),2&o){const t=n.oxw();n.Q6J("disableRipple",!0)("hidden",t.subQuickKey),n.xp6(1),n.Q6J("ngForOf",t.quickKey.Groups)}}function Pr(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",13),n.TgZ(1,"a",14),n.NdJ("click",function(){const r=n.CHM(t).$implicit;return n.oxw(2).selectChild(r.ID)}),n.TgZ(2,"p"),n._uU(3),n.ALo(4,"limitTo"),n.qZA(),n.TgZ(5,"small"),n._uU(6),n.ALo(7,"limitTo"),n.qZA(),n.qZA(),n.qZA()}if(2&o){const t=a.$implicit;n.xp6(3),n.Oqu(n.xi3(4,2,t.Model,3)),n.xp6(3),n.Oqu(n.xi3(7,5,t.Model,30))}}function Or(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",18),n.TgZ(1,"div",19),n.NdJ("click",function(){return n.CHM(t),n.oxw().back()}),n.TgZ(2,"div",20),n._UZ(3,"i",21),n.qZA(),n.TgZ(4,"div",22),n.TgZ(5,"b"),n._uU(6),n.qZA(),n.qZA(),n.qZA(),n.TgZ(7,"div",23),n.YNc(8,Pr,8,8,"div",9),n.qZA(),n.qZA()}if(2&o){const t=n.oxw();n.xp6(6),n.hij(" ",t.subQuickKey.Name," "),n.xp6(2),n.Q6J("ngForOf",t.subQuickKey.Items)}}const Mr=function(o){return{EntityID:o}};function br(o,a){if(1&o&&(n.TgZ(0,"a",24),n.TgZ(1,"strong"),n._uU(2,"QUICK KEYS UNCONFIGURED"),n.qZA(),n._UZ(3,"i",25),n.TgZ(4,"span"),n._uU(5,"Click here to setup your Quick keys"),n.qZA(),n.qZA()),2&o){const t=n.oxw();n.Q6J("routerLink",n.DdM(2,Bt))("queryParams",n.VKq(3,Mr,t.entityID))}}let xr=(()=>{class o{constructor(t,e){this._quickKeyService=t,this._outletRegisterService=e,this.destroy$=new N.xQ}ngOnInit(){this.subscribeToObservableChanges()}subscribeToObservableChanges(){this._outletRegisterService.Data$.pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.entityID=t.EntityID,this.setQuickey(t.QuickKeyPack)})}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete()}setQuickey(t){if(t){let e;t.Groups&&0!==t.Groups.length&&(e=t.Groups),this.quickKey=e?t:null}}addQuickKeyItem(t){this._quickKeyService.addQuickKeyItem(t)}selectChild(t){this.addQuickKeyItem(t),this.back(),this.openNextProduct(this.NextProductID)}select(t){this.NextProductID=t.NextProductID,!t.Children||t.Children.length<1?this.selectChild(t.ItemID):1==t.Children.length?this.selectChild(t.Children[0].ID):this.subQuickKey={Items:t.Children,Name:t.Display}}openNextProduct(t){g.gT.IsNotEmpty(t)&&this.data.Groups.forEach(e=>{const i=e.Items.find(r=>r.ProductID==t);null!=i&&i.Children.length>1&&(this.NextProductID=i.NextProductID,this.subQuickKey={Items:i.Children,Name:i.Display})})}back(){delete this.subQuickKey}}return o.\u0275fac=function(t){return new(t||o)(n.Y36(Vt),n.Y36(F))},o.\u0275cmp=n.Xpm({type:o,selectors:[["pos-quick-key"]],inputs:{data:"data"},decls:5,vars:4,consts:[[1,"quickKeys",3,"ngClass"],["animationDuration","0ms","class","quickKeyTabs",3,"disableRipple","hidden",4,"ngIf","ngIfElse"],["class","container",4,"ngIf"],["noQuickKey",""],["animationDuration","0ms",1,"quickKeyTabs",3,"disableRipple","hidden"],[3,"label",4,"ngFor","ngForOf"],[3,"label"],[1,"container","tabItems"],[1,"row","no-gutters"],["class","col-3 column",4,"ngFor","ngForOf"],[1,"col-3","column","add"],[3,"routerLink","queryParams"],["aria-hidden","true",1,"fa","fa-plus-circle","fa-5x","d-flex","align-items-center","justify-content-center","bg-white","h-100","text-primary"],[1,"col-3","column"],[3,"click"],[3,"src",4,"ngIf"],[4,"ngIf"],[3,"src"],[1,"container"],[1,"row","no-gutters","border","align-items-center","variants-header","cursor",3,"click"],[1,"col-auto","border-right","py-5","px-7"],["aria-hidden","true",1,"fa","fa-arrow-left"],[1,"col","text-center","font-weight-bold","text-uppercase","h5"],[1,"tabItems","row","no-gutters"],["id","LinkConfigureQuickkey","target","_blank",3,"routerLink","queryParams"],["aria-hidden","true",1,"far","fa-hand-pointer"]],template:function(t,e){if(1&t&&(n.TgZ(0,"section",0),n.YNc(1,Cr,2,3,"mat-tab-group",1),n.YNc(2,Or,9,2,"div",2),n.YNc(3,br,6,5,"ng-template",null,3,n.W1O),n.qZA()),2&t){const i=n.MAs(4);n.Q6J("ngClass",e.quickKey?"":"no-quick-key"),n.xp6(1),n.Q6J("ngIf",e.quickKey)("ngIfElse",i),n.xp6(1),n.Q6J("ngIf",e.subQuickKey)}},directives:[_.mk,_.O5,B.SP,_.sg,B.uX,H.yS],pipes:[_.OU,J.OI],styles:['.btn-add[_ngcontent-%COMP%] {\n -webkit-border-radius: 50%;\n -moz-border-radius: 50%;\n padding: 6px 10px;\n cursor: pointer;\n right: -14px;\n top: 5px;\n border: solid 1px #DDDDDD;\n}\n\nsection.quickKeys.no-quick-key[_ngcontent-%COMP%] {\n background-image: url(//res.cloudinary.com/pos/image/upload/POS/Images/Cashier/no-quick-key.png);\n background-repeat: no-repeat;\n height: 544px;\n}\n\n.quickKeys[_ngcontent-%COMP%] {\n \n}\n\n.quickKeys[_ngcontent-%COMP%] .quickKeyTabs[_ngcontent-%COMP%] div.row[_ngcontent-%COMP%] {\n border-bottom: 0px;\n display: flex;\n border-radius: 3px;\n cursor: pointer;\n}\n\n.quickKeys[_ngcontent-%COMP%] .quickKeyTabs[_ngcontent-%COMP%] div.row[_ngcontent-%COMP%] > div.col[_ngcontent-%COMP%] {\n background: #ffffff;\n \n \n \n \n \n \n background: linear-gradient(to bottom, #ffffff 0%, #eeeeee 100%);\n \n filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#ffffff", endColorstr="#eeeeee",GradientType=0 );\n \n height: 44px;\n max-height: 44px;\n overflow: hidden;\n color: #aaa !important;\n font-size: 14px;\n text-decoration: none;\n font-weight: bold;\n outline: none;\n text-transform: uppercase;\n text-align: center;\n min-width: 25%;\n display: flex;\n justify-content: center;\n}\n\n.quickKeys[_ngcontent-%COMP%] .quickKeyTabs[_ngcontent-%COMP%] div.row[_ngcontent-%COMP%] > div.col[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n align-self: center;\n text-align: center;\n}\n\n.quickKeys[_ngcontent-%COMP%] .quickKeyTabs[_ngcontent-%COMP%] div.row[_ngcontent-%COMP%] > div.col[_ngcontent-%COMP%]:last-child {\n border-right: none;\n}\n\n.quickKeys[_ngcontent-%COMP%] .quickKeyTabs[_ngcontent-%COMP%] div.row[_ngcontent-%COMP%] > div.col[_ngcontent-%COMP%]:nth-child(4n) {\n border-right: none;\n}\n\n.quickKeys[_ngcontent-%COMP%] .quickKeyTabs[_ngcontent-%COMP%] div.row[_ngcontent-%COMP%] > div.col[_ngcontent-%COMP%]:first-child {\n border-left: 1px solid #cfcfcf;\n}\n\n.quickKeys[_ngcontent-%COMP%] .quickKeyTabs[_ngcontent-%COMP%] div.row[_ngcontent-%COMP%] > div.col[_ngcontent-%COMP%]:nth-child(-n+4) {\n border-right: 1px solid #cfcfcf;\n border-top: 1px solid #cfcfcf;\n border-bottom: 1px solid #cfcfcf;\n}\n\n.quickKeys[_ngcontent-%COMP%] .quickKeyTabs[_ngcontent-%COMP%] div.row[_ngcontent-%COMP%] > div.col[_ngcontent-%COMP%]:nth-child(4n+1) {\n border-left: 1px solid #cfcfcf;\n border-bottom: 1px solid #cfcfcf;\n border-right: 1px solid #cfcfcf;\n}\n\n.quickKeys[_ngcontent-%COMP%] .quickKeyTabs[_ngcontent-%COMP%] div.row[_ngcontent-%COMP%] > div.col[_ngcontent-%COMP%]:nth-child(4n+2) {\n border-bottom: 1px solid #cfcfcf;\n border-right: 1px solid #cfcfcf;\n}\n\n.quickKeys[_ngcontent-%COMP%] .quickKeyTabs[_ngcontent-%COMP%] div.row[_ngcontent-%COMP%] > div.col[_ngcontent-%COMP%]:nth-child(4n+3) {\n border-bottom: 1px solid #cfcfcf;\n border-right: 1px solid #cfcfcf;\n}\n\n.quickKeys[_ngcontent-%COMP%] .quickKeyTabs[_ngcontent-%COMP%] div.row[_ngcontent-%COMP%] > div.col[_ngcontent-%COMP%]:nth-child(4n+4) {\n border-bottom: 1px solid #cfcfcf;\n border-right: 1px solid #cfcfcf;\n}\n\n.quickKeys[_ngcontent-%COMP%] .quickKeyTabs[_ngcontent-%COMP%] div.row[_ngcontent-%COMP%] > div.col[_ngcontent-%COMP%]:nth-child(n+5) {\n width: 25%;\n flex-grow: 0;\n}\n\n.quickKeys[_ngcontent-%COMP%] .quickKeyTabs[_ngcontent-%COMP%] div.row[_ngcontent-%COMP%] > div.col.active[_ngcontent-%COMP%] {\n color: #268ec1 !important;\n}\n\n.quickKeys[_ngcontent-%COMP%] .tabItems[_ngcontent-%COMP%] {\n padding: 0;\n}\n\n.quickKeys[_ngcontent-%COMP%] .tabItems[_ngcontent-%COMP%] .column[_ngcontent-%COMP%] {\n margin-top: 15px;\n margin-bottom: 10px;\n word-break: break-all;\n}\n\n.quickKeys[_ngcontent-%COMP%] .tabItems[_ngcontent-%COMP%] .column[_ngcontent-%COMP%] > div[_ngcontent-%COMP%] {\n border: solid 1px #cfcfcf;\n}\n\n.quickKeys[_ngcontent-%COMP%] .tabItems[_ngcontent-%COMP%] .column[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] {\n text-align: center;\n display: block;\n cursor: pointer;\n}\n\n.quickKeys[_ngcontent-%COMP%] .tabItems[_ngcontent-%COMP%] .column[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] img[_ngcontent-%COMP%] {\n height: 80px;\n width: 80px;\n display: block;\n margin: 0 auto;\n border-top-left-radius: 5px;\n border-bottom-right-radius: 5px;\n border: solid 1px #DDDDDD;\n}\n\n.quickKeys[_ngcontent-%COMP%] .tabItems[_ngcontent-%COMP%] .column[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n height: 80px;\n width: 80px;\n font-size: 20px;\n display: block;\n margin: 0 auto;\n padding-top: 22px;\n background-color: #a6a6a6;\n border: solid 1px #999999;\n border-top-left-radius: 5px;\n border-bottom-right-radius: 5px;\n color: white;\n}\n\n.quickKeys[_ngcontent-%COMP%] .tabItems[_ngcontent-%COMP%] .column[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] small[_ngcontent-%COMP%] {\n color: black;\n font-size: 11px;\n display: block;\n margin: 5px 0 0 0;\n}\n\n.quickKeys[_ngcontent-%COMP%] .tabItems[_ngcontent-%COMP%] .column[_ngcontent-%COMP%] .ion-icon[_ngcontent-%COMP%] {\n font-size: 75px;\n margin: 10px;\n}\n\n.quickKeys[_ngcontent-%COMP%] .variants-header[_ngcontent-%COMP%] {\n background: #ffffff;\n \n \n \n \n \n \n background: linear-gradient(to bottom, #ffffff 0%, #eeeeee 100%);\n \n filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#ffffff", endColorstr="#eeeeee",GradientType=0 );\n \n color: #268ec1;\n cursor: pointer;\n}\n\n.quickKeys[_ngcontent-%COMP%] .col-md-3.column.add[_ngcontent-%COMP%] {\n cursor: pointer;\n}\n\n.quickKeys[_ngcontent-%COMP%] .col-md-3.column.add[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n margin-top: 10px;\n}\n\n.quickKeys[_ngcontent-%COMP%] i.icon-col.fa.fa-times.text-danger[_ngcontent-%COMP%] {\n color: #fb404b !important;\n position: absolute;\n right: 16px;\n top: 5px;\n}\n\n.quickKeys[_ngcontent-%COMP%] a#LinkConfigureQuickkey[_ngcontent-%COMP%], .quickKeys[_ngcontent-%COMP%] a#LinkConfigureParkLayout[_ngcontent-%COMP%] {\n background-color: #479ccf;\n padding: 15px 25px;\n color: white;\n text-decoration: none;\n width: 240px;\n display: block;\n opacity: 0.85;\n border-radius: 5px;\n}\n\n.quickKeys[_ngcontent-%COMP%] a#LinkConfigureQuickkey[_ngcontent-%COMP%] {\n position: absolute;\n top: 120px;\n left: 90px;\n}\n\n.quickKeys[_ngcontent-%COMP%] a#LinkConfigureQuickkey[_ngcontent-%COMP%]:hover, .quickKeys[_ngcontent-%COMP%] a#LinkConfigureParkLayout[_ngcontent-%COMP%]:hover {\n opacity: 0.95;\n}\n\n.quickKeys[_ngcontent-%COMP%] a#LinkConfigureQuickkey[_ngcontent-%COMP%] Strong[_ngcontent-%COMP%], .quickKeys[_ngcontent-%COMP%] a#LinkConfigureParkLayout[_ngcontent-%COMP%] Strong[_ngcontent-%COMP%] {\n border-bottom: 1px solid white;\n font-size: 14px;\n margin: 0 0 10px;\n padding: 0 0 3px;\n display: block;\n}\n\n.quickKeys[_ngcontent-%COMP%] a#LinkConfigureQuickkey[_ngcontent-%COMP%] i[_ngcontent-%COMP%], .quickKeys[_ngcontent-%COMP%] a#LinkConfigureParkLayout[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n display: inline-block;\n height: 35px;\n margin: 0 10px 0 0;\n font-size: 28px;\n}\n\n.quickKeys[_ngcontent-%COMP%] a#LinkConfigureQuickkey[_ngcontent-%COMP%] span[_ngcontent-%COMP%], .quickKeys[_ngcontent-%COMP%] a#LinkConfigureParkLayout[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n display: inline-block;\n font-size: 14px;\n width: 135px;\n vertical-align: top;\n}\n\n.quickKeys[_ngcontent-%COMP%] .row.no-gutters.border.align-items-center.variants-header.cursor[_ngcontent-%COMP%] {\n background: linear-gradient(to bottom, #ffffff 0%, #eeeeee 100%);\n}\n\n.general-information[_ngcontent-%COMP%] ol.mt-5.ml-5.pl-7[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] {\n line-height: 20px;\n}\n\ndiv.quickKey[_ngcontent-%COMP%] {\n width: 420px;\n margin-right: 10px;\n}']}),o})(),vr=(()=>{class o{constructor(t,e,i,r,c){this._dialogRef=t,this.toastr=e,this._shoppingCartService=i,this._OrderHttpService=r,this._orderDataService=c,this.modalConfig=new T.O,this.produk=[],this.items=[],this.properties="",this.objek=[],this.flag=!1,this.modalConfig.title="Upload",this.modalConfig.customWidth="284px"}ngOnInit(){this._orderDataService.Data$.subscribe(t=>{this.cart=t.CartItems})}onFileLoad(t){this.csvContent=t.target.result;let i=!1,r=[],c=[],l=0;for(const d of this.csvContent.split(/[\r\n]+/))if(i){let s={};for(let p=0;p<l;p++)s[c[p]]=d.split(",")[p];r.push(s)}else{for(let s=0;s<d.split(",").length;s++)l=d.split(",").length,c.push(d.split(",")[s].replace(/ /g,""));i=!0}this.produk=r.filter(d=>""!=d.Code),localStorage.setItem("uploadcsv",JSON.stringify(this.produk)),this.flag=!0}onFileSelect(t){localStorage.removeItem("uploadcsv");const e=t.files,i=["csv"];if(e&&e.length){const r=t.files[0].name.split(".").pop().toLowerCase();if(i.indexOf(r)>-1){const l=e[0],d=new FileReader;d.onload=this.onFileLoad,d.readAsText(l,"UTF-8")}else this.toastr.error("Invalid File Type","Failed")}}onOk(){const t=localStorage.getItem("uploadcsv"),e=this._orderDataService.Data;this.produk=JSON.parse(t),this.produk&&(this._OrderHttpService.UploadCSV(this.produk,e.Order.EntityID).subscribe(i=>{let r;localStorage.removeItem("uploadcsv");for(const c of i)r=new tn.t,c.Variant.UnitPrice=c.Price,c.Variant.UnitCost=c.Cost,c.Variant.PriceDiscount=c.Discount,r.Quantity=c.Quantity,r.patchByVariant(c.Variant,!0),r.Note=c.Note?c.Note:r.Note,r.DiscountAmount=c.DiscountAmount,this._shoppingCartService.pushNewItemToArray(r)},i=>{localStorage.removeItem("uploadcsv")}),this.close())}close(){this._dialogRef.close()}}return o.\u0275fac=function(t){return new(t||o)(n.Y36(P.so),n.Y36(A._W),n.Y36(hn),n.Y36(z.D),n.Y36(S))},o.\u0275cmp=n.Xpm({type:o,selectors:[["POS-modal-upload"]],decls:14,vars:1,consts:[[3,"config","onOk","onCancel","onClose"],[1,"modal-dialog"],[1,"modal-content","border-0"],["href","https://res.cloudinary.com/pos/raw/upload/v1629353710/POS/CSV/ImportInSell_DealPOS_New.csv",1,"noteBox"],[1,"d-flex","justify-content-between"],["accept",".csv","id","csv","type","file","name","myfile",1,"form-control",3,"change"]],template:function(t,e){1&t&&(n.TgZ(0,"modal-material",0),n.NdJ("onOk",function(){return e.onOk()})("onCancel",function(){return e.close()})("onClose",function(){return e.close()}),n.TgZ(1,"content",1),n.TgZ(2,"div",2),n.TgZ(3,"div"),n.TgZ(4,"a",3),n._uU(5,"Download Sample File"),n.qZA(),n.qZA(),n.TgZ(6,"div",4),n.TgZ(7,"table"),n.TgZ(8,"tbody"),n.TgZ(9,"tr"),n.TgZ(10,"th"),n._uU(11," CSV: "),n.qZA(),n.TgZ(12,"td"),n.TgZ(13,"input",5),n.NdJ("change",function(r){return e.onFileSelect(r.target)}),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.qZA()),2&t&&n.Q6J("config",e.modalConfig)},directives:[y.M],styles:[""]}),o})();function yr(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",10),n.TgZ(1,"a",11),n.NdJ("click",function(){return n.CHM(t),n.oxw().openUploadModal()}),n._UZ(2,"i",12),n.qZA(),n.qZA()}}function Dr(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",10),n.TgZ(1,"a",13),n.NdJ("click",function(){return n.CHM(t),n.oxw().openAddItemModal()}),n._UZ(2,"i",14),n.TgZ(3,"small",15),n._uU(4,"(F4)"),n.qZA(),n.qZA(),n.qZA()}}let Sr=(()=>{class o{constructor(t,e,i,r,c){this._posService=t,this._orderDataService=e,this._cartService=i,this._matDialog=r,this._outletRegisterService=c,this.posData=new $.m,this.isEdit=!1,this.isOnline=!0,this.AppConfigJSON=new ln,this.renderThumbnail=!1,this.destroy$=new N.xQ,this.AppConfigJSON=this._posService.Data.AppConfigJSON,this.renderThumbnail=this.AppConfigJSON.ModuleSell.ProductDialog.ShowThumbnail,this.subscribeToObservable()}handleF4(){this._matDialog.openDialogs&&this._matDialog.openDialogs.length>0||this.openAddItemModal()}ngAfterViewInit(){this.setFocusToAutoComplete()}subscribeToObservable(){this._orderDataService.Data$.pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.posData=t,this.Items=t.CartItems,this.setFocusToAutoComplete()}),this._outletRegisterService.Data$.pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.setFocusToAutoComplete()})}setFocusToAutoComplete(){let t=document.getElementById("product");t&&t.focus()}openUploadModal(){this._matDialog.open(vr)}openAddItemModal(){this._matDialog.open(jn)}addItem(t){this._cartService.addCartItemById(t).then(()=>{this.openModalItemOnNew(t)})}onBarcodeScan(t){g.gT.IsNotEmpty(t)&&this._cartService.addCartItemByCode(t).then(e=>{this.openModalItemOnNew(e.ID)})}openModalItemOnNew(t){if(this.AppConfigJSON.ModuleSell.ProductDialog.OpenOnNewItemAdded){let e=this.Items.find(r=>r.VariantID==t),i=this.Items.lastIndexOf(e);this._matDialog.open(jn,{data:{index:i}})}}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete()}}return o.\u0275fac=function(t){return new(t||o)(n.Y36(D),n.Y36(S),n.Y36(hn),n.Y36(P.uw),n.Y36(F))},o.\u0275cmp=n.Xpm({type:o,selectors:[["pos-cart-header"]],hostBindings:function(t,e){1&t&&n.NdJ("keydown.F4",function(r){return e.handleF4(r)},!1,n.Jf7)},decls:14,vars:10,consts:[[1,"row","cart-header","no-gutters","justify-content-between","align-items-center","p-6"],[1,"col-auto",3,"title"],[1,"fa","fa-shopping-cart","fa-lg","text-success","mr-3"],[1,"col-auto"],[1,"input-group","barcode","barcode-input"],[1,"input-group-prepend"],[1,"input-group-text"],["aria-hidden","true",1,"fa","fa-barcode"],["requestUrl","/API/AC/GetVariantSuggestionByCodeNName","placeholder","Search product by name / code","inputID","product",1,"input-left",3,"clearOnSelect","localStorage","renderThumbnail","onSelect","onInputEnter"],["class","col-auto add-item",4,"ngIf"],[1,"col-auto","add-item"],["title","Upload Item","data-toggle","modal",1,"pointer","d-block","position-relative","cart-add",3,"click"],["aria-hidden","true",1,"fa","fa-upload","fa-2x","text-success"],["title","Add Item (F4)",1,"pointer","d-block","position-relative","cart-add",3,"click"],["aria-hidden","true",1,"fa","fa-plus","fa-2x","text-success"],[1,"position-absolute","font-italic","right-bottom","text-dark"]],template:function(t,e){1&t&&(n.TgZ(0,"div",0),n.TgZ(1,"div",1),n.TgZ(2,"h5"),n._UZ(3,"i",2),n._uU(4),n.ALo(5,"number"),n.qZA(),n.qZA(),n.TgZ(6,"div",3),n.TgZ(7,"div",4),n.TgZ(8,"div",5),n.TgZ(9,"span",6),n._UZ(10,"i",7),n.qZA(),n.qZA(),n.TgZ(11,"autocompleteV2",8),n.NdJ("onSelect",function(r){return e.addItem(r)})("onInputEnter",function(r){return e.onBarcodeScan(r)}),n.qZA(),n.qZA(),n.qZA(),n.YNc(12,yr,3,0,"div",9),n.YNc(13,Dr,5,0,"div",9),n.qZA()),2&t&&(n.xp6(1),n.MGl("title","You have ",e.posData.cartQuantity," items in current sale"),n.xp6(3),n.AsE(" ",e.isEdit?"Update "+(null==e.posData.Order.ParkLabel?"":e.posData.Order.ParkLabel):"Current Sale "," (",n.lcZ(5,8,e.posData.cartQuantity),") "),n.xp6(7),n.Q6J("clearOnSelect",!0)("localStorage","products")("renderThumbnail",e.renderThumbnail),n.xp6(1),n.Q6J("ngIf",e.isOnline),n.xp6(1),n.Q6J("ngIf",e.isOnline))},directives:[Cn.J,_.O5],pipes:[_.JJ],styles:['/*General*/\n@media print {\n .cashier,\npos-quick-key,\npos-header,\npos-toolbar {\n display: none;\n }\n}\n.is-backdate {\n background: repeating-linear-gradient(-60deg, #fcf4a3, #fcf4a3 15px, #fada5e 15px, #fada5e 30px) !important;\n}\n.quickKey {\n margin-right: 10px;\n}\n.cashier ::-webkit-input-placeholder {\n font-style: italic;\n}\n.cashier :-moz-placeholder {\n /* Firefox 18- */\n font-style: italic;\n}\n.cashier ::-moz-placeholder {\n /* Firefox 19+ */\n font-style: italic;\n}\n.cashier :-ms-input-placeholder {\n font-style: italic;\n}\n.cashier div.container-fluid .header {\n border-bottom: 1px solid #dde2eb;\n}\n.cashier div.container-fluid .header .small {\n margin-right: 5px !important;\n}\n.cashier div.container-fluid .header .small .number {\n width: 143px;\n}\n.cashier div.container-fluid .header .small select {\n width: 140px;\n}\n.cashier div.container-fluid .header .small .select2-container {\n font-size: 12px;\n}\n.cashier div.container-fluid .header div {\n margin-right: 22px;\n}\n.cashier div.container-fluid .header div:last-child {\n margin-right: 0;\n}\n.cashier div.container-fluid .header div i {\n font-size: 1.25rem;\n color: #3B3B3B;\n margin-right: 5px;\n line-height: unset !important;\n}\n.cashier div.container-fluid .header div input,\n.cashier div.container-fluid .header div span.outlet {\n padding: 4px 8px 3px 5px;\n border: 1px solid #dddddd;\n font-size: 0.875rem;\n}\n.cashier div.container-fluid .header div .outlet {\n width: 165px;\n color: #337ab7;\n background: #ffffff;\n}\n.cashier div.container-fluid .header div .number {\n width: 150px;\n}\n.cashier div.container-fluid .header div select {\n width: 150px;\n}\n.cashier div.container-fluid div.row.body div.quickKey {\n width: 420px;\n margin-right: 10px;\n}\n.cashier div.container-fluid div.row.body div.cart {\n width: 570px;\n}\n.cashier div.container-fluid div.row.body div.cart div.row.header {\n border: solid 1px #cfcfcf;\n border-bottom: none;\n border-radius: 3px 3px 0 0;\n background: #f2f7fa;\n color: #222222;\n}\n.cashier div.container-fluid div.row.body div.cart div.row.header .right-bottom {\n font-size: 9px;\n right: -6px;\n bottom: -10px;\n}\n.cashier div.container-fluid div.row.body div.cart div.row.cart-table {\n border-left: solid 1px #cfcfcf;\n}\n.cashier div.container-fluid div.row.body div.cart div.row.cart-table div.col {\n overflow: auto;\n height: 250px;\n}\n.cashier div.container-fluid div.row.body div.cart div.row.cart-table div.col table thead tr {\n background: #fbfbf7;\n border-left: none;\n}\n.cashier div.container-fluid div.row.body div.cart div.row.cart-table div.col table thead tr th {\n padding: 9px 5px !important;\n}\n.cashier div.container-fluid div.row.body div.cart div.row.cart-table div.col table tbody tr td {\n padding: 10px 5px;\n border-bottom: 1px solid #cfcfcf;\n}\n.cashier div.container-fluid div.row.body div.cart div.row.cart-table div.col table tbody tr td:first-child {\n padding-right: 0;\n}\n.cashier div.container-fluid div.row.body div.cart div.row.cart-footer {\n border-top: solid 1px #cfcfcf;\n min-height: 85px;\n}\n.cashier div.container-fluid div.row.body div.cart div.row.cart-footer div.summary table th,\n.cashier div.container-fluid div.row.body div.cart div.row.cart-footer div.summary table td {\n border-left: solid 1px #cfcfcf;\n border-bottom: solid 1px #cfcfcf;\n}\n.cashier div.container-fluid div.row.body div.cart div.row.cart-footer div.summary table th {\n padding: 7px 8px;\n}\n.cashier div.container-fluid div.row.body div.cart div.row.cart-footer div.summary table td {\n padding: 7px 5px;\n}\n.cashier div.container-fluid div.row.body div.cart div.row.cart-footer .disc {\n padding-top: 7px;\n padding-bottom: 6px;\n}\n.cashier div.container-fluid div.row.body div.cart div.row.action-buttons .btn {\n font-size: 1.125rem;\n padding: 15px 18px;\n}\n.cashier div.container-fluid div.row.body div.cart div.row.action-buttons .btn-gray {\n margin-right: 10px;\n}\n.cashier div.container-fluid div.row.body div.cart div.row.action-buttons .btn-success {\n width: 200px;\n}\n.cashier div.container-fluid div.row.body div.cart div.row.action-buttons .right-bottom {\n font-size: 0.625rem;\n right: 4px;\n}\n.text-black.btn-success {\n color: #4d4d4d !important;\n}\n.main-panel nav.fixed-top.offline,\n.full_screen div.container-fluid > div.row.header.offline {\n background: repeating-linear-gradient(-60deg, #f8d7da, #f8d7da 15px, #f5c6cb 15px, #f5c6cb 30px) !important;\n}\n.barcode-input {\n width: 305px;\n}\n.barcode-input > input {\n height: 28px;\n}\n.barcode-input autocomplete {\n width: 267px;\n}\n.barcode-input autocompleteV2 {\n width: 267px;\n}\n.input-group-text-retrieve {\n padding: 9px 0.75rem !important;\n}\n.font-12 {\n font-size: 12px;\n}\n.btn-gray {\n background-color: #f4f4f4;\n border: 1px solid #d6d6d6;\n font-weight: bold;\n color: #545454 !important;\n background: linear-gradient(to bottom, #ffffff 0%, #eeeeee 100%);\n}\n.btn-gray-more {\n background-color: #f4f4f4;\n border: 1px solid #d6d6d6;\n background: linear-gradient(to bottom, #ffffff 0%, #eeeeee 100%);\n}\n.cash-btn {\n background-color: #f4f4f4;\n border: 1px solid #d6d6d6;\n font-weight: bold;\n margin: 0 0 0 10px;\n padding: 7px 15px;\n height: 18px;\n box-sizing: content-box;\n background: linear-gradient(to bottom, #ffffff 0%, #eeeeee 100%);\n}\n.calc-tbl th {\n padding: 7px 15px 7px 10px;\n border: 1px solid #ddd;\n border-top: none;\n background-color: #eeeeee;\n}\n.dropdown-menu .disabled {\n display: none !important;\n}\n.calc-tbl td {\n width: 100px;\n text-align: right;\n padding: 7px 5px;\n}\nsection.complete h4 {\n color: #3b5998;\n margin: 20px 0px;\n}\nsection.complete h4 a {\n font-size: 0.75rem;\n color: #868686;\n}\nsection.complete .complete-action .btn {\n text-align: center;\n height: 150px;\n width: 190px;\n font-family: "Roboto Slab", serif;\n display: flex;\n flex-direction: column !important;\n padding: 0px;\n color: #666666;\n margin-right: 10px;\n}\nsection.complete .complete-action .btn i {\n display: block;\n font-size: 50px;\n margin-top: 20px;\n}\nsection.complete .complete-action .btn h4 {\n margin: 0px;\n margin-top: 10px;\n color: #666666;\n}\nsection.complete .complete-action .btn:first-child h4 {\n color: #3B3B3B;\n}\nsection.complete .complete-action .btn p {\n font-size: 0.625rem;\n font-style: italic;\n padding: 10px;\n box-sizing: border-box;\n color: #868686;\n border-top: 1px solid #dddddd;\n font-weight: normal;\n margin: 0px;\n}\n.complete-more-action {\n margin-top: 10px;\n}\n/*modal*/\n.modal-body h4 {\n font-weight: 400;\n}\n.modal-body .actions-tabs {\n position: absolute;\n left: 230px;\n top: 15px;\n}\n.modal-header i {\n font-size: 12px;\n font-style: normal;\n}\n.modal-header a i {\n font-size: 14px !important;\n}\n.dialogButtonOption .modal-body .btn {\n padding: 25px 0px;\n width: 190px;\n margin-right: 10px;\n}\n.dialogButtonOption .modal-body .btn h4 {\n font-weight: 700;\n text-transform: uppercase;\n}\n.dialogButtonOption .modal-body .btn span {\n font-size: 0.75rem;\n font-style: italic;\n color: #868686;\n margin-top: 10px;\n}\n.currency {\n top: 13px;\n left: 30px;\n}\n.paymentNote::before {\n z-index: 10;\n content: "";\n position: absolute;\n top: 0;\n left: calc(50% - 10px);\n height: 100%;\n width: 10px;\n background-color: inherit;\n border-right: 1px solid lightgray;\n transform: skewX(-10deg);\n}\n#dialogPayment .col-auto,\n#dialogSubmitOrder .col-auto {\n padding: 0 4px;\n}\n#dialogPayment .col-auto,\n#dialogSubmitOrder .col-auto {\n padding: 0 4px;\n}\n#dialogPayment .col-4,\n#dialogSubmitOrder .col-4 {\n width: 125px !important;\n padding: 0 4px;\n}\n#dialogPayment .col-8,\n#dialogSubmitOrder .col-8 {\n width: 250px !important;\n padding: 0 4px;\n}\n#dialogPayment .btn-link,\n#dialogSubmitOrder .btn-link {\n padding-top: 0px;\n color: #868686;\n padding-bottom: 8px;\n border-radius: unset;\n font-family: "Roboto Slab", serif;\n}\n#dialogPayment .btn-link.selected,\n#dialogSubmitOrder .btn-link.selected {\n color: #3B3B3B;\n border-bottom: 4px solid #07a519;\n}\n#dialogPayment .change,\n#dialogSubmitOrder .change {\n position: absolute;\n top: 1px;\n height: 40px;\n background: #89b03e;\n color: #fff;\n right: 16px;\n padding: 0 10px;\n line-height: 40px;\n font-size: 16px;\n}\n#dialogPayment .change:before,\n#dialogSubmitOrder .change:before {\n content: "\\a";\n border-style: solid;\n border-width: 40px 24px 0 0;\n border-color: transparent #89b03e transparent transparent;\n position: absolute;\n left: -24px;\n}\n#dialogPayment .change.danger,\n#dialogSubmitOrder .change.danger {\n background: #c9302c;\n}\n#dialogPayment .change.danger:before,\n#dialogSubmitOrder .change.danger:before {\n border-color: transparent #c9302c transparent transparent;\n}\n/*ovo payment*/\n.phone div {\n height: 50px;\n width: 50px;\n padding-top: 11px;\n background-color: #f5f5f5;\n border: 1px solid gray !important;\n}\n.phone input {\n padding-left: 65px !important;\n border: 1px solid gray !important;\n font-size: 25px;\n height: 50px;\n}\n.phone .form-control:focus {\n border-color: #8bb8df !important;\n}\n.back-button {\n left: -18px;\n top: -74px;\n}\n.back-button i {\n color: white;\n}\n.back-button-gopay {\n left: -18px;\n top: -50px;\n}\n.back-button-gopay i {\n color: white;\n}\n.logo-gopay {\n margin-top: -16px;\n}\n#dialogSubmitOrder .btn-link {\n padding-top: 0px;\n color: #868686;\n padding-bottom: 8px;\n border-radius: unset;\n font-family: "Roboto Slab", serif;\n}\n#dialogSubmitOrder .btn-link.selected {\n color: #3B3B3B;\n border-bottom: 4px solid #07a519;\n}\n#dialogSubmitOrder .btn-info {\n font-size: 0.75rem;\n margin-right: 10px;\n padding: 10px;\n margin-bottom: 10px;\n float: left;\n}\n#dialogSubmitOrder .input-label {\n position: relative;\n}\n#dialogSubmitOrder .input-label span {\n position: absolute;\n font-size: 0.875rem;\n color: #868686;\n top: 26px;\n left: 20px;\n}\n#dialogSubmitOrder .input-label input {\n margin: 0;\n margin-bottom: 8px;\n border: 1px solid #dddddd;\n padding: 7px 5px;\n width: 100%;\n font-size: 36px;\n border-radius: 3px;\n text-align: right;\n background-color: #ffffff;\n outline: none;\n}\n#dialogSubmitOrder .pay-info input {\n border-bottom: 2px solid #07a519 !important;\n font-size: 0.875rem;\n border: none !important;\n border-bottom: 2px solid #07a519 !important;\n outline: none;\n}\n#dialogSubmitOrder .change {\n background-color: #cccccc;\n border: 1px solid #dddddd;\n width: 149px;\n padding: 5px 10px 5px 0;\n text-align: right;\n font-size: 1.25rem;\n font-weight: bold;\n float: right;\n}\n.rad-btn {\n position: relative;\n display: inline-block;\n}\n.rad-btn label {\n border: 1px solid #dddddd;\n border-radius: 3px;\n margin-right: 10px;\n cursor: pointer;\n padding: 10px;\n margin-bottom: 10px;\n color: black;\n}\n.rad-btn input[type=radio] {\n visibility: hidden;\n position: absolute;\n left: 0;\n top: 0;\n}\n.rad-btn input[type=radio]:checked + label {\n background: #dfeffc;\n border: 1px solid #dfeffc;\n}\n.modal-dialog .noteBox {\n background-color: #ffffe1;\n border: 1px solid #cacaca;\n padding: 3px;\n display: block;\n outline: 0;\n margin-bottom: 5px;\n font-size: 11px;\n text-decoration: none;\n}\n/*park action*/\n.fullscreen {\n position: fixed;\n bottom: 0px;\n right: 0px;\n padding: 10px;\n background-color: #bbbbbb;\n cursor: pointer;\n}\n.fullscreen i {\n font-size: 34px;\n color: white;\n}\n.pos-status {\n position: fixed;\n right: 10px;\n top: 10px;\n list-style: none;\n padding: 0px;\n margin: 0px;\n z-index: 1031;\n display: flex;\n align-items: center !important;\n}\n.pos-status li {\n cursor: pointer;\n margin-right: 10px;\n}\n.pos-status li .btn {\n padding: 8px 10px;\n color: #868686;\n}\n.pos-status li i {\n font-size: 26px;\n}\n.pos-status li:first-child i {\n font-size: 16px;\n}\n.full_screen .pos-status {\n left: 10px;\n bottom: 10px;\n top: auto;\n right: auto;\n}\n.full_screen .park-action {\n left: 0px;\n right: auto !important;\n padding: 0px;\n}\n.full_screen nav,\n.full_screen .sidebar {\n display: none !important;\n}\n.full_screen section.cashier > div.container-fluid {\n padding: 0 !important;\n}\n.full_screen section.cashier > div.container-fluid > div.row.header,\n.full_screen section.cashier > div.container-fluid > div.row.body {\n justify-content: center;\n}\n.full_screen .main-panel {\n left: 0px;\n right: 0px;\n top: 0px;\n bottom: 0px;\n width: 100%;\n padding: 0px;\n}\n.full_screen #divSideMenu {\n display: none;\n}\n#dialogItem textarea {\n border-top: none;\n border-right: none;\n}\ndiv#dialogDiscount .txtPcg {\n width: 30px;\n}\n#radOnline + label,\n#radOffline + label {\n height: 150px;\n width: 200px;\n white-space: normal;\n margin: 20px 0px 20px 10px;\n padding-top: 12px;\n border: 1px solid #dddddd;\n}\n#radOnline + label h4,\n#radOffline + label h4 {\n margin: 5px;\n}\n#radOnline + label i,\n#radOffline + label i {\n font-size: 30px;\n}\nul.dialogPicker li a strong {\n height: 30px;\n border-radius: 4px;\n padding: 5px 10px;\n color: #ffffff;\n background: #b1aaaa;\n}\nul.dialogPicker > li > a:hover,\nul.dialogPicker > li > a.active {\n background: #fffed9;\n border: 1px solid #88ae3d;\n}\nul.dialogPicker > li > a:hover > strong,\nul.dialogPicker > li > a.active > strong {\n background: #88ae3d;\n}\n#radOnline:checked + label {\n color: #ffffff;\n background-color: #89b03e;\n}\n#radOffline:checked + label {\n color: #ffffff;\n background-color: #c9302c;\n}\n.fa-wifi-off {\n background-image: url("//res.cloudinary.com/pos/image/upload/v1535431932/POS/Images/Icon/wifi-off.svg");\n height: 30px;\n width: 30px;\n background-size: 30px;\n background-repeat: no-repeat;\n}\n#radOffline:checked + label .fa-wifi-off {\n background-image: url("//res.cloudinary.com/pos/image/upload/POS/Images/Icon/wifi-off-white.svg");\n}\n.fa-coupon {\n background-position-y: center;\n background-image: url("//res.cloudinary.com/pos/image/upload/POS/Images/Icon/coupon.svg");\n height: 26px;\n width: 26px;\n background-size: 26px;\n background-repeat: no-repeat;\n}\n.fa-retur {\n background-position-y: center;\n background-image: url("//res.cloudinary.com/pos/image/upload/POS/Images/Icon/return.svg");\n height: 26px;\n width: 26px;\n background-size: 26px;\n background-repeat: no-repeat;\n}\n/*Dialog picker*/\nul.dialogPicker {\n list-style: none;\n margin: 0px;\n padding: 0px;\n display: flex;\n flex-wrap: wrap !important;\n}\nul.dialogPicker li {\n width: 180px;\n min-height: 95px;\n margin-right: 17px;\n margin-bottom: 17px;\n position: relative;\n}\nul.dialogPicker li > a {\n display: block;\n outline: 0;\n border: 1px solid #b1aaaa;\n border-radius: 5px;\n cursor: pointer;\n}\nul.dialogPicker li > a h6 {\n height: 30px;\n border-radius: 4px;\n padding: 5px 10px;\n color: #ffffff;\n background: #b1aaaa;\n overflow: hidden;\n}\nul.dialogPicker li > a h6 i {\n margin-right: 5px;\n}\nul.dialogPicker li > a:hover, ul.dialogPicker li > a.active, ul.dialogPicker li > a.vacant {\n background: #ffffe1;\n border: 1px solid #89b03e;\n}\nul.dialogPicker li > a:hover > h6, ul.dialogPicker li > a.active > h6, ul.dialogPicker li > a.vacant > h6 {\n background: #89b03e;\n}\nul.dialogPicker li > a.occupied, ul.dialogPicker li > a.occupied:hover {\n border: 1px solid #c9302c;\n}\nul.dialogPicker li > a.occupied > h6, ul.dialogPicker li > a.occupied:hover > h6 {\n background: #c9302c !important;\n}\nul.dialogPicker li > a.occupied span.alias {\n background: #c9302c;\n}\nul.dialogPicker li > a.occupied:hover {\n background: white;\n}\nul.dialogPicker li > a.preparing {\n border: 1px solid #f6a828;\n}\nul.dialogPicker li > a.preparing > h6 {\n background: #f6a828 !important;\n}\nul.dialogPicker li > a.preparing:hover {\n border: 1px solid #f6a828;\n background: white;\n}\nul.dialogPicker li > a.preparing:hover > strong {\n background: #f6a828 !important;\n}\nul.dialogPicker li > a.preparing span.alias {\n background: #f6a828;\n}\nul.dialogPicker li > a.preparing div > span {\n font-size: 0.75rem !important;\n}\nul.dialogPicker li > a div {\n height: 80px;\n padding: 15px 10px;\n position: relative;\n}\nul.dialogPicker li > a div span {\n display: block;\n font-weight: normal;\n font-size: 0.875rem;\n width: 100%;\n margin-bottom: 5px;\n}\nul.dialogPicker li > a div span:first-child {\n margin-top: -10px;\n}\nul.dialogPicker li > a div span:last-child {\n margin-bottom: 0px;\n}\nul.dialogPicker li > a div span.alias {\n text-align: center;\n position: absolute;\n bottom: 0px;\n right: 0px;\n width: auto;\n background-color: #b1aaaa;\n border-radius: 3px;\n padding: 2px 5px;\n color: #ffffff;\n display: none !important;\n}\nul.dialogPicker li > a div span.idle {\n display: block;\n font-size: 1.25rem;\n text-align: center;\n}\nul.dialogPicker li > span {\n position: absolute;\n width: 27px;\n height: 28px;\n cursor: pointer;\n top: 5px;\n}\nul.dialogPicker li > span i {\n color: black;\n}\nul.dialogPicker li > span:last-of-type {\n right: -5px;\n}\nul.dialogPicker li > span:nth-last-of-type(2) {\n right: 15px;\n}\nul.dialogPicker li input[type=checkbox] {\n bottom: 20px;\n right: 5px;\n position: absolute;\n}\nul.dialogPicker .duration > span {\n border: 1px solid !important;\n position: absolute;\n bottom: -3px;\n left: 58px;\n background: #fff;\n border-radius: 5px;\n}\nul.dialogPickerBig li {\n width: 140px !important;\n margin-bottom: 17px;\n margin-top: 0px !important;\n min-height: 80px !important;\n}\nul.dialogPickerBig li a div {\n height: 50px !important;\n}\n.arrow_box_left:after,\n.arrow_box_left:before {\n left: 100% !important;\n}\n.arrow_box_left:after {\n border-left-color: #ffffff !important;\n border-right-color: transparent !important;\n}\n.arrow_box_left:before {\n border-left-color: #dddddd !important;\n border-right-color: transparent !important;\n}\n.arrow_box_bottom:after,\n.arrow_box_bottom:before {\n top: initial;\n left: 40%;\n bottom: 100% !important;\n}\n.arrow_box_bottom:after {\n border-bottom-color: #ffffff !important;\n border-right-color: transparent !important;\n margin-left: -6px;\n}\n.arrow_box_bottom:before {\n border-bottom-color: #dddddd !important;\n border-right-color: transparent !important;\n margin-left: -9px;\n}\ndiv.price_calculator {\n left: -260px;\n top: 46px;\n width: 250px;\n height: 138px;\n padding: 12px 0px 3px 8px;\n border-radius: 3px;\n position: absolute !important;\n}\ndiv.price_calculator input {\n border: 0px !important;\n border-bottom: 1px solid #dddddd !important;\n background-color: transparent !important;\n padding: 8px 5px 5px 5px !important;\n width: 60px !important;\n}\n.tooltip-component {\n position: relative;\n}\n.tooltip-component:hover > div.toolTip {\n display: block;\n}\n.tooltip-component div.toolTip {\n background: #ffffe1;\n border: 1px solid #dddddd;\n position: absolute;\n top: 110%;\n left: 0%;\n padding: 10px;\n display: none;\n text-align: center;\n min-height: 15px;\n margin-top: 0.1rem;\n}\n.tooltip-component div.toolTip.green {\n background: #caed9e;\n border: 4px solid #90d93f;\n}\n.tooltip-component div.toolTip:after, .tooltip-component div.toolTip:before {\n content: "";\n position: absolute;\n top: 0;\n left: 50%;\n width: 0;\n height: 0;\n border: 5px solid transparent;\n}\n.tooltip-component div.toolTip::after {\n border-bottom-color: #ffffe1;\n border-top: 0;\n margin-left: -5px;\n margin-top: -5px;\n}\n.tooltip-component div.toolTip::before {\n border-bottom-color: #dddddd;\n border-top: 0;\n margin-left: -5px;\n margin-top: -6px;\n}\n.tooltip-component div.toolTip h4 {\n margin: 0px;\n white-space: nowrap;\n color: #89b03e;\n text-shadow: 0px 1px 0px White;\n}\n.offline .modal-header {\n background-color: #c9302c !important;\n}\n.warning .modal-header {\n background-color: #f6a828 !important;\n}\n#dialogPromo table {\n min-width: 400px;\n}\n#dialogPromo table.table-hover tbody tr:hover {\n background-color: #89b03e;\n color: white;\n}\nfade-in {\n opacity: 1;\n /* For Safari 3.1 to 6.0 */\n transition: opacity 2s;\n}\n.fade-out {\n opacity: 0;\n /* For Safari 3.1 to 6.0 */\n transition: opacity 2s;\n z-index: 1;\n}\n.later-payment strong {\n font-size: 20px;\n}\n.later-payment input {\n font-size: 20px;\n padding: 20px 10px !important;\n}\n.change-box {\n top: initial;\n height: auto;\n align-self: center;\n}\n.e-money {\n height: 65px;\n}\n@media only screen and (max-width: 1280px) {\n input[placeholder=Customer] {\n width: 135px;\n }\n\n span.select2.select2-container {\n width: 135px !important;\n }\n}\n@media only screen and (max-width: 1215px) {\n input[placeholder=Customer] {\n width: 120px;\n }\n\n span.select2.select2-container {\n width: 120px !important;\n }\n}\n@media only screen and (max-width: 1185px) {\n input[placeholder=Customer] {\n width: 140px;\n }\n\n span.select2.select2-container {\n width: 140px !important;\n }\n}\n@media only screen and (max-width: 992px) {\n .pos-status {\n bottom: 10px;\n left: 10px;\n top: auto;\n }\n}\n.simple-keyboard {\n width: 20vw;\n position: absolute;\n left: 77%;\n top: 30%;\n z-index: 1200;\n}\n::ng-deep .hg-theme-default .hg-button {\n height: 70px !important;\n font-size: 16px !important;\n}\n::ng-deep .hg-button-bksp {\n width: 21px;\n}\n::ng-deep .hg-button[data-skbtn="{enter}"] {\n width: 90px;\n}\n.cashier {\n max-width: 37rem;\n}\ndiv.row.cart-header {\n border: solid 1px #CFCFCF;\n border-bottom: none;\n border-radius: 3px 3px 0 0;\n background: #F2F7FA;\n color: #222222;\n}\ndiv.row.cart-header .right-bottom {\n font-size: 9px;\n right: -6px;\n bottom: -10px;\n}\nautocompleteV2.input-left > mat-form-field > input.form-control {\n padding-left: 0px !important;\n}'],encapsulation:2}),o})();var Wn=m(8190),Dn=m(3530);const wr=["cardContainer"];function Tr(o,a){1&o&&n._UZ(0,"th")}function kr(o,a){1&o&&(n.TgZ(0,"th",8),n._uU(1," Brand "),n.qZA())}function Ir(o,a){1&o&&(n.TgZ(0,"th",8),n._uU(1," Inv. "),n.qZA())}function Ar(o,a){1&o&&n._UZ(0,"th",21)}function Zr(o,a){1&o&&n._UZ(0,"th",12)}function Nr(o,a){if(1&o&&(n.TgZ(0,"td"),n.TgZ(1,"small"),n._uU(2),n.qZA(),n.qZA()),2&o){const t=n.oxw().index;n.xp6(2),n.hij("",t+1,".")}}function qr(o,a){1&o&&n._UZ(0,"i",42)}function Rr(o,a){if(1&o&&(n.TgZ(0,"i",43),n._uU(1),n.qZA()),2&o){const t=n.oxw().$implicit;n.xp6(1),n.Oqu(t.Variant.CategoryName)}}function Jr(o,a){1&o&&(n.ynx(0),n.TgZ(1,"i",47),n._uU(2,"V"),n.qZA(),n.BQk())}function Er(o,a){1&o&&(n.TgZ(0,"i",48),n._uU(1,"N"),n.qZA())}function Qr(o,a){if(1&o&&(n.TgZ(0,"p",44),n.YNc(1,Jr,3,0,"ng-container",45),n.YNc(2,Er,2,0,"ng-template",null,46,n.W1O),n.qZA()),2&o){const t=n.MAs(3),e=n.oxw().$implicit;n.xp6(1),n.Q6J("ngIf",e.Taxable)("ngIfElse",t)}}function Ur(o,a){if(1&o&&n._UZ(0,"p",49),2&o){const t=n.oxw().$implicit;n.Q6J("innerHtml",t.Note,n.oJD)}}function Fr(o,a){if(1&o&&(n.TgZ(0,"p"),n.TgZ(1,"i",50),n._uU(2),n.qZA(),n.qZA()),2&o){const t=n.oxw().$implicit,e=n.oxw();n.xp6(2),n.hij("Fulfillment from: ",e.getOutletName(t.EntityID),"")}}function Lr(o,a){if(1&o&&(n.TgZ(0,"i"),n._uU(1),n.ALo(2,"filterNotNull"),n.qZA()),2&o){const t=a.$implicit,e=n.oxw(2).$implicit,i=n.oxw();n.xp6(1),n.AsE(" ( ",n.xi3(2,2,e.SalesOrderItemCommission,"SalesID").length>1?t.Quantity+" by ":""," ",i.getSalesName(t.SalesID)," )")}}function Hr(o,a){if(1&o&&(n.TgZ(0,"p",51),n._uU(1," Sold by: "),n.YNc(2,Lr,3,5,"i",52),n.ALo(3,"filterNotNull"),n.qZA()),2&o){const t=n.oxw().$implicit;n.xp6(2),n.Q6J("ngForOf",n.xi3(3,1,t.SalesOrderItemCommission,"SalesID"))}}function Vr(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"td",37),n.NdJ("click",function(){n.CHM(t);const i=n.oxw().index;return n.oxw().openItemModal(i)}),n._uU(1),n.qZA()}if(2&o){const t=n.oxw().$implicit;n.xp6(1),n.hij(" ",t.Variant.BrandName," ")}}function Br(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"td",34),n.NdJ("click",function(){n.CHM(t);const i=n.oxw().index;return n.oxw().openItemModal(i)}),n.qZA()}if(2&o){const t=n.oxw().$implicit;n.Q6J("innerHtml",t.Variant.UnitsInStock,n.oJD)}}function Yr(o,a){if(1&o&&(n.TgZ(0,"td"),n.TgZ(1,"small"),n._uU(2),n.qZA(),n.qZA()),2&o){const t=n.oxw().$implicit;n.xp6(2),n.Oqu("null"!=t.Variant.UOM?t.Variant.UOMName:"")}}function zr(o,a){if(1&o&&(n.TgZ(0,"td",53),n._uU(1),n.qZA()),2&o){const t=n.oxw().$implicit;n.xp6(1),n.hij(" ",t.Variant.Storage," ")}}function $r(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"tr",22),n.NdJ("contextmenu",function(i){const r=n.CHM(t),c=r.$implicit,l=r.index;return n.oxw().onContextMenu(i,c,l)}),n.TgZ(1,"td",23),n.TgZ(2,"input",24),n.NdJ("ngModelChange",function(i){return n.CHM(t).$implicit.Splited=i})("click",function(){const r=n.CHM(t).$implicit;return n.oxw().SplitQuantityValidate(r)}),n.qZA(),n.TgZ(3,"i",25),n.NdJ("click",function(){const r=n.CHM(t).$implicit;return n.oxw().removeItem(r)}),n.qZA(),n.qZA(),n.YNc(4,Nr,3,1,"td",5),n.TgZ(5,"td",26),n.NdJ("click",function(){const r=n.CHM(t).index;return n.oxw().openItemModal(r)}),n.TgZ(6,"span"),n._uU(7),n.YNc(8,qr,1,0,"i",27),n.qZA(),n.YNc(9,Rr,2,1,"i",28),n.YNc(10,Qr,4,2,"p",29),n.YNc(11,Ur,1,1,"p",30),n.YNc(12,Fr,3,1,"p",5),n.YNc(13,Hr,4,4,"p",31),n.ALo(14,"filterNotNull"),n.qZA(),n.YNc(15,Vr,2,1,"td",32),n.YNc(16,Br,1,1,"td",33),n.TgZ(17,"td",34),n.NdJ("click",function(){const r=n.CHM(t).index;return n.oxw().openItemModal(r)}),n.qZA(),n.TgZ(18,"td",21),n.TgZ(19,"input",35),n.NdJ("ngModelChange",function(i){return n.CHM(t).$implicit.SplitQuantity=i})("keyup",function(){const r=n.CHM(t).$implicit;return n.oxw().SplitQuantityValidate(r)}),n.qZA(),n.TgZ(20,"span",36),n._uU(21,"/"),n.qZA(),n.TgZ(22,"span",37),n.NdJ("click",function(){const r=n.CHM(t).index;return n.oxw().openItemModal(r,"Quantity")}),n._uU(23),n.ALo(24,"number"),n.qZA(),n.qZA(),n.YNc(25,Yr,3,1,"td",5),n.TgZ(26,"td",38),n.NdJ("click",function(){const r=n.CHM(t).index;return n.oxw().openItemModal(r,"Price")}),n.ALo(27,"number"),n.qZA(),n.YNc(28,zr,2,1,"td",39),n.TgZ(29,"td",40),n.NdJ("click",function(){const r=n.CHM(t).index;return n.oxw().openItemModal(r,"Discount")}),n._uU(30),n.ALo(31,"number"),n.ALo(32,"number"),n.qZA(),n.TgZ(33,"td",41),n.NdJ("click",function(){const r=n.CHM(t).index;return n.oxw().openItemModal(r)}),n._uU(34),n.ALo(35,"number"),n.qZA(),n.qZA()}if(2&o){const t=a.$implicit,e=n.oxw();n.Q6J("cdkDragDisabled",e.disabledDragItem)("ngClass",5==e.state?"Split":""),n.xp6(2),n.Q6J("ngModel",t.Splited)("hidden",5!=e.state),n.xp6(1),n.Q6J("hidden",5==e.state||e.disabledBilledEdit(t.ID)||e.role.DeleteItemRestriction||e.isRetrieve&&e.AuthorizeParkedOrdersItemDeletion&&"00000000-0000-0000-0000-000000000000"!=t.ID||e.isBill&&e.AuthorizeBilledOrdersItemDeletion),n.xp6(1),n.Q6J("ngIf",null==e.AppConfigJSON||null==e.AppConfigJSON.ModuleSell?null:e.AppConfigJSON.ModuleSell.Grid.RowNumberVisible),n.xp6(3),n.hij("",t.Variant.Name," "),n.xp6(1),n.Q6J("ngIf",t.PromotionGift),n.xp6(1),n.Q6J("ngIf",null==e.AppConfigJSON||null==e.AppConfigJSON.ModuleSell?null:e.AppConfigJSON.ModuleSell.Grid.CategoryVisible),n.xp6(1),n.Q6J("ngIf",null==e.AppConfigJSON||null==e.AppConfigJSON.ModuleSell?null:e.AppConfigJSON.ModuleSell.Grid.TaxVisible),n.xp6(1),n.Q6J("ngIf",t.Note),n.xp6(1),n.Q6J("ngIf",!e.isEmpty(t.EntityID)),n.xp6(1),n.Q6J("ngIf",n.xi3(14,26,t.SalesOrderItemCommission,"SalesID").length>0),n.xp6(2),n.Q6J("ngIf",null==e.AppConfigJSON||null==e.AppConfigJSON.ModuleSell?null:e.AppConfigJSON.ModuleSell.Grid.ShowBrandItemCart),n.xp6(1),n.Q6J("ngIf",null==e.AppConfigJSON||null==e.AppConfigJSON.ModuleSell?null:e.AppConfigJSON.ModuleSell.Grid.InventoryVisible),n.xp6(1),n.Q6J("innerHtml",t.Variant.Code,n.oJD),n.xp6(2),n.Q6J("hidden",!(5==e.state&&t.Splited))("ngModel",t.SplitQuantity),n.xp6(1),n.Q6J("hidden",!(5==e.state&&t.Splited)),n.xp6(3),n.Oqu(n.xi3(24,29,t.Quantity,"1.0-4")),n.xp6(2),n.Q6J("ngIf",null==e.AppConfigJSON||null==e.AppConfigJSON.ModuleSell?null:e.AppConfigJSON.ModuleSell.Grid.UOMVisible),n.xp6(1),n.Q6J("innerHtml",e.role.PriceVisibleRestriction?" - ":n.xi3(27,32,t.Price,"1.0-4"),n.oJD),n.xp6(2),n.Q6J("ngIf",null==e.AppConfigJSON||null==e.AppConfigJSON.ModuleSell||null==e.AppConfigJSON.ModuleSell.Grid?null:e.AppConfigJSON.ModuleSell.Grid.StorageVisible),n.xp6(2),n.AsE(" ",0==t.Discount?"":n.lcZ(31,35,-1*t.Discount)+"%"," ",0==t.DiscountAmount?"":n.lcZ(32,37,-1*t.DiscountAmount)," "),n.xp6(4),n.hij(" ",e.role.PriceVisibleRestriction?" - ":n.lcZ(35,39,t.Total)," ")}}function Gr(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"button",54),n.NdJ("click",function(){const r=n.CHM(t).item;return n.oxw().onReverse(r,!0)}),n._uU(1," Return "),n.qZA(),n.TgZ(2,"button",55),n.NdJ("click",function(){const r=n.CHM(t).item;return n.oxw().onReverse(r,!1)}),n._uU(3,"Sales"),n.qZA(),n.TgZ(4,"button",54),n.NdJ("click",function(){const r=n.CHM(t).item;return n.oxw().onSumPrice(r)}),n._uU(5," Merge / SUM Price "),n.qZA(),n.TgZ(6,"button",54),n.NdJ("click",function(){const r=n.CHM(t).item;return n.oxw().onBundlePrice(r)}),n._uU(7," Bundle Price "),n.qZA()}if(2&o){const t=n.oxw();n.Q6J("disabled",!t.role.Return),n.xp6(4),n.Q6J("disabled",!t.role.BundlingPrice),n.xp6(2),n.Q6J("disabled",!t.role.BundlingPrice)}}let jr=(()=>{class o{constructor(t,e,i,r,c,l,d){this._shoppingCartService=t,this._posService=e,this._outletService=i,this._orderProcessorService=r,this._matDialog=c,this._userRoleService=l,this._orderDataService=d,this.cartItems=[],this.AppConfigJSON=new ln,this.role=new K.Q,this.isRetrieve=!1,this.AuthorizeParkedOrdersItemDeletion=!1,this.isBill=!1,this.AuthorizeBilledOrdersItemDeletion=!1,this.isRemoveItem=!1,this.isUpdateItem=!1,this.contextMenuPosition={x:"0px",y:"0px"},this.destroy$=new N.xQ,this.AppConfigJSON=this._posService.Data.AppConfigJSON,this.AuthorizeParkedOrdersItemDeletion=this.AppConfigJSON.ApplicationParkAndRetrieve.AccessControl.AuthorizeParkedOrdersItemDeletion,this.AuthorizeBilledOrdersItemDeletion=this.AppConfigJSON.ApplicationParkAndRetrieve.AccessControl.AuthorizeBilledOrdersItemDeletion,this.scrollToBottom()}ngOnInit(){this.subscribeTobservable(),this.checkDisabledDragItem()}ngAfterViewInit(){setTimeout(()=>{this.scrollToBottom()},2e3)}scrollToBottom(){this.cardContainer&&!this.isRemoveItem&&!this.isUpdateItem&&setTimeout(()=>{this.cardContainer.nativeElement.scrollTop=this.cardContainer.nativeElement.scrollHeight},1),this.isRemoveItem=!1,this.isUpdateItem=!1}SelectState(t){switch(t){case O.IsBill:this.isBill=!0;break;case O.IsRetrieve:this.isRetrieve=!0;break;default:this.isBill=!1,this.isRetrieve=!1}}subscribeTobservable(){this._orderDataService.Data$.pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.cartItems=t.CartItems,this.scrollToBottom()}),this._orderProcessorService.Data$.pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.state=t.posState,this.SelectState(this.state)}),this._userRoleService.Data$.pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.role=t})}checkDisabledDragItem(){this.disabledDragItem=!0===window.matchMedia("(pointer: coarse)").matches}isEmpty(t){return g.gT.IsEmpty(t)}getSalesName(t){return this._outletService.getSalesname(t)}getOutletName(t){return this._posService.getOutletName(t)}onContextMenu(t,e,i){t.preventDefault(),this.contextMenuPosition.x=t.clientX+"px",this.contextMenuPosition.y=t.clientY+"px",e.Index=i,this.contextMenu.menuData={item:e},this.contextMenu.openMenu()}drop(t){(0,Wn.bA)(this.cartItems,t.previousIndex,t.currentIndex)}onReverse(t,e){this.isUpdateItem=!0,e?t.Quantity>0&&(t.Quantity=-1*t.Quantity):t.Quantity<0&&(t.Quantity=-1*t.Quantity),this.isUpdateItem=!0,this._shoppingCartService.updateCartItem(t,t.Index)}onSumPrice(t){this.isUpdateItem=!0;let e=0;this.cartItems.forEach((i,r)=>{e+=i.Quantity*i.Price*(100-i.Discount)/100-i.DiscountAmount,i.Price=0}),t.Price=e/t.Quantity,this._shoppingCartService.updateCartItem(t,t.Index)}onBundlePrice(t){let e=0;this.cartItems.forEach((i,r)=>{r!=t.Index&&(e+=i.Quantity*i.Price*(100-i.Discount)/100-i.DiscountAmount,i.Price=0)}),0==t.Price&&(t.Price=e/t.Quantity),this._shoppingCartService.updateCartItem(t,t.Index)}SplitQuantityValidate(t){}removeItem(t){this.isRemoveItem=!0,this._shoppingCartService.deleteCartItem(t)}disabledBilledEdit(t){return!1}openItemModal(t,e){this.isUpdateItem=!0,this._matDialog.open(jn,{data:{index:t,focus:e}})}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete()}}return o.\u0275fac=function(t){return new(t||o)(n.Y36(hn),n.Y36(D),n.Y36(F),n.Y36(R),n.Y36(P.uw),n.Y36(en),n.Y36(S))},o.\u0275cmp=n.Xpm({type:o,selectors:[["pos-cart-display"]],viewQuery:function(t,e){if(1&t&&(n.Gf(wr,5),n.Gf(Dn.p6,7)),2&t){let i;n.iGM(i=n.CRH())&&(e.cardContainer=i.first),n.iGM(i=n.CRH())&&(e.contextMenu=i.first)}},decls:31,vars:11,consts:[[1,"row","no-gutters","cart-table"],[1,"col"],["cardContainer",""],[1,"table"],[2,"width","18px"],[4,"ngIf"],[1,"text-left"],["style","cursor: pointer; width: 60px",4,"ngIf"],[2,"cursor","pointer","width","60px"],[1,"fas","fa-sort-amount-down"],[1,"text-right",2,"width","50px"],["class","text-right",4,"ngIf"],[1,"text-right",2,"width","70px"],["style","width: 70px","class","text-right",4,"ngIf"],[1,"text-right",2,"width","20px"],[1,"text-right",2,"width","85px"],["cdkDropList","",3,"cdkDropListDropped"],["cdkDrag","",3,"cdkDragDisabled","ngClass","contextmenu",4,"ngFor","ngForOf"],[2,"visibility","hidden","position","fixed",3,"matMenuTriggerFor"],["contextMenu","matMenu"],["matMenuContent",""],[1,"text-right"],["cdkDrag","",3,"cdkDragDisabled","ngClass","contextmenu"],[1,"cursor"],["type","checkbox",3,"ngModel","hidden","ngModelChange","click"],["aria-hidden","true","title","Click to Remove","alt","",1,"fa","fa-times","text-danger",3,"hidden","click"],[1,"text-left",3,"click"],["class","fas fa-gift",4,"ngIf"],["class","ml-3",4,"ngIf"],["class","font-italic m-0",4,"ngIf"],["class","special-TinyMCE m-0 font-italic",3,"innerHtml",4,"ngIf"],["class","text-success font-italic",4,"ngIf"],[3,"click",4,"ngIf"],[3,"innerHtml","click",4,"ngIf"],[3,"innerHtml","click"],["type","text","autoNum","",1,"text-right",2,"width","30px",3,"hidden","ngModel","ngModelChange","keyup"],[3,"hidden"],[3,"click"],[1,"text-right",3,"innerHtml","click"],["class","text-right font-italic",4,"ngIf"],[1,"text-right","text-danger",3,"click"],[1,"text-right",3,"click"],[1,"fas","fa-gift"],[1,"ml-3"],[1,"font-italic","m-0"],[4,"ngIf","ngIfElse"],["NotTaxable",""],[1,"text-success"],[1,"text-danger"],[1,"special-TinyMCE","m-0","font-italic",3,"innerHtml"],[1,"text-warning"],[1,"text-success","font-italic"],[4,"ngFor","ngForOf"],[1,"text-right","font-italic"],["mat-menu-item","",3,"disabled","click"],["mat-menu-item","",3,"click"]],template:function(t,e){if(1&t&&(n.TgZ(0,"div",0),n.TgZ(1,"div",1,2),n.TgZ(3,"table",3),n.TgZ(4,"thead"),n.TgZ(5,"tr"),n._UZ(6,"th",4),n.YNc(7,Tr,1,0,"th",5),n.TgZ(8,"th",6),n._uU(9,"Name"),n.qZA(),n.YNc(10,kr,2,0,"th",7),n.YNc(11,Ir,2,0,"th",7),n.TgZ(12,"th",8),n._uU(13," Code "),n._UZ(14,"i",9),n.qZA(),n.TgZ(15,"th",10),n._uU(16,"Qty"),n.qZA(),n.YNc(17,Ar,1,0,"th",11),n.TgZ(18,"th",12),n._uU(19,"Price"),n.qZA(),n.YNc(20,Zr,1,0,"th",13),n.TgZ(21,"th",14),n._uU(22,"Disc"),n.qZA(),n.TgZ(23,"th",15),n._uU(24,"Total"),n.qZA(),n.qZA(),n.qZA(),n.TgZ(25,"tbody",16),n.NdJ("cdkDropListDropped",function(r){return e.drop(r)}),n.YNc(26,$r,36,41,"tr",17),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n._UZ(27,"div",18),n.TgZ(28,"mat-menu",null,19),n.YNc(30,Gr,8,3,"ng-template",20),n.qZA()),2&t){const i=n.MAs(29);n.xp6(7),n.Q6J("ngIf",null==e.AppConfigJSON||null==e.AppConfigJSON.ModuleSell?null:e.AppConfigJSON.ModuleSell.Grid.RowNumberVisible),n.xp6(3),n.Q6J("ngIf",null==e.AppConfigJSON||null==e.AppConfigJSON.ModuleSell?null:e.AppConfigJSON.ModuleSell.Grid.ShowBrandItemCart),n.xp6(1),n.Q6J("ngIf",null==e.AppConfigJSON||null==e.AppConfigJSON.ModuleSell?null:e.AppConfigJSON.ModuleSell.Grid.InventoryVisible),n.xp6(6),n.Q6J("ngIf",null==e.AppConfigJSON||null==e.AppConfigJSON.ModuleSell?null:e.AppConfigJSON.ModuleSell.Grid.UOMVisible),n.xp6(3),n.Q6J("ngIf",null==e.AppConfigJSON||null==e.AppConfigJSON.ModuleSell||null==e.AppConfigJSON.ModuleSell.Grid?null:e.AppConfigJSON.ModuleSell.Grid.StorageVisible),n.xp6(6),n.Q6J("ngForOf",e.cartItems),n.xp6(1),n.Udp("left",e.contextMenuPosition.x)("top",e.contextMenuPosition.y),n.Q6J("matMenuTriggerFor",i)}},directives:[_.O5,Wn.Wj,_.sg,Dn.p6,Dn.VK,Dn.KA,Wn.Zt,_.mk,h.Wl,h.JJ,h.On,h.Fj,cn.b,Dn.OP],pipes:[J.kw,_.JJ],styles:['@media print {\n .cashier[_ngcontent-%COMP%], pos-quick-key[_ngcontent-%COMP%], pos-header[_ngcontent-%COMP%], pos-toolbar[_ngcontent-%COMP%] {\n display: none;\n }\n}\n.is-backdate[_ngcontent-%COMP%] {\n background: repeating-linear-gradient(-60deg, #fcf4a3, #fcf4a3 15px, #fada5e 15px, #fada5e 30px) !important;\n}\n.quickKey[_ngcontent-%COMP%] {\n margin-right: 10px;\n}\n.cashier[_ngcontent-%COMP%] [_ngcontent-%COMP%]::-webkit-input-placeholder {\n font-style: italic;\n}\n.cashier[_ngcontent-%COMP%] [_ngcontent-%COMP%]:-moz-placeholder {\n \n font-style: italic;\n}\n.cashier[_ngcontent-%COMP%] [_ngcontent-%COMP%]::-moz-placeholder {\n \n font-style: italic;\n}\n.cashier[_ngcontent-%COMP%] [_ngcontent-%COMP%]:-ms-input-placeholder {\n font-style: italic;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] {\n border-bottom: 1px solid #dde2eb;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .small[_ngcontent-%COMP%] {\n margin-right: 5px !important;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .small[_ngcontent-%COMP%] .number[_ngcontent-%COMP%] {\n width: 143px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .small[_ngcontent-%COMP%] select[_ngcontent-%COMP%] {\n width: 140px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .small[_ngcontent-%COMP%] .select2-container[_ngcontent-%COMP%] {\n font-size: 12px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] {\n margin-right: 22px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] div[_ngcontent-%COMP%]:last-child {\n margin-right: 0;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 1.25rem;\n color: #3B3B3B;\n margin-right: 5px;\n line-height: unset !important;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] input[_ngcontent-%COMP%], .cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span.outlet[_ngcontent-%COMP%] {\n padding: 4px 8px 3px 5px;\n border: 1px solid #dddddd;\n font-size: 0.875rem;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] .outlet[_ngcontent-%COMP%] {\n width: 165px;\n color: #337ab7;\n background: #ffffff;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] .number[_ngcontent-%COMP%] {\n width: 150px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] select[_ngcontent-%COMP%] {\n width: 150px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.quickKey[_ngcontent-%COMP%] {\n width: 420px;\n margin-right: 10px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] {\n width: 570px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.header[_ngcontent-%COMP%] {\n border: solid 1px #cfcfcf;\n border-bottom: none;\n border-radius: 3px 3px 0 0;\n background: #f2f7fa;\n color: #222222;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.header[_ngcontent-%COMP%] .right-bottom[_ngcontent-%COMP%] {\n font-size: 9px;\n right: -6px;\n bottom: -10px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-table[_ngcontent-%COMP%] {\n border-left: solid 1px #cfcfcf;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-table[_ngcontent-%COMP%] div.col[_ngcontent-%COMP%] {\n overflow: auto;\n height: 250px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-table[_ngcontent-%COMP%] div.col[_ngcontent-%COMP%] table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] {\n background: #fbfbf7;\n border-left: none;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-table[_ngcontent-%COMP%] div.col[_ngcontent-%COMP%] table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] th[_ngcontent-%COMP%] {\n padding: 9px 5px !important;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-table[_ngcontent-%COMP%] div.col[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n padding: 10px 5px;\n border-bottom: 1px solid #cfcfcf;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-table[_ngcontent-%COMP%] div.col[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td[_ngcontent-%COMP%]:first-child {\n padding-right: 0;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-footer[_ngcontent-%COMP%] {\n border-top: solid 1px #cfcfcf;\n min-height: 85px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-footer[_ngcontent-%COMP%] div.summary[_ngcontent-%COMP%] table[_ngcontent-%COMP%] th[_ngcontent-%COMP%], .cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-footer[_ngcontent-%COMP%] div.summary[_ngcontent-%COMP%] table[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n border-left: solid 1px #cfcfcf;\n border-bottom: solid 1px #cfcfcf;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-footer[_ngcontent-%COMP%] div.summary[_ngcontent-%COMP%] table[_ngcontent-%COMP%] th[_ngcontent-%COMP%] {\n padding: 7px 8px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-footer[_ngcontent-%COMP%] div.summary[_ngcontent-%COMP%] table[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n padding: 7px 5px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-footer[_ngcontent-%COMP%] .disc[_ngcontent-%COMP%] {\n padding-top: 7px;\n padding-bottom: 6px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.action-buttons[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] {\n font-size: 1.125rem;\n padding: 15px 18px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.action-buttons[_ngcontent-%COMP%] .btn-gray[_ngcontent-%COMP%] {\n margin-right: 10px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.action-buttons[_ngcontent-%COMP%] .btn-success[_ngcontent-%COMP%] {\n width: 200px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.action-buttons[_ngcontent-%COMP%] .right-bottom[_ngcontent-%COMP%] {\n font-size: 0.625rem;\n right: 4px;\n}\n.text-black.btn-success[_ngcontent-%COMP%] {\n color: #4d4d4d !important;\n}\n.main-panel[_ngcontent-%COMP%] nav.fixed-top.offline[_ngcontent-%COMP%], .full_screen[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] > div.row.header.offline[_ngcontent-%COMP%] {\n background: repeating-linear-gradient(-60deg, #f8d7da, #f8d7da 15px, #f5c6cb 15px, #f5c6cb 30px) !important;\n}\n.barcode-input[_ngcontent-%COMP%] {\n width: 305px;\n}\n.barcode-input[_ngcontent-%COMP%] > input[_ngcontent-%COMP%] {\n height: 28px;\n}\n.barcode-input[_ngcontent-%COMP%] autocomplete[_ngcontent-%COMP%] {\n width: 267px;\n}\n.barcode-input[_ngcontent-%COMP%] autocompleteV2[_ngcontent-%COMP%] {\n width: 267px;\n}\n.input-group-text-retrieve[_ngcontent-%COMP%] {\n padding: 9px 0.75rem !important;\n}\n.font-12[_ngcontent-%COMP%] {\n font-size: 12px;\n}\n.btn-gray[_ngcontent-%COMP%] {\n background-color: #f4f4f4;\n border: 1px solid #d6d6d6;\n font-weight: bold;\n color: #545454 !important;\n background: linear-gradient(to bottom, #ffffff 0%, #eeeeee 100%);\n}\n.btn-gray-more[_ngcontent-%COMP%] {\n background-color: #f4f4f4;\n border: 1px solid #d6d6d6;\n background: linear-gradient(to bottom, #ffffff 0%, #eeeeee 100%);\n}\n.cash-btn[_ngcontent-%COMP%] {\n background-color: #f4f4f4;\n border: 1px solid #d6d6d6;\n font-weight: bold;\n margin: 0 0 0 10px;\n padding: 7px 15px;\n height: 18px;\n box-sizing: content-box;\n background: linear-gradient(to bottom, #ffffff 0%, #eeeeee 100%);\n}\n.calc-tbl[_ngcontent-%COMP%] th[_ngcontent-%COMP%] {\n padding: 7px 15px 7px 10px;\n border: 1px solid #ddd;\n border-top: none;\n background-color: #eeeeee;\n}\n.dropdown-menu[_ngcontent-%COMP%] .disabled[_ngcontent-%COMP%] {\n display: none !important;\n}\n.calc-tbl[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n width: 100px;\n text-align: right;\n padding: 7px 5px;\n}\nsection.complete[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n color: #3b5998;\n margin: 20px 0px;\n}\nsection.complete[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] a[_ngcontent-%COMP%] {\n font-size: 0.75rem;\n color: #868686;\n}\nsection.complete[_ngcontent-%COMP%] .complete-action[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] {\n text-align: center;\n height: 150px;\n width: 190px;\n font-family: "Roboto Slab", serif;\n display: flex;\n flex-direction: column !important;\n padding: 0px;\n color: #666666;\n margin-right: 10px;\n}\nsection.complete[_ngcontent-%COMP%] .complete-action[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n display: block;\n font-size: 50px;\n margin-top: 20px;\n}\nsection.complete[_ngcontent-%COMP%] .complete-action[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n margin: 0px;\n margin-top: 10px;\n color: #666666;\n}\nsection.complete[_ngcontent-%COMP%] .complete-action[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]:first-child h4[_ngcontent-%COMP%] {\n color: #3B3B3B;\n}\nsection.complete[_ngcontent-%COMP%] .complete-action[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n font-size: 0.625rem;\n font-style: italic;\n padding: 10px;\n box-sizing: border-box;\n color: #868686;\n border-top: 1px solid #dddddd;\n font-weight: normal;\n margin: 0px;\n}\n.complete-more-action[_ngcontent-%COMP%] {\n margin-top: 10px;\n}\n\n.modal-body[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n font-weight: 400;\n}\n.modal-body[_ngcontent-%COMP%] .actions-tabs[_ngcontent-%COMP%] {\n position: absolute;\n left: 230px;\n top: 15px;\n}\n.modal-header[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 12px;\n font-style: normal;\n}\n.modal-header[_ngcontent-%COMP%] a[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 14px !important;\n}\n.dialogButtonOption[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] {\n padding: 25px 0px;\n width: 190px;\n margin-right: 10px;\n}\n.dialogButtonOption[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n font-weight: 700;\n text-transform: uppercase;\n}\n.dialogButtonOption[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n font-size: 0.75rem;\n font-style: italic;\n color: #868686;\n margin-top: 10px;\n}\n.currency[_ngcontent-%COMP%] {\n top: 13px;\n left: 30px;\n}\n.paymentNote[_ngcontent-%COMP%]::before {\n z-index: 10;\n content: "";\n position: absolute;\n top: 0;\n left: calc(50% - 10px);\n height: 100%;\n width: 10px;\n background-color: inherit;\n border-right: 1px solid lightgray;\n transform: skewX(-10deg);\n}\n#dialogPayment[_ngcontent-%COMP%] .col-auto[_ngcontent-%COMP%], #dialogSubmitOrder[_ngcontent-%COMP%] .col-auto[_ngcontent-%COMP%] {\n padding: 0 4px;\n}\n#dialogPayment[_ngcontent-%COMP%] .col-auto[_ngcontent-%COMP%], #dialogSubmitOrder[_ngcontent-%COMP%] .col-auto[_ngcontent-%COMP%] {\n padding: 0 4px;\n}\n#dialogPayment[_ngcontent-%COMP%] .col-4[_ngcontent-%COMP%], #dialogSubmitOrder[_ngcontent-%COMP%] .col-4[_ngcontent-%COMP%] {\n width: 125px !important;\n padding: 0 4px;\n}\n#dialogPayment[_ngcontent-%COMP%] .col-8[_ngcontent-%COMP%], #dialogSubmitOrder[_ngcontent-%COMP%] .col-8[_ngcontent-%COMP%] {\n width: 250px !important;\n padding: 0 4px;\n}\n#dialogPayment[_ngcontent-%COMP%] .btn-link[_ngcontent-%COMP%], #dialogSubmitOrder[_ngcontent-%COMP%] .btn-link[_ngcontent-%COMP%] {\n padding-top: 0px;\n color: #868686;\n padding-bottom: 8px;\n border-radius: unset;\n font-family: "Roboto Slab", serif;\n}\n#dialogPayment[_ngcontent-%COMP%] .btn-link.selected[_ngcontent-%COMP%], #dialogSubmitOrder[_ngcontent-%COMP%] .btn-link.selected[_ngcontent-%COMP%] {\n color: #3B3B3B;\n border-bottom: 4px solid #07a519;\n}\n#dialogPayment[_ngcontent-%COMP%] .change[_ngcontent-%COMP%], #dialogSubmitOrder[_ngcontent-%COMP%] .change[_ngcontent-%COMP%] {\n position: absolute;\n top: 1px;\n height: 40px;\n background: #89b03e;\n color: #fff;\n right: 16px;\n padding: 0 10px;\n line-height: 40px;\n font-size: 16px;\n}\n#dialogPayment[_ngcontent-%COMP%] .change[_ngcontent-%COMP%]:before, #dialogSubmitOrder[_ngcontent-%COMP%] .change[_ngcontent-%COMP%]:before {\n content: "\\a";\n border-style: solid;\n border-width: 40px 24px 0 0;\n border-color: transparent #89b03e transparent transparent;\n position: absolute;\n left: -24px;\n}\n#dialogPayment[_ngcontent-%COMP%] .change.danger[_ngcontent-%COMP%], #dialogSubmitOrder[_ngcontent-%COMP%] .change.danger[_ngcontent-%COMP%] {\n background: #c9302c;\n}\n#dialogPayment[_ngcontent-%COMP%] .change.danger[_ngcontent-%COMP%]:before, #dialogSubmitOrder[_ngcontent-%COMP%] .change.danger[_ngcontent-%COMP%]:before {\n border-color: transparent #c9302c transparent transparent;\n}\n\n.phone[_ngcontent-%COMP%] div[_ngcontent-%COMP%] {\n height: 50px;\n width: 50px;\n padding-top: 11px;\n background-color: #f5f5f5;\n border: 1px solid gray !important;\n}\n.phone[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n padding-left: 65px !important;\n border: 1px solid gray !important;\n font-size: 25px;\n height: 50px;\n}\n.phone[_ngcontent-%COMP%] .form-control[_ngcontent-%COMP%]:focus {\n border-color: #8bb8df !important;\n}\n.back-button[_ngcontent-%COMP%] {\n left: -18px;\n top: -74px;\n}\n.back-button[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: white;\n}\n.back-button-gopay[_ngcontent-%COMP%] {\n left: -18px;\n top: -50px;\n}\n.back-button-gopay[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: white;\n}\n.logo-gopay[_ngcontent-%COMP%] {\n margin-top: -16px;\n}\n#dialogSubmitOrder[_ngcontent-%COMP%] .btn-link[_ngcontent-%COMP%] {\n padding-top: 0px;\n color: #868686;\n padding-bottom: 8px;\n border-radius: unset;\n font-family: "Roboto Slab", serif;\n}\n#dialogSubmitOrder[_ngcontent-%COMP%] .btn-link.selected[_ngcontent-%COMP%] {\n color: #3B3B3B;\n border-bottom: 4px solid #07a519;\n}\n#dialogSubmitOrder[_ngcontent-%COMP%] .btn-info[_ngcontent-%COMP%] {\n font-size: 0.75rem;\n margin-right: 10px;\n padding: 10px;\n margin-bottom: 10px;\n float: left;\n}\n#dialogSubmitOrder[_ngcontent-%COMP%] .input-label[_ngcontent-%COMP%] {\n position: relative;\n}\n#dialogSubmitOrder[_ngcontent-%COMP%] .input-label[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n position: absolute;\n font-size: 0.875rem;\n color: #868686;\n top: 26px;\n left: 20px;\n}\n#dialogSubmitOrder[_ngcontent-%COMP%] .input-label[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n margin: 0;\n margin-bottom: 8px;\n border: 1px solid #dddddd;\n padding: 7px 5px;\n width: 100%;\n font-size: 36px;\n border-radius: 3px;\n text-align: right;\n background-color: #ffffff;\n outline: none;\n}\n#dialogSubmitOrder[_ngcontent-%COMP%] .pay-info[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n border-bottom: 2px solid #07a519 !important;\n font-size: 0.875rem;\n border: none !important;\n border-bottom: 2px solid #07a519 !important;\n outline: none;\n}\n#dialogSubmitOrder[_ngcontent-%COMP%] .change[_ngcontent-%COMP%] {\n background-color: #cccccc;\n border: 1px solid #dddddd;\n width: 149px;\n padding: 5px 10px 5px 0;\n text-align: right;\n font-size: 1.25rem;\n font-weight: bold;\n float: right;\n}\n.rad-btn[_ngcontent-%COMP%] {\n position: relative;\n display: inline-block;\n}\n.rad-btn[_ngcontent-%COMP%] label[_ngcontent-%COMP%] {\n border: 1px solid #dddddd;\n border-radius: 3px;\n margin-right: 10px;\n cursor: pointer;\n padding: 10px;\n margin-bottom: 10px;\n color: black;\n}\n.rad-btn[_ngcontent-%COMP%] input[type=radio][_ngcontent-%COMP%] {\n visibility: hidden;\n position: absolute;\n left: 0;\n top: 0;\n}\n.rad-btn[_ngcontent-%COMP%] input[type=radio][_ngcontent-%COMP%]:checked + label[_ngcontent-%COMP%] {\n background: #dfeffc;\n border: 1px solid #dfeffc;\n}\n.modal-dialog[_ngcontent-%COMP%] .noteBox[_ngcontent-%COMP%] {\n background-color: #ffffe1;\n border: 1px solid #cacaca;\n padding: 3px;\n display: block;\n outline: 0;\n margin-bottom: 5px;\n font-size: 11px;\n text-decoration: none;\n}\n\n.fullscreen[_ngcontent-%COMP%] {\n position: fixed;\n bottom: 0px;\n right: 0px;\n padding: 10px;\n background-color: #bbbbbb;\n cursor: pointer;\n}\n.fullscreen[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 34px;\n color: white;\n}\n.pos-status[_ngcontent-%COMP%] {\n position: fixed;\n right: 10px;\n top: 10px;\n list-style: none;\n padding: 0px;\n margin: 0px;\n z-index: 1031;\n display: flex;\n align-items: center !important;\n}\n.pos-status[_ngcontent-%COMP%] li[_ngcontent-%COMP%] {\n cursor: pointer;\n margin-right: 10px;\n}\n.pos-status[_ngcontent-%COMP%] li[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] {\n padding: 8px 10px;\n color: #868686;\n}\n.pos-status[_ngcontent-%COMP%] li[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 26px;\n}\n.pos-status[_ngcontent-%COMP%] li[_ngcontent-%COMP%]:first-child i[_ngcontent-%COMP%] {\n font-size: 16px;\n}\n.full_screen[_ngcontent-%COMP%] .pos-status[_ngcontent-%COMP%] {\n left: 10px;\n bottom: 10px;\n top: auto;\n right: auto;\n}\n.full_screen[_ngcontent-%COMP%] .park-action[_ngcontent-%COMP%] {\n left: 0px;\n right: auto !important;\n padding: 0px;\n}\n.full_screen[_ngcontent-%COMP%] nav[_ngcontent-%COMP%], .full_screen[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%] {\n display: none !important;\n}\n.full_screen[_ngcontent-%COMP%] section.cashier[_ngcontent-%COMP%] > div.container-fluid[_ngcontent-%COMP%] {\n padding: 0 !important;\n}\n.full_screen[_ngcontent-%COMP%] section.cashier[_ngcontent-%COMP%] > div.container-fluid[_ngcontent-%COMP%] > div.row.header[_ngcontent-%COMP%], .full_screen[_ngcontent-%COMP%] section.cashier[_ngcontent-%COMP%] > div.container-fluid[_ngcontent-%COMP%] > div.row.body[_ngcontent-%COMP%] {\n justify-content: center;\n}\n.full_screen[_ngcontent-%COMP%] .main-panel[_ngcontent-%COMP%] {\n left: 0px;\n right: 0px;\n top: 0px;\n bottom: 0px;\n width: 100%;\n padding: 0px;\n}\n.full_screen[_ngcontent-%COMP%] #divSideMenu[_ngcontent-%COMP%] {\n display: none;\n}\n#dialogItem[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%] {\n border-top: none;\n border-right: none;\n}\ndiv#dialogDiscount[_ngcontent-%COMP%] .txtPcg[_ngcontent-%COMP%] {\n width: 30px;\n}\n#radOnline[_ngcontent-%COMP%] + label[_ngcontent-%COMP%], #radOffline[_ngcontent-%COMP%] + label[_ngcontent-%COMP%] {\n height: 150px;\n width: 200px;\n white-space: normal;\n margin: 20px 0px 20px 10px;\n padding-top: 12px;\n border: 1px solid #dddddd;\n}\n#radOnline[_ngcontent-%COMP%] + label[_ngcontent-%COMP%] h4[_ngcontent-%COMP%], #radOffline[_ngcontent-%COMP%] + label[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n margin: 5px;\n}\n#radOnline[_ngcontent-%COMP%] + label[_ngcontent-%COMP%] i[_ngcontent-%COMP%], #radOffline[_ngcontent-%COMP%] + label[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 30px;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] a[_ngcontent-%COMP%] strong[_ngcontent-%COMP%] {\n height: 30px;\n border-radius: 4px;\n padding: 5px 10px;\n color: #ffffff;\n background: #b1aaaa;\n}\nul.dialogPicker[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover, ul.dialogPicker[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a.active[_ngcontent-%COMP%] {\n background: #fffed9;\n border: 1px solid #88ae3d;\n}\nul.dialogPicker[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover > strong[_ngcontent-%COMP%], ul.dialogPicker[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a.active[_ngcontent-%COMP%] > strong[_ngcontent-%COMP%] {\n background: #88ae3d;\n}\n#radOnline[_ngcontent-%COMP%]:checked + label[_ngcontent-%COMP%] {\n color: #ffffff;\n background-color: #89b03e;\n}\n#radOffline[_ngcontent-%COMP%]:checked + label[_ngcontent-%COMP%] {\n color: #ffffff;\n background-color: #c9302c;\n}\n.fa-wifi-off[_ngcontent-%COMP%] {\n background-image: url("//res.cloudinary.com/pos/image/upload/v1535431932/POS/Images/Icon/wifi-off.svg");\n height: 30px;\n width: 30px;\n background-size: 30px;\n background-repeat: no-repeat;\n}\n#radOffline[_ngcontent-%COMP%]:checked + label[_ngcontent-%COMP%] .fa-wifi-off[_ngcontent-%COMP%] {\n background-image: url("//res.cloudinary.com/pos/image/upload/POS/Images/Icon/wifi-off-white.svg");\n}\n.fa-coupon[_ngcontent-%COMP%] {\n background-position-y: center;\n background-image: url("//res.cloudinary.com/pos/image/upload/POS/Images/Icon/coupon.svg");\n height: 26px;\n width: 26px;\n background-size: 26px;\n background-repeat: no-repeat;\n}\n.fa-retur[_ngcontent-%COMP%] {\n background-position-y: center;\n background-image: url("//res.cloudinary.com/pos/image/upload/POS/Images/Icon/return.svg");\n height: 26px;\n width: 26px;\n background-size: 26px;\n background-repeat: no-repeat;\n}\n\nul.dialogPicker[_ngcontent-%COMP%] {\n list-style: none;\n margin: 0px;\n padding: 0px;\n display: flex;\n flex-wrap: wrap !important;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] {\n width: 180px;\n min-height: 95px;\n margin-right: 17px;\n margin-bottom: 17px;\n position: relative;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] {\n display: block;\n outline: 0;\n border: 1px solid #b1aaaa;\n border-radius: 5px;\n cursor: pointer;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] h6[_ngcontent-%COMP%] {\n height: 30px;\n border-radius: 4px;\n padding: 5px 10px;\n color: #ffffff;\n background: #b1aaaa;\n overflow: hidden;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] h6[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n margin-right: 5px;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover, ul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.active[_ngcontent-%COMP%], ul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.vacant[_ngcontent-%COMP%] {\n background: #ffffe1;\n border: 1px solid #89b03e;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover > h6[_ngcontent-%COMP%], ul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.active[_ngcontent-%COMP%] > h6[_ngcontent-%COMP%], ul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.vacant[_ngcontent-%COMP%] > h6[_ngcontent-%COMP%] {\n background: #89b03e;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.occupied[_ngcontent-%COMP%], ul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.occupied[_ngcontent-%COMP%]:hover {\n border: 1px solid #c9302c;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.occupied[_ngcontent-%COMP%] > h6[_ngcontent-%COMP%], ul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.occupied[_ngcontent-%COMP%]:hover > h6[_ngcontent-%COMP%] {\n background: #c9302c !important;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.occupied[_ngcontent-%COMP%] span.alias[_ngcontent-%COMP%] {\n background: #c9302c;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.occupied[_ngcontent-%COMP%]:hover {\n background: white;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.preparing[_ngcontent-%COMP%] {\n border: 1px solid #f6a828;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.preparing[_ngcontent-%COMP%] > h6[_ngcontent-%COMP%] {\n background: #f6a828 !important;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.preparing[_ngcontent-%COMP%]:hover {\n border: 1px solid #f6a828;\n background: white;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.preparing[_ngcontent-%COMP%]:hover > strong[_ngcontent-%COMP%] {\n background: #f6a828 !important;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.preparing[_ngcontent-%COMP%] span.alias[_ngcontent-%COMP%] {\n background: #f6a828;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.preparing[_ngcontent-%COMP%] div[_ngcontent-%COMP%] > span[_ngcontent-%COMP%] {\n font-size: 0.75rem !important;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] div[_ngcontent-%COMP%] {\n height: 80px;\n padding: 15px 10px;\n position: relative;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n display: block;\n font-weight: normal;\n font-size: 0.875rem;\n width: 100%;\n margin-bottom: 5px;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:first-child {\n margin-top: -10px;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:last-child {\n margin-bottom: 0px;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span.alias[_ngcontent-%COMP%] {\n text-align: center;\n position: absolute;\n bottom: 0px;\n right: 0px;\n width: auto;\n background-color: #b1aaaa;\n border-radius: 3px;\n padding: 2px 5px;\n color: #ffffff;\n display: none !important;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span.idle[_ngcontent-%COMP%] {\n display: block;\n font-size: 1.25rem;\n text-align: center;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > span[_ngcontent-%COMP%] {\n position: absolute;\n width: 27px;\n height: 28px;\n cursor: pointer;\n top: 5px;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > span[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: black;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]:last-of-type {\n right: -5px;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]:nth-last-of-type(2) {\n right: 15px;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] input[type=checkbox][_ngcontent-%COMP%] {\n bottom: 20px;\n right: 5px;\n position: absolute;\n}\nul.dialogPicker[_ngcontent-%COMP%] .duration[_ngcontent-%COMP%] > span[_ngcontent-%COMP%] {\n border: 1px solid !important;\n position: absolute;\n bottom: -3px;\n left: 58px;\n background: #fff;\n border-radius: 5px;\n}\nul.dialogPickerBig[_ngcontent-%COMP%] li[_ngcontent-%COMP%] {\n width: 140px !important;\n margin-bottom: 17px;\n margin-top: 0px !important;\n min-height: 80px !important;\n}\nul.dialogPickerBig[_ngcontent-%COMP%] li[_ngcontent-%COMP%] a[_ngcontent-%COMP%] div[_ngcontent-%COMP%] {\n height: 50px !important;\n}\n.arrow_box_left[_ngcontent-%COMP%]:after, .arrow_box_left[_ngcontent-%COMP%]:before {\n left: 100% !important;\n}\n.arrow_box_left[_ngcontent-%COMP%]:after {\n border-left-color: #ffffff !important;\n border-right-color: transparent !important;\n}\n.arrow_box_left[_ngcontent-%COMP%]:before {\n border-left-color: #dddddd !important;\n border-right-color: transparent !important;\n}\n.arrow_box_bottom[_ngcontent-%COMP%]:after, .arrow_box_bottom[_ngcontent-%COMP%]:before {\n top: initial;\n left: 40%;\n bottom: 100% !important;\n}\n.arrow_box_bottom[_ngcontent-%COMP%]:after {\n border-bottom-color: #ffffff !important;\n border-right-color: transparent !important;\n margin-left: -6px;\n}\n.arrow_box_bottom[_ngcontent-%COMP%]:before {\n border-bottom-color: #dddddd !important;\n border-right-color: transparent !important;\n margin-left: -9px;\n}\ndiv.price_calculator[_ngcontent-%COMP%] {\n left: -260px;\n top: 46px;\n width: 250px;\n height: 138px;\n padding: 12px 0px 3px 8px;\n border-radius: 3px;\n position: absolute !important;\n}\ndiv.price_calculator[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n border: 0px !important;\n border-bottom: 1px solid #dddddd !important;\n background-color: transparent !important;\n padding: 8px 5px 5px 5px !important;\n width: 60px !important;\n}\n.tooltip-component[_ngcontent-%COMP%] {\n position: relative;\n}\n.tooltip-component[_ngcontent-%COMP%]:hover > div.toolTip[_ngcontent-%COMP%] {\n display: block;\n}\n.tooltip-component[_ngcontent-%COMP%] div.toolTip[_ngcontent-%COMP%] {\n background: #ffffe1;\n border: 1px solid #dddddd;\n position: absolute;\n top: 110%;\n left: 0%;\n padding: 10px;\n display: none;\n text-align: center;\n min-height: 15px;\n margin-top: 0.1rem;\n}\n.tooltip-component[_ngcontent-%COMP%] div.toolTip.green[_ngcontent-%COMP%] {\n background: #caed9e;\n border: 4px solid #90d93f;\n}\n.tooltip-component[_ngcontent-%COMP%] div.toolTip[_ngcontent-%COMP%]:after, .tooltip-component[_ngcontent-%COMP%] div.toolTip[_ngcontent-%COMP%]:before {\n content: "";\n position: absolute;\n top: 0;\n left: 50%;\n width: 0;\n height: 0;\n border: 5px solid transparent;\n}\n.tooltip-component[_ngcontent-%COMP%] div.toolTip[_ngcontent-%COMP%]::after {\n border-bottom-color: #ffffe1;\n border-top: 0;\n margin-left: -5px;\n margin-top: -5px;\n}\n.tooltip-component[_ngcontent-%COMP%] div.toolTip[_ngcontent-%COMP%]::before {\n border-bottom-color: #dddddd;\n border-top: 0;\n margin-left: -5px;\n margin-top: -6px;\n}\n.tooltip-component[_ngcontent-%COMP%] div.toolTip[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n margin: 0px;\n white-space: nowrap;\n color: #89b03e;\n text-shadow: 0px 1px 0px White;\n}\n.offline[_ngcontent-%COMP%] .modal-header[_ngcontent-%COMP%] {\n background-color: #c9302c !important;\n}\n.warning[_ngcontent-%COMP%] .modal-header[_ngcontent-%COMP%] {\n background-color: #f6a828 !important;\n}\n#dialogPromo[_ngcontent-%COMP%] table[_ngcontent-%COMP%] {\n min-width: 400px;\n}\n#dialogPromo[_ngcontent-%COMP%] table.table-hover[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:hover {\n background-color: #89b03e;\n color: white;\n}\nfade-in[_ngcontent-%COMP%] {\n opacity: 1;\n \n transition: opacity 2s;\n}\n.fade-out[_ngcontent-%COMP%] {\n opacity: 0;\n \n transition: opacity 2s;\n z-index: 1;\n}\n.later-payment[_ngcontent-%COMP%] strong[_ngcontent-%COMP%] {\n font-size: 20px;\n}\n.later-payment[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n font-size: 20px;\n padding: 20px 10px !important;\n}\n.change-box[_ngcontent-%COMP%] {\n top: initial;\n height: auto;\n align-self: center;\n}\n.e-money[_ngcontent-%COMP%] {\n height: 65px;\n}\n@media only screen and (max-width: 1280px) {\n input[placeholder=Customer][_ngcontent-%COMP%] {\n width: 135px;\n }\n\n span.select2.select2-container[_ngcontent-%COMP%] {\n width: 135px !important;\n }\n}\n@media only screen and (max-width: 1215px) {\n input[placeholder=Customer][_ngcontent-%COMP%] {\n width: 120px;\n }\n\n span.select2.select2-container[_ngcontent-%COMP%] {\n width: 120px !important;\n }\n}\n@media only screen and (max-width: 1185px) {\n input[placeholder=Customer][_ngcontent-%COMP%] {\n width: 140px;\n }\n\n span.select2.select2-container[_ngcontent-%COMP%] {\n width: 140px !important;\n }\n}\n@media only screen and (max-width: 992px) {\n .pos-status[_ngcontent-%COMP%] {\n bottom: 10px;\n left: 10px;\n top: auto;\n }\n}\n.simple-keyboard[_ngcontent-%COMP%] {\n width: 20vw;\n position: absolute;\n left: 77%;\n top: 30%;\n z-index: 1200;\n}\n .hg-theme-default .hg-button {\n height: 70px !important;\n font-size: 16px !important;\n}\n .hg-button-bksp {\n width: 21px;\n}\n .hg-button[data-skbtn="{enter}"] {\n width: 90px;\n}\n.cashier[_ngcontent-%COMP%] {\n max-width: 37rem;\n}\ndiv.row.cart-table[_ngcontent-%COMP%] {\n border-left: solid 1px #CFCFCF;\n}\ndiv.row.cart-table[_ngcontent-%COMP%] div.col[_ngcontent-%COMP%] {\n overflow: auto;\n height: 250px;\n}\ndiv.row.cart-table[_ngcontent-%COMP%] div.col[_ngcontent-%COMP%] table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] {\n background: #FBFBF7;\n border-left: none;\n}\ndiv.row.cart-table[_ngcontent-%COMP%] div.col[_ngcontent-%COMP%] table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] th[_ngcontent-%COMP%] {\n font-size: 0.75rem;\n padding: 9px 5px !important;\n}\ndiv.row.cart-table[_ngcontent-%COMP%] div.col[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n font-size: 0.75rem;\n padding: 10px 5px;\n border-bottom: 1px solid #CFCFCF;\n}\ndiv.row.cart-table[_ngcontent-%COMP%] div.col[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td[_ngcontent-%COMP%]:first-child {\n padding-right: 0;\n}']}),o})();class Wr{}let Kn=(()=>{class o{}return o.Gopay={url:"https://res.cloudinary.com/pos/image/upload/v1623982216/POS/Images/Payment/PaymentDialog/GoPay48.jpg",label:"Go-Pay"},o.Ovo={url:"https://res.cloudinary.com/pos/image/upload/v1623982217/POS/Images/Payment/PaymentDialog/OVO48.webp",label:"OVO"},o.Dana={url:"https://res.cloudinary.com/pos/image/upload/v1623982216/POS/Images/Payment/PaymentDialog/Dana48.jpg",label:"Dana"},o.BcaMobile={url:"https://res.cloudinary.com/pos/image/upload/v1623982216/POS/Images/Payment/PaymentDialog/BCA_48.webp",label:"BCA Mobile"},o})();var Z=(()=>(function(o){o[o.Now=0]="Now",o[o.Later=1]="Later",o[o.QR=2]="QR",o[o.SplitPayment=3]="SplitPayment"}(Z||(Z={})),Z))();class Kr{constructor(){this.modalConfig=new T.O,this.viewState=Z.Now,this.isDemoKey=!1,this.payLaterEnabled=!1,this.payNowEnabled=!1,this.payNowNLaterEnabled=!1,this.toleranceAmount=0,this.logoPayment=[Kn.Gopay,Kn.Ovo,Kn.Dana,Kn.BcaMobile],this.numpadVisible=!1,this.modalConfig.title="Amount to Pay: ",this.modalConfig.disableKeyup=!0,this.modalConfig.customWidth="650px",this.modalConfig.bodyScrollable=!0}mapAppConfigJson(a){this.merchantName=a.PaymentConfigGopay.MerchantName,this.toleranceAmount=a.ModuleSell.ToleranceAmount,this.numpadVisible=a.ModuleSell.NumPadVisible;let t=a.ModuleSell.PaymentDialog;switch(this.config=t,this.uniquePaymentMethodOnSplit=t.UniquePaymentMethodOnSplit,t.EnabledOptions){case 0:this.viewState=Z.Now,this.payNowEnabled=!0;break;case 1:this.viewState=Z.Later,this.payLaterEnabled=!0;break;case 2:switch(t.DefaultOption){case 0:this.viewState=Z.Now;break;case 1:this.viewState=Z.Later}this.payNowNLaterEnabled=!0}}enableEMoneyModal(a){this.modalConfig.eMoney=a,this.modalConfig.hideCancel=a,this.modalConfig.hideClose=a,this.modalConfig.hideOk=a}get isStateNow(){return this.viewState==Z.Now}get isStateLater(){return this.viewState==Z.Later}get isStateSplit(){return this.viewState==Z.SplitPayment}get isStateQR(){return this.viewState==Z.QR}}let Xr=(()=>{class o{constructor(t,e,i,r,c,l,d){this._invoiceCalculatorService=t,this._posService=e,this._orderDataService=i,this._orderProcessorService=r,this._onlineStatusService=c,this._signalBroadCast=l,this.decimalPipe=d,this.defaultCashPaymentMethodID=0,this.isOnline=!0,this.salesOrderData=new $.m,this.subscribeToObservableChanges(),this.defaultCashPaymentMethodID=this.paymentList[0].ID}get State(){return this._State}set State(t){this._State=t}get denomination(){return this._posService.Data.Denomination}get appConfigJSON(){return this._posService.Data.AppConfigJSON}get toleranceAmount(){return this.appConfigJSON.ModuleSell.ToleranceAmount}get paymentList(){return null!=this._posService.Data?this._posService.Data.Payments:Array()}subscribeToObservableChanges(){this._onlineStatusService.getOnlineStatus$().subscribe(t=>{this.isOnline=t}),this._orderDataService.Data$.subscribe(t=>{this.salesOrderData=t})}getPaymentList(){return this.paymentList}submitOrder(t){this.salesOrderData.Payments=(0,an.d8)(En.j,t),this._orderDataService.pushNewValue(this.salesOrderData),this._orderDataService.submitOrder(this.appConfigJSON).then(e=>{this._signalBroadCast.BroadcastStateToCustomerDisplay(O.IsComplete,e.ObjectID,e.LoyaltyPoint,this.salesOrderData.TotalPaidAmount-this._invoiceCalculatorService.Data),e=this.setFinalAmountOfflineOrder(e),this._orderProcessorService.updatePosState(O.IsComplete,e)},e=>{null==e.error&&(this._orderDataService.pushNewValue(this.salesOrderData),this._orderProcessorService.updatePosState(O.UploadOrderFail))})}setFinalAmountOfflineOrder(t){return 0==this.isOnline&&(t.Final=this._invoiceCalculatorService.Data),t}generateCashSuggestion(){const t=this.paymentList.filter(i=>1==i.TypeID),e=[];return t.length>0&&(e.push(this._invoiceCalculatorService.Data),this.defaultCashPaymentMethodID=t[0].ID,this.denomination.forEach(i=>{let r=this._invoiceCalculatorService.Data/i;r=Math.ceil(r);const c=r*i;c!=this._invoiceCalculatorService.Data&&-1===e.indexOf(c)&&e.length<3&&e.push(c)})),e}}return o.\u0275fac=function(t){return new(t||o)(n.LFG(G),n.LFG(D),n.LFG(S),n.LFG(R),n.LFG(nn.q),n.LFG(bn),n.LFG(_.JJ))},o.\u0275prov=n.Yz7({token:o,factory:o.\u0275fac,providedIn:"root"}),o})();var na=m(5427);function ta(o,a){if(1&o&&(n.TgZ(0,"span"),n._uU(1),n.qZA()),2&o){const t=n.oxw();n.xp6(1),n.hij(" (+",null==t.posData?null:t.posData.Invoice.SurchargePcg,"%) ")}}const gt=function(o){return{selected:o}};function ea(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"a",13),n.NdJ("click",function(){return n.CHM(t),n.oxw(4).onSplitClick()}),n._uU(1," Split "),n.TgZ(2,"span",14),n._uU(3,"Payment"),n.qZA(),n.qZA()}if(2&o){const t=n.oxw(4);n.Q6J("ngClass",n.VKq(1,gt,t.modalFields.isStateSplit))}}function oa(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"a",10),n.NdJ("click",function(){return n.CHM(t),n.oxw(4).onLaterClick()}),n._uU(1," Later "),n.TgZ(2,"span",14),n._uU(3,"Take Credit"),n.qZA(),n.qZA()}if(2&o){const t=n.oxw(4);n.Q6J("ngClass",n.VKq(1,gt,t.modalFields.isStateLater))}}function ia(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div"),n.TgZ(1,"a",10),n.NdJ("click",function(){return n.CHM(t),n.oxw(3).onNowClick()}),n._uU(2," Now "),n.qZA(),n.YNc(3,ea,4,3,"a",11),n.YNc(4,oa,4,3,"a",12),n.qZA()}if(2&o){const t=n.oxw(3);n.xp6(1),n.Q6J("ngClass",n.VKq(3,gt,t.modalFields.isStateNow)),n.xp6(2),n.Q6J("ngIf",t.cashPaymentChange<0&&t.modalFields.config.SplitPaymentMethodEnabled),n.xp6(1),n.Q6J("ngIf",0==t.modalFields.payNowEnabled&&!t.userRole.CreditSalesLock)}}function ra(o,a){if(1&o&&(n.TgZ(0,"div",9),n.YNc(1,ia,5,5,"div",2),n.qZA()),2&o){const t=n.oxw(2);n.xp6(1),n.Q6J("ngIf",t.modalFields.payNowNLaterEnabled||t.modalFields.payNowEnabled)}}const aa=function(o,a){return{active:o,"font-12":a}};function ca(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",27),n.TgZ(1,"a",28),n.NdJ("click",function(){const r=n.CHM(t).$implicit;return n.oxw(3).updateCashPayment(r)}),n._uU(2),n.ALo(3,"number"),n.qZA(),n.qZA()}if(2&o){const t=a.$implicit,e=n.oxw(3);n.xp6(1),n.Q6J("ngClass",n.WLB(5,aa,(null==e.Payments[0]?null:e.Payments[0].MethodID)==e.defaultCashPaymentMethodID&&(null==e.Payments[0]?null:e.Payments[0].PaidAmount)==t,e.modalFields.paymentSuggestion[0].toString().length>8)),n.xp6(1),n.AsE("",null==e.cashierCalculatorService?null:e.cashierCalculatorService.currencySymbol," ",n.lcZ(3,3,t),"")}}function sa(o,a){if(1&o&&(n.TgZ(0,"div",29),n._uU(1),n.ALo(2,"number"),n.qZA()),2&o){const t=n.oxw(3);n.Q6J("ngClass",t.cashPaymentChange>0?"success":"danger"),n.xp6(1),n.AsE(" ",null==t.cashierCalculatorService?null:t.cashierCalculatorService.currencySymbol," ",n.lcZ(2,3,t.cashPaymentChange)," ")}}const la=function(o){return{background:o}};function da(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",33),n.TgZ(1,"a",34),n.NdJ("click",function(){const r=n.CHM(t).$implicit,c=n.oxw(4);return c.onPaymentMethodChanged(r),c.payWithEmoney(r)}),n.TgZ(2,"span",35),n._UZ(3,"img",36),n.qZA(),n.TgZ(4,"span",37),n._uU(5),n.ALo(6,"limitTo"),n.qZA(),n.qZA(),n.qZA()}if(2&o){const t=a.$implicit,e=n.oxw(4);n.xp6(1),n.Akn(n.VKq(11,la,"ovo"==t.Name.toLowerCase()?"#4c3394":"white")),n.Q6J("ngClass",e.Payments[0].MethodID===t.ID?"active":""),n.xp6(1),n.Q6J("hidden",null==t.ImageUrl),n.xp6(1),n.Q6J("src",t.ImageUrl,n.LSH),n.xp6(1),n.s9C("title",t.Name),n.Q6J("hidden",null!=t.ImageUrl),n.xp6(1),n.hij(" ",n.xi3(6,8,t.Name,20)," ")}}function pa(o,a){if(1&o&&(n.TgZ(0,"div",30),n.TgZ(1,"div",16),n._UZ(2,"i",31),n._uU(3," E-Money "),n.qZA(),n.TgZ(4,"div",18),n.TgZ(5,"div",21),n.YNc(6,da,7,13,"div",32),n.qZA(),n.qZA(),n.qZA()),2&o){const t=n.oxw(3);n.xp6(6),n.Q6J("ngForOf",t.getTypePaymentList(3))}}function ga(o,a){if(1&o&&(n.TgZ(0,"div",16),n._UZ(1,"i"),n._uU(2),n.qZA()),2&o){const t=n.oxw().$implicit;n.xp6(1),n.Tol(t.Icon),n.xp6(1),n.hij(" ",t.Name," ")}}function ua(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",33),n.TgZ(1,"a",41),n.NdJ("click",function(){const r=n.CHM(t).$implicit;return n.oxw(5).onPaymentMethodChanged(r)}),n._uU(2),n.ALo(3,"limitTo"),n.qZA(),n.qZA()}if(2&o){const t=a.$implicit,e=n.oxw(5);n.xp6(1),n.s9C("title",t.Name),n.Q6J("ngClass",e.Payments[0].MethodID===t.ID?"active":""),n.xp6(1),n.hij(" ",n.xi3(3,3,t.Name,20)," ")}}function _a(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",42),n.TgZ(1,"div",43),n.TgZ(2,"input",44),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw(5).Payments[0].Note=i}),n.qZA(),n.TgZ(3,"input",45),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw(5).Payments[0].Code=i}),n.qZA(),n.qZA(),n.qZA()}if(2&o){const t=n.oxw(5);n.xp6(2),n.Q6J("ngModel",t.Payments[0].Note),n.xp6(1),n.Q6J("ngModel",t.Payments[0].Code)("maxlength",t.userRole.PaymentCodeLock?1:void 0)}}function ha(o,a){if(1&o&&(n.TgZ(0,"div",18),n.TgZ(1,"div",21),n.YNc(2,ua,4,6,"div",32),n.qZA(),n.YNc(3,_a,4,3,"div",40),n.qZA()),2&o){const t=n.oxw().$implicit,e=n.oxw(3);n.xp6(2),n.Q6J("ngForOf",e.getTypePaymentList(t.ID)),n.xp6(1),n.Q6J("ngIf",e.isOtherPayment(t.ID))}}function ma(o,a){if(1&o&&(n.TgZ(0,"div",30),n.YNc(1,ga,3,4,"div",38),n.YNc(2,ha,4,2,"div",39),n.qZA()),2&o){const t=a.$implicit,e=n.oxw(3);n.xp6(1),n.Q6J("ngIf",e.getTypePaymentList(t.ID).length>0),n.xp6(1),n.Q6J("ngIf",e.getTypePaymentList(t.ID).length>0)}}function fa(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div"),n.TgZ(1,"div",15),n.TgZ(2,"div",16),n._UZ(3,"i",17),n._uU(4," Cash "),n.qZA(),n.TgZ(5,"div",18),n.TgZ(6,"div",19),n.YNc(7,ca,4,8,"div",20),n.qZA(),n.TgZ(8,"div",21),n.TgZ(9,"div",22),n.TgZ(10,"input",23),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw(2).inputAmountString=i})("ngModelChange",function(){n.CHM(t);const i=n.oxw(2);return i.updateCashPayment(i.inputAmountString)}),n.qZA(),n.YNc(11,sa,3,5,"div",24),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.YNc(12,pa,7,1,"div",25),n.YNc(13,ma,3,2,"div",26),n.qZA()}if(2&o){const t=n.oxw(2);n.xp6(7),n.Q6J("ngForOf",t.modalFields.paymentSuggestion),n.xp6(3),n.Q6J("simpleKeyboard",t.keyboard)("ngModel",t.inputAmountString),n.xp6(1),n.Q6J("ngIf",0!=t.cashPaymentChange),n.xp6(1),n.Q6J("ngIf",t.getTypePaymentList(3).length>0&&t.isOnline),n.xp6(1),n.Q6J("ngForOf",t.paymentTypes)}}function Ca(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div"),n.TgZ(1,"div",46),n.TgZ(2,"strong",47),n._uU(3,"Due"),n.qZA(),n.TgZ(4,"datepicker",48),n.NdJ("dateChange",function(i){return n.CHM(t),n.oxw(2).modalFields.payLaterDueDate=i})("dateChange",function(){return n.CHM(t),n.oxw(2).dueDateChange()}),n.qZA(),n.qZA(),n.TgZ(5,"div",49),n.TgZ(6,"strong",50),n._uU(7,"Days Due"),n.qZA(),n.TgZ(8,"input",51),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw(2).modalFields.payLaterDueDays=i})("ngModelChange",function(){return n.CHM(t),n.oxw(2).dueDayChange()}),n.qZA(),n.qZA(),n.qZA()}if(2&o){const t=n.oxw(2);n.xp6(4),n.Q6J("date",t.modalFields.payLaterDueDate)("displayToggle",!1),n.xp6(4),n.Q6J("simpleKeyboard",t.keyboard)("ngModel",t.modalFields.payLaterDueDays)}}function Pa(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",52),n.TgZ(1,"div",53),n.TgZ(2,"div",54),n.TgZ(3,"strong",55),n._uU(4,"Payment 2:"),n.qZA(),n.qZA(),n.TgZ(5,"div",56),n.TgZ(6,"ng-select",57),n.NdJ("change",function(i){return n.CHM(t),n.oxw(2).onSplitPaymentMethodAssigned(i)}),n.qZA(),n.qZA(),n.qZA(),n.TgZ(7,"div",58),n.TgZ(8,"strong",59),n._uU(9,"Amount 2:"),n.qZA(),n.TgZ(10,"input",60),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw(2).paymentSplitValueChange(i)}),n.qZA(),n.qZA(),n.qZA()}if(2&o){const t=n.oxw(2);n.xp6(6),n.Q6J("items",t.splitPaymentMethodList)("ngModel",null==t.Payments[1]?null:t.Payments[1].MethodID),n.xp6(4),n.Q6J("ngModel",t.paymentSplitDefaultVal)}}function Oa(o,a){if(1&o&&(n.TgZ(0,"div",6),n.YNc(1,ra,2,1,"div",7),n.YNc(2,fa,14,6,"div",2),n.YNc(3,Ca,9,4,"div",2),n.YNc(4,Pa,11,3,"div",8),n.qZA()),2&o){const t=n.oxw();n.xp6(1),n.Q6J("ngIf",0==t.modalFields.payLaterEnabled),n.xp6(1),n.Q6J("ngIf",t.modalFields.isStateNow),n.xp6(1),n.Q6J("ngIf",t.modalFields.isStateLater),n.xp6(1),n.Q6J("ngIf",t.modalFields.isStateSplit)}}function Ma(o,a){if(1&o&&(n.TgZ(0,"h5",67),n._uU(1),n.qZA()),2&o){const t=n.oxw(2);n.xp6(1),n.Oqu(t.modalFields.merchantName)}}function ba(o,a){if(1&o&&(n.TgZ(0,"div",68),n.TgZ(1,"p"),n._UZ(2,"i",69),n._uU(3," This QR is intended for Testing Purpose only, "),n.TgZ(4,"a",70),n._uU(5,"register for a new account here."),n.qZA(),n.qZA(),n.qZA()),2&o){const t=n.oxw(2);n.xp6(4),n.Q6J("href",t.sanitize("https://www.dealpos.co.id/tour/mobile-payment"),n.LSH)}}function xa(o,a){if(1&o&&(n.TgZ(0,"div",71),n._UZ(1,"img",72),n.TgZ(2,"div",73),n._uU(3),n.qZA(),n.qZA()),2&o){const t=a.$implicit;n.xp6(1),n.s9C("src",t.url,n.LSH),n.xp6(2),n.hij(" ",t.label," ")}}function va(o,a){if(1&o&&(n.TgZ(0,"div",61),n._UZ(1,"img",62),n.YNc(2,Ma,2,1,"h5",63),n.YNc(3,ba,6,1,"div",64),n.TgZ(4,"div",65),n.YNc(5,xa,4,2,"div",66),n.qZA(),n.qZA()),2&o){const t=n.oxw();n.xp6(1),n.Q6J("src",t.qrImage,n.LSH),n.xp6(1),n.Q6J("ngIf",t.modalFields.merchantName),n.xp6(1),n.Q6J("ngIf",t.modalFields.isDemoKey),n.xp6(2),n.Q6J("ngForOf",t.modalFields.logoPayment)}}function ya(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"a",74),n.NdJ("click",function(){return n.CHM(t),n.oxw().validateEMoneyPayment()}),n._uU(1," Verify Payment Settlement "),n.qZA()}}let Da=(()=>{class o{constructor(t,e,i,r,c,l,d,s,p,f,M,b,I,v,x,pn){this.dialogRef=t,this._orderDataService=e,this.cashierCalculatorService=i,this._paymentService=r,this._posHubService=c,this._posService=l,this._toastr=d,this._dialog=s,this._paymentGatewayService=p,this.decimalPipe=f,this.sanitizer=M,this._orderProcessorService=b,this._numpadService=I,this._userRoleService=v,this._customerHttpService=x,this._onlineStatusService=pn,this.modalFields=new Kr,this.userRole=new K.Q,this.posData=new $.m,this.AppConfigJSON=new ln,this.Payments=[],this.math=Math,this.inputAmountString=null,this.isOnline=!0,this.paymentSplitDefaultVal=0,this.defaultCashPaymentMethodID=0,this.destroy$=new N.xQ,this.AppConfigJSON=this._posService.Data.AppConfigJSON,this.modalFields.mapAppConfigJson(this.AppConfigJSON),this.initializeDefaultValues(),this.subscribeToObservableChanges()}get firstPayment(){return this.Payments[0]}set firstPayment(t){this.Payments[0]=t}get cashPaymentChange(){return(this.firstPayment?this.firstPayment.PaidAmount:0)-this.cashierCalculatorService.Data}subscribeToObservableChanges(){this._orderDataService.Data$.pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.posData=t}),this._orderProcessorService.Data$.pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.posState=t.posState,this.initializeInvoicePaymentsValue(this.posState)}),this._onlineStatusService.getOnlineStatus$().pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.isOnline=t})}initializeInvoicePaymentsValue(t){t!==O.IsEdit?(this.firstPayment=new En.j,this.firstPayment.Amount=this.cashierCalculatorService.Data,this.firstPayment.PaidAmount=this.cashierCalculatorService.Data,this.firstPayment.MethodID=this.defaultCashPaymentMethodID):(this.Payments=this.posData.Payments,this.initFirstPayment(),this.paymentSplitDefaultVal=this.Payments[1]?this.Payments[1].PaidAmount:null)}initFirstPayment(){this.firstPayment?2!=this.Payments.length&&(this.firstPayment.Amount=this.cashierCalculatorService.Data,this.firstPayment.PaidAmount=this.cashierCalculatorService.Data):(this.firstPayment=new En.j,this.firstPayment.Amount=this.cashierCalculatorService.Data,this.firstPayment.PaidAmount=this.cashierCalculatorService.Data,this.firstPayment.MethodID=this.defaultCashPaymentMethodID);const t=this.firstPayment.Amount;this.inputAmountString=t?t.toString():null}initializeDefaultValues(){this.modalFields.paymentSuggestion=this._paymentService.generateCashSuggestion(),this.paymentMethodList=this._posService.Data.Payments,this.splitPaymentMethodList=this._posService.Data.Payments,this.paymentTypes=this._posService.Data.PaymentTypes,this.defaultCashPaymentMethodID=this._paymentService.defaultCashPaymentMethodID,this._userRoleService.Data$.pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.userRole=t})}ngOnInit(){this.modalFields.numpadVisible&&(this.keyboard=this._numpadService.keyboard),this.initDefaultDueDays()}initDefaultDueDays(){let t=this._customerHttpService.Data,e=t?t.DueDays:null,i=t?t.DueMonths:null,r=new Date;r.setHours(0,0,0,0);let c=new Date;c.setHours(0,0,0,0),i&&r.setMonth(r.getMonth()+i),e||(e=this.modalFields.config.DefaultDueDays),r.setDate(r.getDate()+e),this.modalFields.payLaterDueDate=r,this.modalFields.payLaterDueDays=g.gT.calculateNumberBetweenDate(c,r),this.posData.Invoice.Due=this.modalFields.payLaterDueDate}onBack(){this.modalFields.viewState=Z.Now,this.changeModalForEmoney(!1)}onOk(){!this.validateSerialItem()||(this.posData.Action.Type=Pn.q.Payment,this.posData.Order.InvoicedStateID=gn.Complete,this.posData.Action.Type=Pn.q.Payment,this.modalFields.viewState!=Z.Later?this.validatePay()&&(this.posData.Invoice.Due=null,this.validatePaymentSplit(),this._paymentService.submitOrder(this.Payments),this.close()):this.validatePaymentLater(this.userRole)&&(this._paymentService.submitOrder(this.Payments),this.close()))}validateSerialItem(){let t=this.findItemWithoutSerial();return!(t.length>0&&!g.gT.IsEmpty(this.posData.Action.DeliveryEntityID)&&(this.dialogRef.close(),this.showModalSerialRequired(t[0]),1))}findItemWithoutSerial(){let t;return this.posData.CartItems.filter(i=>(t=!1,i.Variant&&4===i.Variant.TypeID&&(t=0===i.Serial.length),t))}validatePaymentLater(t){let e=this._customerHttpService.Data;if(this.IsCreditSales()&&t.CreditSalesLock)return alert(g.g7.creditLock),!1;const i=g.gT.IsEmpty(this.posData.Order.CustomerID);return this.modalFields.viewState==Z.Later&&i||this.IsCreditSales()&&i?(alert(g.g7.emptyCustomerCredit),!1):0===e.DebtLimit||!(e.Debt>=e.DebtLimit||0==e.Debt&&this.cashierCalculatorService.Data>e.DebtLimit||e.Debt+this.cashierCalculatorService.Data>e.DebtLimit)||(this._toastr.warning(g.g7.debtLimit,"Warning!"),!1)}showModalSerialRequired(t){this._dialog.open(Ut,{data:{message:`Serial can not Empty in ${t.Variant.Name}`,title:"Submit Order Error"},width:"350px"})}validatePaymentSplit(){const t=this.firstPayment.PaidAmount,e=this.Payments[1]?this.Payments[1].PaidAmount:0,i=this.cashierCalculatorService.Data;let r=[];t+this.modalFields.toleranceAmount>=i?(r=this.Payments.slice(0,1),0!==this.modalFields.toleranceAmount&&t<i&&(this.firstPayment.Amount=i),this.Payments=r):r=e+t===i?this.Payments.slice(0,2):this.Payments,this.Payments=r}validatePay(){if(this.IsDepositPayment()&&this.userRole.CreditSalesLock)return this._toastr.warning(g.g7.creditLock,Y.n.Warning),!1;if(!this.AppConfigJSON.ApplicationLoyalty.Rules.MixCashAndPoint&&this.posData.Order.PointUsed>0&&this.cashierCalculatorService.Data>0)return this._toastr.info(g.g7.partialLoyaltyPointUnable,Y.n.Info),!1;const t=this.posData.Order.PointUsed*this.AppConfigJSON.ApplicationLoyalty.LoyaltyPoint.RedeemPointValue;if(this.cashierCalculatorService.GetPointOnlyAmount()>0&&this.cashierCalculatorService.GetPointOnlyAmount()>t){const i=g.gT.StringFormat(g.g7.pointOnly,this.decimalPipe.transform(this.posData.PointOnlyAmount));return this._toastr.info(i,Y.n.Info),!1}const e=this.cashierCalculatorService.Data+this.posData.Order.DiscountAmount-t;if(this.cashierCalculatorService.GetCashOnlyAmount()>0&&this.cashierCalculatorService.GetCashOnlyAmount()>e&&Math.abs(this.cashierCalculatorService.GetCashOnlyAmount()-e)>this.modalFields.toleranceAmount){const i=g.gT.StringFormat(g.g7.cashOnly,this.decimalPipe.transform(this.posData.CashOnlyAmount));return this._toastr.info(i,Y.n.Info),!1}return this.IsDepositPayment()&&g.gT.IsEmpty(this.posData.Order.CustomerID)?(alert(g.g7.emptyCustomerDeposit),!1):!(this.posData.PrepaidPackageItem.length>0&&g.gT.IsEmpty(this.posData.Order.CustomerID)&&(this._toastr.info("Products with prepaid package type must use the customer",Y.n.Info),1))}onNowClick(){this.modalFields.viewState=Z.Now,this.deliveryRequiredPaymentCheck(),this.posData.Invoice.Due=null}onLaterClick(){this.modalFields.viewState=Z.Later,this.deliveryRequiredPaymentCheck()}onSplitClick(){this.modalFields.viewState=Z.SplitPayment}IsCreditSales(){return this.modalFields.viewState!=Z.Later||this.IsDepositPayment()}IsDepositPayment(){let t=!1;const e=this.Payments.map(l=>l.PaidAmount).reduce((l,d)=>l+d);return this.modalFields.toleranceAmount+e<this.cashierCalculatorService.Data&&(t=!0),t}close(){this.initializeDefaultValues(),this.dialogRef.close()}deliveryRequiredPaymentCheck(){return!0}updateCashPayment(t){const e=this.cashierCalculatorService.Data;this.paymentSplitDefaultVal=0,this.firstPayment.MethodID=this.defaultCashPaymentMethodID,this.firstPayment.Amount=e,this.firstPayment.PaidAmount=t,0!==this.posData.Invoice.SurchargePcg&&this.updateSurcharge(0),t<e&&(this.firstPayment.Amount=t,this.paymentSplitDefaultVal=e-t,this.filterSplitPaymentList(),this.changePaymentSplitValue())}changePaymentSplitValue(){this.Payments[1]&&(this.Payments[1].Amount=this.paymentSplitDefaultVal,this.Payments[1].PaidAmount=this.paymentSplitDefaultVal)}onPaymentMethodChanged(t){this.updateSurcharge(t.ExtraCharge);const e=this.cashierCalculatorService.Data;this.firstPayment.Amount=e,this.firstPayment.PaidAmount=e,this.firstPayment.MethodID=t.ID,t.ExtraCharge>0&&this.paymentSplitDefaultVal>0?this._toastr.warning("Cannot apply Split Payment for Payment Method with Surcharge","Warning"):this.paymentSplitDefaultVal>0&&(this.firstPayment.Amount=e-this.paymentSplitDefaultVal,this.firstPayment.PaidAmount=e-this.paymentSplitDefaultVal),this.filterSplitPaymentList()}filterSplitPaymentList(){this.modalFields.uniquePaymentMethodOnSplit&&(this.splitPaymentMethodList=this.paymentMethodList.filter(t=>t.ID!==this.firstPayment.MethodID))}updateSurcharge(t){this.posData.Invoice.SurchargePcg=t,this.posData.Invoice.TempSurchargePcg=t,this._orderDataService.pushNewValue(this.posData)}onSplitPaymentMethodAssigned(t){t?(this.Payments[1]=this.Payments[1]?this.Payments[1]:new En.j,this.Payments[1].MethodID=t.ID,this.Payments[1].MethodName=t.Name,this.Payments[1].Amount=this.paymentSplitDefaultVal,this.Payments[1].PaidAmount=this.paymentSplitDefaultVal):(this.Payments[1].Amount=0,this.Payments[1].PaidAmount=0)}paymentSplitValueChange(t){this.Payments[1].PaidAmount=t}isCardPayment(){return this.getTypePaymentList(2).findIndex(e=>e.ID==this.firstPayment.MethodID)>=0}isOtherPayment(t){return this.getTypePaymentList(t).findIndex(e=>e.ID==this.firstPayment.MethodID)>=0}getTypePaymentList(t){return this._paymentService.getPaymentList().filter(i=>i.TypeID==t)}getSplitPaymentList(t,e=0){let i=this._paymentService.getPaymentList();return t||(i=i.filter(r=>r.ID!=this.Payments[e].MethodID)),i}payWithEmoney(t){const e=new Wr;e.RegisterID=this.posData.Order.RegisterID,e.InvoiceNumber=this.posData.Order.Number,e.Amount=this.cashierCalculatorService.Data,this._paymentGatewayService.generateQR(e,t).pipe((0,C.R)(this.destroy$)).subscribe(i=>{this.qrImage=i.Url,this.modalFields.isDemoKey=i.IsDemoKey,this.showModalQRIS()},i=>{this.onErrorGenerateQR(i)})}showModalQRIS(){this.modalFields.viewState=Z.QR,this.changeModalForEmoney(!0)}onErrorGenerateQR(t){400==t.status?this.validateEMoneyPayment():this._toastr.error(g.g7.failGenerateQR,Y.n.Error)}validateEMoneyPayment(){this._paymentGatewayService.validateEMoneyPayment(this.AppConfigJSON).pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.dialogRef.close();const i=`IDR ${this.decimalPipe.transform(t.Final)} received. Please verify in customer mobile app!`;this._toastr.success(i," QR Settlement"),this._orderProcessorService.updatePosState(O.IsComplete,t)})}changeModalForEmoney(t){this.modalFields.enableEMoneyModal(t),t||this._posHubService.BroadcastQRToCustomerDisplay("")}dueDateChange(){const t=new Date(this.posData.Order.Date);let e=this.modalFields.payLaterDueDate?this.modalFields.payLaterDueDate:new Date;t.setHours(0,0,0,0),this.modalFields.payLaterDueDays=g.gT.calculateNumberBetweenDate(t,e),this.posData.Invoice.Due=e.toJSON()}dueDayChange(){const t=new Date(this.posData.Order.Date);t.setDate(t.getDate()+this.modalFields.payLaterDueDays),t.setHours(0,0,0,0),this.modalFields.payLaterDueDate=t,this.posData.Invoice.Due=t.toJSON()}sanitize(t){return this.sanitizer.bypassSecurityTrustUrl(t)}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete()}}return o.\u0275fac=function(t){return new(t||o)(n.Y36(P.so),n.Y36(S),n.Y36(G),n.Y36(Xr),n.Y36(bn),n.Y36(D),n.Y36(A._W),n.Y36(P.uw),n.Y36(Zt),n.Y36(_.JJ),n.Y36(na.H7),n.Y36(R),n.Y36(pt.u),n.Y36(en),n.Y36(_n.r),n.Y36(nn.q))},o.\u0275cmp=n.Xpm({type:o,selectors:[["POS-modal-payment"]],decls:11,vars:8,consts:[[3,"config","keydown.NumpedEnter","keydown.Enter","keydown.F2","onOk","onCancel","onClose","onBack"],[1,"mt-1","ml-2"],[4,"ngIf"],["class","container w-100 h-100",4,"ngIf"],["class","text-center position-relative w-100",4,"ngIf"],["class","btn btn-light-blue text-primary btn-lg font-weight-bold mr-5 py-8",3,"click",4,"ngIf"],[1,"container","w-100","h-100"],["class","row border-bottom",4,"ngIf"],["style","margin-bottom: 80px;","class","row py-5",4,"ngIf"],[1,"row","border-bottom"],[1,"btn","btn-link",3,"ngClass","click"],["class","btn btn-link","data-cy","Split",3,"ngClass","click",4,"ngIf"],["class","btn btn-link",3,"ngClass","click",4,"ngIf"],["data-cy","Split",1,"btn","btn-link",3,"ngClass","click"],[2,"font-size","10px","font-style","italic"],[1,"row","py-5"],[1,"col-3","h5","pt-5"],[1,"fas","fa-money-bill-wave"],[1,"col-9"],[1,"row","mb-5"],["class","col-4 pr-0 pl-4",4,"ngFor","ngForOf"],[1,"row"],[1,"col","pr-0","pl-4"],["id","cashInput","type","text","keyboardType","number","placeholder","Custom Cash Amount","data-cy","CustomAmount","autoNum","",1,"form-control","form-control-lg","py-10",3,"simpleKeyboard","ngModel","ngModelChange"],["class","change",3,"ngClass",4,"ngIf"],["class","row border-top py-5",4,"ngIf"],["class","row border-top py-5",4,"ngFor","ngForOf"],[1,"col-4","pr-0","pl-4"],[1,"btn","btn-outline-info","btn-block","px-1","py-6",3,"ngClass","click"],[1,"change",3,"ngClass"],[1,"row","border-top","py-5"],[1,"fas","fa-qrcode"],["class","col-auto pb-3 pl-4 pr-0",4,"ngFor","ngForOf"],[1,"col-auto","pb-3","pl-4","pr-0"],[1,"btn","btn-outline-info","btn-block",3,"ngClass","click"],[3,"hidden"],[3,"src"],[3,"hidden","title"],["class","col-3 h5 pt-5",4,"ngIf"],["class","col-9",4,"ngIf"],["class","position-relative margin-note row",4,"ngIf"],[1,"btn","btn-outline-info","btn-block",3,"ngClass","title","click"],[1,"position-relative","margin-note","row"],[1,"paymentNote","form-inline","w-100"],["type","text","placeholder","Payment Note",1,"form-control","border-right-0","py-10","col-6",3,"ngModel","ngModelChange"],["type","text","placeholder","Payment Code",1,"form-control","border-left-0","py-10","paymentCode","col-6",3,"ngModel","maxlength","ngModelChange"],[1,"row","d-flex","align-items-center","no-gutters","later-payment","date-picker","mt-4"],[1,"col-3"],["name","orderDate",1,"col-9",3,"date","displayToggle","dateChange"],[1,"row","d-flex","align-items-center","no-gutters","later-payment","mt-10"],["id","daysInput",1,"col-3"],["id","day","type","text","keyboardType","number","autoNum","",1,"col-9",3,"simpleKeyboard","ngModel","ngModelChange"],[1,"row","py-5",2,"margin-bottom","80px"],[1,"col-6","d-flex","align-items-center","pr-0"],[1,"col-auto","px-0"],[1,"mr-2"],[1,"col"],["bindLabel","Name","bindValue","ID","placeholder","Payment","appendTo","body","data-cy","Payment2",1,"ng-select-width","category-select",3,"items","ngModel","change"],[1,"col-6","d-flex","justify-content-end","align-items-center","text-right"],[1,"mr-3"],["type","text","autoNum","","disabled","",1,"text-right","height-input",3,"ngModel","ngModelChange"],[1,"text-center","position-relative","w-100"],["alt","Gopay QR",1,"mx-auto","d-block","logo-gopay",2,"height","300px","line-height","50px",3,"src"],["class","position-relative","style","top:-17px",4,"ngIf"],["class","alert-warning qrDemo pt-2 pb-2 border border-1",4,"ngIf"],[1,"row","justify-content-center"],["class","col-auto qris",4,"ngFor","ngForOf"],[1,"position-relative",2,"top","-17px"],[1,"alert-warning","qrDemo","pt-2","pb-2","border","border-1"],[1,"fas","fa-info-circle","mr-1"],["target","_blank",3,"href"],[1,"col-auto","qris"],[1,"d-block","mx-auto","mb-2",3,"src"],[1,"text-center"],[1,"btn","btn-light-blue","text-primary","btn-lg","font-weight-bold","mr-5","py-8",3,"click"]],template:function(t,e){1&t&&(n.TgZ(0,"modal-material",0),n.NdJ("keydown.NumpedEnter",function(){return e.onOk()})("keydown.Enter",function(){return e.onOk()})("keydown.F2",function(){return e.onOk()})("onOk",function(){return e.onOk()})("onCancel",function(){return e.close()})("onClose",function(){return e.close()})("onBack",function(){return e.onBack()}),n.TgZ(1,"header"),n.TgZ(2,"div",1),n.YNc(3,ta,2,1,"span",2),n._uU(4),n.ALo(5,"number"),n.qZA(),n.qZA(),n.TgZ(6,"content"),n.YNc(7,Oa,5,4,"div",3),n.YNc(8,va,6,4,"div",4),n.qZA(),n.TgZ(9,"footer"),n.YNc(10,ya,2,0,"a",5),n.qZA(),n.qZA()),2&t&&(n.Q6J("config",e.modalFields.modalConfig),n.xp6(3),n.Q6J("ngIf",(null==e.posData?null:e.posData.Invoice.SurchargePcg)>0),n.xp6(1),n.hij(" ",e.userRole.PriceVisibleRestriction?"-":n.lcZ(5,6,e.cashierCalculatorService.Data)," "),n.xp6(3),n.Q6J("ngIf",!e.modalFields.isStateQR),n.xp6(1),n.Q6J("ngIf",e.modalFields.isStateQR),n.xp6(2),n.Q6J("ngIf",e.modalFields.isStateQR))},directives:[y.M,_.O5,_.mk,_.sg,h.Fj,cn.b,Lt.V,h.JJ,h.On,h.nD,vn.QB,X.w9],pipes:[_.JJ,J.OI],styles:['.margin-note[_ngcontent-%COMP%] {\n margin-left: -7px !important;\n}\n.quickKeyTabs[_ngcontent-%COMP%] {\n margin-right: -15px;\n margin-left: -7px;\n}\n.change[_ngcontent-%COMP%] {\n position: absolute;\n top: 1px;\n height: 40px;\n background: #89b03e;\n color: #fff;\n right: 0px;\n padding: 0 10px;\n line-height: 40px;\n font-size: 16px;\n}\n.change[_ngcontent-%COMP%]:before {\n content: "\\a";\n border-style: solid;\n border-width: 40px 24px 0 0;\n border-color: transparent #89b03e transparent transparent;\n position: absolute;\n left: -24px;\n}\n.change.danger[_ngcontent-%COMP%] {\n background: #c9302c;\n}\n.change.danger[_ngcontent-%COMP%]:before {\n border-color: transparent #c9302c transparent transparent;\n}\n.paymentNote[_ngcontent-%COMP%]::before {\n z-index: 10;\n content: "";\n position: absolute;\n top: 0;\n left: calc(50% - 10px);\n height: 100%;\n width: 10px;\n background-color: inherit;\n border-right: 1px solid lightgray;\n transform: skewX(-10deg);\n}\n.height-input[_ngcontent-%COMP%] {\n height: 37px;\n}\n.btn-link[_ngcontent-%COMP%] {\n padding-top: 0px;\n color: #868686;\n padding-bottom: 8px;\n border-radius: unset;\n font-family: "Roboto Slab", serif;\n}\n.btn-link.selected[_ngcontent-%COMP%] {\n color: #3B3B3B;\n border-bottom: 4px solid #07a519;\n}\n.later-payment[_ngcontent-%COMP%] strong[_ngcontent-%COMP%] {\n font-size: 20px;\n}\n.later-payment[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n font-size: 20px;\n padding: 20px 10px !important;\n}\n .later-payment.date-picker .mat-form-field {\n font-size: 4px;\n}\n.phone[_ngcontent-%COMP%] div[_ngcontent-%COMP%] {\n height: 50px;\n width: 50px;\n padding-top: 11px;\n background-color: #f5f5f5;\n border: 1px solid gray !important;\n}\n.phone[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n padding-left: 65px !important;\n border: 1px solid gray !important;\n font-size: 25px;\n height: 50px;\n}\n.phone[_ngcontent-%COMP%] .form-control[_ngcontent-%COMP%]:focus {\n border-color: #8bb8df !important;\n}\n.qris[_ngcontent-%COMP%] div[_ngcontent-%COMP%] {\n font-size: 0.75rem;\n}\n.ng-select.ng-select-width[_ngcontent-%COMP%] .ng-select-container {\n width: 160px;\n max-width: 160px;\n}\n.qrDemo[_ngcontent-%COMP%] {\n position: relative;\n top: -10px;\n}\n.qrDemo[_ngcontent-%COMP%] > p[_ngcontent-%COMP%] {\n margin-bottom: 0px;\n}\ninput[type=text][_ngcontent-%COMP%]:disabled {\n background: #dadada;\n}\n ng-dropdown-panel.category-select {\n z-index: 1100;\n}']}),o})(),Sa=(()=>{class o{constructor(t,e){this._dialogRef=t,this._orderProcessorService=e,this.modalConfig=new T.O,this.modalConfig.title="Clear Order?",this.modalConfig.headerType=Y.n.Success}ngOnInit(){}onOk(){this._orderProcessorService.createNewTransactionInSameOutletRegister(!1),this.close()}close(){this._dialogRef.close()}}return o.\u0275fac=function(t){return new(t||o)(n.Y36(P.so),n.Y36(R))},o.\u0275cmp=n.Xpm({type:o,selectors:[["POS-modal-clear"]],decls:4,vars:2,consts:[[3,"config","onOk","onCancel","onClose"],[1,"font-weight-normal"]],template:function(t,e){1&t&&(n.TgZ(0,"modal-material",0),n.NdJ("onOk",function(){return e.onOk()})("onCancel",function(){return e.close()})("onClose",function(){return e.close()}),n.TgZ(1,"content"),n.TgZ(2,"h4",1),n._uU(3),n.qZA(),n.qZA(),n.qZA()),2&t&&(n.Q6J("config",e.modalConfig),n.xp6(3),n.Oqu("This will replace current order's item(s) with blank order."))},directives:[y.M],styles:[""]}),o})(),wa=(()=>{class o{constructor(t,e,i,r){this._dialogRef=t,this._orderService=e,this._invoiceCalculatorService=i,this._posHttpResponseService=r,this.modalConfig=new T.O,this.discounts=[],this.modalConfig.title="Order Discount",this.modalConfig.showMoreButton=!0,this.salesOrderData=this._orderService.Data,this.discount1=this.salesOrderData.Order.Discount,this.discount2=this.salesOrderData.Order.Discount2,this.discountAmount=this.salesOrderData.Order.DiscountAmount,this.surcharge=this.salesOrderData.Invoice.SurchargePcg,this.discountAfterTax=this._invoiceCalculatorService.discountAfterTax,this.currencySymbol=this._invoiceCalculatorService.currencySymbol}onOk(){this.salesOrderData.Order.Discount=this.discount1,this.salesOrderData.Order.Discount2=this.discount2,this.salesOrderData.Invoice.SurchargePcg=this.surcharge,this.salesOrderData.Invoice.TempSurchargePcg=this.surcharge,this.salesOrderData.Order.DiscountAmount=this.discountAmount,this._invoiceCalculatorService.discountAfterTax=this.discountAfterTax,this._orderService.pushNewValue(this.salesOrderData),this.close()}close(){this._dialogRef.close()}onDiscountAfterTaxChange(){this.discountAmount=this.discountAfterTax;let e=this._invoiceCalculatorService.TotalBeforeTax-this.discountAmount,c=g.gT.FilterByID(this._posHttpResponseService.Data.Taxes,this._orderService.Data.Order.TaxTypeID);if(g.gT.IsNotEmpty(c)&&c.CalculationTypeID==Jn.E.Add){let l=1+c.Rate/100,d=e*l;this.discountAmount=(d-(d-this.discountAfterTax))/l}this._orderService.Data.Order.DiscountAmount=this.discountAmount}calculateDiscountCalculator(){var t=100;this.discounts.forEach(e=>{t=t*(100-e)/100}),this.discount1=100-t,this._orderService.Data.Order.Discount=this.discount1}}return o.\u0275fac=function(t){return new(t||o)(n.Y36(P.so),n.Y36(S),n.Y36(G),n.Y36(D))},o.\u0275cmp=n.Xpm({type:o,selectors:[["POS-modal-discount"]],decls:50,vars:12,consts:[[3,"config","onOk","onCancel","onClose"],[1,"container",2,"width","350px"],[1,"row","form-group"],[1,"col-sm-5","pr-1"],[1,"font-weight-bold","d-block"],[1,"row","no-gutters"],[1,"col-3"],["type","text","data-cy","discount1","autoNum","","percentage","","decimalPlaces","2",1,"form-control",3,"ngModel","ngModelChange"],[1,"col-auto","d-flex","align-items-center","px-2"],["type","text","data-cy","discount2","autoNum","","percentage","","decimalPlaces","2",1,"form-control",3,"ngModel","ngModelChange"],[1,"col-1","d-flex","align-items-center","pl-2"],[1,"col-sm-4","pr-0","pl-2"],["type","text","data-cy","discountamount","autoNum","",1,"form-control",2,"width","100px",3,"ngModel","ngModelChange"],[1,"col-sm-3"],[1,"col-8"],["type","text","data-cy","surcharge","autoNum","",1,"form-control",3,"ngModel","max","min","ngModelChange"],[1,"col-1","pl-2","d-flex","align-items-center"],[1,"container"],[1,"col-sm-12"],["type","text","awnum","","num-neg","false","autoNum","",1,"txtPrice",3,"ngModel","ngModelChange"],[1,"col-sm-7"],["type","text","data-cy","discountCal1","autoNum","","percentage","",2,"width","30px",3,"ngModel","ngModelChange"],["type","text","data-cy","discountCal2","autoNum","","percentage","",2,"width","30px",3,"ngModel","ngModelChange"],["type","text","data-cy","discountCal3","autoNum","","percentage","",2,"width","30px",3,"ngModel","ngModelChange"]],template:function(t,e){1&t&&(n.TgZ(0,"modal-material",0),n.NdJ("onOk",function(){return e.onOk()})("onCancel",function(){return e.close()})("onClose",function(){return e.close()}),n.TgZ(1,"content"),n.TgZ(2,"div",1),n.TgZ(3,"div",2),n.TgZ(4,"div",3),n.TgZ(5,"label",4),n._uU(6,"Discount %"),n.qZA(),n.TgZ(7,"div",5),n.TgZ(8,"div",6),n.TgZ(9,"input",7),n.NdJ("ngModelChange",function(r){return e.discount1=r}),n.qZA(),n.qZA(),n.TgZ(10,"div",8),n._uU(11,"% +"),n.qZA(),n.TgZ(12,"div",6),n.TgZ(13,"input",9),n.NdJ("ngModelChange",function(r){return e.discount2=r}),n.qZA(),n.qZA(),n.TgZ(14,"div",10),n._uU(15,"%"),n.qZA(),n.qZA(),n.qZA(),n.TgZ(16,"div",11),n.TgZ(17,"label",4),n._uU(18),n.qZA(),n.TgZ(19,"input",12),n.NdJ("ngModelChange",function(r){return e.discountAmount=r}),n.qZA(),n.qZA(),n.TgZ(20,"div",13),n.TgZ(21,"label",4),n._uU(22,"Surcharge"),n.qZA(),n.TgZ(23,"div",5),n.TgZ(24,"div",14),n.TgZ(25,"input",15),n.NdJ("ngModelChange",function(r){return e.surcharge=r}),n.qZA(),n.qZA(),n.TgZ(26,"div",16),n.TgZ(27,"span"),n._uU(28,"%"),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.TgZ(29,"more-content"),n.TgZ(30,"div",17),n.TgZ(31,"div",2),n.TgZ(32,"div",18),n.TgZ(33,"strong"),n._uU(34,"Discount After Tax"),n.qZA(),n.TgZ(35,"input",19),n.NdJ("ngModelChange",function(r){return e.discountAfterTax=r})("ngModelChange",function(){return e.onDiscountAfterTaxChange()}),n.qZA(),n.qZA(),n.qZA(),n.TgZ(36,"div",2),n.TgZ(37,"div",20),n.TgZ(38,"label",4),n._uU(39,"Discount Calculator"),n.qZA(),n.TgZ(40,"input",21),n.NdJ("ngModelChange",function(r){return e.discounts[0]=r})("ngModelChange",function(){return e.calculateDiscountCalculator()}),n.qZA(),n.TgZ(41,"span"),n._uU(42," % +"),n.qZA(),n.TgZ(43,"input",22),n.NdJ("ngModelChange",function(r){return e.discounts[1]=r})("ngModelChange",function(){return e.calculateDiscountCalculator()}),n.qZA(),n.TgZ(44,"span"),n._uU(45," % +"),n.qZA(),n.TgZ(46,"input",23),n.NdJ("ngModelChange",function(r){return e.discounts[2]=r})("ngModelChange",function(){return e.calculateDiscountCalculator()}),n.qZA(),n.TgZ(47,"span"),n._uU(48," %"),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n._UZ(49,"footer"),n.qZA()),2&t&&(n.Q6J("config",e.modalConfig),n.xp6(9),n.Q6J("ngModel",e.discount1),n.xp6(4),n.Q6J("ngModel",e.discount2),n.xp6(5),n.hij("Discount ",e.currencySymbol,""),n.xp6(1),n.Q6J("ngModel",e.discountAmount),n.xp6(6),n.Q6J("ngModel",e.surcharge)("max",100)("min",-100),n.xp6(10),n.Q6J("ngModel",e.discountAfterTax),n.xp6(5),n.Q6J("ngModel",e.discounts[0]),n.xp6(3),n.Q6J("ngModel",e.discounts[1]),n.xp6(3),n.Q6J("ngModel",e.discounts[2]))},directives:[y.M,h.Fj,cn.b,h.JJ,h.On],styles:[""]}),o})();var Ta=m(9994);const ka=function(o){return{selected:o}};function Ia(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",14),n.TgZ(1,"label",15),n.TgZ(2,"input",16),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw(2).posData.Order.TypeID=i})("click",function(){const r=n.CHM(t).$implicit;return n.oxw(2).onSelectCustomerPoType(r)}),n.qZA(),n._uU(3),n.qZA(),n.qZA()}if(2&o){const t=a.$implicit,e=a.index,i=n.oxw(2);n.xp6(1),n.s9C("for","potype-"+e),n.Q6J("ngClass",n.VKq(6,ka,i.posData.Order.TypeID==t.ID)),n.xp6(1),n.s9C("id","potype-"+e),n.Q6J("ngModel",i.posData.Order.TypeID)("value",t.ID),n.xp6(1),n.hij(" ",t.Name," ")}}function Aa(o,a){if(1&o&&(n.TgZ(0,"tr",11),n.TgZ(1,"th",12),n._uU(2,"Type"),n.qZA(),n.TgZ(3,"td"),n._uU(4,":"),n.qZA(),n.TgZ(5,"td"),n.YNc(6,Ia,4,8,"div",13),n.qZA(),n.qZA()),2&o){const t=n.oxw();n.xp6(6),n.Q6J("ngForOf",t.poTypes)}}let Za=(()=>{class o{constructor(t,e,i,r,c,l){this._dialogRef=t,this._orderDataService=e,this._posService=i,this._cashierCalculatorService=r,this._outletRegisterService=c,this._orderHttpService=l,this.config=new T.O,this.defaultCurrencySymbol="",this.exchangeRate=1,this.destroy$=new N.xQ}get currencies(){return this._posService.Data.Currencies}get poTypes(){return this._posService.Data.PoTypes}ngOnInit(){this.config.title="Invoice Notes",this.subscribeToObservable(),this.initDefaultCurrency(),this.copyInvoiceNumberToNote()}subscribeToObservable(){this._orderDataService.Data$.pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.posData=t,this.exchangeRate=this.posData.Order.CurrencyRate}),this._posService.Data$.pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.appConfigJson=t.AppConfigJSON,this.defaultCurrencyID=this.appConfigJson.CoreDefaults.CurrencyID})}initDefaultCurrency(){let t=this.posData.Order.CurrencyID;if(this.posData.Order.CurrencyID){let e=this.currencies.find(i=>i.ID==t);e&&(this.defaultCurrencySymbol=e.Symbol,this.posData.Order.CurrencyID=t,this.updateCurrencySymbol(e))}}copyInvoiceNumberToNote(){if(this.appConfigJson.ModuleSell.Numbering.FillNoteWithInvoiceNumber&&""==this.posData.Order.Note){let e=this.posData.Order.Number,i=e.slice(e.length-4);this.posData.Order.Note=i}}onOk(t){"Enter"!=t&&(this.posData.Order.CurrencyRate=this.exchangeRate,this._orderDataService.pushNewValue(this.posData),this._dialogRef.close())}close(){this._dialogRef.close()}updateCurrencySymbol(t){this._cashierCalculatorService.currencySymbol=t.Symbol,this.exchangeRate=t.ExchangeRate}onSelectCustomerPoType(t){let e=this._outletRegisterService.Data;0==t.PrintTemplateID?(e.PrintTemplate=e.DefaultPrintTemplate,this._outletRegisterService.pushNewValue(e)):this._orderHttpService.getSalesOrderPrint(t.PrintTemplateID).pipe((0,C.R)(this.destroy$)).subscribe(i=>{let r=(0,an.d8)(Ta.vb,i.Template);e.PrintTemplate=r,this._outletRegisterService.pushNewValue(e)})}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete()}}return o.\u0275fac=function(t){return new(t||o)(n.Y36(P.so),n.Y36(S),n.Y36(D),n.Y36(G),n.Y36(F),n.Y36(z.D))},o.\u0275cmp=n.Xpm({type:o,selectors:[["POS-modal-note"]],decls:32,vars:10,consts:[[3,"config","onOk","onCancel","onClose"],["id","trPOType",4,"ngIf"],[1,"vTop"],["data-cy","invoicenote",3,"ngModel","ngModelChange"],[3,"hidden"],[1,"row"],[1,"col-sm-4"],["bindLabel","Name","bindValue","ID","placeholder","Outlet","appendTo","body",1,"currency-select",2,"width","80px",3,"items","ngModel","clearable","ngModelChange","change"],[1,"col-sm-8",3,"hidden"],["type","text","autoNum","",2,"width","100px",3,"ngModel","ngModelChange"],["type","text",3,"ngModel","ngModelChange"],["id","trPOType"],[2,"width","60px"],["class","rad-btn",4,"ngFor","ngForOf"],[1,"rad-btn"],[3,"for","ngClass"],["type","radio",3,"ngModel","value","id","ngModelChange","click"]],template:function(t,e){1&t&&(n.TgZ(0,"modal-material",0),n.NdJ("onOk",function(r){return e.onOk(r)})("onCancel",function(){return e.close()})("onClose",function(){return e.close()}),n.TgZ(1,"content"),n.TgZ(2,"table"),n.TgZ(3,"tbody"),n.YNc(4,Aa,7,1,"tr",1),n.TgZ(5,"tr"),n.TgZ(6,"th",2),n._uU(7,"Note"),n.qZA(),n.TgZ(8,"td",2),n._uU(9,":"),n.qZA(),n.TgZ(10,"td"),n.TgZ(11,"textarea",3),n.NdJ("ngModelChange",function(r){return e.posData.Order.Note=r}),n.qZA(),n.qZA(),n.qZA(),n.TgZ(12,"tr",4),n.TgZ(13,"th"),n._uU(14,"Currency"),n.qZA(),n.TgZ(15,"td"),n._uU(16,":"),n.qZA(),n.TgZ(17,"td"),n.TgZ(18,"div",5),n.TgZ(19,"div",6),n.TgZ(20,"ng-select",7),n.NdJ("ngModelChange",function(r){return e.posData.Order.CurrencyID=r})("change",function(r){return e.updateCurrencySymbol(r)}),n.qZA(),n.qZA(),n.TgZ(21,"div",8),n.TgZ(22,"span"),n._uU(23,"@"),n.qZA(),n.TgZ(24,"input",9),n.NdJ("ngModelChange",function(r){return e.exchangeRate=r}),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.TgZ(25,"tr"),n.TgZ(26,"th"),n._uU(27,"PO#"),n.qZA(),n.TgZ(28,"td"),n._uU(29,":"),n.qZA(),n.TgZ(30,"td"),n.TgZ(31,"input",10),n.NdJ("ngModelChange",function(r){return e.posData.Order.PurchaseOrderNumber=r}),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.qZA()),2&t&&(n.Q6J("config",e.config),n.xp6(4),n.Q6J("ngIf",e.poTypes.length>1),n.xp6(7),n.Q6J("ngModel",e.posData.Order.Note),n.xp6(1),n.Q6J("hidden",e.currencies.length<2),n.xp6(8),n.Q6J("items",e.currencies)("ngModel",e.posData.Order.CurrencyID)("clearable",!1),n.xp6(1),n.Q6J("hidden",e.posData.Order.CurrencyID==e.defaultCurrencyID),n.xp6(3),n.Q6J("ngModel",e.exchangeRate),n.xp6(7),n.Q6J("ngModel",e.posData.Order.PurchaseOrderNumber))},directives:[y.M,_.O5,h.Fj,h.JJ,h.On,X.w9,cn.b,_.sg,_.mk,h._],styles:["/*General*/\n.rad-btn {\n position: relative;\n display: inline-block;\n}\n.rad-btn label {\n border: 1px solid #dddddd;\n border-radius: 3px;\n margin-right: 10px;\n cursor: pointer;\n padding: 10px;\n margin-bottom: 10px;\n color: black;\n}\n.rad-btn input[type=radio] {\n visibility: hidden;\n position: absolute;\n left: 0;\n top: 0;\n}\n.rad-btn label.selected {\n background: #dfeffc;\n border: 1px solid #dfeffc;\n}\nng-dropdown-panel.currency-select {\n z-index: 1100;\n}"],encapsulation:2}),o})();var ut=m(6883),Yt=m(5179),Na=m(481),qa=m(4750);function Ra(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",11),n.TgZ(1,"div"),n.TgZ(2,"h5"),n._uU(3,"Deduct inventory from outlet"),n.qZA(),n.qZA(),n.TgZ(4,"div"),n.TgZ(5,"ng-select",12),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw().deliveryEntityID=i}),n.qZA(),n.qZA(),n.qZA()}if(2&o){const t=n.oxw();n.xp6(1),n.ekj("col-6",t.shippingFormVisible)("col-auto",!t.shippingFormVisible),n.xp6(3),n.ekj("col-6",t.shippingFormVisible)("col",!t.shippingFormVisible),n.xp6(1),n.Q6J("disabled",t.disabled)("ngModel",t.deliveryEntityID)("items",t.entities)}}function Ja(o,a){1&o&&(n.ynx(0),n.TgZ(1,"h5",13),n._uU(2,"Unfulfilled order, product inventory is allocated "),n.qZA(),n.BQk())}function Ea(o,a){if(1&o){const t=n.EpF();n.ynx(0),n.TgZ(1,"div",27),n.TgZ(2,"div",28),n.TgZ(3,"div",29),n.TgZ(4,"input",30),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw(2).shipping.Name=i}),n.qZA(),n.TgZ(5,"label",31),n._uU(6,"Recipient"),n.qZA(),n.qZA(),n.qZA(),n.TgZ(7,"div",28),n.TgZ(8,"div",29),n.TgZ(9,"input",32),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw(2).shipping.Phone=i}),n.qZA(),n.TgZ(10,"label",33),n._uU(11,"Phone"),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.TgZ(12,"div",27),n.TgZ(13,"div",28),n.TgZ(14,"div",29),n.TgZ(15,"textarea",34),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw(2).shipping.Address=i}),n.qZA(),n.TgZ(16,"label",35),n._uU(17,"Address"),n.qZA(),n.qZA(),n.qZA(),n.TgZ(18,"div",28),n.TgZ(19,"div",29),n.TgZ(20,"input",36),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw(2).shipping.City=i}),n.qZA(),n.TgZ(21,"label",37),n._uU(22,"City"),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.BQk()}if(2&o){const t=n.oxw(2);n.xp6(4),n.Q6J("ngModel",t.shipping.Name),n.xp6(5),n.Q6J("ngModel",t.shipping.Phone),n.xp6(6),n.Q6J("ngModel",t.shipping.Address),n.xp6(5),n.Q6J("ngModel",t.shipping.City)}}const Qa=function(){return{standalone:!0}};function Ua(o,a){if(1&o){const t=n.EpF();n.ynx(0),n.TgZ(1,"div",14),n.TgZ(2,"div",15),n.TgZ(3,"div",16),n.TgZ(4,"h5",17),n._uU(5,"Recipient != Buyer"),n.qZA(),n.qZA(),n.TgZ(6,"div",18),n.TgZ(7,"input",19),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw().recipientNotBuyer=i}),n.qZA(),n._UZ(8,"label",20),n.qZA(),n.qZA(),n.TgZ(9,"div",15),n.TgZ(10,"div"),n.TgZ(11,"label",21),n._uU(12),n.qZA(),n.TgZ(13,"div"),n.TgZ(14,"datepicker",22),n.NdJ("dateChange",function(i){return n.CHM(t),n.oxw().posData.Invoice.DateCustom=i}),n.qZA(),n.qZA(),n.qZA(),n.TgZ(15,"div"),n.TgZ(16,"label",23),n._uU(17,"Time"),n.qZA(),n.TgZ(18,"div"),n.TgZ(19,"p-calendar",24,25),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw().posData.Invoice.TimeCustom=i}),n.TgZ(21,"p-footer"),n.TgZ(22,"button",26),n.NdJ("click",function(){return n.CHM(t),n.MAs(20).hideOverlay()}),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.YNc(23,Ea,23,4,"ng-container",10),n.BQk()}if(2&o){const t=n.oxw();n.xp6(7),n.Q6J("ngModel",t.recipientNotBuyer),n.xp6(5),n.Oqu(t.dateLabel),n.xp6(2),n.Q6J("date",t.posData.Invoice.DateCustom),n.xp6(1),n.Udp("margin-top","-20px"),n.xp6(4),n.Q6J("ngModel",t.posData.Invoice.TimeCustom)("timeOnly",!0)("ngModelOptions",n.DdM(9,Qa)),n.xp6(4),n.Q6J("ngIf",t.recipientNotBuyer)}}let Fa=(()=>{class o{constructor(t,e,i,r){this._dialogRef=t,this._orderDataService=e,this._posService=i,this.locale=r,this.modalConfig=new T.O,this.disabled=!1,this.isDelivery=!1,this.customDate=null,this.shipping=new ut.Q,this.deliveryEntityID="",this.posData=new $.m,this.dateLabel="Fulfillment Date",this.destroy$=new N.xQ,this.initStartTime(),this.subscribePosData(),this.initModal()}get entities(){return this._posService.Data.Entities}ngOnInit(){this.initShipingFormVisible(),this.initDefaultOrderDelivery(),this.checkRecepientIsBuyer(),this.initDateLabel()}checkRecepientIsBuyer(){this.recipientNotBuyer=!!g.gT.IsNotEmpty(this.shipping.Name)}initDateLabel(){let t=this._posService.Data.AppConfigJSON;t.ModuleSell.Shipping.DateLabel&&(this.dateLabel=t.ModuleSell.Shipping.DateLabel)}initStartTime(){this.datePipe=new _.uU(this.locale);var t=new Date;this.startTime=t.getHours()+":"+t.getMinutes()}subscribePosData(){this._orderDataService.Data$.pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.posData=t,this.posData.Invoice.DateCustom=this.posData.Invoice.DateCustom?this.posData.Invoice.DateCustom:null,this.deliveryEntityID=t.Action.DeliveryEntityID,this.shipping=t.Shipping?t.Shipping:new ut.Q})}initModal(){this.modalConfig.title="Order Fullfillment",this.modalConfig.customWidth="590px"}initShipingFormVisible(){this.shippingFormVisible=this._posService.Data.AppConfigJSON.ModuleSell.Shipping.DeliveryAddressAlwaysVisible}initDefaultOrderDelivery(){this.isDelivery=this.deliveryEntityID==g.gT.GuidEmpty}changeDelivery(){this.deliveryEntityID=this.isDelivery?g.gT.GuidEmpty:this.posData.Order.EntityID}onOk(){this.setCustomDateField(),this.clearShippingData(),this.posData.Shipping=this.shipping,this.posData.Action.DeliveryEntityID=this.deliveryEntityID,this._orderDataService.pushNewValue(this.posData),this.close()}clearShippingData(){if(!this.recipientNotBuyer)for(const t of Object.getOwnPropertyNames(this.shipping))this.shipping[t]=""}setCustomDateField(){let t=this.posData.Invoice.DateCustom?this.posData.Invoice.DateCustom:null,e=this.posData.Invoice.TimeCustom?this.datePipe.transform(this.posData.Invoice.TimeCustom,"hh:mm"):"00:00";if((this.isDelivery||this.shippingFormVisible)&&t){let i=this.datePipe.transform(this.posData.Invoice.DateCustom,"d MMM y");this.posData.Invoice.CustomDateField=`${i} ${e}`}}close(){this._dialogRef.close()}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}}return o.\u0275fac=function(t){return new(t||o)(n.Y36(P.so),n.Y36(S),n.Y36(D),n.Y36(n.soG))},o.\u0275cmp=n.Xpm({type:o,selectors:[["POS-modal-shipping"]],decls:21,vars:9,consts:[[3,"config","onOk","onCancel","onClose"],[1,"container"],[1,"row","align-items-start","py-2","my-2"],[1,"col"],["name","fontStyle","aria-label","Font Style",3,"ngModel","ngModelChange","change"],["data-cy","Now",3,"value","disabled"],[1,"p-7"],[1,"text-muted"],["data-cy","Later",3,"value","disabled"],["class","row align-items-center mt-5",4,"ngIf"],[4,"ngIf"],[1,"row","align-items-center","mt-5"],["bindLabel","Name","bindValue","ID","appendTo","body","placeholder","Outlet","data-cy","DeductInventory",1,"tall","auto-grow",2,"width","250px",3,"disabled","ngModel","items","ngModelChange"],[1,"bg-gradient-warning","text-center","py-7","rounded-lg","border","mb-7"],[1,"row","mt-8"],[1,"col-md-6","d-flex","align-items-center"],[1,"mr-3","pb-5"],["title","Recipient is not the same as Buyer (ex: when someone buys an item as GIFT for another person)"],[1,"custom-control","custom-switch","custom-switch-lg"],["type","checkbox","id","customSwitch1",1,"custom-control-input",3,"ngModel","ngModelChange"],["for","customSwitch1",1,"custom-control-label"],["for","shippingDate",1,"text-muted","mb-0"],["appearance","outline","width","190","id","shippingDate",3,"date","dateChange"],["for","shippingTime",1,"text-muted","mb-0"],["styleClass","custom-height","id","shippingTime","appendTo","body",3,"ngModel","timeOnly","ngModelOptions","ngModelChange"],["myCalendar",""],["pButton","","type","button","label","Close",3,"click"],[1,"row"],[1,"col-md-6"],[1,"form-label-group"],["id","recipient","placeholder","Recipient","type","text",1,"w-100","form-control",3,"ngModel","ngModelChange"],["for","recipient"],["id","phone","placeholder","Phone","type","text",1,"w-100","form-control",3,"ngModel","ngModelChange"],["for","phone"],["id","address","placeholder","Address","type","text",1,"w-100","form-control",3,"ngModel","ngModelChange"],["for","address"],["id","city","placeholder","City","type","text",1,"w-100","form-control",3,"ngModel","ngModelChange"],["for","city"]],template:function(t,e){1&t&&(n.TgZ(0,"modal-material",0),n.NdJ("onOk",function(){return e.onOk()})("onCancel",function(){return e.close()})("onClose",function(){return e.close()}),n.TgZ(1,"content"),n.TgZ(2,"div",1),n.TgZ(3,"div",2),n.TgZ(4,"div",3),n.TgZ(5,"mat-button-toggle-group",4),n.NdJ("ngModelChange",function(r){return e.isDelivery=r})("change",function(){return e.changeDelivery()}),n.TgZ(6,"mat-button-toggle",5),n.TgZ(7,"h3",6),n._uU(8," Now "),n.TgZ(9,"small",7),n.TgZ(10,"em"),n._uU(11,"(in store purchase)"),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.TgZ(12,"mat-button-toggle",8),n.TgZ(13,"h3",6),n._uU(14," Later "),n.TgZ(15,"small",7),n.TgZ(16,"em"),n._uU(17,"(shipped to customer address)"),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.YNc(18,Ra,6,11,"div",9),n.YNc(19,Ja,3,0,"ng-container",10),n.YNc(20,Ua,24,10,"ng-container",10),n.qZA(),n.qZA(),n.qZA()),2&t&&(n.Q6J("config",e.modalConfig),n.xp6(5),n.Q6J("ngModel",e.isDelivery),n.xp6(1),n.Q6J("value",!1)("disabled",e.disabled),n.xp6(6),n.Q6J("value",!0)("disabled",e.disabled),n.xp6(6),n.Q6J("ngIf",!e.isDelivery),n.xp6(1),n.Q6J("ngIf",e.isDelivery),n.xp6(1),n.Q6J("ngIf",e.isDelivery||e.shippingFormVisible))},directives:[y.M,xn.A9,h.JJ,h.On,xn.Yi,_.O5,X.w9,h.Wl,vn.QB,Yt.f,Na.$_,qa.Hq,h.Fj],styles:[".container[_ngcontent-%COMP%] {\n min-height: 220px;\n}\n\ninput[type=radio][_ngcontent-%COMP%] {\n margin-top: -0.2rem;\n vertical-align: middle;\n}\n\n ngx-timepicker-field.shipping-picker > div.ngx-timepicker {\n position: absolute;\n left: -15px;\n top: 8px;\n}\n\n.mat-button-toggle-checked[_ngcontent-%COMP%] {\n background-color: #dfeffc;\n color: #0976b4;\n}\n\n p-calendar span.p-calendar.p-calendar-timeonly.custom-height {\n height: 44px;\n margin-top: 3px;\n width: 55px;\n}\n\n.custom-switch.custom-switch-lg[_ngcontent-%COMP%] {\n padding-bottom: 1rem;\n padding-left: 2.25rem;\n}\n\n.custom-switch.custom-switch-lg[_ngcontent-%COMP%] .custom-control-label[_ngcontent-%COMP%] {\n padding-left: 0.75rem;\n padding-top: 0.15rem;\n}\n\n.custom-switch.custom-switch-lg[_ngcontent-%COMP%] .custom-control-label[_ngcontent-%COMP%]::before {\n border-radius: 1rem;\n height: 1.5rem;\n width: 2.5rem;\n}\n\n.custom-switch.custom-switch-lg[_ngcontent-%COMP%] .custom-control-label[_ngcontent-%COMP%]::after {\n border-radius: 0.65rem;\n height: calc(1.5rem - 4px);\n width: calc(1.5rem - 4px);\n}\n\n.custom-switch.custom-switch-lg[_ngcontent-%COMP%] .custom-control-input[_ngcontent-%COMP%]:checked ~ .custom-control-label[_ngcontent-%COMP%]::after {\n transform: translateX(1rem);\n}\n\n.custom-control-input[_ngcontent-%COMP%]:focus ~ .custom-control-label[_ngcontent-%COMP%]::before {\n border-color: #89b03e !important;\n}\n\n.custom-control-input[_ngcontent-%COMP%]:checked ~ .custom-control-label[_ngcontent-%COMP%]::before {\n border-color: #89b03e !important;\n background-color: #89b03e !important;\n}"]}),o})();function La(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",31),n._UZ(1,"i",32),n.TgZ(2,"ng-select",33),n.NdJ("change",function(i){return n.CHM(t),n.oxw().updateTax(i)}),n.qZA(),n.qZA()}if(2&o){const t=n.oxw();n.xp6(2),n.Q6J("clearable",!1)("items",t.Taxes)("ngModel",t.posData.Order.TaxTypeID)}}function Ha(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"a",34),n.NdJ("click",function(){return n.CHM(t),n.oxw().openDiscountModal()}),n._UZ(1,"i",35),n.TgZ(2,"span"),n._uU(3,"Discount"),n.qZA(),n.qZA()}}function Va(o,a){if(1&o&&(n.TgZ(0,"span"),n._uU(1),n.qZA()),2&o){const t=n.oxw(2);n.xp6(1),n.hij("(",null==t.posData?null:t.posData.Order.Discount,"%) ")}}function Ba(o,a){if(1&o&&(n.TgZ(0,"span"),n._uU(1),n.ALo(2,"number"),n.qZA()),2&o){const t=n.oxw(2);n.xp6(1),n.hij("(",n.xi3(2,1,null==t.posData?null:t.posData.Order.Discount,"1.0-4"),"%)")}}function Ya(o,a){if(1&o&&(n.TgZ(0,"tr",36),n.TgZ(1,"th",37),n._uU(2),n.YNc(3,Va,2,1,"span",11),n.YNc(4,Ba,3,4,"span",11),n.qZA(),n._UZ(5,"td",14),n.ALo(6,"number"),n.qZA()),2&o){const t=n.oxw();n.xp6(2),n.hij(" ",null==t.AppConfigJSON?null:t.AppConfigJSON.CorePrint.Alias.Discount1," "),n.xp6(1),n.Q6J("ngIf",t.isIgnoreDecimalDisc1),n.xp6(1),n.Q6J("ngIf",!(null!=t.AppConfigJSON&&t.AppConfigJSON.PrintConfigInvoice.Footer.DiscountIgnoredDecimal)),n.xp6(1),n.Q6J("innerHtml",n.lcZ(6,4,-1*t._cashierCalculatorService.Discount1Amount),n.oJD)}}function za(o,a){if(1&o&&(n.TgZ(0,"span"),n._uU(1),n.qZA()),2&o){const t=n.oxw(2);n.xp6(1),n.hij("(",null==t.posData?null:t.posData.Order.Discount2,"%)")}}function $a(o,a){if(1&o&&(n.TgZ(0,"span"),n._uU(1),n.ALo(2,"number"),n.qZA()),2&o){const t=n.oxw(2);n.xp6(1),n.hij(" (",n.xi3(2,1,null==t.posData?null:t.posData.Order.Discount2,"1.0-4"),"%) ")}}function Ga(o,a){if(1&o&&(n.TgZ(0,"tr"),n.TgZ(1,"th",37),n._uU(2),n.YNc(3,za,2,1,"span",11),n.YNc(4,$a,3,4,"span",11),n.qZA(),n._UZ(5,"td",14),n.ALo(6,"number"),n.qZA()),2&o){const t=n.oxw();n.xp6(2),n.hij(" ",null==t.AppConfigJSON?null:t.AppConfigJSON.CorePrint.Alias.Discount2," "),n.xp6(1),n.Q6J("ngIf",t.isIgnoreDecimalDisc2),n.xp6(1),n.Q6J("ngIf",!(null!=t.AppConfigJSON&&t.AppConfigJSON.PrintConfigInvoice.Footer.DiscountIgnoredDecimal)),n.xp6(1),n.Q6J("innerHtml",n.lcZ(6,4,-1*t._cashierCalculatorService.Discount2Amount),n.oJD)}}function ja(o,a){if(1&o&&(n.TgZ(0,"tr"),n._UZ(1,"th",13),n._UZ(2,"td",38),n.ALo(3,"number"),n.qZA()),2&o){const t=n.oxw();n.xp6(1),n.Q6J("innerHtml",null==t._cashierCalculatorService||null==t._cashierCalculatorService.tax?null:t._cashierCalculatorService.tax.Label,n.oJD),n.xp6(1),n.Q6J("innerHtml",n.lcZ(3,2,t._cashierCalculatorService.TaxAmount),n.oJD)}}function Wa(o,a){if(1&o&&(n.TgZ(0,"tr"),n.TgZ(1,"th",37),n._uU(2,"Deposit"),n.qZA(),n._UZ(3,"td",39),n.ALo(4,"number"),n.qZA()),2&o){const t=n.oxw();n.xp6(3),n.Q6J("innerHtml",n.lcZ(4,1,-1*(null==t.posData?null:t.posData.Order.Deposit)),n.oJD)}}function Ka(o,a){if(1&o&&(n.TgZ(0,"div",40),n.TgZ(1,"strong"),n._uU(2,"Fulfillment From: "),n.qZA(),n.TgZ(3,"span"),n._uU(4),n.qZA(),n.qZA()),2&o){const t=n.oxw();n.xp6(4),n.Oqu(t.getOutletName(t.posData.Action.DeliveryEntityID))}}const Xa=function(o){return{"bg-gradient-warning":o}};let nc=(()=>{class o{constructor(t,e,i,r,c,l,d,s,p,f){this._matDialog=t,this._orderDataService=e,this._cashierCalculatorService=i,this._posService=r,this._toastr=c,this._orderProcessorService=l,this._outletService=d,this._onlineStatusService=s,this._userRoleService=p,this._promotionEventService=f,this.role=new K.Q,this.discountPromotion=[],this.destroy$=new N.xQ,this.Taxes=this._posService.Data.Taxes,this.AppConfigJSON=this._posService.Data.AppConfigJSON,this.isDepositEnabled=this.AppConfigJSON.ApplicationParkAndRetrieve.Deposit.Enabled,this.restriction=this._posService.Data.Restriction}handleF8(){this._matDialog.openDialogs&&this._matDialog.openDialogs.length>0||this.payButtonClicked()}ngOnInit(){this.subscribeToObservable(),this.initConfig(),this.initOrderTypeID()}subscribeToObservable(){this._orderDataService.Data$.pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.posData=t,this.setStatusIgnoreDecimalDisc(),this.initOrderTypeID(),this.warningFullfillment=g.gT.IsEmpty(t.Action.DeliveryEntityID)}),this._onlineStatusService.getOnlineStatus$().subscribe(t=>{this.onlineStatus=t}),this._userRoleService.Data$.pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.taxRestriction=t.TaxRestriction,this.enabledDiscount=t.Discount}),this._outletService.Data$.pipe((0,C.R)(this.destroy$)).subscribe(t=>{let e=t.Promotion.filter(i=>"Discount"===i.PromotionTypeString);this.discountPromotion=e})}setStatusIgnoreDecimalDisc(){this.isIgnoreDecimalDisc1=this.checkIgnoreDecimalDisc(this.posData.Order.Discount),this.isIgnoreDecimalDisc2=this.checkIgnoreDecimalDisc(this.posData.Order.Discount2)}initOrderTypeID(){0==this.posData.Order.TypeID&&(this.posData.Order.TypeID=this._posService.Data.PoTypes[0].ID)}initConfig(){this.paymentRestrction=this.restriction.PaymentRestriction,this.enabledDiscount=this.restriction.Discount,this.taxRestriction=this.restriction.TaxRestriction,this.priceVisibleRestriction=this.restriction.PriceVisibleRestriction,this.shippingRestriction=this.restriction.ShippingRestriction}updateTax(t){this._orderDataService.Data.Order.TaxTypeID=t.ID,this._cashierCalculatorService.tax=t,this._orderDataService.pushNewValue()}payButtonClicked(){!this.isCartNotEmpty()||!this.isSalesPersonValid()||!this.validateCustomerID()||!this.isCustomerRequired()||!this.validatePromotionDiscount()||this.OpenPaymentModal()}validatePromotionDiscount(){let e=(this._outletService.Data?this._outletService.Data.Promotion:[]).find(l=>l.TypeID===q.Discount),r=this._promotionEventService.selectedPromotion,c=!0;return this.AppConfigJSON.ModuleSell.MandatoryActiveDiscount&&e&&(r?r.TypeID!=q.Discount&&(c=!1):c=!1),0==c&&(this._matDialog.open(qt,{id:"promotion-event"}),this._toastr.warning("You need to apply Discount promotion","Required Promotion")),c}OpenPaymentModal(){this._matDialog.open(Da,{id:"ModalPayment"}).afterClosed().pipe((0,C.R)(this.destroy$)).subscribe()}isCartNotEmpty(){return!(this.posData.CartItems.length<1&&(this._toastr.warning(g.g7.emptyPOItem,"Warning!"),1))}isSalesPersonValid(){return!this.AppConfigJSON.ModuleSell.Header.SalesPersonRequired||this.posData.Order.SalesID!=g.gT.GuidEmpty&&null!=this.posData.Order.SalesID||(this._toastr.warning(g.g7.emptySalesPerson,"Warning!"),!1)}isCustomerRequired(){return!(this.AppConfigJSON.ModuleSell.Header.CustomerRequired&&this.onlineStatus&&g.gT.IsEmpty(this.posData.Order.CustomerID)&&(this._toastr.warning(g.g7.emptyCustomer,"Warning!"),1))}validateCustomerID(){if(g.gT.IsEmpty(this.posData.Order.CustomerID)){let e=this._orderProcessorService.Data.InputTextValue;if(g.gT.IsNotEmpty(e)&&(this._toastr.warning("Customer is not Saved","Warning"),this.AppConfigJSON.ModuleSell.Customer.QuickAddEnabled))return this.openCustomerModal(e),!1}return!0}openCustomerModal(t){this._matDialog.open(Qt,{data:{name:t},autoFocus:!1}).afterClosed().subscribe(e=>{e&&this.OpenPaymentModal()})}openDiscountModal(){this._matDialog.open(wa)}openClearOrderModal(){this._matDialog.open(Sa)}openNotesModal(){this._matDialog.open(Za)}openFullfillmentModal(){this._matDialog.open(Fa)}getOutletName(t){if(!g.gT.IsEmpty(t))return this._posService.getOutletName(t)}isFulfillmentVisible(t,e){return!g.gT.IsEmpty(e)&&t!=e}checkIgnoreDecimalDisc(t){return this.AppConfigJSON.PrintConfigInvoice.Footer.DiscountIgnoredDecimal&&t%1==0}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete()}}return o.\u0275fac=function(t){return new(t||o)(n.Y36(P.uw),n.Y36(S),n.Y36(G),n.Y36(D),n.Y36(A._W),n.Y36(R),n.Y36(F),n.Y36(nn.q),n.Y36(en),n.Y36(fn))},o.\u0275cmp=n.Xpm({type:o,selectors:[["pos-cart-action"]],hostBindings:function(t,e){1&t&&n.NdJ("keydown.F8",function(r){return e.handleF8(r)},!1,n.Jf7)},decls:55,vars:31,consts:[[1,"row","no-gutters","cart-footer","justify-content-between"],[1,"col-auto","align-self-center","mobile-view"],[1,"row","no-gutters"],["class","col-auto mx-5 d-flex flex-row",4,"ngIf"],[1,"col-auto"],["data-cy","Discount","class","btn btn-gray font-weight-normal disc",3,"click",4,"ngIf"],[1,"col-auto","summary","mobile-view"],[1,"table",3,"hidden"],[1,"table-light","border-top-0"],[1,"text-right","border-top-0",2,"width","100px",3,"innerHtml"],["context-menu","ctrl.MenuDiscount",4,"ngIf"],[4,"ngIf"],[3,"hidden"],[1,"table-light",3,"innerHtml"],[1,"text-danger","text-right","text-danger",3,"innerHtml"],[1,"text-right",3,"ngClass","innerHtml"],[1,"row","no-gutters","action-buttons","justify-content-between"],[1,"col-auto","mobile-view"],[1,"position-relative"],["class","cashier-note-arrow arrow-box-right",4,"ngIf"],["data-cy","Fulfillment",1,"btn","btn-gray","mobile-view",3,"ngClass","hidden","click"],[1,"fa","fa-truck","pr-2"],[1,"col-auto","mobile-view","ml-3"],["data-cy","Note",1,"btn","btn-gray","w-100",3,"click"],[1,"far","fa-sticky-note","pr-2"],[1,"btn","btn-gray","mobile-view",3,"hidden","click"],[1,"far","fa-window-close","pr-2"],["data-cy","PaySales",1,"ml-auto","btn","btn-success","tooltip-component","pay","mobile-view",3,"hidden","click"],[1,"d-flex"],[1,"ml-auto"],[1,"position-absolute","font-italic","right-bottom"],[1,"col-auto","mx-5","d-flex","flex-row"],["aria-hidden","true",1,"fa","fa-tags","d-flex","align-items-center","mr-2"],["bindLabel","Label","bindValue","ID","placeholder","Tax","data-cy","Tax",2,"width","125px",3,"clearable","items","ngModel","change"],["data-cy","Discount",1,"btn","btn-gray","font-weight-normal","disc",3,"click"],["aria-hidden","true",1,"fa","fa-tags","pr-2"],["context-menu","ctrl.MenuDiscount"],[1,"table-light"],[1,"text-right",3,"innerHtml"],[1,"text-right","text-danger",3,"innerHtml"],[1,"cashier-note-arrow","arrow-box-right"]],template:function(t,e){1&t&&(n.TgZ(0,"div",0),n.TgZ(1,"div",1),n.TgZ(2,"div",2),n.YNc(3,La,3,3,"div",3),n.TgZ(4,"div",4),n.YNc(5,Ha,4,0,"a",5),n.qZA(),n.qZA(),n.qZA(),n.TgZ(6,"div",6),n.TgZ(7,"table",7),n.TgZ(8,"tbody"),n.TgZ(9,"tr"),n.TgZ(10,"th",8),n._uU(11,"Amount"),n.qZA(),n._UZ(12,"td",9),n.ALo(13,"number"),n.qZA(),n.YNc(14,Ya,7,6,"tr",10),n.YNc(15,Ga,7,6,"tr",11),n.TgZ(16,"tr",12),n._UZ(17,"th",13),n._UZ(18,"td",14),n.ALo(19,"number"),n.qZA(),n.YNc(20,ja,4,4,"tr",11),n.TgZ(21,"tr",12),n._UZ(22,"th",13),n._UZ(23,"td",15),n.ALo(24,"number"),n.qZA(),n.YNc(25,Wa,5,3,"tr",11),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.TgZ(26,"div",16),n.TgZ(27,"div",17),n.TgZ(28,"div",18),n.YNc(29,Ka,5,1,"div",19),n.TgZ(30,"a",20),n.NdJ("click",function(){return e.openFullfillmentModal()}),n._UZ(31,"i",21),n.TgZ(32,"span"),n._uU(33,"Fulfillment"),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.TgZ(34,"div",22),n.TgZ(35,"a",23),n.NdJ("click",function(){return e.openNotesModal()}),n._UZ(36,"i",24),n.TgZ(37,"span"),n._uU(38,"Note"),n.qZA(),n.qZA(),n.qZA(),n.TgZ(39,"div",22),n.TgZ(40,"a",25),n.NdJ("click",function(){return e.openClearOrderModal()}),n._UZ(41,"i",26),n.TgZ(42,"span"),n._uU(43,"Clear"),n.qZA(),n.qZA(),n.qZA(),n.TgZ(44,"div",22),n.TgZ(45,"a",27),n.NdJ("click",function(){return e.payButtonClicked()}),n.TgZ(46,"div",28),n.TgZ(47,"strong"),n._uU(48,"Pay:"),n.qZA(),n.TgZ(49,"span",29),n._uU(50),n.ALo(51,"number"),n.qZA(),n.qZA(),n.TgZ(52,"small",30),n._uU(53,"(F8)"),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n._UZ(54,"div")),2&t&&(n.xp6(3),n.Q6J("ngIf",!e.taxRestriction),n.xp6(2),n.Q6J("ngIf",e.enabledDiscount),n.xp6(2),n.Q6J("hidden",e.priceVisibleRestriction),n.xp6(5),n.Q6J("innerHtml",n.lcZ(13,21,e._cashierCalculatorService.GrossTotal),n.oJD),n.xp6(2),n.Q6J("ngIf",0!=(null==e.posData?null:e.posData.Order.Discount)),n.xp6(1),n.Q6J("ngIf",0!=(null==e.posData?null:e.posData.Order.Discount2)),n.xp6(1),n.Q6J("hidden",0==(null==e.posData?null:e.posData.Order.DiscountAmount)),n.xp6(1),n.Q6J("innerHtml",(null==e.AppConfigJSON?null:e.AppConfigJSON.CorePrint.Alias.DiscountAmount)+" "+(null==e._cashierCalculatorService?null:e._cashierCalculatorService.currencySymbol),n.oJD),n.xp6(1),n.Q6J("innerHtml",n.lcZ(19,23,-1*(null==e.posData?null:e.posData.Order.DiscountAmount)),n.oJD),n.xp6(2),n.Q6J("ngIf",null==e._cashierCalculatorService||null==e._cashierCalculatorService.tax?null:e._cashierCalculatorService.tax.Rate),n.xp6(1),n.Q6J("hidden",0==(null==e.posData?null:e.posData.Invoice.SurchargePcg)),n.xp6(1),n.Q6J("innerHtml","SURCHARGE "+(null==e.posData?null:e.posData.Invoice.SurchargePcg)+" %",n.oJD),n.xp6(1),n.Q6J("ngClass",(null==e.posData?null:e.posData.Invoice.SurchargePcg)<0?"text-danger":"")("innerHtml",n.lcZ(24,25,e._cashierCalculatorService.SurchargeAmount),n.oJD),n.xp6(2),n.Q6J("ngIf",(null==e.posData?null:e.posData.Order.Deposit)>0&&e.isDepositEnabled),n.xp6(4),n.Q6J("ngIf",e.isFulfillmentVisible(e.posData.Order.EntityID,e.posData.Action.DeliveryEntityID)),n.xp6(1),n.Q6J("ngClass",n.VKq(29,Xa,e.warningFullfillment))("hidden",e.shippingRestriction),n.xp6(10),n.Q6J("hidden",e.role.ClearCartRestriction),n.xp6(5),n.Q6J("hidden",e.paymentRestrction),n.xp6(5),n.Oqu(e.priceVisibleRestriction?"-":n.lcZ(51,27,e._cashierCalculatorService.Data)))},directives:[_.O5,_.mk,X.w9,h.JJ,h.On],pipes:[_.JJ],styles:['@media print {\n .cashier[_ngcontent-%COMP%], pos-quick-key[_ngcontent-%COMP%], pos-header[_ngcontent-%COMP%], pos-toolbar[_ngcontent-%COMP%] {\n display: none;\n }\n}\n.is-backdate[_ngcontent-%COMP%] {\n background: repeating-linear-gradient(-60deg, #fcf4a3, #fcf4a3 15px, #fada5e 15px, #fada5e 30px) !important;\n}\n.quickKey[_ngcontent-%COMP%] {\n margin-right: 10px;\n}\n.cashier[_ngcontent-%COMP%] [_ngcontent-%COMP%]::-webkit-input-placeholder {\n font-style: italic;\n}\n.cashier[_ngcontent-%COMP%] [_ngcontent-%COMP%]:-moz-placeholder {\n \n font-style: italic;\n}\n.cashier[_ngcontent-%COMP%] [_ngcontent-%COMP%]::-moz-placeholder {\n \n font-style: italic;\n}\n.cashier[_ngcontent-%COMP%] [_ngcontent-%COMP%]:-ms-input-placeholder {\n font-style: italic;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] {\n border-bottom: 1px solid #dde2eb;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .small[_ngcontent-%COMP%] {\n margin-right: 5px !important;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .small[_ngcontent-%COMP%] .number[_ngcontent-%COMP%] {\n width: 143px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .small[_ngcontent-%COMP%] select[_ngcontent-%COMP%] {\n width: 140px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .small[_ngcontent-%COMP%] .select2-container[_ngcontent-%COMP%] {\n font-size: 12px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] {\n margin-right: 22px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] div[_ngcontent-%COMP%]:last-child {\n margin-right: 0;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 1.25rem;\n color: #3B3B3B;\n margin-right: 5px;\n line-height: unset !important;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] input[_ngcontent-%COMP%], .cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span.outlet[_ngcontent-%COMP%] {\n padding: 4px 8px 3px 5px;\n border: 1px solid #dddddd;\n font-size: 0.875rem;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] .outlet[_ngcontent-%COMP%] {\n width: 165px;\n color: #337ab7;\n background: #ffffff;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] .number[_ngcontent-%COMP%] {\n width: 150px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] select[_ngcontent-%COMP%] {\n width: 150px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.quickKey[_ngcontent-%COMP%] {\n width: 420px;\n margin-right: 10px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] {\n width: 570px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.header[_ngcontent-%COMP%] {\n border: solid 1px #cfcfcf;\n border-bottom: none;\n border-radius: 3px 3px 0 0;\n background: #f2f7fa;\n color: #222222;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.header[_ngcontent-%COMP%] .right-bottom[_ngcontent-%COMP%] {\n font-size: 9px;\n right: -6px;\n bottom: -10px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-table[_ngcontent-%COMP%] {\n border-left: solid 1px #cfcfcf;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-table[_ngcontent-%COMP%] div.col[_ngcontent-%COMP%] {\n overflow: auto;\n height: 250px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-table[_ngcontent-%COMP%] div.col[_ngcontent-%COMP%] table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] {\n background: #fbfbf7;\n border-left: none;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-table[_ngcontent-%COMP%] div.col[_ngcontent-%COMP%] table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] th[_ngcontent-%COMP%] {\n padding: 9px 5px !important;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-table[_ngcontent-%COMP%] div.col[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n padding: 10px 5px;\n border-bottom: 1px solid #cfcfcf;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-table[_ngcontent-%COMP%] div.col[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td[_ngcontent-%COMP%]:first-child {\n padding-right: 0;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-footer[_ngcontent-%COMP%] {\n border-top: solid 1px #cfcfcf;\n min-height: 85px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-footer[_ngcontent-%COMP%] div.summary[_ngcontent-%COMP%] table[_ngcontent-%COMP%] th[_ngcontent-%COMP%], .cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-footer[_ngcontent-%COMP%] div.summary[_ngcontent-%COMP%] table[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n border-left: solid 1px #cfcfcf;\n border-bottom: solid 1px #cfcfcf;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-footer[_ngcontent-%COMP%] div.summary[_ngcontent-%COMP%] table[_ngcontent-%COMP%] th[_ngcontent-%COMP%] {\n padding: 7px 8px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-footer[_ngcontent-%COMP%] div.summary[_ngcontent-%COMP%] table[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n padding: 7px 5px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-footer[_ngcontent-%COMP%] .disc[_ngcontent-%COMP%] {\n padding-top: 7px;\n padding-bottom: 6px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.action-buttons[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] {\n font-size: 1.125rem;\n padding: 15px 18px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.action-buttons[_ngcontent-%COMP%] .btn-gray[_ngcontent-%COMP%] {\n margin-right: 10px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.action-buttons[_ngcontent-%COMP%] .btn-success[_ngcontent-%COMP%] {\n width: 200px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.action-buttons[_ngcontent-%COMP%] .right-bottom[_ngcontent-%COMP%] {\n font-size: 0.625rem;\n right: 4px;\n}\n.text-black.btn-success[_ngcontent-%COMP%] {\n color: #4d4d4d !important;\n}\n.main-panel[_ngcontent-%COMP%] nav.fixed-top.offline[_ngcontent-%COMP%], .full_screen[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] > div.row.header.offline[_ngcontent-%COMP%] {\n background: repeating-linear-gradient(-60deg, #f8d7da, #f8d7da 15px, #f5c6cb 15px, #f5c6cb 30px) !important;\n}\n.barcode-input[_ngcontent-%COMP%] {\n width: 305px;\n}\n.barcode-input[_ngcontent-%COMP%] > input[_ngcontent-%COMP%] {\n height: 28px;\n}\n.barcode-input[_ngcontent-%COMP%] autocomplete[_ngcontent-%COMP%] {\n width: 267px;\n}\n.barcode-input[_ngcontent-%COMP%] autocompleteV2[_ngcontent-%COMP%] {\n width: 267px;\n}\n.input-group-text-retrieve[_ngcontent-%COMP%] {\n padding: 9px 0.75rem !important;\n}\n.font-12[_ngcontent-%COMP%] {\n font-size: 12px;\n}\n.btn-gray[_ngcontent-%COMP%] {\n background-color: #f4f4f4;\n border: 1px solid #d6d6d6;\n font-weight: bold;\n color: #545454 !important;\n background: linear-gradient(to bottom, #ffffff 0%, #eeeeee 100%);\n}\n.btn-gray-more[_ngcontent-%COMP%] {\n background-color: #f4f4f4;\n border: 1px solid #d6d6d6;\n background: linear-gradient(to bottom, #ffffff 0%, #eeeeee 100%);\n}\n.cash-btn[_ngcontent-%COMP%] {\n background-color: #f4f4f4;\n border: 1px solid #d6d6d6;\n font-weight: bold;\n margin: 0 0 0 10px;\n padding: 7px 15px;\n height: 18px;\n box-sizing: content-box;\n background: linear-gradient(to bottom, #ffffff 0%, #eeeeee 100%);\n}\n.calc-tbl[_ngcontent-%COMP%] th[_ngcontent-%COMP%] {\n padding: 7px 15px 7px 10px;\n border: 1px solid #ddd;\n border-top: none;\n background-color: #eeeeee;\n}\n.dropdown-menu[_ngcontent-%COMP%] .disabled[_ngcontent-%COMP%] {\n display: none !important;\n}\n.calc-tbl[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n width: 100px;\n text-align: right;\n padding: 7px 5px;\n}\nsection.complete[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n color: #3b5998;\n margin: 20px 0px;\n}\nsection.complete[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] a[_ngcontent-%COMP%] {\n font-size: 0.75rem;\n color: #868686;\n}\nsection.complete[_ngcontent-%COMP%] .complete-action[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] {\n text-align: center;\n height: 150px;\n width: 190px;\n font-family: "Roboto Slab", serif;\n display: flex;\n flex-direction: column !important;\n padding: 0px;\n color: #666666;\n margin-right: 10px;\n}\nsection.complete[_ngcontent-%COMP%] .complete-action[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n display: block;\n font-size: 50px;\n margin-top: 20px;\n}\nsection.complete[_ngcontent-%COMP%] .complete-action[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n margin: 0px;\n margin-top: 10px;\n color: #666666;\n}\nsection.complete[_ngcontent-%COMP%] .complete-action[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]:first-child h4[_ngcontent-%COMP%] {\n color: #3B3B3B;\n}\nsection.complete[_ngcontent-%COMP%] .complete-action[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n font-size: 0.625rem;\n font-style: italic;\n padding: 10px;\n box-sizing: border-box;\n color: #868686;\n border-top: 1px solid #dddddd;\n font-weight: normal;\n margin: 0px;\n}\n.complete-more-action[_ngcontent-%COMP%] {\n margin-top: 10px;\n}\n\n.modal-body[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n font-weight: 400;\n}\n.modal-body[_ngcontent-%COMP%] .actions-tabs[_ngcontent-%COMP%] {\n position: absolute;\n left: 230px;\n top: 15px;\n}\n.modal-header[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 12px;\n font-style: normal;\n}\n.modal-header[_ngcontent-%COMP%] a[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 14px !important;\n}\n.dialogButtonOption[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] {\n padding: 25px 0px;\n width: 190px;\n margin-right: 10px;\n}\n.dialogButtonOption[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n font-weight: 700;\n text-transform: uppercase;\n}\n.dialogButtonOption[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n font-size: 0.75rem;\n font-style: italic;\n color: #868686;\n margin-top: 10px;\n}\n.currency[_ngcontent-%COMP%] {\n top: 13px;\n left: 30px;\n}\n.paymentNote[_ngcontent-%COMP%]::before {\n z-index: 10;\n content: "";\n position: absolute;\n top: 0;\n left: calc(50% - 10px);\n height: 100%;\n width: 10px;\n background-color: inherit;\n border-right: 1px solid lightgray;\n transform: skewX(-10deg);\n}\n#dialogPayment[_ngcontent-%COMP%] .col-auto[_ngcontent-%COMP%], #dialogSubmitOrder[_ngcontent-%COMP%] .col-auto[_ngcontent-%COMP%] {\n padding: 0 4px;\n}\n#dialogPayment[_ngcontent-%COMP%] .col-auto[_ngcontent-%COMP%], #dialogSubmitOrder[_ngcontent-%COMP%] .col-auto[_ngcontent-%COMP%] {\n padding: 0 4px;\n}\n#dialogPayment[_ngcontent-%COMP%] .col-4[_ngcontent-%COMP%], #dialogSubmitOrder[_ngcontent-%COMP%] .col-4[_ngcontent-%COMP%] {\n width: 125px !important;\n padding: 0 4px;\n}\n#dialogPayment[_ngcontent-%COMP%] .col-8[_ngcontent-%COMP%], #dialogSubmitOrder[_ngcontent-%COMP%] .col-8[_ngcontent-%COMP%] {\n width: 250px !important;\n padding: 0 4px;\n}\n#dialogPayment[_ngcontent-%COMP%] .btn-link[_ngcontent-%COMP%], #dialogSubmitOrder[_ngcontent-%COMP%] .btn-link[_ngcontent-%COMP%] {\n padding-top: 0px;\n color: #868686;\n padding-bottom: 8px;\n border-radius: unset;\n font-family: "Roboto Slab", serif;\n}\n#dialogPayment[_ngcontent-%COMP%] .btn-link.selected[_ngcontent-%COMP%], #dialogSubmitOrder[_ngcontent-%COMP%] .btn-link.selected[_ngcontent-%COMP%] {\n color: #3B3B3B;\n border-bottom: 4px solid #07a519;\n}\n#dialogPayment[_ngcontent-%COMP%] .change[_ngcontent-%COMP%], #dialogSubmitOrder[_ngcontent-%COMP%] .change[_ngcontent-%COMP%] {\n position: absolute;\n top: 1px;\n height: 40px;\n background: #89b03e;\n color: #fff;\n right: 16px;\n padding: 0 10px;\n line-height: 40px;\n font-size: 16px;\n}\n#dialogPayment[_ngcontent-%COMP%] .change[_ngcontent-%COMP%]:before, #dialogSubmitOrder[_ngcontent-%COMP%] .change[_ngcontent-%COMP%]:before {\n content: "\\a";\n border-style: solid;\n border-width: 40px 24px 0 0;\n border-color: transparent #89b03e transparent transparent;\n position: absolute;\n left: -24px;\n}\n#dialogPayment[_ngcontent-%COMP%] .change.danger[_ngcontent-%COMP%], #dialogSubmitOrder[_ngcontent-%COMP%] .change.danger[_ngcontent-%COMP%] {\n background: #c9302c;\n}\n#dialogPayment[_ngcontent-%COMP%] .change.danger[_ngcontent-%COMP%]:before, #dialogSubmitOrder[_ngcontent-%COMP%] .change.danger[_ngcontent-%COMP%]:before {\n border-color: transparent #c9302c transparent transparent;\n}\n\n.phone[_ngcontent-%COMP%] div[_ngcontent-%COMP%] {\n height: 50px;\n width: 50px;\n padding-top: 11px;\n background-color: #f5f5f5;\n border: 1px solid gray !important;\n}\n.phone[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n padding-left: 65px !important;\n border: 1px solid gray !important;\n font-size: 25px;\n height: 50px;\n}\n.phone[_ngcontent-%COMP%] .form-control[_ngcontent-%COMP%]:focus {\n border-color: #8bb8df !important;\n}\n.back-button[_ngcontent-%COMP%] {\n left: -18px;\n top: -74px;\n}\n.back-button[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: white;\n}\n.back-button-gopay[_ngcontent-%COMP%] {\n left: -18px;\n top: -50px;\n}\n.back-button-gopay[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: white;\n}\n.logo-gopay[_ngcontent-%COMP%] {\n margin-top: -16px;\n}\n#dialogSubmitOrder[_ngcontent-%COMP%] .btn-link[_ngcontent-%COMP%] {\n padding-top: 0px;\n color: #868686;\n padding-bottom: 8px;\n border-radius: unset;\n font-family: "Roboto Slab", serif;\n}\n#dialogSubmitOrder[_ngcontent-%COMP%] .btn-link.selected[_ngcontent-%COMP%] {\n color: #3B3B3B;\n border-bottom: 4px solid #07a519;\n}\n#dialogSubmitOrder[_ngcontent-%COMP%] .btn-info[_ngcontent-%COMP%] {\n font-size: 0.75rem;\n margin-right: 10px;\n padding: 10px;\n margin-bottom: 10px;\n float: left;\n}\n#dialogSubmitOrder[_ngcontent-%COMP%] .input-label[_ngcontent-%COMP%] {\n position: relative;\n}\n#dialogSubmitOrder[_ngcontent-%COMP%] .input-label[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n position: absolute;\n font-size: 0.875rem;\n color: #868686;\n top: 26px;\n left: 20px;\n}\n#dialogSubmitOrder[_ngcontent-%COMP%] .input-label[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n margin: 0;\n margin-bottom: 8px;\n border: 1px solid #dddddd;\n padding: 7px 5px;\n width: 100%;\n font-size: 36px;\n border-radius: 3px;\n text-align: right;\n background-color: #ffffff;\n outline: none;\n}\n#dialogSubmitOrder[_ngcontent-%COMP%] .pay-info[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n border-bottom: 2px solid #07a519 !important;\n font-size: 0.875rem;\n border: none !important;\n border-bottom: 2px solid #07a519 !important;\n outline: none;\n}\n#dialogSubmitOrder[_ngcontent-%COMP%] .change[_ngcontent-%COMP%] {\n background-color: #cccccc;\n border: 1px solid #dddddd;\n width: 149px;\n padding: 5px 10px 5px 0;\n text-align: right;\n font-size: 1.25rem;\n font-weight: bold;\n float: right;\n}\n.rad-btn[_ngcontent-%COMP%] {\n position: relative;\n display: inline-block;\n}\n.rad-btn[_ngcontent-%COMP%] label[_ngcontent-%COMP%] {\n border: 1px solid #dddddd;\n border-radius: 3px;\n margin-right: 10px;\n cursor: pointer;\n padding: 10px;\n margin-bottom: 10px;\n color: black;\n}\n.rad-btn[_ngcontent-%COMP%] input[type=radio][_ngcontent-%COMP%] {\n visibility: hidden;\n position: absolute;\n left: 0;\n top: 0;\n}\n.rad-btn[_ngcontent-%COMP%] input[type=radio][_ngcontent-%COMP%]:checked + label[_ngcontent-%COMP%] {\n background: #dfeffc;\n border: 1px solid #dfeffc;\n}\n.modal-dialog[_ngcontent-%COMP%] .noteBox[_ngcontent-%COMP%] {\n background-color: #ffffe1;\n border: 1px solid #cacaca;\n padding: 3px;\n display: block;\n outline: 0;\n margin-bottom: 5px;\n font-size: 11px;\n text-decoration: none;\n}\n\n.fullscreen[_ngcontent-%COMP%] {\n position: fixed;\n bottom: 0px;\n right: 0px;\n padding: 10px;\n background-color: #bbbbbb;\n cursor: pointer;\n}\n.fullscreen[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 34px;\n color: white;\n}\n.pos-status[_ngcontent-%COMP%] {\n position: fixed;\n right: 10px;\n top: 10px;\n list-style: none;\n padding: 0px;\n margin: 0px;\n z-index: 1031;\n display: flex;\n align-items: center !important;\n}\n.pos-status[_ngcontent-%COMP%] li[_ngcontent-%COMP%] {\n cursor: pointer;\n margin-right: 10px;\n}\n.pos-status[_ngcontent-%COMP%] li[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] {\n padding: 8px 10px;\n color: #868686;\n}\n.pos-status[_ngcontent-%COMP%] li[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 26px;\n}\n.pos-status[_ngcontent-%COMP%] li[_ngcontent-%COMP%]:first-child i[_ngcontent-%COMP%] {\n font-size: 16px;\n}\n.full_screen[_ngcontent-%COMP%] .pos-status[_ngcontent-%COMP%] {\n left: 10px;\n bottom: 10px;\n top: auto;\n right: auto;\n}\n.full_screen[_ngcontent-%COMP%] .park-action[_ngcontent-%COMP%] {\n left: 0px;\n right: auto !important;\n padding: 0px;\n}\n.full_screen[_ngcontent-%COMP%] nav[_ngcontent-%COMP%], .full_screen[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%] {\n display: none !important;\n}\n.full_screen[_ngcontent-%COMP%] section.cashier[_ngcontent-%COMP%] > div.container-fluid[_ngcontent-%COMP%] {\n padding: 0 !important;\n}\n.full_screen[_ngcontent-%COMP%] section.cashier[_ngcontent-%COMP%] > div.container-fluid[_ngcontent-%COMP%] > div.row.header[_ngcontent-%COMP%], .full_screen[_ngcontent-%COMP%] section.cashier[_ngcontent-%COMP%] > div.container-fluid[_ngcontent-%COMP%] > div.row.body[_ngcontent-%COMP%] {\n justify-content: center;\n}\n.full_screen[_ngcontent-%COMP%] .main-panel[_ngcontent-%COMP%] {\n left: 0px;\n right: 0px;\n top: 0px;\n bottom: 0px;\n width: 100%;\n padding: 0px;\n}\n.full_screen[_ngcontent-%COMP%] #divSideMenu[_ngcontent-%COMP%] {\n display: none;\n}\n#dialogItem[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%] {\n border-top: none;\n border-right: none;\n}\ndiv#dialogDiscount[_ngcontent-%COMP%] .txtPcg[_ngcontent-%COMP%] {\n width: 30px;\n}\n#radOnline[_ngcontent-%COMP%] + label[_ngcontent-%COMP%], #radOffline[_ngcontent-%COMP%] + label[_ngcontent-%COMP%] {\n height: 150px;\n width: 200px;\n white-space: normal;\n margin: 20px 0px 20px 10px;\n padding-top: 12px;\n border: 1px solid #dddddd;\n}\n#radOnline[_ngcontent-%COMP%] + label[_ngcontent-%COMP%] h4[_ngcontent-%COMP%], #radOffline[_ngcontent-%COMP%] + label[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n margin: 5px;\n}\n#radOnline[_ngcontent-%COMP%] + label[_ngcontent-%COMP%] i[_ngcontent-%COMP%], #radOffline[_ngcontent-%COMP%] + label[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 30px;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] a[_ngcontent-%COMP%] strong[_ngcontent-%COMP%] {\n height: 30px;\n border-radius: 4px;\n padding: 5px 10px;\n color: #ffffff;\n background: #b1aaaa;\n}\nul.dialogPicker[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover, ul.dialogPicker[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a.active[_ngcontent-%COMP%] {\n background: #fffed9;\n border: 1px solid #88ae3d;\n}\nul.dialogPicker[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover > strong[_ngcontent-%COMP%], ul.dialogPicker[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a.active[_ngcontent-%COMP%] > strong[_ngcontent-%COMP%] {\n background: #88ae3d;\n}\n#radOnline[_ngcontent-%COMP%]:checked + label[_ngcontent-%COMP%] {\n color: #ffffff;\n background-color: #89b03e;\n}\n#radOffline[_ngcontent-%COMP%]:checked + label[_ngcontent-%COMP%] {\n color: #ffffff;\n background-color: #c9302c;\n}\n.fa-wifi-off[_ngcontent-%COMP%] {\n background-image: url("//res.cloudinary.com/pos/image/upload/v1535431932/POS/Images/Icon/wifi-off.svg");\n height: 30px;\n width: 30px;\n background-size: 30px;\n background-repeat: no-repeat;\n}\n#radOffline[_ngcontent-%COMP%]:checked + label[_ngcontent-%COMP%] .fa-wifi-off[_ngcontent-%COMP%] {\n background-image: url("//res.cloudinary.com/pos/image/upload/POS/Images/Icon/wifi-off-white.svg");\n}\n.fa-coupon[_ngcontent-%COMP%] {\n background-position-y: center;\n background-image: url("//res.cloudinary.com/pos/image/upload/POS/Images/Icon/coupon.svg");\n height: 26px;\n width: 26px;\n background-size: 26px;\n background-repeat: no-repeat;\n}\n.fa-retur[_ngcontent-%COMP%] {\n background-position-y: center;\n background-image: url("//res.cloudinary.com/pos/image/upload/POS/Images/Icon/return.svg");\n height: 26px;\n width: 26px;\n background-size: 26px;\n background-repeat: no-repeat;\n}\n\nul.dialogPicker[_ngcontent-%COMP%] {\n list-style: none;\n margin: 0px;\n padding: 0px;\n display: flex;\n flex-wrap: wrap !important;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] {\n width: 180px;\n min-height: 95px;\n margin-right: 17px;\n margin-bottom: 17px;\n position: relative;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] {\n display: block;\n outline: 0;\n border: 1px solid #b1aaaa;\n border-radius: 5px;\n cursor: pointer;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] h6[_ngcontent-%COMP%] {\n height: 30px;\n border-radius: 4px;\n padding: 5px 10px;\n color: #ffffff;\n background: #b1aaaa;\n overflow: hidden;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] h6[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n margin-right: 5px;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover, ul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.active[_ngcontent-%COMP%], ul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.vacant[_ngcontent-%COMP%] {\n background: #ffffe1;\n border: 1px solid #89b03e;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover > h6[_ngcontent-%COMP%], ul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.active[_ngcontent-%COMP%] > h6[_ngcontent-%COMP%], ul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.vacant[_ngcontent-%COMP%] > h6[_ngcontent-%COMP%] {\n background: #89b03e;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.occupied[_ngcontent-%COMP%], ul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.occupied[_ngcontent-%COMP%]:hover {\n border: 1px solid #c9302c;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.occupied[_ngcontent-%COMP%] > h6[_ngcontent-%COMP%], ul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.occupied[_ngcontent-%COMP%]:hover > h6[_ngcontent-%COMP%] {\n background: #c9302c !important;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.occupied[_ngcontent-%COMP%] span.alias[_ngcontent-%COMP%] {\n background: #c9302c;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.occupied[_ngcontent-%COMP%]:hover {\n background: white;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.preparing[_ngcontent-%COMP%] {\n border: 1px solid #f6a828;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.preparing[_ngcontent-%COMP%] > h6[_ngcontent-%COMP%] {\n background: #f6a828 !important;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.preparing[_ngcontent-%COMP%]:hover {\n border: 1px solid #f6a828;\n background: white;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.preparing[_ngcontent-%COMP%]:hover > strong[_ngcontent-%COMP%] {\n background: #f6a828 !important;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.preparing[_ngcontent-%COMP%] span.alias[_ngcontent-%COMP%] {\n background: #f6a828;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.preparing[_ngcontent-%COMP%] div[_ngcontent-%COMP%] > span[_ngcontent-%COMP%] {\n font-size: 0.75rem !important;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] div[_ngcontent-%COMP%] {\n height: 80px;\n padding: 15px 10px;\n position: relative;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n display: block;\n font-weight: normal;\n font-size: 0.875rem;\n width: 100%;\n margin-bottom: 5px;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:first-child {\n margin-top: -10px;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:last-child {\n margin-bottom: 0px;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span.alias[_ngcontent-%COMP%] {\n text-align: center;\n position: absolute;\n bottom: 0px;\n right: 0px;\n width: auto;\n background-color: #b1aaaa;\n border-radius: 3px;\n padding: 2px 5px;\n color: #ffffff;\n display: none !important;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span.idle[_ngcontent-%COMP%] {\n display: block;\n font-size: 1.25rem;\n text-align: center;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > span[_ngcontent-%COMP%] {\n position: absolute;\n width: 27px;\n height: 28px;\n cursor: pointer;\n top: 5px;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > span[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: black;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]:last-of-type {\n right: -5px;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]:nth-last-of-type(2) {\n right: 15px;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] input[type=checkbox][_ngcontent-%COMP%] {\n bottom: 20px;\n right: 5px;\n position: absolute;\n}\nul.dialogPicker[_ngcontent-%COMP%] .duration[_ngcontent-%COMP%] > span[_ngcontent-%COMP%] {\n border: 1px solid !important;\n position: absolute;\n bottom: -3px;\n left: 58px;\n background: #fff;\n border-radius: 5px;\n}\nul.dialogPickerBig[_ngcontent-%COMP%] li[_ngcontent-%COMP%] {\n width: 140px !important;\n margin-bottom: 17px;\n margin-top: 0px !important;\n min-height: 80px !important;\n}\nul.dialogPickerBig[_ngcontent-%COMP%] li[_ngcontent-%COMP%] a[_ngcontent-%COMP%] div[_ngcontent-%COMP%] {\n height: 50px !important;\n}\n.arrow_box_left[_ngcontent-%COMP%]:after, .arrow_box_left[_ngcontent-%COMP%]:before {\n left: 100% !important;\n}\n.arrow_box_left[_ngcontent-%COMP%]:after {\n border-left-color: #ffffff !important;\n border-right-color: transparent !important;\n}\n.arrow_box_left[_ngcontent-%COMP%]:before {\n border-left-color: #dddddd !important;\n border-right-color: transparent !important;\n}\n.arrow_box_bottom[_ngcontent-%COMP%]:after, .arrow_box_bottom[_ngcontent-%COMP%]:before {\n top: initial;\n left: 40%;\n bottom: 100% !important;\n}\n.arrow_box_bottom[_ngcontent-%COMP%]:after {\n border-bottom-color: #ffffff !important;\n border-right-color: transparent !important;\n margin-left: -6px;\n}\n.arrow_box_bottom[_ngcontent-%COMP%]:before {\n border-bottom-color: #dddddd !important;\n border-right-color: transparent !important;\n margin-left: -9px;\n}\ndiv.price_calculator[_ngcontent-%COMP%] {\n left: -260px;\n top: 46px;\n width: 250px;\n height: 138px;\n padding: 12px 0px 3px 8px;\n border-radius: 3px;\n position: absolute !important;\n}\ndiv.price_calculator[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n border: 0px !important;\n border-bottom: 1px solid #dddddd !important;\n background-color: transparent !important;\n padding: 8px 5px 5px 5px !important;\n width: 60px !important;\n}\n.tooltip-component[_ngcontent-%COMP%] {\n position: relative;\n}\n.tooltip-component[_ngcontent-%COMP%]:hover > div.toolTip[_ngcontent-%COMP%] {\n display: block;\n}\n.tooltip-component[_ngcontent-%COMP%] div.toolTip[_ngcontent-%COMP%] {\n background: #ffffe1;\n border: 1px solid #dddddd;\n position: absolute;\n top: 110%;\n left: 0%;\n padding: 10px;\n display: none;\n text-align: center;\n min-height: 15px;\n margin-top: 0.1rem;\n}\n.tooltip-component[_ngcontent-%COMP%] div.toolTip.green[_ngcontent-%COMP%] {\n background: #caed9e;\n border: 4px solid #90d93f;\n}\n.tooltip-component[_ngcontent-%COMP%] div.toolTip[_ngcontent-%COMP%]:after, .tooltip-component[_ngcontent-%COMP%] div.toolTip[_ngcontent-%COMP%]:before {\n content: "";\n position: absolute;\n top: 0;\n left: 50%;\n width: 0;\n height: 0;\n border: 5px solid transparent;\n}\n.tooltip-component[_ngcontent-%COMP%] div.toolTip[_ngcontent-%COMP%]::after {\n border-bottom-color: #ffffe1;\n border-top: 0;\n margin-left: -5px;\n margin-top: -5px;\n}\n.tooltip-component[_ngcontent-%COMP%] div.toolTip[_ngcontent-%COMP%]::before {\n border-bottom-color: #dddddd;\n border-top: 0;\n margin-left: -5px;\n margin-top: -6px;\n}\n.tooltip-component[_ngcontent-%COMP%] div.toolTip[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n margin: 0px;\n white-space: nowrap;\n color: #89b03e;\n text-shadow: 0px 1px 0px White;\n}\n.offline[_ngcontent-%COMP%] .modal-header[_ngcontent-%COMP%] {\n background-color: #c9302c !important;\n}\n.warning[_ngcontent-%COMP%] .modal-header[_ngcontent-%COMP%] {\n background-color: #f6a828 !important;\n}\n#dialogPromo[_ngcontent-%COMP%] table[_ngcontent-%COMP%] {\n min-width: 400px;\n}\n#dialogPromo[_ngcontent-%COMP%] table.table-hover[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:hover {\n background-color: #89b03e;\n color: white;\n}\nfade-in[_ngcontent-%COMP%] {\n opacity: 1;\n \n transition: opacity 2s;\n}\n.fade-out[_ngcontent-%COMP%] {\n opacity: 0;\n \n transition: opacity 2s;\n z-index: 1;\n}\n.later-payment[_ngcontent-%COMP%] strong[_ngcontent-%COMP%] {\n font-size: 20px;\n}\n.later-payment[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n font-size: 20px;\n padding: 20px 10px !important;\n}\n.change-box[_ngcontent-%COMP%] {\n top: initial;\n height: auto;\n align-self: center;\n}\n.e-money[_ngcontent-%COMP%] {\n height: 65px;\n}\n@media only screen and (max-width: 1280px) {\n input[placeholder=Customer][_ngcontent-%COMP%] {\n width: 135px;\n }\n\n span.select2.select2-container[_ngcontent-%COMP%] {\n width: 135px !important;\n }\n}\n@media only screen and (max-width: 1215px) {\n input[placeholder=Customer][_ngcontent-%COMP%] {\n width: 120px;\n }\n\n span.select2.select2-container[_ngcontent-%COMP%] {\n width: 120px !important;\n }\n}\n@media only screen and (max-width: 1185px) {\n input[placeholder=Customer][_ngcontent-%COMP%] {\n width: 140px;\n }\n\n span.select2.select2-container[_ngcontent-%COMP%] {\n width: 140px !important;\n }\n}\n@media only screen and (max-width: 992px) {\n .pos-status[_ngcontent-%COMP%] {\n bottom: 10px;\n left: 10px;\n top: auto;\n }\n}\n.simple-keyboard[_ngcontent-%COMP%] {\n width: 20vw;\n position: absolute;\n left: 77%;\n top: 30%;\n z-index: 1200;\n}\n .hg-theme-default .hg-button {\n height: 70px !important;\n font-size: 16px !important;\n}\n .hg-button-bksp {\n width: 21px;\n}\n .hg-button[data-skbtn="{enter}"] {\n width: 90px;\n}\n.cashier[_ngcontent-%COMP%] {\n max-width: 37rem;\n}\ndiv.row.cart-footer[_ngcontent-%COMP%] {\n border-top: solid 1px #CFCFCF;\n min-height: 85px;\n}\ndiv.row.cart-footer[_ngcontent-%COMP%] div.summary[_ngcontent-%COMP%] table[_ngcontent-%COMP%] th[_ngcontent-%COMP%], div.row.cart-footer[_ngcontent-%COMP%] div.summary[_ngcontent-%COMP%] table[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n font-size: 0.75rem;\n border-left: solid 1px #CFCFCF;\n border-bottom: solid 1px #CFCFCF;\n}\ndiv.row.cart-footer[_ngcontent-%COMP%] div.summary[_ngcontent-%COMP%] table[_ngcontent-%COMP%] th[_ngcontent-%COMP%] {\n padding: 7px 8px;\n}\ndiv.row.cart-footer[_ngcontent-%COMP%] div.summary[_ngcontent-%COMP%] table[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n padding: 7px 5px;\n}\ndiv.row.cart-footer[_ngcontent-%COMP%] .disc[_ngcontent-%COMP%] {\n padding-top: 7px;\n padding-bottom: 6px;\n}\ndiv.row.action-buttons[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] {\n font-size: 1.125rem;\n padding: 15px 16px;\n}\ndiv.row.action-buttons[_ngcontent-%COMP%] .btn-success[_ngcontent-%COMP%] {\n width: 195px;\n}\ndiv.row.action-buttons[_ngcontent-%COMP%] .right-bottom[_ngcontent-%COMP%] {\n font-size: 0.625rem;\n right: 4px;\n}\n.cashier-note-arrow[_ngcontent-%COMP%] {\n position: absolute;\n min-width: 130px;\n max-width: 180px;\n min-height: 55px;\n background-color: #ffffe1 !important;\n right: 110%;\n top: 0%;\n z-index: 1;\n text-align: center;\n padding: 8px 2px;\n border: 1px solid #bbbbbb !important;\n}\n.cashier-note-arrow[_ngcontent-%COMP%] strong[_ngcontent-%COMP%] {\n font-style: italic;\n}\n.cashier-note-arrow[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n margin-top: 3px;\n font-family: "Roboto Slab", serif;\n display: block;\n text-transform: uppercase;\n}\n.cashier-note-arrow[_ngcontent-%COMP%]:after {\n border-left-color: #ffffe1 !important;\n}\n.arrow-box-right[_ngcontent-%COMP%]:before {\n border-width: 6px !important;\n margin-top: -6px !important;\n}\n@media only screen and (max-width: 576px) {\n .mobile-view[_ngcontent-%COMP%] {\n width: 100% !important;\n margin-top: 5px;\n }\n}']}),o})(),tc=(()=>{class o{constructor(){}}return o.\u0275fac=function(t){return new(t||o)},o.\u0275cmp=n.Xpm({type:o,selectors:[["pos-cart"]],decls:4,vars:0,consts:[[1,"cashier"]],template:function(t,e){1&t&&(n.TgZ(0,"div",0),n._UZ(1,"pos-cart-header"),n._UZ(2,"pos-cart-display"),n._UZ(3,"pos-cart-action"),n.qZA())},directives:[Sr,jr,nc],styles:['@media print {\n .cashier[_ngcontent-%COMP%], pos-quick-key[_ngcontent-%COMP%], pos-header[_ngcontent-%COMP%], pos-toolbar[_ngcontent-%COMP%] {\n display: none;\n }\n}\n.is-backdate[_ngcontent-%COMP%] {\n background: repeating-linear-gradient(-60deg, #fcf4a3, #fcf4a3 15px, #fada5e 15px, #fada5e 30px) !important;\n}\n.quickKey[_ngcontent-%COMP%] {\n margin-right: 10px;\n}\n.cashier[_ngcontent-%COMP%] [_ngcontent-%COMP%]::-webkit-input-placeholder {\n font-style: italic;\n}\n.cashier[_ngcontent-%COMP%] [_ngcontent-%COMP%]:-moz-placeholder {\n \n font-style: italic;\n}\n.cashier[_ngcontent-%COMP%] [_ngcontent-%COMP%]::-moz-placeholder {\n \n font-style: italic;\n}\n.cashier[_ngcontent-%COMP%] [_ngcontent-%COMP%]:-ms-input-placeholder {\n font-style: italic;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] {\n border-bottom: 1px solid #dde2eb;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .small[_ngcontent-%COMP%] {\n margin-right: 5px !important;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .small[_ngcontent-%COMP%] .number[_ngcontent-%COMP%] {\n width: 143px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .small[_ngcontent-%COMP%] select[_ngcontent-%COMP%] {\n width: 140px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .small[_ngcontent-%COMP%] .select2-container[_ngcontent-%COMP%] {\n font-size: 12px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] {\n margin-right: 22px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] div[_ngcontent-%COMP%]:last-child {\n margin-right: 0;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 1.25rem;\n color: #3B3B3B;\n margin-right: 5px;\n line-height: unset !important;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] input[_ngcontent-%COMP%], .cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span.outlet[_ngcontent-%COMP%] {\n padding: 4px 8px 3px 5px;\n border: 1px solid #dddddd;\n font-size: 0.875rem;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] .outlet[_ngcontent-%COMP%] {\n width: 165px;\n color: #337ab7;\n background: #ffffff;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] .number[_ngcontent-%COMP%] {\n width: 150px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] select[_ngcontent-%COMP%] {\n width: 150px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.quickKey[_ngcontent-%COMP%] {\n width: 420px;\n margin-right: 10px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] {\n width: 570px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.header[_ngcontent-%COMP%] {\n border: solid 1px #cfcfcf;\n border-bottom: none;\n border-radius: 3px 3px 0 0;\n background: #f2f7fa;\n color: #222222;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.header[_ngcontent-%COMP%] .right-bottom[_ngcontent-%COMP%] {\n font-size: 9px;\n right: -6px;\n bottom: -10px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-table[_ngcontent-%COMP%] {\n border-left: solid 1px #cfcfcf;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-table[_ngcontent-%COMP%] div.col[_ngcontent-%COMP%] {\n overflow: auto;\n height: 250px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-table[_ngcontent-%COMP%] div.col[_ngcontent-%COMP%] table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] {\n background: #fbfbf7;\n border-left: none;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-table[_ngcontent-%COMP%] div.col[_ngcontent-%COMP%] table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] th[_ngcontent-%COMP%] {\n padding: 9px 5px !important;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-table[_ngcontent-%COMP%] div.col[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n padding: 10px 5px;\n border-bottom: 1px solid #cfcfcf;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-table[_ngcontent-%COMP%] div.col[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td[_ngcontent-%COMP%]:first-child {\n padding-right: 0;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-footer[_ngcontent-%COMP%] {\n border-top: solid 1px #cfcfcf;\n min-height: 85px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-footer[_ngcontent-%COMP%] div.summary[_ngcontent-%COMP%] table[_ngcontent-%COMP%] th[_ngcontent-%COMP%], .cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-footer[_ngcontent-%COMP%] div.summary[_ngcontent-%COMP%] table[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n border-left: solid 1px #cfcfcf;\n border-bottom: solid 1px #cfcfcf;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-footer[_ngcontent-%COMP%] div.summary[_ngcontent-%COMP%] table[_ngcontent-%COMP%] th[_ngcontent-%COMP%] {\n padding: 7px 8px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-footer[_ngcontent-%COMP%] div.summary[_ngcontent-%COMP%] table[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n padding: 7px 5px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-footer[_ngcontent-%COMP%] .disc[_ngcontent-%COMP%] {\n padding-top: 7px;\n padding-bottom: 6px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.action-buttons[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] {\n font-size: 1.125rem;\n padding: 15px 18px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.action-buttons[_ngcontent-%COMP%] .btn-gray[_ngcontent-%COMP%] {\n margin-right: 10px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.action-buttons[_ngcontent-%COMP%] .btn-success[_ngcontent-%COMP%] {\n width: 200px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.action-buttons[_ngcontent-%COMP%] .right-bottom[_ngcontent-%COMP%] {\n font-size: 0.625rem;\n right: 4px;\n}\n.text-black.btn-success[_ngcontent-%COMP%] {\n color: #4d4d4d !important;\n}\n.main-panel[_ngcontent-%COMP%] nav.fixed-top.offline[_ngcontent-%COMP%], .full_screen[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] > div.row.header.offline[_ngcontent-%COMP%] {\n background: repeating-linear-gradient(-60deg, #f8d7da, #f8d7da 15px, #f5c6cb 15px, #f5c6cb 30px) !important;\n}\n.barcode-input[_ngcontent-%COMP%] {\n width: 305px;\n}\n.barcode-input[_ngcontent-%COMP%] > input[_ngcontent-%COMP%] {\n height: 28px;\n}\n.barcode-input[_ngcontent-%COMP%] autocomplete[_ngcontent-%COMP%] {\n width: 267px;\n}\n.barcode-input[_ngcontent-%COMP%] autocompleteV2[_ngcontent-%COMP%] {\n width: 267px;\n}\n.input-group-text-retrieve[_ngcontent-%COMP%] {\n padding: 9px 0.75rem !important;\n}\n.font-12[_ngcontent-%COMP%] {\n font-size: 12px;\n}\n.btn-gray[_ngcontent-%COMP%] {\n background-color: #f4f4f4;\n border: 1px solid #d6d6d6;\n font-weight: bold;\n color: #545454 !important;\n background: linear-gradient(to bottom, #ffffff 0%, #eeeeee 100%);\n}\n.btn-gray-more[_ngcontent-%COMP%] {\n background-color: #f4f4f4;\n border: 1px solid #d6d6d6;\n background: linear-gradient(to bottom, #ffffff 0%, #eeeeee 100%);\n}\n.cash-btn[_ngcontent-%COMP%] {\n background-color: #f4f4f4;\n border: 1px solid #d6d6d6;\n font-weight: bold;\n margin: 0 0 0 10px;\n padding: 7px 15px;\n height: 18px;\n box-sizing: content-box;\n background: linear-gradient(to bottom, #ffffff 0%, #eeeeee 100%);\n}\n.calc-tbl[_ngcontent-%COMP%] th[_ngcontent-%COMP%] {\n padding: 7px 15px 7px 10px;\n border: 1px solid #ddd;\n border-top: none;\n background-color: #eeeeee;\n}\n.dropdown-menu[_ngcontent-%COMP%] .disabled[_ngcontent-%COMP%] {\n display: none !important;\n}\n.calc-tbl[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n width: 100px;\n text-align: right;\n padding: 7px 5px;\n}\nsection.complete[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n color: #3b5998;\n margin: 20px 0px;\n}\nsection.complete[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] a[_ngcontent-%COMP%] {\n font-size: 0.75rem;\n color: #868686;\n}\nsection.complete[_ngcontent-%COMP%] .complete-action[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] {\n text-align: center;\n height: 150px;\n width: 190px;\n font-family: "Roboto Slab", serif;\n display: flex;\n flex-direction: column !important;\n padding: 0px;\n color: #666666;\n margin-right: 10px;\n}\nsection.complete[_ngcontent-%COMP%] .complete-action[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n display: block;\n font-size: 50px;\n margin-top: 20px;\n}\nsection.complete[_ngcontent-%COMP%] .complete-action[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n margin: 0px;\n margin-top: 10px;\n color: #666666;\n}\nsection.complete[_ngcontent-%COMP%] .complete-action[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]:first-child h4[_ngcontent-%COMP%] {\n color: #3B3B3B;\n}\nsection.complete[_ngcontent-%COMP%] .complete-action[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n font-size: 0.625rem;\n font-style: italic;\n padding: 10px;\n box-sizing: border-box;\n color: #868686;\n border-top: 1px solid #dddddd;\n font-weight: normal;\n margin: 0px;\n}\n.complete-more-action[_ngcontent-%COMP%] {\n margin-top: 10px;\n}\n\n.modal-body[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n font-weight: 400;\n}\n.modal-body[_ngcontent-%COMP%] .actions-tabs[_ngcontent-%COMP%] {\n position: absolute;\n left: 230px;\n top: 15px;\n}\n.modal-header[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 12px;\n font-style: normal;\n}\n.modal-header[_ngcontent-%COMP%] a[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 14px !important;\n}\n.dialogButtonOption[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] {\n padding: 25px 0px;\n width: 190px;\n margin-right: 10px;\n}\n.dialogButtonOption[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n font-weight: 700;\n text-transform: uppercase;\n}\n.dialogButtonOption[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n font-size: 0.75rem;\n font-style: italic;\n color: #868686;\n margin-top: 10px;\n}\n.currency[_ngcontent-%COMP%] {\n top: 13px;\n left: 30px;\n}\n.paymentNote[_ngcontent-%COMP%]::before {\n z-index: 10;\n content: "";\n position: absolute;\n top: 0;\n left: calc(50% - 10px);\n height: 100%;\n width: 10px;\n background-color: inherit;\n border-right: 1px solid lightgray;\n transform: skewX(-10deg);\n}\n#dialogPayment[_ngcontent-%COMP%] .col-auto[_ngcontent-%COMP%], #dialogSubmitOrder[_ngcontent-%COMP%] .col-auto[_ngcontent-%COMP%] {\n padding: 0 4px;\n}\n#dialogPayment[_ngcontent-%COMP%] .col-auto[_ngcontent-%COMP%], #dialogSubmitOrder[_ngcontent-%COMP%] .col-auto[_ngcontent-%COMP%] {\n padding: 0 4px;\n}\n#dialogPayment[_ngcontent-%COMP%] .col-4[_ngcontent-%COMP%], #dialogSubmitOrder[_ngcontent-%COMP%] .col-4[_ngcontent-%COMP%] {\n width: 125px !important;\n padding: 0 4px;\n}\n#dialogPayment[_ngcontent-%COMP%] .col-8[_ngcontent-%COMP%], #dialogSubmitOrder[_ngcontent-%COMP%] .col-8[_ngcontent-%COMP%] {\n width: 250px !important;\n padding: 0 4px;\n}\n#dialogPayment[_ngcontent-%COMP%] .btn-link[_ngcontent-%COMP%], #dialogSubmitOrder[_ngcontent-%COMP%] .btn-link[_ngcontent-%COMP%] {\n padding-top: 0px;\n color: #868686;\n padding-bottom: 8px;\n border-radius: unset;\n font-family: "Roboto Slab", serif;\n}\n#dialogPayment[_ngcontent-%COMP%] .btn-link.selected[_ngcontent-%COMP%], #dialogSubmitOrder[_ngcontent-%COMP%] .btn-link.selected[_ngcontent-%COMP%] {\n color: #3B3B3B;\n border-bottom: 4px solid #07a519;\n}\n#dialogPayment[_ngcontent-%COMP%] .change[_ngcontent-%COMP%], #dialogSubmitOrder[_ngcontent-%COMP%] .change[_ngcontent-%COMP%] {\n position: absolute;\n top: 1px;\n height: 40px;\n background: #89b03e;\n color: #fff;\n right: 16px;\n padding: 0 10px;\n line-height: 40px;\n font-size: 16px;\n}\n#dialogPayment[_ngcontent-%COMP%] .change[_ngcontent-%COMP%]:before, #dialogSubmitOrder[_ngcontent-%COMP%] .change[_ngcontent-%COMP%]:before {\n content: "\\a";\n border-style: solid;\n border-width: 40px 24px 0 0;\n border-color: transparent #89b03e transparent transparent;\n position: absolute;\n left: -24px;\n}\n#dialogPayment[_ngcontent-%COMP%] .change.danger[_ngcontent-%COMP%], #dialogSubmitOrder[_ngcontent-%COMP%] .change.danger[_ngcontent-%COMP%] {\n background: #c9302c;\n}\n#dialogPayment[_ngcontent-%COMP%] .change.danger[_ngcontent-%COMP%]:before, #dialogSubmitOrder[_ngcontent-%COMP%] .change.danger[_ngcontent-%COMP%]:before {\n border-color: transparent #c9302c transparent transparent;\n}\n\n.phone[_ngcontent-%COMP%] div[_ngcontent-%COMP%] {\n height: 50px;\n width: 50px;\n padding-top: 11px;\n background-color: #f5f5f5;\n border: 1px solid gray !important;\n}\n.phone[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n padding-left: 65px !important;\n border: 1px solid gray !important;\n font-size: 25px;\n height: 50px;\n}\n.phone[_ngcontent-%COMP%] .form-control[_ngcontent-%COMP%]:focus {\n border-color: #8bb8df !important;\n}\n.back-button[_ngcontent-%COMP%] {\n left: -18px;\n top: -74px;\n}\n.back-button[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: white;\n}\n.back-button-gopay[_ngcontent-%COMP%] {\n left: -18px;\n top: -50px;\n}\n.back-button-gopay[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: white;\n}\n.logo-gopay[_ngcontent-%COMP%] {\n margin-top: -16px;\n}\n#dialogSubmitOrder[_ngcontent-%COMP%] .btn-link[_ngcontent-%COMP%] {\n padding-top: 0px;\n color: #868686;\n padding-bottom: 8px;\n border-radius: unset;\n font-family: "Roboto Slab", serif;\n}\n#dialogSubmitOrder[_ngcontent-%COMP%] .btn-link.selected[_ngcontent-%COMP%] {\n color: #3B3B3B;\n border-bottom: 4px solid #07a519;\n}\n#dialogSubmitOrder[_ngcontent-%COMP%] .btn-info[_ngcontent-%COMP%] {\n font-size: 0.75rem;\n margin-right: 10px;\n padding: 10px;\n margin-bottom: 10px;\n float: left;\n}\n#dialogSubmitOrder[_ngcontent-%COMP%] .input-label[_ngcontent-%COMP%] {\n position: relative;\n}\n#dialogSubmitOrder[_ngcontent-%COMP%] .input-label[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n position: absolute;\n font-size: 0.875rem;\n color: #868686;\n top: 26px;\n left: 20px;\n}\n#dialogSubmitOrder[_ngcontent-%COMP%] .input-label[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n margin: 0;\n margin-bottom: 8px;\n border: 1px solid #dddddd;\n padding: 7px 5px;\n width: 100%;\n font-size: 36px;\n border-radius: 3px;\n text-align: right;\n background-color: #ffffff;\n outline: none;\n}\n#dialogSubmitOrder[_ngcontent-%COMP%] .pay-info[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n border-bottom: 2px solid #07a519 !important;\n font-size: 0.875rem;\n border: none !important;\n border-bottom: 2px solid #07a519 !important;\n outline: none;\n}\n#dialogSubmitOrder[_ngcontent-%COMP%] .change[_ngcontent-%COMP%] {\n background-color: #cccccc;\n border: 1px solid #dddddd;\n width: 149px;\n padding: 5px 10px 5px 0;\n text-align: right;\n font-size: 1.25rem;\n font-weight: bold;\n float: right;\n}\n.rad-btn[_ngcontent-%COMP%] {\n position: relative;\n display: inline-block;\n}\n.rad-btn[_ngcontent-%COMP%] label[_ngcontent-%COMP%] {\n border: 1px solid #dddddd;\n border-radius: 3px;\n margin-right: 10px;\n cursor: pointer;\n padding: 10px;\n margin-bottom: 10px;\n color: black;\n}\n.rad-btn[_ngcontent-%COMP%] input[type=radio][_ngcontent-%COMP%] {\n visibility: hidden;\n position: absolute;\n left: 0;\n top: 0;\n}\n.rad-btn[_ngcontent-%COMP%] input[type=radio][_ngcontent-%COMP%]:checked + label[_ngcontent-%COMP%] {\n background: #dfeffc;\n border: 1px solid #dfeffc;\n}\n.modal-dialog[_ngcontent-%COMP%] .noteBox[_ngcontent-%COMP%] {\n background-color: #ffffe1;\n border: 1px solid #cacaca;\n padding: 3px;\n display: block;\n outline: 0;\n margin-bottom: 5px;\n font-size: 11px;\n text-decoration: none;\n}\n\n.fullscreen[_ngcontent-%COMP%] {\n position: fixed;\n bottom: 0px;\n right: 0px;\n padding: 10px;\n background-color: #bbbbbb;\n cursor: pointer;\n}\n.fullscreen[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 34px;\n color: white;\n}\n.pos-status[_ngcontent-%COMP%] {\n position: fixed;\n right: 10px;\n top: 10px;\n list-style: none;\n padding: 0px;\n margin: 0px;\n z-index: 1031;\n display: flex;\n align-items: center !important;\n}\n.pos-status[_ngcontent-%COMP%] li[_ngcontent-%COMP%] {\n cursor: pointer;\n margin-right: 10px;\n}\n.pos-status[_ngcontent-%COMP%] li[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] {\n padding: 8px 10px;\n color: #868686;\n}\n.pos-status[_ngcontent-%COMP%] li[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 26px;\n}\n.pos-status[_ngcontent-%COMP%] li[_ngcontent-%COMP%]:first-child i[_ngcontent-%COMP%] {\n font-size: 16px;\n}\n.full_screen[_ngcontent-%COMP%] .pos-status[_ngcontent-%COMP%] {\n left: 10px;\n bottom: 10px;\n top: auto;\n right: auto;\n}\n.full_screen[_ngcontent-%COMP%] .park-action[_ngcontent-%COMP%] {\n left: 0px;\n right: auto !important;\n padding: 0px;\n}\n.full_screen[_ngcontent-%COMP%] nav[_ngcontent-%COMP%], .full_screen[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%] {\n display: none !important;\n}\n.full_screen[_ngcontent-%COMP%] section.cashier[_ngcontent-%COMP%] > div.container-fluid[_ngcontent-%COMP%] {\n padding: 0 !important;\n}\n.full_screen[_ngcontent-%COMP%] section.cashier[_ngcontent-%COMP%] > div.container-fluid[_ngcontent-%COMP%] > div.row.header[_ngcontent-%COMP%], .full_screen[_ngcontent-%COMP%] section.cashier[_ngcontent-%COMP%] > div.container-fluid[_ngcontent-%COMP%] > div.row.body[_ngcontent-%COMP%] {\n justify-content: center;\n}\n.full_screen[_ngcontent-%COMP%] .main-panel[_ngcontent-%COMP%] {\n left: 0px;\n right: 0px;\n top: 0px;\n bottom: 0px;\n width: 100%;\n padding: 0px;\n}\n.full_screen[_ngcontent-%COMP%] #divSideMenu[_ngcontent-%COMP%] {\n display: none;\n}\n#dialogItem[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%] {\n border-top: none;\n border-right: none;\n}\ndiv#dialogDiscount[_ngcontent-%COMP%] .txtPcg[_ngcontent-%COMP%] {\n width: 30px;\n}\n#radOnline[_ngcontent-%COMP%] + label[_ngcontent-%COMP%], #radOffline[_ngcontent-%COMP%] + label[_ngcontent-%COMP%] {\n height: 150px;\n width: 200px;\n white-space: normal;\n margin: 20px 0px 20px 10px;\n padding-top: 12px;\n border: 1px solid #dddddd;\n}\n#radOnline[_ngcontent-%COMP%] + label[_ngcontent-%COMP%] h4[_ngcontent-%COMP%], #radOffline[_ngcontent-%COMP%] + label[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n margin: 5px;\n}\n#radOnline[_ngcontent-%COMP%] + label[_ngcontent-%COMP%] i[_ngcontent-%COMP%], #radOffline[_ngcontent-%COMP%] + label[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 30px;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] a[_ngcontent-%COMP%] strong[_ngcontent-%COMP%] {\n height: 30px;\n border-radius: 4px;\n padding: 5px 10px;\n color: #ffffff;\n background: #b1aaaa;\n}\nul.dialogPicker[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover, ul.dialogPicker[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a.active[_ngcontent-%COMP%] {\n background: #fffed9;\n border: 1px solid #88ae3d;\n}\nul.dialogPicker[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover > strong[_ngcontent-%COMP%], ul.dialogPicker[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a.active[_ngcontent-%COMP%] > strong[_ngcontent-%COMP%] {\n background: #88ae3d;\n}\n#radOnline[_ngcontent-%COMP%]:checked + label[_ngcontent-%COMP%] {\n color: #ffffff;\n background-color: #89b03e;\n}\n#radOffline[_ngcontent-%COMP%]:checked + label[_ngcontent-%COMP%] {\n color: #ffffff;\n background-color: #c9302c;\n}\n.fa-wifi-off[_ngcontent-%COMP%] {\n background-image: url("//res.cloudinary.com/pos/image/upload/v1535431932/POS/Images/Icon/wifi-off.svg");\n height: 30px;\n width: 30px;\n background-size: 30px;\n background-repeat: no-repeat;\n}\n#radOffline[_ngcontent-%COMP%]:checked + label[_ngcontent-%COMP%] .fa-wifi-off[_ngcontent-%COMP%] {\n background-image: url("//res.cloudinary.com/pos/image/upload/POS/Images/Icon/wifi-off-white.svg");\n}\n.fa-coupon[_ngcontent-%COMP%] {\n background-position-y: center;\n background-image: url("//res.cloudinary.com/pos/image/upload/POS/Images/Icon/coupon.svg");\n height: 26px;\n width: 26px;\n background-size: 26px;\n background-repeat: no-repeat;\n}\n.fa-retur[_ngcontent-%COMP%] {\n background-position-y: center;\n background-image: url("//res.cloudinary.com/pos/image/upload/POS/Images/Icon/return.svg");\n height: 26px;\n width: 26px;\n background-size: 26px;\n background-repeat: no-repeat;\n}\n\nul.dialogPicker[_ngcontent-%COMP%] {\n list-style: none;\n margin: 0px;\n padding: 0px;\n display: flex;\n flex-wrap: wrap !important;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] {\n width: 180px;\n min-height: 95px;\n margin-right: 17px;\n margin-bottom: 17px;\n position: relative;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] {\n display: block;\n outline: 0;\n border: 1px solid #b1aaaa;\n border-radius: 5px;\n cursor: pointer;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] h6[_ngcontent-%COMP%] {\n height: 30px;\n border-radius: 4px;\n padding: 5px 10px;\n color: #ffffff;\n background: #b1aaaa;\n overflow: hidden;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] h6[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n margin-right: 5px;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover, ul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.active[_ngcontent-%COMP%], ul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.vacant[_ngcontent-%COMP%] {\n background: #ffffe1;\n border: 1px solid #89b03e;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover > h6[_ngcontent-%COMP%], ul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.active[_ngcontent-%COMP%] > h6[_ngcontent-%COMP%], ul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.vacant[_ngcontent-%COMP%] > h6[_ngcontent-%COMP%] {\n background: #89b03e;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.occupied[_ngcontent-%COMP%], ul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.occupied[_ngcontent-%COMP%]:hover {\n border: 1px solid #c9302c;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.occupied[_ngcontent-%COMP%] > h6[_ngcontent-%COMP%], ul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.occupied[_ngcontent-%COMP%]:hover > h6[_ngcontent-%COMP%] {\n background: #c9302c !important;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.occupied[_ngcontent-%COMP%] span.alias[_ngcontent-%COMP%] {\n background: #c9302c;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.occupied[_ngcontent-%COMP%]:hover {\n background: white;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.preparing[_ngcontent-%COMP%] {\n border: 1px solid #f6a828;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.preparing[_ngcontent-%COMP%] > h6[_ngcontent-%COMP%] {\n background: #f6a828 !important;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.preparing[_ngcontent-%COMP%]:hover {\n border: 1px solid #f6a828;\n background: white;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.preparing[_ngcontent-%COMP%]:hover > strong[_ngcontent-%COMP%] {\n background: #f6a828 !important;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.preparing[_ngcontent-%COMP%] span.alias[_ngcontent-%COMP%] {\n background: #f6a828;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.preparing[_ngcontent-%COMP%] div[_ngcontent-%COMP%] > span[_ngcontent-%COMP%] {\n font-size: 0.75rem !important;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] div[_ngcontent-%COMP%] {\n height: 80px;\n padding: 15px 10px;\n position: relative;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n display: block;\n font-weight: normal;\n font-size: 0.875rem;\n width: 100%;\n margin-bottom: 5px;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:first-child {\n margin-top: -10px;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:last-child {\n margin-bottom: 0px;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span.alias[_ngcontent-%COMP%] {\n text-align: center;\n position: absolute;\n bottom: 0px;\n right: 0px;\n width: auto;\n background-color: #b1aaaa;\n border-radius: 3px;\n padding: 2px 5px;\n color: #ffffff;\n display: none !important;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span.idle[_ngcontent-%COMP%] {\n display: block;\n font-size: 1.25rem;\n text-align: center;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > span[_ngcontent-%COMP%] {\n position: absolute;\n width: 27px;\n height: 28px;\n cursor: pointer;\n top: 5px;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > span[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: black;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]:last-of-type {\n right: -5px;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]:nth-last-of-type(2) {\n right: 15px;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] input[type=checkbox][_ngcontent-%COMP%] {\n bottom: 20px;\n right: 5px;\n position: absolute;\n}\nul.dialogPicker[_ngcontent-%COMP%] .duration[_ngcontent-%COMP%] > span[_ngcontent-%COMP%] {\n border: 1px solid !important;\n position: absolute;\n bottom: -3px;\n left: 58px;\n background: #fff;\n border-radius: 5px;\n}\nul.dialogPickerBig[_ngcontent-%COMP%] li[_ngcontent-%COMP%] {\n width: 140px !important;\n margin-bottom: 17px;\n margin-top: 0px !important;\n min-height: 80px !important;\n}\nul.dialogPickerBig[_ngcontent-%COMP%] li[_ngcontent-%COMP%] a[_ngcontent-%COMP%] div[_ngcontent-%COMP%] {\n height: 50px !important;\n}\n.arrow_box_left[_ngcontent-%COMP%]:after, .arrow_box_left[_ngcontent-%COMP%]:before {\n left: 100% !important;\n}\n.arrow_box_left[_ngcontent-%COMP%]:after {\n border-left-color: #ffffff !important;\n border-right-color: transparent !important;\n}\n.arrow_box_left[_ngcontent-%COMP%]:before {\n border-left-color: #dddddd !important;\n border-right-color: transparent !important;\n}\n.arrow_box_bottom[_ngcontent-%COMP%]:after, .arrow_box_bottom[_ngcontent-%COMP%]:before {\n top: initial;\n left: 40%;\n bottom: 100% !important;\n}\n.arrow_box_bottom[_ngcontent-%COMP%]:after {\n border-bottom-color: #ffffff !important;\n border-right-color: transparent !important;\n margin-left: -6px;\n}\n.arrow_box_bottom[_ngcontent-%COMP%]:before {\n border-bottom-color: #dddddd !important;\n border-right-color: transparent !important;\n margin-left: -9px;\n}\ndiv.price_calculator[_ngcontent-%COMP%] {\n left: -260px;\n top: 46px;\n width: 250px;\n height: 138px;\n padding: 12px 0px 3px 8px;\n border-radius: 3px;\n position: absolute !important;\n}\ndiv.price_calculator[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n border: 0px !important;\n border-bottom: 1px solid #dddddd !important;\n background-color: transparent !important;\n padding: 8px 5px 5px 5px !important;\n width: 60px !important;\n}\n.tooltip-component[_ngcontent-%COMP%] {\n position: relative;\n}\n.tooltip-component[_ngcontent-%COMP%]:hover > div.toolTip[_ngcontent-%COMP%] {\n display: block;\n}\n.tooltip-component[_ngcontent-%COMP%] div.toolTip[_ngcontent-%COMP%] {\n background: #ffffe1;\n border: 1px solid #dddddd;\n position: absolute;\n top: 110%;\n left: 0%;\n padding: 10px;\n display: none;\n text-align: center;\n min-height: 15px;\n margin-top: 0.1rem;\n}\n.tooltip-component[_ngcontent-%COMP%] div.toolTip.green[_ngcontent-%COMP%] {\n background: #caed9e;\n border: 4px solid #90d93f;\n}\n.tooltip-component[_ngcontent-%COMP%] div.toolTip[_ngcontent-%COMP%]:after, .tooltip-component[_ngcontent-%COMP%] div.toolTip[_ngcontent-%COMP%]:before {\n content: "";\n position: absolute;\n top: 0;\n left: 50%;\n width: 0;\n height: 0;\n border: 5px solid transparent;\n}\n.tooltip-component[_ngcontent-%COMP%] div.toolTip[_ngcontent-%COMP%]::after {\n border-bottom-color: #ffffe1;\n border-top: 0;\n margin-left: -5px;\n margin-top: -5px;\n}\n.tooltip-component[_ngcontent-%COMP%] div.toolTip[_ngcontent-%COMP%]::before {\n border-bottom-color: #dddddd;\n border-top: 0;\n margin-left: -5px;\n margin-top: -6px;\n}\n.tooltip-component[_ngcontent-%COMP%] div.toolTip[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n margin: 0px;\n white-space: nowrap;\n color: #89b03e;\n text-shadow: 0px 1px 0px White;\n}\n.offline[_ngcontent-%COMP%] .modal-header[_ngcontent-%COMP%] {\n background-color: #c9302c !important;\n}\n.warning[_ngcontent-%COMP%] .modal-header[_ngcontent-%COMP%] {\n background-color: #f6a828 !important;\n}\n#dialogPromo[_ngcontent-%COMP%] table[_ngcontent-%COMP%] {\n min-width: 400px;\n}\n#dialogPromo[_ngcontent-%COMP%] table.table-hover[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:hover {\n background-color: #89b03e;\n color: white;\n}\nfade-in[_ngcontent-%COMP%] {\n opacity: 1;\n \n transition: opacity 2s;\n}\n.fade-out[_ngcontent-%COMP%] {\n opacity: 0;\n \n transition: opacity 2s;\n z-index: 1;\n}\n.later-payment[_ngcontent-%COMP%] strong[_ngcontent-%COMP%] {\n font-size: 20px;\n}\n.later-payment[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n font-size: 20px;\n padding: 20px 10px !important;\n}\n.change-box[_ngcontent-%COMP%] {\n top: initial;\n height: auto;\n align-self: center;\n}\n.e-money[_ngcontent-%COMP%] {\n height: 65px;\n}\n@media only screen and (max-width: 1280px) {\n input[placeholder=Customer][_ngcontent-%COMP%] {\n width: 135px;\n }\n\n span.select2.select2-container[_ngcontent-%COMP%] {\n width: 135px !important;\n }\n}\n@media only screen and (max-width: 1215px) {\n input[placeholder=Customer][_ngcontent-%COMP%] {\n width: 120px;\n }\n\n span.select2.select2-container[_ngcontent-%COMP%] {\n width: 120px !important;\n }\n}\n@media only screen and (max-width: 1185px) {\n input[placeholder=Customer][_ngcontent-%COMP%] {\n width: 140px;\n }\n\n span.select2.select2-container[_ngcontent-%COMP%] {\n width: 140px !important;\n }\n}\n@media only screen and (max-width: 992px) {\n .pos-status[_ngcontent-%COMP%] {\n bottom: 10px;\n left: 10px;\n top: auto;\n }\n}\n.simple-keyboard[_ngcontent-%COMP%] {\n width: 20vw;\n position: absolute;\n left: 77%;\n top: 30%;\n z-index: 1200;\n}\n .hg-theme-default .hg-button {\n height: 70px !important;\n font-size: 16px !important;\n}\n .hg-button-bksp {\n width: 21px;\n}\n .hg-button[data-skbtn="{enter}"] {\n width: 90px;\n}\n.cashier[_ngcontent-%COMP%] {\n max-width: 37rem;\n}']}),o})();var ec=m(4762);class zt{}class $t{}function oc(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",3),n.TgZ(1,"strong",4),n._uU(2,"Name"),n.qZA(),n.TgZ(3,"input",5),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw().form.ParkLabel=i}),n.qZA(),n.qZA()}if(2&o){const t=n.oxw();n.xp6(3),n.s9C("placeholder",t.labelPlaceholder||"Girl in blue dress"),n.Q6J("ngModel",t.form.ParkLabel)}}function ic(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",3),n.TgZ(1,"strong",4),n._uU(2,"Person"),n.qZA(),n.TgZ(3,"input",6),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw().form.NumberOfPerson=i}),n.qZA(),n.qZA()}if(2&o){const t=n.oxw();n.xp6(3),n.Q6J("ngModel",t.form.NumberOfPerson)}}function rc(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",3),n.TgZ(1,"strong",4),n._uU(2,"Deposit"),n.qZA(),n.TgZ(3,"input",7),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw().form.Deposit=i}),n.qZA(),n.TgZ(4,"div",8),n.TgZ(5,"ng-select",9),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw().form.DepositPaymentMethodID=i}),n.qZA(),n.qZA(),n.qZA()}if(2&o){const t=n.oxw();n.xp6(3),n.Q6J("ngModel",t.form.Deposit),n.xp6(2),n.Q6J("items",t.listPayment)("ngModel",t.form.DepositPaymentMethodID)}}function ac(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",3),n.TgZ(1,"strong",10),n._uU(2,"Notes"),n.qZA(),n.TgZ(3,"textarea",11),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw().form.Note=i}),n.qZA(),n.qZA()}if(2&o){const t=n.oxw();n.xp6(3),n.Q6J("ngModel",t.form.Note)}}let Gt=(()=>{class o{constructor(t,e,i){this.dialogRef=t,this._orderProcessorService=e,this.data=i,this.modalConfig=new T.O,this.form=new $t,this.initModalDialog(),this.title=i.title,this.labelDisable=i.labelDisable,this.labelPlaceholder=i.labelPlaceholder,this.depositEnabled=i.depositEnabled,this.listPayment=i.listPayment,this.numberOfPersonEnabled=i.numberOfPersonEnabled,this.noteEnabled=i.noteEnabled,this.form.ParkLabel=i.ParkLabel,this.form.Deposit=i.deposit,this.form.DepositPaymentMethodID=this.listPayment[0].ID,this.form.Note=i.note,this.form.NumberOfPerson=0}initModalDialog(){this.modalConfig.title=this.data.title,this.modalConfig.customWidth="800px",this.modalConfig.customWidth="400px"}onOk(){null==this.form.NumberOfPerson&&this.numberOfPersonEnabled&&(this.form.NumberOfPerson=0),this.form.NumberOfPerson=this.form.NumberOfPerson,this.dialogRef.close(!0),this._orderProcessorService.submitParkToServer(this.form)}}return o.\u0275fac=function(t){return new(t||o)(n.Y36(P.so),n.Y36(R),n.Y36(P.WI))},o.\u0275cmp=n.Xpm({type:o,selectors:[["POS-modal-park-input"]],decls:7,vars:5,consts:[[3,"config","onCancel","onOk","onClose"],[2,"width","330px"],["class","form-group row d-flex align-items-center no-gutters",4,"ngIf"],[1,"form-group","row","d-flex","align-items-center","no-gutters"],[1,"col-3","mb-2"],[1,"form-control","col-9","pl-2","height-input",3,"ngModel","placeholder","ngModelChange"],["autoNum","",1,"form-control","col-9","pl-2","height-input",3,"ngModel","ngModelChange"],["autoNum","","placeholder","Deposit",1,"form-control","col-4","pl-2","height-input",3,"ngModel","ngModelChange"],[1,"col-5","pl-4","deposit"],["bindLabel","Name","bindValue","ID","placeholder","Payment","appendTo","body",1,"park-detail",2,"width","180px",3,"items","ngModel","ngModelChange"],[1,"col-3","mb-3"],["placeholder","Want to return after exchange size",1,"form-control","col-9","pl-2",3,"ngModel","ngModelChange"]],template:function(t,e){1&t&&(n.TgZ(0,"modal-material",0),n.NdJ("onCancel",function(){return e.dialogRef.close()})("onOk",function(){return e.onOk()})("onClose",function(){return e.dialogRef.close()}),n.TgZ(1,"content"),n.TgZ(2,"div",1),n.YNc(3,oc,4,2,"div",2),n.YNc(4,ic,4,1,"div",2),n.YNc(5,rc,6,3,"div",2),n.YNc(6,ac,4,1,"div",2),n.qZA(),n.qZA(),n.qZA()),2&t&&(n.Q6J("config",e.modalConfig),n.xp6(3),n.Q6J("ngIf",!e.labelDisable),n.xp6(1),n.Q6J("ngIf",e.numberOfPersonEnabled),n.xp6(1),n.Q6J("ngIf",e.depositEnabled),n.xp6(1),n.Q6J("ngIf",e.noteEnabled))},directives:[y.M,_.O5,h.Fj,h.JJ,h.On,cn.b,X.w9],styles:[".height-input[_ngcontent-%COMP%] {\n height: 36px;\n}\n\n ng-select.park-detail > div.ng-select-container {\n border-radius: 0px !important;\n}"]}),o})();function cc(o,a){if(1&o&&(n.TgZ(0,"span"),n._uU(1),n.ALo(2,"limitTo"),n.qZA()),2&o){const t=n.oxw().$implicit,e=n.oxw(2);n.xp6(1),n.Oqu(e.parkLayoutPack.Layout.length<5?t.Name:n.xi3(2,1,t.Name,5))}}function sc(o,a){if(1&o&&n._UZ(0,"span",23),2&o){const t=n.oxw().$implicit;n.Q6J("innerHtml",t.Alias,n.oJD)}}const lc=function(o,a){return{"text-danger":o,"text-success":a}};function dc(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",14),n.TgZ(1,"div",15),n.NdJ("click",function(){const r=n.CHM(t).$implicit;return n.oxw(3).onSelect(r)}),n.TgZ(2,"div",16),n.TgZ(3,"h6",17),n._UZ(4,"i",18),n._uU(5),n.ALo(6,"limitTo"),n.qZA(),n.TgZ(7,"div",19),n.TgZ(8,"span",20),n._UZ(9,"i",21),n.qZA(),n.YNc(10,sc,1,1,"span",22),n.qZA(),n.qZA(),n.qZA(),n.qZA()}if(2&o){const t=a.$implicit,e=n.oxw(3);n.xp6(1),n.Q6J("title",t.Name),n.xp6(1),n.Q6J("ngClass",e.getStatus(t.Name)+" md hydrated"),n.xp6(3),n.hij(" ",n.xi3(6,5,e.replaceWithAlias&&t.Alias?t.Alias:t.Name,15)," "),n.xp6(3),n.Q6J("ngClass",n.WLB(8,lc,"OCCUPIED"==e.getNote(t.Name),"OCCUPIED"!=e.getNote(t.Name))),n.xp6(2),n.Q6J("ngIf",t.Alias&&!e.replaceWithAlias)}}function pc(o,a){if(1&o&&(n.TgZ(0,"mat-tab"),n.YNc(1,cc,3,4,"ng-template",10),n.TgZ(2,"div",11),n.TgZ(3,"div",12),n.YNc(4,dc,11,11,"div",13),n.ALo(5,"Filter"),n.qZA(),n.qZA(),n.qZA()),2&o){const t=a.$implicit,e=n.oxw(2);n.xp6(4),n.Q6J("ngForOf",n.Dn7(5,1,t.Options,e.filter,"Name"))}}function gc(o,a){if(1&o&&(n.TgZ(0,"mat-tab-group",8),n.YNc(1,pc,6,5,"mat-tab",9),n.qZA()),2&o){const t=n.oxw();n.xp6(1),n.Q6J("ngForOf",t.parkLayoutPack.Layout)}}let jt=(()=>{class o{constructor(t,e,i,r,c,l,d,s,p){this._dialogRef=t,this.data=e,this._orderHttpService=i,this._orderDataService=r,this._localData=c,this._posService=l,this._orderProcessorService=d,this._dialog=s,this._toastr=p,this.modalConfig=new T.O,this.payments=[],this.parkLayoutPack=e.parkLayoutPack,this.qty=e.qty,this.replaceWithAlias=e.replaceWithAlias,this.entityId=e.entityId,this.occupied=e.occupied,this.totalOption=0,this.appConfigJson=this._posService.Data.AppConfigJSON,this.salesOrderData=this._orderDataService.Data,this.payments=this._posService.Data.Payments,this.parkLayoutPack.Layout.forEach(f=>{this.totalOption+=f.Size,f.Options=[];for(let M=1;M<=f.Size;M++){const b=new zt;b.Name=f.Name+M,b.Alias=this.GetAlias(b.Name),f.Options.push(b)}})}ngOnInit(){this.initModalConfig()}initModalConfig(){this.modalConfig.title=this.data.title,this.modalConfig.customWidth="850px",this.modalConfig.hideFooter=!0,this.modalConfig.bodyScrollable=!0}GetAlias(t){if(this.parkLayoutPack.Alias){const e=this.parkLayoutPack.Alias.filter(i=>i.Name==t);if(e.length>0)return e[0].Alias}return""}onSelect(t){"vacant"==this.getStatus(t.Name)?this.submitToServer(t.Name):this._toastr.warning("Park Not Available","Warning!")}submitToServer(t){if(this.appConfigJson.ApplicationParkAndRetrieve.NumberOfPerson||this.appConfigJson.ApplicationParkAndRetrieve.ParkLayoutTemplate.EnableNotes||this.appConfigJson.ApplicationParkAndRetrieve.Deposit.Enabled)this.openParkFormModal(t);else{let e=new $t;e.ParkLabel=t,this._dialogRef.close(!0),this._orderProcessorService.submitParkToServer(e)}}openParkFormModal(t){this._dialog.open(Gt,{data:{title:t,labelDisable:g.gT.IsNotEmpty(this.parkLayoutPack.ID)||this._orderProcessorService.Data.posState==O.IsSplit,labelPlaceholder:this.appConfigJson.ApplicationParkAndRetrieve.UserInterfaceLabel.ParkLabelPlaceholder,depositEnabled:this.appConfigJson.ApplicationParkAndRetrieve.Deposit.Enabled,listPayment:this.payments,ParkLabel:t||this.salesOrderData.Order.ParkLabel,deposit:this.appConfigJson.ApplicationParkAndRetrieve.Deposit.DefaultAmount,note:this.salesOrderData.Order.Note,noteEnabled:this.appConfigJson.ApplicationParkAndRetrieve.ParkLayoutTemplate.EnableNotes,numberOfPerson:this.salesOrderData.Order.NumberOfPerson,depositPaymentMethodID:this.salesOrderData.Order.DepositPaymentMethodID,numberOfPersonEnabled:this.appConfigJson.ApplicationParkAndRetrieve.NumberOfPerson},id:"park-form-modal"}).afterClosed().subscribe(e=>{e&&this._dialogRef.close(!0)})}getNote(t){const e=this.getStatus(t);return"preparing"==e?this.houseKeeping.filter(r=>r.Option==t)[0].Notes:e.toUpperCase()}getStatus(t){return this.occupied&&this.occupied.filter(i=>i.ParkLabel==t).length>0?"occupied":this.houseKeeping&&this.houseKeeping.filter(i=>i.Option==t).length>0?"preparing":"vacant"}}return o.\u0275fac=function(t){return new(t||o)(n.Y36(P.so),n.Y36(P.WI),n.Y36(z.D),n.Y36(S),n.Y36(W.T),n.Y36(D),n.Y36(R),n.Y36(P.uw),n.Y36(A._W))},o.\u0275cmp=n.Xpm({type:o,selectors:[["POS-modal-park-select"]],decls:9,vars:3,consts:[[3,"config","onClose","onCancel"],[1,"park"],[1,"input-group","margin-bottom-sm","form-group","d-inline-flex",2,"width","200px"],[1,"input-group-prepend"],[1,"input-group-text-retrieve","border","d-flex","align-items-center","px-4"],["aria-hidden","true",1,"fa","fa-search"],["type","text","placeholder","Filter by name",1,"border",3,"ngModel","ngModelChange"],["class","test",4,"ngIf"],[1,"test"],[4,"ngFor","ngForOf"],["mat-tab-label","","class","test"],[1,"container","px-0"],[1,"row","dialogPicker"],["class","col-auto px-0",4,"ngFor","ngForOf"],[1,"col-auto","px-0"],[1,"card","mb-0",3,"title","click"],[1,"card-body","p-0",3,"ngClass"],[1,"card-title","mb-0","p-5","text-white","rounded"],["aria-hidden","true",1,"fa","fa-info-circle","pr-3"],[1,"card-text","text-center"],[1,"pt-4",3,"ngClass"],[1,"fas","fa-chair"],["class","alias",3,"innerHtml",4,"ngIf"],[1,"alias",3,"innerHtml"]],template:function(t,e){1&t&&(n.TgZ(0,"modal-material",0),n.NdJ("onClose",function(){return e._dialogRef.close()})("onCancel",function(){return e._dialogRef.close()}),n.TgZ(1,"content",1),n.TgZ(2,"div"),n.TgZ(3,"div",2),n.TgZ(4,"div",3),n.TgZ(5,"span",4),n._UZ(6,"i",5),n.qZA(),n.qZA(),n.TgZ(7,"input",6),n.NdJ("ngModelChange",function(r){return e.filter=r}),n.qZA(),n.qZA(),n.YNc(8,gc,2,1,"mat-tab-group",7),n.qZA(),n.qZA(),n.qZA()),2&t&&(n.Q6J("config",e.modalConfig),n.xp6(7),n.Q6J("ngModel",e.filter),n.xp6(1),n.Q6J("ngIf",e.parkLayoutPack.Layout))},directives:[y.M,h.Fj,h.JJ,h.On,_.O5,B.SP,_.sg,B.uX,B.uD,_.mk],pipes:[J.wn,J.OI],styles:[".dialogPicker[_ngcontent-%COMP%] {\n list-style: none;\n margin: 0px;\n padding: 0px;\n display: flex;\n flex-wrap: wrap !important;\n}\n.dialogPicker[_ngcontent-%COMP%] div.col-auto[_ngcontent-%COMP%] {\n min-height: 95px;\n margin-bottom: 17px;\n width: 140px;\n margin-right: 17px;\n}\n.dialogPicker[_ngcontent-%COMP%] div.col-auto[_ngcontent-%COMP%] div.card-body[_ngcontent-%COMP%] {\n display: block;\n outline: 0;\n border: 1px solid #B1AAAA;\n border-radius: 5px;\n cursor: pointer;\n}\n.dialogPicker[_ngcontent-%COMP%] div.col-auto[_ngcontent-%COMP%] div.card-body[_ngcontent-%COMP%]:hover, .dialogPicker[_ngcontent-%COMP%] div.col-auto[_ngcontent-%COMP%] div.card-body.active[_ngcontent-%COMP%], .dialogPicker[_ngcontent-%COMP%] div.col-auto[_ngcontent-%COMP%] div.card-body.vacant[_ngcontent-%COMP%] {\n background: #ffffe1;\n border: 1px solid #89b03e;\n}\n.dialogPicker[_ngcontent-%COMP%] div.col-auto[_ngcontent-%COMP%] div.card-body[_ngcontent-%COMP%]:hover > h6[_ngcontent-%COMP%], .dialogPicker[_ngcontent-%COMP%] div.col-auto[_ngcontent-%COMP%] div.card-body.active[_ngcontent-%COMP%] > h6[_ngcontent-%COMP%], .dialogPicker[_ngcontent-%COMP%] div.col-auto[_ngcontent-%COMP%] div.card-body.vacant[_ngcontent-%COMP%] > h6[_ngcontent-%COMP%] {\n background: #89b03e;\n}\n.dialogPicker[_ngcontent-%COMP%] div.col-auto[_ngcontent-%COMP%] div.card-body.occupied[_ngcontent-%COMP%], .dialogPicker[_ngcontent-%COMP%] div.col-auto[_ngcontent-%COMP%] div.card-body.occupied[_ngcontent-%COMP%]:hover {\n border: 1px solid #c9302c;\n}\n.dialogPicker[_ngcontent-%COMP%] div.col-auto[_ngcontent-%COMP%] div.card-body.occupied[_ngcontent-%COMP%] > h6[_ngcontent-%COMP%], .dialogPicker[_ngcontent-%COMP%] div.col-auto[_ngcontent-%COMP%] div.card-body.occupied[_ngcontent-%COMP%]:hover > h6[_ngcontent-%COMP%] {\n background: #c9302c !important;\n}\n.dialogPicker[_ngcontent-%COMP%] div.col-auto[_ngcontent-%COMP%] div.card-body.occupied[_ngcontent-%COMP%] span.alias[_ngcontent-%COMP%] {\n background: #c9302c;\n}\n.dialogPicker[_ngcontent-%COMP%] div.col-auto[_ngcontent-%COMP%] div.card-body.occupied[_ngcontent-%COMP%]:hover {\n background: white;\n}\n.dialogPicker[_ngcontent-%COMP%] div.col-auto[_ngcontent-%COMP%] div.card-body.preparing[_ngcontent-%COMP%] {\n border: 1px solid #f6a828;\n}\n.dialogPicker[_ngcontent-%COMP%] div.col-auto[_ngcontent-%COMP%] div.card-body.preparing[_ngcontent-%COMP%] > h6[_ngcontent-%COMP%] {\n background: #f6a828 !important;\n}\n.dialogPicker[_ngcontent-%COMP%] div.col-auto[_ngcontent-%COMP%] div.card-body.preparing[_ngcontent-%COMP%]:hover {\n border: 1px solid #f6a828;\n background: white;\n}\n.dialogPicker[_ngcontent-%COMP%] div.col-auto[_ngcontent-%COMP%] div.card-body.preparing[_ngcontent-%COMP%]:hover > strong[_ngcontent-%COMP%] {\n background: #f6a828 !important;\n}\n.dialogPicker[_ngcontent-%COMP%] div.col-auto[_ngcontent-%COMP%] div.card-body.preparing[_ngcontent-%COMP%] span.alias[_ngcontent-%COMP%] {\n background: #f6a828;\n}\n.dialogPicker[_ngcontent-%COMP%] div.col-auto[_ngcontent-%COMP%] div.card-body.preparing[_ngcontent-%COMP%] div[_ngcontent-%COMP%] > span[_ngcontent-%COMP%] {\n font-size: 0.75rem !important;\n}\n.dialogPicker[_ngcontent-%COMP%] div.col-auto[_ngcontent-%COMP%] div.card-body[_ngcontent-%COMP%] .card-text[_ngcontent-%COMP%] i.fa-chair[_ngcontent-%COMP%] {\n font-size: 2.5rem;\n}\n.dialogPicker[_ngcontent-%COMP%] div.col-auto[_ngcontent-%COMP%] div.card-body[_ngcontent-%COMP%] div[_ngcontent-%COMP%] {\n height: 55px;\n padding: 10px;\n position: relative;\n}\n.dialogPicker[_ngcontent-%COMP%] div.col-auto[_ngcontent-%COMP%] div.card-body[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n display: block;\n font-weight: normal;\n font-size: 0.875rem;\n width: 100%;\n margin-bottom: 5px;\n font-size: 20px;\n}\n.dialogPicker[_ngcontent-%COMP%] div.col-auto[_ngcontent-%COMP%] div.card-body[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:first-child {\n margin-top: -10px;\n}\n.dialogPicker[_ngcontent-%COMP%] div.col-auto[_ngcontent-%COMP%] div.card-body[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:last-child {\n margin-bottom: 0px;\n}\n.dialogPicker[_ngcontent-%COMP%] div.col-auto[_ngcontent-%COMP%] div.card-body[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span.alias[_ngcontent-%COMP%] {\n text-align: center;\n position: absolute;\n bottom: 0px;\n right: 0px;\n width: auto;\n background-color: #B1AAAA;\n border-radius: 3px;\n padding: 2px 5px;\n color: #ffffff;\n display: none !important;\n}\n.dialogPicker[_ngcontent-%COMP%] div.col-auto[_ngcontent-%COMP%] div.card-body[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span.idle[_ngcontent-%COMP%] {\n display: block;\n font-size: 1.25rem;\n text-align: center;\n}\n.dialogPicker[_ngcontent-%COMP%] div.col-auto[_ngcontent-%COMP%] > span[_ngcontent-%COMP%] {\n position: absolute;\n width: 27px;\n height: 28px;\n cursor: pointer;\n top: 5px;\n}\n.dialogPicker[_ngcontent-%COMP%] div.col-auto[_ngcontent-%COMP%] > span[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: black;\n}\n.dialogPicker[_ngcontent-%COMP%] div.col-auto[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]:last-of-type {\n right: -5px;\n}\n.dialogPicker[_ngcontent-%COMP%] div.col-auto[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]:nth-last-of-type(2) {\n right: 15px;\n}\n.dialogPicker[_ngcontent-%COMP%] div.col-auto[_ngcontent-%COMP%] input[type=checkbox][_ngcontent-%COMP%] {\n bottom: 20px;\n right: 5px;\n position: absolute;\n}\n.dialogPicker[_ngcontent-%COMP%] .duration[_ngcontent-%COMP%] > span[_ngcontent-%COMP%] {\n border: 1px solid !important;\n position: absolute;\n bottom: -3px;\n left: 58px;\n background: #fff;\n border-radius: 5px;\n}\nmat-tab-group[_ngcontent-%COMP%] {\n position: relative;\n top: -55px;\n}\nmat-tab-group[_ngcontent-%COMP%] .mat-tab-header {\n width: 768px;\n}\nmat-tab-group[_ngcontent-%COMP%] .mat-tab-label-container {\n max-width: calc(100% - 196px);\n position: relative;\n left: 195px;\n}\nmat-tab-group[_ngcontent-%COMP%] .mat-tab-label {\n min-width: 80px;\n padding: 0 12px;\n}"]}),o})(),uc=(()=>{class o{constructor(t,e,i,r,c,l,d,s){this.dialogRef=t,this.parkOrderRetrieve=e,this._orderDataService=i,this._posHttpResponseService=r,this._orderProcessorService=c,this._orderHttpService=l,this._dialog=d,this._outletRegisterService=s,this.modalConfig=new T.O,this.salesOrderData=this._orderDataService.Data,this.appConfig=this._posHttpResponseService.Data.AppConfigJSON,this.parkLayoutPack=this._outletRegisterService.Data.ParkLayoutPack}ngOnInit(){this.modalConfig.title="Re-Park Order?",this.modalConfig.hideFooter=!0}onRepark(){this.dialogRef.close(),this._orderProcessorService.submitParkToServer(this.parkOrderRetrieve)}onMove(){this.dialogRef.close(),this.showParkSelectModal()}showParkSelectModal(){this._orderHttpService.getVacant(this.salesOrderData.Order.EntityID).subscribe(t=>{this._dialog.open(jt,{data:{title:this.title,parkLayoutPack:this.parkLayoutPack,qty:this.salesOrderData.TotalQuantity,entityId:this.salesOrderData.Order.EntityID,occupied:t.Orders,replaceWithAlias:this.appConfig.ApplicationParkAndRetrieve.ParkLayoutTemplate.EnableAlias}})})}get title(){return this._orderProcessorService.Data.posState==O.IsSplit?"Split Order":this.appConfig.ApplicationParkAndRetrieve.UserInterfaceLabel.ParkDialogTitle}}return o.\u0275fac=function(t){return new(t||o)(n.Y36(P.so),n.Y36(P.WI),n.Y36(S),n.Y36(D),n.Y36(R),n.Y36(z.D),n.Y36(P.uw),n.Y36(F))},o.\u0275cmp=n.Xpm({type:o,selectors:[["POS-modal-repark"]],decls:13,vars:3,consts:[[3,"title","hideFooter","config","onClose","onCancel"],[1,"d-flex"],[1,"btn","btn-gray","btn-lg",3,"click"]],template:function(t,e){1&t&&(n.TgZ(0,"modal-material",0),n.NdJ("onClose",function(){return e.dialogRef.close()})("onCancel",function(){return e.dialogRef.close()}),n.TgZ(1,"content"),n.TgZ(2,"div",1),n.TgZ(3,"a",2),n.NdJ("click",function(){return e.onRepark()}),n.TgZ(4,"h4"),n._uU(5,"Re-Park"),n.qZA(),n.TgZ(6,"span"),n._uU(7,"Store order to same location"),n.qZA(),n.qZA(),n.TgZ(8,"a",2),n.NdJ("click",function(){return e.onMove()}),n.TgZ(9,"h4"),n._uU(10,"Move"),n.qZA(),n.TgZ(11,"span"),n._uU(12,"Shift order to Different location"),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.qZA()),2&t&&n.Q6J("title","Re-Park Order?")("hideFooter",!0)("config",e.modalConfig)},directives:[y.M],styles:[".btn-gray[_ngcontent-%COMP%] {\n background-color: #f4f4f4;\n border: 1px solid #D6D6D6;\n font-weight: bold;\n color: #545454 !important;\n background: linear-gradient(to bottom, #ffffff 0%, #eeeeee 100%);\n}\n.btn[_ngcontent-%COMP%] {\n padding: 25px 0px;\n width: 190px;\n margin-right: 10px;\n}\n.btn[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n font-weight: 700;\n text-transform: uppercase;\n}\n.btn[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n font-size: 0.75rem;\n font-style: italic;\n color: #868686;\n margin-top: 10px;\n}"]}),o})(),Wt=(()=>{class o{constructor(t){this.httpService=t}getParkedOrder(t,e){return this.httpService.post(g.Wz.GetPark,{EntityID:t,RegisterID:e})}removeOrder(t,e){return this.httpService.post(e?g.Wz.VoidPark:g.Wz.RemovePark,{OrderID:t})}mergePark(t){return this.httpService.post(g.Wz.MergePark,t)}getOutstanding(t){return this.httpService.post(g.Wz.GetOutStanding,{EntityID:t})}}return o.\u0275fac=function(t){return new(t||o)(n.LFG(rn.O))},o.\u0275prov=n.Yz7({token:o,factory:o.\u0275fac,providedIn:"root"}),o})();function _c(o,a){if(1&o&&(n.TgZ(0,"span",10),n._uU(1),n.qZA()),2&o){const t=a.$implicit;n.Q6J("hidden",0==a.index),n.xp6(1),n.Oqu(t.ParkLabel)}}function hc(o,a){if(1&o&&(n.TgZ(0,"div",7),n.YNc(1,_c,2,2,"span",8),n._uU(2," Merge To "),n.TgZ(3,"span",9),n._uU(4),n.qZA(),n.qZA()),2&o){const t=n.oxw();n.xp6(1),n.Q6J("ngForOf",t.listMerge),n.xp6(3),n.hij(" ",t.listMerge[0].ParkLabel,"")}}const mc=function(o){return{width:o}};function fc(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",11),n.TgZ(1,"div",12),n.TgZ(2,"span",13),n._UZ(3,"i",14),n.qZA(),n.qZA(),n.TgZ(4,"input",15),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw().filter=i}),n.qZA(),n.qZA()}if(2&o){const t=n.oxw();n.Akn(n.VKq(3,mc,1==t.retreiveMode?" 13.75rem":" 23.75rem")),n.xp6(4),n.Q6J("ngModel",t.filter)}}function Cc(o,a){if(1&o&&(n.TgZ(0,"span"),n._uU(1),n.ALo(2,"limitTo"),n.qZA()),2&o){const t=n.oxw().$implicit,e=n.oxw(3);n.xp6(1),n.Oqu(e.parkedOrders.length<5?t.Name:n.xi3(2,1,t.Name,5))}}function Pc(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"span",47),n.NdJ("click",function(i){n.CHM(t);const r=n.oxw().$implicit;return n.oxw(5).remove(r),i.stopPropagation()}),n._UZ(1,"i",48),n.qZA()}}const Kt=function(){return["print/SalesOrder"]},Xt=function(o,a){return{ID:o,Template:a}};function Oc(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",24),n.TgZ(1,"div",25),n.TgZ(2,"div",26),n.NdJ("click",function(){const r=n.CHM(t).$implicit;return n.oxw(5).onOrderClicked(r)}),n.TgZ(3,"h5",27),n._UZ(4,"i",28),n.TgZ(5,"div",29),n._uU(6),n.qZA(),n.TgZ(7,"span",30),n.TgZ(8,"span",31),n.TgZ(9,"a",32),n.NdJ("click",function(i){return i.stopPropagation()}),n._UZ(10,"i",33),n.qZA(),n.qZA(),n.YNc(11,Pc,2,0,"span",34),n.qZA(),n.qZA(),n.TgZ(12,"div",35),n.TgZ(13,"div"),n.TgZ(14,"div",36),n._UZ(15,"i",37),n._uU(16),n.ALo(17,"date"),n.qZA(),n.TgZ(18,"div",38),n._UZ(19,"i",39),n._uU(20),n.qZA(),n.TgZ(21,"div",40),n._UZ(22,"i",41),n._uU(23),n.qZA(),n.TgZ(24,"div",42),n._uU(25),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.TgZ(26,"div",43),n.TgZ(27,"input",44),n.NdJ("ngModelChange",function(i){return n.CHM(t).$implicit.selected=i})("change",function(){const r=n.CHM(t).$implicit;return n.oxw(5).chooseMerge(r)}),n.qZA(),n.TgZ(28,"div",45),n.TgZ(29,"span",46),n._uU(30),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.qZA()}if(2&o){const t=a.$implicit,e=n.oxw(5);n.xp6(6),n.hij(" ",e.replaceAlias&&t.Alias?t.Alias:t.ParkLabel," "),n.xp6(3),n.Q6J("routerLink",n.DdM(14,Kt))("queryParams",n.WLB(15,Xt,t.ID,e.templateID)),n.xp6(2),n.Q6J("ngIf",!e.AuthorizeParkOrderDeletion),n.xp6(5),n.hij(" ",n.xi3(17,11,t.Created,"dd-MMM hh:mm")," "),n.xp6(4),n.hij(" ",t.Number," "),n.xp6(3),n.hij(" ",t.CustomerDisplay," "),n.xp6(1),n.Q6J("hidden",e.replaceAlias),n.xp6(1),n.hij(" ",t.alias," "),n.xp6(2),n.Q6J("ngModel",t.selected),n.xp6(3),n.hij(" ",t.Duration," min ")}}const ne=function(){return["ParkLabel","Number"]};function Mc(o,a){if(1&o&&(n.TgZ(0,"div",21),n.TgZ(1,"div",22),n.YNc(2,Oc,31,18,"div",23),n.ALo(3,"FilterByArray"),n.qZA(),n.qZA()),2&o){const t=n.oxw().$implicit,e=n.oxw(3);n.xp6(2),n.Q6J("ngForOf",n.Dn7(3,1,t.List,n.DdM(5,ne),e.filter))}}function bc(o,a){if(1&o&&(n.TgZ(0,"mat-tab"),n.YNc(1,Cc,3,4,"ng-template",19),n.YNc(2,Mc,4,6,"div",20),n.qZA()),2&o){const t=n.oxw(3);n.xp6(2),n.Q6J("ngIf",t.Layout.length>0)}}function xc(o,a){if(1&o&&(n.TgZ(0,"mat-tab-group"),n.YNc(1,bc,3,1,"mat-tab",18),n.qZA()),2&o){const t=n.oxw(2);n.xp6(1),n.Q6J("ngForOf",t.Layout)}}function vc(o,a){if(1&o&&(n.TgZ(0,"div",16),n.YNc(1,xc,2,1,"mat-tab-group",17),n.qZA()),2&o){const t=n.oxw();n.xp6(1),n.Q6J("ngIf",0!=t.parkedOrders.length)}}function yc(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"span",47),n.NdJ("click",function(i){n.CHM(t);const r=n.oxw().$implicit;return n.oxw(2).remove(r),i.stopPropagation()}),n._UZ(1,"i",48),n.qZA()}}function Dc(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"input",44),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw().$implicit.selected=i})("change",function(){n.CHM(t);const i=n.oxw().$implicit;return n.oxw(2).chooseMerge(i)}),n.qZA()}if(2&o){const t=n.oxw().$implicit;n.Q6J("ngModel",t.selected)}}function Sc(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",24),n.TgZ(1,"div",25),n.TgZ(2,"div",26),n.NdJ("click",function(){const r=n.CHM(t).$implicit;return n.oxw(2).onOrderClicked(r)}),n.TgZ(3,"h5",27),n._UZ(4,"i",28),n.TgZ(5,"div",29),n._uU(6),n.qZA(),n.TgZ(7,"span",30),n.TgZ(8,"span",31),n.TgZ(9,"a",32),n.NdJ("click",function(i){return i.stopPropagation()}),n._UZ(10,"i",33),n.qZA(),n.qZA(),n.YNc(11,yc,2,0,"span",34),n.qZA(),n.qZA(),n.TgZ(12,"div",35),n.TgZ(13,"div"),n.TgZ(14,"div",36),n._UZ(15,"i",37),n._uU(16),n.ALo(17,"date"),n.qZA(),n.TgZ(18,"div",38),n._UZ(19,"i",39),n._uU(20),n.qZA(),n.TgZ(21,"div",40),n._UZ(22,"i",41),n._uU(23),n.qZA(),n.TgZ(24,"div",42),n._uU(25),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.TgZ(26,"div",43),n.YNc(27,Dc,1,1,"input",50),n.TgZ(28,"div",45),n.TgZ(29,"span",46),n._uU(30),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.qZA()}if(2&o){const t=a.$implicit,e=n.oxw(2);n.xp6(6),n.hij(" ",e.replaceAlias&&t.Alias?t.Alias:t.ParkLabel," "),n.xp6(3),n.Q6J("routerLink",n.DdM(14,Kt))("queryParams",n.WLB(15,Xt,t.ID,e.templateID)),n.xp6(2),n.Q6J("ngIf",!e.AuthorizeParkOrderDeletion),n.xp6(5),n.hij(" ",n.xi3(17,11,t.Created,"dd-MMM hh:mm")," "),n.xp6(4),n.hij(" ",t.Number," "),n.xp6(3),n.hij(" ",t.CustomerDisplay," "),n.xp6(1),n.Q6J("hidden",e.replaceAlias),n.xp6(1),n.hij(" ",t.alias," "),n.xp6(2),n.Q6J("ngIf",e.parkEnableMerge),n.xp6(3),n.hij(" ",t.Duration," min ")}}function wc(o,a){if(1&o&&(n.TgZ(0,"div",16),n.TgZ(1,"div",49),n.YNc(2,Sc,31,18,"div",23),n.ALo(3,"FilterByArray"),n.qZA(),n.qZA()),2&o){const t=n.oxw();n.xp6(2),n.Q6J("ngForOf",n.Dn7(3,1,t.parkedOrders,n.DdM(5,ne),t.filter))}}function Tc(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"a",51),n.NdJ("click",function(){return n.CHM(t),n.oxw().clearSelection()}),n._uU(1,"Clear All"),n.qZA()}}function kc(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"a",51),n.NdJ("click",function(){return n.CHM(t),n.oxw().merge()}),n._uU(1,"Merge"),n.qZA()}}let Ic=(()=>{class o{constructor(t,e,i,r,c,l,d){this._dialogRef=t,this.data=e,this._parkedOrderService=i,this._localData=r,this._OrderHttpService=c,this._orderProcessorService=l,this._toastr=d,this.modalConfig=new T.O,this.parkedOrders=[],this.listMerge=[],this.modalConfig.title=e.title,this.modalConfig.customWidth="850px",this.modalConfig.hideFooter=!0,this.modalConfig.bodyScrollable=!0,this.title=e.title,this.filterAlwaysVisible=e.filterAlwaysVisible,this.parkDeletionRestriction=e.parkDeletionRestriction,this.entityId=e.entityId,this.replaceAlias=e.replaceAlias,this.posHub=e.posHub,this.mode=e.mode,this.templateID=e.templateID,this.RegisterID=e.RegisterID,this.park=e.Park,this.voidEnabled=e.voidEnabled,this.retreiveMode=e.retreiveMode,this.Layout=e.Layout,this.parkEnableMerge=e.parkEnableMerge,this.RetreiveOrderDifferentRegister=e.RetreiveOrderDifferentRegister,this.AuthorizeParkOrderDeletion=e.AuthorizeParkOrderDeletion,this.getData()}getData(){this._localData.isConfigFromServer().then(t=>{t&&this._parkedOrderService.getParkedOrder(this.entityId,this.RegisterID).subscribe(e=>{if(this.parkedOrders=e,this.parkedOrders.length>0&&this.parkedOrders.forEach(i=>{if(1==this.retreiveMode)i.Orders.forEach(r=>{r.Alias=this.park.GetAlias(r.ParkLabel),r.MemberIdentification=r.MemberIdentification?r.MemberIdentification:"";const c=new Date(r.Created),l=new Date,d=Math.abs(l.getTime()-c.getTime()),s=Math.floor(d%864e5/36e5),p=Math.round(d%864e5%36e5/6e4);r.Duration=s>0?p+60*s:p});else{i.Alias=this.park.GetAlias(i.ParkLabel),i.MemberIdentification=i.MemberIdentification?i.MemberIdentification:"";const r=new Date(i.Created),c=new Date,l=Math.abs(c.getTime()-r.getTime()),d=Math.floor(l%864e5/36e5),s=Math.round(l%864e5%36e5/6e4);i.Duration=d>0?s+60*d:s}}),1==this.retreiveMode)for(const i of this.Layout){i.List=[];const r=this.parkedOrders.find(c=>c.Group==i.Name);i.List=null!=r?r.Orders:[]}},()=>{this._dialogRef.close()})})}remove(t){confirm("Are you sure you want to "+(this.voidEnabled?"void":"delete")+" park "+t.ParkLabel+" ?")&&this.delete(t)}delete(t){this._parkedOrderService.removeOrder(t.ID,this.voidEnabled).subscribe(()=>{this._toastr.info(this.voidEnabled?"Order "+t.Number+" has been voided":"Order "+t.Number+" has been deleted","Park "+t.ParkLabel+" removed!"),this.posHub.BroadcastChangeToKitchenDisplay(),this.getData()},e=>{this._toastr.error(e,"Failed to remove "+t.ParkLabel+" !"),this._dialogRef.close({Error:e})})}clearSelection(){this.parkedOrders.forEach(0==this.mode?t=>t.selected=!1:t=>{t.selected=!1}),this.listMerge=[]}merge(){const t=[];this.listMerge.forEach(e=>{t.push(e.ID)}),this._parkedOrderService.mergePark(t).subscribe(e=>{const i=this.listMerge.find(r=>r.ID==e.ID);this.onOrderClicked(i)},e=>{this._dialogRef.close({Error:e})})}onOrderClicked(t){this._OrderHttpService.GetInvoiceBySoID(t.ID).subscribe(e=>{this._orderProcessorService.updatePosState(O.IsRetrieve),this._orderProcessorService.plainToClass(e,O.IsRetrieve),this._dialogRef.close(t)})}chooseMerge(t){if(void 0===this.listMerge.find(i=>i.Number==t.Number))this.listMerge.push(t);else{const i=[];this.listMerge.forEach(r=>{r.Number!=t.Number&&i.push(r)}),this.listMerge=i,void 0===this.listMerge[0]&&(this.listMerge=[])}}}return o.\u0275fac=function(t){return new(t||o)(n.Y36(P.so),n.Y36(P.WI),n.Y36(Wt),n.Y36(W.T),n.Y36(z.D),n.Y36(R),n.Y36(A._W))},o.\u0275cmp=n.Xpm({type:o,selectors:[["POS-modal-retrieve"]],decls:11,vars:7,consts:[[3,"config","onCancel"],["class","input-group form-group font-weight-bold",4,"ngIf"],[2,"width","800px"],["class","input-group form-group search",3,"style",4,"ngIf"],["class","container",4,"ngIf"],[1,"row","flex","justify-content-end"],["class","btn btn-light-blue text-primary btn-lg font-weight-bold mr-3",3,"click",4,"ngIf"],[1,"input-group","form-group","font-weight-bold"],["class","mr-3",3,"hidden",4,"ngFor","ngForOf"],[1,"ml-3"],[1,"mr-3",3,"hidden"],[1,"input-group","form-group","search"],[1,"input-group-prepend"],[1,"input-group-text"],["aria-hidden","true",1,"fa","fa-search"],["placeholder","Search by number or note",1,"txtFilter","form-control",3,"ngModel","ngModelChange"],[1,"container"],[4,"ngIf"],[4,"ngFor","ngForOf"],["mat-tab-label",""],["class","container px-0",4,"ngIf"],[1,"container","px-0"],[1,"row","dialogPicker","mx-0"],["class","col-3",4,"ngFor","ngForOf"],[1,"col-3"],[1,"card","border-0"],[1,"card-body","p-0",3,"click"],[1,"card-title","d-flex","justify-content-between","px-0"],["aria-hidden","true",1,"fa","fa-info-circle","ml-3","mr-2","my-auto"],[1,"label-title","mr-2","my-auto"],[1,"d-flex","my-auto"],[1,"nofocus"],["target","_blank",1,"nofocus",3,"routerLink","queryParams","click"],[1,"fa","fa-print","text-dark"],[3,"click",4,"ngIf"],[1,"card-text","pl-5","pr-8","pt-3","pb-8"],[1,"date","mb-0"],[1,"far","fa-calendar-check","fa-fw","pr-2"],[1,"invoice","mb-0"],["aria-hidden","true",1,"fa","fa-hashtag","fa-fw","pr-2"],[1,"customer","mb-0"],["aria-hidden","true",1,"fa","fa-user","fa-fw","pr-2"],[1,"alias",3,"hidden"],[1,"card-footer"],["type","checkbox",1,"retrieve_checkbox","mb-5",3,"ngModel","ngModelChange","change"],[1,"duration","text-center"],[1,"py-2","px-4"],[3,"click"],["aria-hidden","true",1,"fa","fa-times-circle","mr-1","text-dark"],[1,"row"],["class","retrieve_checkbox mb-5","type","checkbox",3,"ngModel","ngModelChange","change",4,"ngIf"],[1,"btn","btn-light-blue","text-primary","btn-lg","font-weight-bold","mr-3",3,"click"]],template:function(t,e){1&t&&(n.TgZ(0,"modal-material",0),n.NdJ("onCancel",function(){return e._dialogRef.close()}),n.TgZ(1,"content"),n.YNc(2,hc,5,2,"div",1),n.TgZ(3,"div",2),n.YNc(4,fc,5,5,"div",3),n.YNc(5,vc,2,1,"div",4),n.TgZ(6,"div"),n.YNc(7,wc,4,6,"div",4),n.qZA(),n.qZA(),n.TgZ(8,"div",5),n.YNc(9,Tc,2,0,"a",6),n.YNc(10,kc,2,0,"a",6),n.qZA(),n.qZA(),n.qZA()),2&t&&(n.Q6J("config",e.modalConfig),n.xp6(2),n.Q6J("ngIf",e.listMerge.length>0),n.xp6(2),n.Q6J("ngIf",e.parkedOrders.length>0||1==e.retreiveMode||e.filterAlwaysVisible),n.xp6(1),n.Q6J("ngIf",1==e.retreiveMode),n.xp6(2),n.Q6J("ngIf",0==e.retreiveMode),n.xp6(2),n.Q6J("ngIf",e.listMerge.length>1),n.xp6(1),n.Q6J("ngIf",e.listMerge.length>1))},directives:[y.M,_.O5,_.sg,h.Fj,h.JJ,h.On,B.SP,B.uX,B.uD,H.yS,h.Wl],pipes:[J.OI,J.Rt,_.uU],styles:[".nofocus[_ngcontent-%COMP%]:focus {\n outline: none !important;\n}\n.label-title[_ngcontent-%COMP%] {\n font-size: 1vw;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.col-3[_ngcontent-%COMP%] {\n list-style: none;\n margin: 0px;\n padding: 0px;\n display: flex;\n flex-wrap: wrap !important;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] {\n width: 180px;\n min-height: 95px;\n margin-right: 17px;\n margin-bottom: 17px;\n position: relative;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body[_ngcontent-%COMP%] {\n display: block;\n outline: 0;\n border: 1px solid #b1aaaa;\n border-radius: 5px;\n cursor: pointer;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body[_ngcontent-%COMP%] h5[_ngcontent-%COMP%] {\n height: 30px;\n border-radius: 4px;\n padding: 5px 10px;\n color: #ffffff;\n background: #b1aaaa;\n overflow: hidden;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body[_ngcontent-%COMP%] h5[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n margin-right: 5px;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body[_ngcontent-%COMP%]:hover, .col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.active[_ngcontent-%COMP%], .col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.vacant[_ngcontent-%COMP%] {\n background: #ffffe1;\n border: 1px solid #89b03e;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body[_ngcontent-%COMP%]:hover > h5[_ngcontent-%COMP%], .col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.active[_ngcontent-%COMP%] > h5[_ngcontent-%COMP%], .col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.vacant[_ngcontent-%COMP%] > h5[_ngcontent-%COMP%] {\n background: #89b03e;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.preparing[_ngcontent-%COMP%] {\n border: 1px solid #f6a828;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.preparing[_ngcontent-%COMP%] > h6[_ngcontent-%COMP%] {\n background: #f6a828 !important;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.preparing[_ngcontent-%COMP%]:hover {\n border: 1px solid #f6a828;\n background: white;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.preparing[_ngcontent-%COMP%]:hover > strong[_ngcontent-%COMP%] {\n background: #f6a828 !important;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.preparing[_ngcontent-%COMP%] span.alias[_ngcontent-%COMP%] {\n background: #f6a828;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.preparing[_ngcontent-%COMP%] div[_ngcontent-%COMP%] > span[_ngcontent-%COMP%] {\n font-size: 0.75rem !important;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body[_ngcontent-%COMP%] div[_ngcontent-%COMP%] {\n position: relative;\n font-size: 14px;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n display: block;\n font-weight: normal;\n font-size: 0.875rem;\n width: 100%;\n margin-bottom: 5px;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:first-child {\n margin-top: -10px;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:last-child {\n margin-bottom: 0px;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span.alias[_ngcontent-%COMP%] {\n text-align: center;\n position: absolute;\n bottom: 0px;\n right: 0px;\n width: auto;\n background-color: #b1aaaa;\n border-radius: 3px;\n padding: 2px 5px;\n color: #ffffff;\n display: none !important;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span.idle[_ngcontent-%COMP%] {\n display: block;\n font-size: 1.25rem;\n text-align: center;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > span[_ngcontent-%COMP%] {\n position: absolute;\n width: 27px;\n height: 28px;\n cursor: pointer;\n top: 5px;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > span[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: black;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]:last-of-type {\n right: -5px;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]:nth-last-of-type(2) {\n right: 15px;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] input[type=checkbox][_ngcontent-%COMP%] {\n bottom: 20px;\n right: 5px;\n position: absolute;\n}\n.col-3[_ngcontent-%COMP%] .duration[_ngcontent-%COMP%] > span[_ngcontent-%COMP%] {\n border: 1px solid !important;\n position: absolute;\n bottom: 10px;\n left: 58px;\n background: #fff;\n border-radius: 5px;\n}\nmat-tab-group[_ngcontent-%COMP%] {\n position: relative;\n}\nmat-tab-group[_ngcontent-%COMP%] .mat-tab-header {\n width: 768px;\n top: -65px;\n}\nmat-tab-group[_ngcontent-%COMP%] .mat-tab-body-wrapper {\n top: -49px;\n}\nmat-tab-group[_ngcontent-%COMP%] mat-tab-body {\n margin-top: 0.5rem;\n}\nmat-tab-group[_ngcontent-%COMP%] .mat-tab-label-container {\n max-width: calc(100% - 196px);\n position: relative;\n left: 14.0625rem;\n}\nmat-tab-group[_ngcontent-%COMP%] .mat-tab-label {\n min-width: 80px;\n padding: 0 12px;\n}\n.search[_ngcontent-%COMP%] {\n z-index: 20;\n}"]}),o})();class te{constructor(a){this.LayoutPack=a}GenerateLayoutOption(){null!=this.LayoutPack&&this.LayoutPack.Layout&&this.LayoutPack.Layout.forEach(a=>{a.Options=[];for(let t=1;t<=a.Size;t++){let e=new zt;e.Name=a.Name+t,e.Alias=this.GetAlias(e.Name),a.Options.push(e)}})}GetAlias(a){if(null!=this.LayoutPack&&this.LayoutPack.Alias){let t=this.LayoutPack.Alias.filter(e=>e.Name==a);return t.length>0?t[0].Alias:a}return""}}let Ac=(()=>{class o{constructor(t,e,i,r,c){this._dialogRef=t,this.data=e,this._orderDataService=i,this._orderProcessorService=r,this._posHttpResponseService=c,this.modalConfig=new T.O,this.note=this.data.note,this.modalConfig.title="Bill Notes",this.modalConfig.customWidth="300px"}onOk(){let t=this._orderDataService.Data,e=this._posHttpResponseService.Data.AppConfigJSON;t.Invoice.Due||(t.Invoice.Due=this.getDefaultInvoiceDue()),t.Action.Type=Pn.q.Bill,t.Order.InvoicedStateID=gn.Complete,t.Order.Note=this.note,this._orderDataService.pushNewValue(t),this._orderDataService.submitOrder(e).then(i=>{this._dialogRef.close(),this._orderProcessorService.updatePosState(O.IsBill,i)})}getDefaultInvoiceDue(){let t=this._posHttpResponseService.Data.AppConfigJSON.ModuleSell.PaymentDialog.DefaultDueDays,e=new Date;return e.setDate(e.getDate()+t),e}}return o.\u0275fac=function(t){return new(t||o)(n.Y36(P.so),n.Y36(P.WI),n.Y36(S),n.Y36(R),n.Y36(D))},o.\u0275cmp=n.Xpm({type:o,selectors:[["POS-modal-bill"]],decls:3,vars:2,consts:[[3,"config","onOk","onClose","onCancel"],["rows","7",1,"border","rounded","p-4",3,"ngModel","ngModelChange"]],template:function(t,e){1&t&&(n.TgZ(0,"modal-material",0),n.NdJ("onOk",function(){return e.onOk()})("onClose",function(){return e._dialogRef.close()})("onCancel",function(){return e._dialogRef.close()}),n.TgZ(1,"content"),n.TgZ(2,"textarea",1),n.NdJ("ngModelChange",function(r){return e.note=r}),n.qZA(),n.qZA(),n.qZA()),2&t&&(n.Q6J("config",e.modalConfig),n.xp6(2),n.Q6J("ngModel",e.note))},directives:[y.M,h.Fj,h.JJ,h.On],styles:["textarea[_ngcontent-%COMP%] {\n width: 100%;\n height: 70px;\n resize: both;\n}"]}),o})();function Zc(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"span",18),n.NdJ("click",function(i){n.CHM(t);const r=n.oxw().$implicit;return n.oxw().remove(r),i.stopPropagation()}),n._UZ(1,"i",19),n.qZA()}}const Nc=function(){return["print/InvoiceMini"]},qc=function(o,a){return{ID:o,Template:a}};function Rc(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",5),n.TgZ(1,"div",6),n.TgZ(2,"div",7),n.NdJ("click",function(){const r=n.CHM(t).$implicit;return n.oxw().onEdit(r.ID)}),n.TgZ(3,"h5",8),n._UZ(4,"i",9),n.TgZ(5,"div",10),n._uU(6),n.qZA(),n.TgZ(7,"span",11),n.TgZ(8,"span",12),n.TgZ(9,"a",13),n._UZ(10,"i",14),n.qZA(),n.qZA(),n.YNc(11,Zc,2,0,"span",15),n.qZA(),n.qZA(),n.TgZ(12,"div",16),n.TgZ(13,"span"),n._uU(14),n.ALo(15,"date"),n.qZA(),n.TgZ(16,"span"),n._UZ(17,"i",17),n._uU(18),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.qZA()}if(2&o){const t=a.$implicit,e=n.oxw();n.xp6(6),n.hij(" ",t.ParkLabel||t.Note," "),n.xp6(3),n.Q6J("routerLink",n.DdM(9,Nc))("queryParams",n.WLB(10,qc,t.InvID,e.templateID)),n.xp6(2),n.Q6J("ngIf",!e.AuthorizeBillOrderDeletion),n.xp6(3),n.hij(" ",n.xi3(15,6,t.Created,"dd-MMM hh:mm"),""),n.xp6(4),n.hij("",t.Number," ")}}let Jc=(()=>{class o{constructor(t,e,i,r,c,l,d){this._dialogRef=t,this.data=e,this._localData=i,this._parkedOrderService=r,this._OrderHttpService=c,this._orderProcessorService=l,this._toastr=d,this.modalConfig=new T.O,this.entityID=e.entityID,this.templateID=e.templateID,this.AuthorizeBillOrderDeletion=e.AuthorizeBillOrderDeletion,this.voidEnabled=e.voidEnabled,this.modalConfig.title="UnPaid",this.modalConfig.customWidth="850px",this.modalConfig.hideFooter=!0,this.modalConfig.bodyScrollable=!0}ngOnInit(){this.getOutStanding()}getOutStanding(){this._localData.isProductFromServer().then(t=>{t&&g.gT.IsNotEmpty(this.entityID)&&this._parkedOrderService.getOutstanding(this.entityID).subscribe(e=>{this.outstandings=e})})}onEdit(t){this._OrderHttpService.GetInvoiceBySoID(t).subscribe(e=>{this._orderProcessorService.updatePosState(O.IsBill),this._orderProcessorService.plainToClass(e),this._dialogRef.close()})}remove(t){confirm("Are you sure you want to delete "+(null==t.ParkLabel?"":t.ParkLabel)+" ?")&&this._parkedOrderService.removeOrder(t.ID,this.voidEnabled).subscribe(i=>{this.getOutStanding(),this._toastr.info("Order "+t.Number+" has been deleted","Park "+t.ParkLabel+" removed!")})}}return o.\u0275fac=function(t){return new(t||o)(n.Y36(P.so),n.Y36(P.WI),n.Y36(W.T),n.Y36(Wt),n.Y36(z.D),n.Y36(R),n.Y36(A._W))},o.\u0275cmp=n.Xpm({type:o,selectors:[["POS-modal-unpaid"]],decls:6,vars:5,consts:[[3,"title","hideOk","hideFooter","config","onClose","onCancel"],[2,"width","800px"],[1,"container"],[1,"row"],["class","col-3",4,"ngFor","ngForOf"],[1,"col-3"],[1,"card","border-0"],[1,"card-body","p-0",3,"click"],[1,"card-title","d-flex","justify-content-between","px-0"],["aria-hidden","true",1,"fa","fa-info-circle","ml-3","mr-2","my-auto"],[1,"label-title","mr-2","my-auto"],[1,"d-flex","my-auto"],[1,"nofocus"],["target","_blank",1,"nofocus",3,"routerLink","queryParams"],[1,"fa","fa-print","text-dark"],["class","",3,"click",4,"ngIf"],[1,"card-text","px-5","pt-5","pb-10"],["aria-hidden","true",1,"fa","fa-hashtag","mr-2"],[1,"",3,"click"],["aria-hidden","true",1,"fa","fa-times-circle","mr-1","text-dark"]],template:function(t,e){1&t&&(n.TgZ(0,"modal-material",0),n.NdJ("onClose",function(){return e._dialogRef.close()})("onCancel",function(){return e._dialogRef.close()}),n.TgZ(1,"content"),n.TgZ(2,"div",1),n.TgZ(3,"div",2),n.TgZ(4,"div",3),n.YNc(5,Rc,19,13,"div",4),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.qZA()),2&t&&(n.Q6J("title","Unpaid")("hideOk",!0)("hideFooter",!0)("config",e.modalConfig),n.xp6(5),n.Q6J("ngForOf",e.outstandings))},directives:[y.M,_.sg,H.yS,_.O5],pipes:[_.uU],styles:[".nofocus[_ngcontent-%COMP%]:focus {\n outline: none !important;\n}\n.label-title[_ngcontent-%COMP%] {\n font-size: 1vw;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.col-3[_ngcontent-%COMP%] {\n list-style: none;\n margin: 0px;\n padding: 0px;\n display: flex;\n flex-wrap: wrap !important;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] {\n width: 180px;\n min-height: 95px;\n margin-right: 17px;\n margin-bottom: 17px;\n position: relative;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body[_ngcontent-%COMP%] {\n display: block;\n outline: 0;\n border: 1px solid #B1AAAA;\n border-radius: 5px;\n cursor: pointer;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body[_ngcontent-%COMP%] h5[_ngcontent-%COMP%] {\n height: 30px;\n border-radius: 4px;\n padding: 5px 10px;\n color: #ffffff;\n background: #B1AAAA;\n overflow: hidden;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body[_ngcontent-%COMP%] h5[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n margin-right: 5px;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body[_ngcontent-%COMP%]:hover, .col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.active[_ngcontent-%COMP%], .col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.vacant[_ngcontent-%COMP%] {\n background: #ffffe1;\n border: 1px solid #89b03e;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body[_ngcontent-%COMP%]:hover > h5[_ngcontent-%COMP%], .col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.active[_ngcontent-%COMP%] > h5[_ngcontent-%COMP%], .col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.vacant[_ngcontent-%COMP%] > h5[_ngcontent-%COMP%] {\n background: #89b03e;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.preparing[_ngcontent-%COMP%] {\n border: 1px solid #f6a828;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.preparing[_ngcontent-%COMP%] > h6[_ngcontent-%COMP%] {\n background: #f6a828 !important;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.preparing[_ngcontent-%COMP%]:hover {\n border: 1px solid #f6a828;\n background: white;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.preparing[_ngcontent-%COMP%]:hover > strong[_ngcontent-%COMP%] {\n background: #f6a828 !important;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.preparing[_ngcontent-%COMP%] span.alias[_ngcontent-%COMP%] {\n background: #f6a828;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.preparing[_ngcontent-%COMP%] div[_ngcontent-%COMP%] > span[_ngcontent-%COMP%] {\n font-size: 0.75rem !important;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body[_ngcontent-%COMP%] div[_ngcontent-%COMP%] {\n position: relative;\n font-size: 14px;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n display: block;\n font-weight: normal;\n font-size: 0.875rem;\n width: 100%;\n margin-bottom: 5px;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:first-child {\n margin-top: -10px;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:last-child {\n margin-bottom: 0px;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span.alias[_ngcontent-%COMP%] {\n text-align: center;\n position: absolute;\n bottom: 0px;\n right: 0px;\n width: auto;\n background-color: #B1AAAA;\n border-radius: 3px;\n padding: 2px 5px;\n color: #ffffff;\n display: none !important;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span.idle[_ngcontent-%COMP%] {\n display: block;\n font-size: 1.25rem;\n text-align: center;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > span[_ngcontent-%COMP%] {\n position: absolute;\n width: 27px;\n height: 28px;\n cursor: pointer;\n top: 5px;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > span[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: black;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]:last-of-type {\n right: -5px;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]:nth-last-of-type(2) {\n right: 15px;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] input[type=checkbox][_ngcontent-%COMP%] {\n bottom: 20px;\n right: 5px;\n position: absolute;\n}\n.col-3[_ngcontent-%COMP%] .duration[_ngcontent-%COMP%] > span[_ngcontent-%COMP%] {\n border: 1px solid !important;\n position: absolute;\n bottom: 10px;\n left: 58px;\n background: #fff;\n border-radius: 5px;\n}"]}),o})();class Ec{get point(){return this._point}set point(a){this._point=a}get pricebookID(){return this._pricebookID}set pricebookID(a){this._pricebookID=a}get discountRate(){return this._discountRate}set discountRate(a){this._discountRate=a}get groups(){return this._groups}set groups(a){this._groups=a}get salesID(){return this._salesID}set salesID(a){this._salesID=a}get dueDays(){return this._dueDays}set dueDays(a){this._dueDays=a}get expiryDate(){return this._expiryDate}set expiryDate(a){this._expiryDate=a}get debt(){return this._debt}set debt(a){this._debt=a}get expirtedString(){return this._expirtedString}set expirtedString(a){this._expirtedString=a}get loyaltyDisabled(){return this._loyaltyDisabled}set loyaltyDisabled(a){this._loyaltyDisabled=a}get taxTypeID(){return this._taxTypeID}set taxTypeID(a){this._taxTypeID=a}get entityID(){return this._entityID}set entityID(a){this._entityID=a}get mobile(){return this._mobile}set mobile(a){this._mobile=a}get email(){return this._email}set email(a){this._email=a}get dueMonths(){return this._dueMonths}set dueMonths(a){this._dueMonths=a}get memberIdentification(){return this._memberIdentification}set memberIdentification(a){this._memberIdentification=a}}var Xn=(()=>(function(o){o[o.Draft=1]="Draft",o[o.Complete=2]="Complete"}(Xn||(Xn={})),Xn))();class Qc{constructor(){this.OutletName="",this.Status=Xn.Draft,this.AmountSummary=[],this.Coupon="",this.Creator="",this.CurrencySymbol="",this.Customer=new Ec,this.Date="",this.Delivery={Number:""},this.ExtraNote="",this.FinalAmount=0,this.InvoiceNote="",this.Items=[],this.List=[],this.LoyaltyPoint="",this.Payments=[],this.PrintDate="",this.RegisterCode="",this.SalesName="",this.Shipping=new ut.Q,this.Title="",this.TypeName="",this.paymentState=0,this.InvoiceID="",this.Number="",this.Created=""}}class Uc{constructor(){this.ExtraNote="",this.Title="",this.Customer="",this.SalesName="",this.InvoiceNote="",this.Date="",this.Items=[],this.AmountSummary=[],this.Creator="",this.Deposit=0,this.NumberOfPerson=0,this.CurrencySymbol="Rp"}}let ee=(()=>{class o{constructor(t,e,i,r,c,l,d){this._posService=t,this._orderDataService=e,this._cashierCalculatorService=i,this._outletService=r,this._OrderHttpService=c,this._receiptCalculatorService=l,this._orderProcessorService=d,this.park=new te(null),this.outletInfo=new Vn,this.datePipe=new _.uU("en-US"),this.ParkTemp=Array(),this.CartItems=[],this.subscribeToObservableChanges()}get posStorage(){return this._posService.Data}get AppConfigJSON(){return this._posService.Data.AppConfigJSON}subscribeToObservableChanges(){this._orderDataService.Data$.subscribe(t=>{this.posData=t}),this._OrderHttpService.Data$.subscribe(t=>{this.completeData=t}),this._outletService.Data$.subscribe(t=>{this.outletInfo=t}),this._orderProcessorService.Data$.subscribe(t=>{this.ParkTemp=t.parkTemporaryItem})}generateReceiptMini(){const t=new Qc;t.Title=g.gT.StringFormat("{0} #{1}",this.AppConfigJSON.PrintConfigInvoice.HeaderTitle,this.GetSubmittedNumber()),t.OutletName=this.outletInfo.EntityName,t.ExtraNote=this.getParkLabel(),t.Customer=this.getSubmitedCustomer(),t.SalesName=this._outletService.getSalesname(this.posData.Order.SalesID),t.Number=this.completeData.InvoiceNumber,t.FinalAmount=this.completeData.Final,t.InvoiceNote=this.posData.Order.Note,t.RegisterCode=null==this.outletInfo.RegisterCode?"":this.outletInfo.RegisterCode,t.Date=this.AppConfigJSON.PrintConfigInvoice.DocumentVisibility.CustomerEntryTimeVisible?this.getSubmitedOrderDate():this.datePipe.transform(this.posData.Order.Date,"dd MMM yyyy"),this.AppConfigJSON.PrintConfigInvoice.DocumentVisibility.InvoiceCreatedTimeVisible&&(t.Created=this.datePipe.transform(new Date,"dd MMM yyyy")),this.AppConfigJSON.PrintConfigInvoice.DocumentVisibility.OrderTimeVisible&&(t.Created=this.datePipe.transform(new Date,"dd MMM yyyy HH:mm:ss")),this.posData.CartItems.forEach(i=>{i.SalesOrderItemCommission.length>0&&null!=i.SalesOrderItemCommission[0].SalesID&&(i.SalesOrderItemCommission[0].Name=this._outletService.getSalesname(i.SalesOrderItemCommission[0].SalesID))}),t.Items=this.posData.CartItems;for(let i=0;i<t.Items.length;i++)t.List.push({Name:t.Items[i].Variant.Name,Quantity:t.Items[i].Quantity,VariantID:t.Items[i].VariantID});null!=t.Customer&&null!=t.Customer.Display&&null!=t.Customer.Display&&null!=t.Customer.Display&&(t.Customer={ID:this.posData.Order.CustomerID,Display:this.posData.ContactName,Email:t.Customer.Email,CityName:null,Address:t.Customer.Address,Code:t.Customer.Code,Name:t.Customer.Name,Phone:t.Customer.Phone,Mobile:t.Customer.Mobile,NationalIDNumber:t.Customer.NationalIDNumber,Title:t.Customer.Title}),t.Delivery={Number:this.posData.Order.Number};const e=g.gT.FilterByID(this.posStorage.PoTypes,this.posData.Order.TypeID);if(null!==e&&(t.TypeName=e.Name),t.Shipping=this.generateShippingData(),this.AppConfigJSON.PrintConfigInvoice.ItemsTable.ItemWithoutPriceVisible||(t.Items=t.Items.filter(i=>0!=i.Price)),t.Coupon=this.posData.Order.AuthorizationKey,t.LoyaltyPoint=this.completeData?this.completeData.LoyaltyPoint:"",t.FinalAmount=this._cashierCalculatorService.Data,t.CurrencySymbol=this._cashierCalculatorService.currencySymbol,t.paymentState=this.getPaymentState(),t.Payments=this.posData.Payments,t.Payments.forEach(i=>{i.MethodName=this.findPaymentName(i.MethodID)}),t.AmountSummary=this._receiptCalculatorService.generateAmountSummary(),t.Creator=this.completeData?this.completeData.Creator:"",this.AppConfigJSON.PrintConfigInvoice.DocumentVisibility.InvoicePaymentTermsVisible&&0==this.posData.Payments.length){const i=this.posData.Invoice.Due?new Date(this.posData.Invoice.Due):null,r=new Date(this.posData.Order.Date);r.setHours(0,0,0,0),t.ToP=this.generateTop(r,i),void 0!==this.posData.Invoice.Due&&(t.Due=this.datePipe.transform(new Date(this.posData.Invoice.Due),"dd MMMM yyyy"))}return t}generateShippingData(){return{City:null!==this.posData.Shipping?this.posData.Shipping.City:null,Description:null!==this.posData.Shipping?this.posData.Shipping.Address:null,ID:null,Phone:null!==this.posData.Shipping?this.posData.Shipping.Phone:null,Recipient:null!==this.posData.Shipping?this.posData.Shipping.Name:null,SalesOrderID:null,Sender:null,SenderAddress:null,SenderCity:null,SenderPhone:null,Street:null}}generateParkReceipt(){const t=new Uc;if(t.ExtraNote=g.gT.StringFormat("{0} #{1}",this.AppConfigJSON.ApplicationParkAndRetrieve.PrintOutput.NumberPrefix,this.GetSubmittedNumber()),t.Title=this.getParkLabel(),t.Customer=this.getSubmitedCustomer(),t.SalesName=this._outletService.getSalesname(this.posData.Order.SalesID),t.InvoiceNote=this.posData.Order.Note,t.Date=this.getSubmitedOrderDate(),t.CurrencySymbol=this._cashierCalculatorService.currencySymbol,this.AppConfigJSON.ApplicationParkAndRetrieve.PrintBehaviour.PrintAdditionalItemsOnlyOnRePark){if(this.CartItems=Array(),this.ParkTemp.length>0)for(let e of this.posData.CartItems){const i=this.ParkTemp.find(r=>r.ID==e.ID);null==i?this.CartItems.push(e):e.Quantity!=i.Quantity&&(e.Quantity=e.Quantity-i.Quantity,this.CartItems.push(e))}else this.CartItems=this.posData.CartItems;t.Items=this.CartItems}else t.Items=this.posData.CartItems;if(t.Creator=this.posStorage.UserName,t.Deposit=this.posData.Order.Deposit,t.NumberOfPerson=this.posData.Order.NumberOfPerson,this.AppConfigJSON.ApplicationParkAndRetrieve.PrintOutput.AmountVisible){const e=JSON.parse(JSON.stringify(this._receiptCalculatorService.generateAmountSummary()));t.AmountSummary=e}return t}getPaymentState(){let t=1;this.posData.Payments.length>1&&(t=2);const e=this.posData.TotalPaidAmount-this._cashierCalculatorService.Data;return(Math.abs(e)<=this.AppConfigJSON.ModuleSell.ToleranceAmount||e>=0)&&(t=3),t}generateTop(t,e){const i=new Date(e),r=new Date(t),c=i.getTime()-r.getTime();return Math.floor(c/864e5)}getSubmitedOrderDate(){return g.gT.IsNotEmpty(this.completeData)?this.completeData.OrderTimeString:this.datePipe.transform(new Date,"dd MMMM yyyy hh :mm")}getSubmitedCustomer(){return g.gT.IsEmpty(this.completeData)?{}:this.completeData.Contact}getParkLabel(){const t=this.AppConfigJSON.ApplicationParkAndRetrieve.PrintOutput.LabelPrefix;let i=this.posData.Order.ParkLabel;return this.AppConfigJSON.ApplicationParkAndRetrieve.ParkLayoutTemplate.EnableAlias&&g.gT.IsNotEmpty(i)&&(i=this.park.GetAlias(i)||i),i?g.gT.IsEmpty(t)?i:g.gT.StringFormat("{0} # {1}",t,i):""}GetSubmittedNumber(){return g.gT.IsNotEmpty(this.completeData)?this.completeData.InvoiceNumber:this.posData.Invoice.Number?this.posData.Invoice.Number:this.posData.Order.Number}generateCartItemSummary(){const t=[];for(const e of this.posData.CartItems)t.push(new L(e.Total,this._cashierCalculatorService.currencySymbol,e.Variant.Name,1));return t}generatePaymentSummary(){const t=[];let e;for(let r=0;r<this.posData.Payments.length;r++){let c="Payment"+(r+1);this.AppConfigJSON.PrintConfigInvoice.Footer.PaymentMethodVisible&&(c=this.findPaymentName(Number(this.posData.Payments[r].MethodID))),e=new L(this.posData.Payments[r].PaidAmount,this._cashierCalculatorService.currencySymbol,c,1),t.push(e)}const i=this.generateChangeSummary();return null!==i&&t.push(i),t}generateChangeSummary(){let r=0,c=null;return r=this.posData.TotalPaidAmount-this._cashierCalculatorService.Data,r>0&&(c=new L(r,this._cashierCalculatorService.currencySymbol,"Change",1)),c}findPaymentName(t){return this._posService.Data.Payments.find(e=>e.ID==t).Name}}return o.\u0275fac=function(t){return new(t||o)(n.LFG(D),n.LFG(S),n.LFG(G),n.LFG(F),n.LFG(z.D),n.LFG(dt),n.LFG(R))},o.\u0275prov=n.Yz7({token:o,factory:o.\u0275fac,providedIn:"root"}),o})();var oe=m(6340),nt=m(6671),tt=m(9741);function Fc(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"li",12),n.NdJ("click",function(){return n.CHM(t),n.oxw(2).onPark()}),n._uU(1),n.qZA()}if(2&o){const t=n.oxw(2);n.xp6(1),n.hij(" ",t.AppConfig.ApplicationParkAndRetrieve.UserInterfaceLabel.ParkButtonLabel||"Park"," ")}}function Lc(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"li",13),n.NdJ("click",function(){return n.CHM(t),n.oxw(2).showRetrieveModal()}),n._uU(1," Retrieve "),n.qZA()}}function Hc(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"li",14),n.NdJ("click",function(){return n.CHM(t),n.oxw(2).onSplit()}),n._uU(1),n.qZA()}if(2&o){const t=n.oxw(2);n.xp6(1),n.hij(" ",t.isSplit()?"Cancel":"Split"," ")}}function Vc(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"li",15),n.NdJ("click",function(){return n.CHM(t),n.oxw(2).showBillModal()}),n._uU(1," Bill "),n.qZA()}}function Bc(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"li",13),n.NdJ("click",function(){return n.CHM(t),n.oxw(2).showUnpaidModal()}),n._uU(1," Unpaid "),n.qZA()}}function Yc(o,a){if(1&o&&(n.TgZ(0,"ul",7),n.YNc(1,Fc,2,1,"li",8),n.YNc(2,Lc,2,0,"li",9),n.YNc(3,Hc,2,1,"li",10),n.YNc(4,Vc,2,0,"li",11),n.YNc(5,Bc,2,0,"li",9),n.qZA()),2&o){const t=n.oxw();n.xp6(1),n.Q6J("ngIf",(null==t.AppConfig?null:t.AppConfig.ApplicationParkAndRetrieve.Basic.EnableParkAndRetrieve)&&(!t.IsEdit()||t.isRetrive())),n.xp6(1),n.Q6J("ngIf",!t.role.RetrieveRestriction&&(null==t.AppConfig?null:t.AppConfig.ApplicationParkAndRetrieve.Basic.EnableParkAndRetrieve)),n.xp6(1),n.Q6J("ngIf",(null==t.AppConfig?null:t.AppConfig.ApplicationParkAndRetrieve.Basic.EnableParkAndRetrieve)&&(t.isRetrive()||t.isSplit())),n.xp6(1),n.Q6J("ngIf",(null==t.AppConfig?null:t.AppConfig.ApplicationParkAndRetrieve.Basic.EnableBillAndUnpaid)&&!t.isSplit()),n.xp6(1),n.Q6J("ngIf",(null==t.AppConfig?null:t.AppConfig.ApplicationParkAndRetrieve.Basic.EnableBillAndUnpaid)&&!t.isSplit())}}function zc(o,a){1&o&&n._UZ(0,"link",16)}function $c(o,a){if(1&o&&n._UZ(0,"park-order",17),2&o){const t=n.oxw();n.Q6J("data",t.parkMini)("printTemplate",t.outletInfo.PrintTemplate)("config",t.AppConfig)}}function Gc(o,a){if(1&o&&n._UZ(0,"pos-receipt-a4",18),2&o){const t=n.oxw();n.Q6J("data",t.receiptTemplate)("printTemplate",t.outletInfo.PrintTemplate)("config",t.AppConfig)("outletInfo",t.outletInfo)}}function jc(o,a){if(1&o&&n._UZ(0,"pos-receipt",19),2&o){const t=n.oxw();n.Q6J("data",t.receiptTemplate)("printTemplate",t.outletInfo.PrintTemplate)("config",t.AppConfig)("priceVisibleRestriction",t.role.PriceVisibleRestriction)("outletInfo",t.outletInfo)}}let Wc=(()=>{class o{constructor(t,e,i,r,c,l,d,s,p,f,M){this._posService=t,this._orderProcessorService=e,this._orderDataService=i,this._outletService=r,this._receiptService=c,this._posHubService=l,this.toastr=d,this.matDialog=s,this._orderHttpService=p,this._userRoleService=f,this._promotionEvent=M,this.AppConfig=new ln,this.role=new K.Q,this.orderProcessor=new Ln,this.posData=new $.m,this.printMode=2,this.destroy$=new N.xQ,this.subscribeToObservable(),this.Payments=this._posService.Data.Payments,this.AppConfig=this._posService.Data.AppConfigJSON}ngOnInit(){this.parkMini=null}subscribeToObservable(){this._orderProcessorService.Data$.pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.orderProcessor=t,this.checkPrintParkOrder(),this.checkPrintBill()}),this._orderDataService.Data$.pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.posData=t}),this._outletService.Data$.pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.outletInfo=t,this.ParkLayoutPack=t.ParkLayoutPack,this.park=new te(this.ParkLayoutPack)}),this._userRoleService.Data$.pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.role=t})}onPark(){if(this.AppConfig.ModuleSell.Header.CustomerRequired&&null==this.posData.Order.CustomerID)return void this.toastr.warning("Customer is needed before parking orders!","Missing customer!");if(g.gT.IsNotEmpty(this._promotionEvent.selectedPromotion)||g.gT.IsNotEmpty(this.posData.Order.AuthorizationKey))return void this.toastr.warning("sorry, you're using a promotion, can't use park!","can't use park when using promotions!");let e=!0;if(g.gT.IsEmpty(this.posData.Order.RegisterID)&&(this.toastr.warning(g.g7.emptyEntity,Y.n.Warning),e=!1),this.isSplit()){const i=this.posData.CartItems.filter(r=>r.Splited).length;!i&&this.posData.CartItems.length!=i&&(this.toastr.warning(g.g7.emptyPOItem,Y.n.Warning),e=!1)}if(0==this._orderDataService.Data.CartItems.length&&(this.toastr.warning("You must have at least one item","No Item in Cart!"),e=!1),e)if(g.gT.IsNotEmpty(this.ParkLayoutPack.ID))this.isRetrive()&&!this.isSplit()?this.showReparkModal():this.showParkSelectModal();else{if(1==this.AppConfig.ApplicationParkAndRetrieve.Advance.retreiveMode)return void this.toastr.error("Your retrieve config is in Group mode, to enable park please setting your Park layout at Outlet page","Error!");const i=this.AppConfig.ApplicationParkAndRetrieve.UserInterfaceLabel.DefaultParkNoteValue;!this.IsEdit()&&""!=i&&g.gT.IsEmpty(this.posData.Order.Note)&&(this.posData.Order.Note=i),this.showParkFormModal()}}showRetrieveModal(){null!=this.ParkLayoutPack.Layout||1!=this.AppConfig.ApplicationParkAndRetrieve.Advance.retreiveMode?this.matDialog.open(Ic,{data:{title:this.AppConfig.ApplicationParkAndRetrieve.UserInterfaceLabel.RetreiveDialogTitle,filterAlwaysVisible:this.AppConfig.ApplicationParkAndRetrieve.Advance.RetreiveFilterBoxAlwaysVisible,parkDeletionRestriction:this.AppConfig.ApplicationParkAndRetrieve.AccessControl.AuthorizeParkOrderDeletion&&!this.role.Order,entityId:this.posData.Order.EntityID,replaceAlias:this.AppConfig.ApplicationParkAndRetrieve.ParkLayoutTemplate.EnableAlias,RegisterID:this.posData.Order.RegisterID,Park:this.park,posHub:this._posHubService,templateID:this.outletInfo.PrintTemplate.ID,voidEnabled:this.AppConfig.ModuleOrders.VoidEnabled,retreiveMode:this.AppConfig.ApplicationParkAndRetrieve.Advance.retreiveMode,Layout:this.ParkLayoutPack.Layout,parkEnableMerge:this.AppConfig.ApplicationParkAndRetrieve.Basic.EnableMergeServeralTables,AuthorizeParkOrderDeletion:this.AppConfig.ApplicationParkAndRetrieve.AccessControl.AuthorizeParkOrderDeletion}}).afterClosed().pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.parkOrderRetrieve=t}):this.toastr.error("Your retrieve config is in Group mode, to enable park please setting your Park layout at Outlet page","Error!")}onSplit(){this._orderProcessorService.updatePosState(this.orderProcessor.posState==O.IsRetrieve?O.IsSplit:O.IsRetrieve)}IsEdit(){return this.orderProcessor.posState==O.IsEdit}isRetrive(){return this.orderProcessor.posState==O.IsRetrieve}isSplit(){return this.orderProcessor.posState==O.IsSplit}showReparkModal(){this.matDialog.open(uc,{data:this.parkOrderRetrieve})}showParkSelectModal(){this._orderHttpService.getVacant(this.posData.Order.EntityID).subscribe(t=>{this.matDialog.open(jt,{data:{title:this.orderProcessor.posState==O.IsSplit?"Split Order":this.AppConfig.ApplicationParkAndRetrieve.UserInterfaceLabel.ParkDialogTitle,parkLayoutPack:this.ParkLayoutPack,qty:this.posData.TotalQuantity,entityId:this.posData.Order.EntityID,occupied:t.Orders,replaceWithAlias:this.AppConfig.ApplicationParkAndRetrieve.ParkLayoutTemplate.EnableAlias}})})}showParkFormModal(t){let e="PARK Details";t&&(e="# "+t),this.isSplit()&&(e="Split Detail"),this.matDialog.open(Gt,{id:"park-form-modal",data:{title:e,labelDisable:g.gT.IsNotEmpty(this.ParkLayoutPack.ID)||this.orderProcessor.posState==O.IsSplit,labelPlaceholder:this.AppConfig.ApplicationParkAndRetrieve.UserInterfaceLabel.ParkLabelPlaceholder,depositEnabled:this.AppConfig.ApplicationParkAndRetrieve.Deposit.Enabled,listPayment:this.Payments,ParkLabel:t||this.posData.Order.ParkLabel,deposit:this.AppConfig.ApplicationParkAndRetrieve.Deposit.DefaultAmount,note:this.posData.Order.Note,noteEnabled:this.AppConfig.ApplicationParkAndRetrieve.ParkLayoutTemplate.EnableNotes,numberOfPerson:this.posData.Order.NumberOfPerson,depositPaymentMethodID:this.posData.Order.DepositPaymentMethodID,numberOfPersonEnabled:this.AppConfig.ApplicationParkAndRetrieve.NumberOfPerson}})}checkPrintParkOrder(){this.orderProcessor.posState==O.isPark&&this.AppConfig.ApplicationParkAndRetrieve.PrintBehaviour.PrintAfterPark&&this.printPark()}printPark(){this.parkMini=this._receiptService.generateParkReceipt(),this.printWindow().then(()=>{this.parkMini=null})}showBillModal(){this.posData.TotalQuantity<1?this.toastr.warning("You must have at least one item","No Item in Cart!"):this.matDialog.open(Ac,{data:{note:this.posData.Order.Note}})}showUnpaidModal(){this.isUnpaid=!0,this.matDialog.open(Jc,{data:{entityID:this.posData.Order.EntityID,templateID:this.outletInfo.PrintTemplate.ID,AuthorizeBillOrderDeletion:this.AppConfig.ApplicationParkAndRetrieve.AccessControl.AuthorizeBillOrderDeletion,voidEnabled:this.AppConfig.ModuleOrders.VoidEnabled}}).afterClosed().subscribe(()=>{this.isUnpaid=!1})}checkPrintBill(){this.orderProcessor.posState==O.IsBill&&!this.isUnpaid&&(this.printMode=this.outletInfo.PrintTemplate.PrintMode,2===this.printMode?this.receiptTemplate=this._receiptService.generateReceiptMini():this.printReceiptA4(),this.printWindow().then(()=>{this.receiptTemplate=null}),this._orderProcessorService.createNewTransactionInSameOutletRegister())}printReceiptA4(){this._orderHttpService.generateReceiptA4(this._orderHttpService.Data.ObjectID).pipe((0,C.R)(this.destroy$)).subscribe(e=>{this.outletInfo.PrintTemplate=e.Template,this.receiptTemplate=e.Data})}printWindow(){return(0,ec.mG)(this,void 0,void 0,function*(){return new Promise(t=>{setTimeout(()=>{window.print(),t()},500)})})}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete()}}return o.\u0275fac=function(t){return new(t||o)(n.Y36(D),n.Y36(R),n.Y36(S),n.Y36(F),n.Y36(ee),n.Y36(bn),n.Y36(A._W),n.Y36(P.uw),n.Y36(z.D),n.Y36(en),n.Y36(fn))},o.\u0275cmp=n.Xpm({type:o,selectors:[["pos-sidebutton"]],decls:8,vars:5,consts:[["class","park-action",4,"ngIf"],[1,"print_containers"],["rel","stylesheet","href","/Styles/Master/app_custom.css"],["rel","stylesheet","href","/Styles/Print/PaperSize8cm_custom.css",4,"ngIf"],[3,"data","printTemplate","config",4,"ngIf"],[3,"data","printTemplate","config","outletInfo",4,"ngIf"],[3,"data","printTemplate","config","priceVisibleRestriction","outletInfo",4,"ngIf"],[1,"park-action"],["id","btnPark","class","park",3,"click",4,"ngIf"],["class","retrieve",3,"click",4,"ngIf"],["class","split",3,"click",4,"ngIf"],["class","bill",3,"click",4,"ngIf"],["id","btnPark",1,"park",3,"click"],[1,"retrieve",3,"click"],[1,"split",3,"click"],[1,"bill",3,"click"],["rel","stylesheet","href","/Styles/Print/PaperSize8cm_custom.css"],[3,"data","printTemplate","config"],[3,"data","printTemplate","config","outletInfo"],[3,"data","printTemplate","config","priceVisibleRestriction","outletInfo"]],template:function(t,e){1&t&&(n.YNc(0,Yc,6,5,"ul",0),n.TgZ(1,"div",1),n._UZ(2,"link",2),n.YNc(3,zc,1,0,"link",3),n.YNc(4,$c,1,3,"park-order",4),n.qZA(),n.TgZ(5,"div",1),n.YNc(6,Gc,1,4,"pos-receipt-a4",5),n.YNc(7,jc,1,5,"pos-receipt",6),n.qZA()),2&t&&(n.Q6J("ngIf",e.AppConfig),n.xp6(3),n.Q6J("ngIf",e.parkMini),n.xp6(1),n.Q6J("ngIf",e.parkMini),n.xp6(2),n.Q6J("ngIf",e.receiptTemplate&&1==e.printMode),n.xp6(1),n.Q6J("ngIf",e.receiptTemplate&&2==e.printMode))},directives:[_.O5,oe.g,nt.Y,tt.t],styles:['.print_containers[_ngcontent-%COMP%] {\n display: none;\n}\n@media print {\n .print_containers[_ngcontent-%COMP%] {\n display: block;\n text-align: left;\n }\n\n .park-action[_ngcontent-%COMP%] {\n display: none;\n }\n}\n.park-action[_ngcontent-%COMP%] {\n position: fixed;\n top: 55%;\n transform: translateY(-50%);\n right: 0;\n}\n.park-action.fullscreen-button-right[_ngcontent-%COMP%] {\n right: 0;\n}\n.park-action[_ngcontent-%COMP%] li[_ngcontent-%COMP%] {\n width: 68px;\n height: 64px;\n cursor: pointer;\n outline: none;\n text-align: center;\n font-weight: bold;\n font-family: "Roboto Slab", serif;\n text-transform: uppercase;\n list-style: none;\n background-color: #89b03e;\n color: #ffffff;\n padding-top: 23px;\n display: block;\n}\n.park-action[_ngcontent-%COMP%] li[_ngcontent-%COMP%]:nth-child(odd) {\n border: 1px solid #51632e;\n}\n.park-action[_ngcontent-%COMP%] li[_ngcontent-%COMP%]:nth-child(even) {\n color: #545454;\n text-shadow: 0 1px 0 white;\n background-color: #f4f4f4;\n font-weight: bold;\n border-left: 1px solid #a6a6a6;\n border-right: 1px solid #a6a6a6;\n}\n.park-action[_ngcontent-%COMP%] li[_ngcontent-%COMP%]:last-child {\n border-bottom: 1px solid #a6a6a6;\n}\n@media only screen and (max-width: 576px) {\n .park-action[_ngcontent-%COMP%] {\n z-index: 1000;\n }\n}']}),o})();var Kc=m(9997),ie=m(150);function Xc(o,a){1&o&&(n.ynx(0),n.TgZ(1,"div",3),n.TgZ(2,"h4",4),n._uU(3," For use this feature you must register first!"),n._UZ(4,"br"),n._uU(5," Click the link below "),n.qZA(),n.qZA(),n.TgZ(6,"a",5),n._uU(7,"more information"),n.qZA(),n._uU(8," > "),n.BQk())}function ns(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",6),n.TgZ(1,"div",7),n.TgZ(2,"div",8),n.TgZ(3,"label",9),n._UZ(4,"i",10),n.qZA(),n.qZA(),n.TgZ(5,"span",11),n._uU(6),n.qZA(),n.TgZ(7,"div",12),n.TgZ(8,"button",13),n._uU(9,"Copy to Clipboard"),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.TgZ(10,"div",14),n.TgZ(11,"div",7),n.TgZ(12,"div",15),n.TgZ(13,"label",16),n._UZ(14,"i",17),n.qZA(),n.qZA(),n._UZ(15,"input",18),n.TgZ(16,"div",19),n.TgZ(17,"button",20),n.NdJ("click",function(){return n.CHM(t),n.oxw().onSendViaWhatsApp()}),n._uU(18,"Send via WhatsApp"),n.qZA(),n.qZA(),n.qZA(),n.qZA()}if(2&o){const t=n.oxw();n.xp6(6),n.Oqu(t.data.link),n.xp6(2),n.Q6J("cdkCopyToClipboard",t.data.link),n.xp6(7),n.Q6J("formControl",t.whatsAppNumberCtrl),n.xp6(2),n.Q6J("disabled",t.whatsAppNumberCtrl.invalid)}}let re=(()=>{class o{constructor(t,e,i){this._dialogRef=t,this._toast=e,this.data=i,this.modalConfig=new T.O}ngOnInit(){this.modalConfig.title="Midtrans Payment Link",this.modalConfig.hideFooter=!0,this.initWaNumberCtrl()}initWaNumberCtrl(){this.whatsAppNumberCtrl=new h.NI(null,[h.kI.pattern("^[0-9]*$"),h.kI.required])}close(){this._dialogRef.close()}onSendViaWhatsApp(){const t=this.whatsAppNumberCtrl.value;t?window.open("https://wa.me/"+t+"?text="+this.data.link,"_blank"):this._toast.error("Phone Number must be insert")}}return o.\u0275fac=function(t){return new(t||o)(n.Y36(P.so),n.Y36(A._W),n.Y36(P.WI))},o.\u0275cmp=n.Xpm({type:o,selectors:[["POS-modal-generate-link"]],decls:5,vars:3,consts:[[3,"config","onOk","onCancel","onClose"],[4,"ngIf","ngIfElse"],["hasLink",""],[1,"input-group","form-group","mb-2",2,"width","350px"],[1,"font-weight-normal","d-block"],["href","https://midtrans.com/id/product/payment-link","target","_blank"],["ng-if","ctrl.Model.Configs.ConfigLink",1,"col-sm-12"],[1,"input-group","mb-3"],[1,"input-group-prepend",2,"width","38px"],["for","urlValue",1,"input-group-text"],[1,"fas","fa-link"],[1,"border","pl-3","pt-2",2,"width","382px"],[1,"input-group-append",2,"width","150px"],["id","btnCopyLink","type","button",1,"btn","btn-outline-secondary",2,"width","150px",3,"cdkCopyToClipboard"],[1,"col-sm-12"],[1,"input-group-prepend",2,"width","39px"],["for","phoneNumber",1,"input-group-text",2,"width","38px","display","flex","justify-content","center"],[1,"fas","fa-mobile-alt"],["type","text","placeholder","Mobile Number (e.g. 6281500000000)","aria-label","Mobile Number (e.g. 6281500000000)",2,"width","381px",3,"formControl"],[1,"input-group-append",2,"width","153px"],["id","btnSend","type","button",1,"btn","btn-outline-secondary",3,"disabled","click"]],template:function(t,e){if(1&t&&(n.TgZ(0,"modal-material",0),n.NdJ("onOk",function(){return e.close()})("onCancel",function(){return e.close()})("onClose",function(){return e.close()}),n.TgZ(1,"content"),n.YNc(2,Xc,9,0,"ng-container",1),n.YNc(3,ns,19,4,"ng-template",null,2,n.W1O),n.qZA(),n.qZA()),2&t){const i=n.MAs(4);n.Q6J("config",e.modalConfig),n.xp6(2),n.Q6J("ngIf",null==e.data.link||""==e.data.link)("ngIfElse",i)}},directives:[y.M,_.O5,ie.i3,h.Fj,h.JJ,h.oH],styles:[""]}),o})();const ts=function(){return["/Print/TaxInvoice"]},ae=function(o){return{ID:o}};function es(o,a){if(1&o&&(n.TgZ(0,"a",44),n._uU(1,"Tax"),n.qZA()),2&o){const t=n.oxw();n.Q6J("routerLink",n.DdM(2,ts))("queryParams",n.VKq(3,ae,t.completeData.ObjectID))}}function os(o,a){if(1&o&&(n.TgZ(0,"a",45),n._uU(1,"Delivery Order"),n.qZA()),2&o){const t=n.oxw();n.Q6J("href","/A/Print/OutDelivery?ID="+t.completeData.OutDeliveryID+"&Template="+t.outletInfo.PrintTemplate.ID,n.LSH)}}function is(o,a){if(1&o&&(n.TgZ(0,"a",45),n._uU(1,"Invoice & Delivery Order"),n.qZA()),2&o){const t=n.oxw();n.Q6J("href","/A/Print/InvoiceNOutD?InvoiceID="+t.completeData.ObjectID+"&OutID="+t.completeData.OutDeliveryID+"&Template="+t.outletInfo.PrintTemplate.ID,n.LSH)}}function rs(o,a){if(1&o&&(n.TgZ(0,"a",45),n._uU(1,"Invoice (No Price)"),n.qZA()),2&o){const t=n.oxw();n.Q6J("href",t.getInvoicePrintURL(!0),n.LSH)}}function as(o,a){if(1&o&&(n.TgZ(0,"a",45),n._uU(1,"Packing Slip"),n.qZA()),2&o){const t=n.oxw();n.Q6J("href","/A/Print/PackingSlip?ID="+t.completeData.OutDeliveryID+"&Print=1&Printer=Normal",n.LSH)}}function cs(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",46),n.TgZ(1,"div",47),n._UZ(2,"i",48),n.qZA(),n.TgZ(3,"div",49),n.TgZ(4,"autocompleteV2",50),n.NdJ("onSelect",function(i){return n.CHM(t),n.oxw().updateEmail(i)}),n.qZA(),n.qZA(),n.TgZ(5,"div",51),n.TgZ(6,"a",52),n.NdJ("click",function(){return n.CHM(t),n.oxw().sendEmail()}),n._uU(7,"Send Receipt"),n.qZA(),n.qZA(),n.qZA()}if(2&o){const t=n.oxw();n.xp6(4),n.Q6J("inputTextValue",t.email)}}function ss(o,a){if(1&o&&(n.TgZ(0,"a",58),n._UZ(1,"i",59),n._uU(2,"Print Receipt "),n.qZA()),2&o){const t=n.oxw(2);n.Q6J("href",t.getInvoicePrintURL(!1),n.LSH)}}function ls(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"a",60),n.NdJ("click",function(){return n.CHM(t),n.oxw(2).print()}),n._UZ(1,"i",59),n._uU(2,"Print Receipt "),n.qZA()}}function ds(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",14),n.TgZ(1,"button",61),n.NdJ("click",function(){return n.CHM(t),n.oxw(2).generateLink()}),n._UZ(2,"i",62),n._uU(3,"Generate Payment Link "),n.qZA(),n.qZA()}}function ps(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",12),n.TgZ(1,"div",13),n.TgZ(2,"div",14),n.YNc(3,ss,3,1,"a",53),n.YNc(4,ls,3,0,"a",54),n.qZA(),n.YNc(5,ds,4,0,"div",55),n.TgZ(6,"div",56),n.TgZ(7,"button",52),n.NdJ("click",function(){return n.CHM(t),n.oxw().generateCommission()}),n._UZ(8,"i",57),n._uU(9,"Split Commission "),n.qZA(),n.qZA(),n.qZA(),n.qZA()}if(2&o){const t=n.oxw();n.xp6(3),n.Q6J("ngIf",t.completeData),n.xp6(1),n.Q6J("ngIf",!t.completeData),n.xp6(1),n.Q6J("ngIf",1==t.completeData.PaymentStateID),n.xp6(1),n.Q6J("hidden",t.isNotEmpty(t.posData.Order.SalesID))}}function gs(o,a){if(1&o&&(n.ynx(0),n.TgZ(1,"a",63),n._uU(2),n.qZA(),n.BQk()),2&o){const t=n.oxw();n.xp6(1),n.Q6J("queryParams",n.VKq(2,ae,t.completeData.ObjectID)),n.xp6(1),n.hij(" Invoice #",null==t.completeData?null:t.completeData.InvoiceNumber," ")}}function us(o,a){if(1&o&&(n.TgZ(0,"span",64),n._uU(1),n.qZA()),2&o){const t=n.oxw();n.xp6(1),n.hij(" Invoice #",null==t.completeData?null:t.completeData.InvoiceNumber," ")}}function _s(o,a){if(1&o&&(n.TgZ(0,"div",2),n.TgZ(1,"div",66),n._uU(2),n.qZA(),n.TgZ(3,"div",67),n._uU(4),n.ALo(5,"number"),n.qZA(),n.qZA()),2&o){const t=a.$implicit;n.xp6(2),n.Oqu(t.Label),n.xp6(2),n.AsE(" ",t.CurrencySymbol," ",n.lcZ(5,3,t.Amount)," ")}}function hs(o,a){if(1&o&&(n.TgZ(0,"div",8),n.YNc(1,_s,6,5,"div",65),n.qZA()),2&o){const t=n.oxw();n.xp6(1),n.Q6J("ngForOf",t.itemSummary)}}function ms(o,a){if(1&o&&(n.TgZ(0,"div",71),n.TgZ(1,"div",72),n._uU(2),n.qZA(),n.TgZ(3,"div",73),n._uU(4),n.ALo(5,"number"),n.qZA(),n.qZA()),2&o){const t=a.$implicit,e=a.index,i=n.oxw(2);n.xp6(1),n.Q6J("hidden",i.role.PriceVisibleRestriction),n.xp6(1),n.AsE(" ",t.Label,": ",t.CurrencySymbol," "),n.xp6(1),n.Q6J("hidden",i.role.PriceVisibleRestriction)("ngClass",e+1===i.amountSummary.length?"amount":""),n.xp6(1),n.hij(" ",n.lcZ(5,6,t.Amount)," ")}}function fs(o,a){if(1&o&&(n.TgZ(0,"div",71),n.TgZ(1,"div",72),n._uU(2),n.qZA(),n.TgZ(3,"div",74),n._uU(4),n.ALo(5,"number"),n.qZA(),n.qZA()),2&o){const t=a.$implicit,e=n.oxw(2);n.xp6(1),n.Q6J("hidden",e.role.PriceVisibleRestriction),n.xp6(1),n.AsE(" ",t.Label,": ",t.CurrencySymbol," "),n.xp6(1),n.Q6J("hidden",e.role.PriceVisibleRestriction),n.xp6(1),n.hij(" ",n.lcZ(5,5,t.Amount)," ")}}function Cs(o,a){if(1&o&&(n.TgZ(0,"div",68),n.YNc(1,ms,6,8,"div",69),n.TgZ(2,"div",70),n.YNc(3,fs,6,7,"div",69),n.qZA(),n.qZA()),2&o){const t=n.oxw();n.xp6(1),n.Q6J("ngForOf",t.amountSummary),n.xp6(2),n.Q6J("ngForOf",t.paymentSummary)}}function Ps(o,a){if(1&o&&(n.TgZ(0,"div",75),n.TgZ(1,"div",76),n.TgZ(2,"p",77),n._uU(3," INVALID AMOUNT CHARGE, CORRECT AMOUNT "),n.qZA(),n.TgZ(4,"P",78),n._uU(5),n.ALo(6,"number"),n.qZA(),n.qZA(),n.qZA()),2&o){const t=n.oxw();n.xp6(5),n.Oqu(n.lcZ(6,1,t.completeData.Final))}}function Os(o,a){if(1&o&&(n.TgZ(0,"div",79),n.TgZ(1,"div",32),n.TgZ(2,"h3",33),n._uU(3,"Point Balance"),n.qZA(),n.qZA(),n._UZ(4,"div",80),n.qZA()),2&o){const t=n.oxw();n.xp6(4),n.Q6J("innerHtml",t.completeData.LoyaltyPoint,n.oJD)}}function Ms(o,a){1&o&&n._UZ(0,"link",81)}function bs(o,a){1&o&&n._UZ(0,"link",82)}function xs(o,a){1&o&&n._UZ(0,"link",83)}function vs(o,a){if(1&o&&n._UZ(0,"pos-receipt",87),2&o){const t=n.oxw(2);n.Q6J("data",t.receiptTemplate)("printTemplate",t.outletInfo.PrintTemplate)("config",t.posStorage.AppConfigJSON)("priceVisibleRestriction",t.role.PriceVisibleRestriction)("outletInfo",t.outletInfo)}}function ys(o,a){if(1&o&&n._UZ(0,"pos-receipt-a4",88),2&o){const t=n.oxw(2);n.Q6J("data",t.receiptTemplate)("printTemplate",t.outletInfo.PrintTemplate)("config",t.posStorage.AppConfigJSON)("workOrderMode",!1)("outletInfo",t.outletInfo)}}function Ds(o,a){if(1&o&&(n.TgZ(0,"div",84),n.YNc(1,vs,1,5,"pos-receipt",85),n.YNc(2,ys,1,5,"pos-receipt-a4",86),n.qZA()),2&o){const t=n.oxw();n.xp6(1),n.Q6J("ngIf",t.receiptTemplate&&2==t.printMode),n.xp6(1),n.Q6J("ngIf",t.receiptTemplate&&1==t.printMode)}}const Ss=function(o){return{"date-warning":o}};let ws=(()=>{class o{constructor(t,e,i,r,c,l,d,s,p,f,M,b,I,v,x,pn,Bs,de,Ys){this._posDataService=t,this._posService=e,this._orderProcessorService=i,this._OrderHttpService=r,this._PaymentHttpService=c,this._receiptService=l,this._outletService=d,this._toastr=s,this._onlineStatusService=p,this._matDialog=f,this.ref=M,this._signalBroadCast=b,this._calculatorService=I,this._localDataService=v,this._userRoleService=x,this._router=pn,this._receiptCalculatorService=Bs,this.locale=de,this.datePipe=Ys,this.posData=new $.m,this.receiptTemplate=null,this.completeData=new Kc.u,this.printMode=2,this.outletInfo=new Vn,this.role=new K.Q,this.email="",this.editAfterDelivery=!1,this.finalAmountDifferent=!1,this.amountSummary=[],this.itemSummary=[],this.paymentSummary=[],this.zeroPlaceholderDecimalDigit=0,this.isOnline=!1,this.destroy$=new N.xQ,this.descimalPipe=new _.JJ(de)}handleF8(){this.newSale()}get posStorage(){return this._posService.Data}ngOnInit(){this.subscribeToObservableChanges()}subscribeToObservableChanges(){this._posDataService.Data$.pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.posData=t}),this._outletService.Data$.pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.outletInfo=t}),this._OrderHttpService.Data$.pipe((0,C.R)(this.destroy$)).subscribe(()=>{this.itemSummary=this._receiptService.generateCartItemSummary(),this.amountSummary=this._receiptCalculatorService.generateAmountSummary(),this.paymentSummary=this._receiptService.generatePaymentSummary()}),this._orderProcessorService.Data$.pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.orderManager=t,this.posState=t.posState,this._OrderHttpService.Data&&(this.completeData=this._OrderHttpService.Data),this.checkOrderDateIsNow(),this.checkFinalAmountDifferent()}),this._onlineStatusService.getOnlineStatus$().pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.isOnline=t}),this._userRoleService.Data$.pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.role=t}),this._router.events.pipe((0,C.R)(this.destroy$)).subscribe(t=>{t instanceof H.OD&&(this._orderProcessorService.createNewTransactionInSameOutletRegister(),this._signalBroadCast.BroadcastStateToCustomerDisplay(O.IsNew))})}ngAfterViewInit(){this.posState==O.IsComplete&&(this.checkOrderNumber(),""==this.email&&null!=this.completeData.Contact&&this.isNotEmpty(this.completeData.Contact.Email)&&(this.email=this.completeData.Contact.Email),this.isOnline||this._toastr.warning(g.g7.submitLocally,"Info!"),this.printMode=this.outletInfo.PrintTemplate.PrintMode,this.print(),this.ref.detectChanges())}checkOrderDateIsNow(){let t=this.completeData.OrderTimeString,e=this.datePipe.transform(this.posData.Order.Date,"dd MMM yyyy");this.isOrderDateNow=t.includes(e)}checkFinalAmountDifferent(){if(this.posState==O.IsComplete){const t=this.completeData.Final,e=this._calculatorService.Data;if(t<e||t>e){this.finalAmountDifferent=!0;const i=this.descimalPipe.transform(t);setTimeout(()=>{this._toastr.warning(`Final Amount should be ${i}! Use Print Receipt to print the correct Receipt!`,"Invalid Amount charged",{timeOut:1e4})},500)}else this.finalAmountDifferent=!1}}checkOrderNumber(){this.completeData.InvoiceNumber!=this.posData.Order.Number&&(this._toastr.warning("Your invoice number is changed to "+this.completeData.InvoiceNumber,"Invoice Number Changed!"),this.posData.Order.Number=this.completeData.InvoiceNumber)}generateLink(){1==this.posStorage.AppConfigJSON.PaymentConfigLink&&this._matDialog.open(re),this._PaymentHttpService.generateLink({InvoiceID:this.completeData.ObjectID}).subscribe(e=>{this._matDialog.open(re,{data:{link:e.token.redirect_url}})},e=>{this._toastr.error(e.Message,"Couldn't generate link!")})}generateCommission(){this.orderManager.CommissionID=this.completeData.SalesOrderID,this._orderProcessorService.pushNewValue(this.orderManager)}newSale(){try{this._orderProcessorService.createNewTransactionInSameOutletRegister(),this._signalBroadCast.BroadcastStateToCustomerDisplay(O.IsNew),this._router.navigate([],{queryParams:{ID:null}})}catch(t){console.error(t),this._toastr.error(t,"Error redirecting to NEW mode")}}shelve(){const t=this._OrderHttpService.generatePOSDataForSubmission(this.posData);this._localDataService.saveOfflineOrder(t).then(()=>{this.newSale()})}retrySubmit(){this._posDataService.pushNewValue(this.posData),this._posDataService.submitOrder(this.posStorage.AppConfigJSON).then(t=>{t.Success?(this._signalBroadCast.BroadcastStateToCustomerDisplay(O.IsComplete,t.ObjectID,t.LoyaltyPoint,this.posData.TotalPaidAmount-this._calculatorService.Data),this._posDataService.pushNewValue(this.posData),this._orderProcessorService.updatePosState(O.IsComplete,t)):(this._posDataService.pushNewValue(this.posData),this._orderProcessorService.updatePosState(O.IsComplete,t))})}getInvoicePrintURL(t){let i="";return t&&(i="&Print=1&Price=0"),g.gT.StringFormat("{0}?ID={1}&Template={2}{3}","/A/POS/#/print/Invoice"+(2===this.outletInfo.PrintTemplate.PrintMode?"Mini":""),this.completeData.ObjectID,this.outletInfo.PrintTemplate.ID,i)}usePackage(){}sendEmail(){null!=this.email&&0!=this.email.length||(this.email=document.getElementById("contactEmail").value,""!=this.email)?this._OrderHttpService.sendEmail(this.email,this.completeData.ObjectID).then(t=>{this._toastr.success(t,"Email sent!")}):this._toastr.error("Please enter email before sending receipt!","No email")}print(){this.isOnline||(this.printMode=2,this._toastr.info("Could not print in A4 format due to network connectivity","Can't Print A4 Format!")),2==this.printMode?this.printReceiptMini():1==this.printMode&&this.printReceiptA4(),this.posStorage.AppConfigJSON.ModuleSell.Printing.PrintOnPayment&&this.printWindow()}printReceiptMini(){this.receiptTemplate=this._receiptService.generateReceiptMini()}printReceiptA4(){this._OrderHttpService.generateReceiptA4(this.completeData.ObjectID).subscribe(t=>{this.receiptTemplate=t.Data},()=>{this._toastr.error("Could not print in A4 format!\nPrinting in 8mm format instead!","Error!"),this.printReceiptMini()})}printWindow(){this.finalAmountDifferent||setTimeout(()=>{window.print()},500)}isNotEmpty(t){return g.gT.IsNotEmpty(t)}updateEmail(t){this.email=t}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}}return o.\u0275fac=function(t){return new(t||o)(n.Y36(S),n.Y36(D),n.Y36(R),n.Y36(z.D),n.Y36(At),n.Y36(ee),n.Y36(F),n.Y36(A._W),n.Y36(nn.q),n.Y36(P.uw),n.Y36(n.sBO),n.Y36(bn),n.Y36(G),n.Y36(W.T),n.Y36(en),n.Y36(H.F0),n.Y36(dt),n.Y36(n.soG),n.Y36(_.uU))},o.\u0275cmp=n.Xpm({type:o,selectors:[["pos-complete"]],hostBindings:function(t,e){1&t&&n.NdJ("keydown.F8",function(r){return e.handleF8(r)},!1,n.Jf7)},decls:63,vars:24,consts:[[1,"sell-complete"],[1,"container-fluid","pt-8"],[1,"row"],[1,"col-md-8"],[1,"card",3,"hidden"],[1,"card-header","alert-danger"],[1,"d-flex","justify-content-between"],[1,"fas","fa-times-circle","mr-1","text-danger"],[1,"card-body"],[1,"row","mt-9","justify-content-center","no-gutters","mb-9"],[1,"col-5","text-center"],["type","button","title","Try uploading order to the server again",1,"btn","btn-success","btn-lg","btn-block",3,"click"],[1,"card-footer","bg-light-gray"],[1,"row","justify-content-between"],[1,"col-auto"],["type","button","title","Temporarily save data locally until connection to the server is restored",1,"btn","btn-light-gray",3,"click"],[1,"fas","fa-save","mr-2",2,"font-size","14px"],[1,"card-header",3,"ngClass"],[1,"fas","fa-check","mr-1"],[1,"font-italic"],[1,"dropdown"],["type","button","id","dropdownMenuButton","data-toggle","dropdown","aria-haspopup","true","aria-expanded","false",1,"btn","dropdown-toggle"],["aria-labelledby","dropdownMenuButton",1,"dropdown-menu","dropdown-menu-right"],["class","dropdown-item","target","_blank",3,"routerLink","queryParams",4,"ngIf"],["class","dropdown-item","target","_blank",3,"href",4,"ngIf"],[1,"dropdown-item",3,"click"],[1,"container"],["class","row border-bottom align-items-center no-gutters mt-5",4,"ngIf"],[1,"col-9","text-center"],["type","button",1,"btn","btn-success","btn-lg","btn-block",3,"click"],["class","card-footer bg-light-gray",4,"ngIf"],[1,"col-md-4"],[1,"card-header","bg-light-gray"],[1,"text-dark"],[4,"ngIf","ngIfElse"],["OFFLINE",""],["class","card-body",4,"ngIf"],["class","card-footer bg-white",4,"ngIf"],["class","card-footer date-warning",4,"ngIf"],["class","card",4,"ngIf"],["rel","stylesheet","href","/Styles/Master/app_custom.css",4,"ngIf"],["rel","stylesheet","href","/Styles/Print/PaperSize8cm_custom.css",4,"ngIf"],["rel","stylesheet","href","/Styles/Print/PaperSizeA4_custom.css",4,"ngIf"],["class","print_containers",4,"ngIf"],["target","_blank",1,"dropdown-item",3,"routerLink","queryParams"],["target","_blank",1,"dropdown-item",3,"href"],[1,"row","border-bottom","align-items-center","no-gutters","mt-5"],[1,"col-auto","px-2"],[1,"far","fa-envelope","fa-lg"],[1,"col"],["placeholder","Email Receipt","inputID","contactEmail","requestUrl","/API/AC/GetEmailSuggestion",1,"border-0","w-100",3,"inputTextValue","onSelect"],[1,"col-auto","pr-1"],["type","button",1,"btn","btn-light-gray",3,"click"],["target","_blank","class","btn btn-light-gray",3,"href",4,"ngIf"],["class","btn btn-light-gray",3,"click",4,"ngIf"],["class","col-auto",4,"ngIf"],[1,"col-auto",3,"hidden"],[1,"far","fa-money-bill-alt","mr-2"],["target","_blank",1,"btn","btn-light-gray",3,"href"],[1,"fas","fa-print","mr-2"],[1,"btn","btn-light-gray",3,"click"],["type","button","data-cy","payment-link",1,"btn","btn-light-gray",3,"click"],[1,"fas","fa-money-bill-wave","mr-2"],["target","_blank","routerLink","/menu/Orders/Orders/Customer_Invoice/Info",1,"text-dark","font-italic",3,"queryParams"],[1,"text-dark","font-italic"],["class","row",4,"ngFor","ngForOf"],[1,"col-8"],[1,"col-4","text-right"],[1,"card-footer","bg-white"],["class","d-flex justify-content-end",4,"ngFor","ngForOf"],[1,"border-top"],[1,"d-flex","justify-content-end"],[1,"text-right",3,"hidden"],[1,"text-right","w-50",3,"hidden","ngClass"],[1,"text-right","w-50",3,"hidden"],[1,"card-footer","date-warning"],[1,"text-right"],[1,"font-weight-bold"],[1,"text-danger",2,"font-size","38px"],[1,"card"],[1,"card-body","pb-0","text-center",3,"innerHtml"],["rel","stylesheet","href","/Styles/Master/app_custom.css"],["rel","stylesheet","href","/Styles/Print/PaperSize8cm_custom.css"],["rel","stylesheet","href","/Styles/Print/PaperSizeA4_custom.css"],[1,"print_containers"],[3,"data","printTemplate","config","priceVisibleRestriction","outletInfo",4,"ngIf"],[3,"data","printTemplate","config","workOrderMode","outletInfo",4,"ngIf"],[3,"data","printTemplate","config","priceVisibleRestriction","outletInfo"],[3,"data","printTemplate","config","workOrderMode","outletInfo"]],template:function(t,e){if(1&t&&(n.TgZ(0,"section",0),n.TgZ(1,"div",1),n.TgZ(2,"div",2),n.TgZ(3,"div",3),n.TgZ(4,"div",4),n.TgZ(5,"div",5),n.TgZ(6,"div",6),n.TgZ(7,"h2"),n._UZ(8,"i",7),n._uU(9," Order Upload Fail! "),n.qZA(),n.qZA(),n.qZA(),n.TgZ(10,"div",8),n.TgZ(11,"div",9),n.TgZ(12,"div",10),n.TgZ(13,"button",11),n.NdJ("click",function(){return e.retrySubmit()}),n._uU(14," Retry Upload "),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.TgZ(15,"div",12),n.TgZ(16,"div",13),n.TgZ(17,"div",14),n.TgZ(18,"button",15),n.NdJ("click",function(){return e.shelve()}),n._UZ(19,"i",16),n._uU(20,"Save Offline "),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.TgZ(21,"div",4),n.TgZ(22,"div",17),n.TgZ(23,"div",6),n.TgZ(24,"h2"),n._UZ(25,"i",18),n._uU(26," Sell Complete "),n.TgZ(27,"small",19),n._uU(28),n.qZA(),n.qZA(),n.TgZ(29,"div"),n.TgZ(30,"div",20),n._UZ(31,"button",21),n.TgZ(32,"div",22),n.YNc(33,es,2,5,"a",23),n.YNc(34,os,2,1,"a",24),n.YNc(35,is,2,1,"a",24),n.YNc(36,rs,2,1,"a",24),n.YNc(37,as,2,1,"a",24),n.TgZ(38,"a",25),n.NdJ("click",function(){return e.usePackage()}),n._uU(39,"Use Purchased Package"),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.TgZ(40,"div",8),n.TgZ(41,"div",26),n.YNc(42,cs,8,1,"div",27),n.TgZ(43,"div",9),n.TgZ(44,"div",28),n.TgZ(45,"button",29),n.NdJ("click",function(){return e.newSale()}),n._uU(46," New Sale (F8) "),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.YNc(47,ps,10,4,"div",30),n.qZA(),n.qZA(),n.TgZ(48,"div",31),n.TgZ(49,"div",4),n.TgZ(50,"div",32),n.TgZ(51,"h3",33),n.YNc(52,gs,3,4,"ng-container",34),n.YNc(53,us,2,1,"ng-template",null,35,n.W1O),n.qZA(),n.qZA(),n.YNc(55,hs,2,1,"div",36),n.YNc(56,Cs,4,2,"div",37),n.YNc(57,Ps,7,3,"div",38),n.qZA(),n.YNc(58,Os,5,1,"div",39),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.YNc(59,Ms,1,0,"link",40),n.YNc(60,bs,1,0,"link",41),n.YNc(61,xs,1,0,"link",42),n.YNc(62,Ds,3,2,"div",43)),2&t){const i=n.MAs(54);n.xp6(4),n.Q6J("hidden",1==e.posState),n.xp6(17),n.Q6J("hidden",9==e.posState),n.xp6(1),n.Q6J("ngClass",n.VKq(22,Ss,!e.isOrderDateNow||e.completeData.PaymentStateID<3)),n.xp6(6),n.hij(" (",e.completeData.PaymentStateLabel,")"),n.xp6(5),n.Q6J("ngIf",e.completeData),n.xp6(1),n.Q6J("ngIf",e.completeData.OutDeliveryID),n.xp6(1),n.Q6J("ngIf",e.completeData.OutDeliveryID),n.xp6(1),n.Q6J("ngIf",e.completeData),n.xp6(1),n.Q6J("ngIf",e.completeData.OutDeliveryID),n.xp6(5),n.Q6J("ngIf",!e.role.EmailRestriction&&e.isOnline),n.xp6(5),n.Q6J("ngIf",e.isOnline),n.xp6(2),n.Q6J("hidden",9==e.posState),n.xp6(3),n.Q6J("ngIf",e.isOnline)("ngIfElse",i),n.xp6(3),n.Q6J("ngIf",e.itemSummary),n.xp6(1),n.Q6J("ngIf",!e.finalAmountDifferent),n.xp6(1),n.Q6J("ngIf",e.finalAmountDifferent),n.xp6(1),n.Q6J("ngIf",e.completeData.LoyaltyPoint),n.xp6(1),n.Q6J("ngIf",e.receiptTemplate),n.xp6(1),n.Q6J("ngIf",e.receiptTemplate&&2==e.printMode),n.xp6(1),n.Q6J("ngIf",e.receiptTemplate&&1==e.printMode),n.xp6(1),n.Q6J("ngIf",e.outletInfo)}},directives:[_.mk,_.O5,H.yS,Cn.J,_.sg,tt.t,nt.Y],pipes:[_.JJ],styles:[".print_containers[_ngcontent-%COMP%] {\n display: none;\n}\n@media print {\n .print_containers[_ngcontent-%COMP%] {\n display: block;\n text-align: left;\n }\n\n .sell-complete[_ngcontent-%COMP%] {\n display: none;\n }\n}\n.sell-complete[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] .card-header[_ngcontent-%COMP%] {\n border-bottom: 1px solid rgba(0, 0, 0, 0.125);\n padding-bottom: 0.9375rem;\n}\n.sell-complete[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] .card-header[_ngcontent-%COMP%] h2[_ngcontent-%COMP%] {\n font-size: 2rem;\n}\n.sell-complete[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] .card-body[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] {\n max-width: 500px;\n margin-top: 30px;\n margin-bottom: 30px;\n}\n.sell-complete[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] .card-body[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n font-size: 1rem;\n}\n.sell-complete[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] .card-body[_ngcontent-%COMP%] .btn-success[_ngcontent-%COMP%] {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n}\n.sell-complete[_ngcontent-%COMP%] .amount[_ngcontent-%COMP%] {\n font-size: 16px;\n}"]}),o})();var ce=m(4595);function Ts(o,a){if(1&o&&n._UZ(0,"pos-header",4),2&o){const t=n.oxw();n.Q6J("isOnline",t.isOnline)}}function ks(o,a){1&o&&n._UZ(0,"pos-sidebutton")}function Is(o,a){if(1&o&&(n.ynx(0),n._UZ(1,"pos-toolbar"),n.TgZ(2,"div",9),n.TgZ(3,"div",10),n._UZ(4,"pos-quick-key"),n.qZA(),n.TgZ(5,"div",11),n._UZ(6,"pos-cart"),n.qZA(),n.qZA(),n.YNc(7,ks,1,0,"pos-sidebutton",12),n.BQk()),2&o){const t=n.oxw(2);n.xp6(7),n.Q6J("ngIf",t.isOnline)}}function As(o,a){1&o&&(n.TgZ(0,"div"),n._UZ(1,"pos-complete"),n.qZA())}function Zs(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div"),n.TgZ(1,"h4",13),n._UZ(2,"i",14),n.TgZ(3,"span",15),n._uU(4,"Commission for order"),n.qZA(),n.TgZ(5,"a",16),n.TgZ(6,"small",17),n._uU(7),n.qZA(),n.qZA(),n.qZA(),n.TgZ(8,"commission-cart",18),n.NdJ("onSaved",function(){return n.CHM(t),n.oxw(3).onCommissionSaved()})("onBack",function(){return n.CHM(t),n.oxw(3).orderManager.CommissionID=null}),n.qZA(),n.qZA()}if(2&o){const t=n.oxw(3);n.xp6(7),n.hij("#",null==t.submitOrderData?null:t.submitOrderData.InvoiceNumber,""),n.xp6(1),n.Q6J("soid",t.orderManager.CommissionID)("listSales",t.outletInfo.ListSales)}}function Ns(o,a){if(1&o&&(n.YNc(0,As,2,0,"div",12),n.YNc(1,Zs,9,3,"div",12)),2&o){const t=n.oxw(2);n.Q6J("ngIf",!t.orderManager.CommissionID),n.xp6(1),n.Q6J("ngIf",t.orderManager.CommissionID)}}function qs(o,a){if(1&o&&(n.TgZ(0,"div",5),n.YNc(1,Is,8,1,"ng-container",6),n.YNc(2,Ns,2,2,"ng-template",null,7,n.W1O),n._UZ(4,"div",8),n.qZA()),2&o){const t=n.MAs(3),e=n.oxw();n.xp6(1),n.Q6J("ngIf",e.IsNotCompleteOrFailed())("ngIfElse",t)}}const Rs=[{path:"",component:(()=>{class o extends pe.M{constructor(t,e,i,r,c,l,d,s,p,f,M,b,I){super(i),this.dialogRef=t,this._posService=e,this._httpService=i,this._OrderHttpService=r,this._orderProcessorService=c,this._outletService=l,this._onlineStatusService=d,this._route=s,this._signalRClientService=p,this._toastr=f,this._paymentServiceGateway=M,this._numpadService=b,this.locale=I,this.isOnline=!0,this.destroy$=new N.xQ,this.decimalPipe=new _.JJ(I)}ngOnInit(){this._posService.request().then(t=>{if(this.posHttpResponse=t,this.subscribeToObservableChanges(),this.checkClientTime(),this._route.snapshot.queryParamMap.has("ID")){const e=this._route.snapshot.queryParamMap.get("ID");this.editInvoice(e)}else this._outletService.setActiveRegisterFromOptions(t.Registers,t.UserName)}).catch(t=>{alert(t.Message)})}onQRPaymentComplete(t){if(!g.gT.IsEmpty(t)){const e=JSON.parse(t);this._paymentServiceGateway.onQRPaymentComplete(e,this.posHttpResponse.AppConfigJSON).then(i=>{this.dialogRef.getDialogById("ModalPayment").close();const l=`IDR ${this.decimalPipe.transform(e.gross_amount)} received. Please verify in customer mobile app!`;this._toastr.success(l," QR Settlement"),this._orderProcessorService.updatePosState(O.IsComplete,i)}).catch(i=>{this._toastr.error(i.message,i.header)})}}editInvoice(t){this._orderProcessorService.updatePosState(O.IsEdit),this._OrderHttpService.GetInvoiceBySoID(t).pipe((0,C.R)(this.destroy$)).subscribe(e=>{this.invoiceNumberEdit=e.Invoice.Number,this._orderProcessorService.plainToClass(e),this.syncPageHeaderLabel(O.IsEdit)})}subscribeToObservableChanges(){this._onlineStatusService.getOnlineStatus$().pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.isOnline=t}),this._orderProcessorService.Data$.pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.orderManager=t,this.submitOrderData=this._OrderHttpService.Data,this.posState=t.posState,this.syncPageHeaderLabel(this.posState)}),this._outletService.Data$.pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.outletInfo=t}),this._signalRClientService.OnPaymentReceived.pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.onQRPaymentComplete(t)}),this._signalRClientService.OnReceivePushNotification.pipe((0,C.R)(this.destroy$)).subscribe(t=>{if(!g.gT.IsEmpty(t)){const e=JSON.parse(t);this._toastr.info(e.Body,e.Header)}})}IsNotCompleteOrFailed(){let t;switch(this.posState){case O.IsComplete:case O.UploadOrderFail:t=!1;break;default:t=!0}return t}syncPageHeaderLabel(t){switch(t){case O.IsEdit:this.invoiceNumberEdit&&(this.menuData.H=`Editing Order#${this.invoiceNumberEdit}`);break;case O.IsComplete:this.menuData.H=g.gT.IsEmpty(this.orderManager.CommissionID)?"Order Complete":"New Sale Order";break;default:this.menuData.H="New Sale Order"}}onCommissionSaved(){this.orderManager.CommissionID=null}checkClientTime(){let t=new Date(this.posHttpResponse.ServerDateString),e=new Date;t.getDate()!==e.getDate()&&this._toastr.warning("Client date is not equal with Server Date",Y.n.Warning)}ngOnDestroy(){this._numpadService.destroy(),this.destroy$.next(!0),this.destroy$.complete()}}return o.\u0275fac=function(t){return new(t||o)(n.Y36(P.uw),n.Y36(D),n.Y36(rn.O),n.Y36(z.D),n.Y36(R),n.Y36(F),n.Y36(nn.q),n.Y36(H.gz),n.Y36(zn),n.Y36(A._W),n.Y36(Zt),n.Y36(pt.u),n.Y36(n.soG))},o.\u0275cmp=n.Xpm({type:o,selectors:[["pos"]],features:[n.qOj],decls:6,vars:7,consts:[["rel","stylesheet","href","/Styles/Master/app_custom.css"],[3,"hideSearchDropdown","hideSearchBox","offline","pageData","hideMoreMenu"],[3,"isOnline",4,"ngIf"],["class","container-fluid",4,"ngIf"],[3,"isOnline"],[1,"container-fluid"],[4,"ngIf","ngIfElse"],["complete",""],[1,"simple-keyboard"],[1,"row","row","body","no-gutters","mt-4","justify-content-left"],[1,"col-auto","quickKey"],[1,"col-auto","cart"],[4,"ngIf"],[1,"text-link","my-8"],["aria-hidden","true",1,"fas","fa-money-bill-alt"],[1,"text-primary","font-weight-bold","h4"],[1,"text-dark","fs-10","font-italic"],[1,"text-muted"],[3,"soid","listSales","onSaved","onBack"]],template:function(t,e){1&t&&(n._UZ(0,"link",0),n.TgZ(1,"mainpanel-cmp",1),n.TgZ(2,"actions"),n.YNc(3,Ts,1,1,"pos-header",2),n.qZA(),n.TgZ(4,"content"),n.YNc(5,qs,5,2,"div",3),n.qZA(),n.qZA()),2&t&&(n.xp6(1),n.Q6J("hideSearchDropdown",!0)("hideSearchBox",!0)("offline",!e.isOnline)("pageData",e.menuData)("hideMoreMenu",1==e.posState),n.xp6(2),n.Q6J("ngIf",e.posHttpResponse&&e.IsNotCompleteOrFailed()),n.xp6(2),n.Q6J("ngIf",e.posHttpResponse))},directives:[Nt.p,_.O5,ei,bi,xr,tc,Wc,ws,ce.W],styles:['@media print {\n .cashier[_ngcontent-%COMP%], pos-quick-key[_ngcontent-%COMP%], pos-header[_ngcontent-%COMP%], pos-toolbar[_ngcontent-%COMP%] {\n display: none;\n }\n}\n.is-backdate[_ngcontent-%COMP%] {\n background: repeating-linear-gradient(-60deg, #fcf4a3, #fcf4a3 15px, #fada5e 15px, #fada5e 30px) !important;\n}\n.quickKey[_ngcontent-%COMP%] {\n margin-right: 10px;\n}\n.cashier[_ngcontent-%COMP%] [_ngcontent-%COMP%]::-webkit-input-placeholder {\n font-style: italic;\n}\n.cashier[_ngcontent-%COMP%] [_ngcontent-%COMP%]:-moz-placeholder {\n \n font-style: italic;\n}\n.cashier[_ngcontent-%COMP%] [_ngcontent-%COMP%]::-moz-placeholder {\n \n font-style: italic;\n}\n.cashier[_ngcontent-%COMP%] [_ngcontent-%COMP%]:-ms-input-placeholder {\n font-style: italic;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] {\n border-bottom: 1px solid #dde2eb;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .small[_ngcontent-%COMP%] {\n margin-right: 5px !important;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .small[_ngcontent-%COMP%] .number[_ngcontent-%COMP%] {\n width: 143px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .small[_ngcontent-%COMP%] select[_ngcontent-%COMP%] {\n width: 140px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .small[_ngcontent-%COMP%] .select2-container[_ngcontent-%COMP%] {\n font-size: 12px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] {\n margin-right: 22px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] div[_ngcontent-%COMP%]:last-child {\n margin-right: 0;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 1.25rem;\n color: #3B3B3B;\n margin-right: 5px;\n line-height: unset !important;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] input[_ngcontent-%COMP%], .cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span.outlet[_ngcontent-%COMP%] {\n padding: 4px 8px 3px 5px;\n border: 1px solid #dddddd;\n font-size: 0.875rem;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] .outlet[_ngcontent-%COMP%] {\n width: 165px;\n color: #337ab7;\n background: #ffffff;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] .number[_ngcontent-%COMP%] {\n width: 150px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] select[_ngcontent-%COMP%] {\n width: 150px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.quickKey[_ngcontent-%COMP%] {\n width: 420px;\n margin-right: 10px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] {\n width: 570px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.header[_ngcontent-%COMP%] {\n border: solid 1px #cfcfcf;\n border-bottom: none;\n border-radius: 3px 3px 0 0;\n background: #f2f7fa;\n color: #222222;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.header[_ngcontent-%COMP%] .right-bottom[_ngcontent-%COMP%] {\n font-size: 9px;\n right: -6px;\n bottom: -10px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-table[_ngcontent-%COMP%] {\n border-left: solid 1px #cfcfcf;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-table[_ngcontent-%COMP%] div.col[_ngcontent-%COMP%] {\n overflow: auto;\n height: 250px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-table[_ngcontent-%COMP%] div.col[_ngcontent-%COMP%] table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] {\n background: #fbfbf7;\n border-left: none;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-table[_ngcontent-%COMP%] div.col[_ngcontent-%COMP%] table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] th[_ngcontent-%COMP%] {\n padding: 9px 5px !important;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-table[_ngcontent-%COMP%] div.col[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n padding: 10px 5px;\n border-bottom: 1px solid #cfcfcf;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-table[_ngcontent-%COMP%] div.col[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td[_ngcontent-%COMP%]:first-child {\n padding-right: 0;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-footer[_ngcontent-%COMP%] {\n border-top: solid 1px #cfcfcf;\n min-height: 85px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-footer[_ngcontent-%COMP%] div.summary[_ngcontent-%COMP%] table[_ngcontent-%COMP%] th[_ngcontent-%COMP%], .cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-footer[_ngcontent-%COMP%] div.summary[_ngcontent-%COMP%] table[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n border-left: solid 1px #cfcfcf;\n border-bottom: solid 1px #cfcfcf;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-footer[_ngcontent-%COMP%] div.summary[_ngcontent-%COMP%] table[_ngcontent-%COMP%] th[_ngcontent-%COMP%] {\n padding: 7px 8px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-footer[_ngcontent-%COMP%] div.summary[_ngcontent-%COMP%] table[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n padding: 7px 5px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-footer[_ngcontent-%COMP%] .disc[_ngcontent-%COMP%] {\n padding-top: 7px;\n padding-bottom: 6px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.action-buttons[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] {\n font-size: 1.125rem;\n padding: 15px 18px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.action-buttons[_ngcontent-%COMP%] .btn-gray[_ngcontent-%COMP%] {\n margin-right: 10px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.action-buttons[_ngcontent-%COMP%] .btn-success[_ngcontent-%COMP%] {\n width: 200px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.action-buttons[_ngcontent-%COMP%] .right-bottom[_ngcontent-%COMP%] {\n font-size: 0.625rem;\n right: 4px;\n}\n.text-black.btn-success[_ngcontent-%COMP%] {\n color: #4d4d4d !important;\n}\n.main-panel[_ngcontent-%COMP%] nav.fixed-top.offline[_ngcontent-%COMP%], .full_screen[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] > div.row.header.offline[_ngcontent-%COMP%] {\n background: repeating-linear-gradient(-60deg, #f8d7da, #f8d7da 15px, #f5c6cb 15px, #f5c6cb 30px) !important;\n}\n.barcode-input[_ngcontent-%COMP%] {\n width: 305px;\n}\n.barcode-input[_ngcontent-%COMP%] > input[_ngcontent-%COMP%] {\n height: 28px;\n}\n.barcode-input[_ngcontent-%COMP%] autocomplete[_ngcontent-%COMP%] {\n width: 267px;\n}\n.barcode-input[_ngcontent-%COMP%] autocompleteV2[_ngcontent-%COMP%] {\n width: 267px;\n}\n.input-group-text-retrieve[_ngcontent-%COMP%] {\n padding: 9px 0.75rem !important;\n}\n.font-12[_ngcontent-%COMP%] {\n font-size: 12px;\n}\n.btn-gray[_ngcontent-%COMP%] {\n background-color: #f4f4f4;\n border: 1px solid #d6d6d6;\n font-weight: bold;\n color: #545454 !important;\n background: linear-gradient(to bottom, #ffffff 0%, #eeeeee 100%);\n}\n.btn-gray-more[_ngcontent-%COMP%] {\n background-color: #f4f4f4;\n border: 1px solid #d6d6d6;\n background: linear-gradient(to bottom, #ffffff 0%, #eeeeee 100%);\n}\n.cash-btn[_ngcontent-%COMP%] {\n background-color: #f4f4f4;\n border: 1px solid #d6d6d6;\n font-weight: bold;\n margin: 0 0 0 10px;\n padding: 7px 15px;\n height: 18px;\n box-sizing: content-box;\n background: linear-gradient(to bottom, #ffffff 0%, #eeeeee 100%);\n}\n.calc-tbl[_ngcontent-%COMP%] th[_ngcontent-%COMP%] {\n padding: 7px 15px 7px 10px;\n border: 1px solid #ddd;\n border-top: none;\n background-color: #eeeeee;\n}\n.dropdown-menu[_ngcontent-%COMP%] .disabled[_ngcontent-%COMP%] {\n display: none !important;\n}\n.calc-tbl[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n width: 100px;\n text-align: right;\n padding: 7px 5px;\n}\nsection.complete[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n color: #3b5998;\n margin: 20px 0px;\n}\nsection.complete[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] a[_ngcontent-%COMP%] {\n font-size: 0.75rem;\n color: #868686;\n}\nsection.complete[_ngcontent-%COMP%] .complete-action[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] {\n text-align: center;\n height: 150px;\n width: 190px;\n font-family: "Roboto Slab", serif;\n display: flex;\n flex-direction: column !important;\n padding: 0px;\n color: #666666;\n margin-right: 10px;\n}\nsection.complete[_ngcontent-%COMP%] .complete-action[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n display: block;\n font-size: 50px;\n margin-top: 20px;\n}\nsection.complete[_ngcontent-%COMP%] .complete-action[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n margin: 0px;\n margin-top: 10px;\n color: #666666;\n}\nsection.complete[_ngcontent-%COMP%] .complete-action[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]:first-child h4[_ngcontent-%COMP%] {\n color: #3B3B3B;\n}\nsection.complete[_ngcontent-%COMP%] .complete-action[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n font-size: 0.625rem;\n font-style: italic;\n padding: 10px;\n box-sizing: border-box;\n color: #868686;\n border-top: 1px solid #dddddd;\n font-weight: normal;\n margin: 0px;\n}\n.complete-more-action[_ngcontent-%COMP%] {\n margin-top: 10px;\n}\n\n.modal-body[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n font-weight: 400;\n}\n.modal-body[_ngcontent-%COMP%] .actions-tabs[_ngcontent-%COMP%] {\n position: absolute;\n left: 230px;\n top: 15px;\n}\n.modal-header[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 12px;\n font-style: normal;\n}\n.modal-header[_ngcontent-%COMP%] a[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 14px !important;\n}\n.dialogButtonOption[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] {\n padding: 25px 0px;\n width: 190px;\n margin-right: 10px;\n}\n.dialogButtonOption[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n font-weight: 700;\n text-transform: uppercase;\n}\n.dialogButtonOption[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n font-size: 0.75rem;\n font-style: italic;\n color: #868686;\n margin-top: 10px;\n}\n.currency[_ngcontent-%COMP%] {\n top: 13px;\n left: 30px;\n}\n.paymentNote[_ngcontent-%COMP%]::before {\n z-index: 10;\n content: "";\n position: absolute;\n top: 0;\n left: calc(50% - 10px);\n height: 100%;\n width: 10px;\n background-color: inherit;\n border-right: 1px solid lightgray;\n transform: skewX(-10deg);\n}\n#dialogPayment[_ngcontent-%COMP%] .col-auto[_ngcontent-%COMP%], #dialogSubmitOrder[_ngcontent-%COMP%] .col-auto[_ngcontent-%COMP%] {\n padding: 0 4px;\n}\n#dialogPayment[_ngcontent-%COMP%] .col-auto[_ngcontent-%COMP%], #dialogSubmitOrder[_ngcontent-%COMP%] .col-auto[_ngcontent-%COMP%] {\n padding: 0 4px;\n}\n#dialogPayment[_ngcontent-%COMP%] .col-4[_ngcontent-%COMP%], #dialogSubmitOrder[_ngcontent-%COMP%] .col-4[_ngcontent-%COMP%] {\n width: 125px !important;\n padding: 0 4px;\n}\n#dialogPayment[_ngcontent-%COMP%] .col-8[_ngcontent-%COMP%], #dialogSubmitOrder[_ngcontent-%COMP%] .col-8[_ngcontent-%COMP%] {\n width: 250px !important;\n padding: 0 4px;\n}\n#dialogPayment[_ngcontent-%COMP%] .btn-link[_ngcontent-%COMP%], #dialogSubmitOrder[_ngcontent-%COMP%] .btn-link[_ngcontent-%COMP%] {\n padding-top: 0px;\n color: #868686;\n padding-bottom: 8px;\n border-radius: unset;\n font-family: "Roboto Slab", serif;\n}\n#dialogPayment[_ngcontent-%COMP%] .btn-link.selected[_ngcontent-%COMP%], #dialogSubmitOrder[_ngcontent-%COMP%] .btn-link.selected[_ngcontent-%COMP%] {\n color: #3B3B3B;\n border-bottom: 4px solid #07a519;\n}\n#dialogPayment[_ngcontent-%COMP%] .change[_ngcontent-%COMP%], #dialogSubmitOrder[_ngcontent-%COMP%] .change[_ngcontent-%COMP%] {\n position: absolute;\n top: 1px;\n height: 40px;\n background: #89b03e;\n color: #fff;\n right: 16px;\n padding: 0 10px;\n line-height: 40px;\n font-size: 16px;\n}\n#dialogPayment[_ngcontent-%COMP%] .change[_ngcontent-%COMP%]:before, #dialogSubmitOrder[_ngcontent-%COMP%] .change[_ngcontent-%COMP%]:before {\n content: "\\a";\n border-style: solid;\n border-width: 40px 24px 0 0;\n border-color: transparent #89b03e transparent transparent;\n position: absolute;\n left: -24px;\n}\n#dialogPayment[_ngcontent-%COMP%] .change.danger[_ngcontent-%COMP%], #dialogSubmitOrder[_ngcontent-%COMP%] .change.danger[_ngcontent-%COMP%] {\n background: #c9302c;\n}\n#dialogPayment[_ngcontent-%COMP%] .change.danger[_ngcontent-%COMP%]:before, #dialogSubmitOrder[_ngcontent-%COMP%] .change.danger[_ngcontent-%COMP%]:before {\n border-color: transparent #c9302c transparent transparent;\n}\n\n.phone[_ngcontent-%COMP%] div[_ngcontent-%COMP%] {\n height: 50px;\n width: 50px;\n padding-top: 11px;\n background-color: #f5f5f5;\n border: 1px solid gray !important;\n}\n.phone[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n padding-left: 65px !important;\n border: 1px solid gray !important;\n font-size: 25px;\n height: 50px;\n}\n.phone[_ngcontent-%COMP%] .form-control[_ngcontent-%COMP%]:focus {\n border-color: #8bb8df !important;\n}\n.back-button[_ngcontent-%COMP%] {\n left: -18px;\n top: -74px;\n}\n.back-button[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: white;\n}\n.back-button-gopay[_ngcontent-%COMP%] {\n left: -18px;\n top: -50px;\n}\n.back-button-gopay[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: white;\n}\n.logo-gopay[_ngcontent-%COMP%] {\n margin-top: -16px;\n}\n#dialogSubmitOrder[_ngcontent-%COMP%] .btn-link[_ngcontent-%COMP%] {\n padding-top: 0px;\n color: #868686;\n padding-bottom: 8px;\n border-radius: unset;\n font-family: "Roboto Slab", serif;\n}\n#dialogSubmitOrder[_ngcontent-%COMP%] .btn-link.selected[_ngcontent-%COMP%] {\n color: #3B3B3B;\n border-bottom: 4px solid #07a519;\n}\n#dialogSubmitOrder[_ngcontent-%COMP%] .btn-info[_ngcontent-%COMP%] {\n font-size: 0.75rem;\n margin-right: 10px;\n padding: 10px;\n margin-bottom: 10px;\n float: left;\n}\n#dialogSubmitOrder[_ngcontent-%COMP%] .input-label[_ngcontent-%COMP%] {\n position: relative;\n}\n#dialogSubmitOrder[_ngcontent-%COMP%] .input-label[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n position: absolute;\n font-size: 0.875rem;\n color: #868686;\n top: 26px;\n left: 20px;\n}\n#dialogSubmitOrder[_ngcontent-%COMP%] .input-label[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n margin: 0;\n margin-bottom: 8px;\n border: 1px solid #dddddd;\n padding: 7px 5px;\n width: 100%;\n font-size: 36px;\n border-radius: 3px;\n text-align: right;\n background-color: #ffffff;\n outline: none;\n}\n#dialogSubmitOrder[_ngcontent-%COMP%] .pay-info[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n border-bottom: 2px solid #07a519 !important;\n font-size: 0.875rem;\n border: none !important;\n border-bottom: 2px solid #07a519 !important;\n outline: none;\n}\n#dialogSubmitOrder[_ngcontent-%COMP%] .change[_ngcontent-%COMP%] {\n background-color: #cccccc;\n border: 1px solid #dddddd;\n width: 149px;\n padding: 5px 10px 5px 0;\n text-align: right;\n font-size: 1.25rem;\n font-weight: bold;\n float: right;\n}\n.rad-btn[_ngcontent-%COMP%] {\n position: relative;\n display: inline-block;\n}\n.rad-btn[_ngcontent-%COMP%] label[_ngcontent-%COMP%] {\n border: 1px solid #dddddd;\n border-radius: 3px;\n margin-right: 10px;\n cursor: pointer;\n padding: 10px;\n margin-bottom: 10px;\n color: black;\n}\n.rad-btn[_ngcontent-%COMP%] input[type=radio][_ngcontent-%COMP%] {\n visibility: hidden;\n position: absolute;\n left: 0;\n top: 0;\n}\n.rad-btn[_ngcontent-%COMP%] input[type=radio][_ngcontent-%COMP%]:checked + label[_ngcontent-%COMP%] {\n background: #dfeffc;\n border: 1px solid #dfeffc;\n}\n.modal-dialog[_ngcontent-%COMP%] .noteBox[_ngcontent-%COMP%] {\n background-color: #ffffe1;\n border: 1px solid #cacaca;\n padding: 3px;\n display: block;\n outline: 0;\n margin-bottom: 5px;\n font-size: 11px;\n text-decoration: none;\n}\n\n.fullscreen[_ngcontent-%COMP%] {\n position: fixed;\n bottom: 0px;\n right: 0px;\n padding: 10px;\n background-color: #bbbbbb;\n cursor: pointer;\n}\n.fullscreen[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 34px;\n color: white;\n}\n.pos-status[_ngcontent-%COMP%] {\n position: fixed;\n right: 10px;\n top: 10px;\n list-style: none;\n padding: 0px;\n margin: 0px;\n z-index: 1031;\n display: flex;\n align-items: center !important;\n}\n.pos-status[_ngcontent-%COMP%] li[_ngcontent-%COMP%] {\n cursor: pointer;\n margin-right: 10px;\n}\n.pos-status[_ngcontent-%COMP%] li[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] {\n padding: 8px 10px;\n color: #868686;\n}\n.pos-status[_ngcontent-%COMP%] li[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 26px;\n}\n.pos-status[_ngcontent-%COMP%] li[_ngcontent-%COMP%]:first-child i[_ngcontent-%COMP%] {\n font-size: 16px;\n}\n.full_screen[_ngcontent-%COMP%] .pos-status[_ngcontent-%COMP%] {\n left: 10px;\n bottom: 10px;\n top: auto;\n right: auto;\n}\n.full_screen[_ngcontent-%COMP%] .park-action[_ngcontent-%COMP%] {\n left: 0px;\n right: auto !important;\n padding: 0px;\n}\n.full_screen[_ngcontent-%COMP%] nav[_ngcontent-%COMP%], .full_screen[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%] {\n display: none !important;\n}\n.full_screen[_ngcontent-%COMP%] section.cashier[_ngcontent-%COMP%] > div.container-fluid[_ngcontent-%COMP%] {\n padding: 0 !important;\n}\n.full_screen[_ngcontent-%COMP%] section.cashier[_ngcontent-%COMP%] > div.container-fluid[_ngcontent-%COMP%] > div.row.header[_ngcontent-%COMP%], .full_screen[_ngcontent-%COMP%] section.cashier[_ngcontent-%COMP%] > div.container-fluid[_ngcontent-%COMP%] > div.row.body[_ngcontent-%COMP%] {\n justify-content: center;\n}\n.full_screen[_ngcontent-%COMP%] .main-panel[_ngcontent-%COMP%] {\n left: 0px;\n right: 0px;\n top: 0px;\n bottom: 0px;\n width: 100%;\n padding: 0px;\n}\n.full_screen[_ngcontent-%COMP%] #divSideMenu[_ngcontent-%COMP%] {\n display: none;\n}\n#dialogItem[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%] {\n border-top: none;\n border-right: none;\n}\ndiv#dialogDiscount[_ngcontent-%COMP%] .txtPcg[_ngcontent-%COMP%] {\n width: 30px;\n}\n#radOnline[_ngcontent-%COMP%] + label[_ngcontent-%COMP%], #radOffline[_ngcontent-%COMP%] + label[_ngcontent-%COMP%] {\n height: 150px;\n width: 200px;\n white-space: normal;\n margin: 20px 0px 20px 10px;\n padding-top: 12px;\n border: 1px solid #dddddd;\n}\n#radOnline[_ngcontent-%COMP%] + label[_ngcontent-%COMP%] h4[_ngcontent-%COMP%], #radOffline[_ngcontent-%COMP%] + label[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n margin: 5px;\n}\n#radOnline[_ngcontent-%COMP%] + label[_ngcontent-%COMP%] i[_ngcontent-%COMP%], #radOffline[_ngcontent-%COMP%] + label[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 30px;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] a[_ngcontent-%COMP%] strong[_ngcontent-%COMP%] {\n height: 30px;\n border-radius: 4px;\n padding: 5px 10px;\n color: #ffffff;\n background: #b1aaaa;\n}\nul.dialogPicker[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover, ul.dialogPicker[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a.active[_ngcontent-%COMP%] {\n background: #fffed9;\n border: 1px solid #88ae3d;\n}\nul.dialogPicker[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover > strong[_ngcontent-%COMP%], ul.dialogPicker[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a.active[_ngcontent-%COMP%] > strong[_ngcontent-%COMP%] {\n background: #88ae3d;\n}\n#radOnline[_ngcontent-%COMP%]:checked + label[_ngcontent-%COMP%] {\n color: #ffffff;\n background-color: #89b03e;\n}\n#radOffline[_ngcontent-%COMP%]:checked + label[_ngcontent-%COMP%] {\n color: #ffffff;\n background-color: #c9302c;\n}\n.fa-wifi-off[_ngcontent-%COMP%] {\n background-image: url("//res.cloudinary.com/pos/image/upload/v1535431932/POS/Images/Icon/wifi-off.svg");\n height: 30px;\n width: 30px;\n background-size: 30px;\n background-repeat: no-repeat;\n}\n#radOffline[_ngcontent-%COMP%]:checked + label[_ngcontent-%COMP%] .fa-wifi-off[_ngcontent-%COMP%] {\n background-image: url("//res.cloudinary.com/pos/image/upload/POS/Images/Icon/wifi-off-white.svg");\n}\n.fa-coupon[_ngcontent-%COMP%] {\n background-position-y: center;\n background-image: url("//res.cloudinary.com/pos/image/upload/POS/Images/Icon/coupon.svg");\n height: 26px;\n width: 26px;\n background-size: 26px;\n background-repeat: no-repeat;\n}\n.fa-retur[_ngcontent-%COMP%] {\n background-position-y: center;\n background-image: url("//res.cloudinary.com/pos/image/upload/POS/Images/Icon/return.svg");\n height: 26px;\n width: 26px;\n background-size: 26px;\n background-repeat: no-repeat;\n}\n\nul.dialogPicker[_ngcontent-%COMP%] {\n list-style: none;\n margin: 0px;\n padding: 0px;\n display: flex;\n flex-wrap: wrap !important;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] {\n width: 180px;\n min-height: 95px;\n margin-right: 17px;\n margin-bottom: 17px;\n position: relative;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] {\n display: block;\n outline: 0;\n border: 1px solid #b1aaaa;\n border-radius: 5px;\n cursor: pointer;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] h6[_ngcontent-%COMP%] {\n height: 30px;\n border-radius: 4px;\n padding: 5px 10px;\n color: #ffffff;\n background: #b1aaaa;\n overflow: hidden;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] h6[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n margin-right: 5px;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover, ul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.active[_ngcontent-%COMP%], ul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.vacant[_ngcontent-%COMP%] {\n background: #ffffe1;\n border: 1px solid #89b03e;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover > h6[_ngcontent-%COMP%], ul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.active[_ngcontent-%COMP%] > h6[_ngcontent-%COMP%], ul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.vacant[_ngcontent-%COMP%] > h6[_ngcontent-%COMP%] {\n background: #89b03e;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.occupied[_ngcontent-%COMP%], ul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.occupied[_ngcontent-%COMP%]:hover {\n border: 1px solid #c9302c;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.occupied[_ngcontent-%COMP%] > h6[_ngcontent-%COMP%], ul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.occupied[_ngcontent-%COMP%]:hover > h6[_ngcontent-%COMP%] {\n background: #c9302c !important;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.occupied[_ngcontent-%COMP%] span.alias[_ngcontent-%COMP%] {\n background: #c9302c;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.occupied[_ngcontent-%COMP%]:hover {\n background: white;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.preparing[_ngcontent-%COMP%] {\n border: 1px solid #f6a828;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.preparing[_ngcontent-%COMP%] > h6[_ngcontent-%COMP%] {\n background: #f6a828 !important;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.preparing[_ngcontent-%COMP%]:hover {\n border: 1px solid #f6a828;\n background: white;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.preparing[_ngcontent-%COMP%]:hover > strong[_ngcontent-%COMP%] {\n background: #f6a828 !important;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.preparing[_ngcontent-%COMP%] span.alias[_ngcontent-%COMP%] {\n background: #f6a828;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.preparing[_ngcontent-%COMP%] div[_ngcontent-%COMP%] > span[_ngcontent-%COMP%] {\n font-size: 0.75rem !important;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] div[_ngcontent-%COMP%] {\n height: 80px;\n padding: 15px 10px;\n position: relative;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n display: block;\n font-weight: normal;\n font-size: 0.875rem;\n width: 100%;\n margin-bottom: 5px;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:first-child {\n margin-top: -10px;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:last-child {\n margin-bottom: 0px;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span.alias[_ngcontent-%COMP%] {\n text-align: center;\n position: absolute;\n bottom: 0px;\n right: 0px;\n width: auto;\n background-color: #b1aaaa;\n border-radius: 3px;\n padding: 2px 5px;\n color: #ffffff;\n display: none !important;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span.idle[_ngcontent-%COMP%] {\n display: block;\n font-size: 1.25rem;\n text-align: center;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > span[_ngcontent-%COMP%] {\n position: absolute;\n width: 27px;\n height: 28px;\n cursor: pointer;\n top: 5px;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > span[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: black;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]:last-of-type {\n right: -5px;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]:nth-last-of-type(2) {\n right: 15px;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] input[type=checkbox][_ngcontent-%COMP%] {\n bottom: 20px;\n right: 5px;\n position: absolute;\n}\nul.dialogPicker[_ngcontent-%COMP%] .duration[_ngcontent-%COMP%] > span[_ngcontent-%COMP%] {\n border: 1px solid !important;\n position: absolute;\n bottom: -3px;\n left: 58px;\n background: #fff;\n border-radius: 5px;\n}\nul.dialogPickerBig[_ngcontent-%COMP%] li[_ngcontent-%COMP%] {\n width: 140px !important;\n margin-bottom: 17px;\n margin-top: 0px !important;\n min-height: 80px !important;\n}\nul.dialogPickerBig[_ngcontent-%COMP%] li[_ngcontent-%COMP%] a[_ngcontent-%COMP%] div[_ngcontent-%COMP%] {\n height: 50px !important;\n}\n.arrow_box_left[_ngcontent-%COMP%]:after, .arrow_box_left[_ngcontent-%COMP%]:before {\n left: 100% !important;\n}\n.arrow_box_left[_ngcontent-%COMP%]:after {\n border-left-color: #ffffff !important;\n border-right-color: transparent !important;\n}\n.arrow_box_left[_ngcontent-%COMP%]:before {\n border-left-color: #dddddd !important;\n border-right-color: transparent !important;\n}\n.arrow_box_bottom[_ngcontent-%COMP%]:after, .arrow_box_bottom[_ngcontent-%COMP%]:before {\n top: initial;\n left: 40%;\n bottom: 100% !important;\n}\n.arrow_box_bottom[_ngcontent-%COMP%]:after {\n border-bottom-color: #ffffff !important;\n border-right-color: transparent !important;\n margin-left: -6px;\n}\n.arrow_box_bottom[_ngcontent-%COMP%]:before {\n border-bottom-color: #dddddd !important;\n border-right-color: transparent !important;\n margin-left: -9px;\n}\ndiv.price_calculator[_ngcontent-%COMP%] {\n left: -260px;\n top: 46px;\n width: 250px;\n height: 138px;\n padding: 12px 0px 3px 8px;\n border-radius: 3px;\n position: absolute !important;\n}\ndiv.price_calculator[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n border: 0px !important;\n border-bottom: 1px solid #dddddd !important;\n background-color: transparent !important;\n padding: 8px 5px 5px 5px !important;\n width: 60px !important;\n}\n.tooltip-component[_ngcontent-%COMP%] {\n position: relative;\n}\n.tooltip-component[_ngcontent-%COMP%]:hover > div.toolTip[_ngcontent-%COMP%] {\n display: block;\n}\n.tooltip-component[_ngcontent-%COMP%] div.toolTip[_ngcontent-%COMP%] {\n background: #ffffe1;\n border: 1px solid #dddddd;\n position: absolute;\n top: 110%;\n left: 0%;\n padding: 10px;\n display: none;\n text-align: center;\n min-height: 15px;\n margin-top: 0.1rem;\n}\n.tooltip-component[_ngcontent-%COMP%] div.toolTip.green[_ngcontent-%COMP%] {\n background: #caed9e;\n border: 4px solid #90d93f;\n}\n.tooltip-component[_ngcontent-%COMP%] div.toolTip[_ngcontent-%COMP%]:after, .tooltip-component[_ngcontent-%COMP%] div.toolTip[_ngcontent-%COMP%]:before {\n content: "";\n position: absolute;\n top: 0;\n left: 50%;\n width: 0;\n height: 0;\n border: 5px solid transparent;\n}\n.tooltip-component[_ngcontent-%COMP%] div.toolTip[_ngcontent-%COMP%]::after {\n border-bottom-color: #ffffe1;\n border-top: 0;\n margin-left: -5px;\n margin-top: -5px;\n}\n.tooltip-component[_ngcontent-%COMP%] div.toolTip[_ngcontent-%COMP%]::before {\n border-bottom-color: #dddddd;\n border-top: 0;\n margin-left: -5px;\n margin-top: -6px;\n}\n.tooltip-component[_ngcontent-%COMP%] div.toolTip[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n margin: 0px;\n white-space: nowrap;\n color: #89b03e;\n text-shadow: 0px 1px 0px White;\n}\n.offline[_ngcontent-%COMP%] .modal-header[_ngcontent-%COMP%] {\n background-color: #c9302c !important;\n}\n.warning[_ngcontent-%COMP%] .modal-header[_ngcontent-%COMP%] {\n background-color: #f6a828 !important;\n}\n#dialogPromo[_ngcontent-%COMP%] table[_ngcontent-%COMP%] {\n min-width: 400px;\n}\n#dialogPromo[_ngcontent-%COMP%] table.table-hover[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:hover {\n background-color: #89b03e;\n color: white;\n}\nfade-in[_ngcontent-%COMP%] {\n opacity: 1;\n \n transition: opacity 2s;\n}\n.fade-out[_ngcontent-%COMP%] {\n opacity: 0;\n \n transition: opacity 2s;\n z-index: 1;\n}\n.later-payment[_ngcontent-%COMP%] strong[_ngcontent-%COMP%] {\n font-size: 20px;\n}\n.later-payment[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n font-size: 20px;\n padding: 20px 10px !important;\n}\n.change-box[_ngcontent-%COMP%] {\n top: initial;\n height: auto;\n align-self: center;\n}\n.e-money[_ngcontent-%COMP%] {\n height: 65px;\n}\n@media only screen and (max-width: 1280px) {\n input[placeholder=Customer][_ngcontent-%COMP%] {\n width: 135px;\n }\n\n span.select2.select2-container[_ngcontent-%COMP%] {\n width: 135px !important;\n }\n}\n@media only screen and (max-width: 1215px) {\n input[placeholder=Customer][_ngcontent-%COMP%] {\n width: 120px;\n }\n\n span.select2.select2-container[_ngcontent-%COMP%] {\n width: 120px !important;\n }\n}\n@media only screen and (max-width: 1185px) {\n input[placeholder=Customer][_ngcontent-%COMP%] {\n width: 140px;\n }\n\n span.select2.select2-container[_ngcontent-%COMP%] {\n width: 140px !important;\n }\n}\n@media only screen and (max-width: 992px) {\n .pos-status[_ngcontent-%COMP%] {\n bottom: 10px;\n left: 10px;\n top: auto;\n }\n}\n.simple-keyboard[_ngcontent-%COMP%] {\n width: 20vw;\n position: absolute;\n left: 77%;\n top: 30%;\n z-index: 1200;\n}\n .hg-theme-default .hg-button {\n height: 70px !important;\n font-size: 16px !important;\n}\n .hg-button-bksp {\n width: 21px;\n}\n .hg-button[data-skbtn="{enter}"] {\n width: 90px;\n}']}),o})()},{path:"**",redirectTo:"",pathMatch:"full"}];let Js=(()=>{class o{}return o.\u0275fac=function(t){return new(t||o)},o.\u0275mod=n.oAB({type:o}),o.\u0275inj=n.cJS({imports:[[H.Bz.forChild(Rs)],H.Bz]}),o})();var Es=m(9859);let Qs=(()=>{class o{}return o.\u0275fac=function(t){return new(t||o)},o.\u0275mod=n.oAB({type:o}),o.\u0275inj=n.cJS({imports:[[_.ez,y.d,Es.Fk,h.u5,B.Nh,J.dr,xn.vV]]}),o})();var _t=m(1768);let Us=(()=>{class o{}return o.\u0275fac=function(t){return new(t||o)},o.\u0275mod=n.oAB({type:o}),o.\u0275inj=n.cJS({providers:[],imports:[[_.ez,vn.ZU,J.dr,h.u5,y.d,X.A0,_t.X,Cn.Q]]}),o})(),se=(()=>{class o{transform(t,e,...i){return t.filter(r=>!e.includes(r.ID))}}return o.\u0275fac=function(t){return new(t||o)},o.\u0275pipe=n.Yjl({name:"payment",type:o,pure:!0}),o})();var Fs=m(7526);let Ls=(()=>{class o{}return o.\u0275fac=function(t){return new(t||o)},o.\u0275mod=n.oAB({type:o}),o.\u0275inj=n.cJS({providers:[se],imports:[[_.ez,X.A0,Dn.Tx,h.u5,y.d,vn.ZU,B.Nh,J.dr,Wn._t,Ft.Z_,_t.X,wi,Fs.S,Cn.Q,xn.vV,Yt._8,H.Bz]]}),o})(),Hs=(()=>{class o{}return o.\u0275fac=function(t){return new(t||o)},o.\u0275mod=n.oAB({type:o}),o.\u0275inj=n.cJS({imports:[[_.ez,H.Bz,h.u5,X.A0,B.Nh,y.d,J.dr,oe.I,nt.o,tt.e,_t.X]]}),o})(),le=(()=>{class o{}return o.\u0275fac=function(t){return new(t||o)},o.\u0275mod=n.oAB({type:o}),o.\u0275inj=n.cJS({providers:[Vt],imports:[[_.ez,B.Nh,J.dr,H.Bz]]}),o})(),Vs=(()=>{class o{}return o.\u0275fac=function(t){return new(t||o)},o.\u0275mod=n.oAB({type:o}),o.\u0275inj=n.cJS({providers:[se],imports:[[_.ez,h.u5,h.UX,Js,Qs,Us,Ls,le,Nt.R,le,J.dr,Cn.Q,tt.e,nt.o,Hs,ce.$,y.d,ie.Iq]]}),o})()}}]);
1
+ "use strict";(self.webpackChunkPOS=self.webpackChunkPOS||[]).push([[3979],{3979:(zs,ht,m)=>{m.r(ht),m.d(ht,{POSModule:()=>Vs});var _=m(6019),H=m(4382),n=m(3668),N=m(3405),O=(()=>{return(o=O||(O={}))[o.IsNew=0]="IsNew",o[o.IsComplete=1]="IsComplete",o[o.IsEdit=2]="IsEdit",o[o.isPark=3]="isPark",o[o.IsRetrieve=4]="IsRetrieve",o[o.IsSplit=5]="IsSplit",o[o.IsBill=6]="IsBill",o[o.IsReturn=7]="IsReturn",o[o.IsUndo=8]="IsUndo",o[o.UploadOrderFail=9]="UploadOrderFail",O;var o})(),C=m(8805),pe=m(2313),g=m(7695),Y=m(2254),P=m(5304),j=m(4099),Un=m(8735),Fn=m(5389),nn=m(2003),W=m(2418),rn=m(8596);let D=(()=>{class o{constructor(t,e,i){this._onlineStatusService=t,this._localDataService=e,this._httpService=i,this._Data=new j.X(null),this.Data$=this._Data.asObservable().pipe((0,Un.h)(r=>null!==r),(0,Fn.x)()),this._onlineStatusService.getOnlineStatus$().subscribe(r=>{this.isOnline=r})}get Data(){return this._Data.value}pushNewValue(t){this._Data.next(t)}request(){return new Promise((t,e)=>{this.isOnline?this._httpService.post(g.Wz.GetPOSStorage).subscribe(i=>{this._Data.next(i),this._localDataService.setPOSStorage(i),t(i)},i=>{e(i)}):this._localDataService.getPOSStorage().subscribe(i=>{null!=i?t(i):e(g.g7.failGetLocalPosStorage)})})}getOutletName(t){const e=this.Data.Entities.find(i=>i.ID==t);return void 0!==e?e.Name:t}}return o.\u0275fac=function(t){return new(t||o)(n.LFG(nn.q),n.LFG(W.T),n.LFG(rn.O))},o.\u0275prov=n.Yz7({token:o,factory:o.\u0275fac,providedIn:"root"}),o})();var z=m(1348),$=m(2625);class Ln{constructor(){this.posState=O.IsNew,this.CommissionID="",this.ReturNumber="",this.parkTemporaryItem=[],this.InputTextValue=""}}var ge=m(991),Pn=m(3521),Hn=(()=>{return(o=Hn||(Hn={}))[o.NOW=0]="NOW",o[o.LATER=1]="LATER",Hn;var o})();class Sn{constructor(){this.Prefix=null,this.Seed=null,this.Digit=null}static Generate(a){let t="";if(a.Seed){let e=a.Seed+"";for(;e.length<a.Digit;)e="0"+e;t=g.gT.StringFormat(a.Prefix,e)}return t}}class Vn{constructor(){this.RegisterID=null,this.RegisterCode=null,this.EntityID=null,this.EntityName=null,this.NumberElement=new Sn,this.InvoiceNumberElement=new Sn,this.Promotion=[]}}var an=m(2565),tn=m(9240),gn=(()=>{return(o=gn||(gn={}))[o.Pending=1]="Pending",o[o.Complete=3]="Complete",gn;var o})(),T=m(5761),ue=m(5686),wn=(()=>{return(o=wn||(wn={}))[o.Never=0]="Never",o[o.OnRetrieve=1]="OnRetrieve",o[o.Always=2]="Always",wn;var o})(),un=m(9794);class _e{constructor(a){a&&(this.EntityID=a.EntityID,this.ID=a.ID,this.Note=a.Note,this.Serial=a.Serial,this.VariantID=a.VariantID)}get EntityID(){return this._EntityID}get ID(){return this._ID}get Note(){return this._Note}get Serial(){return this._Serial}get VariantID(){return this._VariantID}set EntityID(a){this._EntityID=a}set ID(a){this._ID=a}set Note(a){this._Note=a}set Serial(a){this._Serial=a}set VariantID(a){this._VariantID=a}}var mt=m(8053);let ft=(()=>{class o{constructor(t,e){this.httpService=t,this.localData=e}getVariantByID(t,e,i=!0){return new Promise((r,c)=>{this.localData.isConfigFromServer().then(l=>{l?this.httpService.post(g.Wz.GetVariantByID,{id:t,entityID:e,Promotion:i}).subscribe(s=>r(s),s=>{c(s)}):this.localData.getVariantById(t,e).then(d=>r(d)).catch(d=>c(d))}).catch(l=>c(l))})}getVariantByCode(t,e,i=!1){return new Promise((r,c)=>{this.localData.isProductFromServer().then(l=>{l?this.httpService.post("/API/Product/GetVariantByCode",{code:t,entityID:e,barcodeSerial:i,Promotion:!0}).subscribe(s=>r(s),s=>c(s)):this.localData.getVariantByCode(t).then(d=>r(d)).catch(d=>c(d))}).catch(l=>c(l))})}getVariantSerial(t,e,i){return this.httpService.post("/API/Product/GetVariantSerial",{entityID:t,soID:e,variantID:i}).pipe((0,mt.U)(r=>r.map(l=>new _e(l))))}getStockByID(t,e){return new Promise((i,r)=>{this.httpService.post("/API/Product/GetInventoryByVariantID",{id:t,entityID:e}).subscribe(l=>i(l),l=>r(l))})}}return o.\u0275fac=function(t){return new(t||o)(n.LFG(rn.O),n.LFG(W.T))},o.\u0275prov=n.Yz7({token:o,factory:o.\u0275fac,providedIn:"root"}),o})();var _n=m(3545);let S=(()=>{class o{constructor(t,e){this._OrderHttpService=t,this._customerHttpService=e,this._Data=new j.X(new $.m),this.Data$=this._Data.asObservable()}get Data(){return this._Data.value}pushNewValue(t){this._Data.next(t||this.Data)}submitOrder(t){return new Promise((e,i)=>{null!=this.Data.Invoice.Due&&(this.Data.Payments=[]),this._OrderHttpService.submitOrder(this.Data,t).then(r=>{e(r)},r=>{this.Data.Items=[],i(r)})})}updateCustomerID(t){return this.Data.Order.CustomerID=t,this.pushNewValue(this.Data),new Promise((e,i)=>{this._customerHttpService.GetPrivilegeByID(t,this.Data.Order.EntityID).subscribe(r=>{this._customerHttpService.Data=r,this.pushNewValue(this.Data),e(r)},()=>{i([])})})}}return o.\u0275fac=function(t){return new(t||o)(n.LFG(z.D),n.LFG(_n.r))},o.\u0275prov=n.Yz7({token:o,factory:o.\u0275fac,providedIn:"root"}),o})();var Z=m(2387);let hn=(()=>{class o{constructor(t,e,i,r,c,l){this.variantService=t,this._posService=e,this._orderDataService=i,this.toastr=r,this._orderProcessorService=c,this._customerHttpService=l,this.subscribeToObservable()}subscribeToObservable(){this._posService.Data$.subscribe(t=>{this.restriction=t.Restriction,this.appConfigJson=t.AppConfigJSON}),this._orderDataService.Data$.subscribe(t=>{this.salesOrderData=t,this.entityID=t.Order.EntityID})}addCartItemById(t,e,i=!0){return new Promise((r,c)=>{this.variantService.getVariantByID(t,this.entityID,i).then(l=>{this.createNewCartItem(l,e),r(l)}).catch(l=>{c(l)})})}addCartItemByCode(t){return new Promise((e,i)=>{const r=this.appConfigJson.ModuleSell.DigitalScale;r.Digit>0&&g.gT.IsNotEmpty(r.Regex)&&t.length==r.Digit?this.parseDigitalScaleBarcodeWithRegex(t,r).then(l=>{l||this.findVariantByCode(t).then(d=>e(d)).catch(d=>i(d))}):this.findVariantByCode(t).then(l=>e(l)).catch(l=>i(l))})}findVariantByCode(t){const e=this.appConfigJson.ModuleSell.BarcodeSerialEnabled;return new Promise((i,r)=>{this.variantService.getVariantByCode(t,this.entityID,e).then(c=>{c.TypeID==un.J.Serialized&&(c.PriceNote=`[${t}]`),i(c),this.createNewCartItem(c)}).catch(c=>r(c))})}updateCartItem(t,e){this.salesOrderData.CartItems[e]=t,this._orderDataService.pushNewValue(this.salesOrderData)}deleteCartItem(t){this.salesOrderData.CartItems=this.salesOrderData.CartItems.filter(e=>e!==t),this._orderDataService.pushNewValue(this.salesOrderData)}parseDigitalScaleBarcodeWithRegex(t,e){const i=this.appConfigJson.ModuleSell.BarcodeSerialEnabled,r=new RegExp(e.Regex),c=t.match(r),l=c[1];let d=parseFloat(c[2]);return d/=e.QuantityDivider,new Promise(s=>{this.variantService.getVariantByCode(l,this.entityID,i).then(p=>{this.createNewCartItem(p,null,d),s(!0)}).catch(()=>{s(!1)})})}createNewCartItem(t,e,i){let r=new tn.t;r.patchByVariant(t,this.appConfigJson.ModuleSell.ProductNotes.CopyProductDescription,this.appConfigJson.ModuleSell.ProductNotes.CopyPromotionName),r=this.applyReward(r,e),r=this.applyPromotionProduct(r),g.gT.IsEmpty(e)&&(r=this.applyPriceBook(r)),this.validateCartItem(r)&&(r.Quantity=i||r.Quantity,this.pushNewItemToArray(r,r.PromotionGift)),this.addAvailableComponent(r)}applyPromotionProduct(t){const e=t.Variant.DiscountAmount;return e&&(this._posService.Data.AppConfigJSON.ModuleSell.promotion.ShowPromotionDiscountAmount?t.DiscountAmount=e:t.Price=t.Price-e),t}applyReward(t,e){if(e){const i=this.appConfigJson.ModuleSell.ProductNotes.CopyPromotionName;t.Discount=e.Discount;const r=e.OriginalPrice-e.UnitPrice;this.appConfigJson.ModuleSell.promotion.ShowPromotionDiscountAmount?t.DiscountAmount=r:t.Price=t.Price-r,t.PromotionGift=!0,i&&(t.Note=e.PromotionName)}return t}addAvailableComponent(t){const e=0!=t.Price,i=this.appConfigJson.ModuleSell.SellProductComponentDefaultPrice,r=t.Variant;if(null!=r.Component&&r.Component.length>0)for(const c of r.Component){const l=new tn.t;l.patchByVariant(c),l.Quantity=t.Quantity*c.Quantity,e&&!i&&(c.UnitPrice=0),l.Price=c.UnitPrice,this.pushNewItemToArray(l)}}pushNewItemToArray(t,e=!1){const i=this.salesOrderData.CartItems.findIndex(r=>r.VariantID==t.VariantID);if(-1==i||e)this.salesOrderData.CartItems.push(t);else{const r=this.appConfigJson.ModuleSell.QuickKey.NewRowBehaviour;r==wn.Always||r==wn.OnRetrieve&&this._orderProcessorService.Data.posState==O.IsRetrieve?this.salesOrderData.CartItems.push(t):this.addingQuantityItem(i,t)}this._orderDataService.pushNewValue(this.salesOrderData)}addingQuantityItem(t,e){let i=this.salesOrderData.CartItems.filter(d=>d.VariantID==e.VariantID),r=i.length,c=i.find(d=>!d.PromotionGift);this.salesOrderData.CartItems[t].PromotionGift&&1==r?this.salesOrderData.CartItems.push(e):(c=this.addingSerialItem(c,e),c.Quantity+=e.Quantity),c&&(c=this.applyPriceBook(c))}addingSerialItem(t,e){if(t.Variant.TypeID==un.J.Serialized){let i=[...t.Serial,...e.Serial];t.Serial=i.filter((r,c)=>i.indexOf(r)==c),t.Note=`[${t.Serial}]`}return t}validateCartItem(t){return-1==t.Variant.CategoryTypeID?(this.toastr.info(t.Variant.Name+" cannot be sold, check Category "+t.Variant.CategoryName+" settings","info"),!1):!(!this.checkPriceMinimum(t)||!this.validateSerialItem(t))}checkPriceMinimum(t){const e=1===this.appConfigJson.ModuleSell.ProductDialog.PriceMinimumTypeID?"UnitPrice":"UnitCost";let r=!0;if(t.Price<t.Variant[e]&&this.restriction.PriceMinimum){r=!1;const c=t.Variant[e].toString().replace(/\B(?=(\d{3})+(?!\d))/g,",");alert(`You have no right to sell this item lower than ${c}`)}return r}validateSerialItem(t){let e=!0;return 4==t.Variant.TypeID&&g.gT.IsNotEmpty(t.Note)&&t.Quantity>0&&t.Serial.length!=t.Quantity&&(this.toastr.error("Serial must be equal with the quantity","Error"),e=!1),e}applyPriceBook(t){const e=null!=t.Variant.PriceBook?t.Variant.PriceBook:[],i=this.findCustomerPricebook(e);if(e&&0!==e.length){const r=e.sort(function(c,l){return l.MinimumQuantity-c.MinimumQuantity}).filter(c=>t.Quantity>=c.MinimumQuantity);r.length>0&&(void 0!==i?t=this.applyPricebookToItem(t,i):0!=r[0].MinimumQuantity&&(t=this.applyPricebookToItem(t,r[0])))}return t}applyPricebookToItem(t,e){const i=this.appConfigJson.ModuleSell.Pricebook.PricebookVisible;return t.Discount=e.PriceDiscount,t.PriceNote=e.Name,t.UnitPrice=e.UnitPrice,t.PriceBookID=e.ID,t.Price=e.UnitPrice,i&&(t.Note=e.Name),t}findCustomerPricebook(t=[]){const e=this._customerHttpService.Data;let i;return e&&(i=t.find(r=>r.ID==e.PricebookID)),i}}return o.\u0275fac=function(t){return new(t||o)(n.LFG(ft),n.LFG(D),n.LFG(S),n.LFG(Z._W),n.LFG(R),n.LFG(_n.r))},o.\u0275prov=n.Yz7({token:o,factory:o.\u0275fac,providedIn:"root"}),o})();var y=m(7481),h=m(9133),J=m(1464);function he(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",9),n.TgZ(1,"div",4),n.TgZ(2,"input",10),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw().model=i})("ngModelChange",function(i){return n.CHM(t),n.oxw().changed(i)}),n.qZA(),n.qZA(),n.qZA()}if(2&o){const t=n.oxw();n.xp6(2),n.Q6J("ngModel",t.model)}}function me(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"tr"),n.TgZ(1,"td"),n._uU(2),n.qZA(),n.TgZ(3,"td"),n._uU(4),n.qZA(),n.TgZ(5,"td",11),n._uU(6),n.ALo(7,"number"),n.qZA(),n.TgZ(8,"td",11),n._uU(9),n.ALo(10,"number"),n.qZA(),n.TgZ(11,"td"),n.TgZ(12,"div",12),n.TgZ(13,"button",13),n.NdJ("click",function(){const r=n.CHM(t).$implicit;return n.oxw().select(r)}),n._uU(14,"Apply"),n.qZA(),n.qZA(),n.qZA(),n.qZA()}if(2&o){const t=a.$implicit;n.xp6(2),n.Oqu(t.VariantName),n.xp6(2),n.Oqu(t.VariantCode),n.xp6(2),n.Oqu(n.lcZ(7,4,t.OriginalPrice)),n.xp6(3),n.Oqu(n.lcZ(10,6,t.UnitPrice))}}let fe=(()=>{class o{constructor(t,e,i,r,c,l){this._dialogRef=t,this._matDialog=e,this._shoppingCartService=i,this._promotionEventService=r,this._toastr=c,this.rewards=l,this.modalConfig=new T.O,this.modelChanged=new N.xQ,this.temp=[],this.selectedPromotion=this._promotionEventService.selectedPromotion,this.temp=l,this.modelChanged.pipe((0,ue.b)(300),(0,Fn.x)()).subscribe(d=>this.model=d)}changed(t){this.rewards=""!=t||null!=t?this.temp.filter(e=>this.findKeywordInValue(t,e.VariantName)||this.findKeywordInValue(t,e.VariantCode)):this.temp,this.modelChanged.next(t)}findKeywordInValue(t,e){return e.toUpperCase().indexOf(t.toUpperCase())>-1}ngOnInit(){this.modalConfig.title="Select a Reward",this.modalConfig.customWidth="'300px'",this.modalConfig.hideFooter=!0}select(t){this._shoppingCartService.addCartItemById(t.VariantID,t,!1).then(()=>{this._matDialog.closeAll(),this._promotionEventService.pushNewValue(this._promotionEventService.Data),this.showToastAppliedPromo()})}showToastAppliedPromo(){this._toastr.success("Applied "+this.selectedPromotion.Name+" to order!","Applied successfully!")}close(){this._dialogRef.close()}}return o.\u0275fac=function(t){return new(t||o)(n.Y36(P.so),n.Y36(P.uw),n.Y36(hn),n.Y36(fn),n.Y36(Z._W),n.Y36(P.WI))},o.\u0275cmp=n.Xpm({type:o,selectors:[["POS-modal-select-item"]],decls:21,vars:7,consts:[[3,"config","onCancel","onClose"],[1,"container"],["class","row mb-3",4,"ngIf"],[1,"row","table-scroll"],[1,"col-12"],[1,"table","table-bordered"],[1,"thead-light"],["scope","col"],[4,"ngFor","ngForOf"],[1,"row","mb-3"],["type","text","placeholder","Type to filter reward",1,"form-control",3,"ngModel","ngModelChange"],[1,"text-right"],[1,"col","text-right"],[1,"btn","btn-sm","btn-success",3,"click"]],template:function(t,e){1&t&&(n.TgZ(0,"modal-material",0),n.NdJ("onCancel",function(){return e.close()})("onClose",function(){return e.close()}),n.TgZ(1,"content"),n.TgZ(2,"div",1),n.YNc(3,he,3,1,"div",2),n.TgZ(4,"div",3),n.TgZ(5,"div",4),n.TgZ(6,"table",5),n.TgZ(7,"thead",6),n.TgZ(8,"tr"),n.TgZ(9,"th",7),n._uU(10,"Name"),n.qZA(),n.TgZ(11,"th",7),n._uU(12,"Code"),n.qZA(),n.TgZ(13,"th",7),n._uU(14,"Price"),n.qZA(),n.TgZ(15,"th",7),n._uU(16,"Promo"),n.qZA(),n._UZ(17,"th",7),n.qZA(),n.qZA(),n.TgZ(18,"tbody"),n.YNc(19,me,15,8,"tr",8),n.ALo(20,"sortBy"),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.qZA()),2&t&&(n.Q6J("config",e.modalConfig),n.xp6(3),n.Q6J("ngIf",(null==e.temp?null:e.temp.length)>5),n.xp6(16),n.Q6J("ngForOf",n.Dn7(20,3,e.rewards,"desc","VariantCode")))},directives:[y.M,_.O5,_.sg,h.Fj,h.JJ,h.On],pipes:[J.W7,_.JJ],styles:[".table-scroll[_ngcontent-%COMP%] {\n max-height: 400px;\n overflow-y: auto;\n}\n\ntable[_ngcontent-%COMP%] {\n max-width: 600px !important;\n overflow-x: hidden;\n}"]}),o})();var q=(()=>{return(o=q||(q={}))[o.Amount=1]="Amount",o[o.Quantity=2]="Quantity",o[o.Discount=3]="Discount",o[o.Product=4]="Product",o[o.PromotionTiered=5]="PromotionTiered",q;var o})(),Tn=(()=>{return(o=Tn||(Tn={}))[o.Product=1]="Product",o[o.Cheapest=2]="Cheapest",Tn;var o})(),Ce=m(6636),Ct=m(4434),K=m(1980);let en=(()=>{class o{constructor(t){this.posHttpResponseService=t,this._Data=new j.X(new K.Q),this.Data$=this._Data.asObservable(),this.posHttpResponseService.Data$.subscribe(e=>{const i=new K.Q;i.Assign(e.Roles),this.pushNewValue(i)})}get Data(){return this._Data.value}pushNewValue(t){this._Data.next(t)}}return o.\u0275fac=function(t){return new(t||o)(n.LFG(D))},o.\u0275prov=n.Yz7({token:o,factory:o.\u0275fac,providedIn:"root"}),o})();function Pe(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"span",18),n.NdJ("click",function(i){n.CHM(t);const r=n.oxw().$implicit;return n.oxw().closeRegister(r),i.stopPropagation()}),n.qZA()}}function Oe(o,a){1&o&&(n.TgZ(0,"div"),n.TgZ(1,"span",19),n._uU(2,"VACANT"),n.qZA(),n.qZA())}function Me(o,a){if(1&o&&(n.TgZ(0,"div"),n.TgZ(1,"span",20),n._UZ(2,"i",21),n.TgZ(3,"font"),n._uU(4),n.qZA(),n.qZA(),n.TgZ(5,"span",22),n._UZ(6,"i",23),n.TgZ(7,"font"),n._uU(8),n.qZA(),n.qZA(),n.qZA()),2&o){const t=n.oxw().$implicit;n.xp6(4),n.Oqu(t.LoginID),n.xp6(4),n.hij("",t.StartDisplay.split(" ")[3]," - Now")}}const be=function(o){return{active:o}},xe=function(o){return{gray:o}};function ve(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",10),n.TgZ(1,"div",11),n.TgZ(2,"div",12),n.TgZ(3,"h5",13),n.NdJ("click",function(){const r=n.CHM(t).$implicit;return n.oxw().select(r)}),n.TgZ(4,"span"),n._UZ(5,"i",14),n._uU(6),n.ALo(7,"limitTo"),n.qZA(),n.YNc(8,Pe,1,0,"span",15),n.qZA(),n.TgZ(9,"div",16),n.NdJ("click",function(){const r=n.CHM(t).$implicit;return n.oxw().select(r)}),n.YNc(10,Oe,3,0,"div",17),n.YNc(11,Me,9,2,"div",17),n.qZA(),n.qZA(),n.qZA(),n.qZA()}if(2&o){const t=a.$implicit,e=n.oxw();n.xp6(1),n.Q6J("ngClass",t.Active?"active":""),n.xp6(1),n.Q6J("ngClass",n.VKq(11,be,(null==t?null:t.Name)==(null==e.selectedRegister?null:e.selectedRegister.Name))),n.xp6(1),n.Q6J("ngClass",n.VKq(13,xe,t!=e.selectedRegister)),n.xp6(3),n.Oqu(n.xi3(7,8,t.Name,15)),n.xp6(2),n.Q6J("ngIf","Close"!=t.State),n.xp6(1),n.Q6J("ngSwitch",t.State),n.xp6(1),n.Q6J("ngSwitchCase","Close"),n.xp6(1),n.Q6J("ngSwitchCase","Open")}}let Pt=(()=>{class o{constructor(t,e,i,r,c){this._dialogRef=t,this._outletService=e,this._posService=i,this._userRoleService=r,this.router=c,this.searchInput="",this.selectedRegister=new Ct.e,this.modalConfig=new T.O,this.role=new K.Q,this.destroy$=new N.xQ}get AppConfigJSON(){return this._posService.Data.AppConfigJSON}ngOnInit(){this.subscribeToObsChanges(),this.initModalConfig()}subscribeToObsChanges(){this.registers=this._posService.Data.Registers,this._outletService.Data$.pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.selectedRegister=this.findOutletRegisterById(t.RegisterID)}),this._userRoleService.Data$.pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.role=t})}findOutletRegisterById(t){return this.registers.find(i=>i.ID===t)||new Ct.e}initModalConfig(){this.modalConfig.hideClose=!1,this.modalConfig.hideCancel=!1,this.modalConfig.bodyScrollable=!0,this.modalConfig.title="Choose an outlet"}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}close(){this._dialogRef.close()}onOk(){null!=this.selectedRegister.ID?(this._outletService.pushNewRegister(this.selectedRegister),this._dialogRef.close(this.selectedRegister)):alert("Please select a register first!")}select(t){if(this.AppConfigJSON.ModuleShift.Closure.Enabled)if(null!=this.selectedRegister.ID&&this.selectedRegister.Open&&null==t.CashierID)confirm("You already have an active register with "+this.selectedRegister.Name+"!\nDo you want to end your session?")&&(this.close(),this.router.navigate(["menu/Shift/Main/My_Shift"],{queryParams:{RegisterID:t.ID}}));else if(t.Open&&this.selectedRegister.ID!=t.ID){if(0==this.role.SellEditor)return void alert("You cannot end shift for Register "+t.Name+" - Unauthorized Access");alert("This Register has already active register, Are you sure you want to end this register?"),this.close(),this.router.navigate(["/menu/Shift/Main/My_Shift"],{queryParams:{RegisterID:t.ID}})}else this.selectedRegister=t;else this.selectedRegister=t}closeRegister(t){0!=this.role.SellEditor?(this.selectedRegister.ID==t.ID?this.router.navigate(["/menu/Shift/Main/My_Shift"]):this.router.navigate(["/menu/Shift/Main/My_Shift"],{queryParams:{RegisterID:t.ID}}),this.close()):alert("You cannot end shift for Register "+t.Name+" - Unauthorized Access")}}return o.\u0275fac=function(t){return new(t||o)(n.Y36(P.so),n.Y36(F),n.Y36(D),n.Y36(en),n.Y36(H.F0))},o.\u0275cmp=n.Xpm({type:o,selectors:[["pos-modal-register"]],decls:13,vars:7,consts:[[3,"config","onOk","onCancel","onClose"],[1,"form-group","ml-0",2,"width","200px",3,"hidden"],[1,"input-group","margin-bottom-sm"],[1,"input-group-prepend"],[1,"input-group-text"],["aria-hidden","true",1,"fa","fa-search"],["placeholder","Filter by Name","name","searchInput",1,"form-control",3,"ngModel","ngModelChange"],[1,"container"],[1,"row",2,"width","600px"],["class","col-4",4,"ngFor","ngForOf"],[1,"col-4"],[1,"card","border-0",3,"ngClass"],[1,"card-body","p-0",3,"ngClass"],[1,"card-title","mb-0",3,"ngClass","click"],[1,"fa","fa-info-circle","pr-1"],["class","fa fa-times-circle fa-lg position-absolute","style","text-shadow: 0 1px 0 #fff; right: 4px; top: 6px",3,"click",4,"ngIf"],[1,"card-text","px-0","py-2",3,"ngSwitch","click"],[4,"ngSwitchCase"],[1,"fa","fa-times-circle","fa-lg","position-absolute",2,"text-shadow","0 1px 0 #fff","right","4px","top","6px",3,"click"],[1,"idle"],[1,"cashier"],["aria-hidden","true",1,"fa","fa-user","pr-2"],[1,"open"],["aria-hidden","true",1,"far","fa-clock","pr-2"]],template:function(t,e){1&t&&(n.TgZ(0,"modal-material",0),n.NdJ("onOk",function(){return e.onOk()})("onCancel",function(){return e.close()})("onClose",function(){return e.close()}),n.TgZ(1,"content"),n.TgZ(2,"div",1),n.TgZ(3,"div",2),n.TgZ(4,"div",3),n.TgZ(5,"span",4),n._UZ(6,"i",5),n.qZA(),n.qZA(),n.TgZ(7,"input",6),n.NdJ("ngModelChange",function(r){return e.searchInput=r}),n.qZA(),n.qZA(),n.qZA(),n.TgZ(8,"div",7),n.TgZ(9,"div",8),n.YNc(10,ve,12,15,"div",9),n.ALo(11,"FilterByName"),n.qZA(),n.qZA(),n.qZA(),n._UZ(12,"footer"),n.qZA()),2&t&&(n.Q6J("config",e.modalConfig),n.xp6(2),n.Q6J("hidden",e.registers.length<=6),n.xp6(5),n.Q6J("ngModel",e.searchInput),n.xp6(3),n.Q6J("ngForOf",n.xi3(11,4,e.registers,e.searchInput)))},directives:[y.M,h.Fj,h.JJ,h.On,_.sg,_.mk,_.O5,_.RF,_.n9],pipes:[J.bs,J.OI],styles:[".col-4[_ngcontent-%COMP%] {\n list-style: none;\n margin: 0px;\n padding: 0px;\n display: flex;\n flex-wrap: wrap !important;\n}\n.col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] {\n width: 180px;\n min-height: 95px;\n margin-right: 17px;\n margin-bottom: 17px;\n position: relative;\n}\n.col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body[_ngcontent-%COMP%] {\n display: block;\n outline: 0;\n border: 1px solid #B1AAAA;\n border-radius: 5px;\n cursor: pointer;\n}\n.col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body[_ngcontent-%COMP%] h5[_ngcontent-%COMP%] {\n height: 30px;\n border-radius: 4px;\n padding: 5px 10px;\n color: #ffffff;\n background: #B1AAAA;\n overflow: hidden;\n}\n.col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body[_ngcontent-%COMP%] h5[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n margin-right: 5px;\n}\n.col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body[_ngcontent-%COMP%]:hover, .col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.active[_ngcontent-%COMP%], .col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.vacant[_ngcontent-%COMP%] {\n background: #ffffe1;\n border: 1px solid #89b03e;\n}\n.col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body[_ngcontent-%COMP%]:hover > h5[_ngcontent-%COMP%], .col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.active[_ngcontent-%COMP%] > h5[_ngcontent-%COMP%], .col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.vacant[_ngcontent-%COMP%] > h5[_ngcontent-%COMP%] {\n background: #89b03e;\n}\n.col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.occupied[_ngcontent-%COMP%], .col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.occupied[_ngcontent-%COMP%]:hover {\n border: 1px solid #c9302c;\n}\n.col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.occupied[_ngcontent-%COMP%] > h6[_ngcontent-%COMP%], .col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.occupied[_ngcontent-%COMP%]:hover > h6[_ngcontent-%COMP%] {\n background: #c9302c !important;\n}\n.col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.occupied[_ngcontent-%COMP%] span.alias[_ngcontent-%COMP%] {\n background: #c9302c;\n}\n.col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.occupied[_ngcontent-%COMP%]:hover {\n background: white;\n}\n.col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.preparing[_ngcontent-%COMP%] {\n border: 1px solid #f6a828;\n}\n.col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.preparing[_ngcontent-%COMP%] > h6[_ngcontent-%COMP%] {\n background: #f6a828 !important;\n}\n.col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.preparing[_ngcontent-%COMP%]:hover {\n border: 1px solid #f6a828;\n background: white;\n}\n.col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.preparing[_ngcontent-%COMP%]:hover > strong[_ngcontent-%COMP%] {\n background: #f6a828 !important;\n}\n.col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.preparing[_ngcontent-%COMP%] span.alias[_ngcontent-%COMP%] {\n background: #f6a828;\n}\n.col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.preparing[_ngcontent-%COMP%] div[_ngcontent-%COMP%] > span[_ngcontent-%COMP%] {\n font-size: 0.75rem !important;\n}\n.col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body[_ngcontent-%COMP%] div[_ngcontent-%COMP%] {\n height: 80px;\n padding: 15px 10px;\n position: relative;\n}\n.col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n display: block;\n font-weight: normal;\n font-size: 0.875rem;\n width: 100%;\n margin-bottom: 5px;\n}\n.col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:first-child {\n margin-top: -10px;\n}\n.col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:last-child {\n margin-bottom: 0px;\n}\n.col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span.alias[_ngcontent-%COMP%] {\n text-align: center;\n position: absolute;\n bottom: 0px;\n right: 0px;\n width: auto;\n background-color: #B1AAAA;\n border-radius: 3px;\n padding: 2px 5px;\n color: #ffffff;\n display: none !important;\n}\n.col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span.idle[_ngcontent-%COMP%] {\n display: block;\n font-size: 1.25rem;\n text-align: center;\n}\n.col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > span[_ngcontent-%COMP%] {\n position: absolute;\n width: 27px;\n height: 28px;\n cursor: pointer;\n top: 5px;\n}\n.col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > span[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: black;\n}\n.col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]:last-of-type {\n right: -5px;\n}\n.col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]:nth-last-of-type(2) {\n right: 15px;\n}\n.col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] input[type=checkbox][_ngcontent-%COMP%] {\n bottom: 20px;\n right: 5px;\n position: absolute;\n}\n.col-4[_ngcontent-%COMP%] .duration[_ngcontent-%COMP%] > span[_ngcontent-%COMP%] {\n border: 1px solid !important;\n position: absolute;\n bottom: -3px;\n left: 58px;\n background: #fff;\n border-radius: 5px;\n}"]}),o})();var cn=m(859);let Ot=(()=>{class o{constructor(t,e){this.dialogRef=t,this.data=e,this.config=new T.O}ngOnInit(){this.config.title="Opening Cash"}onOk(){this.dialogRef.close({amount:this.amount})}}return o.\u0275fac=function(t){return new(t||o)(n.Y36(P.so),n.Y36(P.WI))},o.\u0275cmp=n.Xpm({type:o,selectors:[["POS-modal-opening-cash"]],decls:3,vars:3,consts:[[3,"title","config","onOk","onCancel","onClose"],["autoNum","",1,"border","w-100","rounded","p-4",3,"ngModel","ngModelChange"]],template:function(t,e){1&t&&(n.TgZ(0,"modal-material",0),n.NdJ("onOk",function(){return e.onOk()})("onCancel",function(){return e.dialogRef.close()})("onClose",function(){return e.dialogRef.close()}),n.TgZ(1,"content"),n.TgZ(2,"input",1),n.NdJ("ngModelChange",function(r){return e.amount=r}),n.qZA(),n.qZA(),n.qZA()),2&t&&(n.Q6J("title","Opening Cash")("config",e.config),n.xp6(2),n.Q6J("ngModel",e.amount))},directives:[y.M,h.Fj,cn.b,h.JJ,h.On],styles:[""]}),o})();var o,et=(o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,t){a.__proto__=t}||function(a,t){for(var e in t)t.hasOwnProperty(e)&&(a[e]=t[e])},function(a,t){function e(){this.constructor=a}o(a,t),a.prototype=null===t?Object.create(t):(e.prototype=t.prototype,new e)}),kn=function(o){function a(t,e){var r=this,c=this.constructor.prototype;return(r=o.call(this,t)||this).statusCode=e,r.__proto__=c,r}return et(a,o),a}(Error),ot=function(o){function a(t){void 0===t&&(t="A timeout occurred.");var i=this,r=this.constructor.prototype;return(i=o.call(this,t)||this).__proto__=r,i}return et(a,o),a}(Error),In=function(o){function a(t){void 0===t&&(t="An abort occurred.");var i=this,r=this.constructor.prototype;return(i=o.call(this,t)||this).__proto__=r,i}return et(a,o),a}(Error),it=Object.assign||function(o){for(var a,t=1,e=arguments.length;t<e;t++)for(var i in a=arguments[t])Object.prototype.hasOwnProperty.call(a,i)&&(o[i]=a[i]);return o},Mt=function(a,t,e){this.statusCode=a,this.statusText=t,this.content=e},rt=function(){function o(){}return o.prototype.get=function(a,t){return this.send(it({},t,{method:"GET",url:a}))},o.prototype.post=function(a,t){return this.send(it({},t,{method:"POST",url:a}))},o.prototype.delete=function(a,t){return this.send(it({},t,{method:"DELETE",url:a}))},o.prototype.getCookieString=function(a){return""},o}(),u=(()=>(function(o){o[o.Trace=0]="Trace",o[o.Debug=1]="Debug",o[o.Information=2]="Information",o[o.Warning=3]="Warning",o[o.Error=4]="Error",o[o.Critical=5]="Critical",o[o.None=6]="None"}(u||(u={})),u))(),at=function(){function o(){}return o.prototype.log=function(a,t){},o.instance=new o,o}(),ye=Object.assign||function(o){for(var a,t=1,e=arguments.length;t<e;t++)for(var i in a=arguments[t])Object.prototype.hasOwnProperty.call(a,i)&&(o[i]=a[i]);return o},E=function(){function o(){}return o.isRequired=function(a,t){if(null==a)throw new Error("The '"+t+"' argument is required.")},o.isNotEmpty=function(a,t){if(!a||a.match(/^\s*$/))throw new Error("The '"+t+"' argument should not be empty.")},o.isIn=function(a,t,e){if(!(a in t))throw new Error("Unknown "+e+" value: "+a+".")},o}(),V=function(){function o(){}return Object.defineProperty(o,"isBrowser",{get:function(){return"object"==typeof window},enumerable:!0,configurable:!0}),Object.defineProperty(o,"isWebWorker",{get:function(){return"object"==typeof self&&"importScripts"in self},enumerable:!0,configurable:!0}),Object.defineProperty(o,"isNode",{get:function(){return!this.isBrowser&&!this.isWebWorker},enumerable:!0,configurable:!0}),o}();function An(o,a){var t="";return ct(o)?(t="Binary data of length "+o.byteLength,a&&(t+=". Content: '"+function(o){var a=new Uint8Array(o),t="";return a.forEach(function(e){t+="0x"+(e<16?"0":"")+e.toString(16)+" "}),t.substr(0,t.length-1)}(o)+"'")):"string"==typeof o&&(t="String data of length "+o.length,a&&(t+=". Content: '"+o+"'")),t}function ct(o){return o&&"undefined"!=typeof ArrayBuffer&&(o instanceof ArrayBuffer||o.constructor&&"ArrayBuffer"===o.constructor.name)}function bt(o,a,t,e,i,r,c,l,d){return function(o,a,t,e){return new(t||(t=Promise))(function(i,r){function c(s){try{d(e.next(s))}catch(p){r(p)}}function l(s){try{d(e.throw(s))}catch(p){r(p)}}function d(s){s.done?i(s.value):new t(function(p){p(s.value)}).then(c,l)}d((e=e.apply(o,[])).next())})}(this,0,void 0,function(){var s,p,f,M,v,x;return function(o,a){var e,i,r,c,t={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return c={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(c[Symbol.iterator]=function(){return this}),c;function l(s){return function(p){return function(s){if(e)throw new TypeError("Generator is already executing.");for(;t;)try{if(e=1,i&&(r=2&s[0]?i.return:s[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,s[1])).done)return r;switch(i=0,r&&(s=[2&s[0],r.value]),s[0]){case 0:case 1:r=s;break;case 4:return t.label++,{value:s[1],done:!1};case 5:t.label++,i=s[1],s=[0];continue;case 7:s=t.ops.pop(),t.trys.pop();continue;default:if(!(r=(r=t.trys).length>0&&r[r.length-1])&&(6===s[0]||2===s[0])){t=0;continue}if(3===s[0]&&(!r||s[1]>r[0]&&s[1]<r[3])){t.label=s[1];break}if(6===s[0]&&t.label<r[1]){t.label=r[1],r=s;break}if(r&&t.label<r[2]){t.label=r[2],t.ops.push(s);break}r[2]&&t.ops.pop(),t.trys.pop();continue}s=a.call(o,t)}catch(p){s=[6,p],i=0}finally{e=r=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,p])}}}(this,function(pn){switch(pn.label){case 0:return p={},i?[4,i()]:[3,2];case 1:(f=pn.sent())&&((s={}).Authorization="Bearer "+f,p=s),pn.label=2;case 2:return M=On(),p[M[0]]=M[1],o.log(u.Trace,"("+a+" transport) sending data. "+An(r,c)+"."),v=ct(r)?"arraybuffer":"text",[4,t.post(e,{content:r,headers:ye({},p,d),responseType:v,withCredentials:l})];case 3:return x=pn.sent(),o.log(u.Trace,"("+a+" transport) request complete. Response status: "+x.statusCode+"."),[2]}})})}var Ie=function(){function o(a,t){this.subject=a,this.observer=t}return o.prototype.dispose=function(){var a=this.subject.observers.indexOf(this.observer);a>-1&&this.subject.observers.splice(a,1),0===this.subject.observers.length&&this.subject.cancelCallback&&this.subject.cancelCallback().catch(function(t){})},o}(),Bn=function(){function o(a){this.minimumLogLevel=a,this.outputConsole=console}return o.prototype.log=function(a,t){if(a>=this.minimumLogLevel)switch(a){case u.Critical:case u.Error:this.outputConsole.error("["+(new Date).toISOString()+"] "+u[a]+": "+t);break;case u.Warning:this.outputConsole.warn("["+(new Date).toISOString()+"] "+u[a]+": "+t);break;case u.Information:this.outputConsole.info("["+(new Date).toISOString()+"] "+u[a]+": "+t);break;default:this.outputConsole.log("["+(new Date).toISOString()+"] "+u[a]+": "+t)}},o}();function On(){var o="X-SignalR-User-Agent";return V.isNode&&(o="User-Agent"),[o,Ae("5.0.12",Ze(),V.isNode?"NodeJS":"Browser",Ne())]}function Ae(o,a,t,e){var i="Microsoft SignalR/",r=o.split(".");return i+=r[0]+"."+r[1],i+=" ("+o+"; ",i+=a&&""!==a?a+"; ":"Unknown OS; ",i+=""+t,(i+=e?"; "+e:"; Unknown Runtime Version")+")"}function Ze(){if(!V.isNode)return"";switch(process.platform){case"win32":return"Windows NT";case"darwin":return"macOS";case"linux":return"Linux";default:return process.platform}}function Ne(){if(V.isNode)return process.versions.node}var Re=function(){var o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,t){a.__proto__=t}||function(a,t){for(var e in t)t.hasOwnProperty(e)&&(a[e]=t[e])};return function(a,t){function e(){this.constructor=a}o(a,t),a.prototype=null===t?Object.create(t):(e.prototype=t.prototype,new e)}}(),Je=Object.assign||function(o){for(var a,t=1,e=arguments.length;t<e;t++)for(var i in a=arguments[t])Object.prototype.hasOwnProperty.call(a,i)&&(o[i]=a[i]);return o},Ue=function(o){function a(t){var e=o.call(this)||this;if(e.logger=t,"undefined"==typeof fetch){var i=require;e.jar=new(i("tough-cookie").CookieJar),e.fetchType=i("node-fetch"),e.fetchType=i("fetch-cookie")(e.fetchType,e.jar),e.abortControllerType=i("abort-controller")}else e.fetchType=fetch.bind(self),e.abortControllerType=AbortController;return e}return Re(a,o),a.prototype.send=function(t){return function(o,a,t,e){return new(t||(t=Promise))(function(i,r){function c(s){try{d(e.next(s))}catch(p){r(p)}}function l(s){try{d(e.throw(s))}catch(p){r(p)}}function d(s){s.done?i(s.value):new t(function(p){p(s.value)}).then(c,l)}d((e=e.apply(o,[])).next())})}(this,0,void 0,function(){var e,i,r,l,d,s,p,f=this;return function(o,a){var e,i,r,c,t={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return c={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(c[Symbol.iterator]=function(){return this}),c;function l(s){return function(p){return function(s){if(e)throw new TypeError("Generator is already executing.");for(;t;)try{if(e=1,i&&(r=2&s[0]?i.return:s[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,s[1])).done)return r;switch(i=0,r&&(s=[2&s[0],r.value]),s[0]){case 0:case 1:r=s;break;case 4:return t.label++,{value:s[1],done:!1};case 5:t.label++,i=s[1],s=[0];continue;case 7:s=t.ops.pop(),t.trys.pop();continue;default:if(!(r=(r=t.trys).length>0&&r[r.length-1])&&(6===s[0]||2===s[0])){t=0;continue}if(3===s[0]&&(!r||s[1]>r[0]&&s[1]<r[3])){t.label=s[1];break}if(6===s[0]&&t.label<r[1]){t.label=r[1],r=s;break}if(r&&t.label<r[2]){t.label=r[2],t.ops.push(s);break}r[2]&&t.ops.pop(),t.trys.pop();continue}s=a.call(o,t)}catch(p){s=[6,p],i=0}finally{e=r=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,p])}}}(this,function(M){switch(M.label){case 0:if(t.abortSignal&&t.abortSignal.aborted)throw new In;if(!t.method)throw new Error("No method defined.");if(!t.url)throw new Error("No url defined.");e=new this.abortControllerType,t.abortSignal&&(t.abortSignal.onabort=function(){e.abort(),i=new In}),r=null,t.timeout&&(r=setTimeout(function(){e.abort(),f.logger.log(u.Warning,"Timeout from HTTP request."),i=new ot},t.timeout)),M.label=1;case 1:return M.trys.push([1,3,4,5]),[4,this.fetchType(t.url,{body:t.content,cache:"no-cache",credentials:!0===t.withCredentials?"include":"same-origin",headers:Je({"Content-Type":"text/plain;charset=UTF-8","X-Requested-With":"XMLHttpRequest"},t.headers),method:t.method,mode:"cors",redirect:"manual",signal:e.signal})];case 2:return l=M.sent(),[3,5];case 3:throw d=M.sent(),i||(this.logger.log(u.Warning,"Error from HTTP request. "+d+"."),d);case 4:return r&&clearTimeout(r),t.abortSignal&&(t.abortSignal.onabort=null),[7];case 5:if(!l.ok)throw new kn(l.statusText,l.status);return s=function(o,a){var t;switch(a){case"arraybuffer":t=o.arrayBuffer();break;default:t=o.text();break;case"blob":case"document":case"json":throw new Error(a+" is not supported.")}return t}(l,t.responseType),[4,s];case 6:return p=M.sent(),[2,new Mt(l.status,l.statusText,p)]}})})},a.prototype.getCookieString=function(t){var e="";return V.isNode&&this.jar&&this.jar.getCookies(t,function(i,r){return e=r.join("; ")}),e},a}(rt),Le=function(){var o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,t){a.__proto__=t}||function(a,t){for(var e in t)t.hasOwnProperty(e)&&(a[e]=t[e])};return function(a,t){function e(){this.constructor=a}o(a,t),a.prototype=null===t?Object.create(t):(e.prototype=t.prototype,new e)}}(),He=function(o){function a(t){var e=o.call(this)||this;return e.logger=t,e}return Le(a,o),a.prototype.send=function(t){var e=this;return t.abortSignal&&t.abortSignal.aborted?Promise.reject(new In):t.method?t.url?new Promise(function(i,r){var c=new XMLHttpRequest;c.open(t.method,t.url,!0),c.withCredentials=void 0===t.withCredentials||t.withCredentials,c.setRequestHeader("X-Requested-With","XMLHttpRequest"),c.setRequestHeader("Content-Type","text/plain;charset=UTF-8");var l=t.headers;l&&Object.keys(l).forEach(function(d){c.setRequestHeader(d,l[d])}),t.responseType&&(c.responseType=t.responseType),t.abortSignal&&(t.abortSignal.onabort=function(){c.abort(),r(new In)}),t.timeout&&(c.timeout=t.timeout),c.onload=function(){t.abortSignal&&(t.abortSignal.onabort=null),c.status>=200&&c.status<300?i(new Mt(c.status,c.statusText,c.response||c.responseText)):r(new kn(c.statusText,c.status))},c.onerror=function(){e.logger.log(u.Warning,"Error from HTTP request. "+c.status+": "+c.statusText+"."),r(new kn(c.statusText,c.status))},c.ontimeout=function(){e.logger.log(u.Warning,"Timeout from HTTP request."),r(new ot)},c.send(t.content||"")}):Promise.reject(new Error("No url defined.")):Promise.reject(new Error("No method defined."))},a}(rt),Ve=function(){var o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,t){a.__proto__=t}||function(a,t){for(var e in t)t.hasOwnProperty(e)&&(a[e]=t[e])};return function(a,t){function e(){this.constructor=a}o(a,t),a.prototype=null===t?Object.create(t):(e.prototype=t.prototype,new e)}}(),Be=function(o){function a(t){var e=o.call(this)||this;if("undefined"!=typeof fetch||V.isNode)e.httpClient=new Ue(t);else{if("undefined"==typeof XMLHttpRequest)throw new Error("No usable HttpClient found.");e.httpClient=new He(t)}return e}return Ve(a,o),a.prototype.send=function(t){return t.abortSignal&&t.abortSignal.aborted?Promise.reject(new In):t.method?t.url?this.httpClient.send(t):Promise.reject(new Error("No url defined.")):Promise.reject(new Error("No method defined."))},a.prototype.getCookieString=function(t){return this.httpClient.getCookieString(t)},a}(rt),Mn=function(){function o(){}return o.write=function(a){return""+a+o.RecordSeparator},o.parse=function(a){if(a[a.length-1]!==o.RecordSeparator)throw new Error("Message is incomplete.");var t=a.split(o.RecordSeparator);return t.pop(),t},o.RecordSeparatorCode=30,o.RecordSeparator=String.fromCharCode(o.RecordSeparatorCode),o}(),Ye=function(){function o(){}return o.prototype.writeHandshakeRequest=function(a){return Mn.write(JSON.stringify(a))},o.prototype.parseHandshakeResponse=function(a){var e,i;if(ct(a)||"undefined"!=typeof Buffer&&a instanceof Buffer){var r=new Uint8Array(a);if(-1===(c=r.indexOf(Mn.RecordSeparatorCode)))throw new Error("Message is incomplete.");var l=c+1;e=String.fromCharCode.apply(null,r.slice(0,l)),i=r.byteLength>l?r.slice(l).buffer:null}else{var c,d=a;if(-1===(c=d.indexOf(Mn.RecordSeparator)))throw new Error("Message is incomplete.");e=d.substring(0,l=c+1),i=d.length>l?d.substring(l):null}var s=Mn.parse(e),p=JSON.parse(s[0]);if(p.type)throw new Error("Expected a handshake response from the server.");return[i,p]},o}(),w=(()=>(function(o){o[o.Invocation=1]="Invocation",o[o.StreamItem=2]="StreamItem",o[o.Completion=3]="Completion",o[o.StreamInvocation=4]="StreamInvocation",o[o.CancelInvocation=5]="CancelInvocation",o[o.Ping=6]="Ping",o[o.Close=7]="Close"}(w||(w={})),w))(),ze=function(){function o(){this.observers=[]}return o.prototype.next=function(a){for(var t=0,e=this.observers;t<e.length;t++)e[t].next(a)},o.prototype.error=function(a){for(var t=0,e=this.observers;t<e.length;t++){var i=e[t];i.error&&i.error(a)}},o.prototype.complete=function(){for(var a=0,t=this.observers;a<t.length;a++){var e=t[a];e.complete&&e.complete()}},o.prototype.subscribe=function(a){return this.observers.push(a),new Ie(this,a)},o}(),Zn=function(o,a,t,e){return new(t||(t=Promise))(function(i,r){function c(s){try{d(e.next(s))}catch(p){r(p)}}function l(s){try{d(e.throw(s))}catch(p){r(p)}}function d(s){s.done?i(s.value):new t(function(p){p(s.value)}).then(c,l)}d((e=e.apply(o,a||[])).next())})},Nn=function(o,a){var e,i,r,c,t={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return c={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(c[Symbol.iterator]=function(){return this}),c;function l(s){return function(p){return function(s){if(e)throw new TypeError("Generator is already executing.");for(;t;)try{if(e=1,i&&(r=2&s[0]?i.return:s[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,s[1])).done)return r;switch(i=0,r&&(s=[2&s[0],r.value]),s[0]){case 0:case 1:r=s;break;case 4:return t.label++,{value:s[1],done:!1};case 5:t.label++,i=s[1],s=[0];continue;case 7:s=t.ops.pop(),t.trys.pop();continue;default:if(!(r=(r=t.trys).length>0&&r[r.length-1])&&(6===s[0]||2===s[0])){t=0;continue}if(3===s[0]&&(!r||s[1]>r[0]&&s[1]<r[3])){t.label=s[1];break}if(6===s[0]&&t.label<r[1]){t.label=r[1],r=s;break}if(r&&t.label<r[2]){t.label=r[2],t.ops.push(s);break}r[2]&&t.ops.pop(),t.trys.pop();continue}s=a.call(o,t)}catch(p){s=[6,p],i=0}finally{e=r=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,p])}}},k=(()=>(function(o){o.Disconnected="Disconnected",o.Connecting="Connecting",o.Connected="Connected",o.Disconnecting="Disconnecting",o.Reconnecting="Reconnecting"}(k||(k={})),k))(),je=function(){function o(a,t,e,i){var r=this;this.nextKeepAlive=0,E.isRequired(a,"connection"),E.isRequired(t,"logger"),E.isRequired(e,"protocol"),this.serverTimeoutInMilliseconds=3e4,this.keepAliveIntervalInMilliseconds=15e3,this.logger=t,this.protocol=e,this.connection=a,this.reconnectPolicy=i,this.handshakeProtocol=new Ye,this.connection.onreceive=function(c){return r.processIncomingData(c)},this.connection.onclose=function(c){return r.connectionClosed(c)},this.callbacks={},this.methods={},this.closedCallbacks=[],this.reconnectingCallbacks=[],this.reconnectedCallbacks=[],this.invocationId=0,this.receivedHandshakeResponse=!1,this.connectionState=k.Disconnected,this.connectionStarted=!1,this.cachedPingMessage=this.protocol.writeMessage({type:w.Ping})}return o.create=function(a,t,e,i){return new o(a,t,e,i)},Object.defineProperty(o.prototype,"state",{get:function(){return this.connectionState},enumerable:!0,configurable:!0}),Object.defineProperty(o.prototype,"connectionId",{get:function(){return this.connection&&this.connection.connectionId||null},enumerable:!0,configurable:!0}),Object.defineProperty(o.prototype,"baseUrl",{get:function(){return this.connection.baseUrl||""},set:function(a){if(this.connectionState!==k.Disconnected&&this.connectionState!==k.Reconnecting)throw new Error("The HubConnection must be in the Disconnected or Reconnecting state to change the url.");if(!a)throw new Error("The HubConnection url must be a valid url.");this.connection.baseUrl=a},enumerable:!0,configurable:!0}),o.prototype.start=function(){return this.startPromise=this.startWithStateTransitions(),this.startPromise},o.prototype.startWithStateTransitions=function(){return Zn(this,void 0,void 0,function(){var a;return Nn(this,function(t){switch(t.label){case 0:if(this.connectionState!==k.Disconnected)return[2,Promise.reject(new Error("Cannot start a HubConnection that is not in the 'Disconnected' state."))];this.connectionState=k.Connecting,this.logger.log(u.Debug,"Starting HubConnection."),t.label=1;case 1:return t.trys.push([1,3,,4]),[4,this.startInternal()];case 2:return t.sent(),this.connectionState=k.Connected,this.connectionStarted=!0,this.logger.log(u.Debug,"HubConnection connected successfully."),[3,4];case 3:return a=t.sent(),this.connectionState=k.Disconnected,this.logger.log(u.Debug,"HubConnection failed to start successfully because of error '"+a+"'."),[2,Promise.reject(a)];case 4:return[2]}})})},o.prototype.startInternal=function(){return Zn(this,void 0,void 0,function(){var a,t,e,i=this;return Nn(this,function(r){switch(r.label){case 0:return this.stopDuringStartError=void 0,this.receivedHandshakeResponse=!1,a=new Promise(function(c,l){i.handshakeResolver=c,i.handshakeRejecter=l}),[4,this.connection.start(this.protocol.transferFormat)];case 1:r.sent(),r.label=2;case 2:return r.trys.push([2,5,,7]),t={protocol:this.protocol.name,version:this.protocol.version},this.logger.log(u.Debug,"Sending handshake request."),[4,this.sendMessage(this.handshakeProtocol.writeHandshakeRequest(t))];case 3:return r.sent(),this.logger.log(u.Information,"Using HubProtocol '"+this.protocol.name+"'."),this.cleanupTimeout(),this.resetTimeoutPeriod(),this.resetKeepAliveInterval(),[4,a];case 4:if(r.sent(),this.stopDuringStartError)throw this.stopDuringStartError;return[3,7];case 5:return e=r.sent(),this.logger.log(u.Debug,"Hub handshake failed with error '"+e+"' during start(). Stopping HubConnection."),this.cleanupTimeout(),this.cleanupPingTimer(),[4,this.connection.stop(e)];case 6:throw r.sent(),e;case 7:return[2]}})})},o.prototype.stop=function(){return Zn(this,void 0,void 0,function(){var a;return Nn(this,function(e){switch(e.label){case 0:return a=this.startPromise,this.stopPromise=this.stopInternal(),[4,this.stopPromise];case 1:e.sent(),e.label=2;case 2:return e.trys.push([2,4,,5]),[4,a];case 3:case 4:return e.sent(),[3,5];case 5:return[2]}})})},o.prototype.stopInternal=function(a){return this.connectionState===k.Disconnected?(this.logger.log(u.Debug,"Call to HubConnection.stop("+a+") ignored because it is already in the disconnected state."),Promise.resolve()):this.connectionState===k.Disconnecting?(this.logger.log(u.Debug,"Call to HttpConnection.stop("+a+") ignored because the connection is already in the disconnecting state."),this.stopPromise):(this.connectionState=k.Disconnecting,this.logger.log(u.Debug,"Stopping HubConnection."),this.reconnectDelayHandle?(this.logger.log(u.Debug,"Connection stopped during reconnect delay. Done reconnecting."),clearTimeout(this.reconnectDelayHandle),this.reconnectDelayHandle=void 0,this.completeClose(),Promise.resolve()):(this.cleanupTimeout(),this.cleanupPingTimer(),this.stopDuringStartError=a||new Error("The connection was stopped before the hub handshake could complete."),this.connection.stop(a)))},o.prototype.stream=function(a){for(var t=this,e=[],i=1;i<arguments.length;i++)e[i-1]=arguments[i];var s,r=this.replaceStreamingParams(e),c=r[0],l=r[1],d=this.createStreamInvocation(a,e,l),p=new ze;return p.cancelCallback=function(){var f=t.createCancelInvocation(d.invocationId);return delete t.callbacks[d.invocationId],s.then(function(){return t.sendWithProtocol(f)})},this.callbacks[d.invocationId]=function(f,M){M?p.error(M):f&&(f.type===w.Completion?f.error?p.error(new Error(f.error)):p.complete():p.next(f.item))},s=this.sendWithProtocol(d).catch(function(f){p.error(f),delete t.callbacks[d.invocationId]}),this.launchStreams(c,s),p},o.prototype.sendMessage=function(a){return this.resetKeepAliveInterval(),this.connection.send(a)},o.prototype.sendWithProtocol=function(a){return this.sendMessage(this.protocol.writeMessage(a))},o.prototype.send=function(a){for(var t=[],e=1;e<arguments.length;e++)t[e-1]=arguments[e];var i=this.replaceStreamingParams(t),r=i[0],c=i[1],l=this.sendWithProtocol(this.createInvocation(a,t,!0,c));return this.launchStreams(r,l),l},o.prototype.invoke=function(a){for(var t=this,e=[],i=1;i<arguments.length;i++)e[i-1]=arguments[i];var r=this.replaceStreamingParams(e),c=r[0],l=r[1],d=this.createInvocation(a,e,!1,l),s=new Promise(function(p,f){t.callbacks[d.invocationId]=function(b,I){I?f(I):b&&(b.type===w.Completion?b.error?f(new Error(b.error)):p(b.result):f(new Error("Unexpected message type: "+b.type)))};var M=t.sendWithProtocol(d).catch(function(b){f(b),delete t.callbacks[d.invocationId]});t.launchStreams(c,M)});return s},o.prototype.on=function(a,t){!a||!t||(a=a.toLowerCase(),this.methods[a]||(this.methods[a]=[]),-1===this.methods[a].indexOf(t)&&this.methods[a].push(t))},o.prototype.off=function(a,t){if(a){a=a.toLowerCase();var e=this.methods[a];if(e)if(t){var i=e.indexOf(t);-1!==i&&(e.splice(i,1),0===e.length&&delete this.methods[a])}else delete this.methods[a]}},o.prototype.onclose=function(a){a&&this.closedCallbacks.push(a)},o.prototype.onreconnecting=function(a){a&&this.reconnectingCallbacks.push(a)},o.prototype.onreconnected=function(a){a&&this.reconnectedCallbacks.push(a)},o.prototype.processIncomingData=function(a){if(this.cleanupTimeout(),this.receivedHandshakeResponse||(a=this.processHandshakeResponse(a),this.receivedHandshakeResponse=!0),a)for(var e=0,i=this.protocol.parseMessages(a,this.logger);e<i.length;e++){var r=i[e];switch(r.type){case w.Invocation:this.invokeClientMethod(r);break;case w.StreamItem:case w.Completion:var c=this.callbacks[r.invocationId];c&&(r.type===w.Completion&&delete this.callbacks[r.invocationId],c(r));break;case w.Ping:break;case w.Close:this.logger.log(u.Information,"Close message received from server.");var l=r.error?new Error("Server returned an error on close: "+r.error):void 0;!0===r.allowReconnect?this.connection.stop(l):this.stopPromise=this.stopInternal(l);break;default:this.logger.log(u.Warning,"Invalid message type: "+r.type+".")}}this.resetTimeoutPeriod()},o.prototype.processHandshakeResponse=function(a){var t,e,i,r;try{i=(t=this.handshakeProtocol.parseHandshakeResponse(a))[0],e=t[1]}catch(l){this.logger.log(u.Error,r="Error parsing handshake response: "+l);var c=new Error(r);throw this.handshakeRejecter(c),c}if(e.error)throw this.logger.log(u.Error,r="Server returned handshake error: "+e.error),c=new Error(r),this.handshakeRejecter(c),c;return this.logger.log(u.Debug,"Server handshake complete."),this.handshakeResolver(),i},o.prototype.resetKeepAliveInterval=function(){this.connection.features.inherentKeepAlive||(this.nextKeepAlive=(new Date).getTime()+this.keepAliveIntervalInMilliseconds,this.cleanupPingTimer())},o.prototype.resetTimeoutPeriod=function(){var a=this;if(!(this.connection.features&&this.connection.features.inherentKeepAlive||(this.timeoutHandle=setTimeout(function(){return a.serverTimeout()},this.serverTimeoutInMilliseconds),void 0!==this.pingServerHandle))){var t=this.nextKeepAlive-(new Date).getTime();t<0&&(t=0),this.pingServerHandle=setTimeout(function(){return Zn(a,void 0,void 0,function(){return Nn(this,function(i){switch(i.label){case 0:if(this.connectionState!==k.Connected)return[3,4];i.label=1;case 1:return i.trys.push([1,3,,4]),[4,this.sendMessage(this.cachedPingMessage)];case 2:return i.sent(),[3,4];case 3:return i.sent(),this.cleanupPingTimer(),[3,4];case 4:return[2]}})})},t)}},o.prototype.serverTimeout=function(){this.connection.stop(new Error("Server timeout elapsed without receiving a message from the server."))},o.prototype.invokeClientMethod=function(a){var t=this,e=this.methods[a.target.toLowerCase()];if(e){try{e.forEach(function(r){return r.apply(t,a.arguments)})}catch(r){this.logger.log(u.Error,"A callback for the method "+a.target.toLowerCase()+" threw error '"+r+"'.")}if(a.invocationId){var i="Server requested a response, which is not supported in this version of the client.";this.logger.log(u.Error,i),this.stopPromise=this.stopInternal(new Error(i))}}else this.logger.log(u.Warning,"No client method with the name '"+a.target+"' found.")},o.prototype.connectionClosed=function(a){this.logger.log(u.Debug,"HubConnection.connectionClosed("+a+") called while in state "+this.connectionState+"."),this.stopDuringStartError=this.stopDuringStartError||a||new Error("The underlying connection was closed before the hub handshake could complete."),this.handshakeResolver&&this.handshakeResolver(),this.cancelCallbacksWithError(a||new Error("Invocation canceled due to the underlying connection being closed.")),this.cleanupTimeout(),this.cleanupPingTimer(),this.connectionState===k.Disconnecting?this.completeClose(a):this.connectionState===k.Connected&&this.reconnectPolicy?this.reconnect(a):this.connectionState===k.Connected&&this.completeClose(a)},o.prototype.completeClose=function(a){var t=this;if(this.connectionStarted){this.connectionState=k.Disconnected,this.connectionStarted=!1;try{this.closedCallbacks.forEach(function(e){return e.apply(t,[a])})}catch(e){this.logger.log(u.Error,"An onclose callback called with error '"+a+"' threw error '"+e+"'.")}}},o.prototype.reconnect=function(a){return Zn(this,void 0,void 0,function(){var t,e,i,r,c,l=this;return Nn(this,function(d){switch(d.label){case 0:if(t=Date.now(),e=0,i=void 0!==a?a:new Error("Attempting to reconnect due to a unknown error."),null===(r=this.getNextRetryDelay(e++,0,i)))return this.logger.log(u.Debug,"Connection not reconnecting because the IRetryPolicy returned null on the first reconnect attempt."),this.completeClose(a),[2];if(this.connectionState=k.Reconnecting,this.logger.log(u.Information,a?"Connection reconnecting because of error '"+a+"'.":"Connection reconnecting."),this.onreconnecting){try{this.reconnectingCallbacks.forEach(function(s){return s.apply(l,[a])})}catch(s){this.logger.log(u.Error,"An onreconnecting callback called with error '"+a+"' threw error '"+s+"'.")}if(this.connectionState!==k.Reconnecting)return this.logger.log(u.Debug,"Connection left the reconnecting state in onreconnecting callback. Done reconnecting."),[2]}d.label=1;case 1:return null===r?[3,7]:(this.logger.log(u.Information,"Reconnect attempt number "+e+" will start in "+r+" ms."),[4,new Promise(function(s){l.reconnectDelayHandle=setTimeout(s,r)})]);case 2:if(d.sent(),this.reconnectDelayHandle=void 0,this.connectionState!==k.Reconnecting)return this.logger.log(u.Debug,"Connection left the reconnecting state during reconnect delay. Done reconnecting."),[2];d.label=3;case 3:return d.trys.push([3,5,,6]),[4,this.startInternal()];case 4:if(d.sent(),this.connectionState=k.Connected,this.logger.log(u.Information,"HubConnection reconnected successfully."),this.onreconnected)try{this.reconnectedCallbacks.forEach(function(s){return s.apply(l,[l.connection.connectionId])})}catch(s){this.logger.log(u.Error,"An onreconnected callback called with connectionId '"+this.connection.connectionId+"; threw error '"+s+"'.")}return[2];case 5:return c=d.sent(),this.logger.log(u.Information,"Reconnect attempt failed because of error '"+c+"'."),this.connectionState!==k.Reconnecting?(this.logger.log(u.Debug,"Connection moved to the '"+this.connectionState+"' from the reconnecting state during reconnect attempt. Done reconnecting."),this.connectionState===k.Disconnecting&&this.completeClose(),[2]):(i=c instanceof Error?c:new Error(c.toString()),r=this.getNextRetryDelay(e++,Date.now()-t,i),[3,6]);case 6:return[3,1];case 7:return this.logger.log(u.Information,"Reconnect retries have been exhausted after "+(Date.now()-t)+" ms and "+e+" failed attempts. Connection disconnecting."),this.completeClose(),[2]}})})},o.prototype.getNextRetryDelay=function(a,t,e){try{return this.reconnectPolicy.nextRetryDelayInMilliseconds({elapsedMilliseconds:t,previousRetryCount:a,retryReason:e})}catch(i){return this.logger.log(u.Error,"IRetryPolicy.nextRetryDelayInMilliseconds("+a+", "+t+") threw error '"+i+"'."),null}},o.prototype.cancelCallbacksWithError=function(a){var t=this.callbacks;this.callbacks={},Object.keys(t).forEach(function(e){(0,t[e])(null,a)})},o.prototype.cleanupPingTimer=function(){this.pingServerHandle&&(clearTimeout(this.pingServerHandle),this.pingServerHandle=void 0)},o.prototype.cleanupTimeout=function(){this.timeoutHandle&&clearTimeout(this.timeoutHandle)},o.prototype.createInvocation=function(a,t,e,i){if(e)return 0!==i.length?{arguments:t,streamIds:i,target:a,type:w.Invocation}:{arguments:t,target:a,type:w.Invocation};var r=this.invocationId;return this.invocationId++,0!==i.length?{arguments:t,invocationId:r.toString(),streamIds:i,target:a,type:w.Invocation}:{arguments:t,invocationId:r.toString(),target:a,type:w.Invocation}},o.prototype.launchStreams=function(a,t){var e=this;if(0!==a.length){t||(t=Promise.resolve());var i=function(c){a[c].subscribe({complete:function(){t=t.then(function(){return e.sendWithProtocol(e.createCompletionMessage(c))})},error:function(l){var d;d=l instanceof Error?l.message:l&&l.toString?l.toString():"Unknown error",t=t.then(function(){return e.sendWithProtocol(e.createCompletionMessage(c,d))})},next:function(l){t=t.then(function(){return e.sendWithProtocol(e.createStreamItemMessage(c,l))})}})};for(var r in a)i(r)}},o.prototype.replaceStreamingParams=function(a){for(var t=[],e=[],i=0;i<a.length;i++){var r=a[i];if(this.isObservable(r)){var c=this.invocationId;this.invocationId++,t[c]=r,e.push(c.toString()),a.splice(i,1)}}return[t,e]},o.prototype.isObservable=function(a){return a&&a.subscribe&&"function"==typeof a.subscribe},o.prototype.createStreamInvocation=function(a,t,e){var i=this.invocationId;return this.invocationId++,0!==e.length?{arguments:t,invocationId:i.toString(),streamIds:e,target:a,type:w.StreamInvocation}:{arguments:t,invocationId:i.toString(),target:a,type:w.StreamInvocation}},o.prototype.createCancelInvocation=function(a){return{invocationId:a,type:w.CancelInvocation}},o.prototype.createStreamItemMessage=function(a,t){return{invocationId:a,item:t,type:w.StreamItem}},o.prototype.createCompletionMessage=function(a,t,e){return t?{error:t,invocationId:a,type:w.Completion}:{invocationId:a,result:e,type:w.Completion}},o}(),We=[0,2e3,1e4,3e4,null],xt=function(){function o(a){this.retryDelays=void 0!==a?a.concat([null]):We}return o.prototype.nextRetryDelayInMilliseconds=function(a){return this.retryDelays[a.previousRetryCount]},o}(),Q=(()=>(function(o){o[o.None=0]="None",o[o.WebSockets=1]="WebSockets",o[o.ServerSentEvents=2]="ServerSentEvents",o[o.LongPolling=4]="LongPolling"}(Q||(Q={})),Q))(),U=(()=>(function(o){o[o.Text=1]="Text",o[o.Binary=2]="Binary"}(U||(U={})),U))(),Ke=function(){function o(){this.isAborted=!1,this.onabort=null}return o.prototype.abort=function(){this.isAborted||(this.isAborted=!0,this.onabort&&this.onabort())},Object.defineProperty(o.prototype,"signal",{get:function(){return this},enumerable:!0,configurable:!0}),Object.defineProperty(o.prototype,"aborted",{get:function(){return this.isAborted},enumerable:!0,configurable:!0}),o}(),vt=Object.assign||function(o){for(var a,t=1,e=arguments.length;t<e;t++)for(var i in a=arguments[t])Object.prototype.hasOwnProperty.call(a,i)&&(o[i]=a[i]);return o},qn=function(o,a,t,e){return new(t||(t=Promise))(function(i,r){function c(s){try{d(e.next(s))}catch(p){r(p)}}function l(s){try{d(e.throw(s))}catch(p){r(p)}}function d(s){s.done?i(s.value):new t(function(p){p(s.value)}).then(c,l)}d((e=e.apply(o,a||[])).next())})},Rn=function(o,a){var e,i,r,c,t={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return c={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(c[Symbol.iterator]=function(){return this}),c;function l(s){return function(p){return function(s){if(e)throw new TypeError("Generator is already executing.");for(;t;)try{if(e=1,i&&(r=2&s[0]?i.return:s[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,s[1])).done)return r;switch(i=0,r&&(s=[2&s[0],r.value]),s[0]){case 0:case 1:r=s;break;case 4:return t.label++,{value:s[1],done:!1};case 5:t.label++,i=s[1],s=[0];continue;case 7:s=t.ops.pop(),t.trys.pop();continue;default:if(!(r=(r=t.trys).length>0&&r[r.length-1])&&(6===s[0]||2===s[0])){t=0;continue}if(3===s[0]&&(!r||s[1]>r[0]&&s[1]<r[3])){t.label=s[1];break}if(6===s[0]&&t.label<r[1]){t.label=r[1],r=s;break}if(r&&t.label<r[2]){t.label=r[2],t.ops.push(s);break}r[2]&&t.ops.pop(),t.trys.pop();continue}s=a.call(o,t)}catch(p){s=[6,p],i=0}finally{e=r=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,p])}}},yt=function(){function o(a,t,e,i,r,c){this.httpClient=a,this.accessTokenFactory=t,this.logger=e,this.pollAbort=new Ke,this.logMessageContent=i,this.withCredentials=r,this.headers=c,this.running=!1,this.onreceive=null,this.onclose=null}return Object.defineProperty(o.prototype,"pollAborted",{get:function(){return this.pollAbort.aborted},enumerable:!0,configurable:!0}),o.prototype.connect=function(a,t){return qn(this,void 0,void 0,function(){var e,i,l,d,s,p,f;return Rn(this,function(M){switch(M.label){case 0:if(E.isRequired(a,"url"),E.isRequired(t,"transferFormat"),E.isIn(t,U,"transferFormat"),this.url=a,this.logger.log(u.Trace,"(LongPolling transport) Connecting."),t===U.Binary&&"undefined"!=typeof XMLHttpRequest&&"string"!=typeof(new XMLHttpRequest).responseType)throw new Error("Binary protocols over XmlHttpRequest not implementing advanced features are not supported.");return i=On(),l=vt(((e={})[i[0]]=i[1],e),this.headers),d={abortSignal:this.pollAbort.signal,headers:l,timeout:1e5,withCredentials:this.withCredentials},t===U.Binary&&(d.responseType="arraybuffer"),[4,this.getAccessToken()];case 1:return s=M.sent(),this.updateHeaderToken(d,s),p=a+"&_="+Date.now(),this.logger.log(u.Trace,"(LongPolling transport) polling: "+p+"."),[4,this.httpClient.get(p,d)];case 2:return 200!==(f=M.sent()).statusCode?(this.logger.log(u.Error,"(LongPolling transport) Unexpected response code: "+f.statusCode+"."),this.closeError=new kn(f.statusText||"",f.statusCode),this.running=!1):this.running=!0,this.receiving=this.poll(this.url,d),[2]}})})},o.prototype.getAccessToken=function(){return qn(this,void 0,void 0,function(){return Rn(this,function(a){switch(a.label){case 0:return this.accessTokenFactory?[4,this.accessTokenFactory()]:[3,2];case 1:return[2,a.sent()];case 2:return[2,null]}})})},o.prototype.updateHeaderToken=function(a,t){a.headers||(a.headers={}),t?a.headers.Authorization="Bearer "+t:a.headers.Authorization&&delete a.headers.Authorization},o.prototype.poll=function(a,t){return qn(this,void 0,void 0,function(){var e,i,r,c;return Rn(this,function(l){switch(l.label){case 0:l.trys.push([0,,8,9]),l.label=1;case 1:return this.running?[4,this.getAccessToken()]:[3,7];case 2:e=l.sent(),this.updateHeaderToken(t,e),l.label=3;case 3:return l.trys.push([3,5,,6]),i=a+"&_="+Date.now(),this.logger.log(u.Trace,"(LongPolling transport) polling: "+i+"."),[4,this.httpClient.get(i,t)];case 4:return 204===(r=l.sent()).statusCode?(this.logger.log(u.Information,"(LongPolling transport) Poll terminated by server."),this.running=!1):200!==r.statusCode?(this.logger.log(u.Error,"(LongPolling transport) Unexpected response code: "+r.statusCode+"."),this.closeError=new kn(r.statusText||"",r.statusCode),this.running=!1):r.content?(this.logger.log(u.Trace,"(LongPolling transport) data received. "+An(r.content,this.logMessageContent)+"."),this.onreceive&&this.onreceive(r.content)):this.logger.log(u.Trace,"(LongPolling transport) Poll timed out, reissuing."),[3,6];case 5:return c=l.sent(),this.running?c instanceof ot?this.logger.log(u.Trace,"(LongPolling transport) Poll timed out, reissuing."):(this.closeError=c,this.running=!1):this.logger.log(u.Trace,"(LongPolling transport) Poll errored after shutdown: "+c.message),[3,6];case 6:return[3,1];case 7:return[3,9];case 8:return this.logger.log(u.Trace,"(LongPolling transport) Polling complete."),this.pollAborted||this.raiseOnClose(),[7];case 9:return[2]}})})},o.prototype.send=function(a){return qn(this,void 0,void 0,function(){return Rn(this,function(t){return this.running?[2,bt(this.logger,"LongPolling",this.httpClient,this.url,this.accessTokenFactory,a,this.logMessageContent,this.withCredentials,this.headers)]:[2,Promise.reject(new Error("Cannot send until the transport is connected"))]})})},o.prototype.stop=function(){return qn(this,void 0,void 0,function(){var a,t,r,c;return Rn(this,function(l){switch(l.label){case 0:this.logger.log(u.Trace,"(LongPolling transport) Stopping polling."),this.running=!1,this.pollAbort.abort(),l.label=1;case 1:return l.trys.push([1,,5,6]),[4,this.receiving];case 2:return l.sent(),this.logger.log(u.Trace,"(LongPolling transport) sending DELETE request to "+this.url+"."),a={},t=On(),a[t[0]]=t[1],r={headers:vt({},a,this.headers),withCredentials:this.withCredentials},[4,this.getAccessToken()];case 3:return c=l.sent(),this.updateHeaderToken(r,c),[4,this.httpClient.delete(this.url,r)];case 4:return l.sent(),this.logger.log(u.Trace,"(LongPolling transport) DELETE request sent."),[3,6];case 5:return this.logger.log(u.Trace,"(LongPolling transport) Stop finished."),this.raiseOnClose(),[7];case 6:return[2]}})})},o.prototype.raiseOnClose=function(){if(this.onclose){var a="(LongPolling transport) Firing onclose event.";this.closeError&&(a+=" Error: "+this.closeError),this.logger.log(u.Trace,a),this.onclose(this.closeError)}},o}(),Xe=Object.assign||function(o){for(var a,t=1,e=arguments.length;t<e;t++)for(var i in a=arguments[t])Object.prototype.hasOwnProperty.call(a,i)&&(o[i]=a[i]);return o},Dt=function(o,a,t,e){return new(t||(t=Promise))(function(i,r){function c(s){try{d(e.next(s))}catch(p){r(p)}}function l(s){try{d(e.throw(s))}catch(p){r(p)}}function d(s){s.done?i(s.value):new t(function(p){p(s.value)}).then(c,l)}d((e=e.apply(o,a||[])).next())})},St=function(o,a){var e,i,r,c,t={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return c={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(c[Symbol.iterator]=function(){return this}),c;function l(s){return function(p){return function(s){if(e)throw new TypeError("Generator is already executing.");for(;t;)try{if(e=1,i&&(r=2&s[0]?i.return:s[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,s[1])).done)return r;switch(i=0,r&&(s=[2&s[0],r.value]),s[0]){case 0:case 1:r=s;break;case 4:return t.label++,{value:s[1],done:!1};case 5:t.label++,i=s[1],s=[0];continue;case 7:s=t.ops.pop(),t.trys.pop();continue;default:if(!(r=(r=t.trys).length>0&&r[r.length-1])&&(6===s[0]||2===s[0])){t=0;continue}if(3===s[0]&&(!r||s[1]>r[0]&&s[1]<r[3])){t.label=s[1];break}if(6===s[0]&&t.label<r[1]){t.label=r[1],r=s;break}if(r&&t.label<r[2]){t.label=r[2],t.ops.push(s);break}r[2]&&t.ops.pop(),t.trys.pop();continue}s=a.call(o,t)}catch(p){s=[6,p],i=0}finally{e=r=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,p])}}},no=function(){function o(a,t,e,i,r,c,l){this.httpClient=a,this.accessTokenFactory=t,this.logger=e,this.logMessageContent=i,this.withCredentials=c,this.eventSourceConstructor=r,this.headers=l,this.onreceive=null,this.onclose=null}return o.prototype.connect=function(a,t){return Dt(this,void 0,void 0,function(){var e,i=this;return St(this,function(r){switch(r.label){case 0:return E.isRequired(a,"url"),E.isRequired(t,"transferFormat"),E.isIn(t,U,"transferFormat"),this.logger.log(u.Trace,"(SSE transport) Connecting."),this.url=a,this.accessTokenFactory?[4,this.accessTokenFactory()]:[3,2];case 1:(e=r.sent())&&(a+=(a.indexOf("?")<0?"?":"&")+"access_token="+encodeURIComponent(e)),r.label=2;case 2:return[2,new Promise(function(c,l){var d=!1;if(t===U.Text){var s;if(V.isBrowser||V.isWebWorker)s=new i.eventSourceConstructor(a,{withCredentials:i.withCredentials});else{var p=i.httpClient.getCookieString(a),f={};f.Cookie=p;var M=On();f[M[0]]=M[1],s=new i.eventSourceConstructor(a,{withCredentials:i.withCredentials,headers:Xe({},f,i.headers)})}try{s.onmessage=function(v){if(i.onreceive)try{i.logger.log(u.Trace,"(SSE transport) data received. "+An(v.data,i.logMessageContent)+"."),i.onreceive(v.data)}catch(x){return void i.close(x)}},s.onerror=function(v){var x=new Error(v.data||"Error occurred");d?i.close(x):l(x)},s.onopen=function(){i.logger.log(u.Information,"SSE connected to "+i.url),i.eventSource=s,d=!0,c()}}catch(v){return void l(v)}}else l(new Error("The Server-Sent Events transport only supports the 'Text' transfer format"))})]}})})},o.prototype.send=function(a){return Dt(this,void 0,void 0,function(){return St(this,function(t){return this.eventSource?[2,bt(this.logger,"SSE",this.httpClient,this.url,this.accessTokenFactory,a,this.logMessageContent,this.withCredentials,this.headers)]:[2,Promise.reject(new Error("Cannot send until the transport is connected"))]})})},o.prototype.stop=function(){return this.close(),Promise.resolve()},o.prototype.close=function(a){this.eventSource&&(this.eventSource.close(),this.eventSource=void 0,this.onclose&&this.onclose(a))},o}(),to=Object.assign||function(o){for(var a,t=1,e=arguments.length;t<e;t++)for(var i in a=arguments[t])Object.prototype.hasOwnProperty.call(a,i)&&(o[i]=a[i]);return o},io=function(){function o(a,t,e,i,r,c){this.logger=e,this.accessTokenFactory=t,this.logMessageContent=i,this.webSocketConstructor=r,this.httpClient=a,this.onreceive=null,this.onclose=null,this.headers=c}return o.prototype.connect=function(a,t){return function(o,a,t,e){return new(t||(t=Promise))(function(i,r){function c(s){try{d(e.next(s))}catch(p){r(p)}}function l(s){try{d(e.throw(s))}catch(p){r(p)}}function d(s){s.done?i(s.value):new t(function(p){p(s.value)}).then(c,l)}d((e=e.apply(o,[])).next())})}(this,0,void 0,function(){var e,i=this;return function(o,a){var e,i,r,c,t={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return c={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(c[Symbol.iterator]=function(){return this}),c;function l(s){return function(p){return function(s){if(e)throw new TypeError("Generator is already executing.");for(;t;)try{if(e=1,i&&(r=2&s[0]?i.return:s[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,s[1])).done)return r;switch(i=0,r&&(s=[2&s[0],r.value]),s[0]){case 0:case 1:r=s;break;case 4:return t.label++,{value:s[1],done:!1};case 5:t.label++,i=s[1],s=[0];continue;case 7:s=t.ops.pop(),t.trys.pop();continue;default:if(!(r=(r=t.trys).length>0&&r[r.length-1])&&(6===s[0]||2===s[0])){t=0;continue}if(3===s[0]&&(!r||s[1]>r[0]&&s[1]<r[3])){t.label=s[1];break}if(6===s[0]&&t.label<r[1]){t.label=r[1],r=s;break}if(r&&t.label<r[2]){t.label=r[2],t.ops.push(s);break}r[2]&&t.ops.pop(),t.trys.pop();continue}s=a.call(o,t)}catch(p){s=[6,p],i=0}finally{e=r=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,p])}}}(this,function(r){switch(r.label){case 0:return E.isRequired(a,"url"),E.isRequired(t,"transferFormat"),E.isIn(t,U,"transferFormat"),this.logger.log(u.Trace,"(WebSockets transport) Connecting."),this.accessTokenFactory?[4,this.accessTokenFactory()]:[3,2];case 1:(e=r.sent())&&(a+=(a.indexOf("?")<0?"?":"&")+"access_token="+encodeURIComponent(e)),r.label=2;case 2:return[2,new Promise(function(c,l){a=a.replace(/^http/,"ws");var d,s=i.httpClient.getCookieString(a),p=!1;if(V.isNode){var f={},M=On();f[M[0]]=M[1],s&&(f.Cookie=""+s),d=new i.webSocketConstructor(a,void 0,{headers:to({},f,i.headers)})}d||(d=new i.webSocketConstructor(a)),t===U.Binary&&(d.binaryType="arraybuffer"),d.onopen=function(v){i.logger.log(u.Information,"WebSocket connected to "+a+"."),i.webSocket=d,p=!0,c()},d.onerror=function(v){var x;x="undefined"!=typeof ErrorEvent&&v instanceof ErrorEvent?v.error:new Error("There was an error with the transport."),l(x)},d.onmessage=function(v){if(i.logger.log(u.Trace,"(WebSockets transport) data received. "+An(v.data,i.logMessageContent)+"."),i.onreceive)try{i.onreceive(v.data)}catch(x){return void i.close(x)}},d.onclose=function(v){if(p)i.close(v);else{var x;x="undefined"!=typeof ErrorEvent&&v instanceof ErrorEvent?v.error:new Error("There was an error with the transport."),l(x)}}})]}})})},o.prototype.send=function(a){return this.webSocket&&this.webSocket.readyState===this.webSocketConstructor.OPEN?(this.logger.log(u.Trace,"(WebSockets transport) sending data. "+An(a,this.logMessageContent)+"."),this.webSocket.send(a),Promise.resolve()):Promise.reject("WebSocket is not in the OPEN state")},o.prototype.stop=function(){return this.webSocket&&this.close(void 0),Promise.resolve()},o.prototype.close=function(a){this.webSocket&&(this.webSocket.onclose=function(){},this.webSocket.onmessage=function(){},this.webSocket.onerror=function(){},this.webSocket.close(),this.webSocket=void 0),this.logger.log(u.Trace,"(WebSockets transport) socket closed."),this.onclose&&(!this.isCloseEvent(a)||!1!==a.wasClean&&1e3===a.code?a instanceof Error?this.onclose(a):this.onclose():this.onclose(new Error("WebSocket closed with status code: "+a.code+" ("+a.reason+").")))},o.prototype.isCloseEvent=function(a){return a&&"boolean"==typeof a.wasClean&&"number"==typeof a.code},o}(),ro=Object.assign||function(o){for(var a,t=1,e=arguments.length;t<e;t++)for(var i in a=arguments[t])Object.prototype.hasOwnProperty.call(a,i)&&(o[i]=a[i]);return o},mn=function(o,a,t,e){return new(t||(t=Promise))(function(i,r){function c(s){try{d(e.next(s))}catch(p){r(p)}}function l(s){try{d(e.throw(s))}catch(p){r(p)}}function d(s){s.done?i(s.value):new t(function(p){p(s.value)}).then(c,l)}d((e=e.apply(o,a||[])).next())})},sn=function(o,a){var e,i,r,c,t={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return c={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(c[Symbol.iterator]=function(){return this}),c;function l(s){return function(p){return function(s){if(e)throw new TypeError("Generator is already executing.");for(;t;)try{if(e=1,i&&(r=2&s[0]?i.return:s[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,s[1])).done)return r;switch(i=0,r&&(s=[2&s[0],r.value]),s[0]){case 0:case 1:r=s;break;case 4:return t.label++,{value:s[1],done:!1};case 5:t.label++,i=s[1],s=[0];continue;case 7:s=t.ops.pop(),t.trys.pop();continue;default:if(!(r=(r=t.trys).length>0&&r[r.length-1])&&(6===s[0]||2===s[0])){t=0;continue}if(3===s[0]&&(!r||s[1]>r[0]&&s[1]<r[3])){t.label=s[1];break}if(6===s[0]&&t.label<r[1]){t.label=r[1],r=s;break}if(r&&t.label<r[2]){t.label=r[2],t.ops.push(s);break}r[2]&&t.ops.pop(),t.trys.pop();continue}s=a.call(o,t)}catch(p){s=[6,p],i=0}finally{e=r=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,p])}}},ao=function(){function o(a,t){if(void 0===t&&(t={}),this.stopPromiseResolver=function(){},this.features={},this.negotiateVersion=1,E.isRequired(a,"url"),this.logger=function(o){return void 0===o?new Bn(u.Information):null===o?at.instance:o.log?o:new Bn(o)}(t.logger),this.baseUrl=this.resolveUrl(a),(t=t||{}).logMessageContent=void 0!==t.logMessageContent&&t.logMessageContent,"boolean"!=typeof t.withCredentials&&void 0!==t.withCredentials)throw new Error("withCredentials option was not a 'boolean' or 'undefined' value");t.withCredentials=void 0===t.withCredentials||t.withCredentials;var e=null,i=null;if(V.isNode){var r=require;e=r("ws"),i=r("eventsource")}V.isNode||"undefined"==typeof WebSocket||t.WebSocket?V.isNode&&!t.WebSocket&&e&&(t.WebSocket=e):t.WebSocket=WebSocket,V.isNode||"undefined"==typeof EventSource||t.EventSource?V.isNode&&!t.EventSource&&void 0!==i&&(t.EventSource=i):t.EventSource=EventSource,this.httpClient=t.httpClient||new Be(this.logger),this.connectionState="Disconnected",this.connectionStarted=!1,this.options=t,this.onreceive=null,this.onclose=null}return o.prototype.start=function(a){return mn(this,void 0,void 0,function(){var t;return sn(this,function(e){switch(e.label){case 0:return E.isIn(a=a||U.Binary,U,"transferFormat"),this.logger.log(u.Debug,"Starting connection with transfer format '"+U[a]+"'."),"Disconnected"!==this.connectionState?[2,Promise.reject(new Error("Cannot start an HttpConnection that is not in the 'Disconnected' state."))]:(this.connectionState="Connecting",this.startInternalPromise=this.startInternal(a),[4,this.startInternalPromise]);case 1:return e.sent(),"Disconnecting"!==this.connectionState?[3,3]:(this.logger.log(u.Error,t="Failed to start the HttpConnection before stop() was called."),[4,this.stopPromise]);case 2:return e.sent(),[2,Promise.reject(new Error(t))];case 3:if("Connected"!==this.connectionState)return this.logger.log(u.Error,t="HttpConnection.startInternal completed gracefully but didn't enter the connection into the connected state!"),[2,Promise.reject(new Error(t))];e.label=4;case 4:return this.connectionStarted=!0,[2]}})})},o.prototype.send=function(a){return"Connected"!==this.connectionState?Promise.reject(new Error("Cannot send data if the connection is not in the 'Connected' State.")):(this.sendQueue||(this.sendQueue=new so(this.transport)),this.sendQueue.send(a))},o.prototype.stop=function(a){return mn(this,void 0,void 0,function(){var t=this;return sn(this,function(e){switch(e.label){case 0:return"Disconnected"===this.connectionState?(this.logger.log(u.Debug,"Call to HttpConnection.stop("+a+") ignored because the connection is already in the disconnected state."),[2,Promise.resolve()]):"Disconnecting"===this.connectionState?(this.logger.log(u.Debug,"Call to HttpConnection.stop("+a+") ignored because the connection is already in the disconnecting state."),[2,this.stopPromise]):(this.connectionState="Disconnecting",this.stopPromise=new Promise(function(i){t.stopPromiseResolver=i}),[4,this.stopInternal(a)]);case 1:return e.sent(),[4,this.stopPromise];case 2:return e.sent(),[2]}})})},o.prototype.stopInternal=function(a){return mn(this,void 0,void 0,function(){var e;return sn(this,function(i){switch(i.label){case 0:this.stopError=a,i.label=1;case 1:return i.trys.push([1,3,,4]),[4,this.startInternalPromise];case 2:case 3:return i.sent(),[3,4];case 4:if(!this.transport)return[3,9];i.label=5;case 5:return i.trys.push([5,7,,8]),[4,this.transport.stop()];case 6:return i.sent(),[3,8];case 7:return e=i.sent(),this.logger.log(u.Error,"HttpConnection.transport.stop() threw error '"+e+"'."),this.stopConnection(),[3,8];case 8:return this.transport=void 0,[3,10];case 9:this.logger.log(u.Debug,"HttpConnection.transport is undefined in HttpConnection.stop() because start() failed."),i.label=10;case 10:return[2]}})})},o.prototype.startInternal=function(a){return mn(this,void 0,void 0,function(){var t,e,i,r,c,l;return sn(this,function(d){switch(d.label){case 0:t=this.baseUrl,this.accessTokenFactory=this.options.accessTokenFactory,d.label=1;case 1:return d.trys.push([1,12,,13]),this.options.skipNegotiation?this.options.transport!==Q.WebSockets?[3,3]:(this.transport=this.constructTransport(Q.WebSockets),[4,this.startTransport(t,a)]):[3,5];case 2:return d.sent(),[3,4];case 3:throw new Error("Negotiation can only be skipped when using the WebSocket transport directly.");case 4:return[3,11];case 5:e=null,i=0,r=function(){var s;return sn(this,function(p){switch(p.label){case 0:return[4,c.getNegotiationResponse(t)];case 1:if(e=p.sent(),"Disconnecting"===c.connectionState||"Disconnected"===c.connectionState)throw new Error("The connection was stopped during negotiation.");if(e.error)throw new Error(e.error);if(e.ProtocolVersion)throw new Error("Detected a connection attempt to an ASP.NET SignalR Server. This client only supports connecting to an ASP.NET Core SignalR Server. See https://aka.ms/signalr-core-differences for details.");return e.url&&(t=e.url),e.accessToken&&(s=e.accessToken,c.accessTokenFactory=function(){return s}),i++,[2]}})},c=this,d.label=6;case 6:return[5,r()];case 7:d.sent(),d.label=8;case 8:if(e.url&&i<100)return[3,6];d.label=9;case 9:if(100===i&&e.url)throw new Error("Negotiate redirection limit exceeded.");return[4,this.createTransport(t,this.options.transport,e,a)];case 10:d.sent(),d.label=11;case 11:return this.transport instanceof yt&&(this.features.inherentKeepAlive=!0),"Connecting"===this.connectionState&&(this.logger.log(u.Debug,"The HttpConnection connected successfully."),this.connectionState="Connected"),[3,13];case 12:return l=d.sent(),this.logger.log(u.Error,"Failed to start the connection: "+l),this.connectionState="Disconnected",this.transport=void 0,this.stopPromiseResolver(),[2,Promise.reject(l)];case 13:return[2]}})})},o.prototype.getNegotiationResponse=function(a){return mn(this,void 0,void 0,function(){var t,e,i,l,d,s,p;return sn(this,function(f){switch(f.label){case 0:return t={},this.accessTokenFactory?[4,this.accessTokenFactory()]:[3,2];case 1:(e=f.sent())&&(t.Authorization="Bearer "+e),f.label=2;case 2:i=On(),t[i[0]]=i[1],l=this.resolveNegotiateUrl(a),this.logger.log(u.Debug,"Sending negotiation request: "+l+"."),f.label=3;case 3:return f.trys.push([3,5,,6]),[4,this.httpClient.post(l,{content:"",headers:ro({},t,this.options.headers),withCredentials:this.options.withCredentials})];case 4:return 200!==(d=f.sent()).statusCode?[2,Promise.reject(new Error("Unexpected status code returned from negotiate '"+d.statusCode+"'"))]:((!(s=JSON.parse(d.content)).negotiateVersion||s.negotiateVersion<1)&&(s.connectionToken=s.connectionId),[2,s]);case 5:return p=f.sent(),this.logger.log(u.Error,"Failed to complete negotiation with the server: "+p),[2,Promise.reject(p)];case 6:return[2]}})})},o.prototype.createConnectUrl=function(a,t){return t?a+(-1===a.indexOf("?")?"?":"&")+"id="+t:a},o.prototype.createTransport=function(a,t,e,i){return mn(this,void 0,void 0,function(){var r,c,d,s,p,f,M,b,I;return sn(this,function(x){switch(x.label){case 0:return r=this.createConnectUrl(a,e.connectionToken),this.isITransport(t)?(this.logger.log(u.Debug,"Connection was provided an instance of ITransport, using that directly."),this.transport=t,[4,this.startTransport(r,i)]):[3,2];case 1:return x.sent(),this.connectionId=e.connectionId,[2];case 2:c=[],d=e,s=0,p=e.availableTransports||[],x.label=3;case 3:return s<p.length?(M=this.resolveTransportOrError(f=p[s],t,i))instanceof Error?(c.push(f.transport+" failed: "+M),[3,12]):[3,4]:[3,13];case 4:if(!this.isITransport(M))return[3,12];if(this.transport=M,d)return[3,9];x.label=5;case 5:return x.trys.push([5,7,,8]),[4,this.getNegotiationResponse(a)];case 6:return d=x.sent(),[3,8];case 7:return b=x.sent(),[2,Promise.reject(b)];case 8:r=this.createConnectUrl(a,d.connectionToken),x.label=9;case 9:return x.trys.push([9,11,,12]),[4,this.startTransport(r,i)];case 10:return x.sent(),this.connectionId=d.connectionId,[2];case 11:return I=x.sent(),this.logger.log(u.Error,"Failed to start the transport '"+f.transport+"': "+I),d=void 0,c.push(f.transport+" failed: "+I),"Connecting"!==this.connectionState?(this.logger.log(u.Debug,"Failed to select transport before stop() was called."),[2,Promise.reject(new Error("Failed to select transport before stop() was called."))]):[3,12];case 12:return s++,[3,3];case 13:return c.length>0?[2,Promise.reject(new Error("Unable to connect to the server with any of the available transports. "+c.join(" ")))]:[2,Promise.reject(new Error("None of the transports supported by the client are supported by the server."))]}})})},o.prototype.constructTransport=function(a){switch(a){case Q.WebSockets:if(!this.options.WebSocket)throw new Error("'WebSocket' is not supported in your environment.");return new io(this.httpClient,this.accessTokenFactory,this.logger,this.options.logMessageContent||!1,this.options.WebSocket,this.options.headers||{});case Q.ServerSentEvents:if(!this.options.EventSource)throw new Error("'EventSource' is not supported in your environment.");return new no(this.httpClient,this.accessTokenFactory,this.logger,this.options.logMessageContent||!1,this.options.EventSource,this.options.withCredentials,this.options.headers||{});case Q.LongPolling:return new yt(this.httpClient,this.accessTokenFactory,this.logger,this.options.logMessageContent||!1,this.options.withCredentials,this.options.headers||{});default:throw new Error("Unknown transport: "+a+".")}},o.prototype.startTransport=function(a,t){var e=this;return this.transport.onreceive=this.onreceive,this.transport.onclose=function(i){return e.stopConnection(i)},this.transport.connect(a,t)},o.prototype.resolveTransportOrError=function(a,t,e){var i=Q[a.transport];if(null==i)return this.logger.log(u.Debug,"Skipping transport '"+a.transport+"' because it is not supported by this client."),new Error("Skipping transport '"+a.transport+"' because it is not supported by this client.");if(!function(o,a){return!o||0!=(a&o)}(t,i))return this.logger.log(u.Debug,"Skipping transport '"+Q[i]+"' because it was disabled by the client."),new Error("'"+Q[i]+"' is disabled by the client.");if(!(a.transferFormats.map(function(c){return U[c]}).indexOf(e)>=0))return this.logger.log(u.Debug,"Skipping transport '"+Q[i]+"' because it does not support the requested transfer format '"+U[e]+"'."),new Error("'"+Q[i]+"' does not support "+U[e]+".");if(i===Q.WebSockets&&!this.options.WebSocket||i===Q.ServerSentEvents&&!this.options.EventSource)return this.logger.log(u.Debug,"Skipping transport '"+Q[i]+"' because it is not supported in your environment.'"),new Error("'"+Q[i]+"' is not supported in your environment.");this.logger.log(u.Debug,"Selecting transport '"+Q[i]+"'.");try{return this.constructTransport(i)}catch(c){return c}},o.prototype.isITransport=function(a){return a&&"object"==typeof a&&"connect"in a},o.prototype.stopConnection=function(a){var t=this;if(this.logger.log(u.Debug,"HttpConnection.stopConnection("+a+") called while in state "+this.connectionState+"."),this.transport=void 0,a=this.stopError||a,this.stopError=void 0,"Disconnected"!==this.connectionState){if("Connecting"===this.connectionState)throw this.logger.log(u.Warning,"Call to HttpConnection.stopConnection("+a+") was ignored because the connection is still in the connecting state."),new Error("HttpConnection.stopConnection("+a+") was called while the connection is still in the connecting state.");if("Disconnecting"===this.connectionState&&this.stopPromiseResolver(),a?this.logger.log(u.Error,"Connection disconnected with error '"+a+"'."):this.logger.log(u.Information,"Connection disconnected."),this.sendQueue&&(this.sendQueue.stop().catch(function(e){t.logger.log(u.Error,"TransportSendQueue.stop() threw error '"+e+"'.")}),this.sendQueue=void 0),this.connectionId=void 0,this.connectionState="Disconnected",this.connectionStarted){this.connectionStarted=!1;try{this.onclose&&this.onclose(a)}catch(e){this.logger.log(u.Error,"HttpConnection.onclose("+a+") threw error '"+e+"'.")}}}else this.logger.log(u.Debug,"Call to HttpConnection.stopConnection("+a+") was ignored because the connection is already in the disconnected state.")},o.prototype.resolveUrl=function(a){if(0===a.lastIndexOf("https://",0)||0===a.lastIndexOf("http://",0))return a;if(!V.isBrowser||!window.document)throw new Error("Cannot resolve '"+a+"'.");var t=window.document.createElement("a");return t.href=a,this.logger.log(u.Information,"Normalizing '"+a+"' to '"+t.href+"'."),t.href},o.prototype.resolveNegotiateUrl=function(a){var t=a.indexOf("?"),e=a.substring(0,-1===t?a.length:t);return"/"!==e[e.length-1]&&(e+="/"),e+="negotiate",-1===(e+=-1===t?"":a.substring(t)).indexOf("negotiateVersion")&&(e+=-1===t?"?":"&",e+="negotiateVersion="+this.negotiateVersion),e},o}(),so=function(){function o(a){this.transport=a,this.buffer=[],this.executing=!0,this.sendBufferedData=new Yn,this.transportResult=new Yn,this.sendLoopPromise=this.sendLoop()}return o.prototype.send=function(a){return this.bufferData(a),this.transportResult||(this.transportResult=new Yn),this.transportResult.promise},o.prototype.stop=function(){return this.executing=!1,this.sendBufferedData.resolve(),this.sendLoopPromise},o.prototype.bufferData=function(a){if(this.buffer.length&&typeof this.buffer[0]!=typeof a)throw new Error("Expected data to be of type "+typeof this.buffer+" but was of type "+typeof a);this.buffer.push(a),this.sendBufferedData.resolve()},o.prototype.sendLoop=function(){return mn(this,void 0,void 0,function(){var a,t,e;return sn(this,function(i){switch(i.label){case 0:return[4,this.sendBufferedData.promise];case 1:if(i.sent(),!this.executing)return this.transportResult&&this.transportResult.reject("Connection stopped."),[3,6];this.sendBufferedData=new Yn,a=this.transportResult,this.transportResult=void 0,t="string"==typeof this.buffer[0]?this.buffer.join(""):o.concatBuffers(this.buffer),this.buffer.length=0,i.label=2;case 2:return i.trys.push([2,4,,5]),[4,this.transport.send(t)];case 3:return i.sent(),a.resolve(),[3,5];case 4:return e=i.sent(),a.reject(e),[3,5];case 5:return[3,0];case 6:return[2]}})})},o.concatBuffers=function(a){for(var t=a.map(function(d){return d.byteLength}).reduce(function(d,s){return d+s}),e=new Uint8Array(t),i=0,r=0,c=a;r<c.length;r++){var l=c[r];e.set(new Uint8Array(l),i),i+=l.byteLength}return e.buffer},o}(),Yn=function(){function o(){var a=this;this.promise=new Promise(function(t,e){var i;return a.resolver=(i=[t,e])[0],a.rejecter=i[1],i})}return o.prototype.resolve=function(){this.resolver()},o.prototype.reject=function(a){this.rejecter(a)},o}(),po=function(){function o(){this.name="json",this.version=1,this.transferFormat=U.Text}return o.prototype.parseMessages=function(a,t){if("string"!=typeof a)throw new Error("Invalid input for JSON hub protocol. Expected a string.");if(!a)return[];null===t&&(t=at.instance);for(var i=[],r=0,c=Mn.parse(a);r<c.length;r++){var d=JSON.parse(c[r]);if("number"!=typeof d.type)throw new Error("Invalid payload.");switch(d.type){case w.Invocation:this.isInvocationMessage(d);break;case w.StreamItem:this.isStreamItemMessage(d);break;case w.Completion:this.isCompletionMessage(d);break;case w.Ping:case w.Close:break;default:t.log(u.Information,"Unknown message type '"+d.type+"' ignored.");continue}i.push(d)}return i},o.prototype.writeMessage=function(a){return Mn.write(JSON.stringify(a))},o.prototype.isInvocationMessage=function(a){this.assertNotEmptyString(a.target,"Invalid payload for Invocation message."),void 0!==a.invocationId&&this.assertNotEmptyString(a.invocationId,"Invalid payload for Invocation message.")},o.prototype.isStreamItemMessage=function(a){if(this.assertNotEmptyString(a.invocationId,"Invalid payload for StreamItem message."),void 0===a.item)throw new Error("Invalid payload for StreamItem message.")},o.prototype.isCompletionMessage=function(a){if(a.result&&a.error)throw new Error("Invalid payload for Completion message.");!a.result&&a.error&&this.assertNotEmptyString(a.error,"Invalid payload for Completion message."),this.assertNotEmptyString(a.invocationId,"Invalid payload for Completion message.")},o.prototype.assertNotEmptyString=function(a,t){if("string"!=typeof a||""===a)throw new Error(t)},o}(),Tt=Object.assign||function(o){for(var a,t=1,e=arguments.length;t<e;t++)for(var i in a=arguments[t])Object.prototype.hasOwnProperty.call(a,i)&&(o[i]=a[i]);return o},go={trace:u.Trace,debug:u.Debug,info:u.Information,information:u.Information,warn:u.Warning,warning:u.Warning,error:u.Error,critical:u.Critical,none:u.None},_o=function(){function o(){}return o.prototype.configureLogging=function(a){if(E.isRequired(a,"logging"),function(o){return void 0!==o.log}(a))this.logger=a;else if("string"==typeof a){var t=function(o){var a=go[o.toLowerCase()];if(void 0!==a)return a;throw new Error("Unknown log level: "+o)}(a);this.logger=new Bn(t)}else this.logger=new Bn(a);return this},o.prototype.withUrl=function(a,t){return E.isRequired(a,"url"),E.isNotEmpty(a,"url"),this.url=a,this.httpConnectionOptions=Tt({},this.httpConnectionOptions,"object"==typeof t?t:{transport:t}),this},o.prototype.withHubProtocol=function(a){return E.isRequired(a,"protocol"),this.protocol=a,this},o.prototype.withAutomaticReconnect=function(a){if(this.reconnectPolicy)throw new Error("A reconnectPolicy has already been set.");return this.reconnectPolicy=a?Array.isArray(a)?new xt(a):a:new xt,this},o.prototype.build=function(){var a=this.httpConnectionOptions||{};if(void 0===a.logger&&(a.logger=this.logger),!this.url)throw new Error("The 'HubConnectionBuilder.withUrl' method must be called before building the connection.");var t=new ao(this.url,a);return je.create(t,this.logger||at.instance,this.protocol||new po,this.reconnectPolicy)},o}();let zn=(()=>{class o{constructor(t){this.toastr=t,this.OnPaymentReceived=new j.X(null),this.OnReceivePushNotification=new j.X(null),this.OnContactReceive=new j.X(null),this.previousGroupID="",this.socketConnection=(new _o).withUrl("/POSHub").withAutomaticReconnect([0,1e4,1e4,1e4,1e4,null]).configureLogging(u.Information).build()}SubscribeGroup(t){this.socketConnection.state==k.Disconnected?this.socketConnection.start().then(()=>{this.invokeSubscribe(t,!0)}).catch(e=>{this.toastr.error(e,"Error")}):this.invokeSubscribe(t,!1)}invokeSubscribe(t,e){this.socketConnection.invoke("SubscribeGroup",{CurrentID:t,PreviousID:this.previousGroupID}).then(()=>{this.previousGroupID=t}),e&&(this.socketConnection.on("ReceiveMobilePaymentSignal",r=>{this.OnPaymentReceived.next(r)}),this.socketConnection.on("ReceivePushNotificationSignal",r=>{this.OnReceivePushNotification.next(r)}),this.socketConnection.on("OnContactReceive",r=>{this.OnContactReceive.next(r)}))}Broadcast(t){null!=this.socketConnection&&null!=this.socketConnection.connectionId&&this.socketConnection.invoke("BroadCast",t).catch(e=>{console.error(e),this.toastr.error(e,"Error")})}}return o.\u0275fac=function(t){return new(t||o)(n.LFG(Z._W))},o.\u0275prov=n.Yz7({token:o,factory:o.\u0275fac,providedIn:"root"}),o})();class mo{}var fo=m(2411);let st=(()=>{class o{constructor(t,e,i){this._httpService=t,this._onlineStatusService=e,this._localDataService=i,this._onlineStatusService.getOnlineStatus$().subscribe(r=>{this.isOnline=r})}GenerateNumber(t,e){if(this.isOnline)return this._httpService.post(g.Wz.GenerateNumber,{entityID:t,typeID:1});{let i=new mo;return g.gT.IsNotEmpty(e.NumberElement)&&(e.NumberElement.Seed+=1),g.gT.IsNotEmpty(e.InvoiceNumberElement)&&(e.InvoiceNumberElement.Seed+=1),i.InvoiceNumberElement=e.InvoiceNumberElement,i.OrderNumberElement=e.NumberElement,i.NewOrderID=g.gT.createUUID(),(0,fo.of)(i)}}LoadRegister(t){const e={RegisterID:t};return new Promise(i=>{this._localDataService.isConfigFromServer().then(r=>{r?this._httpService.post(g.Wz.GetRegisterInfo,e).subscribe(c=>{i(c)}):this._localDataService.getOutletByRegisterId(t).then(c=>{i(c)})})})}recordOpeningCash(t){return this._httpService.post("/API/POS/RecordOpeningCash",t).toPromise()}}return o.\u0275fac=function(t){return new(t||o)(n.LFG(rn.O),n.LFG(nn.q),n.LFG(W.T))},o.\u0275prov=n.Yz7({token:o,factory:o.\u0275fac,providedIn:"root"}),o})(),F=(()=>{class o{constructor(t,e,i,r,c){this._signalRClientService=t,this._matDialog=e,this._posHttpResponseService=i,this._CoreHttpService=r,this._toastrService=c,this._Data=new j.X(null),this.Data$=this._Data.asObservable().pipe((0,Un.h)(l=>null!==l),(0,Fn.x)())}get Data(){return this._Data.value}getSalesname(t){let e="";if(this.Data.ListSales){const i=this._Data.value.ListSales.find(r=>r.ID==t);i&&(e=i.Name)}return e}setActiveRegisterFromOptions(t,e){if(t.length>1){const i=t.find(r=>r.LoginID==e);i?this.pushNewRegister(i):this._matDialog.open(Pt,{id:"registerModal"}).afterClosed().subscribe(r=>{r&&this.openOpeningCashModal(r.ID)})}1==t.length&&(this.pushNewRegister(t[0]),g.gT.IsEmpty(t[0].LoginID)&&g.gT.IsEmpty(t[0].CashierID)&&this.openOpeningCashModal(t[0].ID)),0==t.length&&this._toastrService.warning("You do not have access to any OUTLET","Warning")}openOpeningCashModal(t){const e=this._posHttpResponseService.Data.AppConfigJSON;e.ModuleShift.Closure.Enabled&&e.ModuleShift.Closure.OpeningCashRequired&&this._matDialog.open(Ot).afterClosed().subscribe(r=>{r&&null!=r.amount&&this._CoreHttpService.recordOpeningCash({RegisterID:t,OpAmount:r.amount})})}pushNewRegister(t){const e=this._Data.value;(e?e.RegisterID:null)!=t.ID&&this._CoreHttpService.LoadRegister(t.ID).then(r=>{r.RegisterCode=t.Code,r.DefaultPrintTemplate=r.PrintTemplate,this.pushNewValue(r),this._signalRClientService.SubscribeGroup(r.RegisterID)})}pushNewValue(t){this._Data.next(t)}}return o.\u0275fac=function(t){return new(t||o)(n.LFG(zn),n.LFG(P.uw),n.LFG(D),n.LFG(st),n.LFG(Z._W))},o.\u0275prov=n.Yz7({token:o,factory:o.\u0275fac,providedIn:"root"}),o})();class ln{}var Jn=m(6205),Co=m(3461),lt=m(5985);let G=(()=>{class o{constructor(t,e){this._orderDataService=t,this._posService=e,this._Data=new j.X(0),this.Data$=this._Data.asObservable().pipe((0,Fn.x)()),this.tax=new Co.z,this.discountAfterTax=0,this.currencySymbol="Rp",this.AppConfigJSON=new ln,this._orderDataService.Data$.subscribe(i=>{this.salesOrderData=i,g.gT.IsNotEmpty(i.Order.Number)&&(this.calculateDiscountAmount(),this.pushNewValue(this.grandTotal))}),this._posService.Data$.subscribe(i=>{this.AppConfigJSON=i.AppConfigJSON})}get Data(){return this._Data.value}pushNewValue(t){this._Data.next(t)}get grandTotal(){const t=g.Mb.DecimalRound(this.TotalAfterSurcharge,this.AppConfigJSON.ApplicationMath.RoundingDigit.Sales,this.AppConfigJSON.ApplicationMath.RoundingDigit.MultipleOfFiveRounding);return isNaN(t)?0:t}get TotalAfterTax(){return g.Mb.DecimalRound(this.TotalBeforeTax+this.TaxAmount)}get TotalBeforeTax(){let e=0;return e=this.tax.CalculationTypeID===Jn.E.Include?g.Mb.DecimalRound(this.DiscountTotal-this.TaxAmount,4):this.DiscountTotal,e}get TotalAfterSurcharge(){return g.Mb.DecimalRound(this.TotalAfterTax+this.SurchargeAmount)}get TotalAfterDiscountTaxable(){return g.Mb.DecimalRound(this.GrossTotalTaxable-this.DiscountTotal)}get TaxAmount(){if(null!=this.tax){let t=0;return t=this.GrossTotalTaxable,t=g.Mb.DecimalRound(this.tax.CalculationTypeID==Jn.E.Include?this.tax.Rate/(100+this.tax.Rate)*t:this.tax.Rate/100*t,this.AppConfigJSON.ApplicationMath.RoundingDigit.Tax),t}return 0}get SurchargeAmount(){return g.Mb.DecimalRound(this.TotalAfterTax*this.salesOrderData.Invoice.SurchargePcg/100)}get Discount1Amount(){return g.Mb.DecimalRound(this.GrossTotal*this.salesOrderData.Order.Discount)/100}get AfterDiscount1Amount(){return g.Mb.DecimalRound(this.GrossTotal-this.Discount1Amount)}get Discount2Amount(){return g.Mb.DecimalRound(this.AfterDiscount1Amount*this.salesOrderData.Order.Discount2/100)}get AfterDiscount2Amount(){return g.Mb.DecimalRound(this.AfterDiscount1Amount-this.Discount2Amount)}get DiscountTotal(){return g.Mb.DecimalRound(this.AfterDiscount2Amount-this.salesOrderData.Order.DiscountAmount)}calculateDiscountAmount(){let t=this.salesOrderData.Order.DiscountAmount,e=0;this.AfterDiscount2Amount>=0&&t>0&&t>this.AfterDiscount2Amount&&(e=this.AfterDiscount2Amount),0!==e&&e<=t&&0!==this.GrossTotal&&(t=e),this.salesOrderData.Order.DiscountAmount=t}get GrossTotal(){return this.sum(this.salesOrderData.CartItems,"Total")}get GrossTotalTaxable(){const t=this.salesOrderData.CartItems.filter(i=>i.Taxable);let e=this.sum(t,"Total");if(0!==t.length)if(1===this.AppConfigJSON.ModuleSell.BaseTaxCalculation)e=e*(100-this.salesOrderData.Order.Discount)/100,e=e*(100-this.salesOrderData.Order.Discount2)/100,e-=this.salesOrderData.Order.DiscountAmount;else{for(const i of t)i.TotalWithoutDiscount=i.Quantity*i.Price*i.UnitQuantity;e=this.sum(t,"TotalWithoutDiscount")}return g.Mb.DecimalRound(e)}get GrossTotalNonTaxable(){const t=this.salesOrderData.CartItems.filter(i=>0==i.Taxable);let e=this.sum(t,"Total");if(1===this.AppConfigJSON.ModuleSell.BaseTaxCalculation)e=e*(100-this.salesOrderData.Order.Discount)/100,e=e*(100-this.salesOrderData.Order.Discount2)/100,e-=this.salesOrderData.Order.DiscountAmount;else{for(const i of t)i.TotalWithoutDiscount=i.Quantity*i.Price*i.UnitQuantity;e=this.sum(t,"TotalWithoutDiscount")}return g.Mb.DecimalRound(e)}sum(t,e){return t.reduce(function(i,r){return i+r[e]},0)}GetPointOnlyAmount(){const t=this.salesOrderData.CartItems.filter(e=>e.Variant.PaymentTypeID==lt._.Point);return this.GetAmountByCart(t)}GetCashOnlyAmount(){const t=this.salesOrderData.CartItems.filter(e=>e.Variant.PaymentTypeID==lt._.Cash);return this.GetAmountByCart(t)}GetCashAndPointAmountCart(){const t=this.salesOrderData.CartItems.filter(e=>e.Variant.PaymentTypeID!=lt._.Cash);return this.GetAmountByCart(t)}GetAmountByCart(t){let e=this.sum(t,"Total");return e=g.Mb.DecimalRound(e*(100-this.salesOrderData.Order.Discount)/100),e=g.Mb.DecimalRound(e*(100-this.salesOrderData.Order.Discount2)/100),e}}return o.\u0275fac=function(t){return new(t||o)(n.LFG(S),n.LFG(D))},o.\u0275prov=n.Yz7({token:o,factory:o.\u0275fac,providedIn:"root"}),o})(),fn=(()=>{class o{constructor(t,e,i,r,c,l,d,s){this._orderDataService=t,this._outletService=e,this._invoiceCalculatorService=i,this._dialog=r,this._httpService=c,this._posService=l,this._toastr=d,this.locale=s,this._Data=new j.X([]),this.Data$=this._Data.asObservable(),this.selectedPromotion=null,this.onClickToastPromo=new N.xQ,this.taxes=[],this.previousQuantity=0,this.previousTotalEligible=0,this.decimalPipe=new _.JJ(s),this._posService.Data$.subscribe(p=>{this.taxes=p.Taxes}),this._outletService.Data$.subscribe(p=>{const f=this.getPromotionDesc(p.Promotion);this.pushNewValue(f)}),this._orderDataService.Data$.pipe((0,Un.h)(p=>(this.salesOrderData=p,this.previousQuantity!=p.TotalQuantity))).subscribe(p=>{this.checkEligibleQtyPromotion(p.CartItems),this.checkEligibleTierPromotion(p.CartItems),this.previousQuantity=p.TotalQuantity,this.checkSelectedPromotionRequirement()}),this._invoiceCalculatorService.Data$.subscribe(p=>{this.checkEligibleAmountPromotion(p),this.checkSelectedPromotionRequirement()})}get Data(){return this._Data.getValue()}pushNewValue(t){this.showToastEligiblePromotion(),this._Data.next(t)}checkSelectedPromotionRequirement(){if(null!=this.selectedPromotion&&!1===this.Data.find(e=>e.ID===this.selectedPromotion.ID).Eligible){if(this._dialog.openDialogs.length>0)return;this._dialog.open(kt,{id:"modal-promotion-confirm",data:{message:"Order will be restored to before the promotion is applied"},disableClose:!0})}}restoreOrder(){this._orderDataService.pushNewValue(this.orderDataBeforePromotion),this.selectedPromotion=null}getPromotionDesc(t=[]){return t.map(i=>(i.Description=this.generatePromotionDesc(i),i))}checkEligibleAmountPromotion(t){const e=this.Data.filter(r=>r.TypeID===q.Amount&&!this.checkExpiredPromotion(r)).map(r=>(r.Eligible=t>=r.MinimumAmount,r)),i=this.mappingEligiblePromotion(e);this.pushNewValue(i)}checkEligibleQtyPromotion(t){let e=0;const i=this.Data.filter(c=>c.TypeID===q.Quantity&&!this.checkExpiredPromotion(c)).map(c=>(c.Eligible=!1,c.ListVariant.length>0?(e=this.getQuantityByRequirementType(t,"variant",c.ListVariant),e>=c.MinimumAmount&&(c.Eligible=!0)):c.ListCategory.length>0?(e=this.getQuantityByRequirementType(t,"category",c.ListCategory),e>=c.MinimumAmount&&(c.Eligible=!0)):this.salesOrderData.TotalQuantity>=c.MinimumAmount&&(c.Eligible=!0),c)),r=this.mappingEligiblePromotion(i);this.pushNewValue(r)}checkEligibleTierPromotion(t){let e;const i=this.Data.filter(c=>c.TypeID===q.PromotionTiered&&!this.checkExpiredPromotion(c)).map(c=>(c.Eligible=!1,e=c.ListVariant.length>0?this.getQuantityByRequirementType(t,"variant",c.ListVariant):c.ListCategory.length>0?this.getQuantityByRequirementType(t,"category",c.ListCategory):this.salesOrderData.TotalQuantity,c.PromotionTieredQuantity.forEach(l=>{e>=l.Quantity&&(c.Eligible=!0)}),c)),r=this.mappingEligiblePromotion(i);this.pushNewValue(r)}getQuantityByRequirementType(t,e,i){let c,r=0;return t.forEach("variant"==e?l=>{c=i.findIndex(d=>d.ID===l.VariantID),-1!==c&&(r+=l.Quantity)}:l=>{l.Variant&&(c=i.findIndex(d=>d.ID===l.Variant.CategoryID),-1!==c&&(r+=l.Quantity))}),r}mappingEligiblePromotion(t){let e=this.Data;if(t.length>0){let i;e=this.Data.map(r=>(i=t.findIndex(c=>c.ID==r.ID),-1!==i&&(r=t[i]),r))}return e}checkExpiredPromotion(t){const e=new Date,i=new Date(t.StartDate),r=t.StartTime.split(":").map(d=>parseInt(d));i.setHours(r[0],r[1],r[2]);const c=new Date(t.ExpirationDate),l=t.EndTime.split(":").map(d=>parseInt(d));return c.setHours(l[0],l[1],l[2]),!(e.getTime()>=i.getTime()&&e.getTime()<=c.getTime())}showToastEligiblePromotion(){const t=this.getTotalEligiblePromotion();this.previousTotalEligible!==t&&t>0&&this._toastr.info(t+" promotion(s) can be applied!","Promo available!").onTap.pipe((0,Ce.q)(1)).subscribe(()=>{this.onClickToastPromo.next(!0)}),this.previousTotalEligible=t}getTotalEligiblePromotion(){return this.Data.filter(e=>e.Eligible||e.TypeID==q.Discount).length}generatePromotionDesc(t){let e="";switch(t.TypeID){case q.Quantity:e+="Minimum "+this.decimalPipe.transform(t.MinimumAmount)+" ",t.ListVariant.length>0?(e+=" piece of ",e+=this.generateItemListDescription(t.ListVariant)):t.ListCategory.length>0?(e+="from category ",e+=this.generateItemListDescription(t.ListCategory)):e+="items";break;case q.Amount:e+="Minimum spend Rp. "+this.decimalPipe.transform(t.MinimumAmount);break;case q.Discount:e+=`Apply \n ${0!==t.Discount1?"discount1 = "+t.Discount1+"%":""}\n ${0!==t.Discount1&&0!==t.Discount2?" and ":""}\n ${0!==t.Discount2?"discount2 = "+t.Discount2+"%":""}\n `,t.Eligible=!0}return e}generateItemListDescription(t){let e="";for(const i of t)e+=""==e?"":" or ",e+=`[${i.Name}]`;return e=this.slicePromotionDesc(e),e}slicePromotionDesc(t){return t.length>200&&(t=t.slice(0,200),t+="..."),t}applyPromotion(t){switch(this.orderDataBeforePromotion=(0,an.d8)($.m,this.salesOrderData),this.selectedPromotion=t,t.TypeID){case q.Amount:this.applyProductReward(t);break;case q.Quantity:switch(t.RewardTypeID){case Tn.Product:this.applyProductReward(t);break;case Tn.Cheapest:this.applyCheapestReward(t)}break;case q.Discount:this.applyDiscountReward(t);break;case q.Product:break;case q.PromotionTiered:this.applyTierReward(t)}}applyProductReward(t){this._httpService.post(g.Wz.GetRewardByPromotionID,{PromotionID:t.ID}).toPromise().then(e=>{this.openDialogSelectReward(e)})}openDialogSelectReward(t){this._dialog.open(fe,{data:t.Rewards})}applyCheapestReward(t){let e=this.salesOrderData.CartItems;if(e.length>0){const r=e.sort((l,d)=>l.Price-d.Price)[0];let c=r.Total;r.Quantity>1&&(c=r.Total/r.Quantity),r.DiscountAmount=c,r.Note=t.Name,e=e.map(l=>(l.VariantID==r.VariantID&&((l=r).PromotionGift=!0),l)),this.salesOrderData.CartItems=e,this._orderDataService.pushNewValue(this.salesOrderData),this.showToastAppliedPromo(this.selectedPromotion)}}applyDiscountReward(t){let i=this._posService.Data.AppConfigJSON.ModuleSell.ProductNotes.CopyPromotionName;if(this.salesOrderData.Order.Discount+=t.Discount1,this.salesOrderData.Order.Discount2+=t.Discount2,1==i&&(this.salesOrderData.Order.Note=t.Name),g.gT.IsNotEmpty(t.TaxTypeID)){const r=this.taxes.find(c=>c.ID==t.TaxTypeID);this._invoiceCalculatorService.tax=r,this.salesOrderData.Order.TaxTypeID=t.TaxTypeID}this._orderDataService.pushNewValue(this.salesOrderData),this.pushNewValue(this.Data),this.showToastAppliedPromo(this.selectedPromotion)}applyTierReward(t){let e=this.salesOrderData.CartItems,i=[];i=e.filter(t.ListVariant.length>0?r=>-1!==t.ListVariant.findIndex(c=>c.ID==r.VariantID):r=>-1!==t.ListCategory.findIndex(c=>c.ID==r.Variant.CategoryID)),e=0==i.length?this.tierPromotionBlankRequirement(t):this.tierPromotionWithRequirement(t,i),this.salesOrderData.CartItems=e,this._orderDataService.pushNewValue(this.salesOrderData)}tierPromotionBlankRequirement(t){let e=this.salesOrderData.CartItems;const i=this.salesOrderData.TotalQuantity;return t.PromotionTieredQuantity.sort((r,c)=>r.Quantity-c.Quantity).forEach(r=>{i>=r.Quantity&&(e=e.map(c=>(c.Discount=r.Discount,this.copyPromotionNameToItem(t,c))))}),e}tierPromotionWithRequirement(t,e){let c,i=0,r=this.salesOrderData.CartItems;return e.forEach(l=>{i+=l.Quantity}),t.PromotionTieredQuantity.sort((l,d)=>l.Quantity-d.Quantity).forEach(l=>{i>=l.Quantity&&(e=e.map(d=>(d.Discount=l.Discount,d)))}),r=r.map(l=>(c=e.find(d=>d==l),c&&(l=this.copyPromotionNameToItem(t,l=c)),l)),r}copyPromotionNameToItem(t,e){return 1==this._posService.Data.AppConfigJSON.ModuleSell.ProductNotes.CopyPromotionName&&(e.Note=t.Name),e}removePromotion(){this._orderDataService.pushNewValue(this.orderDataBeforePromotion),this.showToastRemovePromo(this.selectedPromotion),this.selectedPromotion=null}showToastAppliedPromo(t){this._toastr.success("Applied "+t.Name+" to order!","Applied successfully!")}showToastRemovePromo(t){this._toastr.info("Removed "+t.Name+" from order!","Removed successfully!")}}return o.\u0275fac=function(t){return new(t||o)(n.LFG(S),n.LFG(F),n.LFG(G),n.LFG(P.uw),n.LFG(rn.O),n.LFG(D),n.LFG(Z._W),n.LFG(n.soG))},o.\u0275prov=n.Yz7({token:o,factory:o.\u0275fac,providedIn:"root"}),o})(),kt=(()=>{class o{constructor(t,e,i){this._promotionEventService=t,this._dialogRef=e,this.data=i,this.modalConfig=new T.O,this.modalConfig.hideCancel=!0,this.modalConfig.hideClose=!0,this.modalConfig.headerType=Y.n.Warning,this.modalConfig.title="Promotion Requirement unfulfilled!",this.modalConfig.customWidth="350px",this.modalConfig.okText="Ok",this.selectedPromotion=t.selectedPromotion}onOk(){this._promotionEventService.restoreOrder(),this._dialogRef.close()}}return o.\u0275fac=function(t){return new(t||o)(n.Y36(fn),n.Y36(P.so),n.Y36(P.WI))},o.\u0275cmp=n.Xpm({type:o,selectors:[["POS-modal-promotion-confirm"]],decls:9,vars:4,consts:[[3,"config","onOk"],[1,"font-italic","text-danger","mb-3"],[1,"mb-0"]],template:function(t,e){1&t&&(n.TgZ(0,"modal-material",0),n.NdJ("onOk",function(){return e.onOk()}),n.TgZ(1,"content"),n.TgZ(2,"div"),n.TgZ(3,"h5"),n._uU(4),n.qZA(),n.TgZ(5,"p",1),n._uU(6),n.qZA(),n.TgZ(7,"p",2),n._uU(8),n.qZA(),n.qZA(),n.qZA(),n.qZA()),2&t&&(n.Q6J("config",e.modalConfig),n.xp6(4),n.Oqu(null==e.selectedPromotion?null:e.selectedPromotion.Name),n.xp6(2),n.Oqu(null==e.selectedPromotion?null:e.selectedPromotion.Description),n.xp6(2),n.Oqu(null==e.data?null:e.data.message))},directives:[y.M],styles:[""]}),o})();var on=m(3044),$n=m(1097);class Gn{}class Po{}class Oo{}class Mo{}class bo{}class L{constructor(a,t,e,i){this.Amount=a,this.CurrencySymbol=t,this.Label=e,this.Type=i}}let dt=(()=>{class o{constructor(t,e,i,r){this._invoiceCalculatorService=t,this._decimalPipe=e,this._poshttpResponseService=i,this._orderService=r,this.appConfig=new ln,this._poshttpResponseService.Data$.subscribe(c=>{this.appConfig=c.AppConfigJSON})}generateAmountSummary(){let t=[];return this.generateAmount(t),this.generateDiscountSummary(t),this.generateSubTotal(t),this.generateTaxSummary(t),this.generateSurchargeSummary(t),t}generateAmount(t){t.push(new L(this._invoiceCalculatorService.GrossTotal,this._invoiceCalculatorService.currencySymbol,"Amount",1))}generateDiscountSummary(t){if(0!=this._invoiceCalculatorService.Discount1Amount){const e=this._decimalPipe.transform(this._orderService.Data.Order.Discount),r=this.checkDiscountIgnoreDecimal(e)?"{0}":"{0} ({1}%)";t.push(new L(-1*this._invoiceCalculatorService.Discount1Amount,this._invoiceCalculatorService.currencySymbol,g.gT.StringFormat(r,this.appConfig.CorePrint.Alias.Discount1,e),1))}if(0!=this._invoiceCalculatorService.Discount2Amount){const e=this._decimalPipe.transform(this._orderService.Data.Order.Discount2),r=this.checkDiscountIgnoreDecimal(e)?"{0}":"{0} ({1}%)";t.push(new L(-1*this._invoiceCalculatorService.Discount2Amount,this._invoiceCalculatorService.currencySymbol,g.gT.StringFormat(r,this.appConfig.CorePrint.Alias.Discount2,e),1))}0!=this._orderService.Data.Order.DiscountAmount&&this.appConfig.PrintConfigInvoice.ItemsFooter.DiscountAmountVisible&&t.push(new L(-1*this._orderService.Data.Order.DiscountAmount,this._invoiceCalculatorService.currencySymbol,"Discount ("+this._invoiceCalculatorService.currencySymbol+")",1))}generateSubTotal(t){const e=this._invoiceCalculatorService.tax,i=0!==e.Rate&&1==e.PrintVisible;if(this.isDiscounted()&&!this.isTaxReserveSequence()){let r="Sub Total",c=this._invoiceCalculatorService.DiscountTotal;i||(c=this._invoiceCalculatorService.TotalAfterTax,r="Total"),t.push(new L(c,this._invoiceCalculatorService.currencySymbol,r,1))}}generateTaxSummary(t){const e=this._invoiceCalculatorService.tax;if(!e.PrintVisible||0==e.Rate)return;const i=this.appConfig.PrintConfigInvoice.Footer.TaxDetailVisible?2:1;t.push(new L(this._invoiceCalculatorService.TaxAmount,this._invoiceCalculatorService.currencySymbol,e.Label,i)),this.appConfig.PrintConfigInvoice.Footer.TaxDetailVisible&&(t.push(new L(this._invoiceCalculatorService.GrossTotalTaxable,this._invoiceCalculatorService.currencySymbol,this.appConfig.PrintConfigInvoice.Footer.TaxableSales,i)),this.appConfig.PrintConfigInvoice.Footer.LabelWithZeroAmount&&t.push(new L(0,this._invoiceCalculatorService.currencySymbol,this.appConfig.PrintConfigInvoice.Footer.LabelWithZeroAmount,i)),t.push(new L(this._invoiceCalculatorService.GrossTotalNonTaxable,this._invoiceCalculatorService.currencySymbol,this.appConfig.PrintConfigInvoice.Footer.TaxExemptSales,i)),this.appConfig.PrintConfigInvoice.Footer.LabelWithZeroAmount&&t.push(new L(0,this._invoiceCalculatorService.currencySymbol,this.appConfig.PrintConfigInvoice.Footer.LabelWithZeroAmount,i)));const r=e.CalculationTypeID===Jn.E.Include,c=!this.isTaxReserveSequence()&&r;t.push(new L(c?this._invoiceCalculatorService.TotalBeforeTax:this._invoiceCalculatorService.TotalAfterTax,this._invoiceCalculatorService.currencySymbol,c?"Before Tax":"Total Amount",i))}generateSurchargeSummary(t){var e;if(0==this._invoiceCalculatorService.SurchargeAmount)return;const i=this.appConfig.CorePrint;t.push(new L(this._invoiceCalculatorService.SurchargeAmount,this._invoiceCalculatorService.currencySymbol,g.gT.StringFormat("{0} ({1}%)",i&&i.Alias.SurchargePcg?i.Alias.SurchargePcg:"Surcharge",this._decimalPipe.transform(null===(e=this._orderService.Data)||void 0===e?void 0:e.Invoice.SurchargePcg)),1)),this.generateGrandTotal(t)}generateGrandTotal(t){t.push(new L(this._invoiceCalculatorService.Data,this._invoiceCalculatorService.currencySymbol,"Total Amount",1))}checkDiscountIgnoreDecimal(t){const i=this.appConfig.PrintConfigInvoice.Footer.DiscountIgnoredDecimal;let c=!1;return 0!=parseFloat(t)%1&&i&&(c=!0),c}isDiscounted(){let r=!1;return(0!=this._invoiceCalculatorService.Discount1Amount||0!=this._invoiceCalculatorService.Discount2Amount||0!=this._orderService.Data.Order.DiscountAmount)&&(r=!0),r}isTaxReserveSequence(){let t=this._invoiceCalculatorService.tax;const e=!!t;return e&&(e?t.CalculationTypeID:null)===Jn.E.Include&&this.appConfig.PrintConfigInvoice.Footer.TaxIncludeBeforeTotalAmount}}return o.\u0275fac=function(t){return new(t||o)(n.LFG(G),n.LFG(_.JJ),n.LFG(D),n.LFG(S))},o.\u0275prov=n.Yz7({token:o,factory:o.\u0275fac,providedIn:"root"}),o})(),bn=(()=>{class o{constructor(t,e,i,r,c,l,d){this.localdata=t,this._receiptCalculatorService=e,this._salesOrderDataModelService=i,this._outletService=r,this._cashierCalculatorService=c,this._signal=l,this._customerHttpService=d,this._salesOrderDataModelService.Data$.subscribe(s=>{s.Order.Number&&(this.orderDataModel=s,this.BroadcastCartToCustomerDisplay())})}ConstructCartModelForCustomerDisplay(){const t=this._customerHttpService.Data,e=new bo;e.Number=this.orderDataModel.Order.Number,e.Items=Array();for(const i of this.orderDataModel.CartItems){const r=new Mo;r.Name=i.Variant.Name,r.Discount=i.Discount,r.DiscountAmount=i.DiscountAmount,r.Price=i.Price,r.Quantity=i.Quantity,r.UnitQuantity=i.UnitQuantity,e.Items.push(r)}return e.SalesName=g.gT.IsNotEmpty(this.orderDataModel.Order.SalesID)?this._outletService.getSalesname(this.orderDataModel.Order.SalesID):"",g.gT.IsNotEmpty(this.orderDataModel.Order.CustomerID)&&(e.Customer=new $n.B,e.Customer.Email=t.Email,e.Customer.Mobile=t.Mobile,e.Customer.Name=this.orderDataModel.ContactName),e.CurrencySymbol=this._cashierCalculatorService.currencySymbol,e.FinalAmount=this._cashierCalculatorService.Data,e.AmountSummary=this._receiptCalculatorService.generateAmountSummary(),e}BroadcastCartToCustomerDisplay(){if(this._outletService.Data){const t=this.ConstructCartModelForCustomerDisplay(),e=new Gn;e.GroupID=this._outletService.Data.RegisterID+"_Subscriber",e.Method="POSCartAmountUpdated",e.Data=t,this.localdata.isStoreOrderInServer().then(i=>{i&&this._signal.Broadcast(e)})}}BroadcastStateToCustomerDisplay(t,e="",i="",r=0){const c=new Po;c.Status=t,c.InvoiceID=e,c.LoyaltyPoint=i,c.diff=r;const l=new Gn;l.GroupID=this._outletService.Data.RegisterID+"_Subscriber",l.Method="POSStateUpdated",l.Data=c,this.localdata.isStoreOrderInServer().then(d=>{d&&this._signal.Broadcast(l)})}BroadcastQRToCustomerDisplay(t){const e=new Oo;e.GopayQr=t;const i=new Gn;i.GroupID=this._outletService.Data.RegisterID+"_Subscriber",i.Method="POSQRPaymentActivated",i.Data=e,this.localdata.isStoreOrderInServer().then(r=>{r&&this._signal.Broadcast(i)})}BroadcastChangeToKitchenDisplay(){const t=new Gn;t.GroupID=this._outletService.Data.EntityID+"_Subscriber",t.Method="ReceiveKitchenDisplayMessage",t.Data={changes:!0},this.localdata.isStoreOrderInServer().then(e=>{e&&this._signal.Broadcast(t)})}}return o.\u0275fac=function(t){return new(t||o)(n.LFG(W.T),n.LFG(dt),n.LFG(S),n.LFG(F),n.LFG(G),n.LFG(zn),n.LFG(_n.r))},o.\u0275prov=n.Yz7({token:o,factory:o.\u0275fac,providedIn:"root"}),o})(),R=(()=>{class o{constructor(t,e,i,r,c,l,d,s,p,f,M,b){this._orderDataService=t,this._posHttpResponseService=e,this._CoreHttpService=i,this._outletService=r,this._orderHttpService=c,this._signal=l,this._promotionEventService=d,this._customerHttpService=s,this._posHubService=p,this._invoiceCalculatorService=f,this._dialog=M,this._toastr=b,this._Data=new j.X(new Ln),this.Data$=this._Data.asObservable(),this.posData=new $.m,this.activeRegister=new Vn,this.subscribeObservableChanges(),this._signal.OnContactReceive.subscribe(I=>{if(!g.gT.IsEmpty(I)){const v=JSON.parse(I);this._orderDataService.updateCustomerID(v.ID).then(x=>{this.posData.ContactName=v.Name,this._customerHttpService.Data=x,this.pushNewValue(this.Data)})}})}get Data(){return this._Data.value}subscribeObservableChanges(){this._orderDataService.Data$.subscribe(t=>{this.posData=t}),this._outletService.Data$.subscribe(t=>{this.activeRegister=t,this.Data.posState!=O.IsEdit&&this.createNewSalesOrderDataModel()})}pushNewValue(t){this._Data.next(t)}createNewTransactionInSameOutletRegister(t=!0){t?this._CoreHttpService.GenerateNumber(this._orderDataService.Data.Order.EntityID,this.activeRegister).subscribe(i=>{this.activeRegister.NumberElement=i.OrderNumberElement,this.activeRegister.InvoiceNumberElement=i.InvoiceNumberElement,this.activeRegister.NewOrderID=i.NewOrderID,this.pushNewValue(new Ln),this.createNewSalesOrderDataModel()}):(this.pushNewValue(new Ln),this.createNewSalesOrderDataModel())}updatePosState(t,e){e&&this._orderHttpService.pushNewValue(e),this.Data.posState=t,this.pushNewValue(this.Data)}ReturnOrder(t){t&&(this.posData.CartItems=(0,an.d8)(tn.t,t.CartItems),this.posData.CartItems=this.posData.CartItems.map(e=>(e.generateSerial(e.Variant),e.Quantity=-1*e.Quantity,e.DiscountAmount=-1*e.DiscountAmount,e)),this.posData.Order.Note="Return "+t.Order.Number,this.posData.Order.Discount=t.Order.Discount,this.posData.Order.Discount2=t.Order.Discount2,this.posData.Order.DiscountAmount=-1*t.Order.DiscountAmount,this.posData.Order.TaxTypeID=t.Order.TaxTypeID,this.posData.Order.SalesID=t.Order.SalesID,this.posData.Order.CustomerID=t.Order.CustomerID,this.posData.ContactName=t.ContactName,this._orderDataService.pushNewValue(this.posData))}plainToClass(t,e){this.posData=(0,an.d8)($.m,t),this.setSerialItems(),this.assignInvoice(t),this.assignCustomerData(t),this.initSelectedRegister(t,e),this.assignParkTemporaryItem(t),e==O.IsRetrieve&&(this.posData.Order.Date=(new Date).toJSON(),this.posData.Action.DeliveryEntityID=this.getDeliveryEntityID(this.activeRegister)),this._invoiceCalculatorService.tax=this.getTaxObjectByID(this.posData.Order.TaxTypeID),this._orderDataService.pushNewValue(this.posData)}assignInvoice(t){if(t.Invoice)this.posData.Invoice=t.Invoice,this.posData.Action.Type=Pn.q.Payment;else{const e=this._posHttpResponseService.Data.AppConfigJSON,i=this.activeRegister;this.posData.Invoice=new ge.m,e.ModuleSell.Numbering.SalesOrderNumberVisible&&(this.posData.Invoice.Number=Sn.Generate(i.InvoiceNumberElement))}}assignCustomerData(t){const e=t.Order.CustomerID,i=t.Order.EntityID;g.gT.IsNotEmpty(e)&&g.gT.IsNotEmpty(i)?this._customerHttpService.GetPrivilegeByID(e,i).toPromise().then(r=>{const l=this._posHttpResponseService.Data.AppConfigJSON.ApplicationLoyalty.Label;this._customerHttpService.Data=r,this._customerHttpService.Data.Label=l,this.pushNewValue(this.Data)}):this.Data.InputTextValue=null}initSelectedRegister(t,e){if(e!==O.IsRetrieve){const i=t.Order.RegisterID,c=this._posHttpResponseService.Data.Registers.find(l=>l.ID==i);this._outletService.pushNewRegister(c)}else{const i=this.activeRegister.RegisterID;i!==t.Order.RegisterID&&(this.posData.Order.RegisterID=i,this._toastr.warning("You are processing order from different Register","Different Register"))}}setSerialItems(){this.posData.CartItems=this.posData.CartItems.map(t=>(t.generateSerial(t.Variant),t))}assignParkTemporaryItem(t){this.Data.parkTemporaryItem=(0,an.d8)(tn.t,t.CartItems),this.pushNewValue(this.Data)}getDefaultOrderType(t){if(g.gT.IsNotEmpty(t.DefaultCustomerPOType))return t.DefaultCustomerPOType;{let e=this._posHttpResponseService.Data.PoTypes;return e.length>0?e[0].ID:null}}createNewSalesOrderDataModel(){const t=this._posHttpResponseService.Data.AppConfigJSON;this._promotionEventService.selectedPromotion=null,this._invoiceCalculatorService.discountAfterTax=0,this._customerHttpService.Data=new $n.B;const e=this._posHttpResponseService.Data,i=this.activeRegister,r=new $.m;!g.gT.IsEmpty(e.SalesID)&&null!=i.ListSales&&i.ListSales.find(d=>d.ID==e.SalesID)&&(r.Order.SalesID=e.SalesID),r.Order.Number=Sn.Generate(i.NumberElement),r.Action.NewOrderID=i.NewOrderID,t.ModuleSell.Numbering.SalesOrderNumberVisible&&(r.Invoice.Number=Sn.Generate(i.InvoiceNumberElement)),r.Order.CurrencyID=e.AppConfigJSON.CoreDefaults.CurrencyID;const c=this.findCurrencyById(r.Order.CurrencyID);this._invoiceCalculatorService.currencySymbol=c.Symbol,r.Order.CurrencyRate=c.ExchangeRate,g.gT.IsNotEmpty(i.DefaultTaxType)?(r.Order.TaxTypeID=i.DefaultTaxType,this._invoiceCalculatorService.tax=this.getTaxObjectByID(i.DefaultTaxType)):(r.Order.TaxTypeID=e.Taxes[0].ID,this._invoiceCalculatorService.tax=e.Taxes[0]),r.Order.TypeID=this._posHttpResponseService.Data.AppConfigJSON.ModuleSell.RememberOrderTypeFromPreviousTransaction?g.gT.IsEmpty(this._orderHttpService.Data)?this.getDefaultOrderType(i):this.posData.Order.TypeID:this.getDefaultOrderType(i),g.gT.IsNotEmpty(i.EntityID)&&(r.Order.EntityID=i.EntityID,r.Order.RegisterID=i.RegisterID),r.Order.CouponType=t.TadaCouponVisible?on.$.Tada:on.$.DealPOS,r.Action.DeliveryEntityID=this.getDeliveryEntityID(i),this._orderDataService.pushNewValue(r)}findCurrencyById(t=1){return this._posHttpResponseService.Data.Currencies.find(r=>r.ID==t)}getTaxObjectByID(t){const e=this._posHttpResponseService.Data.Taxes.find(i=>i.ID==t);return e}getDeliveryEntityID(t){return this._posHttpResponseService.Data.AppConfigJSON.ModuleSell.Shipping.DefaultOrderDelivery==Hn.NOW?g.gT.IsEmpty(t.DefaultWarehouse)?t.EntityID:t.DefaultWarehouse:g.gT.GuidEmpty}submitParkToServer(t){if(this._promotionEventService.selectedPromotion)return void this.clearPromotionAppliedInPark();const e=this._posHttpResponseService.Data.AppConfigJSON;return this.posData.Action.DeliveryEntityID=g.gT.GuidEmpty,this.posData.Action.Type=Pn.q.Park,null!=t.ParkLabel&&(this.posData.Order.ParkLabel=t.ParkLabel),this.posData.Order.Note=t.Note,this.posData.Order.NumberOfPerson=t.NumberOfPerson,this.posData.Order.Deposit=t.Deposit,this.posData.Order.InvoicedStateID=gn.Pending,this.posData.Order.DepositPaymentMethodID=t.DepositPaymentMethodID,g.gT.IsNotEmpty(t.ID)&&(this.posData.Order.ID=t.ID),this._orderDataService.pushNewValue(this.posData),new Promise((i,r)=>{this._orderDataService.submitOrder(e).then(c=>{i(c),this._posHubService.BroadcastChangeToKitchenDisplay(),this.updatePosState(O.isPark,c),this.createNewTransactionInSameOutletRegister()}).catch(c=>{r(c)})})}clearPromotionAppliedInPark(){this._dialog.open(kt,{id:"modal-promotion-confirm",data:{message:"\n Promotion cannot be applied when Park, \n Order will be restored to before the promotion is applied\n "},disableClose:!0})}}return o.\u0275fac=function(t){return new(t||o)(n.LFG(S),n.LFG(D),n.LFG(st),n.LFG(F),n.LFG(z.D),n.LFG(zn),n.LFG(fn),n.LFG(_n.r),n.LFG(bn),n.LFG(G),n.LFG(P.uw),n.LFG(Z._W))},o.\u0275prov=n.Yz7({token:o,factory:o.\u0275fac,providedIn:"root"}),o})();var xo=m(1915),It=m(3113),vo=m(9204),yo=m(5722),En=m(8852);class Do{}let At=(()=>{class o{constructor(t){this.httpService=t}VerifyPayment(t){return this.httpService.post(g.Wz.VerifyPayment,t)}generateLink(t){return this.httpService.post(g.Wz.GenerateLink,t)}generateQRCode(t,e){return this.httpService.post(t,e)}}return o.\u0275fac=function(t){return new(t||o)(n.LFG(rn.O))},o.\u0275prov=n.Yz7({token:o,factory:o.\u0275fac,providedIn:"root"}),o})(),Zt=(()=>{class o{constructor(t,e,i,r){this._posHubService=t,this._orderDataService=e,this._PaymentHttpService=i,this._InvoicecashierCalculatorService=r}onQRPaymentComplete(t,e){return new Promise((i,r)=>{t.transaction_id===this.transactionId?t.gross_amount===this._InvoicecashierCalculatorService.Data?"settlement"===t.transaction_status?this.validateEMoneyPayment(e).subscribe(c=>{i(c)}):r({header:"Invalid QR Payment",message:`Transaction status is ${t.transaction_status}`}):r({header:"Invalid QR Payment",message:`paid_amount: ${t.gross_amount} vs invoice_amount: ${this._InvoicecashierCalculatorService.Data}`}):r({header:"Invalid QR Payment",message:`transaction_id: ${t.transaction_id} / gross_amount: ${t.gross_amount}`})})}generateNewPayment(t,e){const i=this._orderDataService.Data;g.gT.IsEmpty(this.qrPaymentMethodID)&&alert("QR PaymentMethod.ID is not available!");const r=new En.j;return r.PaidAmount=e,r.Amount=e,r.Date=i.Order.Date,r.MethodID=this.qrPaymentMethodID,r.Code=t,r}sendStateCompleteToCustomerDisplay(t){this._posHubService.BroadcastStateToCustomerDisplay(O.IsComplete,t.ObjectID,t.LoyaltyPoint,0)}generateQR(t,e){this.qrPaymentMethodID=e.ID;const i=this.getServiceUrl(e.EMoneyTypeID);return this._PaymentHttpService.generateQRCode(i,t).pipe((0,mt.U)(l=>(this.transactionId=l.Transaction_id,this.sendQRToCustomerDisplay(l.Url),l)))}sendQRToCustomerDisplay(t){this._posHubService.BroadcastQRToCustomerDisplay(t)}validateEMoneyPayment(t){const e=this._orderDataService.Data,i=this._InvoicecashierCalculatorService.Data,r=new Do;return r.RegisterID=e.Order.RegisterID,r.Number=e.Order.Number,r.Amount=i,r.TransactionID=this.transactionId,this._PaymentHttpService.VerifyPayment(r).pipe((0,vo.w)(c=>{const l=this._orderDataService.Data,d=this.generateNewPayment(this.transactionId,i),s=[];return s.push(d),l.Invoice.Due=null,l.Action.Type=Pn.q.Payment,l.Order.InvoicedStateID=gn.Complete,l.Payments=s,this._orderDataService.pushNewValue(l),(0,xo.D)(this._orderDataService.submitOrder(t)).pipe((0,yo.b)(p=>{this.sendStateCompleteToCustomerDisplay(p)}))}))}getServiceUrl(t){let e;switch(t){case It.m.Gopay:e=g.Wz.GenerateGopayQrCode;break;case It.m.EmpatKali:e=g.Wz.GenerateEmpatKaliQrCode}return e}}return o.\u0275fac=function(t){return new(t||o)(n.LFG(bn),n.LFG(S),n.LFG(At),n.LFG(G))},o.\u0275prov=n.Yz7({token:o,factory:o.\u0275fac,providedIn:"root"}),o})();var pt=m(9880),Nt=m(9265),dn=(()=>(function(o){o[o.DiscountPercentage=1]="DiscountPercentage",o[o.DiscountAmount=2]="DiscountAmount",o[o.Return=3]="Return",o[o.ParkedDeletion=4]="ParkedDeletion",o[o.FullAccess=5]="FullAccess"}(dn||(dn={})),dn))();let So=(()=>{class o{constructor(t,e,i,r){this._httpService=t,this._orderDataService=e,this._userRoleService=i,this.toastr=r,this.role=new K.Q,this.subscribeToObservable()}subscribeToObservable(){this._userRoleService.Data$.subscribe(t=>{this.role=t})}RedeemCoupon(t,e,i){this._httpService.post(g.Wz.Authorize,{Key:t,EntityID:this._orderDataService.Data.Order.EntityID,CouponType:i}).subscribe(c=>{switch(c.Type){case dn.DiscountPercentage:this.HandleDiscountPercentage(c),this.toastr.success(c.Notify,"Coupon Applied");break;case dn.DiscountAmount:this.HandleDiscountAmount(c),this.toastr.success(c.Notify,"Coupon Applied");break;case dn.Return:this.HandleReturn();break;case dn.ParkedDeletion:this.HandleParkedDeletion();break;case dn.FullAccess:this.HandleFullAccess(),this.toastr.success("You now have Full Access for this Order!","Coupon Applied")}this._orderDataService.Data.Order.AuthorizationKey=t,this._orderDataService.Data.Order.AuthorizationNote=e,this._orderDataService.Data.Order.CouponType=i,i==on.$.Tada&&(g.gT.IsNotEmpty(this._orderDataService.Data.Order.Note)?this._orderDataService.Data.Order.Note+="\nCoupon TADA - "+c.Notify:this._orderDataService.Data.Order.Note=" Coupon TADA - "+c.Notify)})}HandleDiscountPercentage(t){t.amount>0?(this._orderDataService.Data.Order.Discount=t.amount,this._orderDataService.pushNewValue()):(this.role.Discount=!0,this._userRoleService.pushNewValue(this.role))}HandleDiscountAmount(t){t.amount>0?(this._orderDataService.Data.Order.DiscountAmount=t.amount,this._orderDataService.pushNewValue()):(this.role.Discount=!0,this._userRoleService.pushNewValue(this.role))}HandleReturn(){this.role.Return=!0,this._userRoleService.pushNewValue(this.role)}HandleParkedDeletion(){this.role.ParkedDeletionAuthorized=!0,this._userRoleService.pushNewValue(this.role)}HandleFullAccess(){this.role.UnitPriceEditor=!0,this.role.Discount=!0,this.role.Return=!0,this.role.TaxRestriction=!1,this.role.NumberEditor=!0,this.role.DateEditor=!0,this._userRoleService.pushNewValue(this.role)}}return o.\u0275fac=function(t){return new(t||o)(n.LFG(rn.O),n.LFG(S),n.LFG(en),n.LFG(Z._W))},o.\u0275prov=n.Yz7({token:o,factory:o.\u0275fac,providedIn:"root"}),o})();var xn=m(7348);function wo(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",6),n.TgZ(1,"mat-button-toggle-group",9),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw().modeCouponType=i})("change",function(){return n.CHM(t),n.oxw().changeCoupon()}),n.TgZ(2,"mat-button-toggle",10),n.TgZ(3,"large",11),n._uU(4,"TADA"),n.qZA(),n.qZA(),n.TgZ(5,"mat-button-toggle",10),n.TgZ(6,"large",11),n._uU(7,"DealPOS"),n.qZA(),n.qZA(),n.qZA(),n.qZA()}if(2&o){const t=n.oxw();n.xp6(1),n.Q6J("ngModel",t.modeCouponType),n.xp6(1),n.Q6J("value",!0),n.xp6(3),n.Q6J("value",!1)}}let To=(()=>{class o{constructor(t,e,i,r){this.promotionService=t,this._orderDataService=e,this._posService=i,this.dialogRef=r,this.modalConfig=new T.O,this.modeType=!1,this.typeText="password",this.typeIcon="passwordIcon fas fa-lg ng-star-inserted fa-eye-slash",this.modalConfig.title="Promotion Coupon",this.modalConfig.customWidth="284px",this.modeCouponType=!1,this.TadaVisible=i.Data.AppConfigJSON.TadaCouponVisible,this._orderDataService.Data$.subscribe(c=>{this.AuthorizationKey=c.Order.AuthorizationKey,this.AuthorizationNote=c.Order.AuthorizationNote,this.couponType=c.Order.CouponType,this.ChangeTypeCoupon(),this.CustomerID=c.Order.CustomerID}),this.TadaVisible&&g.gT.IsEmpty(this.AuthorizationKey)&&(this.modeCouponType=!0,this.couponType=on.$.Tada)}ChangeTypeCoupon(){null==this.couponType&&(this.couponType=on.$.DealPOS,this.modeCouponType=!1),this.couponType==on.$.Tada&&(this.modeCouponType=!0),this.couponType==on.$.DealPOS&&(this.modeCouponType=!1)}changeCoupon(){this.couponType=this.modeCouponType?on.$.Tada:on.$.DealPOS}showPassword(){this.modeType?(this.typeText="text",this.typeIcon="passwordIcon fas fa-lg ng-star-inserted fa-eye"):(this.typeText="password",this.typeIcon="passwordIcon fas fa-lg ng-star-inserted fa-eye-slash")}onOk(){this.TadaVisible&&this.couponType==on.$.Tada&&g.gT.IsEmpty(this.CustomerID)?alert("Please enter your customer"):(this.promotionService.RedeemCoupon(this.AuthorizationKey,this.AuthorizationNote,this.couponType),this.dialogRef.close())}}return o.\u0275fac=function(t){return new(t||o)(n.Y36(So),n.Y36(S),n.Y36(D),n.Y36(P.so))},o.\u0275cmp=n.Xpm({type:o,selectors:[["pos-modal-coupon-code"]],decls:12,vars:9,consts:[[3,"title","config","onOk","onCancel","onClose"],["class","form-label-group",4,"ngIf"],[1,"form-label-group","mb-0"],["data-cy","CouponInput","id","cpn","name","AuthorizationKey",1,"form-control",3,"type","ngModel","ngModelChange"],[3,"click"],["for","cpn"],[1,"form-label-group"],["name","note","id","note","data-cy","CouponNote","name","AuthorizationNote",1,"form-control",3,"ngModel","ngModelChange"],["for","note"],["name","fontStyle","aria-label","Font Style",3,"ngModel","ngModelChange","change"],[3,"value"],[1,"font-weight-bold"]],template:function(t,e){1&t&&(n.TgZ(0,"modal-material",0),n.NdJ("onOk",function(){return e.onOk()})("onCancel",function(){return e.dialogRef.close()})("onClose",function(){return e.dialogRef.close()}),n.TgZ(1,"content"),n.YNc(2,wo,8,3,"div",1),n.TgZ(3,"div",2),n.TgZ(4,"input",3),n.NdJ("ngModelChange",function(r){return e.AuthorizationKey=r}),n.qZA(),n.TgZ(5,"i",4),n.NdJ("click",function(){return e.modeType=!e.modeType,e.showPassword()}),n.qZA(),n.TgZ(6,"label",5),n._uU(7,"Coupon"),n.qZA(),n.qZA(),n.TgZ(8,"div",6),n.TgZ(9,"textarea",7),n.NdJ("ngModelChange",function(r){return e.AuthorizationNote=r}),n.qZA(),n.TgZ(10,"label",8),n._uU(11,"Note"),n.qZA(),n.qZA(),n.qZA(),n.qZA()),2&t&&(n.Q6J("title","Promotion Coupon")("config",e.modalConfig),n.xp6(2),n.Q6J("ngIf",e.TadaVisible),n.xp6(2),n.Q6J("type",e.typeText)("ngModel",e.AuthorizationKey),n.xp6(1),n.Tol(e.typeIcon),n.xp6(4),n.Q6J("ngModel",e.AuthorizationNote))},directives:[y.M,_.O5,h.Fj,h.JJ,h.On,xn.A9,xn.Yi],styles:[".passwordIcon[_ngcontent-%COMP%] {\n position: relative;\n margin: 0 auto !important;\n cursor: pointer;\n left: 12.5rem;\n top: -2.3rem;\n z-index: 999;\n}\n\n.mat-button-toggle-checked[_ngcontent-%COMP%] {\n background-color: #dfeffc;\n color: #0976b4;\n}"]}),o})();function ko(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",13),n.TgZ(1,"div",14),n.TgZ(2,"div",15),n._uU(3,"Orders"),n.qZA(),n.TgZ(4,"div",15),n.TgZ(5,"input",16),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw().localConfig.orderUsingLocal=i}),n.qZA(),n.TgZ(6,"label",17),n._uU(7,"Online"),n.qZA(),n.qZA(),n.TgZ(8,"div",15),n.TgZ(9,"input",16),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw().localConfig.orderUsingLocal=i}),n.qZA(),n.TgZ(10,"label",17),n._uU(11,"Offline"),n.qZA(),n.qZA(),n.qZA(),n.TgZ(12,"div",14),n.TgZ(13,"div",15),n._uU(14,"Products"),n.qZA(),n.TgZ(15,"div",15),n.TgZ(16,"input",18),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw().localConfig.productUsingLocal=i}),n.qZA(),n.TgZ(17,"label",17),n._uU(18,"Online"),n.qZA(),n.qZA(),n.TgZ(19,"div",15),n.TgZ(20,"input",18),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw().localConfig.productUsingLocal=i}),n.qZA(),n.TgZ(21,"label",17),n._uU(22,"Offline"),n.qZA(),n.qZA(),n.qZA(),n.TgZ(23,"div",14),n.TgZ(24,"div",15),n._uU(25,"Start Config"),n.qZA(),n.TgZ(26,"div",15),n.TgZ(27,"input",19),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw().localConfig.configUsingLocal=i}),n.qZA(),n.TgZ(28,"label",17),n._uU(29,"Online"),n.qZA(),n.qZA(),n.TgZ(30,"div",15),n.TgZ(31,"input",19),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw().localConfig.configUsingLocal=i}),n.qZA(),n.TgZ(32,"label",17),n._uU(33,"Offline"),n.qZA(),n.qZA(),n.qZA(),n.qZA()}if(2&o){const t=n.oxw();n.xp6(5),n.Q6J("ngModel",t.localConfig.orderUsingLocal)("value",!1),n.xp6(4),n.Q6J("ngModel",t.localConfig.orderUsingLocal)("value",!0),n.xp6(7),n.Q6J("ngModel",t.localConfig.productUsingLocal)("value",!1),n.xp6(4),n.Q6J("ngModel",t.localConfig.productUsingLocal)("value",!0),n.xp6(7),n.Q6J("ngModel",t.localConfig.configUsingLocal)("value",!1),n.xp6(4),n.Q6J("ngModel",t.localConfig.configUsingLocal)("value",!0)}}let Io=(()=>{class o{constructor(t,e){this._onlineStatusService=t,this.dialogRef=e,this.modalConfig=new T.O,this.modalConfig.title="Working Status",this.destroy$=new N.xQ}ngOnInit(){this._onlineStatusService.localDataConfig$.pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.localConfig=t})}updateOnlineStatus(t){this.localConfig.configUsingLocal=t,this.localConfig.orderUsingLocal=t,this.localConfig.productUsingLocal=t,this._onlineStatusService.updateStoredConfig(this.localConfig)}close(){this._onlineStatusService.updateStoredConfig(this.localConfig),this.dialogRef.close()}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete()}}return o.\u0275fac=function(t){return new(t||o)(n.Y36(nn.q),n.Y36(P.so))},o.\u0275cmp=n.Xpm({type:o,selectors:[["pos-modal-online-status"]],decls:23,vars:6,consts:[[3,"config","onOk","onCancel","onClose"],[2,"width","420px"],[1,"row","no-gutters","text-center"],[1,"col-6","pr-3",3,"click"],[1,"btn","btn-outline-secondary","success"],[1,"fa","fa-wifi"],[1,"pt-5","pb-10"],[1,"h6"],[1,"col-6","pl-3",3,"click"],["for","radOffline",1,"btn","btn-outline-secondary","danger"],[1,"fa","fa-wifi-off"],[1,"pt-3"],["class","container","style","margin-top: 10px",4,"ngIf"],[1,"container",2,"margin-top","10px"],[1,"row"],[1,"col-md-4"],["type","radio","name","order",3,"ngModel","value","ngModelChange"],[1,"font-weight-bold"],["type","radio","name","product",3,"ngModel","value","ngModelChange"],["type","radio","name","config",3,"ngModel","value","ngModelChange"]],template:function(t,e){1&t&&(n.TgZ(0,"modal-material",0),n.NdJ("onOk",function(){return e.close()})("onCancel",function(){return e.close()})("onClose",function(){return e.close()}),n.TgZ(1,"content"),n.TgZ(2,"div",1),n.TgZ(3,"div",2),n.TgZ(4,"div",3),n.NdJ("click",function(){return e.updateOnlineStatus(!1)}),n.TgZ(5,"label",4),n._UZ(6,"i",5),n.TgZ(7,"h4",6),n.TgZ(8,"strong"),n._uU(9,"ONLINE"),n.qZA(),n.qZA(),n.TgZ(10,"small",7),n._uU(11," Upload orders in realtime to cloud server "),n.qZA(),n.qZA(),n.qZA(),n.TgZ(12,"div",8),n.NdJ("click",function(){return e.updateOnlineStatus(!0)}),n.TgZ(13,"label",9),n._UZ(14,"i",10),n.TgZ(15,"h4",11),n.TgZ(16,"strong"),n._uU(17,"OFFLINE"),n.qZA(),n.qZA(),n.TgZ(18,"small",7),n._uU(19," Save order locally, upload manually when connection is available "),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.TgZ(20,"more-content"),n.YNc(21,ko,34,12,"div",12),n.qZA(),n._UZ(22,"footer"),n.qZA()),2&t&&(n.Q6J("config",e.modalConfig),n.xp6(5),n.ekj("success",!(e.localConfig.orderUsingLocal&&e.localConfig.productUsingLocal&&e.localConfig.configUsingLocal)),n.xp6(8),n.ekj("offline",e.localConfig.orderUsingLocal&&e.localConfig.productUsingLocal&&e.localConfig.configUsingLocal),n.xp6(8),n.Q6J("ngIf",e.localConfig))},directives:[y.M,_.O5,h._,h.Fj,h.JJ,h.On],styles:['.success[_ngcontent-%COMP%] {\n color: #ffffff;\n background-color: #89b03e;\n}\n.offline[_ngcontent-%COMP%] {\n color: #ffffff;\n background-color: #c9302c;\n}\n.fa-wifi-off[_ngcontent-%COMP%] {\n background-image: url("//res.cloudinary.com/pos/image/upload/v1535431932/POS/Images/Icon/wifi-off.svg");\n height: 30px;\n width: 30px;\n background-size: 30px;\n background-repeat: no-repeat;\n}\n#radOffline[_ngcontent-%COMP%]:checked + label[_ngcontent-%COMP%] .fa-wifi-off[_ngcontent-%COMP%] {\n background-image: url("//res.cloudinary.com/pos/image/upload/POS/Images/Icon/wifi-off-white.svg");\n}\n.fa-wifi[_ngcontent-%COMP%] {\n font-size: 30px;\n}']}),o})();function Ao(o,a){if(1&o){const t=n.EpF();n.ynx(0),n.TgZ(1,"button",10),n.NdJ("click",function(){n.CHM(t);const i=n.oxw(2).$implicit;return n.oxw().onApplyPromotion(i)}),n._uU(2," APPLY "),n.qZA(),n.BQk()}if(2&o){const t=n.oxw(3);n.xp6(1),n.Q6J("disabled",t.selectedPromotion)}}function Zo(o,a){if(1&o){const t=n.EpF();n.ynx(0),n.TgZ(1,"button",11),n.NdJ("click",function(){n.CHM(t);const i=n.oxw(2).$implicit;return n.oxw().onRemovePromotion(i)}),n._uU(2," REMOVE "),n.qZA(),n.BQk()}}function No(o,a){if(1&o&&(n.ynx(0),n.YNc(1,Ao,3,1,"ng-container",9),n.YNc(2,Zo,3,0,"ng-container",9),n.BQk()),2&o){const t=n.oxw().$implicit,e=n.oxw();n.xp6(1),n.Q6J("ngIf",(null==e.selectedPromotion?null:e.selectedPromotion.ID)!=t.ID),n.xp6(1),n.Q6J("ngIf",(null==e.selectedPromotion?null:e.selectedPromotion.ID)==t.ID)}}function qo(o,a){1&o&&(n.TgZ(0,"p",12),n._uU(1,"Not Eligible"),n.qZA())}const Ro=function(o){return{"bg-light":o}};function Jo(o,a){if(1&o&&(n.TgZ(0,"div",3),n.TgZ(1,"div",4),n.TgZ(2,"h5"),n._uU(3),n.qZA(),n.TgZ(4,"p",5),n._uU(5),n.qZA(),n.qZA(),n.TgZ(6,"div",6),n.YNc(7,No,3,2,"ng-container",7),n.YNc(8,qo,2,0,"ng-template",null,8,n.W1O),n.qZA(),n.qZA()),2&o){const t=a.$implicit,e=n.MAs(9),i=n.oxw();n.Q6J("ngClass",n.VKq(5,Ro,!t.Eligible&&t.TypeID!==i.promotionType.Discount)),n.xp6(3),n.Oqu(t.Name),n.xp6(2),n.Oqu(t.Description),n.xp6(2),n.Q6J("ngIf",t.Eligible||t.TypeID===i.promotionType.Discount)("ngIfElse",e)}}let qt=(()=>{class o{constructor(t,e){this._dialogRef=t,this._promotionEventService=e,this.modalConfig=new T.O,this.promotions=[],this.promotionType=q,this.destroy$=new N.xQ}ngOnInit(){this.subscribePromotionService(),this.initModalConfig()}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete()}subscribePromotionService(){this._promotionEventService.Data$.pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.promotions=t,this.checkValidSelectedPromotion()})}checkValidSelectedPromotion(){this.selectedPromotion=this._promotionEventService.selectedPromotion,this.selectedPromotion&&-1===this.promotions.findIndex(e=>e.ID==this.selectedPromotion.ID&&e.Eligible)&&(this.selectedPromotion=null,this._promotionEventService.selectedPromotion=null)}initModalConfig(){this.modalConfig.title="Promotions",this.modalConfig.customWidth="500px",this.modalConfig.hideFooter=!0,this.modalConfig.bodyScrollable=!0}onApplyPromotion(t){this._promotionEventService.applyPromotion(t),t.TypeID!=q.Product&&this.close()}onRemovePromotion(t){this._promotionEventService.removePromotion(),this.selectedPromotion=null}close(){this._dialogRef.close()}}return o.\u0275fac=function(t){return new(t||o)(n.Y36(P.so),n.Y36(fn))},o.\u0275cmp=n.Xpm({type:o,selectors:[["POS-modal-promotion"]],decls:5,vars:6,consts:[[3,"config","onCancel","onClose"],[1,"container"],["class","row border mt-3 py-2 justify-content-between",3,"ngClass",4,"ngFor","ngForOf"],[1,"row","border","mt-3","py-2","justify-content-between",3,"ngClass"],[1,"col","mt-3"],[1,"description"],[1,"col-auto","my-auto"],[4,"ngIf","ngIfElse"],["notEligible",""],[4,"ngIf"],[1,"btn","btn-success","my-auto",3,"disabled","click"],[1,"btn","btn-danger","my-auto",3,"click"],[1,"text-danger","my-auto"]],template:function(t,e){1&t&&(n.TgZ(0,"modal-material",0),n.NdJ("onCancel",function(){return e.close()})("onClose",function(){return e.close()}),n.TgZ(1,"content"),n.TgZ(2,"div",1),n.YNc(3,Jo,10,7,"div",2),n.ALo(4,"sortBy"),n.qZA(),n.qZA(),n.qZA()),2&t&&(n.Q6J("config",e.modalConfig),n.xp6(3),n.Q6J("ngForOf",n.Dn7(4,2,e.promotions,"desc","Eligible")))},directives:[y.M,_.sg,_.mk,_.O5],pipes:[J.W7],styles:[".description[_ngcontent-%COMP%] {\n word-wrap: break-word;\n}"]}),o})(),Eo=(()=>{class o{constructor(t,e,i,r){this.dialogRef=t,this._orderDataService=e,this._orderProcessorService=i,this._OrderHttpService=r,this.modalConfig=new T.O,this.modalConfig.title="Return",this.modalConfig.customWidth="284px",this.destroy$=new N.xQ}ngOnInit(){this.initInvoiceRetur()}initInvoiceRetur(){this.ReturNumber=null,this._orderProcessorService.Data$.pipe((0,C.R)(this.destroy$)).subscribe(t=>{t.posState===O.IsReturn&&(this.ReturNumber=t.ReturNumber)})}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete()}onOk(){this._OrderHttpService.GetReturnInvoice(this.ReturNumber,this._orderDataService.Data.Order.EntityID).pipe((0,C.R)(this.destroy$)).subscribe(e=>{this._orderProcessorService.Data.ReturNumber=this.ReturNumber,this._orderProcessorService.ReturnOrder(e),this._orderProcessorService.updatePosState(O.IsReturn),this.dialogRef.close()})}}return o.\u0275fac=function(t){return new(t||o)(n.Y36(P.so),n.Y36(S),n.Y36(R),n.Y36(z.D))},o.\u0275cmp=n.Xpm({type:o,selectors:[["pos-modal-return"]],decls:6,vars:2,consts:[[3,"config","onOk","onCancel","onClose"],[1,"form-label-group"],["type","text","data-cy","ReturnNumber","id","ReturNumber","name","ReturNumber",1,"form-control",3,"ngModel","ngModelChange"],["for","ReturNumber"]],template:function(t,e){1&t&&(n.TgZ(0,"modal-material",0),n.NdJ("onOk",function(){return e.onOk()})("onCancel",function(){return e.dialogRef.close()})("onClose",function(){return e.dialogRef.close()}),n.TgZ(1,"content"),n.TgZ(2,"div",1),n.TgZ(3,"input",2),n.NdJ("ngModelChange",function(r){return e.ReturNumber=r}),n.qZA(),n.TgZ(4,"label",3),n._uU(5,"Number Invoice"),n.qZA(),n.qZA(),n.qZA(),n.qZA()),2&t&&(n.Q6J("config",e.modalConfig),n.xp6(3),n.Q6J("ngModel",e.ReturNumber))},directives:[y.M,h.Fj,h.JJ,h.On],styles:[""]}),o})();var B=m(2605);function Qo(o,a){if(1&o&&(n.ynx(0),n._uU(1),n.ALo(2,"date"),n.BQk()),2&o){const t=n.oxw();n.xp6(1),n.hij(" ",n.xi3(2,1,t.syncDate,"dd MMM yyyy HH:mm")," ")}}function Uo(o,a){1&o&&n._uU(0," Never been synced ")}function Fo(o,a){if(1&o&&(n.TgZ(0,"p"),n._uU(1),n.qZA()),2&o){const t=n.oxw();n.xp6(1),n.hij("You last synced ",t.dayDiff," days ago!")}}let Lo=(()=>{class o{constructor(t,e,i,r){this.LocalData=t,this.toastr=e,this.httpService=i,this.dialogRef=r,this.offlineProduct=0,this.onlineProducts=0}ngOnInit(){this.initOfflineProducts()}initOfflineProducts(){this.LocalData.getVariants().then(t=>{this.httpService.POSText("/API/Product/ProductRowsCount",'{"RowCount":99999,"PageNumber":1,"ProductDiscontinued":false,"VariantDiscontinued":false}').subscribe(e=>{this.setProductsCount(e),this.checkSyncDate()})})}checkSyncDate(){this.LocalData.getSyncTime().subscribe(t=>{this.syncDate=t,this.dayDiff=null!=this.syncDate?Math.floor(((new Date).getTime()-this.syncDate.getTime())/1e3/60/60/24):0})}syncProduct(){const t=this.LocalData.syncProducts(),e=this.LocalData.syncOutletPrice(),i=this.LocalData.syncOutlets();this.httpService.POSText("/API/Product/ProductRowsCount",'{"RowCount":99999,"PageNumber":1,"ProductDiscontinued":false,"VariantDiscontinued":false}').subscribe(r=>{this.setProductsCount(r)}),Promise.all([t,e,i]).then(()=>{this.toastr.success("Sync Product Offline Successfully","Success!"),this.checkSyncDate(),this.dialogRef.close()})}setProductsCount(t){if(t){let e=JSON.parse(t);this.onlineProducts=Number(e.Count),this.offlineProduct=Number(e.Count),this.checkSyncDate()}}}return o.\u0275fac=function(t){return new(t||o)(n.Y36(W.T),n.Y36(Z._W),n.Y36(rn.O),n.Y36(P.so))},o.\u0275cmp=n.Xpm({type:o,selectors:[["sync-products"]],decls:25,vars:5,consts:[[1,"sync-product","row","justify-content-between"],[1,"col"],[1,"row","justify-content-start"],[1,"col-auto"],[4,"ngIf","ngIfElse"],["neverSync",""],[4,"ngIf"],[1,"col-auto","my-auto"],[1,"btn","btn-success",3,"click"],[1,"fas","fa-sync-alt","mr-2","pr-2"]],template:function(t,e){if(1&t&&(n.TgZ(0,"div",0),n.TgZ(1,"div",1),n.TgZ(2,"div",2),n.TgZ(3,"div",3),n._uU(4,"Online Products :"),n.qZA(),n.TgZ(5,"div",3),n._uU(6),n.qZA(),n.qZA(),n.TgZ(7,"div",2),n.TgZ(8,"div",3),n._uU(9,"Offline products :"),n.qZA(),n.TgZ(10,"div",3),n._uU(11),n.qZA(),n.qZA(),n.TgZ(12,"div",2),n.TgZ(13,"div",3),n._uU(14,"Last Sync :"),n.qZA(),n.TgZ(15,"div",3),n.YNc(16,Qo,3,4,"ng-container",4),n.YNc(17,Uo,1,0,"ng-template",null,5,n.W1O),n.YNc(19,Fo,2,1,"p",6),n.qZA(),n.qZA(),n.qZA(),n.TgZ(20,"div",7),n.TgZ(21,"button",8),n.NdJ("click",function(){return e.syncProduct()}),n._UZ(22,"i",9),n.TgZ(23,"span"),n._uU(24,"Sync"),n.qZA(),n.qZA(),n.qZA(),n.qZA()),2&t){const i=n.MAs(18);n.xp6(6),n.hij(" ",null==e.onlineProducts?"Failed to get Online Products":e.onlineProducts," "),n.xp6(5),n.hij(" ",e.offlineProduct," "),n.xp6(5),n.Q6J("ngIf",e.syncDate)("ngIfElse",i),n.xp6(3),n.Q6J("ngIf",e.dayDiff>14)}},directives:[_.O5],pipes:[_.uU],styles:[".sync-product[_ngcontent-%COMP%] {\n padding: 16px;\n font-size: 14px;\n}"]}),o})();function Ho(o,a){if(1&o&&(n.TgZ(0,"tr"),n.TgZ(1,"td"),n._uU(2),n.qZA(),n.TgZ(3,"td"),n._uU(4),n.ALo(5,"date"),n.qZA(),n.TgZ(6,"td"),n._uU(7),n.ALo(8,"date"),n.qZA(),n.TgZ(9,"td",5),n._uU(10),n.qZA(),n.TgZ(11,"td",5),n._uU(12),n.ALo(13,"number"),n.qZA(),n.qZA()),2&o){const t=a.$implicit;n.xp6(2),n.Oqu(t.Order.Number),n.xp6(2),n.Oqu(n.xi3(5,5,t.Order.ClientTimestamp,"dd MMM yyyy")),n.xp6(3),n.Oqu(n.xi3(8,8,t.Order.ClientTimestamp,"HH:mm")),n.xp6(3),n.Oqu(t.Items.length),n.xp6(2),n.Oqu(n.lcZ(13,11,t.TotalPaidAmount))}}function Vo(o,a){if(1&o&&(n.TgZ(0,"div",2),n.TgZ(1,"table",3),n.TgZ(2,"thead",4),n.TgZ(3,"tr"),n.TgZ(4,"th"),n._uU(5,"Number"),n.qZA(),n.TgZ(6,"th"),n._uU(7,"Date"),n.qZA(),n.TgZ(8,"th"),n._uU(9,"Time"),n.qZA(),n.TgZ(10,"th",5),n._uU(11,"Qty"),n.qZA(),n.TgZ(12,"th",5),n._uU(13,"Total"),n.qZA(),n.qZA(),n.qZA(),n.TgZ(14,"tbody"),n.YNc(15,Ho,14,13,"tr",6),n.qZA(),n.qZA(),n.qZA()),2&o){const t=n.oxw();n.xp6(15),n.Q6J("ngForOf",t.offlineOrders)}}function Bo(o,a){1&o&&(n.TgZ(0,"h1",7),n._uU(1,"There is no offline orders!"),n.qZA())}let Yo=(()=>{class o{constructor(t){this._localDataService=t,this.offlineOrders=[]}ngOnInit(){this.getOfflineOrders()}getOfflineOrders(){this._localDataService.getOfflineOrders().then(t=>{t.forEach(e=>{this.offlineOrders.push((0,an.d8)($.m,e))})})}}return o.\u0275fac=function(t){return new(t||o)(n.Y36(W.T))},o.\u0275cmp=n.Xpm({type:o,selectors:[["sync-orders"]],decls:3,vars:2,consts:[["class","table-responsive",4,"ngIf","ngIfElse"],["noOrders",""],[1,"table-responsive"],[1,"table","border-bottom"],[1,"thead-light"],[1,"text-right"],[4,"ngFor","ngForOf"],[1,"text-center","mt-5"]],template:function(t,e){if(1&t&&(n.YNc(0,Vo,16,1,"div",0),n.YNc(1,Bo,2,0,"ng-template",null,1,n.W1O)),2&t){const i=n.MAs(2);n.Q6J("ngIf",null!=e.offlineOrders&&e.offlineOrders.length>0)("ngIfElse",i)}},directives:[_.O5,_.sg],pipes:[_.uU,_.JJ],styles:[""]}),o})();const zo=["navTabs"];function $o(o,a){1&o&&(n.TgZ(0,"span"),n._uU(1,"Products"),n.qZA())}let Go=(()=>{class o{constructor(t,e){this._router=t,this.dialogRef=e,this.modalConfig=new T.O}ngOnInit(){this.initModalConfig()}initModalConfig(){this.modalConfig.headerType=Y.n.Success,this.modalConfig.title="You are online to synchronize",this.modalConfig.hideFooter=!0,this.modalConfig.customWidth="550px",this.modalConfig.noPadding=!0}goToOfflinePage(){0==this.tabs.selectedIndex?this._router.navigate(["/menu","Sell","Offline","Products"]):1==this.tabs.selectedIndex&&this._router.navigate(["/menu","Sell","Offline","Orders"]),this.close()}close(){this.dialogRef.close()}}return o.\u0275fac=function(t){return new(t||o)(n.Y36(H.F0),n.Y36(P.so))},o.\u0275cmp=n.Xpm({type:o,selectors:[["pos-modal-sync"]],viewQuery:function(t,e){if(1&t&&n.Gf(zo,5),2&t){let i;n.iGM(i=n.CRH())&&(e.tabs=i.first)}},decls:13,vars:2,consts:[[3,"config","onOk","onCancel","onClose"],["mat-align-tabs","start",1,"sync","mb-5",3,"dynamicHeight"],["navTabs",""],["mat-tab-label",""],["label","Orders"],[1,"d-flex","justify-content-center","my-5"],[1,"btn","btn-primary","btn-lg",3,"click"],[1,"fas","fa-paper-plane"]],template:function(t,e){1&t&&(n.TgZ(0,"modal-material",0),n.NdJ("onOk",function(){return e.close()})("onCancel",function(){return e.close()})("onClose",function(){return e.close()}),n.TgZ(1,"content"),n.TgZ(2,"mat-tab-group",1,2),n.TgZ(4,"mat-tab"),n.YNc(5,$o,2,0,"ng-template",3),n._UZ(6,"sync-products"),n.qZA(),n.TgZ(7,"mat-tab",4),n._UZ(8,"sync-orders"),n.qZA(),n.qZA(),n.TgZ(9,"div",5),n.TgZ(10,"button",6),n.NdJ("click",function(){return e.goToOfflinePage()}),n._UZ(11,"i",7),n._uU(12," Go to Details "),n.qZA(),n.qZA(),n.qZA(),n.qZA()),2&t&&(n.Q6J("config",e.modalConfig),n.xp6(2),n.Q6J("dynamicHeight",!1))},directives:[y.M,B.SP,B.uX,B.uD,Lo,Yo],styles:[".mat-ink-bar {\n background-color: #93bd45 !important;\n}\n\n .sync mat-tab-body {\n height: 200px;\n}\n\n .mat-tab-body-content {\n overflow-x: hidden !important;\n}\n\n.btn-gray[_ngcontent-%COMP%] {\n background-color: #f4f4f4;\n border: 1px solid #D6D6D6;\n font-weight: bold;\n color: #545454 !important;\n background: linear-gradient(to bottom, #ffffff 0%, #eeeeee 100%);\n}\n\n.h5[_ngcontent-%COMP%] {\n font-size: 12px;\n}\n\n.row[_ngcontent-%COMP%] {\n width: 450px;\n}"]}),o})();function jo(o,a){if(1&o&&(n.TgZ(0,"span",9),n._uU(1),n.qZA()),2&o){const t=n.oxw(2);n.xp6(1),n.Oqu(t.totalOfflineOrders)}}function Wo(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"a",6),n.NdJ("click",function(){return n.CHM(t),n.oxw().openSyncModal()}),n._UZ(1,"i",7),n.YNc(2,jo,2,1,"span",8),n.qZA()}if(2&o){const t=n.oxw();n.xp6(2),n.Q6J("ngIf",0!=t.totalOfflineOrders)}}function Ko(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"a",10),n.NdJ("click",function(){return n.CHM(t),n.oxw().openCouponCodeModal()}),n._UZ(1,"i",11),n.qZA()}}function Xo(o,a){if(1&o&&(n.TgZ(0,"span",9),n._uU(1),n.qZA()),2&o){const t=n.oxw(2);n.xp6(1),n.Oqu(t.totalEligiblePromotion)}}function ni(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"a",12),n.NdJ("click",function(){return n.CHM(t),n.oxw().openPromotionModal()}),n._UZ(1,"i",13),n.YNc(2,Xo,2,1,"span",8),n.qZA()}if(2&o){const t=n.oxw();n.xp6(2),n.Q6J("ngIf",0!=t.totalEligiblePromotion)}}function ti(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"a",14),n.NdJ("click",function(){return n.CHM(t),n.oxw().openReturnModal()}),n._UZ(1,"i",15),n.qZA()}}let ei=(()=>{class o{constructor(t,e,i,r,c){this._localDataService=t,this._promotionEventService=e,this.matDialog=i,this._posService=r,this._userRoleService=c,this.returnEnabled=!0,this.totalOfflineOrders=0,this.totalEligiblePromotion=0,this.destroy$=new N.xQ,this.restriction=this._posService.Data.Restriction,this._localDataService.getOfflineOrders().then(l=>{this.totalOfflineOrders=l.length})}ngOnInit(){this.subscribeToObservable()}subscribeToObservable(){this.returnEnabled=this.restriction.Return,this._userRoleService.Data$.pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.returnEnabled=t.Return}),this._promotionEventService.Data$.pipe((0,C.R)(this.destroy$)).subscribe(()=>{this.totalEligiblePromotion=this._promotionEventService.getTotalEligiblePromotion()}),this._promotionEventService.onClickToastPromo.pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.openPromotionModal()})}openOnlineStatusModal(){this.matDialog.open(Io)}openSyncModal(){this.matDialog.open(Go)}openCouponCodeModal(){this.matDialog.open(To)}openReturnModal(){this.matDialog.open(Eo)}openPromotionModal(){this.matDialog.open(qt,{id:"promotion-event"})}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}}return o.\u0275fac=function(t){return new(t||o)(n.Y36(W.T),n.Y36(fn),n.Y36(P.uw),n.Y36(D),n.Y36(en))},o.\u0275cmp=n.Xpm({type:o,selectors:[["pos-header"]],inputs:{isOnline:"isOnline"},decls:8,vars:6,consts:[["title","Working Status",1,"btn","btn-gray","font-weight-normal","mr-5","p-4",3,"click"],[1,"fa","fa-circle","pr-2",3,"ngClass"],["title","Synchronize","class","header mr-5 position-relative",3,"click",4,"ngIf"],["title","Promotion Coupon","class","header mr-5",3,"click",4,"ngIf"],["title","Promotion","class","header mr-5 position-relative",3,"click",4,"ngIf"],["title","Return","data-cy","Return","class","header",3,"click",4,"ngIf"],["title","Synchronize",1,"header","mr-5","position-relative",3,"click"],[1,"fas","fa-sync-alt"],["class","position-absolute badge badge-pill badge-danger",4,"ngIf"],[1,"position-absolute","badge","badge-pill","badge-danger"],["title","Promotion Coupon",1,"header","mr-5",3,"click"],["data-cy","Coupon","aria-hidden","true",1,"fa","fa-coupon"],["title","Promotion",1,"header","mr-5","position-relative",3,"click"],[1,"fas","fa-gift"],["title","Return","data-cy","Return",1,"header",3,"click"],["aria-hidden","true",1,"fa","fa-retur"]],template:function(t,e){1&t&&(n.TgZ(0,"a",0),n.NdJ("click",function(){return e.openOnlineStatusModal()}),n._UZ(1,"i",1),n.TgZ(2,"span"),n._uU(3),n.qZA(),n.qZA(),n.YNc(4,Wo,3,1,"a",2),n.YNc(5,Ko,2,0,"a",3),n.YNc(6,ni,3,1,"a",4),n.YNc(7,ti,2,0,"a",5)),2&t&&(n.xp6(1),n.Q6J("ngClass",e.isOnline?"text-success":"text-danger"),n.xp6(2),n.Oqu(e.isOnline?"Online":"Offline"),n.xp6(1),n.Q6J("ngIf",e.isOnline),n.xp6(1),n.Q6J("ngIf",e.isOnline),n.xp6(1),n.Q6J("ngIf",e.isOnline),n.xp6(1),n.Q6J("ngIf",e.returnEnabled&&e.isOnline))},directives:[_.mk,_.O5],styles:['@media print {\n .cashier[_ngcontent-%COMP%], pos-quick-key[_ngcontent-%COMP%], pos-header[_ngcontent-%COMP%], pos-toolbar[_ngcontent-%COMP%] {\n display: none;\n }\n}\n.is-backdate[_ngcontent-%COMP%] {\n background: repeating-linear-gradient(-60deg, #fcf4a3, #fcf4a3 15px, #fada5e 15px, #fada5e 30px) !important;\n}\n.quickKey[_ngcontent-%COMP%] {\n margin-right: 10px;\n}\n.cashier[_ngcontent-%COMP%] [_ngcontent-%COMP%]::-webkit-input-placeholder {\n font-style: italic;\n}\n.cashier[_ngcontent-%COMP%] [_ngcontent-%COMP%]:-moz-placeholder {\n \n font-style: italic;\n}\n.cashier[_ngcontent-%COMP%] [_ngcontent-%COMP%]::-moz-placeholder {\n \n font-style: italic;\n}\n.cashier[_ngcontent-%COMP%] [_ngcontent-%COMP%]:-ms-input-placeholder {\n font-style: italic;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] {\n border-bottom: 1px solid #dde2eb;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .small[_ngcontent-%COMP%] {\n margin-right: 5px !important;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .small[_ngcontent-%COMP%] .number[_ngcontent-%COMP%] {\n width: 143px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .small[_ngcontent-%COMP%] select[_ngcontent-%COMP%] {\n width: 140px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .small[_ngcontent-%COMP%] .select2-container[_ngcontent-%COMP%] {\n font-size: 12px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] {\n margin-right: 22px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] div[_ngcontent-%COMP%]:last-child {\n margin-right: 0;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 1.25rem;\n color: #3B3B3B;\n margin-right: 5px;\n line-height: unset !important;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] input[_ngcontent-%COMP%], .cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span.outlet[_ngcontent-%COMP%] {\n padding: 4px 8px 3px 5px;\n border: 1px solid #dddddd;\n font-size: 0.875rem;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] .outlet[_ngcontent-%COMP%] {\n width: 165px;\n color: #337ab7;\n background: #ffffff;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] .number[_ngcontent-%COMP%] {\n width: 150px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] select[_ngcontent-%COMP%] {\n width: 150px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.quickKey[_ngcontent-%COMP%] {\n width: 420px;\n margin-right: 10px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] {\n width: 570px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.header[_ngcontent-%COMP%] {\n border: solid 1px #cfcfcf;\n border-bottom: none;\n border-radius: 3px 3px 0 0;\n background: #f2f7fa;\n color: #222222;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.header[_ngcontent-%COMP%] .right-bottom[_ngcontent-%COMP%] {\n font-size: 9px;\n right: -6px;\n bottom: -10px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-table[_ngcontent-%COMP%] {\n border-left: solid 1px #cfcfcf;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-table[_ngcontent-%COMP%] div.col[_ngcontent-%COMP%] {\n overflow: auto;\n height: 250px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-table[_ngcontent-%COMP%] div.col[_ngcontent-%COMP%] table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] {\n background: #fbfbf7;\n border-left: none;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-table[_ngcontent-%COMP%] div.col[_ngcontent-%COMP%] table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] th[_ngcontent-%COMP%] {\n padding: 9px 5px !important;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-table[_ngcontent-%COMP%] div.col[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n padding: 10px 5px;\n border-bottom: 1px solid #cfcfcf;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-table[_ngcontent-%COMP%] div.col[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td[_ngcontent-%COMP%]:first-child {\n padding-right: 0;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-footer[_ngcontent-%COMP%] {\n border-top: solid 1px #cfcfcf;\n min-height: 85px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-footer[_ngcontent-%COMP%] div.summary[_ngcontent-%COMP%] table[_ngcontent-%COMP%] th[_ngcontent-%COMP%], .cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-footer[_ngcontent-%COMP%] div.summary[_ngcontent-%COMP%] table[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n border-left: solid 1px #cfcfcf;\n border-bottom: solid 1px #cfcfcf;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-footer[_ngcontent-%COMP%] div.summary[_ngcontent-%COMP%] table[_ngcontent-%COMP%] th[_ngcontent-%COMP%] {\n padding: 7px 8px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-footer[_ngcontent-%COMP%] div.summary[_ngcontent-%COMP%] table[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n padding: 7px 5px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-footer[_ngcontent-%COMP%] .disc[_ngcontent-%COMP%] {\n padding-top: 7px;\n padding-bottom: 6px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.action-buttons[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] {\n font-size: 1.125rem;\n padding: 15px 18px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.action-buttons[_ngcontent-%COMP%] .btn-gray[_ngcontent-%COMP%] {\n margin-right: 10px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.action-buttons[_ngcontent-%COMP%] .btn-success[_ngcontent-%COMP%] {\n width: 200px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.action-buttons[_ngcontent-%COMP%] .right-bottom[_ngcontent-%COMP%] {\n font-size: 0.625rem;\n right: 4px;\n}\n.text-black.btn-success[_ngcontent-%COMP%] {\n color: #4d4d4d !important;\n}\n.main-panel[_ngcontent-%COMP%] nav.fixed-top.offline[_ngcontent-%COMP%], .full_screen[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] > div.row.header.offline[_ngcontent-%COMP%] {\n background: repeating-linear-gradient(-60deg, #f8d7da, #f8d7da 15px, #f5c6cb 15px, #f5c6cb 30px) !important;\n}\n.barcode-input[_ngcontent-%COMP%] {\n width: 305px;\n}\n.barcode-input[_ngcontent-%COMP%] > input[_ngcontent-%COMP%] {\n height: 28px;\n}\n.barcode-input[_ngcontent-%COMP%] autocomplete[_ngcontent-%COMP%] {\n width: 267px;\n}\n.barcode-input[_ngcontent-%COMP%] autocompleteV2[_ngcontent-%COMP%] {\n width: 267px;\n}\n.input-group-text-retrieve[_ngcontent-%COMP%] {\n padding: 9px 0.75rem !important;\n}\n.font-12[_ngcontent-%COMP%] {\n font-size: 12px;\n}\n.btn-gray[_ngcontent-%COMP%] {\n background-color: #f4f4f4;\n border: 1px solid #d6d6d6;\n font-weight: bold;\n color: #545454 !important;\n background: linear-gradient(to bottom, #ffffff 0%, #eeeeee 100%);\n}\n.btn-gray-more[_ngcontent-%COMP%] {\n background-color: #f4f4f4;\n border: 1px solid #d6d6d6;\n background: linear-gradient(to bottom, #ffffff 0%, #eeeeee 100%);\n}\n.cash-btn[_ngcontent-%COMP%] {\n background-color: #f4f4f4;\n border: 1px solid #d6d6d6;\n font-weight: bold;\n margin: 0 0 0 10px;\n padding: 7px 15px;\n height: 18px;\n box-sizing: content-box;\n background: linear-gradient(to bottom, #ffffff 0%, #eeeeee 100%);\n}\n.calc-tbl[_ngcontent-%COMP%] th[_ngcontent-%COMP%] {\n padding: 7px 15px 7px 10px;\n border: 1px solid #ddd;\n border-top: none;\n background-color: #eeeeee;\n}\n.dropdown-menu[_ngcontent-%COMP%] .disabled[_ngcontent-%COMP%] {\n display: none !important;\n}\n.calc-tbl[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n width: 100px;\n text-align: right;\n padding: 7px 5px;\n}\nsection.complete[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n color: #3b5998;\n margin: 20px 0px;\n}\nsection.complete[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] a[_ngcontent-%COMP%] {\n font-size: 0.75rem;\n color: #868686;\n}\nsection.complete[_ngcontent-%COMP%] .complete-action[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] {\n text-align: center;\n height: 150px;\n width: 190px;\n font-family: "Roboto Slab", serif;\n display: flex;\n flex-direction: column !important;\n padding: 0px;\n color: #666666;\n margin-right: 10px;\n}\nsection.complete[_ngcontent-%COMP%] .complete-action[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n display: block;\n font-size: 50px;\n margin-top: 20px;\n}\nsection.complete[_ngcontent-%COMP%] .complete-action[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n margin: 0px;\n margin-top: 10px;\n color: #666666;\n}\nsection.complete[_ngcontent-%COMP%] .complete-action[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]:first-child h4[_ngcontent-%COMP%] {\n color: #3B3B3B;\n}\nsection.complete[_ngcontent-%COMP%] .complete-action[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n font-size: 0.625rem;\n font-style: italic;\n padding: 10px;\n box-sizing: border-box;\n color: #868686;\n border-top: 1px solid #dddddd;\n font-weight: normal;\n margin: 0px;\n}\n.complete-more-action[_ngcontent-%COMP%] {\n margin-top: 10px;\n}\n\n.modal-body[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n font-weight: 400;\n}\n.modal-body[_ngcontent-%COMP%] .actions-tabs[_ngcontent-%COMP%] {\n position: absolute;\n left: 230px;\n top: 15px;\n}\n.modal-header[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 12px;\n font-style: normal;\n}\n.modal-header[_ngcontent-%COMP%] a[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 14px !important;\n}\n.dialogButtonOption[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] {\n padding: 25px 0px;\n width: 190px;\n margin-right: 10px;\n}\n.dialogButtonOption[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n font-weight: 700;\n text-transform: uppercase;\n}\n.dialogButtonOption[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n font-size: 0.75rem;\n font-style: italic;\n color: #868686;\n margin-top: 10px;\n}\n.currency[_ngcontent-%COMP%] {\n top: 13px;\n left: 30px;\n}\n.paymentNote[_ngcontent-%COMP%]::before {\n z-index: 10;\n content: "";\n position: absolute;\n top: 0;\n left: calc(50% - 10px);\n height: 100%;\n width: 10px;\n background-color: inherit;\n border-right: 1px solid lightgray;\n transform: skewX(-10deg);\n}\n#dialogPayment[_ngcontent-%COMP%] .col-auto[_ngcontent-%COMP%], #dialogSubmitOrder[_ngcontent-%COMP%] .col-auto[_ngcontent-%COMP%] {\n padding: 0 4px;\n}\n#dialogPayment[_ngcontent-%COMP%] .col-auto[_ngcontent-%COMP%], #dialogSubmitOrder[_ngcontent-%COMP%] .col-auto[_ngcontent-%COMP%] {\n padding: 0 4px;\n}\n#dialogPayment[_ngcontent-%COMP%] .col-4[_ngcontent-%COMP%], #dialogSubmitOrder[_ngcontent-%COMP%] .col-4[_ngcontent-%COMP%] {\n width: 125px !important;\n padding: 0 4px;\n}\n#dialogPayment[_ngcontent-%COMP%] .col-8[_ngcontent-%COMP%], #dialogSubmitOrder[_ngcontent-%COMP%] .col-8[_ngcontent-%COMP%] {\n width: 250px !important;\n padding: 0 4px;\n}\n#dialogPayment[_ngcontent-%COMP%] .btn-link[_ngcontent-%COMP%], #dialogSubmitOrder[_ngcontent-%COMP%] .btn-link[_ngcontent-%COMP%] {\n padding-top: 0px;\n color: #868686;\n padding-bottom: 8px;\n border-radius: unset;\n font-family: "Roboto Slab", serif;\n}\n#dialogPayment[_ngcontent-%COMP%] .btn-link.selected[_ngcontent-%COMP%], #dialogSubmitOrder[_ngcontent-%COMP%] .btn-link.selected[_ngcontent-%COMP%] {\n color: #3B3B3B;\n border-bottom: 4px solid #07a519;\n}\n#dialogPayment[_ngcontent-%COMP%] .change[_ngcontent-%COMP%], #dialogSubmitOrder[_ngcontent-%COMP%] .change[_ngcontent-%COMP%] {\n position: absolute;\n top: 1px;\n height: 40px;\n background: #89b03e;\n color: #fff;\n right: 16px;\n padding: 0 10px;\n line-height: 40px;\n font-size: 16px;\n}\n#dialogPayment[_ngcontent-%COMP%] .change[_ngcontent-%COMP%]:before, #dialogSubmitOrder[_ngcontent-%COMP%] .change[_ngcontent-%COMP%]:before {\n content: "\\a";\n border-style: solid;\n border-width: 40px 24px 0 0;\n border-color: transparent #89b03e transparent transparent;\n position: absolute;\n left: -24px;\n}\n#dialogPayment[_ngcontent-%COMP%] .change.danger[_ngcontent-%COMP%], #dialogSubmitOrder[_ngcontent-%COMP%] .change.danger[_ngcontent-%COMP%] {\n background: #c9302c;\n}\n#dialogPayment[_ngcontent-%COMP%] .change.danger[_ngcontent-%COMP%]:before, #dialogSubmitOrder[_ngcontent-%COMP%] .change.danger[_ngcontent-%COMP%]:before {\n border-color: transparent #c9302c transparent transparent;\n}\n\n.phone[_ngcontent-%COMP%] div[_ngcontent-%COMP%] {\n height: 50px;\n width: 50px;\n padding-top: 11px;\n background-color: #f5f5f5;\n border: 1px solid gray !important;\n}\n.phone[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n padding-left: 65px !important;\n border: 1px solid gray !important;\n font-size: 25px;\n height: 50px;\n}\n.phone[_ngcontent-%COMP%] .form-control[_ngcontent-%COMP%]:focus {\n border-color: #8bb8df !important;\n}\n.back-button[_ngcontent-%COMP%] {\n left: -18px;\n top: -74px;\n}\n.back-button[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: white;\n}\n.back-button-gopay[_ngcontent-%COMP%] {\n left: -18px;\n top: -50px;\n}\n.back-button-gopay[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: white;\n}\n.logo-gopay[_ngcontent-%COMP%] {\n margin-top: -16px;\n}\n#dialogSubmitOrder[_ngcontent-%COMP%] .btn-link[_ngcontent-%COMP%] {\n padding-top: 0px;\n color: #868686;\n padding-bottom: 8px;\n border-radius: unset;\n font-family: "Roboto Slab", serif;\n}\n#dialogSubmitOrder[_ngcontent-%COMP%] .btn-link.selected[_ngcontent-%COMP%] {\n color: #3B3B3B;\n border-bottom: 4px solid #07a519;\n}\n#dialogSubmitOrder[_ngcontent-%COMP%] .btn-info[_ngcontent-%COMP%] {\n font-size: 0.75rem;\n margin-right: 10px;\n padding: 10px;\n margin-bottom: 10px;\n float: left;\n}\n#dialogSubmitOrder[_ngcontent-%COMP%] .input-label[_ngcontent-%COMP%] {\n position: relative;\n}\n#dialogSubmitOrder[_ngcontent-%COMP%] .input-label[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n position: absolute;\n font-size: 0.875rem;\n color: #868686;\n top: 26px;\n left: 20px;\n}\n#dialogSubmitOrder[_ngcontent-%COMP%] .input-label[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n margin: 0;\n margin-bottom: 8px;\n border: 1px solid #dddddd;\n padding: 7px 5px;\n width: 100%;\n font-size: 36px;\n border-radius: 3px;\n text-align: right;\n background-color: #ffffff;\n outline: none;\n}\n#dialogSubmitOrder[_ngcontent-%COMP%] .pay-info[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n border-bottom: 2px solid #07a519 !important;\n font-size: 0.875rem;\n border: none !important;\n border-bottom: 2px solid #07a519 !important;\n outline: none;\n}\n#dialogSubmitOrder[_ngcontent-%COMP%] .change[_ngcontent-%COMP%] {\n background-color: #cccccc;\n border: 1px solid #dddddd;\n width: 149px;\n padding: 5px 10px 5px 0;\n text-align: right;\n font-size: 1.25rem;\n font-weight: bold;\n float: right;\n}\n.rad-btn[_ngcontent-%COMP%] {\n position: relative;\n display: inline-block;\n}\n.rad-btn[_ngcontent-%COMP%] label[_ngcontent-%COMP%] {\n border: 1px solid #dddddd;\n border-radius: 3px;\n margin-right: 10px;\n cursor: pointer;\n padding: 10px;\n margin-bottom: 10px;\n color: black;\n}\n.rad-btn[_ngcontent-%COMP%] input[type=radio][_ngcontent-%COMP%] {\n visibility: hidden;\n position: absolute;\n left: 0;\n top: 0;\n}\n.rad-btn[_ngcontent-%COMP%] input[type=radio][_ngcontent-%COMP%]:checked + label[_ngcontent-%COMP%] {\n background: #dfeffc;\n border: 1px solid #dfeffc;\n}\n.modal-dialog[_ngcontent-%COMP%] .noteBox[_ngcontent-%COMP%] {\n background-color: #ffffe1;\n border: 1px solid #cacaca;\n padding: 3px;\n display: block;\n outline: 0;\n margin-bottom: 5px;\n font-size: 11px;\n text-decoration: none;\n}\n\n.fullscreen[_ngcontent-%COMP%] {\n position: fixed;\n bottom: 0px;\n right: 0px;\n padding: 10px;\n background-color: #bbbbbb;\n cursor: pointer;\n}\n.fullscreen[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 34px;\n color: white;\n}\n.pos-status[_ngcontent-%COMP%] {\n position: fixed;\n right: 10px;\n top: 10px;\n list-style: none;\n padding: 0px;\n margin: 0px;\n z-index: 1031;\n display: flex;\n align-items: center !important;\n}\n.pos-status[_ngcontent-%COMP%] li[_ngcontent-%COMP%] {\n cursor: pointer;\n margin-right: 10px;\n}\n.pos-status[_ngcontent-%COMP%] li[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] {\n padding: 8px 10px;\n color: #868686;\n}\n.pos-status[_ngcontent-%COMP%] li[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 26px;\n}\n.pos-status[_ngcontent-%COMP%] li[_ngcontent-%COMP%]:first-child i[_ngcontent-%COMP%] {\n font-size: 16px;\n}\n.full_screen[_ngcontent-%COMP%] .pos-status[_ngcontent-%COMP%] {\n left: 10px;\n bottom: 10px;\n top: auto;\n right: auto;\n}\n.full_screen[_ngcontent-%COMP%] .park-action[_ngcontent-%COMP%] {\n left: 0px;\n right: auto !important;\n padding: 0px;\n}\n.full_screen[_ngcontent-%COMP%] nav[_ngcontent-%COMP%], .full_screen[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%] {\n display: none !important;\n}\n.full_screen[_ngcontent-%COMP%] section.cashier[_ngcontent-%COMP%] > div.container-fluid[_ngcontent-%COMP%] {\n padding: 0 !important;\n}\n.full_screen[_ngcontent-%COMP%] section.cashier[_ngcontent-%COMP%] > div.container-fluid[_ngcontent-%COMP%] > div.row.header[_ngcontent-%COMP%], .full_screen[_ngcontent-%COMP%] section.cashier[_ngcontent-%COMP%] > div.container-fluid[_ngcontent-%COMP%] > div.row.body[_ngcontent-%COMP%] {\n justify-content: center;\n}\n.full_screen[_ngcontent-%COMP%] .main-panel[_ngcontent-%COMP%] {\n left: 0px;\n right: 0px;\n top: 0px;\n bottom: 0px;\n width: 100%;\n padding: 0px;\n}\n.full_screen[_ngcontent-%COMP%] #divSideMenu[_ngcontent-%COMP%] {\n display: none;\n}\n#dialogItem[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%] {\n border-top: none;\n border-right: none;\n}\ndiv#dialogDiscount[_ngcontent-%COMP%] .txtPcg[_ngcontent-%COMP%] {\n width: 30px;\n}\n#radOnline[_ngcontent-%COMP%] + label[_ngcontent-%COMP%], #radOffline[_ngcontent-%COMP%] + label[_ngcontent-%COMP%] {\n height: 150px;\n width: 200px;\n white-space: normal;\n margin: 20px 0px 20px 10px;\n padding-top: 12px;\n border: 1px solid #dddddd;\n}\n#radOnline[_ngcontent-%COMP%] + label[_ngcontent-%COMP%] h4[_ngcontent-%COMP%], #radOffline[_ngcontent-%COMP%] + label[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n margin: 5px;\n}\n#radOnline[_ngcontent-%COMP%] + label[_ngcontent-%COMP%] i[_ngcontent-%COMP%], #radOffline[_ngcontent-%COMP%] + label[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 30px;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] a[_ngcontent-%COMP%] strong[_ngcontent-%COMP%] {\n height: 30px;\n border-radius: 4px;\n padding: 5px 10px;\n color: #ffffff;\n background: #b1aaaa;\n}\nul.dialogPicker[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover, ul.dialogPicker[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a.active[_ngcontent-%COMP%] {\n background: #fffed9;\n border: 1px solid #88ae3d;\n}\nul.dialogPicker[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover > strong[_ngcontent-%COMP%], ul.dialogPicker[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a.active[_ngcontent-%COMP%] > strong[_ngcontent-%COMP%] {\n background: #88ae3d;\n}\n#radOnline[_ngcontent-%COMP%]:checked + label[_ngcontent-%COMP%] {\n color: #ffffff;\n background-color: #89b03e;\n}\n#radOffline[_ngcontent-%COMP%]:checked + label[_ngcontent-%COMP%] {\n color: #ffffff;\n background-color: #c9302c;\n}\n.fa-wifi-off[_ngcontent-%COMP%] {\n background-image: url("//res.cloudinary.com/pos/image/upload/v1535431932/POS/Images/Icon/wifi-off.svg");\n height: 30px;\n width: 30px;\n background-size: 30px;\n background-repeat: no-repeat;\n}\n#radOffline[_ngcontent-%COMP%]:checked + label[_ngcontent-%COMP%] .fa-wifi-off[_ngcontent-%COMP%] {\n background-image: url("//res.cloudinary.com/pos/image/upload/POS/Images/Icon/wifi-off-white.svg");\n}\n.fa-coupon[_ngcontent-%COMP%] {\n background-position-y: center;\n background-image: url("//res.cloudinary.com/pos/image/upload/POS/Images/Icon/coupon.svg");\n height: 26px;\n width: 26px;\n background-size: 26px;\n background-repeat: no-repeat;\n}\n.fa-retur[_ngcontent-%COMP%] {\n background-position-y: center;\n background-image: url("//res.cloudinary.com/pos/image/upload/POS/Images/Icon/return.svg");\n height: 26px;\n width: 26px;\n background-size: 26px;\n background-repeat: no-repeat;\n}\n\nul.dialogPicker[_ngcontent-%COMP%] {\n list-style: none;\n margin: 0px;\n padding: 0px;\n display: flex;\n flex-wrap: wrap !important;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] {\n width: 180px;\n min-height: 95px;\n margin-right: 17px;\n margin-bottom: 17px;\n position: relative;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] {\n display: block;\n outline: 0;\n border: 1px solid #b1aaaa;\n border-radius: 5px;\n cursor: pointer;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] h6[_ngcontent-%COMP%] {\n height: 30px;\n border-radius: 4px;\n padding: 5px 10px;\n color: #ffffff;\n background: #b1aaaa;\n overflow: hidden;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] h6[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n margin-right: 5px;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover, ul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.active[_ngcontent-%COMP%], ul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.vacant[_ngcontent-%COMP%] {\n background: #ffffe1;\n border: 1px solid #89b03e;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover > h6[_ngcontent-%COMP%], ul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.active[_ngcontent-%COMP%] > h6[_ngcontent-%COMP%], ul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.vacant[_ngcontent-%COMP%] > h6[_ngcontent-%COMP%] {\n background: #89b03e;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.occupied[_ngcontent-%COMP%], ul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.occupied[_ngcontent-%COMP%]:hover {\n border: 1px solid #c9302c;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.occupied[_ngcontent-%COMP%] > h6[_ngcontent-%COMP%], ul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.occupied[_ngcontent-%COMP%]:hover > h6[_ngcontent-%COMP%] {\n background: #c9302c !important;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.occupied[_ngcontent-%COMP%] span.alias[_ngcontent-%COMP%] {\n background: #c9302c;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.occupied[_ngcontent-%COMP%]:hover {\n background: white;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.preparing[_ngcontent-%COMP%] {\n border: 1px solid #f6a828;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.preparing[_ngcontent-%COMP%] > h6[_ngcontent-%COMP%] {\n background: #f6a828 !important;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.preparing[_ngcontent-%COMP%]:hover {\n border: 1px solid #f6a828;\n background: white;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.preparing[_ngcontent-%COMP%]:hover > strong[_ngcontent-%COMP%] {\n background: #f6a828 !important;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.preparing[_ngcontent-%COMP%] span.alias[_ngcontent-%COMP%] {\n background: #f6a828;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.preparing[_ngcontent-%COMP%] div[_ngcontent-%COMP%] > span[_ngcontent-%COMP%] {\n font-size: 0.75rem !important;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] div[_ngcontent-%COMP%] {\n height: 80px;\n padding: 15px 10px;\n position: relative;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n display: block;\n font-weight: normal;\n font-size: 0.875rem;\n width: 100%;\n margin-bottom: 5px;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:first-child {\n margin-top: -10px;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:last-child {\n margin-bottom: 0px;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span.alias[_ngcontent-%COMP%] {\n text-align: center;\n position: absolute;\n bottom: 0px;\n right: 0px;\n width: auto;\n background-color: #b1aaaa;\n border-radius: 3px;\n padding: 2px 5px;\n color: #ffffff;\n display: none !important;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span.idle[_ngcontent-%COMP%] {\n display: block;\n font-size: 1.25rem;\n text-align: center;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > span[_ngcontent-%COMP%] {\n position: absolute;\n width: 27px;\n height: 28px;\n cursor: pointer;\n top: 5px;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > span[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: black;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]:last-of-type {\n right: -5px;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]:nth-last-of-type(2) {\n right: 15px;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] input[type=checkbox][_ngcontent-%COMP%] {\n bottom: 20px;\n right: 5px;\n position: absolute;\n}\nul.dialogPicker[_ngcontent-%COMP%] .duration[_ngcontent-%COMP%] > span[_ngcontent-%COMP%] {\n border: 1px solid !important;\n position: absolute;\n bottom: -3px;\n left: 58px;\n background: #fff;\n border-radius: 5px;\n}\nul.dialogPickerBig[_ngcontent-%COMP%] li[_ngcontent-%COMP%] {\n width: 140px !important;\n margin-bottom: 17px;\n margin-top: 0px !important;\n min-height: 80px !important;\n}\nul.dialogPickerBig[_ngcontent-%COMP%] li[_ngcontent-%COMP%] a[_ngcontent-%COMP%] div[_ngcontent-%COMP%] {\n height: 50px !important;\n}\n.arrow_box_left[_ngcontent-%COMP%]:after, .arrow_box_left[_ngcontent-%COMP%]:before {\n left: 100% !important;\n}\n.arrow_box_left[_ngcontent-%COMP%]:after {\n border-left-color: #ffffff !important;\n border-right-color: transparent !important;\n}\n.arrow_box_left[_ngcontent-%COMP%]:before {\n border-left-color: #dddddd !important;\n border-right-color: transparent !important;\n}\n.arrow_box_bottom[_ngcontent-%COMP%]:after, .arrow_box_bottom[_ngcontent-%COMP%]:before {\n top: initial;\n left: 40%;\n bottom: 100% !important;\n}\n.arrow_box_bottom[_ngcontent-%COMP%]:after {\n border-bottom-color: #ffffff !important;\n border-right-color: transparent !important;\n margin-left: -6px;\n}\n.arrow_box_bottom[_ngcontent-%COMP%]:before {\n border-bottom-color: #dddddd !important;\n border-right-color: transparent !important;\n margin-left: -9px;\n}\ndiv.price_calculator[_ngcontent-%COMP%] {\n left: -260px;\n top: 46px;\n width: 250px;\n height: 138px;\n padding: 12px 0px 3px 8px;\n border-radius: 3px;\n position: absolute !important;\n}\ndiv.price_calculator[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n border: 0px !important;\n border-bottom: 1px solid #dddddd !important;\n background-color: transparent !important;\n padding: 8px 5px 5px 5px !important;\n width: 60px !important;\n}\n.tooltip-component[_ngcontent-%COMP%] {\n position: relative;\n}\n.tooltip-component[_ngcontent-%COMP%]:hover > div.toolTip[_ngcontent-%COMP%] {\n display: block;\n}\n.tooltip-component[_ngcontent-%COMP%] div.toolTip[_ngcontent-%COMP%] {\n background: #ffffe1;\n border: 1px solid #dddddd;\n position: absolute;\n top: 110%;\n left: 0%;\n padding: 10px;\n display: none;\n text-align: center;\n min-height: 15px;\n margin-top: 0.1rem;\n}\n.tooltip-component[_ngcontent-%COMP%] div.toolTip.green[_ngcontent-%COMP%] {\n background: #caed9e;\n border: 4px solid #90d93f;\n}\n.tooltip-component[_ngcontent-%COMP%] div.toolTip[_ngcontent-%COMP%]:after, .tooltip-component[_ngcontent-%COMP%] div.toolTip[_ngcontent-%COMP%]:before {\n content: "";\n position: absolute;\n top: 0;\n left: 50%;\n width: 0;\n height: 0;\n border: 5px solid transparent;\n}\n.tooltip-component[_ngcontent-%COMP%] div.toolTip[_ngcontent-%COMP%]::after {\n border-bottom-color: #ffffe1;\n border-top: 0;\n margin-left: -5px;\n margin-top: -5px;\n}\n.tooltip-component[_ngcontent-%COMP%] div.toolTip[_ngcontent-%COMP%]::before {\n border-bottom-color: #dddddd;\n border-top: 0;\n margin-left: -5px;\n margin-top: -6px;\n}\n.tooltip-component[_ngcontent-%COMP%] div.toolTip[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n margin: 0px;\n white-space: nowrap;\n color: #89b03e;\n text-shadow: 0px 1px 0px White;\n}\n.offline[_ngcontent-%COMP%] .modal-header[_ngcontent-%COMP%] {\n background-color: #c9302c !important;\n}\n.warning[_ngcontent-%COMP%] .modal-header[_ngcontent-%COMP%] {\n background-color: #f6a828 !important;\n}\n#dialogPromo[_ngcontent-%COMP%] table[_ngcontent-%COMP%] {\n min-width: 400px;\n}\n#dialogPromo[_ngcontent-%COMP%] table.table-hover[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:hover {\n background-color: #89b03e;\n color: white;\n}\nfade-in[_ngcontent-%COMP%] {\n opacity: 1;\n \n transition: opacity 2s;\n}\n.fade-out[_ngcontent-%COMP%] {\n opacity: 0;\n \n transition: opacity 2s;\n z-index: 1;\n}\n.later-payment[_ngcontent-%COMP%] strong[_ngcontent-%COMP%] {\n font-size: 20px;\n}\n.later-payment[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n font-size: 20px;\n padding: 20px 10px !important;\n}\n.change-box[_ngcontent-%COMP%] {\n top: initial;\n height: auto;\n align-self: center;\n}\n.e-money[_ngcontent-%COMP%] {\n height: 65px;\n}\n@media only screen and (max-width: 1280px) {\n input[placeholder=Customer][_ngcontent-%COMP%] {\n width: 135px;\n }\n\n span.select2.select2-container[_ngcontent-%COMP%] {\n width: 135px !important;\n }\n}\n@media only screen and (max-width: 1215px) {\n input[placeholder=Customer][_ngcontent-%COMP%] {\n width: 120px;\n }\n\n span.select2.select2-container[_ngcontent-%COMP%] {\n width: 120px !important;\n }\n}\n@media only screen and (max-width: 1185px) {\n input[placeholder=Customer][_ngcontent-%COMP%] {\n width: 140px;\n }\n\n span.select2.select2-container[_ngcontent-%COMP%] {\n width: 140px !important;\n }\n}\n@media only screen and (max-width: 992px) {\n .pos-status[_ngcontent-%COMP%] {\n bottom: 10px;\n left: 10px;\n top: auto;\n }\n}\n.simple-keyboard[_ngcontent-%COMP%] {\n width: 20vw;\n position: absolute;\n left: 77%;\n top: 30%;\n z-index: 1200;\n}\n .hg-theme-default .hg-button {\n height: 70px !important;\n font-size: 16px !important;\n}\n .hg-button-bksp {\n width: 21px;\n}\n .hg-button[data-skbtn="{enter}"] {\n width: 90px;\n}\n.header[_ngcontent-%COMP%] {\n border-bottom: 1px solid #dde2eb;\n color: black;\n}\n.header[_ngcontent-%COMP%] .small[_ngcontent-%COMP%] {\n margin-right: 5px !important;\n}\n.header[_ngcontent-%COMP%] .small[_ngcontent-%COMP%] .number[_ngcontent-%COMP%] {\n width: 143px;\n}\n.header[_ngcontent-%COMP%] .small[_ngcontent-%COMP%] select[_ngcontent-%COMP%] {\n width: 140px;\n}\n.header[_ngcontent-%COMP%] .small[_ngcontent-%COMP%] .select2-container[_ngcontent-%COMP%] {\n font-size: 12px;\n}\n.header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] {\n margin-right: 22px;\n}\n.header[_ngcontent-%COMP%] div[_ngcontent-%COMP%]:last-child {\n margin-right: 0;\n}\n.header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 1.25rem;\n color: #3B3B3B;\n margin-right: 5px;\n line-height: unset !important;\n}\n.header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] input[_ngcontent-%COMP%], .header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span.outlet[_ngcontent-%COMP%] {\n padding: 4px 8px 3px 5px;\n border: 1px solid #dddddd;\n font-size: 0.875rem;\n}\n.header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] .outlet[_ngcontent-%COMP%] {\n width: 165px;\n color: #337ab7;\n background: #ffffff;\n}\n.header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] .number[_ngcontent-%COMP%] {\n width: 150px;\n}\n.header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] select[_ngcontent-%COMP%] {\n width: 150px;\n}\n[_nghost-%COMP%] {\n position: relative;\n list-style: none;\n padding: 0;\n margin: 0;\n z-index: 1031;\n display: flex;\n align-items: center !important;\n}\n.fa-coupon[_ngcontent-%COMP%] {\n background-position-y: center;\n background-image: url("//res.cloudinary.com/pos/image/upload/POS/Images/Icon/coupon.svg");\n height: 26px;\n width: 26px;\n background-size: 26px;\n background-repeat: no-repeat;\n}\n.fa-retur[_ngcontent-%COMP%] {\n background-position-y: center;\n background-image: url("//res.cloudinary.com/pos/image/upload/POS/Images/Icon/return.svg");\n height: 26px;\n width: 26px;\n background-size: 26px;\n background-repeat: no-repeat;\n}\n.fa-sync-alt[_ngcontent-%COMP%], .fa-gift[_ngcontent-%COMP%] {\n font-size: 26px;\n}\n.btn-gray[_ngcontent-%COMP%] {\n background-color: #f4f4f4;\n border: 1px solid #D6D6D6;\n font-weight: bold;\n color: #545454 !important;\n background: linear-gradient(to bottom, #ffffff 0%, #eeeeee 100%);\n}']}),o})(),oi=(()=>{class o{constructor(t,e){this.dialogRef=t,this.data=e,this.modalConfig=new T.O,this.pointUsed=this.data.pointUsed,this.availablePoint=this.data.availablePoint,this.label=this.data.label,this.modalConfig.title=this.getLabelLoyalty(),this.modalConfig.customWidth="284px"}ngOnInit(){0==this.pointUsed&&(this.pointUsed=null)}onOk(){this.dialogRef.close(this.pointUsed>this.availablePoint?{pointUsed:this.availablePoint}:{pointUsed:this.pointUsed})}getLabelLoyalty(){return null==this.label||""==this.label.trim()?"Loyalty Point":this.label}}return o.\u0275fac=function(t){return new(t||o)(n.Y36(P.so),n.Y36(P.WI))},o.\u0275cmp=n.Xpm({type:o,selectors:[["POS-modal-loyalty-point"]],decls:6,vars:7,consts:[[3,"title","config","onOk","onCancel","onClose"],["autoNum","","preventNegative","","data-cy","pointUsed",1,"border","rounded","p-4",3,"max","ngModel","ngModelChange"],[1,"pl-2"]],template:function(t,e){1&t&&(n.TgZ(0,"modal-material",0),n.NdJ("onOk",function(){return e.onOk()})("onCancel",function(){return e.dialogRef.close()})("onClose",function(){return e.dialogRef.close()}),n.TgZ(1,"content"),n.TgZ(2,"input",1),n.NdJ("ngModelChange",function(r){return e.pointUsed=r}),n.qZA(),n.TgZ(3,"span",2),n._uU(4),n.ALo(5,"number"),n.qZA(),n.qZA(),n.qZA()),2&t&&(n.Q6J("title",e.getLabelLoyalty())("config",e.modalConfig),n.xp6(2),n.Q6J("max",e.availablePoint)("ngModel",e.pointUsed),n.xp6(2),n.hij("/ ",n.lcZ(5,5,e.availablePoint),""))},directives:[y.M,h.Fj,cn.b,h.JJ,h.On],pipes:[_.JJ],styles:["input[_ngcontent-%COMP%] {\n width: 110px;\n}"]}),o})();var ii=m(6802),X=m(5496),vn=m(4290);const ri=["firstNameAutoFocus"];function ai(o,a){1&o&&n._UZ(0,"option",30),2&o&&n.Q6J("value",a.$implicit.Name)}const Rt=function(o){return{"has-error":o}};function ci(o,a){if(1&o&&(n.TgZ(0,"div",31),n.TgZ(1,"i",32),n._uU(2," Name is mandatory."),n.qZA(),n.qZA()),2&o){n.oxw();const t=n.MAs(12);n.Q6J("ngClass",n.VKq(1,Rt,t.touched&&t.invalid))}}function si(o,a){if(1&o&&(n.TgZ(0,"div",31),n.TgZ(1,"i",32),n._uU(2," Mobile is mandatory."),n.qZA(),n.qZA()),2&o){n.oxw();const t=n.MAs(24);n.Q6J("ngClass",n.VKq(1,Rt,t.invalid))}}const li=function(o){return{"border border-danger":o}},Jt=function(o){return{"is-invalid border border-danger":o}};function di(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",8),n.TgZ(1,"div",9),n.TgZ(2,"div",10),n.TgZ(3,"input",11),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw().customer.Title=i}),n.qZA(),n.TgZ(4,"label",12),n._uU(5,"Title"),n.qZA(),n.TgZ(6,"datalist",13),n.YNc(7,ai,1,1,"option",14),n.qZA(),n.qZA(),n.qZA(),n.TgZ(8,"div",15),n.TgZ(9,"div",10),n.TgZ(10,"input",16,17),n.NdJ("keyup",function(){return n.CHM(t),n.oxw().onKeyUpFirstName()})("ngModelChange",function(i){return n.CHM(t),n.oxw().customer.FirstName=i}),n.qZA(),n.YNc(13,ci,3,3,"div",18),n.TgZ(14,"label",19),n._uU(15,"First Name"),n.qZA(),n.qZA(),n.qZA(),n.TgZ(16,"div",20),n.TgZ(17,"div",10),n.TgZ(18,"input",21),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw().customer.LastName=i}),n.qZA(),n.TgZ(19,"label",22),n._uU(20,"Last Name"),n.qZA(),n.qZA(),n.qZA(),n.TgZ(21,"div",23),n.TgZ(22,"div",10),n.TgZ(23,"input",24,25),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw().customer.Mobile=i}),n.qZA(),n.YNc(25,si,3,3,"div",18),n.TgZ(26,"label",26),n._uU(27,"Mobile"),n.qZA(),n.qZA(),n.qZA(),n.TgZ(28,"div",23),n.TgZ(29,"div",10),n.TgZ(30,"input",27,28),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw().customer.Email=i}),n.qZA(),n.TgZ(32,"label",29),n._uU(33,"Email"),n.qZA(),n.qZA(),n.qZA(),n.qZA()}if(2&o){const t=n.MAs(12),e=n.MAs(24),i=n.MAs(31),r=n.oxw();n.xp6(3),n.Q6J("ngModel",r.customer.Title),n.xp6(4),n.Q6J("ngForOf",null==r.options?null:r.options.Titles),n.xp6(3),n.Q6J("ngClass",n.VKq(14,li,t.touched&&t.invalid))("ngModel",r.customer.FirstName)("required",!0),n.xp6(3),n.Q6J("ngIf",t.touched&&t.invalid),n.xp6(5),n.Q6J("ngModel",r.customer.LastName),n.xp6(5),n.Q6J("ngClass",n.VKq(16,Jt,e.invalid))("ngModel",r.customer.Mobile)("required",null==r.config||null==r.config.ModuleContact?null:r.config.ModuleContact.Advance.RequireContactMobile),n.xp6(2),n.Q6J("ngIf",e.invalid),n.xp6(5),n.Q6J("ngClass",n.VKq(18,Jt,i.invalid))("ngModel",r.customer.Email)("required",null==r.config||null==r.config.ModuleContact?null:r.config.ModuleContact.Advance.RequireEmailActivation)}}function pi(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",33),n.TgZ(1,"div",34),n.TgZ(2,"label",35),n._uU(3,"Address"),n.qZA(),n.TgZ(4,"textarea",36),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw().customer.Address=i}),n.qZA(),n.qZA(),n.TgZ(5,"div",37),n.TgZ(6,"ng-select",38),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw().customer.City=i}),n.qZA(),n.qZA(),n.TgZ(7,"div",37),n.TgZ(8,"ng-select",39),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw().customer.NationalityID=i}),n.qZA(),n.qZA(),n.TgZ(9,"div",37),n.TgZ(10,"ng-select",40),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw().customer.Gender=i}),n.qZA(),n.qZA(),n.TgZ(11,"div",23),n.TgZ(12,"div",10),n.TgZ(13,"input",41),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw().customer.Code=i}),n.qZA(),n.TgZ(14,"label",42),n._uU(15,"Member Code"),n.qZA(),n.qZA(),n.qZA(),n.TgZ(16,"div",23),n.TgZ(17,"div",10),n.TgZ(18,"input",43),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw().customer.NationalIDNumber=i}),n.qZA(),n.TgZ(19,"label",44),n._uU(20,"Identification"),n.qZA(),n.qZA(),n.qZA(),n.TgZ(21,"div",45),n.TgZ(22,"datepicker",46),n.NdJ("dateChange",function(i){return n.CHM(t),n.oxw().customer.Birthdate=i}),n.qZA(),n.qZA(),n.TgZ(23,"div",47),n.TgZ(24,"strong"),n._uU(25,"Customer Race"),n.qZA(),n.TgZ(26,"ng-select",48),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw().customer.RaceID=i}),n.qZA(),n.qZA(),n.TgZ(27,"div",47),n.TgZ(28,"strong"),n._uU(29,"Group"),n.qZA(),n.TgZ(30,"ng-select",49),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw().customer.Group=i}),n.qZA(),n.qZA(),n.qZA()}if(2&o){const t=n.oxw();n.xp6(4),n.Q6J("ngModel",t.customer.Address),n.xp6(2),n.Q6J("ngModel",t.customer.City)("items",null==t.options?null:t.options.Cities),n.xp6(2),n.Q6J("ngModel",t.customer.NationalityID)("items",null==t.options?null:t.options.Nationalities),n.xp6(2),n.Q6J("ngModel",t.customer.Gender)("items",null==t.options?null:t.options.Genders),n.xp6(3),n.Q6J("ngModel",t.customer.Code),n.xp6(5),n.Q6J("ngModel",t.customer.NationalIDNumber),n.xp6(4),n.Q6J("date",t.customer.Birthdate),n.xp6(4),n.Q6J("ngModel",t.customer.RaceID)("items",null==t.options?null:t.options.Races),n.xp6(4),n.Q6J("ngModel",t.customer.Group)("items",null==t.options?null:t.options.Groups)}}const Et=function(o){return{selected:o}};let Qt=(()=>{class o{constructor(t,e,i,r,c){this._dialogRef=t,this._posService=e,this._orderDataService=i,this._CustomerHttpService=r,this.data=c,this.modalConfig=new T.O,this.title="",this.customer=new ii.O8,null!=this.data&&(this.customer.FirstName=this.data.name)}get options(){return this._posService.Data.CustomerOptions}get config(){return this._posService.Data.AppConfigJSON}ngOnInit(){this.setEntityID(),this.modalConfig.customWidth="532px",this.modalConfig.title=this.title?this.title:"New Customer",this.modalConfig.bodyScrollable=!0,this.modalConfig.hideScrollbar=!0,this.initModalValidated()}initModalValidated(){this.modalConfig.validated=null!=this.data&&!!this.data.name}ngAfterViewInit(){this.setAutoFocus()}setEntityID(){this.customer.CreatorEntityID=this._orderDataService.Data.Order.EntityID}setAutoFocus(){this.firstNameRef.nativeElement.focus()}onKeyUpFirstName(){this.modalConfig.validated=!!this.customer.FirstName}chooiceDetail(t){this.detailVisible=t}onOk(){const t=this._orderDataService.Data;this.customer.Name=this.getCustomerName(),this._CustomerHttpService.addCustomer(this.customer).then(e=>{t.ContactName=this.customer.Name,this._orderDataService.pushNewValue(t),this._orderDataService.updateCustomerID(e.ID).then(i=>{this.customerData=i,this.close("ok")})})}getCustomerName(){let t="";return t+=" "+(this.customer.FirstName?this.customer.FirstName:""),t+=" "+(this.customer.LastName?this.customer.LastName:""),t=t.trim(),t}close(t){this._dialogRef.close("ok"===t?this.customerData:null)}}return o.\u0275fac=function(t){return new(t||o)(n.Y36(P.so),n.Y36(D),n.Y36(S),n.Y36(_n.r),n.Y36(P.WI))},o.\u0275cmp=n.Xpm({type:o,selectors:[["POS-modal-customer"]],viewQuery:function(t,e){if(1&t&&n.Gf(ri,5),2&t){let i;n.iGM(i=n.CRH())&&(e.firstNameRef=i.first)}},decls:14,vars:10,consts:[[3,"validated","config","onOk","onCancel","onClose"],[1,"container"],["name","form"],["f","ngForm"],[1,"row","align-items-center","py-2","my-2"],[1,"btn","btn-link",3,"ngClass","click"],["class","form-row",4,"ngIf"],["class","form-row mt-2",4,"ngIf"],[1,"form-row"],[1,"col-md-3","mt-3"],[1,"form-label-group"],["list","cust-title","id","Title","name","Title","placeholder","Title",1,"form-control",3,"ngModel","ngModelChange"],["for","Title"],["id","cust-title"],[3,"value",4,"ngFor","ngForOf"],[1,"col-md-5","mt-3"],["type","text","id","FirstName","name","FirstName","placeholder","First Name",1,"form-control",3,"ngClass","ngModel","required","keyup","ngModelChange"],["firstNameAutoFocus","","FirstName","ngModel"],[3,"ngClass",4,"ngIf"],["for","FirstName"],[1,"col-md-4","mt-3"],["type","text","id","LastName","name","LastName","placeholder","Last Name",1,"form-control",3,"ngModel","ngModelChange"],["for","LastName"],[1,"col-md-6","mt-3"],["type","text","id","Phone","name","Phone","placeholder","Mobile",1,"form-control",3,"ngClass","ngModel","required","ngModelChange"],["Phone","ngModel"],["for","Phone"],["type","email","id","email","name","Email","placeholder","Email","email","",1,"form-control",3,"ngClass","ngModel","required","ngModelChange"],["Email","ngModel"],["for","email"],[3,"value"],[3,"ngClass"],[1,"control-label","text-danger"],[1,"form-row","mt-2"],[1,"col-md-12"],[1,"font-weight-bold"],["name","address",1,"form-control",3,"ngModel","ngModelChange"],[1,"col-md-6","mt-5"],["appendTo","body","name","city","bindLabel","Name","bindValue","ID","placeholder","City",1,"tall",3,"ngModel","items","ngModelChange"],["name","NationalityID","bindLabel","Name","bindValue","ID","placeholder","Nationality","appendTo","body",1,"tall",3,"ngModel","items","ngModelChange"],["name","gender","bindLabel","Value","bindValue","Key","placeholder","Gender","appendTo","body",1,"tall",3,"ngModel","items","ngModelChange"],["type","text","name","code","id","code","placeholder","Member Code",1,"form-control",3,"ngModel","ngModelChange"],["for","code"],["type","text","id","Identification","name","Identification","placeholder","Identification",1,"form-control",3,"ngModel","ngModelChange"],["for","Identification"],[1,"col-auto","w-50","mt-3"],["placeholder","Birthday","appearance","outline","name","orderDate",3,"date","dateChange"],[1,"col-md","mt-2"],["name","race","bindLabel","Name","bindValue","ID","placeholder","Race","dropdownPosition","top",1,"tall",3,"ngModel","items","ngModelChange"],["name","group","bindLabel","Name","bindValue","ID","placeholder","Group","dropdownPosition","top",1,"tall",3,"ngModel","items","ngModelChange"]],template:function(t,e){if(1&t&&(n.TgZ(0,"modal-material",0),n.NdJ("onOk",function(){return e.onOk()})("onCancel",function(){return e.close("cancel")})("onClose",function(){return e.close("close")}),n.TgZ(1,"content"),n.TgZ(2,"div",1),n.TgZ(3,"form",2,3),n.TgZ(5,"div",4),n.TgZ(6,"a",5),n.NdJ("click",function(){return e.chooiceDetail(!1)}),n._uU(7," General "),n.qZA(),n.TgZ(8,"a",5),n.NdJ("click",function(){return e.chooiceDetail(!0)}),n._uU(9," Detail "),n.qZA(),n.qZA(),n.TgZ(10,"div"),n.YNc(11,di,34,20,"div",6),n.YNc(12,pi,31,14,"div",7),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n._UZ(13,"footer"),n.qZA()),2&t){const i=n.MAs(4);n.Q6J("validated",i.form.valid)("config",e.modalConfig),n.xp6(6),n.Q6J("ngClass",n.VKq(6,Et,!e.detailVisible)),n.xp6(2),n.Q6J("ngClass",n.VKq(8,Et,e.detailVisible)),n.xp6(3),n.Q6J("ngIf",!e.detailVisible),n.xp6(1),n.Q6J("ngIf",e.detailVisible)}},directives:[y.M,h._Y,h.JL,h.F,_.mk,_.O5,h.Fj,h.JJ,h.On,_.sg,h.Q7,h.on,h.YN,h.Kr,X.w9,vn.QB],styles:['.btn-link[_ngcontent-%COMP%] {\n padding-top: 0px;\n color: #868686;\n padding-bottom: 8px;\n border-radius: unset;\n font-family: "Roboto Slab", serif;\n}\n.btn-link.selected[_ngcontent-%COMP%] {\n color: #3B3B3B;\n border-bottom: 2px solid #07a519;\n}\n.form-label-group[_ngcontent-%COMP%] {\n margin-bottom: 0.2rem !important;\n}']}),o})();var Cn=m(7163);function gi(o,a){1&o&&(n.TgZ(0,"div",6),n._UZ(1,"i",7),n.qZA())}function ui(o,a){if(1&o&&(n.TgZ(0,"div",5),n._UZ(1,"h6",8),n.TgZ(2,"span",9),n._uU(3),n.ALo(4,"number"),n.qZA(),n.qZA()),2&o){const t=n.oxw(2);n.xp6(1),n.Q6J("innerHtml",t.getLabelLoyalty(),n.oJD),n.xp6(2),n.Oqu(null!=t.customerData&&t.customerData.Point?n.lcZ(4,2,null==t.customerData?null:t.customerData.Point):0)}}function _i(o,a){1&o&&(n.TgZ(0,"div",6),n._UZ(1,"i",10),n.qZA())}function hi(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",2),n.NdJ("click",function(){return n.CHM(t),n.oxw().showPointModal.emit()}),n.YNc(1,gi,2,0,"div",3),n.YNc(2,ui,5,4,"div",4),n.YNc(3,_i,2,0,"div",3),n.TgZ(4,"div",5),n.TgZ(5,"h6"),n._uU(6,"Debt"),n.qZA(),n.TgZ(7,"span"),n._uU(8),n.ALo(9,"number"),n.TgZ(10,"span"),n._uU(11),n.ALo(12,"number"),n.qZA(),n.qZA(),n.qZA(),n.qZA()}if(2&o){const t=n.oxw();n.xp6(1),n.Q6J("ngIf",(null==t.customerData?null:t.customerData.Point)>=0),n.xp6(1),n.Q6J("ngIf",(null==t.customerData?null:t.customerData.Point)>=0),n.xp6(1),n.Q6J("ngIf",(null==t.customerData?null:t.customerData.Debt)>0),n.xp6(5),n.hij(" ",n.lcZ(9,5,null==t.customerData?null:t.customerData.Debt)," / "),n.xp6(3),n.Oqu(n.lcZ(12,7,null==t.customerData?null:t.customerData.DebtLimit))}}let mi=(()=>{class o{constructor(){this.showPointModal=new n.vpe}ngOnInit(){}getLabelLoyalty(){if(null!=this.customerData)return null!=this.customerData.Label?""==this.customerData.Label.trim()?"Loyalty":this.customerData.Label:"Loyalty"}}return o.\u0275fac=function(t){return new(t||o)},o.\u0275cmp=n.Xpm({type:o,selectors:[["customer-info"]],inputs:{customerData:"customerData",enabledPoint:"enabledPoint"},outputs:{showPointModal:"showPointModal"},decls:2,vars:1,consts:[[1,"customer-panel"],["class","row customer-info-box arrow-box-bottom no-gutters","data-cy","Loyalty",3,"click",4,"ngIf"],["data-cy","Loyalty",1,"row","customer-info-box","arrow-box-bottom","no-gutters",3,"click"],["class","col-2",4,"ngIf"],["class","col-4",4,"ngIf"],[1,"col-4"],[1,"col-2"],["aria-hidden","true",1,"fa","fa-star","fa-fw"],[3,"innerHtml"],[2,"font-size","12px"],["aria-hidden","true",1,"fas","fa-dollar-sign","fa-fw"]],template:function(t,e){1&t&&(n.TgZ(0,"div",0),n.YNc(1,hi,13,9,"div",1),n.qZA()),2&t&&(n.xp6(1),n.Q6J("ngIf",e.enabledPoint))},directives:[_.O5],pipes:[_.JJ],styles:[".customer-panel[_ngcontent-%COMP%] {\n position: absolute;\n top: -61px;\n z-index: 1030;\n right: 60%;\n margin: auto;\n}\n.customer-panel[_ngcontent-%COMP%] > div.row[_ngcontent-%COMP%] {\n text-align: left;\n border: 1px solid #bbbbbb;\n padding: 5px;\n margin-bottom: 2px;\n position: relative;\n display: flex;\n left: 100px;\n}\n.customer-panel[_ngcontent-%COMP%] > div.row[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n margin-right: 0px;\n font-size: 1.25rem;\n padding-top: 4px;\n color: #337ab7;\n}\n.customer-panel[_ngcontent-%COMP%] > div.row[_ngcontent-%COMP%] div.col-3[_ngcontent-%COMP%] {\n text-align: left;\n right: 8px;\n}\n.customer-panel[_ngcontent-%COMP%] > div.row[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n font-size: 0.625rem;\n margin-top: 4px;\n}\n.customer-info-box[_ngcontent-%COMP%] {\n min-width: 220px;\n background-color: #ffffe1 !important;\n}\n.customer-info-box[_ngcontent-%COMP%]:after {\n border-width: 6px !important;\n margin-left: -6px !important;\n border-top-color: #ffffe1 !important;\n}\n.customer-info-box[_ngcontent-%COMP%]:before {\n border-width: 7px !important;\n margin-left: -7px !important;\n}"]}),o})();function fi(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"customer-info",15),n.NdJ("showPointModal",function(){return n.CHM(t),n.oxw(2).cashierShowPointModal()}),n.qZA()}if(2&o){const t=n.oxw(2);n.Q6J("customerData",t.customerData)("enabledPoint",null==t.selectedRegister?null:t.selectedRegister.MemberPoint)}}function Ci(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"a",16),n.NdJ("click",function(){return n.CHM(t),n.oxw(2).openCustomerModal()}),n._UZ(1,"i",17),n.qZA()}}function Pi(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div"),n.YNc(1,fi,1,2,"customer-info",11),n._UZ(2,"i",12),n.TgZ(3,"autocompleteV2",13),n.NdJ("onInputChange",function(i){return n.CHM(t),n.oxw().onInputCustomer(i)})("onSelect",function(i){return n.CHM(t),n.oxw().onCustomerSelected(i)})("onInputEnter",function(i){return n.CHM(t),n.oxw().onScanCodeCustomer(i)})("onOptionsEmpty",function(i){return n.CHM(t),n.oxw().onOptionsEmpty(i)}),n.qZA(),n.YNc(4,Ci,2,0,"a",14),n.qZA()}if(2&o){const t=n.oxw();n.Gre("col-auto customer ",t.salesOrderNumberingVisible?"small":""," mobile-view"),n.xp6(1),n.Q6J("ngIf",t.customerData&&((null==t.customerData?null:t.customerData.Point)>=0||(null==t.customerData?null:t.customerData.Debt)>0)&&t.checkCustomerEmpty(t.posData.Order.CustomerID)),n.xp6(2),n.Q6J("inputTextValue",t.posData.ContactName)("inputLock",t.role.CustomerInputLock),n.xp6(1),n.Q6J("ngIf",t.role.Contacts&&t.customerQuickAddEnabled||t.role.ContactsCreate&&t.customerQuickAddEnabled)}}function Oi(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div"),n._UZ(1,"i",18),n.TgZ(2,"ng-select",19),n.NdJ("ngModelChange",function(i){n.CHM(t);const r=n.oxw();return(null==r.posData?null:r.posData.Order).SalesID=i})("ngModelChange",function(){return n.CHM(t),n.oxw().updateSales()}),n.qZA(),n.qZA()}if(2&o){const t=n.oxw();n.Gre("col-auto d-flex flex-row sales ",t.salesOrderNumberingVisible?"small":""," mobile-view"),n.xp6(2),n.Q6J("disabled",!t.role.SalesPerson)("items",t.sales)("ngModel",null==t.posData?null:t.posData.Order.SalesID)}}const Mi=function(o){return{"date-warnings":o}};let bi=(()=>{class o{constructor(t,e,i,r,c,l,d,s,p,f,M,b){this._onlineStatusService=t,this._outletService=e,this._orderDataService=i,this._posService=r,this._matDialog=c,this._orderProcessorService=l,this._CustomerHttpService=d,this._toastrService=s,this._userRoleService=p,this._CoreHttpService=f,this._invoiceCalculatorService=M,this._shoppingCartService=b,this.selectedRegister=new Vn,this.salesOrderNumberingVisible=!1,this.customerQuickAddEnabled=!0,this.role=new K.Q,this.newDate=new Date,this.posData=new $.m,this.posState=O.IsNew,this.SalesPerson=!0,this.appConfig=new ln,this.destroy$=new N.xQ}get isEditState(){return this.posState===O.IsEdit}ngOnInit(){this.appConfig=this._posService.Data.AppConfigJSON,this.customerQuickAddEnabled=this.appConfig.ModuleSell.Customer.QuickAddEnabled,this.salesOrderNumberingVisible=this.appConfig.ModuleSell.Numbering.SalesOrderNumberVisible,this.subscribeToValueChanges()}subscribeToValueChanges(){this.subscribeToCartItemsChange(),this._onlineStatusService.getOnlineStatus$().pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.isOnline=t}),this._orderDataService.Data$.pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.posData=t}),this._userRoleService.Data$.pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.role=t}),this._orderProcessorService.Data$.pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.customerData=this._CustomerHttpService.Data,this.posState=t.posState,t.posState===O.isPark&&(this.posData.ContactName=null)}),this._outletService.Data$.pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.selectedRegister=t,this.sales=t.ListSales})}subscribeToCartItemsChange(){let t=0;this._orderDataService.Data$.pipe((0,C.R)(this.destroy$),(0,Un.h)(e=>t!=e.TotalQuantity)).subscribe(e=>{t=e.TotalQuantity,this.reedemPointToDiscount()})}openRegisterModal(){this._matDialog.open(Pt,{id:"registerModal"}).afterClosed().subscribe(e=>{e&&this.openOpeningCashModal()})}openOpeningCashModal(){this.appConfig.ModuleShift.Closure.Enabled&&this.appConfig.ModuleShift.Closure.OpeningCashRequired&&this._matDialog.open(Ot).afterClosed().subscribe(e=>{e&&null!=e.amount&&(this._CoreHttpService.recordOpeningCash({RegisterID:this.posData.Order.RegisterID,OpAmount:e.amount}),document.getElementById("product").focus())})}openCustomerModal(){this._matDialog.open(Qt,{autoFocus:!1}).afterClosed().subscribe(t=>{t&&this._orderProcessorService.pushNewValue(this._orderProcessorService.Data)})}cashierShowPointModal(){this._matDialog.open(oi,{data:{pointUsed:this.customerData.PointUsed,availablePoint:this.customerData.Point,label:this.customerData.Label}}).afterClosed().subscribe(e=>{if(e){let i=e.pointUsed*this.appConfig.ApplicationLoyalty.LoyaltyPoint.RedeemPointValue;this.posData.Order.PointUsed=e.pointUsed;const r=this.posData.RedeemableAmount;i>r&&(i=r),this.posData.Order.DiscountAmount=i,this._orderDataService.pushNewValue(this.posData)}})}updateSales(){this._orderDataService.pushNewValue(this.posData)}checkIsNotToday(t){if(t){const e=new Date;e.setHours(0,0,0,0),this.isNotToday=e.getTime()!=t.getTime()}}inputNumberModelChanged(t){this.posData.Order.Number=t}onInputCustomer(t){if(this._orderProcessorService.Data.InputTextValue=t,null!==t&&0==t.length){const e=this.appConfig.ApplicationLoyalty.Rules.PrefferedPayment;this.resetCustomerPricebook(),this.posData.Order.CustomerID=null,this._CustomerHttpService.Data=new $n.B,this.customerData=new $n.B,this.updateDiscountRate(),e&&this.customerData.Point>0&&(this.posData.Order.PointUsed=0,this.posData.Order.DiscountAmount=0,this._orderDataService.pushNewValue())}}resetCustomerPricebook(){if(this.customerData){let t=this.customerData.PricebookID;g.gT.IsNotEmpty(t)&&(this.posData.CartItems=this.posData.CartItems.map(i=>(i.PriceBookID==t&&(i.Discount=i.Variant.PriceDiscount,i.Note=i.Variant.PriceNote,i.PriceNote=i.Variant.PriceNote,i.PriceBookID=g.gT.GuidEmpty,i.Price=i.Variant.UnitPrice,i.UnitPrice=i.Variant.UnitPrice),i)))}}onOptionsEmpty(t){this._toastrService.warning(`Customer with name ${t} is not found`,"Warning")}onScanCodeCustomer(t){this.posData.ContactName=null,0!==t.length&&this._CustomerHttpService.getCustomerByCode(t).then(e=>{this.posData.ContactName=e.Display,this.onCustomerSelected(e.ID)})}onCustomerSelected(t){this.resetCartOnChangeCustomer(t),g.gT.IsNotEmpty(t)&&this._orderDataService.updateCustomerID(t).then(e=>{this.applyCustomerPricebook(e),this.updateTaxCustomer(e.TaxTypeId),g.gT.IsNotEmpty(e.SalesID)&&(this.posData.Order.SalesID=e.SalesID),e.EntityID==g.gT.GuidEmpty?this.customerData=e:e.EntityID!=this.posData.Order.EntityID?(this.posData.Order.CustomerID=null,this.posData.ContactName=null,alert("your customer has a exclusive outlet")):this.customerData=e,null==this.customerData.DiscountRate&&(this.customerData.DiscountRate=0),this.updateDiscountRate(this.customerData.DiscountRate),this.reedemPointToDiscount()})}applyCustomerPricebook(t){if(g.gT.IsNotEmpty(t.PricebookID)){let e=this.posData.CartItems.map(i=>(0!==i.Variant.PriceBook.length&&i.Variant.PriceBook.forEach(r=>{r.ID===t.PricebookID&&(i=this._shoppingCartService.applyPricebookToItem(i,r))}),i));this.posData.CartItems=e}}updateDiscountRate(t=0){this.posData.Order.Discount=t,this._orderDataService.pushNewValue()}updateTaxCustomer(t){let i=this._posService.Data.Taxes.find(r=>r.ID==t);i&&(this._orderDataService.Data.Order.TaxTypeID=i.ID,this._invoiceCalculatorService.tax=i,this._orderDataService.pushNewValue())}reedemPointToDiscount(){const t=this.appConfig.ApplicationLoyalty.Rules.PrefferedPayment,e=this._orderProcessorService.Data.posState==O.IsEdit;if(g.gT.IsNotEmpty(this.posData.Order.CustomerID)&&!e){if(t){const i=this.appConfig.ApplicationLoyalty.LoyaltyPoint.RedeemPointValue,r=this.customerData.Point?this.customerData.Point:0,c=this._invoiceCalculatorService.GetCashAndPointAmountCart();let l=r*i,d=r;l>c&&(l=c,d=Math.ceil(l/i)),this.customerData.PointUsed=d,this.posData.Order.PointUsed=d,this.posData.Order.DiscountAmount=l}else this.customerData.PointUsed=0,this.posData.Order.PointUsed=0,this.posData.Order.DiscountAmount=0;this._orderDataService.pushNewValue()}}checkCustomerEmpty(t){let e=g.gT.IsNotEmpty(t);return t&&t.length<g.gT.GuidEmpty.length&&(e=!1),e}resetCartOnChangeCustomer(t){this.selectedCustomerId!=t&&this.appConfig.ModuleSell.Customer.ClearCartOnChange&&(this.posData.CartItems=[],this._orderDataService.pushNewValue(this.posData)),this.selectedCustomerId=t}displayRegisterName(t){let e="Choose an Outlet";const i=this.findOutletRegisterById(t.RegisterID);return null!=i&&null!=i.Name&&(e=i.Name),e}findOutletRegisterById(t){return this._posService.Data.Registers.find(r=>r.ID===t)}ngOnDestroy(){this._CustomerHttpService.Data=null,this.destroy$.next(!0),this.destroy$.complete()}}return o.\u0275fac=function(t){return new(t||o)(n.Y36(nn.q),n.Y36(F),n.Y36(S),n.Y36(D),n.Y36(P.uw),n.Y36(R),n.Y36(_n.r),n.Y36(Z._W),n.Y36(en),n.Y36(st),n.Y36(G),n.Y36(hn))},o.\u0275cmp=n.Xpm({type:o,selectors:[["pos-toolbar"]],decls:15,vars:29,consts:[[1,"row","header","no-gutters","py-4"],["data-cy","ChooseRegister"],["title","Outlet",1,"fa","fa-home"],["placeholder","Choose an outlet","readonly","",1,"outlet","cursor","mobile-view",3,"disabled","value","click"],["data-cy","soDate","name","orderDate",3,"ngClass","disabled","date","dateChange"],["aria-hidden","true","title","Sales order number",1,"fa","fa-hashtag"],["type","text","data-cy","soNumber","required","","placeholder","Sales Order Number",1,"number",3,"ngModel","disabled","ngModelChange"],[3,"hidden"],["aria-hidden","true","title","Invoice number",1,"far","fa-file-alt"],["type","text","required","","placeholder","Invoice Number",1,"number",3,"ngModel","disabled","ngModelChange"],[3,"class",4,"ngIf"],[3,"customerData","enabledPoint","showPointModal",4,"ngIf"],["aria-hidden","true","title","Customer",1,"fa","fa-user"],["requestUrl","/API/AC/GetCustomerSuggestion","placeholder","Customer","inputID","ContactID",3,"inputTextValue","inputLock","onInputChange","onSelect","onInputEnter","onOptionsEmpty"],["id","btnCustomer","class","ml-1","title","New Customer Form",3,"click",4,"ngIf"],[3,"customerData","enabledPoint","showPointModal"],["id","btnCustomer","title","New Customer Form",1,"ml-1",3,"click"],["aria-hidden","true",1,"fa","fa-plus-circle"],["aria-hidden","true","title","sales",1,"fa","fa-id-badge","align-middle"],["bindLabel","Name","bindValue","ID","placeholder","Sales Person","data-cy","SalesPerson",1,"salesPerson",3,"disabled","items","ngModel","ngModelChange"]],template:function(t,e){1&t&&(n.TgZ(0,"div",0),n.TgZ(1,"div",1),n._UZ(2,"i",2),n.TgZ(3,"input",3),n.NdJ("click",function(){return e.openRegisterModal()}),n.ALo(4,"limitTo"),n.qZA(),n.qZA(),n.TgZ(5,"div"),n.TgZ(6,"datepicker",4),n.NdJ("dateChange",function(r){return(null==e.posData?null:e.posData.Order).Date=r})("dateChange",function(r){return e.checkIsNotToday(r)}),n.qZA(),n.qZA(),n.TgZ(7,"div"),n._UZ(8,"i",5),n.TgZ(9,"input",6),n.NdJ("ngModelChange",function(r){return e.inputNumberModelChanged(r)}),n.qZA(),n.qZA(),n.TgZ(10,"div",7),n._UZ(11,"i",8),n.TgZ(12,"input",9),n.NdJ("ngModelChange",function(r){return(null==e.posData?null:e.posData.Invoice).Number=r}),n.qZA(),n.qZA(),n.YNc(13,Pi,5,7,"div",10),n.YNc(14,Oi,3,6,"div",10),n.qZA()),2&t&&(n.xp6(1),n.Gre("col-auto ",e.salesOrderNumberingVisible?"small":"",""),n.xp6(2),n.Q6J("disabled",e.isEditState)("value",n.xi3(4,24,e.displayRegisterName(e.selectedRegister),20)),n.xp6(2),n.Gre("col-auto date ",e.salesOrderNumberingVisible?"small":""," mobile-view"),n.xp6(1),n.Q6J("ngClass",n.VKq(27,Mi,e.isNotToday))("disabled",!e.role.DateEditor)("date",null==e.posData?null:e.posData.Order.Date),n.xp6(1),n.Gre("col-auto ",e.salesOrderNumberingVisible?"small":""," mobile-view"),n.xp6(2),n.Q6J("ngModel",null==e.posData?null:e.posData.Order.Number)("disabled",!e.role.NumberEditor),n.xp6(1),n.Gre("col-auto ",e.salesOrderNumberingVisible?"small":""," mobile-view"),n.Q6J("hidden",!e.salesOrderNumberingVisible),n.xp6(2),n.Q6J("ngModel",null==e.posData?null:e.posData.Invoice.Number)("disabled",!e.role.NumberEditor),n.xp6(1),n.Q6J("ngIf",e.isOnline),n.xp6(1),n.Q6J("ngIf",(null==e.sales?null:e.sales.length)>0&&e.isOnline&&e.SalesPerson))},directives:[vn.QB,_.mk,h.Fj,h.Q7,h.JJ,h.On,_.O5,Cn.J,mi,X.w9],pipes:[J.OI],styles:[".small[_ngcontent-%COMP%] {\n margin-right: 5px !important;\n}\n.small[_ngcontent-%COMP%] .number[_ngcontent-%COMP%] {\n width: 143px;\n}\n.small[_ngcontent-%COMP%] select[_ngcontent-%COMP%] {\n width: 140px;\n}\n.small[_ngcontent-%COMP%] .select2-container[_ngcontent-%COMP%] {\n font-size: 12px;\n}\n.col-auto[_ngcontent-%COMP%] {\n margin-right: 22px;\n font-size: 0.875rem;\n height: -moz-fit-content;\n height: fit-content;\n}\n.col-auto[_ngcontent-%COMP%]:last-child {\n margin-right: 0;\n}\n.col-auto.date[_ngcontent-%COMP%] {\n margin-left: 25px;\n}\n.col-auto.date[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n top: 3px !important;\n}\n.col-auto.date[_ngcontent-%COMP%] datepicker[_ngcontent-%COMP%] mat-form-field {\n padding-right: 0 !important;\n background: white;\n}\n.col-auto.date[_ngcontent-%COMP%] datepicker[_ngcontent-%COMP%] mat-form-field .mat-form-field-wrapper {\n padding-bottom: 0;\n}\n.col-auto.date[_ngcontent-%COMP%] datepicker[_ngcontent-%COMP%] .mat-form-field-flex {\n width: 117px;\n height: 36px;\n border: 1px solid #dddddd;\n}\n.col-auto.date[_ngcontent-%COMP%] datepicker[_ngcontent-%COMP%] .mat-form-field-infix {\n border: none !important;\n top: 5px;\n}\n.col-auto.date[_ngcontent-%COMP%] datepicker[_ngcontent-%COMP%] .mat-form-field-infix input {\n font-size: 14px;\n color: black;\n padding-left: 5px;\n}\n.col-auto.date[_ngcontent-%COMP%] datepicker[_ngcontent-%COMP%] .mat-form-field-suffix {\n left: -128px;\n top: 2px;\n}\n.col-auto.date[_ngcontent-%COMP%] datepicker[_ngcontent-%COMP%] .mat-form-field-suffix .mat-button-wrapper {\n color: black;\n}\n.col-auto.date[_ngcontent-%COMP%] datepicker[_ngcontent-%COMP%] .mat-form-field-underline {\n display: none;\n}\n.col-auto.date[_ngcontent-%COMP%] datepicker.date-warnings[_ngcontent-%COMP%] .mat-form-field-flex {\n background: repeating-linear-gradient(-60deg, #fcf3cf, #fcf3cf 15px, #f9e79f 15px, #f9e79f 30px) !important;\n}\n.col-auto[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 1.25rem;\n color: #3B3B3B;\n margin-right: 5px;\n line-height: unset !important;\n position: relative;\n top: 2px;\n}\n.col-auto[_ngcontent-%COMP%] input[_ngcontent-%COMP%], .col-auto[_ngcontent-%COMP%] span.outlet[_ngcontent-%COMP%] {\n padding: 4px 8px 3px 5px;\n border: 1px solid #dddddd;\n font-size: 0.875rem;\n}\n.col-auto[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n height: 36px;\n}\n.col-auto[_ngcontent-%COMP%] input[_ngcontent-%COMP%]:disabled {\n background-color: #e9ecef !important;\n opacity: 1 !important;\n color: rgba(0, 0, 0, 0.38) !important;\n}\n.col-auto[_ngcontent-%COMP%] .outlet[_ngcontent-%COMP%] {\n width: 165px;\n color: #337ab7;\n background: #ffffff;\n}\n.col-auto[_ngcontent-%COMP%] .number[_ngcontent-%COMP%] {\n width: 135px;\n}\n.col-auto.customer[_ngcontent-%COMP%] autocomplete[_ngcontent-%COMP%] input {\n font-size: 14px;\n}\n.col-auto.customer[_ngcontent-%COMP%] autocompleteV2[_ngcontent-%COMP%] input {\n font-size: 14px;\n}\n.col-auto.sales[_ngcontent-%COMP%] ng-select[_ngcontent-%COMP%] input {\n font-size: 14px;\n}\n.col-auto[_ngcontent-%COMP%] ng-select[_ngcontent-%COMP%] {\n width: 135px;\n}\n.header[_ngcontent-%COMP%] {\n border-bottom: 1px solid #dde2eb;\n}\n@media only screen and (max-width: 576px) {\n .mobile-view[_ngcontent-%COMP%] {\n margin-top: 5px;\n }\n .mobile-view[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n width: 75% !important;\n }\n}"]}),o})();var xi=m(6690);let Ut=(()=>{class o{constructor(t,e){this.data=t,this._dialogRef=e,this.modalConfig=new T.O,this.message=t.message,this.initModal()}initModal(){this.modalConfig.title=this.data.title,this.modalConfig.headerType=Y.n.Success,this.modalConfig.hideCancel=!0,this.modalConfig.hideOk=!0,this.modalConfig.hideFooter=!0}close(){this._dialogRef.close()}}return o.\u0275fac=function(t){return new(t||o)(n.Y36(P.WI),n.Y36(P.so))},o.\u0275cmp=n.Xpm({type:o,selectors:[["POS-modal-info"]],decls:4,vars:2,consts:[[3,"config","onCancel"],[1,"font-weight-normal","d-flex","justify-content-center"]],template:function(t,e){1&t&&(n.TgZ(0,"modal-material",0),n.NdJ("onCancel",function(){return e.close()}),n.TgZ(1,"content"),n.TgZ(2,"h4",1),n._uU(3),n.qZA(),n.qZA(),n.qZA()),2&t&&(n.Q6J("config",e.modalConfig),n.xp6(3),n.Oqu(e.message))},directives:[y.M],styles:[""]}),o})();var yn=(()=>(function(o){o[o.RequireAuthorization=0]="RequireAuthorization",o[o.DoNotRequireAuthorization=1]="DoNotRequireAuthorization",o[o.DoNotRequireAuthorizationNSyncCost=2]="DoNotRequireAuthorizationNSyncCost"}(yn||(yn={})),yn))(),yi=m(8623),Qn=(()=>(function(o){o[o.SELL_INPUT=0]="SELL_INPUT",o[o.PRODUCT=1]="PRODUCT"}(Qn||(Qn={})),Qn))(),Ft=m(1102),Lt=m(235);function Di(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"tr"),n.TgZ(1,"td"),n._uU(2),n.qZA(),n.TgZ(3,"td"),n.TgZ(4,"input",3),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw().otherModel=i})("ngModelChange",function(){return n.CHM(t),n.oxw().onOtherChange()}),n.qZA(),n.qZA(),n.TgZ(5,"td"),n._uU(6,"X"),n.qZA(),n.TgZ(7,"td"),n.TgZ(8,"input",3),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw().otherMultiplier=i})("ngModelChange",function(){return n.CHM(t),n.oxw().onOtherChange()}),n.qZA(),n.qZA(),n.qZA()}if(2&o){const t=n.oxw();n.xp6(2),n.Oqu(null==t.appConfigJSON||null==t.appConfigJSON.ModuleSell||null==t.appConfigJSON.ModuleSell.ProductDialog?null:t.appConfigJSON.ModuleSell.ProductDialog.UnitQtyLabel),n.xp6(2),n.Q6J("disabled",t.qtyDisabled)("ngModel",t.otherModel),n.xp6(4),n.Q6J("disabled",t.qtyDisabled)("ngModel",t.otherMultiplier)}}let Si=(()=>{class o{constructor(t){this._posService=t,this.qtyChange=new n.vpe,this.priceChange=new n.vpe,this.otherChange=new n.vpe,this.qtyDisabled=!1,this.priceDisabled=!1,this.appConfigJSON=this._posService.Data.AppConfigJSON}onPriceChange(){let t=this.priceModel?parseFloat(this.priceModel):0,e=this.priceMultiplier?parseFloat(this.priceMultiplier):0;this.priceChange.emit(t*e)}onQtyChange(){let t=this.qtyModel?parseFloat(this.qtyModel):0,e=this.qtyMultiplier?parseFloat(this.qtyMultiplier):0;this.qtyChange.emit(t*e)}onOtherChange(){let t=this.otherModel?parseFloat(this.otherModel):0,e=this.otherMultiplier?parseFloat(this.otherMultiplier):0;this.otherChange.emit(t*e)}}return o.\u0275fac=function(t){return new(t||o)(n.Y36(D))},o.\u0275cmp=n.Xpm({type:o,selectors:[["POS-calculator"]],inputs:{left:"left",top:"top",appConfigJSON:"appConfigJSON",qtyDisabled:"qtyDisabled",priceDisabled:"priceDisabled"},outputs:{priceChange:"priceChange",qtyChange:"qtyChange",otherChange:"otherChange"},decls:24,vars:15,consts:[[1,"price_calculator","arrow_box","arrow_box_left"],[1,"header","bg-warning","text-white"],[1,"table","table-sm","table-borderless"],["type","text",3,"disabled","ngModel","ngModelChange"],[4,"ngIf"]],template:function(t,e){1&t&&(n.TgZ(0,"div",0),n.TgZ(1,"span",1),n._uU(2,"Calculator"),n.qZA(),n.TgZ(3,"table",2),n.TgZ(4,"tbody"),n.TgZ(5,"tr"),n.TgZ(6,"td"),n._uU(7,"Qty"),n.qZA(),n.TgZ(8,"td"),n.TgZ(9,"input",3),n.NdJ("ngModelChange",function(r){return e.qtyModel=r})("ngModelChange",function(){return e.onQtyChange()}),n.qZA(),n.qZA(),n.TgZ(10,"td"),n._uU(11,"X"),n.qZA(),n.TgZ(12,"td"),n.TgZ(13,"input",3),n.NdJ("ngModelChange",function(r){return e.qtyMultiplier=r})("ngModelChange",function(){return e.onQtyChange()}),n.qZA(),n.qZA(),n.qZA(),n.YNc(14,Di,9,5,"tr",4),n.TgZ(15,"tr"),n.TgZ(16,"td"),n._uU(17,"Price"),n.qZA(),n.TgZ(18,"td"),n.TgZ(19,"input",3),n.NdJ("ngModelChange",function(r){return e.priceModel=r})("ngModelChange",function(){return e.onPriceChange()}),n.qZA(),n.qZA(),n.TgZ(20,"td"),n._uU(21,"X"),n.qZA(),n.TgZ(22,"td"),n.TgZ(23,"input",3),n.NdJ("ngModelChange",function(r){return e.priceMultiplier=r})("ngModelChange",function(){return e.onPriceChange()}),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.qZA()),2&t&&(n.Udp("position","absolute")("left",e.left+"%")("top",e.top+"%"),n.xp6(9),n.Q6J("disabled",e.qtyDisabled)("ngModel",e.qtyModel),n.xp6(4),n.Q6J("disabled",e.qtyDisabled)("ngModel",e.qtyMultiplier),n.xp6(1),n.Q6J("ngIf",null==e.appConfigJSON||null==e.appConfigJSON.ModuleSell||null==e.appConfigJSON.ModuleSell.ProductDialog?null:e.appConfigJSON.ModuleSell.ProductDialog.UnitQtyLabel),n.xp6(5),n.Q6J("disabled",e.priceDisabled)("ngModel",e.priceModel),n.xp6(4),n.Q6J("disabled",e.priceDisabled)("ngModel",e.priceMultiplier))},directives:[h.Fj,h.JJ,h.On,_.O5],styles:['div.price_calculator[_ngcontent-%COMP%] {\n left: calc((100vw - 725px) / 2 - 250px);\n top: 85px;\n width: 250px;\n height: 150px;\n padding-top: 20px;\n border-radius: 3px;\n position: fixed !important;\n}\ndiv.price_calculator[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n border: 0px !important;\n border-bottom: 1px solid #dddddd !important;\n background-color: transparent !important;\n padding: 8px 5px 5px 5px !important;\n width: 60px !important;\n}\n.arrow_box[_ngcontent-%COMP%] {\n position: relative;\n background: #ffffff;\n border: 2px solid #dddddd;\n}\n.arrow_box[_ngcontent-%COMP%]:after, .arrow_box[_ngcontent-%COMP%]:before {\n right: 100%;\n border: solid transparent;\n content: " ";\n height: 0;\n width: 0;\n position: absolute;\n pointer-events: none;\n}\n.arrow_box[_ngcontent-%COMP%]:after {\n border-color: rgba(238, 238, 238, 0);\n border-right-color: #ffffff;\n border-width: 6px;\n top: 50%;\n margin-top: -6px;\n}\n.arrow_box[_ngcontent-%COMP%]:before {\n border-color: rgba(200, 211, 223, 0);\n border-right-color: #dddddd;\n border-width: 9px;\n top: 50%;\n margin-top: -9px;\n}\n.arrow_box[_ngcontent-%COMP%] > .header[_ngcontent-%COMP%] {\n font-size: 0.625rem;\n padding: 1px 2px 1px 3px;\n position: absolute;\n top: 0;\n right: 0;\n border-radius: 0px 0px 0px 3px;\n}\n.arrow_box_left[_ngcontent-%COMP%]:after, .arrow_box_left[_ngcontent-%COMP%]:before {\n left: 100% !important;\n}\n.arrow_box_left[_ngcontent-%COMP%]:after {\n border-left-color: #ffffff !important;\n border-right-color: transparent !important;\n}\n.arrow_box_left[_ngcontent-%COMP%]:before {\n border-left-color: #dddddd !important;\n border-right-color: transparent !important;\n}\n.more[_ngcontent-%COMP%] {\n position: absolute;\n top: 0px;\n left: 30px;\n}']}),o})(),wi=(()=>{class o{}return o.\u0275fac=function(t){return new(t||o)},o.\u0275mod=n.oAB({type:o}),o.\u0275inj=n.cJS({providers:[],imports:[[_.ez,h.u5]]}),o})();const Ti=["quantity"],ki=["price"],Ii=["discount"],Ht=function(o){return{selected:o}};function Ai(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"a",8),n.NdJ("click",function(){n.CHM(t);const i=n.oxw();return i.onTabChange(i.modalItemState.PRODUCT)}),n._uU(1," Product "),n.qZA()}if(2&o){const t=n.oxw();n.Q6J("ngClass",n.VKq(1,Ht,t.modalItemState.PRODUCT==t.currentState))}}function Zi(o,a){if(1&o){const t=n.EpF();n.ynx(0),n.TgZ(1,"div",18),n.TgZ(2,"div",16),n.TgZ(3,"autocompleteV2",19,20),n.NdJ("onSelect",function(i){return n.CHM(t),n.oxw(2).onAddItem(i)})("onInputEnter",function(i){return n.CHM(t),n.oxw(2).onEnterProductCode(i)}),n.qZA(),n.qZA(),n.qZA(),n.BQk()}if(2&o){const t=n.oxw(2);n.xp6(3),n.Q6J("localStorage","products")("inputTextValue",null==t.cartItem||null==t.cartItem.Variant?null:t.cartItem.Variant.Name)("clearOnSelect",!1)}}function Ni(o,a){if(1&o&&(n.TgZ(0,"span"),n._uU(1),n.qZA()),2&o){const t=n.oxw(3);n.xp6(1),n.hij("(",null==t.cartItem.Variant?null:t.cartItem.Variant.UOMName,")")}}function qi(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",33),n.TgZ(1,"strong"),n.TgZ(2,"span"),n._uU(3),n.qZA(),n.qZA(),n.TgZ(4,"input",34),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw(3).cartItem.UnitQuantity=i}),n.qZA(),n.qZA()}if(2&o){const t=n.oxw(3);n.xp6(3),n.Oqu(t.AppConfigJSON.ModuleSell.ProductDialog.UnitQtyLabel),n.xp6(1),n.Q6J("preventNegative",!0)("readOnly",null==t.cartItem?null:t.cartItem.PromotionGift)("ngModel",t.cartItem.UnitQuantity)}}function Ri(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",35),n.TgZ(1,"strong"),n._uU(2,"Disc. Amount"),n.qZA(),n.TgZ(3,"input",36),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw(3).cartItem.DiscountAmount=i}),n.qZA(),n.qZA()}if(2&o){const t=n.oxw(3);n.xp6(3),n.Q6J("simpleKeyboard",t.keyboard)("ngModel",t.cartItem.DiscountAmount)("readonly",!t.role.Discount||(null==t.cartItem?null:t.cartItem.PromotionGift))}}function Ji(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",38),n.TgZ(1,"strong"),n._uU(2,"Sales Person"),n.qZA(),n.TgZ(3,"ng-select",39),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw().$implicit.SalesID=i}),n.qZA(),n.qZA()}if(2&o){const t=n.oxw().$implicit,e=n.oxw(4);n.xp6(3),n.Q6J("items",e.sales)("ngModel",t.SalesID)}}function Ei(o,a){if(1&o&&(n.TgZ(0,"div"),n.YNc(1,Ji,4,2,"div",32),n.qZA()),2&o){const t=n.oxw(4);n.xp6(1),n.Q6J("ngIf",t.isEmptySalesID)}}function Qi(o,a){if(1&o&&(n.ynx(0),n.YNc(1,Ei,2,1,"div",37),n.BQk()),2&o){const t=n.oxw(3);n.xp6(1),n.Q6J("ngForOf",t.cartItem.SalesOrderItemCommission)}}function Ui(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",38),n.TgZ(1,"strong"),n._uU(2,"Fulfillment From"),n.qZA(),n.TgZ(3,"ng-select",40),n.NdJ("ngModelChange",function(){return n.CHM(t),n.oxw(3).onDeliveryEntityChange()})("ngModelChange",function(i){return n.CHM(t),n.oxw(3).cartItem.EntityID=i}),n.qZA(),n.qZA()}if(2&o){const t=n.oxw(3);n.xp6(3),n.Q6J("items",t.entities)("ngModel",t.cartItem.EntityID)}}function Fi(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",38),n.TgZ(1,"strong"),n._uU(2,"Pricebook"),n.qZA(),n.TgZ(3,"ng-select",41),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw(3).pricebookId=i})("ngModelChange",function(){return n.CHM(t),n.oxw(3).pricebookChange()}),n.qZA(),n.qZA()}if(2&o){const t=n.oxw(3);n.xp6(3),n.Q6J("items",null==t.cartItem||null==t.cartItem.Variant?null:t.cartItem.Variant.PriceBook)("ngModel",t.pricebookId)("disabled",t.pricebookDisabled)}}function Li(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",18),n.TgZ(1,"div",21),n.TgZ(2,"strong"),n._uU(3," Qty "),n.YNc(4,Ni,2,1,"span",7),n.qZA(),n.TgZ(5,"input",22,23),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw(2).updateItemQuantity(i)}),n.qZA(),n.qZA(),n.YNc(7,qi,5,4,"div",24),n.TgZ(8,"div",25),n.TgZ(9,"strong"),n._uU(10,"Price"),n.qZA(),n.TgZ(11,"input",26,27),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw(2).cartItem.Price=i}),n.qZA(),n.qZA(),n.TgZ(13,"div",28),n.TgZ(14,"strong"),n._uU(15,"Discount %"),n.qZA(),n.TgZ(16,"input",29,30),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw(2).updateDiscountPercentage(i)}),n.qZA(),n.qZA(),n.YNc(18,Ri,4,3,"div",31),n.YNc(19,Qi,2,1,"ng-container",7),n.TgZ(20,"div"),n.YNc(21,Ui,4,2,"div",32),n.qZA(),n.TgZ(22,"div"),n.YNc(23,Fi,4,3,"div",32),n.qZA(),n.qZA()}if(2&o){const t=n.oxw(2);n.xp6(4),n.Q6J("ngIf",(null==t.cartItem.Variant?null:t.cartItem.Variant.UOM)&&(null==t.cartItem.Variant?null:t.cartItem.Variant.UOMName)),n.xp6(1),n.Q6J("simpleKeyboard",t.keyboard)("preventNegative",!t.role.Return)("ngModel",t.cartItem.Quantity)("readOnly",(null==t.cartItem?null:t.cartItem.PromotionGift)||t.checkQtyInputDisabled()),n.xp6(2),n.Q6J("ngIf",t.AppConfigJSON.ModuleSell.ProductDialog.UnitQtyLabel),n.xp6(1),n.Q6J("hidden",t.priceVisibleRestriction),n.xp6(3),n.Q6J("simpleKeyboard",t.keyboard)("readonly",!t.unitPriceEditor||(null==t.cartItem?null:t.cartItem.PromotionGift))("ngModel",t.cartItem.Price),n.xp6(5),n.Q6J("simpleKeyboard",t.keyboard)("ngModel",t.cartItem.Discount)("readonly",!t.role.Discount||(null==t.cartItem?null:t.cartItem.PromotionGift)),n.xp6(2),n.Q6J("ngIf",!t.buy),n.xp6(1),n.Q6J("ngIf",t.isEmptySalesID&&1===t.cartItem.SalesOrderItemCommission.length&&(null==t.sales?null:t.sales.length)>0),n.xp6(2),n.Q6J("ngIf",t.AppConfigJSON.ModuleSell.ProductDialog.SplitDeliveryOutletEnabled&&1==t.salesOrderData.Order.DeliveryStateID),n.xp6(2),n.Q6J("ngIf",null!=t.cartItem.Variant&&null!=(null==t.cartItem||null==t.cartItem.Variant?null:t.cartItem.Variant.PriceBook)&&(null==t.cartItem||null==t.cartItem.Variant?null:t.cartItem.Variant.PriceBook.length)>0)}}function Hi(o,a){1&o&&(n.TgZ(0,"label",42),n._uU(1,"Note:"),n.qZA())}function Vi(o,a){1&o&&(n.TgZ(0,"label",42),n._uU(1,"Serial:"),n.qZA())}function Bi(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",43),n.TgZ(1,"a",44),n.NdJ("click",function(){return n.CHM(t),n.oxw(2).serialSelectMode=!0}),n._UZ(2,"i",45),n._uU(3," Back "),n.qZA(),n.qZA()}}function Yi(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",18),n.TgZ(1,"div",46),n.TgZ(2,"strong"),n.TgZ(3,"span"),n._uU(4,"Cost"),n.qZA(),n.qZA(),n.TgZ(5,"input",47),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw(2).cartItem.Cost=i}),n.qZA(),n.qZA(),n.qZA()}if(2&o){const t=n.oxw(2);n.xp6(5),n.Q6J("ngModel",t.cartItem.Cost)}}function zi(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",48),n.TgZ(1,"ng-select",49),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw(2).cartItem.Serial=i})("ngModelChange",function(){return n.CHM(t),n.oxw(2).updateSerial()}),n.qZA(),n.TgZ(2,"a",50),n.NdJ("click",function(){n.CHM(t);const i=n.oxw(2);return i.serialSelectMode=!i.serialSelectMode}),n._UZ(3,"i",51),n.qZA(),n.qZA()}if(2&o){const t=n.oxw(2);n.xp6(1),n.Q6J("items",t.serials)("ngModel",t.cartItem.Serial)("multiple",!0)("disabled","update"===t.statusModal&&0!==(null==t.initialSerial?null:t.initialSerial.length))}}function $i(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"p-chips",55),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw(3).cartItem.Serial=i})("onAdd",function(){return n.CHM(t),n.oxw(3).updateSerial()}),n.qZA()}if(2&o){const t=n.oxw(3);n.Q6J("ngModel",t.cartItem.Serial)}}function Gi(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"ng-select",56),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw(3).cartItem.Serial=i})("ngModelChange",function(){return n.CHM(t),n.oxw(3).updateSerial()}),n.qZA()}if(2&o){const t=n.oxw(3);n.Q6J("items",t.serials)("ngModel",t.cartItem.Serial)("multiple",!0)}}function ji(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",48),n.YNc(1,$i,1,1,"p-chips",52),n.YNc(2,Gi,1,3,"ng-select",53),n.TgZ(3,"a",50),n.NdJ("click",function(){n.CHM(t);const i=n.oxw(2);return i.serialSelectMode=!i.serialSelectMode}),n._UZ(4,"i",54),n.qZA(),n.qZA()}if(2&o){const t=n.oxw(2);n.xp6(1),n.Q6J("ngIf",t.cartItem.Quantity>=0),n.xp6(1),n.Q6J("ngIf",t.cartItem.Quantity<0)}}const Wi=function(){return["code,lists advlist,table"]},Xi=function(o){return{menubar:!1,branding:!1,plugins:o,toolbar:"code | bold italic | bullist numlist | outdent indent | alignleft aligncenter alignright alignjustify | table "}};function nr(o,a){if(1&o){const t=n.EpF();n.ynx(0),n.YNc(1,Zi,5,3,"ng-container",7),n.YNc(2,Li,24,17,"div",9),n.TgZ(3,"div",10),n.TgZ(4,"div",11),n.YNc(5,Hi,2,0,"label",12),n.YNc(6,Vi,2,0,"label",12),n.YNc(7,Bi,4,0,"div",13),n.qZA(),n.TgZ(8,"div",14),n.TgZ(9,"editor",15),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw().cartItem.Note=i}),n.qZA(),n.qZA(),n.qZA(),n.YNc(10,Yi,6,1,"div",9),n.TgZ(11,"div",10),n.TgZ(12,"div",16),n.TgZ(13,"strong"),n._uU(14,"Serial:"),n.qZA(),n.YNc(15,zi,4,4,"div",17),n.YNc(16,ji,5,2,"div",17),n.qZA(),n.qZA(),n.BQk()}if(2&o){const t=n.oxw();n.xp6(1),n.Q6J("ngIf","create"===t.statusModal),n.xp6(1),n.Q6J("ngIf",t.cartItem),n.xp6(1),n.Q6J("hidden",t.serialSelectMode),n.xp6(2),n.Q6J("ngIf",!t.isSerial()),n.xp6(1),n.Q6J("ngIf",t.isSerial()),n.xp6(1),n.Q6J("ngIf",t.isSerial()),n.xp6(2),n.Q6J("init",n.VKq(13,Xi,n.DdM(12,Wi)))("ngModel",t.cartItem.Note),n.xp6(1),n.Q6J("ngIf",t.costVisible),n.xp6(1),n.Q6J("hidden",!t.serialSelectMode),n.xp6(4),n.Q6J("ngIf",!t.buy),n.xp6(1),n.Q6J("ngIf",t.buy)}}function tr(o,a){1&o&&(n.ynx(0),n._UZ(1,"i",72),n.TgZ(2,"h6"),n._uU(3,"No Image"),n.qZA(),n.BQk())}function er(o,a){if(1&o&&n._UZ(0,"img",73),2&o){const t=n.oxw(2);n.Q6J("src",t.cartItem.Variant.ThumbnailUrl,n.LSH)}}function or(o,a){if(1&o&&(n.ynx(0),n._uU(1),n.BQk()),2&o){const t=n.oxw(2);n.xp6(1),n.hij(" ",t.onHand," ")}}function ir(o,a){if(1&o&&(n.ynx(0),n._uU(1),n.BQk()),2&o){const t=n.oxw(2);n.xp6(1),n.hij(" ",t.allocated," ")}}function rr(o,a){if(1&o&&(n.ynx(0),n._uU(1),n.BQk()),2&o){const t=n.oxw(2);n.xp6(1),n.hij(" ",t.onHand-t.allocated," ")}}function ar(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"a",74),n.NdJ("click",function(){n.CHM(t);const i=n.oxw(2);return i.getStockItem(i.cartItem.VariantID)}),n._UZ(1,"i",75),n.qZA()}if(2&o){const t=n.oxw(2);n.Q6J("hidden",!0===t.showInventoryItem)}}function cr(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"tr"),n.TgZ(1,"th",76),n._uU(2,"Cost"),n.qZA(),n.TgZ(3,"td",77),n.TgZ(4,"input",78),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw(2).cartItem.Cost=i}),n.qZA(),n.qZA(),n.qZA()}if(2&o){const t=n.oxw(2);n.xp6(4),n.Q6J("ngModel",t.cartItem.Cost)("readonly",!t.AppConfigJSON.ModuleSell.Cost.Enabled)}}function sr(o,a){if(1&o&&(n.TgZ(0,"tr"),n.TgZ(1,"th",68),n._uU(2,"Content"),n.qZA(),n.TgZ(3,"td",77),n.TgZ(4,"div",79),n._uU(5),n.ALo(6,"number"),n.qZA(),n.qZA(),n.qZA()),2&o){const t=n.oxw(2);n.xp6(5),n.AsE("",null==t.cartItem||null==t.cartItem.Variant?null:t.cartItem.Variant.UnitQuantity," (@",n.lcZ(6,2,t.cartItem.UnitQuantityPrice),")")}}const lr=function(){return["/menu/Products/Catalog/Variants/Info"]},dr=function(o){return{ID:o}};function pr(o,a){if(1&o&&(n.ynx(0),n.TgZ(1,"div",57),n.TgZ(2,"div",58),n.TgZ(3,"a",59),n.YNc(4,tr,4,0,"ng-container",60),n.YNc(5,er,1,1,"ng-template",null,61,n.W1O),n.qZA(),n.qZA(),n.TgZ(7,"div",62),n.TgZ(8,"div",63),n.TgZ(9,"div",64),n.TgZ(10,"div",48),n._UZ(11,"i",65),n.TgZ(12,"div",66),n._uU(13,"Inventory"),n.qZA(),n.qZA(),n.TgZ(14,"table",67),n.TgZ(15,"tr"),n.TgZ(16,"th",68),n._uU(17,"On Hand"),n.qZA(),n.TgZ(18,"th",68),n._uU(19,"Allocated"),n.qZA(),n.TgZ(20,"th",68),n._uU(21,"Available"),n.qZA(),n.qZA(),n.TgZ(22,"tr"),n.TgZ(23,"td"),n.YNc(24,or,2,1,"ng-container",60),n.qZA(),n.TgZ(25,"td"),n.YNc(26,ir,2,1,"ng-container",60),n.qZA(),n.TgZ(27,"td"),n.YNc(28,rr,2,1,"ng-container",60),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.YNc(29,ar,2,1,"ng-template",null,69,n.W1O),n.qZA(),n.TgZ(31,"div",57),n.TgZ(32,"div",64),n.TgZ(33,"table",70),n.YNc(34,cr,5,2,"tr",7),n.TgZ(35,"tr"),n.TgZ(36,"th",68),n._uU(37,"Price"),n.qZA(),n.TgZ(38,"td",71),n._uU(39),n.ALo(40,"number"),n.qZA(),n.qZA(),n.YNc(41,sr,7,4,"tr",7),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.BQk()),2&o){const t=n.MAs(6),e=n.MAs(30),i=n.oxw();n.xp6(3),n.Q6J("routerLink",n.DdM(15,lr))("queryParams",n.VKq(16,dr,null==i.cartItem||null==i.cartItem.Variant?null:i.cartItem.Variant.ID)),n.xp6(1),n.Q6J("ngIf",null==(null==i.cartItem||null==i.cartItem.Variant?null:i.cartItem.Variant.ThumbnailUrl))("ngIfElse",t),n.xp6(20),n.Q6J("ngIf",i.cartItem.Variant&&i.queryInventoryOnOpen&&i.isOnline||i.showInventoryItem)("ngIfElse",e),n.xp6(2),n.Q6J("ngIf",i.cartItem.Variant&&i.queryInventoryOnOpen&&i.isOnline||i.showInventoryItem)("ngIfElse",e),n.xp6(2),n.Q6J("ngIf",i.cartItem.Variant&&i.queryInventoryOnOpen&&i.isOnline||i.showInventoryItem)("ngIfElse",e),n.xp6(6),n.Q6J("ngIf",i.AppConfigJSON.ModuleSell.Cost.Visible&&i.role.ShowCost),n.xp6(5),n.hij(" ",n.lcZ(40,13,i.cartItem.Variant.UnitPrice)," "),n.xp6(2),n.Q6J("ngIf",(null==i.cartItem||null==i.cartItem.Variant?null:i.cartItem.Variant.UnitQuantity)>1)}}function gr(o,a){if(1&o){const t=n.EpF();n.ynx(0),n.TgZ(1,"POS-calculator",80),n.NdJ("priceChange",function(i){return n.CHM(t),n.oxw().onCalculatorPrice(i)})("qtyChange",function(i){return n.CHM(t),n.oxw().onCalculatorQty(i)})("otherChange",function(i){return n.CHM(t),n.oxw().onCalculatorUnitQty(i)}),n.qZA(),n.BQk()}if(2&o){const t=n.oxw();n.xp6(1),n.Q6J("qtyDisabled",t.calculatorQtyDisabled)("priceDisabled",t.calculatorPriceDisabled)("appConfigJSON",t.AppConfigJSON)("top",20)}}let jn=(()=>{class o extends class{constructor(){this.modalConfig=new T.O,this.cartItem=new tn.t,this.role=new K.Q,this.serialSelectMode=!1,this.serials=[],this.costVisible=!1,this.buy=!1,this.unitQtyLabel="Unit Quantity",this.modalConfig.title="Adding new items to order",this.modalConfig.hideScrollbar=!0,this.onHand=0,this.allocated=0,this.pricebookDisabled=!0,this.showInventoryItem=!1}mapAppConfigJson(a){this.numpadVisible=a.ModuleSell.NumPadVisible,this.pricebookCopyDesc=a.ModuleSell.Pricebook.PricebookVisible,this.queryInventoryOnOpen=a.ModuleSell.ProductDialog.QueryInventoryOnOpen,this.calculatorEnabled=a.ModuleSell.ProductDialog.CalculatorEnabled,this.quantityToOneInDialog=a.ModuleSell.ProductDialog.QuantityToOneInDialog,this.unitQtyLabel=a.ModuleSell.ProductDialog.UnitQtyLabel,this.splitDeliveryOutletEnabled=a.ModuleSell.ProductDialog.SplitDeliveryOutletEnabled}isSerial(){return null!=this.cartItem.Variant&&4==this.cartItem.Variant.TypeID}setUserRole(a){this.role=a,this.unitPriceEditor=this.role.UnitPriceEditor,this.priceVisibleRestriction=this.role.PriceVisibleRestriction,this.pricebookSelector=this.role.PricebookSelector}}{constructor(t,e,i,r,c,l,d,s,p,f,M,b,I,v){super(),this._dialogRef=t,this.data=e,this._shoppingCartService=i,this._outletService=r,this._posService=c,this._orderProcessorService=l,this._orderDataService=d,this._variantService=s,this._toastr=p,this.decimalPipe=f,this._matDialog=M,this._numpadService=b,this._userRoleService=I,this._onlineStatusService=v,this.AppConfigJSON=new ln,this.isOnline=!0,this.modalItemState=Qn,this.destroy$=new N.xQ,this.entities=this._posService.Data.Entities,this.AppConfigJSON=this._posService.Data.AppConfigJSON,this.mapAppConfigJson(this.AppConfigJSON),this.subscribeToObservableChanges()}ngOnInit(){this.initTabState(),this.serialSelectMode=this.isSerial(),this.initStatusModal(),this.numpadVisible&&(this.keyboard=this._numpadService.keyboard),this.initIsUnitPriceEditor()}initTabState(){this.currentState=Qn.SELL_INPUT}onTabChange(t){this.currentState=t}ngAfterViewInit(){setTimeout(()=>{this.initFieldFocus()},200)}initFieldFocus(){switch(this.data&&this.data.focus){case"Price":this._priceElement.nativeElement.focus();break;case"Discount":this._discountElement.nativeElement.focus();break;case"Quantity":this._quantityElement.nativeElement.focus()}}initIsUnitPriceEditor(){const e=this.cartItem.Variant?this.cartItem.Variant.SellPriceType:null;(this.cartItem.Variant?this.cartItem.Variant.TypeID:null)==un.J.NonInventory&&(e==yn.DoNotRequireAuthorization||e==yn.DoNotRequireAuthorizationNSyncCost)&&(this.unitPriceEditor=!0)}initStatusModal(){this.data?(this.updateHeaderTitle(`Editing Cart Item - ${this.cartItem.Variant?this.cartItem.Variant.Name:""}`),this.statusModal="update"):(this.statusModal="create",this.cartItem=this.checkItemQuantityDefault(this.cartItem))}checkItemQuantityDefault(t){return this.quantityToOneInDialog||(t.Quantity=null),t}subscribeToObservableChanges(){this._userRoleService.Data$.pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.setUserRole(t)}),this._orderDataService.Data$.pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.salesOrderData=t,this.initCartItem(t.CartItems),this.checkPriceBookDisabled(),this.checkCalculatorPriceDisabled(),this.checkEmptySalesID()}),this._orderProcessorService.Data$.pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.OrderManager=t,this.checkCalculatorQtyDisabled()}),this._outletService.Data$.pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.sales=t.ListSales}),this._onlineStatusService.getOnlineStatus$().pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.isOnline=t}),this.getSerialVariant()}initCartItem(t){null!=this.data?(this.cartItem=(0,an.d8)(tn.t,t[this.data.index]),this.cartItem.EntityID==g.gT.GuidEmpty&&(this.cartItem.EntityID=null),this.oriUnitPrice=g.gT.IsEmpty(this.cartItem.PriceBookID)?this.cartItem.Price:this.cartItem.UnitPriceOriginal,this.oriDiscount=this.cartItem.Discount,this.initialSerial=this.cartItem.Serial,this.pricebookId=this.cartItem.PriceBookID,this.initSelectedPriceBook(),this.checkQueryInventory()):this.cartItem=new tn.t}getSerialVariant(){null!=this.cartItem.Variant&&this.isOnline&&4==this.cartItem.Variant.TypeID&&this._variantService.getVariantSerial(this.salesOrderData.Order.EntityID,this.salesOrderData.Order.ID,this.cartItem.VariantID).pipe((0,C.R)(this.destroy$)).subscribe(r=>{this.serials=r})}initSelectedPriceBook(){1===(this.cartItem.Variant&&this.cartItem.Variant.PriceBook?this.cartItem.Variant.PriceBook:[]).length&&!this.cartItem.PriceBookID&&!this.cartItem.PromotionGift&&this.checkPriceBook()}checkPriceBookDisabled(){if(this.cartItem.Variant){const e=this.cartItem.Variant.TypeID==un.J.NonInventory&&0==this.cartItem.Variant.SellPriceType&&!this.pricebookSelector;this.pricebookDisabled=this.cartItem.Variant.TypeID!=un.J.NonInventory&&!this.pricebookSelector||e}}checkCalculatorPriceDisabled(){if(this.cartItem.Variant){const e=this.cartItem.Variant.TypeID==un.J.NonInventory&&0==this.cartItem.Variant.SellPriceType&&!this.unitPriceEditor;this.calculatorPriceDisabled=this.cartItem.Variant.TypeID!=un.J.NonInventory&&!this.unitPriceEditor||e}}checkQtyInputDisabled(){let t=this.AppConfigJSON.ApplicationParkAndRetrieve.AccessControl.AuthorizeParkedOrdersItemDeletion,e=this.AppConfigJSON.ApplicationParkAndRetrieve.AccessControl.AuthorizeBilledOrdersItemDeletion,i=g.gT.IsNotEmpty(this.cartItem.ID);return!!(t&&!this.role.Order&&this.OrderManager.posState==O.IsRetrieve&&i||e&&!this.role.Order&&this.OrderManager.posState==O.IsBill&&i)}checkCalculatorQtyDisabled(){this.calculatorQtyDisabled=!this.AppConfigJSON.ApplicationParkAndRetrieve.AccessControl.AuthorizeParkOrderDeletion&&this.OrderManager.posState===O.IsRetrieve&&!this.role.Order&&this.AppConfigJSON.ApplicationParkAndRetrieve.AccessControl.AuthorizeParkedOrdersItemDeletion}checkEmptySalesID(){null!=this.salesOrderData.Order&&(this.isEmptySalesID=g.gT.IsEmpty(this.salesOrderData.Order.SalesID))}checkQueryInventory(){this.queryInventoryOnOpen&&this.isOnline&&this.getStockItem(this.cartItem.VariantID)}pricebookChange(){this.cartItem.pricebookUpdate(this.pricebookId,!this.pricebookDisabled,this.pricebookCopyDesc)}updateHeaderTitle(t){this.modalConfig.title=t}onDeliveryEntityChange(){const t=this.entities.find(e=>e.ID==this.cartItem.EntityID);t?this.cartItem.EntityName=t.Name:delete this.cartItem.EntityName}onOk(t){if(!this.validateConfigDefaultQuantity(t))return;this.cartItem.Variant.SellPriceType==yn.DoNotRequireAuthorizationNSyncCost&&(this.cartItem.Cost=this.cartItem.Price);const i=this.cartItem.Cost,r=this.cartItem.UnitPriceOriginal,c=this.cartItem.Price;this.role.PriceMinimum?2==this.AppConfigJSON.ModuleSell.ProductDialog.PriceMinimumTypeID?c<i?this.priceMinimumAlert(i):this.validateOnSubmit():c<r?this.priceMinimumAlert(r):this.validateOnSubmit():this.validateOnSubmit(),document.getElementById("product").focus()}validateConfigDefaultQuantity(t){return!("Enter"==t&&!this.quantityToOneInDialog)||this.cartItem.Quantity>0}validateOnSubmit(){g.gT.IsEmpty(this.cartItem.VariantID)?this._toastr.error("Enter item data before clicking OK!","No item is entered!"):(g.gT.IsEmpty(this.cartItem.Quantity)&&this.updateItemQuantity("1"),this.checkValidateSerialItem(this.cartItem)&&this.onSubmitCartItem())}priceMinimumAlert(t){const e=g.gT.StringFormat("You have no right to sell this item lower than {0}",this.decimalPipe.transform(t));alert(e)}onSubmitCartItem(){let t=!1;if(null==this.data){let e=this.cartItem;this._shoppingCartService.pushNewItemToArray(e,!0),this._shoppingCartService.addAvailableComponent(e),t=!0}else this._shoppingCartService.updateCartItem(this.cartItem,this.data.index),t=!0;t&&this._dialogRef.close()}onCancel(){this._dialogRef.close()}checkValidateSerialItem(t){return this._shoppingCartService.validateSerialItem(t)}updateItemQuantity(t){this.cartItem.Quantity=Number(t),this.checkPriceBook()}updateDiscountPercentage(t){this.cartItem.Discount=Number(t)}updateOrUnitPrice(t){this.oriUnitPrice=t}quantityEditDisabled(){return this.AppConfigJSON.ApplicationParkAndRetrieve.AccessControl.AuthorizeParkedOrdersItemDeletion&&!this.role.Order&&g.gT.IsNotEmpty(this.cartItem.ID)}updateSerial(){this.cartItem.updateSerial()}onAddItem(t){this._variantService.getVariantByID(t,this.salesOrderData.Order.EntityID).then(i=>{const r=i,c=new tn.t;c.patchByVariant(r),this.addItem(c)})}onEnterProductCode(t){this._variantService.getVariantByCode(t,this.salesOrderData.Order.EntityID).then(i=>{if(i){const r=Object.assign(new yi.O,i),c=new tn.t;c.patchByVariant(r),this.addItem(c)}else this.onProductNotFound(t)}).catch(i=>{window.alert(`Barcode "${t}" is not registered in the product`)})}onProductNotFound(t){this._matDialog.open(Ut,{data:{message:`Barcode "${t}" is not registered in the product`,title:"Product not found"},width:"30%"}),this.playAudio()}playAudio(){const t=new Audio;t.src="/Sounds/bell_ring.mp3",t.load(),t.play()}addItem(t){this.onHand=0,this.AppConfigJSON.ModuleSell.ProductDialog.QuantityToOneInDialog?t.Quantity=1:this._quantityElement.nativeElement.focus(),this.cartItem=this.checkItemQuantityDefault(t);const r=`Editing Cart item - ${t.Variant?t.Variant.Name:null}`;this.updateOrUnitPrice(t.UnitPriceOriginal),this.updateHeaderTitle(r),this.checkPriceBook(),this.getSerialVariant(),this.checkPriceBookDisabled(),this.checkCalculatorPriceDisabled(),this.checkCalculatorQtyDisabled(),this.checkQueryInventory(),this.initIsUnitPriceEditor()}getStockItem(t){this._variantService.getStockByID(t,this.salesOrderData.Order.EntityID).then(e=>{e&&(this.showInventoryItem=!0,this.allocated=e.Allocated,this.onHand=e.OnHand)})}checkPriceBook(){const t=null!=this.cartItem.Variant?this.cartItem.Variant.PriceBook:null,e=this.AppConfigJSON.ModuleSell.Pricebook.PricebookVisible;if(t&&0!==t.length){const i=this.cartItem.Variant.PriceBook.sort(function(r,c){return c.MinimumQuantity-r.MinimumQuantity}).filter(r=>this.cartItem.Quantity>=r.MinimumQuantity);if(i.length>0)0!=i[0].MinimumQuantity&&(this.pricebookId=i[0].ID,this.cartItem.Discount=i[0].PriceDiscount,this.cartItem.PriceNote=i[0].Name,this.cartItem.UnitPrice=i[0].UnitPrice,this.cartItem.Price=i[0].UnitPrice,this.cartItem.PriceBookID=i[0].ID,e&&(this.cartItem.Note=i[0].Name),this.cartItem.UnitPriceOriginal=this.oriUnitPrice);else{const r=this.cartItem.Discount,c=this.cartItem.UnitPrice,l=this.cartItem.Price;this.pricebookId=null,this.cartItem.PriceNote="",this.cartItem.Note="",this.cartItem.Discount=this.oriDiscount?this.oriDiscount:r,this.cartItem.UnitPrice=this.oriUnitPrice?this.oriUnitPrice:c,this.cartItem.Price=this.oriUnitPrice?this.oriUnitPrice:l,this.cartItem.PriceBookID=null}}}onCalculatorQty(t){this.updateItemQuantity(t)}onCalculatorPrice(t){this.cartItem.Price=parseFloat(t)}onCalculatorUnitQty(t){this.cartItem.UnitQuantity=parseFloat(t)}resizeCloudinaryImage(t){return t&&(t=t.replace("w_80","w_150")),t}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete()}}return o.\u0275fac=function(t){return new(t||o)(n.Y36(P.so),n.Y36(P.WI),n.Y36(hn),n.Y36(F),n.Y36(D),n.Y36(R),n.Y36(S),n.Y36(ft),n.Y36(Z._W),n.Y36(_.JJ),n.Y36(P.uw),n.Y36(pt.u),n.Y36(en),n.Y36(nn.q))},o.\u0275cmp=n.Xpm({type:o,selectors:[["POS-modal-item"]],viewQuery:function(t,e){if(1&t&&(n.Gf(Ti,5),n.Gf(ki,5),n.Gf(Ii,5)),2&t){let i;n.iGM(i=n.CRH())&&(e._quantityElement=i.first),n.iGM(i=n.CRH())&&(e._priceElement=i.first),n.iGM(i=n.CRH())&&(e._discountElement=i.first)}},features:[n.qOj],decls:11,vars:8,consts:[[3,"config","onOk","onCancel","onClose"],[1,"mb-5"],[1,"container",2,"width","650px"],[1,"row","border-bottom"],["data-cy","input_sell",1,"btn","btn-link",3,"ngClass","click"],["class","btn btn-link","data-cy","product",3,"ngClass","click",4,"ngIf"],[1,"mt-8"],[4,"ngIf"],["data-cy","product",1,"btn","btn-link",3,"ngClass","click"],["class","row form-group",4,"ngIf"],[1,"row","form-group",3,"hidden"],[1,"col-sm-12","d-flex","justify-content-between"],["class","font-weight-bold d-block",4,"ngIf"],["class","mx-3",4,"ngIf"],[1,"col","tinymce"],["apiKey","zc58cdrrftek5r5igtmjiar7ed4n3wr00hzd4w4mvtx8mpxa","placeholder","Note",1,"form-control","p-0","border-0",3,"init","ngModel","ngModelChange"],[1,"col"],["class","d-flex",4,"ngIf"],[1,"row","form-group"],["inputID","product","requestUrl","/API/AC/GetVariantSuggestionByCodeNName","placeholder","Input product name / code",1,"form-control",3,"localStorage","inputTextValue","clearOnSelect","onSelect","onInputEnter"],["variant",""],[1,"col-auto","mb-4","pr-0",2,"width","82px"],["id","txtCartQuantity","keyboardType","number","type","text","autoNum","",1,"form-control","input-numpad",3,"simpleKeyboard","preventNegative","ngModel","readOnly","ngModelChange"],["quantity",""],["class","col-auto pr-0","style","width: 82px",4,"ngIf"],[1,"col-auto","pr-0",2,"width","112px",3,"hidden"],["id","inputPrice","keyboardType","number","type","text","autoNum","",1,"form-control",3,"simpleKeyboard","readonly","ngModel","ngModelChange"],["price",""],[1,"col-auto","pr-0",2,"width","90px"],["id","inputDiscount","keyboardType","number","type","text","autoNum","","percentage","","decimalPlaces","2",1,"form-control",3,"simpleKeyboard","ngModel","readonly","ngModelChange"],["discount",""],["class","col-auto pr-0","style","width: 130px",4,"ngIf"],["class","col-auto pr-0","style","width: 220px",4,"ngIf"],[1,"col-auto","pr-0",2,"width","82px"],["type","text","autoNum","",1,"form-control","input-numpad",3,"preventNegative","readOnly","ngModel","ngModelChange"],[1,"col-auto","pr-0",2,"width","130px"],["id","inputDiscAmount","keyboardType","number","type","text","autoNum","","preventNegative","",1,"form-control",3,"simpleKeyboard","ngModel","readonly","ngModelChange"],[4,"ngFor","ngForOf"],[1,"col-auto","pr-0",2,"width","220px"],["bindLabel","Name","bindValue","ID","placeholder","Sales Person",2,"width","200px",3,"items","ngModel","ngModelChange"],["bindLabel","Name","bindValue","ID","placeholder","Delivery Outlet",2,"width","200px",3,"items","ngModel","ngModelChange"],["bindLabel","Name","bindValue","ID","placeholder","Pricebook",2,"width","200px",3,"items","ngModel","disabled","ngModelChange"],[1,"font-weight-bold","d-block"],[1,"mx-3"],[1,"keyboard-serial","ml-auto",2,"cursor","pointer",3,"click"],[1,"fas","fa-undo","mr-2"],[1,"col-auto","ml-4","pr-0",2,"width","82px"],["type","text","autoNum","",1,"form-control","input-numpad",3,"ngModel","ngModelChange"],[1,"d-flex"],["bindLabel","Serial","bindValue","Serial","placeholder","Insert Serial",2,"width","490px","position","fixed","z-index","100",3,"items","ngModel","multiple","disabled","ngModelChange"],[1,"keyboard-serial","ml-auto",3,"click"],[1,"fas","fa-keyboard","fa-2x"],[3,"ngModel","ngModelChange","onAdd",4,"ngIf"],["style","width: 490px; position: fixed; z-index: 100","bindLabel","Serial","bindValue","Serial","placeholder","Insert Serial",3,"items","ngModel","multiple","ngModelChange",4,"ngIf"],[1,"fas","fa-keyboard","fa-2x","pl-5"],[3,"ngModel","ngModelChange","onAdd"],["bindLabel","Serial","bindValue","Serial","placeholder","Insert Serial",2,"width","490px","position","fixed","z-index","100",3,"items","ngModel","multiple","ngModelChange"],[1,"row"],[1,"col-4","d-flex","justify-content-center","flex-column","align-items-center","text-muted"],["target","_blank",2,"color","inherit",3,"routerLink","queryParams"],[4,"ngIf","ngIfElse"],["SHOW_IMAGE",""],[1,"col-8"],[1,"row","mb-8"],[1,"col-12"],["aria-hidden","true",1,"fa-archive","fas","fa-1x","pt-3","pr-2"],[2,"font-size","15px","font-family","Roboto Slab"],[1,"table","table-bordered","border-light-gray","text-center"],[1,"table-light"],["QUESTIONICON",""],[1,"table","table-bordered","border-light-gray",2,"width","171px"],[1,"pr-4","text-right"],["aria-hidden","true",1,"fa","fa-picture-o","fa-5x"],[1,"border","rounded",3,"src"],[2,"cursor","pointer",3,"hidden","click"],[1,"fas","fa-question-circle","mt-1"],[1,"table-light",2,"width","70px"],[1,"p-0"],["type","text","autoNum","",1,"form-control","border-0","bg-white","text-right",3,"ngModel","readonly","ngModelChange"],["ngClass","ml-3"],[3,"qtyDisabled","priceDisabled","appConfigJSON","top","priceChange","qtyChange","otherChange"]],template:function(t,e){1&t&&(n.TgZ(0,"modal-material",0),n.NdJ("onOk",function(r){return e.onOk(r)})("onCancel",function(){return e.onCancel()})("onClose",function(){return e.onCancel()}),n.TgZ(1,"content",1),n.TgZ(2,"div",2),n.TgZ(3,"div",3),n.TgZ(4,"a",4),n.NdJ("click",function(){return e.onTabChange(e.modalItemState.SELL_INPUT)}),n._uU(5," Cart "),n.qZA(),n.YNc(6,Ai,2,3,"a",5),n.qZA(),n.TgZ(7,"div",6),n.YNc(8,nr,17,15,"ng-container",7),n.YNc(9,pr,42,18,"ng-container",7),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.YNc(10,gr,2,4,"ng-container",7)),2&t&&(n.Q6J("config",e.modalConfig),n.xp6(4),n.Q6J("ngClass",n.VKq(6,Ht,e.modalItemState.SELL_INPUT==e.currentState)),n.xp6(2),n.Q6J("ngIf",null==e.cartItem||null==e.cartItem.Variant?null:e.cartItem.Variant.Name),n.xp6(2),n.Q6J("ngIf",e.modalItemState.SELL_INPUT==e.currentState),n.xp6(1),n.Q6J("ngIf",e.modalItemState.PRODUCT==e.currentState),n.xp6(1),n.Q6J("ngIf",e.calculatorEnabled))},directives:[y.M,_.mk,_.O5,Ft.PG,h.JJ,h.On,Cn.J,h.Fj,cn.b,Lt.V,_.sg,X.w9,H.yS,Si],pipes:[_.JJ],styles:['.tinymce[_ngcontent-%COMP%] a[_ngcontent-%COMP%] img[_ngcontent-%COMP%] {\n z-index: 2;\n position: absolute;\n right: 15px;\n bottom: 19px;\n}\n.tinymce[_ngcontent-%COMP%] editor[_ngcontent-%COMP%] {\n height: max-content;\n z-index: 1;\n}\n.more[_ngcontent-%COMP%] {\n position: absolute;\n top: 0px;\n left: 30px;\n}\n.unit-qty[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n width: 100px;\n}\np-chips[_ngcontent-%COMP%] {\n width: 100%;\n}\np-chips[_ngcontent-%COMP%] ul.ui-inputtext {\n width: 100%;\n}\np-chips[_ngcontent-%COMP%] ul.ui-inputtext li input.undefined {\n border: none;\n}\n.table[_ngcontent-%COMP%] th[_ngcontent-%COMP%], .table[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n line-height: 6px !important;\n}\n.btn-link[_ngcontent-%COMP%] {\n padding-top: 0px;\n color: #868686;\n padding-bottom: 8px;\n border-radius: unset;\n font-family: "Roboto Slab", serif;\n}\n.btn-link.selected[_ngcontent-%COMP%] {\n color: #3B3B3B;\n border-bottom: 4px solid #07a519;\n}']}),o})(),Vt=(()=>{class o{constructor(t,e,i,r){this._cartService=t,this._posService=e,this._orderDataService=i,this._matDialog=r,this._quickKeySubject=new j.X(new xi.AM),this.quickKey$=this._quickKeySubject.asObservable(),this._orderDataService.Data$.subscribe(c=>{this.Items=c.CartItems})}get _appConfigJSON(){return this._posService.Data.AppConfigJSON}addQuickKeyItem(t){this._cartService.addCartItemById(t).then(()=>{this._appConfigJSON.ModuleSell.ProductDialog.OpenOnNewItemAdded&&this._matDialog.open(jn,{data:{index:this.Items.length-1}})}).catch(e=>{window.alert(e)})}}return o.\u0275fac=function(t){return new(t||o)(n.LFG(hn),n.LFG(D),n.LFG(S),n.LFG(P.uw))},o.\u0275prov=n.Yz7({token:o,factory:o.\u0275fac,providedIn:"root"}),o})();function ur(o,a){if(1&o&&n._UZ(0,"img",17),2&o){const t=n.oxw().$implicit;n.Q6J("src",t.ImageURLClient.indexOf("cloudinary")>-1?"https:"+t.ImageURLClient:t.ImageURLClient,n.LSH)}}function _r(o,a){if(1&o&&(n.TgZ(0,"p"),n._uU(1),n.ALo(2,"slice"),n.qZA()),2&o){const t=n.oxw().$implicit;n.xp6(1),n.Oqu(n.Dn7(2,1,t.Display,0,3))}}function hr(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",13),n.TgZ(1,"a",14),n.NdJ("click",function(){const r=n.CHM(t).$implicit;return n.oxw(3).select(r)}),n.YNc(2,ur,1,1,"img",15),n.YNc(3,_r,3,5,"p",16),n.TgZ(4,"small"),n._uU(5),n.ALo(6,"slice"),n.qZA(),n.qZA(),n.qZA()}if(2&o){const t=a.$implicit;n.xp6(2),n.Q6J("ngIf",t.ImageURLClient),n.xp6(1),n.Q6J("ngIf",!t.ImageURLClient),n.xp6(2),n.Oqu(n.Dn7(6,3,t.Display,0,36))}}const Bt=function(){return["/menu/Outlets/Master/Quick_Key_Templates/Form"]},mr=function(o){return{ID:o}};function fr(o,a){if(1&o&&(n.TgZ(0,"mat-tab",6),n.TgZ(1,"div",7),n.TgZ(2,"div",8),n.YNc(3,hr,7,7,"div",9),n.TgZ(4,"div",10),n.TgZ(5,"a",11),n._UZ(6,"i",12),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.qZA()),2&o){const t=a.$implicit,e=n.oxw(2);n.Q6J("label",t.Name),n.xp6(3),n.Q6J("ngForOf",t.Items),n.xp6(2),n.Q6J("routerLink",n.DdM(4,Bt))("queryParams",n.VKq(5,mr,e.quickKey.ID))}}function Cr(o,a){if(1&o&&(n.TgZ(0,"mat-tab-group",4),n.YNc(1,fr,7,7,"mat-tab",5),n.qZA()),2&o){const t=n.oxw();n.Q6J("disableRipple",!0)("hidden",t.subQuickKey),n.xp6(1),n.Q6J("ngForOf",t.quickKey.Groups)}}function Pr(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",13),n.TgZ(1,"a",14),n.NdJ("click",function(){const r=n.CHM(t).$implicit;return n.oxw(2).selectChild(r.ID)}),n.TgZ(2,"p"),n._uU(3),n.ALo(4,"limitTo"),n.qZA(),n.TgZ(5,"small"),n._uU(6),n.ALo(7,"limitTo"),n.qZA(),n.qZA(),n.qZA()}if(2&o){const t=a.$implicit;n.xp6(3),n.Oqu(n.xi3(4,2,t.Model,3)),n.xp6(3),n.Oqu(n.xi3(7,5,t.Model,30))}}function Or(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",18),n.TgZ(1,"div",19),n.NdJ("click",function(){return n.CHM(t),n.oxw().back()}),n.TgZ(2,"div",20),n._UZ(3,"i",21),n.qZA(),n.TgZ(4,"div",22),n.TgZ(5,"b"),n._uU(6),n.qZA(),n.qZA(),n.qZA(),n.TgZ(7,"div",23),n.YNc(8,Pr,8,8,"div",9),n.qZA(),n.qZA()}if(2&o){const t=n.oxw();n.xp6(6),n.hij(" ",t.subQuickKey.Name," "),n.xp6(2),n.Q6J("ngForOf",t.subQuickKey.Items)}}const Mr=function(o){return{EntityID:o}};function br(o,a){if(1&o&&(n.TgZ(0,"a",24),n.TgZ(1,"strong"),n._uU(2,"QUICK KEYS UNCONFIGURED"),n.qZA(),n._UZ(3,"i",25),n.TgZ(4,"span"),n._uU(5,"Click here to setup your Quick keys"),n.qZA(),n.qZA()),2&o){const t=n.oxw();n.Q6J("routerLink",n.DdM(2,Bt))("queryParams",n.VKq(3,Mr,t.entityID))}}let xr=(()=>{class o{constructor(t,e){this._quickKeyService=t,this._outletRegisterService=e,this.destroy$=new N.xQ}ngOnInit(){this.subscribeToObservableChanges()}subscribeToObservableChanges(){this._outletRegisterService.Data$.pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.entityID=t.EntityID,this.setQuickey(t.QuickKeyPack)})}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete()}setQuickey(t){if(t){let e;t.Groups&&0!==t.Groups.length&&(e=t.Groups),this.quickKey=e?t:null}}addQuickKeyItem(t){this._quickKeyService.addQuickKeyItem(t)}selectChild(t){this.addQuickKeyItem(t),this.back(),this.openNextProduct(this.NextProductID)}select(t){this.NextProductID=t.NextProductID,!t.Children||t.Children.length<1?this.selectChild(t.ItemID):1==t.Children.length?this.selectChild(t.Children[0].ID):this.subQuickKey={Items:t.Children,Name:t.Display}}openNextProduct(t){g.gT.IsNotEmpty(t)&&this.data.Groups.forEach(e=>{const i=e.Items.find(r=>r.ProductID==t);null!=i&&i.Children.length>1&&(this.NextProductID=i.NextProductID,this.subQuickKey={Items:i.Children,Name:i.Display})})}back(){delete this.subQuickKey}}return o.\u0275fac=function(t){return new(t||o)(n.Y36(Vt),n.Y36(F))},o.\u0275cmp=n.Xpm({type:o,selectors:[["pos-quick-key"]],inputs:{data:"data"},decls:5,vars:4,consts:[[1,"quickKeys",3,"ngClass"],["animationDuration","0ms","class","quickKeyTabs",3,"disableRipple","hidden",4,"ngIf","ngIfElse"],["class","container",4,"ngIf"],["noQuickKey",""],["animationDuration","0ms",1,"quickKeyTabs",3,"disableRipple","hidden"],[3,"label",4,"ngFor","ngForOf"],[3,"label"],[1,"container","tabItems"],[1,"row","no-gutters"],["class","col-3 column",4,"ngFor","ngForOf"],[1,"col-3","column","add"],[3,"routerLink","queryParams"],["aria-hidden","true",1,"fa","fa-plus-circle","fa-5x","d-flex","align-items-center","justify-content-center","bg-white","h-100","text-primary"],[1,"col-3","column"],[3,"click"],[3,"src",4,"ngIf"],[4,"ngIf"],[3,"src"],[1,"container"],[1,"row","no-gutters","border","align-items-center","variants-header","cursor",3,"click"],[1,"col-auto","border-right","py-5","px-7"],["aria-hidden","true",1,"fa","fa-arrow-left"],[1,"col","text-center","font-weight-bold","text-uppercase","h5"],[1,"tabItems","row","no-gutters"],["id","LinkConfigureQuickkey","target","_blank",3,"routerLink","queryParams"],["aria-hidden","true",1,"far","fa-hand-pointer"]],template:function(t,e){if(1&t&&(n.TgZ(0,"section",0),n.YNc(1,Cr,2,3,"mat-tab-group",1),n.YNc(2,Or,9,2,"div",2),n.YNc(3,br,6,5,"ng-template",null,3,n.W1O),n.qZA()),2&t){const i=n.MAs(4);n.Q6J("ngClass",e.quickKey?"":"no-quick-key"),n.xp6(1),n.Q6J("ngIf",e.quickKey)("ngIfElse",i),n.xp6(1),n.Q6J("ngIf",e.subQuickKey)}},directives:[_.mk,_.O5,B.SP,_.sg,B.uX,H.yS],pipes:[_.OU,J.OI],styles:['.btn-add[_ngcontent-%COMP%] {\n -webkit-border-radius: 50%;\n -moz-border-radius: 50%;\n padding: 6px 10px;\n cursor: pointer;\n right: -14px;\n top: 5px;\n border: solid 1px #DDDDDD;\n}\n\nsection.quickKeys.no-quick-key[_ngcontent-%COMP%] {\n background-image: url(//res.cloudinary.com/pos/image/upload/POS/Images/Cashier/no-quick-key.png);\n background-repeat: no-repeat;\n height: 544px;\n}\n\n.quickKeys[_ngcontent-%COMP%] {\n \n}\n\n.quickKeys[_ngcontent-%COMP%] .quickKeyTabs[_ngcontent-%COMP%] div.row[_ngcontent-%COMP%] {\n border-bottom: 0px;\n display: flex;\n border-radius: 3px;\n cursor: pointer;\n}\n\n.quickKeys[_ngcontent-%COMP%] .quickKeyTabs[_ngcontent-%COMP%] div.row[_ngcontent-%COMP%] > div.col[_ngcontent-%COMP%] {\n background: #ffffff;\n \n \n \n \n \n \n background: linear-gradient(to bottom, #ffffff 0%, #eeeeee 100%);\n \n filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#ffffff", endColorstr="#eeeeee",GradientType=0 );\n \n height: 44px;\n max-height: 44px;\n overflow: hidden;\n color: #aaa !important;\n font-size: 14px;\n text-decoration: none;\n font-weight: bold;\n outline: none;\n text-transform: uppercase;\n text-align: center;\n min-width: 25%;\n display: flex;\n justify-content: center;\n}\n\n.quickKeys[_ngcontent-%COMP%] .quickKeyTabs[_ngcontent-%COMP%] div.row[_ngcontent-%COMP%] > div.col[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n align-self: center;\n text-align: center;\n}\n\n.quickKeys[_ngcontent-%COMP%] .quickKeyTabs[_ngcontent-%COMP%] div.row[_ngcontent-%COMP%] > div.col[_ngcontent-%COMP%]:last-child {\n border-right: none;\n}\n\n.quickKeys[_ngcontent-%COMP%] .quickKeyTabs[_ngcontent-%COMP%] div.row[_ngcontent-%COMP%] > div.col[_ngcontent-%COMP%]:nth-child(4n) {\n border-right: none;\n}\n\n.quickKeys[_ngcontent-%COMP%] .quickKeyTabs[_ngcontent-%COMP%] div.row[_ngcontent-%COMP%] > div.col[_ngcontent-%COMP%]:first-child {\n border-left: 1px solid #cfcfcf;\n}\n\n.quickKeys[_ngcontent-%COMP%] .quickKeyTabs[_ngcontent-%COMP%] div.row[_ngcontent-%COMP%] > div.col[_ngcontent-%COMP%]:nth-child(-n+4) {\n border-right: 1px solid #cfcfcf;\n border-top: 1px solid #cfcfcf;\n border-bottom: 1px solid #cfcfcf;\n}\n\n.quickKeys[_ngcontent-%COMP%] .quickKeyTabs[_ngcontent-%COMP%] div.row[_ngcontent-%COMP%] > div.col[_ngcontent-%COMP%]:nth-child(4n+1) {\n border-left: 1px solid #cfcfcf;\n border-bottom: 1px solid #cfcfcf;\n border-right: 1px solid #cfcfcf;\n}\n\n.quickKeys[_ngcontent-%COMP%] .quickKeyTabs[_ngcontent-%COMP%] div.row[_ngcontent-%COMP%] > div.col[_ngcontent-%COMP%]:nth-child(4n+2) {\n border-bottom: 1px solid #cfcfcf;\n border-right: 1px solid #cfcfcf;\n}\n\n.quickKeys[_ngcontent-%COMP%] .quickKeyTabs[_ngcontent-%COMP%] div.row[_ngcontent-%COMP%] > div.col[_ngcontent-%COMP%]:nth-child(4n+3) {\n border-bottom: 1px solid #cfcfcf;\n border-right: 1px solid #cfcfcf;\n}\n\n.quickKeys[_ngcontent-%COMP%] .quickKeyTabs[_ngcontent-%COMP%] div.row[_ngcontent-%COMP%] > div.col[_ngcontent-%COMP%]:nth-child(4n+4) {\n border-bottom: 1px solid #cfcfcf;\n border-right: 1px solid #cfcfcf;\n}\n\n.quickKeys[_ngcontent-%COMP%] .quickKeyTabs[_ngcontent-%COMP%] div.row[_ngcontent-%COMP%] > div.col[_ngcontent-%COMP%]:nth-child(n+5) {\n width: 25%;\n flex-grow: 0;\n}\n\n.quickKeys[_ngcontent-%COMP%] .quickKeyTabs[_ngcontent-%COMP%] div.row[_ngcontent-%COMP%] > div.col.active[_ngcontent-%COMP%] {\n color: #268ec1 !important;\n}\n\n.quickKeys[_ngcontent-%COMP%] .tabItems[_ngcontent-%COMP%] {\n padding: 0;\n}\n\n.quickKeys[_ngcontent-%COMP%] .tabItems[_ngcontent-%COMP%] .column[_ngcontent-%COMP%] {\n margin-top: 15px;\n margin-bottom: 10px;\n word-break: break-all;\n}\n\n.quickKeys[_ngcontent-%COMP%] .tabItems[_ngcontent-%COMP%] .column[_ngcontent-%COMP%] > div[_ngcontent-%COMP%] {\n border: solid 1px #cfcfcf;\n}\n\n.quickKeys[_ngcontent-%COMP%] .tabItems[_ngcontent-%COMP%] .column[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] {\n text-align: center;\n display: block;\n cursor: pointer;\n}\n\n.quickKeys[_ngcontent-%COMP%] .tabItems[_ngcontent-%COMP%] .column[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] img[_ngcontent-%COMP%] {\n height: 80px;\n width: 80px;\n display: block;\n margin: 0 auto;\n border-top-left-radius: 5px;\n border-bottom-right-radius: 5px;\n border: solid 1px #DDDDDD;\n}\n\n.quickKeys[_ngcontent-%COMP%] .tabItems[_ngcontent-%COMP%] .column[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n height: 80px;\n width: 80px;\n font-size: 20px;\n display: block;\n margin: 0 auto;\n padding-top: 22px;\n background-color: #a6a6a6;\n border: solid 1px #999999;\n border-top-left-radius: 5px;\n border-bottom-right-radius: 5px;\n color: white;\n}\n\n.quickKeys[_ngcontent-%COMP%] .tabItems[_ngcontent-%COMP%] .column[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] small[_ngcontent-%COMP%] {\n color: black;\n font-size: 11px;\n display: block;\n margin: 5px 0 0 0;\n}\n\n.quickKeys[_ngcontent-%COMP%] .tabItems[_ngcontent-%COMP%] .column[_ngcontent-%COMP%] .ion-icon[_ngcontent-%COMP%] {\n font-size: 75px;\n margin: 10px;\n}\n\n.quickKeys[_ngcontent-%COMP%] .variants-header[_ngcontent-%COMP%] {\n background: #ffffff;\n \n \n \n \n \n \n background: linear-gradient(to bottom, #ffffff 0%, #eeeeee 100%);\n \n filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#ffffff", endColorstr="#eeeeee",GradientType=0 );\n \n color: #268ec1;\n cursor: pointer;\n}\n\n.quickKeys[_ngcontent-%COMP%] .col-md-3.column.add[_ngcontent-%COMP%] {\n cursor: pointer;\n}\n\n.quickKeys[_ngcontent-%COMP%] .col-md-3.column.add[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n margin-top: 10px;\n}\n\n.quickKeys[_ngcontent-%COMP%] i.icon-col.fa.fa-times.text-danger[_ngcontent-%COMP%] {\n color: #fb404b !important;\n position: absolute;\n right: 16px;\n top: 5px;\n}\n\n.quickKeys[_ngcontent-%COMP%] a#LinkConfigureQuickkey[_ngcontent-%COMP%], .quickKeys[_ngcontent-%COMP%] a#LinkConfigureParkLayout[_ngcontent-%COMP%] {\n background-color: #479ccf;\n padding: 15px 25px;\n color: white;\n text-decoration: none;\n width: 240px;\n display: block;\n opacity: 0.85;\n border-radius: 5px;\n}\n\n.quickKeys[_ngcontent-%COMP%] a#LinkConfigureQuickkey[_ngcontent-%COMP%] {\n position: absolute;\n top: 120px;\n left: 90px;\n}\n\n.quickKeys[_ngcontent-%COMP%] a#LinkConfigureQuickkey[_ngcontent-%COMP%]:hover, .quickKeys[_ngcontent-%COMP%] a#LinkConfigureParkLayout[_ngcontent-%COMP%]:hover {\n opacity: 0.95;\n}\n\n.quickKeys[_ngcontent-%COMP%] a#LinkConfigureQuickkey[_ngcontent-%COMP%] Strong[_ngcontent-%COMP%], .quickKeys[_ngcontent-%COMP%] a#LinkConfigureParkLayout[_ngcontent-%COMP%] Strong[_ngcontent-%COMP%] {\n border-bottom: 1px solid white;\n font-size: 14px;\n margin: 0 0 10px;\n padding: 0 0 3px;\n display: block;\n}\n\n.quickKeys[_ngcontent-%COMP%] a#LinkConfigureQuickkey[_ngcontent-%COMP%] i[_ngcontent-%COMP%], .quickKeys[_ngcontent-%COMP%] a#LinkConfigureParkLayout[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n display: inline-block;\n height: 35px;\n margin: 0 10px 0 0;\n font-size: 28px;\n}\n\n.quickKeys[_ngcontent-%COMP%] a#LinkConfigureQuickkey[_ngcontent-%COMP%] span[_ngcontent-%COMP%], .quickKeys[_ngcontent-%COMP%] a#LinkConfigureParkLayout[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n display: inline-block;\n font-size: 14px;\n width: 135px;\n vertical-align: top;\n}\n\n.quickKeys[_ngcontent-%COMP%] .row.no-gutters.border.align-items-center.variants-header.cursor[_ngcontent-%COMP%] {\n background: linear-gradient(to bottom, #ffffff 0%, #eeeeee 100%);\n}\n\n.general-information[_ngcontent-%COMP%] ol.mt-5.ml-5.pl-7[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] {\n line-height: 20px;\n}\n\ndiv.quickKey[_ngcontent-%COMP%] {\n width: 420px;\n margin-right: 10px;\n}']}),o})(),vr=(()=>{class o{constructor(t,e,i,r,c){this._dialogRef=t,this.toastr=e,this._shoppingCartService=i,this._OrderHttpService=r,this._orderDataService=c,this.modalConfig=new T.O,this.produk=[],this.items=[],this.properties="",this.objek=[],this.flag=!1,this.modalConfig.title="Upload",this.modalConfig.customWidth="284px"}ngOnInit(){this._orderDataService.Data$.subscribe(t=>{this.cart=t.CartItems})}onFileLoad(t){this.csvContent=t.target.result;let i=!1,r=[],c=[],l=0;for(const d of this.csvContent.split(/[\r\n]+/))if(i){let s={};for(let p=0;p<l;p++)s[c[p]]=d.split(",")[p];r.push(s)}else{for(let s=0;s<d.split(",").length;s++)l=d.split(",").length,c.push(d.split(",")[s].replace(/ /g,""));i=!0}this.produk=r.filter(d=>""!=d.Code),localStorage.setItem("uploadcsv",JSON.stringify(this.produk)),this.flag=!0}onFileSelect(t){localStorage.removeItem("uploadcsv");const e=t.files,i=["csv"];if(e&&e.length){const r=t.files[0].name.split(".").pop().toLowerCase();if(i.indexOf(r)>-1){const l=e[0],d=new FileReader;d.onload=this.onFileLoad,d.readAsText(l,"UTF-8")}else this.toastr.error("Invalid File Type","Failed")}}onOk(){const t=localStorage.getItem("uploadcsv"),e=this._orderDataService.Data;this.produk=JSON.parse(t),this.produk&&(this._OrderHttpService.UploadCSV(this.produk,e.Order.EntityID).subscribe(i=>{let r;localStorage.removeItem("uploadcsv");for(const c of i)r=new tn.t,c.Variant.UnitPrice=c.Price,c.Variant.UnitCost=c.Cost,c.Variant.PriceDiscount=c.Discount,r.Quantity=c.Quantity,r.patchByVariant(c.Variant,!0),r.Note=c.Note?c.Note:r.Note,r.DiscountAmount=c.DiscountAmount,this._shoppingCartService.pushNewItemToArray(r)},i=>{localStorage.removeItem("uploadcsv")}),this.close())}close(){this._dialogRef.close()}}return o.\u0275fac=function(t){return new(t||o)(n.Y36(P.so),n.Y36(Z._W),n.Y36(hn),n.Y36(z.D),n.Y36(S))},o.\u0275cmp=n.Xpm({type:o,selectors:[["POS-modal-upload"]],decls:14,vars:1,consts:[[3,"config","onOk","onCancel","onClose"],[1,"modal-dialog"],[1,"modal-content","border-0"],["href","https://res.cloudinary.com/pos/raw/upload/v1629353710/POS/CSV/ImportInSell_DealPOS_New.csv",1,"noteBox"],[1,"d-flex","justify-content-between"],["accept",".csv","id","csv","type","file","name","myfile",1,"form-control",3,"change"]],template:function(t,e){1&t&&(n.TgZ(0,"modal-material",0),n.NdJ("onOk",function(){return e.onOk()})("onCancel",function(){return e.close()})("onClose",function(){return e.close()}),n.TgZ(1,"content",1),n.TgZ(2,"div",2),n.TgZ(3,"div"),n.TgZ(4,"a",3),n._uU(5,"Download Sample File"),n.qZA(),n.qZA(),n.TgZ(6,"div",4),n.TgZ(7,"table"),n.TgZ(8,"tbody"),n.TgZ(9,"tr"),n.TgZ(10,"th"),n._uU(11," CSV: "),n.qZA(),n.TgZ(12,"td"),n.TgZ(13,"input",5),n.NdJ("change",function(r){return e.onFileSelect(r.target)}),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.qZA()),2&t&&n.Q6J("config",e.modalConfig)},directives:[y.M],styles:[""]}),o})();function yr(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",10),n.TgZ(1,"a",11),n.NdJ("click",function(){return n.CHM(t),n.oxw().openUploadModal()}),n._UZ(2,"i",12),n.qZA(),n.qZA()}}function Dr(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",10),n.TgZ(1,"a",13),n.NdJ("click",function(){return n.CHM(t),n.oxw().openAddItemModal()}),n._UZ(2,"i",14),n.TgZ(3,"small",15),n._uU(4,"(F4)"),n.qZA(),n.qZA(),n.qZA()}}let Sr=(()=>{class o{constructor(t,e,i,r,c){this._posService=t,this._orderDataService=e,this._cartService=i,this._matDialog=r,this._outletRegisterService=c,this.posData=new $.m,this.isEdit=!1,this.isOnline=!0,this.AppConfigJSON=new ln,this.renderThumbnail=!1,this.destroy$=new N.xQ,this.AppConfigJSON=this._posService.Data.AppConfigJSON,this.renderThumbnail=this.AppConfigJSON.ModuleSell.ProductDialog.ShowThumbnail,this.subscribeToObservable()}handleF4(){this._matDialog.openDialogs&&this._matDialog.openDialogs.length>0||this.openAddItemModal()}ngAfterViewInit(){this.setFocusToAutoComplete()}subscribeToObservable(){this._orderDataService.Data$.pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.posData=t,this.Items=t.CartItems,this.setFocusToAutoComplete()}),this._outletRegisterService.Data$.pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.setFocusToAutoComplete()})}setFocusToAutoComplete(){let t=document.getElementById("product");t&&t.focus()}openUploadModal(){this._matDialog.open(vr)}openAddItemModal(){this._matDialog.open(jn)}addItem(t){this._cartService.addCartItemById(t).then(()=>{this.openModalItemOnNew(t)})}onBarcodeScan(t){g.gT.IsNotEmpty(t)&&this._cartService.addCartItemByCode(t).then(e=>{this.openModalItemOnNew(e.ID)})}openModalItemOnNew(t){if(this.AppConfigJSON.ModuleSell.ProductDialog.OpenOnNewItemAdded){let e=this.Items.find(r=>r.VariantID==t),i=this.Items.lastIndexOf(e);this._matDialog.open(jn,{data:{index:i}})}}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete()}}return o.\u0275fac=function(t){return new(t||o)(n.Y36(D),n.Y36(S),n.Y36(hn),n.Y36(P.uw),n.Y36(F))},o.\u0275cmp=n.Xpm({type:o,selectors:[["pos-cart-header"]],hostBindings:function(t,e){1&t&&n.NdJ("keydown.F4",function(r){return e.handleF4(r)},!1,n.Jf7)},decls:14,vars:10,consts:[[1,"row","cart-header","no-gutters","justify-content-between","align-items-center","p-6"],[1,"col-auto",3,"title"],[1,"fa","fa-shopping-cart","fa-lg","text-success","mr-3"],[1,"col-auto"],[1,"input-group","barcode","barcode-input"],[1,"input-group-prepend"],[1,"input-group-text"],["aria-hidden","true",1,"fa","fa-barcode"],["requestUrl","/API/AC/GetVariantSuggestionByCodeNName","placeholder","Search product by name / code","inputID","product",1,"input-left",3,"clearOnSelect","localStorage","renderThumbnail","onSelect","onInputEnter"],["class","col-auto add-item",4,"ngIf"],[1,"col-auto","add-item"],["title","Upload Item","data-toggle","modal",1,"pointer","d-block","position-relative","cart-add",3,"click"],["aria-hidden","true",1,"fa","fa-upload","fa-2x","text-success"],["title","Add Item (F4)",1,"pointer","d-block","position-relative","cart-add",3,"click"],["aria-hidden","true",1,"fa","fa-plus","fa-2x","text-success"],[1,"position-absolute","font-italic","right-bottom","text-dark"]],template:function(t,e){1&t&&(n.TgZ(0,"div",0),n.TgZ(1,"div",1),n.TgZ(2,"h5"),n._UZ(3,"i",2),n._uU(4),n.ALo(5,"number"),n.qZA(),n.qZA(),n.TgZ(6,"div",3),n.TgZ(7,"div",4),n.TgZ(8,"div",5),n.TgZ(9,"span",6),n._UZ(10,"i",7),n.qZA(),n.qZA(),n.TgZ(11,"autocompleteV2",8),n.NdJ("onSelect",function(r){return e.addItem(r)})("onInputEnter",function(r){return e.onBarcodeScan(r)}),n.qZA(),n.qZA(),n.qZA(),n.YNc(12,yr,3,0,"div",9),n.YNc(13,Dr,5,0,"div",9),n.qZA()),2&t&&(n.xp6(1),n.MGl("title","You have ",e.posData.cartQuantity," items in current sale"),n.xp6(3),n.AsE(" ",e.isEdit?"Update "+(null==e.posData.Order.ParkLabel?"":e.posData.Order.ParkLabel):"Current Sale "," (",n.lcZ(5,8,e.posData.cartQuantity),") "),n.xp6(7),n.Q6J("clearOnSelect",!0)("localStorage","products")("renderThumbnail",e.renderThumbnail),n.xp6(1),n.Q6J("ngIf",e.isOnline),n.xp6(1),n.Q6J("ngIf",e.isOnline))},directives:[Cn.J,_.O5],pipes:[_.JJ],styles:['/*General*/\n@media print {\n .cashier,\npos-quick-key,\npos-header,\npos-toolbar {\n display: none;\n }\n}\n.is-backdate {\n background: repeating-linear-gradient(-60deg, #fcf4a3, #fcf4a3 15px, #fada5e 15px, #fada5e 30px) !important;\n}\n.quickKey {\n margin-right: 10px;\n}\n.cashier ::-webkit-input-placeholder {\n font-style: italic;\n}\n.cashier :-moz-placeholder {\n /* Firefox 18- */\n font-style: italic;\n}\n.cashier ::-moz-placeholder {\n /* Firefox 19+ */\n font-style: italic;\n}\n.cashier :-ms-input-placeholder {\n font-style: italic;\n}\n.cashier div.container-fluid .header {\n border-bottom: 1px solid #dde2eb;\n}\n.cashier div.container-fluid .header .small {\n margin-right: 5px !important;\n}\n.cashier div.container-fluid .header .small .number {\n width: 143px;\n}\n.cashier div.container-fluid .header .small select {\n width: 140px;\n}\n.cashier div.container-fluid .header .small .select2-container {\n font-size: 12px;\n}\n.cashier div.container-fluid .header div {\n margin-right: 22px;\n}\n.cashier div.container-fluid .header div:last-child {\n margin-right: 0;\n}\n.cashier div.container-fluid .header div i {\n font-size: 1.25rem;\n color: #3B3B3B;\n margin-right: 5px;\n line-height: unset !important;\n}\n.cashier div.container-fluid .header div input,\n.cashier div.container-fluid .header div span.outlet {\n padding: 4px 8px 3px 5px;\n border: 1px solid #dddddd;\n font-size: 0.875rem;\n}\n.cashier div.container-fluid .header div .outlet {\n width: 165px;\n color: #337ab7;\n background: #ffffff;\n}\n.cashier div.container-fluid .header div .number {\n width: 150px;\n}\n.cashier div.container-fluid .header div select {\n width: 150px;\n}\n.cashier div.container-fluid div.row.body div.quickKey {\n width: 420px;\n margin-right: 10px;\n}\n.cashier div.container-fluid div.row.body div.cart {\n width: 570px;\n}\n.cashier div.container-fluid div.row.body div.cart div.row.header {\n border: solid 1px #cfcfcf;\n border-bottom: none;\n border-radius: 3px 3px 0 0;\n background: #f2f7fa;\n color: #222222;\n}\n.cashier div.container-fluid div.row.body div.cart div.row.header .right-bottom {\n font-size: 9px;\n right: -6px;\n bottom: -10px;\n}\n.cashier div.container-fluid div.row.body div.cart div.row.cart-table {\n border-left: solid 1px #cfcfcf;\n}\n.cashier div.container-fluid div.row.body div.cart div.row.cart-table div.col {\n overflow: auto;\n height: 250px;\n}\n.cashier div.container-fluid div.row.body div.cart div.row.cart-table div.col table thead tr {\n background: #fbfbf7;\n border-left: none;\n}\n.cashier div.container-fluid div.row.body div.cart div.row.cart-table div.col table thead tr th {\n padding: 9px 5px !important;\n}\n.cashier div.container-fluid div.row.body div.cart div.row.cart-table div.col table tbody tr td {\n padding: 10px 5px;\n border-bottom: 1px solid #cfcfcf;\n}\n.cashier div.container-fluid div.row.body div.cart div.row.cart-table div.col table tbody tr td:first-child {\n padding-right: 0;\n}\n.cashier div.container-fluid div.row.body div.cart div.row.cart-footer {\n border-top: solid 1px #cfcfcf;\n min-height: 85px;\n}\n.cashier div.container-fluid div.row.body div.cart div.row.cart-footer div.summary table th,\n.cashier div.container-fluid div.row.body div.cart div.row.cart-footer div.summary table td {\n border-left: solid 1px #cfcfcf;\n border-bottom: solid 1px #cfcfcf;\n}\n.cashier div.container-fluid div.row.body div.cart div.row.cart-footer div.summary table th {\n padding: 7px 8px;\n}\n.cashier div.container-fluid div.row.body div.cart div.row.cart-footer div.summary table td {\n padding: 7px 5px;\n}\n.cashier div.container-fluid div.row.body div.cart div.row.cart-footer .disc {\n padding-top: 7px;\n padding-bottom: 6px;\n}\n.cashier div.container-fluid div.row.body div.cart div.row.action-buttons .btn {\n font-size: 1.125rem;\n padding: 15px 18px;\n}\n.cashier div.container-fluid div.row.body div.cart div.row.action-buttons .btn-gray {\n margin-right: 10px;\n}\n.cashier div.container-fluid div.row.body div.cart div.row.action-buttons .btn-success {\n width: 200px;\n}\n.cashier div.container-fluid div.row.body div.cart div.row.action-buttons .right-bottom {\n font-size: 0.625rem;\n right: 4px;\n}\n.text-black.btn-success {\n color: #4d4d4d !important;\n}\n.main-panel nav.fixed-top.offline,\n.full_screen div.container-fluid > div.row.header.offline {\n background: repeating-linear-gradient(-60deg, #f8d7da, #f8d7da 15px, #f5c6cb 15px, #f5c6cb 30px) !important;\n}\n.barcode-input {\n width: 305px;\n}\n.barcode-input > input {\n height: 28px;\n}\n.barcode-input autocomplete {\n width: 267px;\n}\n.barcode-input autocompleteV2 {\n width: 267px;\n}\n.input-group-text-retrieve {\n padding: 9px 0.75rem !important;\n}\n.font-12 {\n font-size: 12px;\n}\n.btn-gray {\n background-color: #f4f4f4;\n border: 1px solid #d6d6d6;\n font-weight: bold;\n color: #545454 !important;\n background: linear-gradient(to bottom, #ffffff 0%, #eeeeee 100%);\n}\n.btn-gray-more {\n background-color: #f4f4f4;\n border: 1px solid #d6d6d6;\n background: linear-gradient(to bottom, #ffffff 0%, #eeeeee 100%);\n}\n.cash-btn {\n background-color: #f4f4f4;\n border: 1px solid #d6d6d6;\n font-weight: bold;\n margin: 0 0 0 10px;\n padding: 7px 15px;\n height: 18px;\n box-sizing: content-box;\n background: linear-gradient(to bottom, #ffffff 0%, #eeeeee 100%);\n}\n.calc-tbl th {\n padding: 7px 15px 7px 10px;\n border: 1px solid #ddd;\n border-top: none;\n background-color: #eeeeee;\n}\n.dropdown-menu .disabled {\n display: none !important;\n}\n.calc-tbl td {\n width: 100px;\n text-align: right;\n padding: 7px 5px;\n}\nsection.complete h4 {\n color: #3b5998;\n margin: 20px 0px;\n}\nsection.complete h4 a {\n font-size: 0.75rem;\n color: #868686;\n}\nsection.complete .complete-action .btn {\n text-align: center;\n height: 150px;\n width: 190px;\n font-family: "Roboto Slab", serif;\n display: flex;\n flex-direction: column !important;\n padding: 0px;\n color: #666666;\n margin-right: 10px;\n}\nsection.complete .complete-action .btn i {\n display: block;\n font-size: 50px;\n margin-top: 20px;\n}\nsection.complete .complete-action .btn h4 {\n margin: 0px;\n margin-top: 10px;\n color: #666666;\n}\nsection.complete .complete-action .btn:first-child h4 {\n color: #3B3B3B;\n}\nsection.complete .complete-action .btn p {\n font-size: 0.625rem;\n font-style: italic;\n padding: 10px;\n box-sizing: border-box;\n color: #868686;\n border-top: 1px solid #dddddd;\n font-weight: normal;\n margin: 0px;\n}\n.complete-more-action {\n margin-top: 10px;\n}\n/*modal*/\n.modal-body h4 {\n font-weight: 400;\n}\n.modal-body .actions-tabs {\n position: absolute;\n left: 230px;\n top: 15px;\n}\n.modal-header i {\n font-size: 12px;\n font-style: normal;\n}\n.modal-header a i {\n font-size: 14px !important;\n}\n.dialogButtonOption .modal-body .btn {\n padding: 25px 0px;\n width: 190px;\n margin-right: 10px;\n}\n.dialogButtonOption .modal-body .btn h4 {\n font-weight: 700;\n text-transform: uppercase;\n}\n.dialogButtonOption .modal-body .btn span {\n font-size: 0.75rem;\n font-style: italic;\n color: #868686;\n margin-top: 10px;\n}\n.currency {\n top: 13px;\n left: 30px;\n}\n.paymentNote::before {\n z-index: 10;\n content: "";\n position: absolute;\n top: 0;\n left: calc(50% - 10px);\n height: 100%;\n width: 10px;\n background-color: inherit;\n border-right: 1px solid lightgray;\n transform: skewX(-10deg);\n}\n#dialogPayment .col-auto,\n#dialogSubmitOrder .col-auto {\n padding: 0 4px;\n}\n#dialogPayment .col-auto,\n#dialogSubmitOrder .col-auto {\n padding: 0 4px;\n}\n#dialogPayment .col-4,\n#dialogSubmitOrder .col-4 {\n width: 125px !important;\n padding: 0 4px;\n}\n#dialogPayment .col-8,\n#dialogSubmitOrder .col-8 {\n width: 250px !important;\n padding: 0 4px;\n}\n#dialogPayment .btn-link,\n#dialogSubmitOrder .btn-link {\n padding-top: 0px;\n color: #868686;\n padding-bottom: 8px;\n border-radius: unset;\n font-family: "Roboto Slab", serif;\n}\n#dialogPayment .btn-link.selected,\n#dialogSubmitOrder .btn-link.selected {\n color: #3B3B3B;\n border-bottom: 4px solid #07a519;\n}\n#dialogPayment .change,\n#dialogSubmitOrder .change {\n position: absolute;\n top: 1px;\n height: 40px;\n background: #89b03e;\n color: #fff;\n right: 16px;\n padding: 0 10px;\n line-height: 40px;\n font-size: 16px;\n}\n#dialogPayment .change:before,\n#dialogSubmitOrder .change:before {\n content: "\\a";\n border-style: solid;\n border-width: 40px 24px 0 0;\n border-color: transparent #89b03e transparent transparent;\n position: absolute;\n left: -24px;\n}\n#dialogPayment .change.danger,\n#dialogSubmitOrder .change.danger {\n background: #c9302c;\n}\n#dialogPayment .change.danger:before,\n#dialogSubmitOrder .change.danger:before {\n border-color: transparent #c9302c transparent transparent;\n}\n/*ovo payment*/\n.phone div {\n height: 50px;\n width: 50px;\n padding-top: 11px;\n background-color: #f5f5f5;\n border: 1px solid gray !important;\n}\n.phone input {\n padding-left: 65px !important;\n border: 1px solid gray !important;\n font-size: 25px;\n height: 50px;\n}\n.phone .form-control:focus {\n border-color: #8bb8df !important;\n}\n.back-button {\n left: -18px;\n top: -74px;\n}\n.back-button i {\n color: white;\n}\n.back-button-gopay {\n left: -18px;\n top: -50px;\n}\n.back-button-gopay i {\n color: white;\n}\n.logo-gopay {\n margin-top: -16px;\n}\n#dialogSubmitOrder .btn-link {\n padding-top: 0px;\n color: #868686;\n padding-bottom: 8px;\n border-radius: unset;\n font-family: "Roboto Slab", serif;\n}\n#dialogSubmitOrder .btn-link.selected {\n color: #3B3B3B;\n border-bottom: 4px solid #07a519;\n}\n#dialogSubmitOrder .btn-info {\n font-size: 0.75rem;\n margin-right: 10px;\n padding: 10px;\n margin-bottom: 10px;\n float: left;\n}\n#dialogSubmitOrder .input-label {\n position: relative;\n}\n#dialogSubmitOrder .input-label span {\n position: absolute;\n font-size: 0.875rem;\n color: #868686;\n top: 26px;\n left: 20px;\n}\n#dialogSubmitOrder .input-label input {\n margin: 0;\n margin-bottom: 8px;\n border: 1px solid #dddddd;\n padding: 7px 5px;\n width: 100%;\n font-size: 36px;\n border-radius: 3px;\n text-align: right;\n background-color: #ffffff;\n outline: none;\n}\n#dialogSubmitOrder .pay-info input {\n border-bottom: 2px solid #07a519 !important;\n font-size: 0.875rem;\n border: none !important;\n border-bottom: 2px solid #07a519 !important;\n outline: none;\n}\n#dialogSubmitOrder .change {\n background-color: #cccccc;\n border: 1px solid #dddddd;\n width: 149px;\n padding: 5px 10px 5px 0;\n text-align: right;\n font-size: 1.25rem;\n font-weight: bold;\n float: right;\n}\n.rad-btn {\n position: relative;\n display: inline-block;\n}\n.rad-btn label {\n border: 1px solid #dddddd;\n border-radius: 3px;\n margin-right: 10px;\n cursor: pointer;\n padding: 10px;\n margin-bottom: 10px;\n color: black;\n}\n.rad-btn input[type=radio] {\n visibility: hidden;\n position: absolute;\n left: 0;\n top: 0;\n}\n.rad-btn input[type=radio]:checked + label {\n background: #dfeffc;\n border: 1px solid #dfeffc;\n}\n.modal-dialog .noteBox {\n background-color: #ffffe1;\n border: 1px solid #cacaca;\n padding: 3px;\n display: block;\n outline: 0;\n margin-bottom: 5px;\n font-size: 11px;\n text-decoration: none;\n}\n/*park action*/\n.fullscreen {\n position: fixed;\n bottom: 0px;\n right: 0px;\n padding: 10px;\n background-color: #bbbbbb;\n cursor: pointer;\n}\n.fullscreen i {\n font-size: 34px;\n color: white;\n}\n.pos-status {\n position: fixed;\n right: 10px;\n top: 10px;\n list-style: none;\n padding: 0px;\n margin: 0px;\n z-index: 1031;\n display: flex;\n align-items: center !important;\n}\n.pos-status li {\n cursor: pointer;\n margin-right: 10px;\n}\n.pos-status li .btn {\n padding: 8px 10px;\n color: #868686;\n}\n.pos-status li i {\n font-size: 26px;\n}\n.pos-status li:first-child i {\n font-size: 16px;\n}\n.full_screen .pos-status {\n left: 10px;\n bottom: 10px;\n top: auto;\n right: auto;\n}\n.full_screen .park-action {\n left: 0px;\n right: auto !important;\n padding: 0px;\n}\n.full_screen nav,\n.full_screen .sidebar {\n display: none !important;\n}\n.full_screen section.cashier > div.container-fluid {\n padding: 0 !important;\n}\n.full_screen section.cashier > div.container-fluid > div.row.header,\n.full_screen section.cashier > div.container-fluid > div.row.body {\n justify-content: center;\n}\n.full_screen .main-panel {\n left: 0px;\n right: 0px;\n top: 0px;\n bottom: 0px;\n width: 100%;\n padding: 0px;\n}\n.full_screen #divSideMenu {\n display: none;\n}\n#dialogItem textarea {\n border-top: none;\n border-right: none;\n}\ndiv#dialogDiscount .txtPcg {\n width: 30px;\n}\n#radOnline + label,\n#radOffline + label {\n height: 150px;\n width: 200px;\n white-space: normal;\n margin: 20px 0px 20px 10px;\n padding-top: 12px;\n border: 1px solid #dddddd;\n}\n#radOnline + label h4,\n#radOffline + label h4 {\n margin: 5px;\n}\n#radOnline + label i,\n#radOffline + label i {\n font-size: 30px;\n}\nul.dialogPicker li a strong {\n height: 30px;\n border-radius: 4px;\n padding: 5px 10px;\n color: #ffffff;\n background: #b1aaaa;\n}\nul.dialogPicker > li > a:hover,\nul.dialogPicker > li > a.active {\n background: #fffed9;\n border: 1px solid #88ae3d;\n}\nul.dialogPicker > li > a:hover > strong,\nul.dialogPicker > li > a.active > strong {\n background: #88ae3d;\n}\n#radOnline:checked + label {\n color: #ffffff;\n background-color: #89b03e;\n}\n#radOffline:checked + label {\n color: #ffffff;\n background-color: #c9302c;\n}\n.fa-wifi-off {\n background-image: url("//res.cloudinary.com/pos/image/upload/v1535431932/POS/Images/Icon/wifi-off.svg");\n height: 30px;\n width: 30px;\n background-size: 30px;\n background-repeat: no-repeat;\n}\n#radOffline:checked + label .fa-wifi-off {\n background-image: url("//res.cloudinary.com/pos/image/upload/POS/Images/Icon/wifi-off-white.svg");\n}\n.fa-coupon {\n background-position-y: center;\n background-image: url("//res.cloudinary.com/pos/image/upload/POS/Images/Icon/coupon.svg");\n height: 26px;\n width: 26px;\n background-size: 26px;\n background-repeat: no-repeat;\n}\n.fa-retur {\n background-position-y: center;\n background-image: url("//res.cloudinary.com/pos/image/upload/POS/Images/Icon/return.svg");\n height: 26px;\n width: 26px;\n background-size: 26px;\n background-repeat: no-repeat;\n}\n/*Dialog picker*/\nul.dialogPicker {\n list-style: none;\n margin: 0px;\n padding: 0px;\n display: flex;\n flex-wrap: wrap !important;\n}\nul.dialogPicker li {\n width: 180px;\n min-height: 95px;\n margin-right: 17px;\n margin-bottom: 17px;\n position: relative;\n}\nul.dialogPicker li > a {\n display: block;\n outline: 0;\n border: 1px solid #b1aaaa;\n border-radius: 5px;\n cursor: pointer;\n}\nul.dialogPicker li > a h6 {\n height: 30px;\n border-radius: 4px;\n padding: 5px 10px;\n color: #ffffff;\n background: #b1aaaa;\n overflow: hidden;\n}\nul.dialogPicker li > a h6 i {\n margin-right: 5px;\n}\nul.dialogPicker li > a:hover, ul.dialogPicker li > a.active, ul.dialogPicker li > a.vacant {\n background: #ffffe1;\n border: 1px solid #89b03e;\n}\nul.dialogPicker li > a:hover > h6, ul.dialogPicker li > a.active > h6, ul.dialogPicker li > a.vacant > h6 {\n background: #89b03e;\n}\nul.dialogPicker li > a.occupied, ul.dialogPicker li > a.occupied:hover {\n border: 1px solid #c9302c;\n}\nul.dialogPicker li > a.occupied > h6, ul.dialogPicker li > a.occupied:hover > h6 {\n background: #c9302c !important;\n}\nul.dialogPicker li > a.occupied span.alias {\n background: #c9302c;\n}\nul.dialogPicker li > a.occupied:hover {\n background: white;\n}\nul.dialogPicker li > a.preparing {\n border: 1px solid #f6a828;\n}\nul.dialogPicker li > a.preparing > h6 {\n background: #f6a828 !important;\n}\nul.dialogPicker li > a.preparing:hover {\n border: 1px solid #f6a828;\n background: white;\n}\nul.dialogPicker li > a.preparing:hover > strong {\n background: #f6a828 !important;\n}\nul.dialogPicker li > a.preparing span.alias {\n background: #f6a828;\n}\nul.dialogPicker li > a.preparing div > span {\n font-size: 0.75rem !important;\n}\nul.dialogPicker li > a div {\n height: 80px;\n padding: 15px 10px;\n position: relative;\n}\nul.dialogPicker li > a div span {\n display: block;\n font-weight: normal;\n font-size: 0.875rem;\n width: 100%;\n margin-bottom: 5px;\n}\nul.dialogPicker li > a div span:first-child {\n margin-top: -10px;\n}\nul.dialogPicker li > a div span:last-child {\n margin-bottom: 0px;\n}\nul.dialogPicker li > a div span.alias {\n text-align: center;\n position: absolute;\n bottom: 0px;\n right: 0px;\n width: auto;\n background-color: #b1aaaa;\n border-radius: 3px;\n padding: 2px 5px;\n color: #ffffff;\n display: none !important;\n}\nul.dialogPicker li > a div span.idle {\n display: block;\n font-size: 1.25rem;\n text-align: center;\n}\nul.dialogPicker li > span {\n position: absolute;\n width: 27px;\n height: 28px;\n cursor: pointer;\n top: 5px;\n}\nul.dialogPicker li > span i {\n color: black;\n}\nul.dialogPicker li > span:last-of-type {\n right: -5px;\n}\nul.dialogPicker li > span:nth-last-of-type(2) {\n right: 15px;\n}\nul.dialogPicker li input[type=checkbox] {\n bottom: 20px;\n right: 5px;\n position: absolute;\n}\nul.dialogPicker .duration > span {\n border: 1px solid !important;\n position: absolute;\n bottom: -3px;\n left: 58px;\n background: #fff;\n border-radius: 5px;\n}\nul.dialogPickerBig li {\n width: 140px !important;\n margin-bottom: 17px;\n margin-top: 0px !important;\n min-height: 80px !important;\n}\nul.dialogPickerBig li a div {\n height: 50px !important;\n}\n.arrow_box_left:after,\n.arrow_box_left:before {\n left: 100% !important;\n}\n.arrow_box_left:after {\n border-left-color: #ffffff !important;\n border-right-color: transparent !important;\n}\n.arrow_box_left:before {\n border-left-color: #dddddd !important;\n border-right-color: transparent !important;\n}\n.arrow_box_bottom:after,\n.arrow_box_bottom:before {\n top: initial;\n left: 40%;\n bottom: 100% !important;\n}\n.arrow_box_bottom:after {\n border-bottom-color: #ffffff !important;\n border-right-color: transparent !important;\n margin-left: -6px;\n}\n.arrow_box_bottom:before {\n border-bottom-color: #dddddd !important;\n border-right-color: transparent !important;\n margin-left: -9px;\n}\ndiv.price_calculator {\n left: -260px;\n top: 46px;\n width: 250px;\n height: 138px;\n padding: 12px 0px 3px 8px;\n border-radius: 3px;\n position: absolute !important;\n}\ndiv.price_calculator input {\n border: 0px !important;\n border-bottom: 1px solid #dddddd !important;\n background-color: transparent !important;\n padding: 8px 5px 5px 5px !important;\n width: 60px !important;\n}\n.tooltip-component {\n position: relative;\n}\n.tooltip-component:hover > div.toolTip {\n display: block;\n}\n.tooltip-component div.toolTip {\n background: #ffffe1;\n border: 1px solid #dddddd;\n position: absolute;\n top: 110%;\n left: 0%;\n padding: 10px;\n display: none;\n text-align: center;\n min-height: 15px;\n margin-top: 0.1rem;\n}\n.tooltip-component div.toolTip.green {\n background: #caed9e;\n border: 4px solid #90d93f;\n}\n.tooltip-component div.toolTip:after, .tooltip-component div.toolTip:before {\n content: "";\n position: absolute;\n top: 0;\n left: 50%;\n width: 0;\n height: 0;\n border: 5px solid transparent;\n}\n.tooltip-component div.toolTip::after {\n border-bottom-color: #ffffe1;\n border-top: 0;\n margin-left: -5px;\n margin-top: -5px;\n}\n.tooltip-component div.toolTip::before {\n border-bottom-color: #dddddd;\n border-top: 0;\n margin-left: -5px;\n margin-top: -6px;\n}\n.tooltip-component div.toolTip h4 {\n margin: 0px;\n white-space: nowrap;\n color: #89b03e;\n text-shadow: 0px 1px 0px White;\n}\n.offline .modal-header {\n background-color: #c9302c !important;\n}\n.warning .modal-header {\n background-color: #f6a828 !important;\n}\n#dialogPromo table {\n min-width: 400px;\n}\n#dialogPromo table.table-hover tbody tr:hover {\n background-color: #89b03e;\n color: white;\n}\nfade-in {\n opacity: 1;\n /* For Safari 3.1 to 6.0 */\n transition: opacity 2s;\n}\n.fade-out {\n opacity: 0;\n /* For Safari 3.1 to 6.0 */\n transition: opacity 2s;\n z-index: 1;\n}\n.later-payment strong {\n font-size: 20px;\n}\n.later-payment input {\n font-size: 20px;\n padding: 20px 10px !important;\n}\n.change-box {\n top: initial;\n height: auto;\n align-self: center;\n}\n.e-money {\n height: 65px;\n}\n@media only screen and (max-width: 1280px) {\n input[placeholder=Customer] {\n width: 135px;\n }\n\n span.select2.select2-container {\n width: 135px !important;\n }\n}\n@media only screen and (max-width: 1215px) {\n input[placeholder=Customer] {\n width: 120px;\n }\n\n span.select2.select2-container {\n width: 120px !important;\n }\n}\n@media only screen and (max-width: 1185px) {\n input[placeholder=Customer] {\n width: 140px;\n }\n\n span.select2.select2-container {\n width: 140px !important;\n }\n}\n@media only screen and (max-width: 992px) {\n .pos-status {\n bottom: 10px;\n left: 10px;\n top: auto;\n }\n}\n.simple-keyboard {\n width: 20vw;\n position: absolute;\n left: 77%;\n top: 30%;\n z-index: 1200;\n}\n::ng-deep .hg-theme-default .hg-button {\n height: 70px !important;\n font-size: 16px !important;\n}\n::ng-deep .hg-button-bksp {\n width: 21px;\n}\n::ng-deep .hg-button[data-skbtn="{enter}"] {\n width: 90px;\n}\n.cashier {\n max-width: 37rem;\n}\ndiv.row.cart-header {\n border: solid 1px #CFCFCF;\n border-bottom: none;\n border-radius: 3px 3px 0 0;\n background: #F2F7FA;\n color: #222222;\n}\ndiv.row.cart-header .right-bottom {\n font-size: 9px;\n right: -6px;\n bottom: -10px;\n}\nautocompleteV2.input-left > mat-form-field > input.form-control {\n padding-left: 0px !important;\n}'],encapsulation:2}),o})();var Wn=m(8190),Dn=m(3530);const wr=["cardContainer"];function Tr(o,a){1&o&&n._UZ(0,"th")}function kr(o,a){1&o&&(n.TgZ(0,"th",8),n._uU(1," Brand "),n.qZA())}function Ir(o,a){1&o&&(n.TgZ(0,"th",8),n._uU(1," Inv. "),n.qZA())}function Ar(o,a){1&o&&n._UZ(0,"th",21)}function Zr(o,a){1&o&&n._UZ(0,"th",12)}function Nr(o,a){if(1&o&&(n.TgZ(0,"td"),n.TgZ(1,"small"),n._uU(2),n.qZA(),n.qZA()),2&o){const t=n.oxw().index;n.xp6(2),n.hij("",t+1,".")}}function qr(o,a){1&o&&n._UZ(0,"i",42)}function Rr(o,a){if(1&o&&(n.TgZ(0,"i",43),n._uU(1),n.qZA()),2&o){const t=n.oxw().$implicit;n.xp6(1),n.Oqu(t.Variant.CategoryName)}}function Jr(o,a){1&o&&(n.ynx(0),n.TgZ(1,"i",47),n._uU(2,"V"),n.qZA(),n.BQk())}function Er(o,a){1&o&&(n.TgZ(0,"i",48),n._uU(1,"N"),n.qZA())}function Qr(o,a){if(1&o&&(n.TgZ(0,"p",44),n.YNc(1,Jr,3,0,"ng-container",45),n.YNc(2,Er,2,0,"ng-template",null,46,n.W1O),n.qZA()),2&o){const t=n.MAs(3),e=n.oxw().$implicit;n.xp6(1),n.Q6J("ngIf",e.Taxable)("ngIfElse",t)}}function Ur(o,a){if(1&o&&n._UZ(0,"p",49),2&o){const t=n.oxw().$implicit;n.Q6J("innerHtml",t.Note,n.oJD)}}function Fr(o,a){if(1&o&&(n.TgZ(0,"p"),n.TgZ(1,"i",50),n._uU(2),n.qZA(),n.qZA()),2&o){const t=n.oxw().$implicit,e=n.oxw();n.xp6(2),n.hij("Fulfillment from: ",e.getOutletName(t.EntityID),"")}}function Lr(o,a){if(1&o&&(n.TgZ(0,"i"),n._uU(1),n.ALo(2,"filterNotNull"),n.qZA()),2&o){const t=a.$implicit,e=n.oxw(2).$implicit,i=n.oxw();n.xp6(1),n.AsE(" ( ",n.xi3(2,2,e.SalesOrderItemCommission,"SalesID").length>1?t.Quantity+" by ":""," ",i.getSalesName(t.SalesID)," )")}}function Hr(o,a){if(1&o&&(n.TgZ(0,"p",51),n._uU(1," Sold by: "),n.YNc(2,Lr,3,5,"i",52),n.ALo(3,"filterNotNull"),n.qZA()),2&o){const t=n.oxw().$implicit;n.xp6(2),n.Q6J("ngForOf",n.xi3(3,1,t.SalesOrderItemCommission,"SalesID"))}}function Vr(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"td",37),n.NdJ("click",function(){n.CHM(t);const i=n.oxw().index;return n.oxw().openItemModal(i)}),n._uU(1),n.qZA()}if(2&o){const t=n.oxw().$implicit;n.xp6(1),n.hij(" ",t.Variant.BrandName," ")}}function Br(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"td",34),n.NdJ("click",function(){n.CHM(t);const i=n.oxw().index;return n.oxw().openItemModal(i)}),n.qZA()}if(2&o){const t=n.oxw().$implicit;n.Q6J("innerHtml",t.Variant.UnitsInStock,n.oJD)}}function Yr(o,a){if(1&o&&(n.TgZ(0,"td"),n.TgZ(1,"small"),n._uU(2),n.qZA(),n.qZA()),2&o){const t=n.oxw().$implicit;n.xp6(2),n.Oqu("null"!=t.Variant.UOM?t.Variant.UOMName:"")}}function zr(o,a){if(1&o&&(n.TgZ(0,"td",53),n._uU(1),n.qZA()),2&o){const t=n.oxw().$implicit;n.xp6(1),n.hij(" ",t.Variant.Storage," ")}}function $r(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"tr",22),n.NdJ("contextmenu",function(i){const r=n.CHM(t),c=r.$implicit,l=r.index;return n.oxw().onContextMenu(i,c,l)}),n.TgZ(1,"td",23),n.TgZ(2,"input",24),n.NdJ("ngModelChange",function(i){return n.CHM(t).$implicit.Splited=i})("click",function(){const r=n.CHM(t).$implicit;return n.oxw().SplitQuantityValidate(r)}),n.qZA(),n.TgZ(3,"i",25),n.NdJ("click",function(){const r=n.CHM(t).$implicit;return n.oxw().removeItem(r)}),n.qZA(),n.qZA(),n.YNc(4,Nr,3,1,"td",5),n.TgZ(5,"td",26),n.NdJ("click",function(){const r=n.CHM(t).index;return n.oxw().openItemModal(r)}),n.TgZ(6,"span"),n._uU(7),n.YNc(8,qr,1,0,"i",27),n.qZA(),n.YNc(9,Rr,2,1,"i",28),n.YNc(10,Qr,4,2,"p",29),n.YNc(11,Ur,1,1,"p",30),n.YNc(12,Fr,3,1,"p",5),n.YNc(13,Hr,4,4,"p",31),n.ALo(14,"filterNotNull"),n.qZA(),n.YNc(15,Vr,2,1,"td",32),n.YNc(16,Br,1,1,"td",33),n.TgZ(17,"td",34),n.NdJ("click",function(){const r=n.CHM(t).index;return n.oxw().openItemModal(r)}),n.qZA(),n.TgZ(18,"td",21),n.TgZ(19,"input",35),n.NdJ("ngModelChange",function(i){return n.CHM(t).$implicit.SplitQuantity=i})("keyup",function(){const r=n.CHM(t).$implicit;return n.oxw().SplitQuantityValidate(r)}),n.qZA(),n.TgZ(20,"span",36),n._uU(21,"/"),n.qZA(),n.TgZ(22,"span",37),n.NdJ("click",function(){const r=n.CHM(t).index;return n.oxw().openItemModal(r,"Quantity")}),n._uU(23),n.ALo(24,"number"),n.qZA(),n.qZA(),n.YNc(25,Yr,3,1,"td",5),n.TgZ(26,"td",38),n.NdJ("click",function(){const r=n.CHM(t).index;return n.oxw().openItemModal(r,"Price")}),n.ALo(27,"number"),n.qZA(),n.YNc(28,zr,2,1,"td",39),n.TgZ(29,"td",40),n.NdJ("click",function(){const r=n.CHM(t).index;return n.oxw().openItemModal(r,"Discount")}),n._uU(30),n.ALo(31,"number"),n.ALo(32,"number"),n.qZA(),n.TgZ(33,"td",41),n.NdJ("click",function(){const r=n.CHM(t).index;return n.oxw().openItemModal(r)}),n._uU(34),n.ALo(35,"number"),n.qZA(),n.qZA()}if(2&o){const t=a.$implicit,e=n.oxw();n.Q6J("cdkDragDisabled",e.disabledDragItem)("ngClass",5==e.state?"Split":""),n.xp6(2),n.Q6J("ngModel",t.Splited)("hidden",5!=e.state),n.xp6(1),n.Q6J("hidden",5==e.state||e.disabledBilledEdit(t.ID)||e.role.DeleteItemRestriction||e.isRetrieve&&e.AuthorizeParkedOrdersItemDeletion&&"00000000-0000-0000-0000-000000000000"!=t.ID||e.isBill&&e.AuthorizeBilledOrdersItemDeletion),n.xp6(1),n.Q6J("ngIf",null==e.AppConfigJSON||null==e.AppConfigJSON.ModuleSell?null:e.AppConfigJSON.ModuleSell.Grid.RowNumberVisible),n.xp6(3),n.hij("",t.Variant.Name," "),n.xp6(1),n.Q6J("ngIf",t.PromotionGift),n.xp6(1),n.Q6J("ngIf",null==e.AppConfigJSON||null==e.AppConfigJSON.ModuleSell?null:e.AppConfigJSON.ModuleSell.Grid.CategoryVisible),n.xp6(1),n.Q6J("ngIf",null==e.AppConfigJSON||null==e.AppConfigJSON.ModuleSell?null:e.AppConfigJSON.ModuleSell.Grid.TaxVisible),n.xp6(1),n.Q6J("ngIf",t.Note),n.xp6(1),n.Q6J("ngIf",!e.isEmpty(t.EntityID)),n.xp6(1),n.Q6J("ngIf",n.xi3(14,26,t.SalesOrderItemCommission,"SalesID").length>0),n.xp6(2),n.Q6J("ngIf",null==e.AppConfigJSON||null==e.AppConfigJSON.ModuleSell?null:e.AppConfigJSON.ModuleSell.Grid.ShowBrandItemCart),n.xp6(1),n.Q6J("ngIf",null==e.AppConfigJSON||null==e.AppConfigJSON.ModuleSell?null:e.AppConfigJSON.ModuleSell.Grid.InventoryVisible),n.xp6(1),n.Q6J("innerHtml",t.Variant.Code,n.oJD),n.xp6(2),n.Q6J("hidden",!(5==e.state&&t.Splited))("ngModel",t.SplitQuantity),n.xp6(1),n.Q6J("hidden",!(5==e.state&&t.Splited)),n.xp6(3),n.Oqu(n.xi3(24,29,t.Quantity,"1.0-4")),n.xp6(2),n.Q6J("ngIf",null==e.AppConfigJSON||null==e.AppConfigJSON.ModuleSell?null:e.AppConfigJSON.ModuleSell.Grid.UOMVisible),n.xp6(1),n.Q6J("innerHtml",e.role.PriceVisibleRestriction?" - ":n.xi3(27,32,t.Price,"1.0-4"),n.oJD),n.xp6(2),n.Q6J("ngIf",null==e.AppConfigJSON||null==e.AppConfigJSON.ModuleSell||null==e.AppConfigJSON.ModuleSell.Grid?null:e.AppConfigJSON.ModuleSell.Grid.StorageVisible),n.xp6(2),n.AsE(" ",0==t.Discount?"":n.lcZ(31,35,-1*t.Discount)+"%"," ",0==t.DiscountAmount?"":n.lcZ(32,37,-1*t.DiscountAmount)," "),n.xp6(4),n.hij(" ",e.role.PriceVisibleRestriction?" - ":n.lcZ(35,39,t.Total)," ")}}function Gr(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"button",54),n.NdJ("click",function(){const r=n.CHM(t).item;return n.oxw().onReverse(r,!0)}),n._uU(1," Return "),n.qZA(),n.TgZ(2,"button",55),n.NdJ("click",function(){const r=n.CHM(t).item;return n.oxw().onReverse(r,!1)}),n._uU(3,"Sales"),n.qZA(),n.TgZ(4,"button",54),n.NdJ("click",function(){const r=n.CHM(t).item;return n.oxw().onSumPrice(r)}),n._uU(5," Merge / SUM Price "),n.qZA(),n.TgZ(6,"button",54),n.NdJ("click",function(){const r=n.CHM(t).item;return n.oxw().onBundlePrice(r)}),n._uU(7," Bundle Price "),n.qZA()}if(2&o){const t=n.oxw();n.Q6J("disabled",!t.role.Return),n.xp6(4),n.Q6J("disabled",!t.role.BundlingPrice),n.xp6(2),n.Q6J("disabled",!t.role.BundlingPrice)}}let jr=(()=>{class o{constructor(t,e,i,r,c,l,d){this._shoppingCartService=t,this._posService=e,this._outletService=i,this._orderProcessorService=r,this._matDialog=c,this._userRoleService=l,this._orderDataService=d,this.cartItems=[],this.AppConfigJSON=new ln,this.role=new K.Q,this.isRetrieve=!1,this.AuthorizeParkedOrdersItemDeletion=!1,this.isBill=!1,this.AuthorizeBilledOrdersItemDeletion=!1,this.isRemoveItem=!1,this.isUpdateItem=!1,this.contextMenuPosition={x:"0px",y:"0px"},this.destroy$=new N.xQ,this.AppConfigJSON=this._posService.Data.AppConfigJSON,this.AuthorizeParkedOrdersItemDeletion=this.AppConfigJSON.ApplicationParkAndRetrieve.AccessControl.AuthorizeParkedOrdersItemDeletion,this.AuthorizeBilledOrdersItemDeletion=this.AppConfigJSON.ApplicationParkAndRetrieve.AccessControl.AuthorizeBilledOrdersItemDeletion,this.scrollToBottom()}ngOnInit(){this.subscribeTobservable(),this.checkDisabledDragItem()}ngAfterViewInit(){setTimeout(()=>{this.scrollToBottom()},2e3)}scrollToBottom(){this.cardContainer&&!this.isRemoveItem&&!this.isUpdateItem&&setTimeout(()=>{this.cardContainer.nativeElement.scrollTop=this.cardContainer.nativeElement.scrollHeight},1),this.isRemoveItem=!1,this.isUpdateItem=!1}SelectState(t){switch(t){case O.IsBill:this.isBill=!0;break;case O.IsRetrieve:this.isRetrieve=!0;break;default:this.isBill=!1,this.isRetrieve=!1}}subscribeTobservable(){this._orderDataService.Data$.pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.cartItems=t.CartItems,this.scrollToBottom()}),this._orderProcessorService.Data$.pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.state=t.posState,this.SelectState(this.state)}),this._userRoleService.Data$.pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.role=t})}checkDisabledDragItem(){this.disabledDragItem=!0===window.matchMedia("(pointer: coarse)").matches}isEmpty(t){return g.gT.IsEmpty(t)}getSalesName(t){return this._outletService.getSalesname(t)}getOutletName(t){return this._posService.getOutletName(t)}onContextMenu(t,e,i){t.preventDefault(),this.contextMenuPosition.x=t.clientX+"px",this.contextMenuPosition.y=t.clientY+"px",e.Index=i,this.contextMenu.menuData={item:e},this.contextMenu.openMenu()}drop(t){(0,Wn.bA)(this.cartItems,t.previousIndex,t.currentIndex)}onReverse(t,e){this.isUpdateItem=!0,e?t.Quantity>0&&(t.Quantity=-1*t.Quantity):t.Quantity<0&&(t.Quantity=-1*t.Quantity),this.isUpdateItem=!0,this._shoppingCartService.updateCartItem(t,t.Index)}onSumPrice(t){this.isUpdateItem=!0;let e=0;this.cartItems.forEach((i,r)=>{e+=i.Quantity*i.Price*(100-i.Discount)/100-i.DiscountAmount,i.Price=0}),t.Price=e/t.Quantity,this._shoppingCartService.updateCartItem(t,t.Index)}onBundlePrice(t){let e=0;this.cartItems.forEach((i,r)=>{r!=t.Index&&(e+=i.Quantity*i.Price*(100-i.Discount)/100-i.DiscountAmount,i.Price=0)}),0==t.Price&&(t.Price=e/t.Quantity),this._shoppingCartService.updateCartItem(t,t.Index)}SplitQuantityValidate(t){}removeItem(t){this.isRemoveItem=!0,this._shoppingCartService.deleteCartItem(t)}disabledBilledEdit(t){return!1}openItemModal(t,e){this.isUpdateItem=!0,this._matDialog.open(jn,{data:{index:t,focus:e}})}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete()}}return o.\u0275fac=function(t){return new(t||o)(n.Y36(hn),n.Y36(D),n.Y36(F),n.Y36(R),n.Y36(P.uw),n.Y36(en),n.Y36(S))},o.\u0275cmp=n.Xpm({type:o,selectors:[["pos-cart-display"]],viewQuery:function(t,e){if(1&t&&(n.Gf(wr,5),n.Gf(Dn.p6,7)),2&t){let i;n.iGM(i=n.CRH())&&(e.cardContainer=i.first),n.iGM(i=n.CRH())&&(e.contextMenu=i.first)}},decls:31,vars:11,consts:[[1,"row","no-gutters","cart-table"],[1,"col"],["cardContainer",""],[1,"table"],[2,"width","18px"],[4,"ngIf"],[1,"text-left"],["style","cursor: pointer; width: 60px",4,"ngIf"],[2,"cursor","pointer","width","60px"],[1,"fas","fa-sort-amount-down"],[1,"text-right",2,"width","50px"],["class","text-right",4,"ngIf"],[1,"text-right",2,"width","70px"],["style","width: 70px","class","text-right",4,"ngIf"],[1,"text-right",2,"width","20px"],[1,"text-right",2,"width","85px"],["cdkDropList","",3,"cdkDropListDropped"],["cdkDrag","",3,"cdkDragDisabled","ngClass","contextmenu",4,"ngFor","ngForOf"],[2,"visibility","hidden","position","fixed",3,"matMenuTriggerFor"],["contextMenu","matMenu"],["matMenuContent",""],[1,"text-right"],["cdkDrag","",3,"cdkDragDisabled","ngClass","contextmenu"],[1,"cursor"],["type","checkbox",3,"ngModel","hidden","ngModelChange","click"],["aria-hidden","true","title","Click to Remove","alt","",1,"fa","fa-times","text-danger",3,"hidden","click"],[1,"text-left",3,"click"],["class","fas fa-gift",4,"ngIf"],["class","ml-3",4,"ngIf"],["class","font-italic m-0",4,"ngIf"],["class","special-TinyMCE m-0 font-italic",3,"innerHtml",4,"ngIf"],["class","text-success font-italic",4,"ngIf"],[3,"click",4,"ngIf"],[3,"innerHtml","click",4,"ngIf"],[3,"innerHtml","click"],["type","text","autoNum","",1,"text-right",2,"width","30px",3,"hidden","ngModel","ngModelChange","keyup"],[3,"hidden"],[3,"click"],[1,"text-right",3,"innerHtml","click"],["class","text-right font-italic",4,"ngIf"],[1,"text-right","text-danger",3,"click"],[1,"text-right",3,"click"],[1,"fas","fa-gift"],[1,"ml-3"],[1,"font-italic","m-0"],[4,"ngIf","ngIfElse"],["NotTaxable",""],[1,"text-success"],[1,"text-danger"],[1,"special-TinyMCE","m-0","font-italic",3,"innerHtml"],[1,"text-warning"],[1,"text-success","font-italic"],[4,"ngFor","ngForOf"],[1,"text-right","font-italic"],["mat-menu-item","",3,"disabled","click"],["mat-menu-item","",3,"click"]],template:function(t,e){if(1&t&&(n.TgZ(0,"div",0),n.TgZ(1,"div",1,2),n.TgZ(3,"table",3),n.TgZ(4,"thead"),n.TgZ(5,"tr"),n._UZ(6,"th",4),n.YNc(7,Tr,1,0,"th",5),n.TgZ(8,"th",6),n._uU(9,"Name"),n.qZA(),n.YNc(10,kr,2,0,"th",7),n.YNc(11,Ir,2,0,"th",7),n.TgZ(12,"th",8),n._uU(13," Code "),n._UZ(14,"i",9),n.qZA(),n.TgZ(15,"th",10),n._uU(16,"Qty"),n.qZA(),n.YNc(17,Ar,1,0,"th",11),n.TgZ(18,"th",12),n._uU(19,"Price"),n.qZA(),n.YNc(20,Zr,1,0,"th",13),n.TgZ(21,"th",14),n._uU(22,"Disc"),n.qZA(),n.TgZ(23,"th",15),n._uU(24,"Total"),n.qZA(),n.qZA(),n.qZA(),n.TgZ(25,"tbody",16),n.NdJ("cdkDropListDropped",function(r){return e.drop(r)}),n.YNc(26,$r,36,41,"tr",17),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n._UZ(27,"div",18),n.TgZ(28,"mat-menu",null,19),n.YNc(30,Gr,8,3,"ng-template",20),n.qZA()),2&t){const i=n.MAs(29);n.xp6(7),n.Q6J("ngIf",null==e.AppConfigJSON||null==e.AppConfigJSON.ModuleSell?null:e.AppConfigJSON.ModuleSell.Grid.RowNumberVisible),n.xp6(3),n.Q6J("ngIf",null==e.AppConfigJSON||null==e.AppConfigJSON.ModuleSell?null:e.AppConfigJSON.ModuleSell.Grid.ShowBrandItemCart),n.xp6(1),n.Q6J("ngIf",null==e.AppConfigJSON||null==e.AppConfigJSON.ModuleSell?null:e.AppConfigJSON.ModuleSell.Grid.InventoryVisible),n.xp6(6),n.Q6J("ngIf",null==e.AppConfigJSON||null==e.AppConfigJSON.ModuleSell?null:e.AppConfigJSON.ModuleSell.Grid.UOMVisible),n.xp6(3),n.Q6J("ngIf",null==e.AppConfigJSON||null==e.AppConfigJSON.ModuleSell||null==e.AppConfigJSON.ModuleSell.Grid?null:e.AppConfigJSON.ModuleSell.Grid.StorageVisible),n.xp6(6),n.Q6J("ngForOf",e.cartItems),n.xp6(1),n.Udp("left",e.contextMenuPosition.x)("top",e.contextMenuPosition.y),n.Q6J("matMenuTriggerFor",i)}},directives:[_.O5,Wn.Wj,_.sg,Dn.p6,Dn.VK,Dn.KA,Wn.Zt,_.mk,h.Wl,h.JJ,h.On,h.Fj,cn.b,Dn.OP],pipes:[J.kw,_.JJ],styles:['@media print {\n .cashier[_ngcontent-%COMP%], pos-quick-key[_ngcontent-%COMP%], pos-header[_ngcontent-%COMP%], pos-toolbar[_ngcontent-%COMP%] {\n display: none;\n }\n}\n.is-backdate[_ngcontent-%COMP%] {\n background: repeating-linear-gradient(-60deg, #fcf4a3, #fcf4a3 15px, #fada5e 15px, #fada5e 30px) !important;\n}\n.quickKey[_ngcontent-%COMP%] {\n margin-right: 10px;\n}\n.cashier[_ngcontent-%COMP%] [_ngcontent-%COMP%]::-webkit-input-placeholder {\n font-style: italic;\n}\n.cashier[_ngcontent-%COMP%] [_ngcontent-%COMP%]:-moz-placeholder {\n \n font-style: italic;\n}\n.cashier[_ngcontent-%COMP%] [_ngcontent-%COMP%]::-moz-placeholder {\n \n font-style: italic;\n}\n.cashier[_ngcontent-%COMP%] [_ngcontent-%COMP%]:-ms-input-placeholder {\n font-style: italic;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] {\n border-bottom: 1px solid #dde2eb;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .small[_ngcontent-%COMP%] {\n margin-right: 5px !important;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .small[_ngcontent-%COMP%] .number[_ngcontent-%COMP%] {\n width: 143px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .small[_ngcontent-%COMP%] select[_ngcontent-%COMP%] {\n width: 140px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .small[_ngcontent-%COMP%] .select2-container[_ngcontent-%COMP%] {\n font-size: 12px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] {\n margin-right: 22px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] div[_ngcontent-%COMP%]:last-child {\n margin-right: 0;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 1.25rem;\n color: #3B3B3B;\n margin-right: 5px;\n line-height: unset !important;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] input[_ngcontent-%COMP%], .cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span.outlet[_ngcontent-%COMP%] {\n padding: 4px 8px 3px 5px;\n border: 1px solid #dddddd;\n font-size: 0.875rem;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] .outlet[_ngcontent-%COMP%] {\n width: 165px;\n color: #337ab7;\n background: #ffffff;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] .number[_ngcontent-%COMP%] {\n width: 150px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] select[_ngcontent-%COMP%] {\n width: 150px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.quickKey[_ngcontent-%COMP%] {\n width: 420px;\n margin-right: 10px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] {\n width: 570px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.header[_ngcontent-%COMP%] {\n border: solid 1px #cfcfcf;\n border-bottom: none;\n border-radius: 3px 3px 0 0;\n background: #f2f7fa;\n color: #222222;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.header[_ngcontent-%COMP%] .right-bottom[_ngcontent-%COMP%] {\n font-size: 9px;\n right: -6px;\n bottom: -10px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-table[_ngcontent-%COMP%] {\n border-left: solid 1px #cfcfcf;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-table[_ngcontent-%COMP%] div.col[_ngcontent-%COMP%] {\n overflow: auto;\n height: 250px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-table[_ngcontent-%COMP%] div.col[_ngcontent-%COMP%] table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] {\n background: #fbfbf7;\n border-left: none;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-table[_ngcontent-%COMP%] div.col[_ngcontent-%COMP%] table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] th[_ngcontent-%COMP%] {\n padding: 9px 5px !important;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-table[_ngcontent-%COMP%] div.col[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n padding: 10px 5px;\n border-bottom: 1px solid #cfcfcf;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-table[_ngcontent-%COMP%] div.col[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td[_ngcontent-%COMP%]:first-child {\n padding-right: 0;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-footer[_ngcontent-%COMP%] {\n border-top: solid 1px #cfcfcf;\n min-height: 85px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-footer[_ngcontent-%COMP%] div.summary[_ngcontent-%COMP%] table[_ngcontent-%COMP%] th[_ngcontent-%COMP%], .cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-footer[_ngcontent-%COMP%] div.summary[_ngcontent-%COMP%] table[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n border-left: solid 1px #cfcfcf;\n border-bottom: solid 1px #cfcfcf;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-footer[_ngcontent-%COMP%] div.summary[_ngcontent-%COMP%] table[_ngcontent-%COMP%] th[_ngcontent-%COMP%] {\n padding: 7px 8px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-footer[_ngcontent-%COMP%] div.summary[_ngcontent-%COMP%] table[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n padding: 7px 5px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-footer[_ngcontent-%COMP%] .disc[_ngcontent-%COMP%] {\n padding-top: 7px;\n padding-bottom: 6px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.action-buttons[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] {\n font-size: 1.125rem;\n padding: 15px 18px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.action-buttons[_ngcontent-%COMP%] .btn-gray[_ngcontent-%COMP%] {\n margin-right: 10px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.action-buttons[_ngcontent-%COMP%] .btn-success[_ngcontent-%COMP%] {\n width: 200px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.action-buttons[_ngcontent-%COMP%] .right-bottom[_ngcontent-%COMP%] {\n font-size: 0.625rem;\n right: 4px;\n}\n.text-black.btn-success[_ngcontent-%COMP%] {\n color: #4d4d4d !important;\n}\n.main-panel[_ngcontent-%COMP%] nav.fixed-top.offline[_ngcontent-%COMP%], .full_screen[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] > div.row.header.offline[_ngcontent-%COMP%] {\n background: repeating-linear-gradient(-60deg, #f8d7da, #f8d7da 15px, #f5c6cb 15px, #f5c6cb 30px) !important;\n}\n.barcode-input[_ngcontent-%COMP%] {\n width: 305px;\n}\n.barcode-input[_ngcontent-%COMP%] > input[_ngcontent-%COMP%] {\n height: 28px;\n}\n.barcode-input[_ngcontent-%COMP%] autocomplete[_ngcontent-%COMP%] {\n width: 267px;\n}\n.barcode-input[_ngcontent-%COMP%] autocompleteV2[_ngcontent-%COMP%] {\n width: 267px;\n}\n.input-group-text-retrieve[_ngcontent-%COMP%] {\n padding: 9px 0.75rem !important;\n}\n.font-12[_ngcontent-%COMP%] {\n font-size: 12px;\n}\n.btn-gray[_ngcontent-%COMP%] {\n background-color: #f4f4f4;\n border: 1px solid #d6d6d6;\n font-weight: bold;\n color: #545454 !important;\n background: linear-gradient(to bottom, #ffffff 0%, #eeeeee 100%);\n}\n.btn-gray-more[_ngcontent-%COMP%] {\n background-color: #f4f4f4;\n border: 1px solid #d6d6d6;\n background: linear-gradient(to bottom, #ffffff 0%, #eeeeee 100%);\n}\n.cash-btn[_ngcontent-%COMP%] {\n background-color: #f4f4f4;\n border: 1px solid #d6d6d6;\n font-weight: bold;\n margin: 0 0 0 10px;\n padding: 7px 15px;\n height: 18px;\n box-sizing: content-box;\n background: linear-gradient(to bottom, #ffffff 0%, #eeeeee 100%);\n}\n.calc-tbl[_ngcontent-%COMP%] th[_ngcontent-%COMP%] {\n padding: 7px 15px 7px 10px;\n border: 1px solid #ddd;\n border-top: none;\n background-color: #eeeeee;\n}\n.dropdown-menu[_ngcontent-%COMP%] .disabled[_ngcontent-%COMP%] {\n display: none !important;\n}\n.calc-tbl[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n width: 100px;\n text-align: right;\n padding: 7px 5px;\n}\nsection.complete[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n color: #3b5998;\n margin: 20px 0px;\n}\nsection.complete[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] a[_ngcontent-%COMP%] {\n font-size: 0.75rem;\n color: #868686;\n}\nsection.complete[_ngcontent-%COMP%] .complete-action[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] {\n text-align: center;\n height: 150px;\n width: 190px;\n font-family: "Roboto Slab", serif;\n display: flex;\n flex-direction: column !important;\n padding: 0px;\n color: #666666;\n margin-right: 10px;\n}\nsection.complete[_ngcontent-%COMP%] .complete-action[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n display: block;\n font-size: 50px;\n margin-top: 20px;\n}\nsection.complete[_ngcontent-%COMP%] .complete-action[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n margin: 0px;\n margin-top: 10px;\n color: #666666;\n}\nsection.complete[_ngcontent-%COMP%] .complete-action[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]:first-child h4[_ngcontent-%COMP%] {\n color: #3B3B3B;\n}\nsection.complete[_ngcontent-%COMP%] .complete-action[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n font-size: 0.625rem;\n font-style: italic;\n padding: 10px;\n box-sizing: border-box;\n color: #868686;\n border-top: 1px solid #dddddd;\n font-weight: normal;\n margin: 0px;\n}\n.complete-more-action[_ngcontent-%COMP%] {\n margin-top: 10px;\n}\n\n.modal-body[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n font-weight: 400;\n}\n.modal-body[_ngcontent-%COMP%] .actions-tabs[_ngcontent-%COMP%] {\n position: absolute;\n left: 230px;\n top: 15px;\n}\n.modal-header[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 12px;\n font-style: normal;\n}\n.modal-header[_ngcontent-%COMP%] a[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 14px !important;\n}\n.dialogButtonOption[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] {\n padding: 25px 0px;\n width: 190px;\n margin-right: 10px;\n}\n.dialogButtonOption[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n font-weight: 700;\n text-transform: uppercase;\n}\n.dialogButtonOption[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n font-size: 0.75rem;\n font-style: italic;\n color: #868686;\n margin-top: 10px;\n}\n.currency[_ngcontent-%COMP%] {\n top: 13px;\n left: 30px;\n}\n.paymentNote[_ngcontent-%COMP%]::before {\n z-index: 10;\n content: "";\n position: absolute;\n top: 0;\n left: calc(50% - 10px);\n height: 100%;\n width: 10px;\n background-color: inherit;\n border-right: 1px solid lightgray;\n transform: skewX(-10deg);\n}\n#dialogPayment[_ngcontent-%COMP%] .col-auto[_ngcontent-%COMP%], #dialogSubmitOrder[_ngcontent-%COMP%] .col-auto[_ngcontent-%COMP%] {\n padding: 0 4px;\n}\n#dialogPayment[_ngcontent-%COMP%] .col-auto[_ngcontent-%COMP%], #dialogSubmitOrder[_ngcontent-%COMP%] .col-auto[_ngcontent-%COMP%] {\n padding: 0 4px;\n}\n#dialogPayment[_ngcontent-%COMP%] .col-4[_ngcontent-%COMP%], #dialogSubmitOrder[_ngcontent-%COMP%] .col-4[_ngcontent-%COMP%] {\n width: 125px !important;\n padding: 0 4px;\n}\n#dialogPayment[_ngcontent-%COMP%] .col-8[_ngcontent-%COMP%], #dialogSubmitOrder[_ngcontent-%COMP%] .col-8[_ngcontent-%COMP%] {\n width: 250px !important;\n padding: 0 4px;\n}\n#dialogPayment[_ngcontent-%COMP%] .btn-link[_ngcontent-%COMP%], #dialogSubmitOrder[_ngcontent-%COMP%] .btn-link[_ngcontent-%COMP%] {\n padding-top: 0px;\n color: #868686;\n padding-bottom: 8px;\n border-radius: unset;\n font-family: "Roboto Slab", serif;\n}\n#dialogPayment[_ngcontent-%COMP%] .btn-link.selected[_ngcontent-%COMP%], #dialogSubmitOrder[_ngcontent-%COMP%] .btn-link.selected[_ngcontent-%COMP%] {\n color: #3B3B3B;\n border-bottom: 4px solid #07a519;\n}\n#dialogPayment[_ngcontent-%COMP%] .change[_ngcontent-%COMP%], #dialogSubmitOrder[_ngcontent-%COMP%] .change[_ngcontent-%COMP%] {\n position: absolute;\n top: 1px;\n height: 40px;\n background: #89b03e;\n color: #fff;\n right: 16px;\n padding: 0 10px;\n line-height: 40px;\n font-size: 16px;\n}\n#dialogPayment[_ngcontent-%COMP%] .change[_ngcontent-%COMP%]:before, #dialogSubmitOrder[_ngcontent-%COMP%] .change[_ngcontent-%COMP%]:before {\n content: "\\a";\n border-style: solid;\n border-width: 40px 24px 0 0;\n border-color: transparent #89b03e transparent transparent;\n position: absolute;\n left: -24px;\n}\n#dialogPayment[_ngcontent-%COMP%] .change.danger[_ngcontent-%COMP%], #dialogSubmitOrder[_ngcontent-%COMP%] .change.danger[_ngcontent-%COMP%] {\n background: #c9302c;\n}\n#dialogPayment[_ngcontent-%COMP%] .change.danger[_ngcontent-%COMP%]:before, #dialogSubmitOrder[_ngcontent-%COMP%] .change.danger[_ngcontent-%COMP%]:before {\n border-color: transparent #c9302c transparent transparent;\n}\n\n.phone[_ngcontent-%COMP%] div[_ngcontent-%COMP%] {\n height: 50px;\n width: 50px;\n padding-top: 11px;\n background-color: #f5f5f5;\n border: 1px solid gray !important;\n}\n.phone[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n padding-left: 65px !important;\n border: 1px solid gray !important;\n font-size: 25px;\n height: 50px;\n}\n.phone[_ngcontent-%COMP%] .form-control[_ngcontent-%COMP%]:focus {\n border-color: #8bb8df !important;\n}\n.back-button[_ngcontent-%COMP%] {\n left: -18px;\n top: -74px;\n}\n.back-button[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: white;\n}\n.back-button-gopay[_ngcontent-%COMP%] {\n left: -18px;\n top: -50px;\n}\n.back-button-gopay[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: white;\n}\n.logo-gopay[_ngcontent-%COMP%] {\n margin-top: -16px;\n}\n#dialogSubmitOrder[_ngcontent-%COMP%] .btn-link[_ngcontent-%COMP%] {\n padding-top: 0px;\n color: #868686;\n padding-bottom: 8px;\n border-radius: unset;\n font-family: "Roboto Slab", serif;\n}\n#dialogSubmitOrder[_ngcontent-%COMP%] .btn-link.selected[_ngcontent-%COMP%] {\n color: #3B3B3B;\n border-bottom: 4px solid #07a519;\n}\n#dialogSubmitOrder[_ngcontent-%COMP%] .btn-info[_ngcontent-%COMP%] {\n font-size: 0.75rem;\n margin-right: 10px;\n padding: 10px;\n margin-bottom: 10px;\n float: left;\n}\n#dialogSubmitOrder[_ngcontent-%COMP%] .input-label[_ngcontent-%COMP%] {\n position: relative;\n}\n#dialogSubmitOrder[_ngcontent-%COMP%] .input-label[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n position: absolute;\n font-size: 0.875rem;\n color: #868686;\n top: 26px;\n left: 20px;\n}\n#dialogSubmitOrder[_ngcontent-%COMP%] .input-label[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n margin: 0;\n margin-bottom: 8px;\n border: 1px solid #dddddd;\n padding: 7px 5px;\n width: 100%;\n font-size: 36px;\n border-radius: 3px;\n text-align: right;\n background-color: #ffffff;\n outline: none;\n}\n#dialogSubmitOrder[_ngcontent-%COMP%] .pay-info[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n border-bottom: 2px solid #07a519 !important;\n font-size: 0.875rem;\n border: none !important;\n border-bottom: 2px solid #07a519 !important;\n outline: none;\n}\n#dialogSubmitOrder[_ngcontent-%COMP%] .change[_ngcontent-%COMP%] {\n background-color: #cccccc;\n border: 1px solid #dddddd;\n width: 149px;\n padding: 5px 10px 5px 0;\n text-align: right;\n font-size: 1.25rem;\n font-weight: bold;\n float: right;\n}\n.rad-btn[_ngcontent-%COMP%] {\n position: relative;\n display: inline-block;\n}\n.rad-btn[_ngcontent-%COMP%] label[_ngcontent-%COMP%] {\n border: 1px solid #dddddd;\n border-radius: 3px;\n margin-right: 10px;\n cursor: pointer;\n padding: 10px;\n margin-bottom: 10px;\n color: black;\n}\n.rad-btn[_ngcontent-%COMP%] input[type=radio][_ngcontent-%COMP%] {\n visibility: hidden;\n position: absolute;\n left: 0;\n top: 0;\n}\n.rad-btn[_ngcontent-%COMP%] input[type=radio][_ngcontent-%COMP%]:checked + label[_ngcontent-%COMP%] {\n background: #dfeffc;\n border: 1px solid #dfeffc;\n}\n.modal-dialog[_ngcontent-%COMP%] .noteBox[_ngcontent-%COMP%] {\n background-color: #ffffe1;\n border: 1px solid #cacaca;\n padding: 3px;\n display: block;\n outline: 0;\n margin-bottom: 5px;\n font-size: 11px;\n text-decoration: none;\n}\n\n.fullscreen[_ngcontent-%COMP%] {\n position: fixed;\n bottom: 0px;\n right: 0px;\n padding: 10px;\n background-color: #bbbbbb;\n cursor: pointer;\n}\n.fullscreen[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 34px;\n color: white;\n}\n.pos-status[_ngcontent-%COMP%] {\n position: fixed;\n right: 10px;\n top: 10px;\n list-style: none;\n padding: 0px;\n margin: 0px;\n z-index: 1031;\n display: flex;\n align-items: center !important;\n}\n.pos-status[_ngcontent-%COMP%] li[_ngcontent-%COMP%] {\n cursor: pointer;\n margin-right: 10px;\n}\n.pos-status[_ngcontent-%COMP%] li[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] {\n padding: 8px 10px;\n color: #868686;\n}\n.pos-status[_ngcontent-%COMP%] li[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 26px;\n}\n.pos-status[_ngcontent-%COMP%] li[_ngcontent-%COMP%]:first-child i[_ngcontent-%COMP%] {\n font-size: 16px;\n}\n.full_screen[_ngcontent-%COMP%] .pos-status[_ngcontent-%COMP%] {\n left: 10px;\n bottom: 10px;\n top: auto;\n right: auto;\n}\n.full_screen[_ngcontent-%COMP%] .park-action[_ngcontent-%COMP%] {\n left: 0px;\n right: auto !important;\n padding: 0px;\n}\n.full_screen[_ngcontent-%COMP%] nav[_ngcontent-%COMP%], .full_screen[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%] {\n display: none !important;\n}\n.full_screen[_ngcontent-%COMP%] section.cashier[_ngcontent-%COMP%] > div.container-fluid[_ngcontent-%COMP%] {\n padding: 0 !important;\n}\n.full_screen[_ngcontent-%COMP%] section.cashier[_ngcontent-%COMP%] > div.container-fluid[_ngcontent-%COMP%] > div.row.header[_ngcontent-%COMP%], .full_screen[_ngcontent-%COMP%] section.cashier[_ngcontent-%COMP%] > div.container-fluid[_ngcontent-%COMP%] > div.row.body[_ngcontent-%COMP%] {\n justify-content: center;\n}\n.full_screen[_ngcontent-%COMP%] .main-panel[_ngcontent-%COMP%] {\n left: 0px;\n right: 0px;\n top: 0px;\n bottom: 0px;\n width: 100%;\n padding: 0px;\n}\n.full_screen[_ngcontent-%COMP%] #divSideMenu[_ngcontent-%COMP%] {\n display: none;\n}\n#dialogItem[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%] {\n border-top: none;\n border-right: none;\n}\ndiv#dialogDiscount[_ngcontent-%COMP%] .txtPcg[_ngcontent-%COMP%] {\n width: 30px;\n}\n#radOnline[_ngcontent-%COMP%] + label[_ngcontent-%COMP%], #radOffline[_ngcontent-%COMP%] + label[_ngcontent-%COMP%] {\n height: 150px;\n width: 200px;\n white-space: normal;\n margin: 20px 0px 20px 10px;\n padding-top: 12px;\n border: 1px solid #dddddd;\n}\n#radOnline[_ngcontent-%COMP%] + label[_ngcontent-%COMP%] h4[_ngcontent-%COMP%], #radOffline[_ngcontent-%COMP%] + label[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n margin: 5px;\n}\n#radOnline[_ngcontent-%COMP%] + label[_ngcontent-%COMP%] i[_ngcontent-%COMP%], #radOffline[_ngcontent-%COMP%] + label[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 30px;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] a[_ngcontent-%COMP%] strong[_ngcontent-%COMP%] {\n height: 30px;\n border-radius: 4px;\n padding: 5px 10px;\n color: #ffffff;\n background: #b1aaaa;\n}\nul.dialogPicker[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover, ul.dialogPicker[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a.active[_ngcontent-%COMP%] {\n background: #fffed9;\n border: 1px solid #88ae3d;\n}\nul.dialogPicker[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover > strong[_ngcontent-%COMP%], ul.dialogPicker[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a.active[_ngcontent-%COMP%] > strong[_ngcontent-%COMP%] {\n background: #88ae3d;\n}\n#radOnline[_ngcontent-%COMP%]:checked + label[_ngcontent-%COMP%] {\n color: #ffffff;\n background-color: #89b03e;\n}\n#radOffline[_ngcontent-%COMP%]:checked + label[_ngcontent-%COMP%] {\n color: #ffffff;\n background-color: #c9302c;\n}\n.fa-wifi-off[_ngcontent-%COMP%] {\n background-image: url("//res.cloudinary.com/pos/image/upload/v1535431932/POS/Images/Icon/wifi-off.svg");\n height: 30px;\n width: 30px;\n background-size: 30px;\n background-repeat: no-repeat;\n}\n#radOffline[_ngcontent-%COMP%]:checked + label[_ngcontent-%COMP%] .fa-wifi-off[_ngcontent-%COMP%] {\n background-image: url("//res.cloudinary.com/pos/image/upload/POS/Images/Icon/wifi-off-white.svg");\n}\n.fa-coupon[_ngcontent-%COMP%] {\n background-position-y: center;\n background-image: url("//res.cloudinary.com/pos/image/upload/POS/Images/Icon/coupon.svg");\n height: 26px;\n width: 26px;\n background-size: 26px;\n background-repeat: no-repeat;\n}\n.fa-retur[_ngcontent-%COMP%] {\n background-position-y: center;\n background-image: url("//res.cloudinary.com/pos/image/upload/POS/Images/Icon/return.svg");\n height: 26px;\n width: 26px;\n background-size: 26px;\n background-repeat: no-repeat;\n}\n\nul.dialogPicker[_ngcontent-%COMP%] {\n list-style: none;\n margin: 0px;\n padding: 0px;\n display: flex;\n flex-wrap: wrap !important;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] {\n width: 180px;\n min-height: 95px;\n margin-right: 17px;\n margin-bottom: 17px;\n position: relative;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] {\n display: block;\n outline: 0;\n border: 1px solid #b1aaaa;\n border-radius: 5px;\n cursor: pointer;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] h6[_ngcontent-%COMP%] {\n height: 30px;\n border-radius: 4px;\n padding: 5px 10px;\n color: #ffffff;\n background: #b1aaaa;\n overflow: hidden;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] h6[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n margin-right: 5px;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover, ul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.active[_ngcontent-%COMP%], ul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.vacant[_ngcontent-%COMP%] {\n background: #ffffe1;\n border: 1px solid #89b03e;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover > h6[_ngcontent-%COMP%], ul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.active[_ngcontent-%COMP%] > h6[_ngcontent-%COMP%], ul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.vacant[_ngcontent-%COMP%] > h6[_ngcontent-%COMP%] {\n background: #89b03e;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.occupied[_ngcontent-%COMP%], ul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.occupied[_ngcontent-%COMP%]:hover {\n border: 1px solid #c9302c;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.occupied[_ngcontent-%COMP%] > h6[_ngcontent-%COMP%], ul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.occupied[_ngcontent-%COMP%]:hover > h6[_ngcontent-%COMP%] {\n background: #c9302c !important;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.occupied[_ngcontent-%COMP%] span.alias[_ngcontent-%COMP%] {\n background: #c9302c;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.occupied[_ngcontent-%COMP%]:hover {\n background: white;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.preparing[_ngcontent-%COMP%] {\n border: 1px solid #f6a828;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.preparing[_ngcontent-%COMP%] > h6[_ngcontent-%COMP%] {\n background: #f6a828 !important;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.preparing[_ngcontent-%COMP%]:hover {\n border: 1px solid #f6a828;\n background: white;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.preparing[_ngcontent-%COMP%]:hover > strong[_ngcontent-%COMP%] {\n background: #f6a828 !important;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.preparing[_ngcontent-%COMP%] span.alias[_ngcontent-%COMP%] {\n background: #f6a828;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.preparing[_ngcontent-%COMP%] div[_ngcontent-%COMP%] > span[_ngcontent-%COMP%] {\n font-size: 0.75rem !important;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] div[_ngcontent-%COMP%] {\n height: 80px;\n padding: 15px 10px;\n position: relative;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n display: block;\n font-weight: normal;\n font-size: 0.875rem;\n width: 100%;\n margin-bottom: 5px;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:first-child {\n margin-top: -10px;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:last-child {\n margin-bottom: 0px;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span.alias[_ngcontent-%COMP%] {\n text-align: center;\n position: absolute;\n bottom: 0px;\n right: 0px;\n width: auto;\n background-color: #b1aaaa;\n border-radius: 3px;\n padding: 2px 5px;\n color: #ffffff;\n display: none !important;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span.idle[_ngcontent-%COMP%] {\n display: block;\n font-size: 1.25rem;\n text-align: center;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > span[_ngcontent-%COMP%] {\n position: absolute;\n width: 27px;\n height: 28px;\n cursor: pointer;\n top: 5px;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > span[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: black;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]:last-of-type {\n right: -5px;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]:nth-last-of-type(2) {\n right: 15px;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] input[type=checkbox][_ngcontent-%COMP%] {\n bottom: 20px;\n right: 5px;\n position: absolute;\n}\nul.dialogPicker[_ngcontent-%COMP%] .duration[_ngcontent-%COMP%] > span[_ngcontent-%COMP%] {\n border: 1px solid !important;\n position: absolute;\n bottom: -3px;\n left: 58px;\n background: #fff;\n border-radius: 5px;\n}\nul.dialogPickerBig[_ngcontent-%COMP%] li[_ngcontent-%COMP%] {\n width: 140px !important;\n margin-bottom: 17px;\n margin-top: 0px !important;\n min-height: 80px !important;\n}\nul.dialogPickerBig[_ngcontent-%COMP%] li[_ngcontent-%COMP%] a[_ngcontent-%COMP%] div[_ngcontent-%COMP%] {\n height: 50px !important;\n}\n.arrow_box_left[_ngcontent-%COMP%]:after, .arrow_box_left[_ngcontent-%COMP%]:before {\n left: 100% !important;\n}\n.arrow_box_left[_ngcontent-%COMP%]:after {\n border-left-color: #ffffff !important;\n border-right-color: transparent !important;\n}\n.arrow_box_left[_ngcontent-%COMP%]:before {\n border-left-color: #dddddd !important;\n border-right-color: transparent !important;\n}\n.arrow_box_bottom[_ngcontent-%COMP%]:after, .arrow_box_bottom[_ngcontent-%COMP%]:before {\n top: initial;\n left: 40%;\n bottom: 100% !important;\n}\n.arrow_box_bottom[_ngcontent-%COMP%]:after {\n border-bottom-color: #ffffff !important;\n border-right-color: transparent !important;\n margin-left: -6px;\n}\n.arrow_box_bottom[_ngcontent-%COMP%]:before {\n border-bottom-color: #dddddd !important;\n border-right-color: transparent !important;\n margin-left: -9px;\n}\ndiv.price_calculator[_ngcontent-%COMP%] {\n left: -260px;\n top: 46px;\n width: 250px;\n height: 138px;\n padding: 12px 0px 3px 8px;\n border-radius: 3px;\n position: absolute !important;\n}\ndiv.price_calculator[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n border: 0px !important;\n border-bottom: 1px solid #dddddd !important;\n background-color: transparent !important;\n padding: 8px 5px 5px 5px !important;\n width: 60px !important;\n}\n.tooltip-component[_ngcontent-%COMP%] {\n position: relative;\n}\n.tooltip-component[_ngcontent-%COMP%]:hover > div.toolTip[_ngcontent-%COMP%] {\n display: block;\n}\n.tooltip-component[_ngcontent-%COMP%] div.toolTip[_ngcontent-%COMP%] {\n background: #ffffe1;\n border: 1px solid #dddddd;\n position: absolute;\n top: 110%;\n left: 0%;\n padding: 10px;\n display: none;\n text-align: center;\n min-height: 15px;\n margin-top: 0.1rem;\n}\n.tooltip-component[_ngcontent-%COMP%] div.toolTip.green[_ngcontent-%COMP%] {\n background: #caed9e;\n border: 4px solid #90d93f;\n}\n.tooltip-component[_ngcontent-%COMP%] div.toolTip[_ngcontent-%COMP%]:after, .tooltip-component[_ngcontent-%COMP%] div.toolTip[_ngcontent-%COMP%]:before {\n content: "";\n position: absolute;\n top: 0;\n left: 50%;\n width: 0;\n height: 0;\n border: 5px solid transparent;\n}\n.tooltip-component[_ngcontent-%COMP%] div.toolTip[_ngcontent-%COMP%]::after {\n border-bottom-color: #ffffe1;\n border-top: 0;\n margin-left: -5px;\n margin-top: -5px;\n}\n.tooltip-component[_ngcontent-%COMP%] div.toolTip[_ngcontent-%COMP%]::before {\n border-bottom-color: #dddddd;\n border-top: 0;\n margin-left: -5px;\n margin-top: -6px;\n}\n.tooltip-component[_ngcontent-%COMP%] div.toolTip[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n margin: 0px;\n white-space: nowrap;\n color: #89b03e;\n text-shadow: 0px 1px 0px White;\n}\n.offline[_ngcontent-%COMP%] .modal-header[_ngcontent-%COMP%] {\n background-color: #c9302c !important;\n}\n.warning[_ngcontent-%COMP%] .modal-header[_ngcontent-%COMP%] {\n background-color: #f6a828 !important;\n}\n#dialogPromo[_ngcontent-%COMP%] table[_ngcontent-%COMP%] {\n min-width: 400px;\n}\n#dialogPromo[_ngcontent-%COMP%] table.table-hover[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:hover {\n background-color: #89b03e;\n color: white;\n}\nfade-in[_ngcontent-%COMP%] {\n opacity: 1;\n \n transition: opacity 2s;\n}\n.fade-out[_ngcontent-%COMP%] {\n opacity: 0;\n \n transition: opacity 2s;\n z-index: 1;\n}\n.later-payment[_ngcontent-%COMP%] strong[_ngcontent-%COMP%] {\n font-size: 20px;\n}\n.later-payment[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n font-size: 20px;\n padding: 20px 10px !important;\n}\n.change-box[_ngcontent-%COMP%] {\n top: initial;\n height: auto;\n align-self: center;\n}\n.e-money[_ngcontent-%COMP%] {\n height: 65px;\n}\n@media only screen and (max-width: 1280px) {\n input[placeholder=Customer][_ngcontent-%COMP%] {\n width: 135px;\n }\n\n span.select2.select2-container[_ngcontent-%COMP%] {\n width: 135px !important;\n }\n}\n@media only screen and (max-width: 1215px) {\n input[placeholder=Customer][_ngcontent-%COMP%] {\n width: 120px;\n }\n\n span.select2.select2-container[_ngcontent-%COMP%] {\n width: 120px !important;\n }\n}\n@media only screen and (max-width: 1185px) {\n input[placeholder=Customer][_ngcontent-%COMP%] {\n width: 140px;\n }\n\n span.select2.select2-container[_ngcontent-%COMP%] {\n width: 140px !important;\n }\n}\n@media only screen and (max-width: 992px) {\n .pos-status[_ngcontent-%COMP%] {\n bottom: 10px;\n left: 10px;\n top: auto;\n }\n}\n.simple-keyboard[_ngcontent-%COMP%] {\n width: 20vw;\n position: absolute;\n left: 77%;\n top: 30%;\n z-index: 1200;\n}\n .hg-theme-default .hg-button {\n height: 70px !important;\n font-size: 16px !important;\n}\n .hg-button-bksp {\n width: 21px;\n}\n .hg-button[data-skbtn="{enter}"] {\n width: 90px;\n}\n.cashier[_ngcontent-%COMP%] {\n max-width: 37rem;\n}\ndiv.row.cart-table[_ngcontent-%COMP%] {\n border-left: solid 1px #CFCFCF;\n}\ndiv.row.cart-table[_ngcontent-%COMP%] div.col[_ngcontent-%COMP%] {\n overflow: auto;\n height: 250px;\n}\ndiv.row.cart-table[_ngcontent-%COMP%] div.col[_ngcontent-%COMP%] table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] {\n background: #FBFBF7;\n border-left: none;\n}\ndiv.row.cart-table[_ngcontent-%COMP%] div.col[_ngcontent-%COMP%] table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] th[_ngcontent-%COMP%] {\n font-size: 0.75rem;\n padding: 9px 5px !important;\n}\ndiv.row.cart-table[_ngcontent-%COMP%] div.col[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n font-size: 0.75rem;\n padding: 10px 5px;\n border-bottom: 1px solid #CFCFCF;\n}\ndiv.row.cart-table[_ngcontent-%COMP%] div.col[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td[_ngcontent-%COMP%]:first-child {\n padding-right: 0;\n}']}),o})();class Wr{}let Kn=(()=>{class o{}return o.Gopay={url:"https://res.cloudinary.com/pos/image/upload/v1623982216/POS/Images/Payment/PaymentDialog/GoPay48.jpg",label:"Go-Pay"},o.Ovo={url:"https://res.cloudinary.com/pos/image/upload/v1623982217/POS/Images/Payment/PaymentDialog/OVO48.webp",label:"OVO"},o.Dana={url:"https://res.cloudinary.com/pos/image/upload/v1623982216/POS/Images/Payment/PaymentDialog/Dana48.jpg",label:"Dana"},o.BcaMobile={url:"https://res.cloudinary.com/pos/image/upload/v1623982216/POS/Images/Payment/PaymentDialog/BCA_48.webp",label:"BCA Mobile"},o})();var A=(()=>(function(o){o[o.Now=0]="Now",o[o.Later=1]="Later",o[o.QR=2]="QR",o[o.SplitPayment=3]="SplitPayment"}(A||(A={})),A))();class Kr{constructor(){this.modalConfig=new T.O,this.viewState=A.Now,this.isDemoKey=!1,this.payLaterEnabled=!1,this.payNowEnabled=!1,this.payNowNLaterEnabled=!1,this.toleranceAmount=0,this.logoPayment=[Kn.Gopay,Kn.Ovo,Kn.Dana,Kn.BcaMobile],this.numpadVisible=!1,this.modalConfig.title="Amount to Pay: ",this.modalConfig.disableKeyup=!0,this.modalConfig.customWidth="650px",this.modalConfig.bodyScrollable=!0}mapAppConfigJson(a){this.merchantName=a.PaymentConfigGopay.MerchantName,this.toleranceAmount=a.ModuleSell.ToleranceAmount,this.numpadVisible=a.ModuleSell.NumPadVisible;let t=a.ModuleSell.PaymentDialog;switch(this.config=t,this.uniquePaymentMethodOnSplit=t.UniquePaymentMethodOnSplit,t.EnabledOptions){case 0:this.viewState=A.Now,this.payNowEnabled=!0;break;case 1:this.viewState=A.Later,this.payLaterEnabled=!0;break;case 2:switch(t.DefaultOption){case 0:this.viewState=A.Now;break;case 1:this.viewState=A.Later}this.payNowNLaterEnabled=!0}}enableEMoneyModal(a){this.modalConfig.eMoney=a,this.modalConfig.hideCancel=a,this.modalConfig.hideClose=a,this.modalConfig.hideOk=a}get isStateNow(){return this.viewState==A.Now}get isStateLater(){return this.viewState==A.Later}get isStateSplit(){return this.viewState==A.SplitPayment}get isStateQR(){return this.viewState==A.QR}}let Xr=(()=>{class o{constructor(t,e,i,r,c,l,d){this._invoiceCalculatorService=t,this._posService=e,this._orderDataService=i,this._orderProcessorService=r,this._onlineStatusService=c,this._signalBroadCast=l,this.decimalPipe=d,this.defaultCashPaymentMethodID=0,this.isOnline=!0,this.salesOrderData=new $.m,this.subscribeToObservableChanges(),this.defaultCashPaymentMethodID=this.paymentList[0].ID}get State(){return this._State}set State(t){this._State=t}get denomination(){return this._posService.Data.Denomination}get appConfigJSON(){return this._posService.Data.AppConfigJSON}get toleranceAmount(){return this.appConfigJSON.ModuleSell.ToleranceAmount}get paymentList(){return null!=this._posService.Data?this._posService.Data.Payments:Array()}subscribeToObservableChanges(){this._onlineStatusService.getOnlineStatus$().subscribe(t=>{this.isOnline=t}),this._orderDataService.Data$.subscribe(t=>{this.salesOrderData=t})}getPaymentList(){return this.paymentList}submitOrder(t){this.salesOrderData.Payments=(0,an.d8)(En.j,t),this._orderDataService.pushNewValue(this.salesOrderData),this._orderDataService.submitOrder(this.appConfigJSON).then(e=>{this._signalBroadCast.BroadcastStateToCustomerDisplay(O.IsComplete,e.ObjectID,e.LoyaltyPoint,this.salesOrderData.TotalPaidAmount-this._invoiceCalculatorService.Data),e=this.setFinalAmountOfflineOrder(e),this._orderProcessorService.updatePosState(O.IsComplete,e)},e=>{null==e.error&&(this._orderDataService.pushNewValue(this.salesOrderData),this._orderProcessorService.updatePosState(O.UploadOrderFail))})}setFinalAmountOfflineOrder(t){return 0==this.isOnline&&(t.Final=this._invoiceCalculatorService.Data),t}generateCashSuggestion(){const t=this.paymentList.filter(i=>1==i.TypeID),e=[];return t.length>0&&(e.push(this._invoiceCalculatorService.Data),this.defaultCashPaymentMethodID=t[0].ID,this.denomination.forEach(i=>{let r=this._invoiceCalculatorService.Data/i;r=Math.ceil(r);const c=r*i;c!=this._invoiceCalculatorService.Data&&-1===e.indexOf(c)&&e.length<3&&e.push(c)})),e}}return o.\u0275fac=function(t){return new(t||o)(n.LFG(G),n.LFG(D),n.LFG(S),n.LFG(R),n.LFG(nn.q),n.LFG(bn),n.LFG(_.JJ))},o.\u0275prov=n.Yz7({token:o,factory:o.\u0275fac,providedIn:"root"}),o})();var na=m(5427);function ta(o,a){if(1&o&&(n.TgZ(0,"span"),n._uU(1),n.qZA()),2&o){const t=n.oxw();n.xp6(1),n.hij(" (+",null==t.posData?null:t.posData.Invoice.SurchargePcg,"%) ")}}const gt=function(o){return{selected:o}};function ea(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"a",13),n.NdJ("click",function(){return n.CHM(t),n.oxw(4).onSplitClick()}),n._uU(1," Split "),n.TgZ(2,"span",14),n._uU(3,"Payment"),n.qZA(),n.qZA()}if(2&o){const t=n.oxw(4);n.Q6J("ngClass",n.VKq(1,gt,t.modalFields.isStateSplit))}}function oa(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"a",10),n.NdJ("click",function(){return n.CHM(t),n.oxw(4).onLaterClick()}),n._uU(1," Later "),n.TgZ(2,"span",14),n._uU(3,"Take Credit"),n.qZA(),n.qZA()}if(2&o){const t=n.oxw(4);n.Q6J("ngClass",n.VKq(1,gt,t.modalFields.isStateLater))}}function ia(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div"),n.TgZ(1,"a",10),n.NdJ("click",function(){return n.CHM(t),n.oxw(3).onNowClick()}),n._uU(2," Now "),n.qZA(),n.YNc(3,ea,4,3,"a",11),n.YNc(4,oa,4,3,"a",12),n.qZA()}if(2&o){const t=n.oxw(3);n.xp6(1),n.Q6J("ngClass",n.VKq(3,gt,t.modalFields.isStateNow)),n.xp6(2),n.Q6J("ngIf",t.cashPaymentChange<0&&t.modalFields.config.SplitPaymentMethodEnabled),n.xp6(1),n.Q6J("ngIf",0==t.modalFields.payNowEnabled&&!t.userRole.CreditSalesLock)}}function ra(o,a){if(1&o&&(n.TgZ(0,"div",9),n.YNc(1,ia,5,5,"div",2),n.qZA()),2&o){const t=n.oxw(2);n.xp6(1),n.Q6J("ngIf",t.modalFields.payNowNLaterEnabled||t.modalFields.payNowEnabled)}}const aa=function(o,a){return{active:o,"font-12":a}};function ca(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",27),n.TgZ(1,"a",28),n.NdJ("click",function(){const r=n.CHM(t).$implicit;return n.oxw(3).updateCashPayment(r)}),n._uU(2),n.ALo(3,"number"),n.qZA(),n.qZA()}if(2&o){const t=a.$implicit,e=n.oxw(3);n.xp6(1),n.Q6J("ngClass",n.WLB(5,aa,(null==e.Payments[0]?null:e.Payments[0].MethodID)==e.defaultCashPaymentMethodID&&(null==e.Payments[0]?null:e.Payments[0].PaidAmount)==t,e.modalFields.paymentSuggestion[0].toString().length>8)),n.xp6(1),n.AsE("",null==e.cashierCalculatorService?null:e.cashierCalculatorService.currencySymbol," ",n.lcZ(3,3,t),"")}}function sa(o,a){if(1&o&&(n.TgZ(0,"div",29),n._uU(1),n.ALo(2,"number"),n.qZA()),2&o){const t=n.oxw(3);n.Q6J("ngClass",t.cashPaymentChange>0?"success":"danger"),n.xp6(1),n.AsE(" ",null==t.cashierCalculatorService?null:t.cashierCalculatorService.currencySymbol," ",n.lcZ(2,3,t.cashPaymentChange)," ")}}const la=function(o){return{background:o}};function da(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",33),n.TgZ(1,"a",34),n.NdJ("click",function(){const r=n.CHM(t).$implicit,c=n.oxw(4);return c.onPaymentMethodChanged(r),c.payWithEmoney(r)}),n.TgZ(2,"span",35),n._UZ(3,"img",36),n.qZA(),n.TgZ(4,"span",37),n._uU(5),n.ALo(6,"limitTo"),n.qZA(),n.qZA(),n.qZA()}if(2&o){const t=a.$implicit,e=n.oxw(4);n.xp6(1),n.Akn(n.VKq(11,la,"ovo"==t.Name.toLowerCase()?"#4c3394":"white")),n.Q6J("ngClass",e.Payments[0].MethodID===t.ID?"active":""),n.xp6(1),n.Q6J("hidden",null==t.ImageUrl),n.xp6(1),n.Q6J("src",t.ImageUrl,n.LSH),n.xp6(1),n.s9C("title",t.Name),n.Q6J("hidden",null!=t.ImageUrl),n.xp6(1),n.hij(" ",n.xi3(6,8,t.Name,20)," ")}}function pa(o,a){if(1&o&&(n.TgZ(0,"div",30),n.TgZ(1,"div",16),n._UZ(2,"i",31),n._uU(3," E-Money "),n.qZA(),n.TgZ(4,"div",18),n.TgZ(5,"div",21),n.YNc(6,da,7,13,"div",32),n.qZA(),n.qZA(),n.qZA()),2&o){const t=n.oxw(3);n.xp6(6),n.Q6J("ngForOf",t.getTypePaymentList(3))}}function ga(o,a){if(1&o&&(n.TgZ(0,"div",16),n._UZ(1,"i"),n._uU(2),n.qZA()),2&o){const t=n.oxw().$implicit;n.xp6(1),n.Tol(t.Icon),n.xp6(1),n.hij(" ",t.Name," ")}}function ua(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",33),n.TgZ(1,"a",41),n.NdJ("click",function(){const r=n.CHM(t).$implicit;return n.oxw(5).onPaymentMethodChanged(r)}),n._uU(2),n.ALo(3,"limitTo"),n.qZA(),n.qZA()}if(2&o){const t=a.$implicit,e=n.oxw(5);n.xp6(1),n.s9C("title",t.Name),n.Q6J("ngClass",e.Payments[0].MethodID===t.ID?"active":""),n.xp6(1),n.hij(" ",n.xi3(3,3,t.Name,20)," ")}}function _a(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",42),n.TgZ(1,"div",43),n.TgZ(2,"input",44),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw(5).Payments[0].Note=i}),n.qZA(),n.TgZ(3,"input",45),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw(5).Payments[0].Code=i}),n.qZA(),n.qZA(),n.qZA()}if(2&o){const t=n.oxw(5);n.xp6(2),n.Q6J("ngModel",t.Payments[0].Note),n.xp6(1),n.Q6J("ngModel",t.Payments[0].Code)("maxlength",t.userRole.PaymentCodeLock?1:void 0)}}function ha(o,a){if(1&o&&(n.TgZ(0,"div",18),n.TgZ(1,"div",21),n.YNc(2,ua,4,6,"div",32),n.qZA(),n.YNc(3,_a,4,3,"div",40),n.qZA()),2&o){const t=n.oxw().$implicit,e=n.oxw(3);n.xp6(2),n.Q6J("ngForOf",e.getTypePaymentList(t.ID)),n.xp6(1),n.Q6J("ngIf",e.isOtherPayment(t.ID))}}function ma(o,a){if(1&o&&(n.TgZ(0,"div",30),n.YNc(1,ga,3,4,"div",38),n.YNc(2,ha,4,2,"div",39),n.qZA()),2&o){const t=a.$implicit,e=n.oxw(3);n.xp6(1),n.Q6J("ngIf",e.getTypePaymentList(t.ID).length>0),n.xp6(1),n.Q6J("ngIf",e.getTypePaymentList(t.ID).length>0)}}function fa(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div"),n.TgZ(1,"div",15),n.TgZ(2,"div",16),n._UZ(3,"i",17),n._uU(4," Cash "),n.qZA(),n.TgZ(5,"div",18),n.TgZ(6,"div",19),n.YNc(7,ca,4,8,"div",20),n.qZA(),n.TgZ(8,"div",21),n.TgZ(9,"div",22),n.TgZ(10,"input",23),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw(2).inputAmountString=i})("ngModelChange",function(){n.CHM(t);const i=n.oxw(2);return i.updateCashPayment(i.inputAmountString)}),n.qZA(),n.YNc(11,sa,3,5,"div",24),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.YNc(12,pa,7,1,"div",25),n.YNc(13,ma,3,2,"div",26),n.qZA()}if(2&o){const t=n.oxw(2);n.xp6(7),n.Q6J("ngForOf",t.modalFields.paymentSuggestion),n.xp6(3),n.Q6J("simpleKeyboard",t.keyboard)("ngModel",t.inputAmountString),n.xp6(1),n.Q6J("ngIf",0!=t.cashPaymentChange),n.xp6(1),n.Q6J("ngIf",t.getTypePaymentList(3).length>0&&t.isOnline),n.xp6(1),n.Q6J("ngForOf",t.paymentTypes)}}function Ca(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div"),n.TgZ(1,"div",46),n.TgZ(2,"strong",47),n._uU(3,"Due"),n.qZA(),n.TgZ(4,"datepicker",48),n.NdJ("dateChange",function(i){return n.CHM(t),n.oxw(2).modalFields.payLaterDueDate=i})("dateChange",function(){return n.CHM(t),n.oxw(2).dueDateChange()}),n.qZA(),n.qZA(),n.TgZ(5,"div",49),n.TgZ(6,"strong",50),n._uU(7,"Days Due"),n.qZA(),n.TgZ(8,"input",51),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw(2).modalFields.payLaterDueDays=i})("ngModelChange",function(){return n.CHM(t),n.oxw(2).dueDayChange()}),n.qZA(),n.qZA(),n.qZA()}if(2&o){const t=n.oxw(2);n.xp6(4),n.Q6J("date",t.modalFields.payLaterDueDate)("displayToggle",!1),n.xp6(4),n.Q6J("simpleKeyboard",t.keyboard)("ngModel",t.modalFields.payLaterDueDays)}}function Pa(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",52),n.TgZ(1,"div",53),n.TgZ(2,"div",54),n.TgZ(3,"strong",55),n._uU(4,"Payment 2:"),n.qZA(),n.qZA(),n.TgZ(5,"div",56),n.TgZ(6,"ng-select",57),n.NdJ("change",function(i){return n.CHM(t),n.oxw(2).onSplitPaymentMethodAssigned(i)}),n.qZA(),n.qZA(),n.qZA(),n.TgZ(7,"div",58),n.TgZ(8,"strong",59),n._uU(9,"Amount 2:"),n.qZA(),n.TgZ(10,"input",60),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw(2).paymentSplitValueChange(i)}),n.qZA(),n.qZA(),n.qZA()}if(2&o){const t=n.oxw(2);n.xp6(6),n.Q6J("items",t.splitPaymentMethodList)("ngModel",null==t.Payments[1]?null:t.Payments[1].MethodID),n.xp6(4),n.Q6J("ngModel",t.paymentSplitDefaultVal)}}function Oa(o,a){if(1&o&&(n.TgZ(0,"div",6),n.YNc(1,ra,2,1,"div",7),n.YNc(2,fa,14,6,"div",2),n.YNc(3,Ca,9,4,"div",2),n.YNc(4,Pa,11,3,"div",8),n.qZA()),2&o){const t=n.oxw();n.xp6(1),n.Q6J("ngIf",0==t.modalFields.payLaterEnabled),n.xp6(1),n.Q6J("ngIf",t.modalFields.isStateNow),n.xp6(1),n.Q6J("ngIf",t.modalFields.isStateLater),n.xp6(1),n.Q6J("ngIf",t.modalFields.isStateSplit)}}function Ma(o,a){if(1&o&&(n.TgZ(0,"h5",67),n._uU(1),n.qZA()),2&o){const t=n.oxw(2);n.xp6(1),n.Oqu(t.modalFields.merchantName)}}function ba(o,a){if(1&o&&(n.TgZ(0,"div",68),n.TgZ(1,"p"),n._UZ(2,"i",69),n._uU(3," This QR is intended for Testing Purpose only, "),n.TgZ(4,"a",70),n._uU(5,"register for a new account here."),n.qZA(),n.qZA(),n.qZA()),2&o){const t=n.oxw(2);n.xp6(4),n.Q6J("href",t.sanitize("https://www.dealpos.co.id/tour/mobile-payment"),n.LSH)}}function xa(o,a){if(1&o&&(n.TgZ(0,"div",71),n._UZ(1,"img",72),n.TgZ(2,"div",73),n._uU(3),n.qZA(),n.qZA()),2&o){const t=a.$implicit;n.xp6(1),n.s9C("src",t.url,n.LSH),n.xp6(2),n.hij(" ",t.label," ")}}function va(o,a){if(1&o&&(n.TgZ(0,"div",61),n._UZ(1,"img",62),n.YNc(2,Ma,2,1,"h5",63),n.YNc(3,ba,6,1,"div",64),n.TgZ(4,"div",65),n.YNc(5,xa,4,2,"div",66),n.qZA(),n.qZA()),2&o){const t=n.oxw();n.xp6(1),n.Q6J("src",t.qrImage,n.LSH),n.xp6(1),n.Q6J("ngIf",t.modalFields.merchantName),n.xp6(1),n.Q6J("ngIf",t.modalFields.isDemoKey),n.xp6(2),n.Q6J("ngForOf",t.modalFields.logoPayment)}}function ya(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"a",74),n.NdJ("click",function(){return n.CHM(t),n.oxw().validateEMoneyPayment()}),n._uU(1," Verify Payment Settlement "),n.qZA()}}let Da=(()=>{class o{constructor(t,e,i,r,c,l,d,s,p,f,M,b,I,v,x,pn){this.dialogRef=t,this._orderDataService=e,this.cashierCalculatorService=i,this._paymentService=r,this._posHubService=c,this._posService=l,this._toastr=d,this._dialog=s,this._paymentGatewayService=p,this.decimalPipe=f,this.sanitizer=M,this._orderProcessorService=b,this._numpadService=I,this._userRoleService=v,this._customerHttpService=x,this._onlineStatusService=pn,this.modalFields=new Kr,this.userRole=new K.Q,this.posData=new $.m,this.AppConfigJSON=new ln,this.Payments=[],this.math=Math,this.inputAmountString=null,this.isOnline=!0,this.paymentSplitDefaultVal=0,this.defaultCashPaymentMethodID=0,this.destroy$=new N.xQ,this.AppConfigJSON=this._posService.Data.AppConfigJSON,this.modalFields.mapAppConfigJson(this.AppConfigJSON),this.initializeDefaultValues(),this.subscribeToObservableChanges()}get firstPayment(){return this.Payments[0]}set firstPayment(t){this.Payments[0]=t}get cashPaymentChange(){return(this.firstPayment?this.firstPayment.PaidAmount:0)-this.cashierCalculatorService.Data}subscribeToObservableChanges(){this._orderDataService.Data$.pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.posData=t}),this._orderProcessorService.Data$.pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.posState=t.posState,this.initializeInvoicePaymentsValue(this.posState)}),this._onlineStatusService.getOnlineStatus$().pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.isOnline=t})}initializeInvoicePaymentsValue(t){t!==O.IsEdit?(this.firstPayment=new En.j,this.firstPayment.Amount=this.cashierCalculatorService.Data,this.firstPayment.PaidAmount=this.cashierCalculatorService.Data,this.firstPayment.MethodID=this.defaultCashPaymentMethodID):(this.Payments=this.posData.Payments,this.initFirstPayment())}initFirstPayment(){this.firstPayment?2!=this.Payments.length?(this.firstPayment.PaidAmount=this.cashierCalculatorService.Data,this.firstPayment.Amount=this.cashierCalculatorService.Data):this.initSplitPayment():(this.firstPayment=new En.j,this.firstPayment.Amount=this.cashierCalculatorService.Data,this.firstPayment.PaidAmount=this.cashierCalculatorService.Data,this.firstPayment.MethodID=this.defaultCashPaymentMethodID,this.modalFields.viewState=A.Later);const t=this.firstPayment.Amount;this.inputAmountString=t?t.toString():null}initSplitPayment(){let t=this.Payments[1].PaidAmount,i=this.cashierCalculatorService.Data-t;this.firstPayment.PaidAmount=i,this.firstPayment.Amount=i,this.paymentSplitDefaultVal=t}initializeDefaultValues(){this.modalFields.paymentSuggestion=this._paymentService.generateCashSuggestion(),this.paymentMethodList=this._posService.Data.Payments,this.splitPaymentMethodList=this._posService.Data.Payments,this.paymentTypes=this._posService.Data.PaymentTypes,this.defaultCashPaymentMethodID=this._paymentService.defaultCashPaymentMethodID,this._userRoleService.Data$.pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.userRole=t})}ngOnInit(){this.modalFields.numpadVisible&&(this.keyboard=this._numpadService.keyboard),this.initDefaultDueDays()}initDefaultDueDays(){let t=this._customerHttpService.Data,e=t?t.DueDays:null,i=t?t.DueMonths:null,r=new Date;r.setHours(0,0,0,0);let c=new Date;c.setHours(0,0,0,0),g.gT.IsNotEmpty(this.posData.Invoice.Due)&&g.gT.MinDate!==this.posData.Invoice.Due?r=new Date(this.posData.Invoice.Due):(i&&r.setMonth(r.getMonth()+i),e||(e=this.modalFields.config.DefaultDueDays),r.setDate(r.getDate()+e)),this.modalFields.payLaterDueDate=r,this.modalFields.payLaterDueDays=g.gT.calculateNumberBetweenDate(c,r),this.posData.Invoice.Due=this.modalFields.payLaterDueDate}onBack(){this.modalFields.viewState=A.Now,this.changeModalForEmoney(!1)}onOk(){!this.validateSerialItem()||(this.posData.Action.Type=Pn.q.Payment,this.posData.Order.InvoicedStateID=gn.Complete,this.posData.Action.Type=Pn.q.Payment,this.modalFields.viewState!=A.Later?this.validatePay()&&(this.posData.Invoice.Due=null,this.validatePaymentSplit(),this._paymentService.submitOrder(this.Payments),this.close()):this.validatePaymentLater(this.userRole)&&(this._paymentService.submitOrder(this.Payments),this.close()))}validateSerialItem(){let t=this.findItemWithoutSerial();return!(t.length>0&&!g.gT.IsEmpty(this.posData.Action.DeliveryEntityID)&&(this.dialogRef.close(),this.showModalSerialRequired(t[0]),1))}findItemWithoutSerial(){let t;return this.posData.CartItems.filter(i=>(t=!1,i.Variant&&4===i.Variant.TypeID&&(t=0===i.Serial.length),t))}validatePaymentLater(t){let e=this._customerHttpService.Data;if(this.IsCreditSales()&&t.CreditSalesLock)return alert(g.g7.creditLock),!1;const i=g.gT.IsEmpty(this.posData.Order.CustomerID);return this.modalFields.viewState==A.Later&&i||this.IsCreditSales()&&i?(alert(g.g7.emptyCustomerCredit),!1):0===e.DebtLimit||!(e.Debt>=e.DebtLimit||0==e.Debt&&this.cashierCalculatorService.Data>e.DebtLimit||e.Debt+this.cashierCalculatorService.Data>e.DebtLimit)||(this._toastr.warning(g.g7.debtLimit,"Warning!"),!1)}showModalSerialRequired(t){this._dialog.open(Ut,{data:{message:`Serial can not Empty in ${t.Variant.Name}`,title:"Submit Order Error"},width:"350px"})}validatePaymentSplit(){const t=this.firstPayment.PaidAmount,e=this.Payments[1]?this.Payments[1].PaidAmount:0,i=this.cashierCalculatorService.Data;let r=[];t+this.modalFields.toleranceAmount>=i?(r=this.Payments.slice(0,1),0!==this.modalFields.toleranceAmount&&t<i&&(this.firstPayment.Amount=i),this.Payments=r):r=e+t===i?this.Payments.slice(0,2):this.Payments,this.Payments=r}validatePay(){if(this.IsDepositPayment()&&this.userRole.CreditSalesLock)return this._toastr.warning(g.g7.creditLock,Y.n.Warning),!1;if(!this.AppConfigJSON.ApplicationLoyalty.Rules.MixCashAndPoint&&this.posData.Order.PointUsed>0&&this.cashierCalculatorService.Data>0)return this._toastr.info(g.g7.partialLoyaltyPointUnable,Y.n.Info),!1;const t=this.posData.Order.PointUsed*this.AppConfigJSON.ApplicationLoyalty.LoyaltyPoint.RedeemPointValue;if(this.cashierCalculatorService.GetPointOnlyAmount()>0&&this.cashierCalculatorService.GetPointOnlyAmount()>t){const i=g.gT.StringFormat(g.g7.pointOnly,this.decimalPipe.transform(this.posData.PointOnlyAmount));return this._toastr.info(i,Y.n.Info),!1}const e=this.cashierCalculatorService.Data+this.posData.Order.DiscountAmount-t;if(this.cashierCalculatorService.GetCashOnlyAmount()>0&&this.cashierCalculatorService.GetCashOnlyAmount()>e&&Math.abs(this.cashierCalculatorService.GetCashOnlyAmount()-e)>this.modalFields.toleranceAmount){const i=g.gT.StringFormat(g.g7.cashOnly,this.decimalPipe.transform(this.posData.CashOnlyAmount));return this._toastr.info(i,Y.n.Info),!1}return this.IsDepositPayment()&&g.gT.IsEmpty(this.posData.Order.CustomerID)?(alert(g.g7.emptyCustomerDeposit),!1):!(this.posData.PrepaidPackageItem.length>0&&g.gT.IsEmpty(this.posData.Order.CustomerID)&&(this._toastr.info("Products with prepaid package type must use the customer",Y.n.Info),1))}onNowClick(){this.modalFields.viewState=A.Now}onLaterClick(){this.modalFields.viewState=A.Later}onSplitClick(){this.modalFields.viewState=A.SplitPayment}IsCreditSales(){return this.modalFields.viewState!=A.Later||this.IsDepositPayment()}IsDepositPayment(){let t=!1;const e=this.Payments.map(l=>l.PaidAmount).reduce((l,d)=>l+d);return this.modalFields.toleranceAmount+e<this.cashierCalculatorService.Data&&(t=!0),t}close(){this.initializeDefaultValues(),this.dialogRef.close()}updateCashPayment(t){const e=this.cashierCalculatorService.Data;this.paymentSplitDefaultVal=0,this.firstPayment.MethodID=this.defaultCashPaymentMethodID,this.firstPayment.Amount=e,this.firstPayment.PaidAmount=t,0!==this.posData.Invoice.SurchargePcg&&this.updateSurcharge(0),t<e&&(this.firstPayment.Amount=t,this.paymentSplitDefaultVal=e-t,this.filterSplitPaymentList(),this.changePaymentSplitValue())}changePaymentSplitValue(){this.Payments[1]&&(this.Payments[1].Amount=this.paymentSplitDefaultVal,this.Payments[1].PaidAmount=this.paymentSplitDefaultVal)}onPaymentMethodChanged(t){this.updateSurcharge(t.ExtraCharge);const e=this.cashierCalculatorService.Data;this.firstPayment.Amount=e,this.firstPayment.PaidAmount=e,this.firstPayment.MethodID=t.ID,t.ExtraCharge>0&&this.paymentSplitDefaultVal>0?this._toastr.warning("Cannot apply Split Payment for Payment Method with Surcharge","Warning"):this.paymentSplitDefaultVal>0&&(this.firstPayment.Amount=e-this.paymentSplitDefaultVal,this.firstPayment.PaidAmount=e-this.paymentSplitDefaultVal),this.filterSplitPaymentList()}filterSplitPaymentList(){this.modalFields.uniquePaymentMethodOnSplit&&(this.splitPaymentMethodList=this.paymentMethodList.filter(t=>t.ID!==this.firstPayment.MethodID))}updateSurcharge(t){this.posData.Invoice.SurchargePcg=t,this.posData.Invoice.TempSurchargePcg=t,this._orderDataService.pushNewValue(this.posData)}onSplitPaymentMethodAssigned(t){t?(this.Payments[1]=this.Payments[1]?this.Payments[1]:new En.j,this.Payments[1].MethodID=t.ID,this.Payments[1].MethodName=t.Name,this.Payments[1].Amount=this.paymentSplitDefaultVal,this.Payments[1].PaidAmount=this.paymentSplitDefaultVal):(this.Payments[1].Amount=0,this.Payments[1].PaidAmount=0)}paymentSplitValueChange(t){this.Payments[1].PaidAmount=t}isCardPayment(){return this.getTypePaymentList(2).findIndex(e=>e.ID==this.firstPayment.MethodID)>=0}isOtherPayment(t){return this.getTypePaymentList(t).findIndex(e=>e.ID==this.firstPayment.MethodID)>=0}getTypePaymentList(t){return this._paymentService.getPaymentList().filter(i=>i.TypeID==t)}getSplitPaymentList(t,e=0){let i=this._paymentService.getPaymentList();return t||(i=i.filter(r=>r.ID!=this.Payments[e].MethodID)),i}payWithEmoney(t){const e=new Wr;e.RegisterID=this.posData.Order.RegisterID,e.InvoiceNumber=this.posData.Order.Number,e.Amount=this.cashierCalculatorService.Data,this._paymentGatewayService.generateQR(e,t).pipe((0,C.R)(this.destroy$)).subscribe(i=>{this.qrImage=i.Url,this.modalFields.isDemoKey=i.IsDemoKey,this.showModalQRIS()},i=>{this.onErrorGenerateQR(i)})}showModalQRIS(){this.modalFields.viewState=A.QR,this.changeModalForEmoney(!0)}onErrorGenerateQR(t){400==t.status?this.validateEMoneyPayment():this._toastr.error(g.g7.failGenerateQR,Y.n.Error)}validateEMoneyPayment(){this._paymentGatewayService.validateEMoneyPayment(this.AppConfigJSON).pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.dialogRef.close();const i=`IDR ${this.decimalPipe.transform(t.Final)} received. Please verify in customer mobile app!`;this._toastr.success(i," QR Settlement"),this._orderProcessorService.updatePosState(O.IsComplete,t)})}changeModalForEmoney(t){this.modalFields.enableEMoneyModal(t),t||this._posHubService.BroadcastQRToCustomerDisplay("")}dueDateChange(){const t=new Date(this.posData.Order.Date);let e=this.modalFields.payLaterDueDate?this.modalFields.payLaterDueDate:new Date;t.setHours(0,0,0,0),this.modalFields.payLaterDueDays=g.gT.calculateNumberBetweenDate(t,e),this.posData.Invoice.Due=e.toJSON()}dueDayChange(){const t=new Date(this.posData.Order.Date);t.setDate(t.getDate()+this.modalFields.payLaterDueDays),t.setHours(0,0,0,0),this.modalFields.payLaterDueDate=t,this.posData.Invoice.Due=t.toJSON()}sanitize(t){return this.sanitizer.bypassSecurityTrustUrl(t)}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete()}}return o.\u0275fac=function(t){return new(t||o)(n.Y36(P.so),n.Y36(S),n.Y36(G),n.Y36(Xr),n.Y36(bn),n.Y36(D),n.Y36(Z._W),n.Y36(P.uw),n.Y36(Zt),n.Y36(_.JJ),n.Y36(na.H7),n.Y36(R),n.Y36(pt.u),n.Y36(en),n.Y36(_n.r),n.Y36(nn.q))},o.\u0275cmp=n.Xpm({type:o,selectors:[["POS-modal-payment"]],decls:11,vars:8,consts:[[3,"config","keydown.NumpedEnter","keydown.Enter","keydown.F2","onOk","onCancel","onClose","onBack"],[1,"mt-1","ml-2"],[4,"ngIf"],["class","container w-100 h-100",4,"ngIf"],["class","text-center position-relative w-100",4,"ngIf"],["class","btn btn-light-blue text-primary btn-lg font-weight-bold mr-5 py-8",3,"click",4,"ngIf"],[1,"container","w-100","h-100"],["class","row border-bottom",4,"ngIf"],["style","margin-bottom: 80px;","class","row py-5",4,"ngIf"],[1,"row","border-bottom"],[1,"btn","btn-link",3,"ngClass","click"],["class","btn btn-link","data-cy","Split",3,"ngClass","click",4,"ngIf"],["class","btn btn-link",3,"ngClass","click",4,"ngIf"],["data-cy","Split",1,"btn","btn-link",3,"ngClass","click"],[2,"font-size","10px","font-style","italic"],[1,"row","py-5"],[1,"col-3","h5","pt-5"],[1,"fas","fa-money-bill-wave"],[1,"col-9"],[1,"row","mb-5"],["class","col-4 pr-0 pl-4",4,"ngFor","ngForOf"],[1,"row"],[1,"col","pr-0","pl-4"],["id","cashInput","type","text","keyboardType","number","placeholder","Custom Cash Amount","data-cy","CustomAmount","autoNum","",1,"form-control","form-control-lg","py-10",3,"simpleKeyboard","ngModel","ngModelChange"],["class","change",3,"ngClass",4,"ngIf"],["class","row border-top py-5",4,"ngIf"],["class","row border-top py-5",4,"ngFor","ngForOf"],[1,"col-4","pr-0","pl-4"],[1,"btn","btn-outline-info","btn-block","px-1","py-6",3,"ngClass","click"],[1,"change",3,"ngClass"],[1,"row","border-top","py-5"],[1,"fas","fa-qrcode"],["class","col-auto pb-3 pl-4 pr-0",4,"ngFor","ngForOf"],[1,"col-auto","pb-3","pl-4","pr-0"],[1,"btn","btn-outline-info","btn-block",3,"ngClass","click"],[3,"hidden"],[3,"src"],[3,"hidden","title"],["class","col-3 h5 pt-5",4,"ngIf"],["class","col-9",4,"ngIf"],["class","position-relative margin-note row",4,"ngIf"],[1,"btn","btn-outline-info","btn-block",3,"ngClass","title","click"],[1,"position-relative","margin-note","row"],[1,"paymentNote","form-inline","w-100"],["type","text","placeholder","Payment Note",1,"form-control","border-right-0","py-10","col-6",3,"ngModel","ngModelChange"],["type","text","placeholder","Payment Code",1,"form-control","border-left-0","py-10","paymentCode","col-6",3,"ngModel","maxlength","ngModelChange"],[1,"row","d-flex","align-items-center","no-gutters","later-payment","date-picker","mt-4"],[1,"col-3"],["name","orderDate",1,"col-9",3,"date","displayToggle","dateChange"],[1,"row","d-flex","align-items-center","no-gutters","later-payment","mt-10"],["id","daysInput",1,"col-3"],["id","day","type","text","keyboardType","number","autoNum","",1,"col-9",3,"simpleKeyboard","ngModel","ngModelChange"],[1,"row","py-5",2,"margin-bottom","80px"],[1,"col-6","d-flex","align-items-center","pr-0"],[1,"col-auto","px-0"],[1,"mr-2"],[1,"col"],["bindLabel","Name","bindValue","ID","placeholder","Payment","appendTo","body","data-cy","Payment2",1,"ng-select-width","category-select",3,"items","ngModel","change"],[1,"col-6","d-flex","justify-content-end","align-items-center","text-right"],[1,"mr-3"],["type","text","autoNum","","disabled","",1,"text-right","height-input",3,"ngModel","ngModelChange"],[1,"text-center","position-relative","w-100"],["alt","Gopay QR",1,"mx-auto","d-block","logo-gopay",2,"height","300px","line-height","50px",3,"src"],["class","position-relative","style","top:-17px",4,"ngIf"],["class","alert-warning qrDemo pt-2 pb-2 border border-1",4,"ngIf"],[1,"row","justify-content-center"],["class","col-auto qris",4,"ngFor","ngForOf"],[1,"position-relative",2,"top","-17px"],[1,"alert-warning","qrDemo","pt-2","pb-2","border","border-1"],[1,"fas","fa-info-circle","mr-1"],["target","_blank",3,"href"],[1,"col-auto","qris"],[1,"d-block","mx-auto","mb-2",3,"src"],[1,"text-center"],[1,"btn","btn-light-blue","text-primary","btn-lg","font-weight-bold","mr-5","py-8",3,"click"]],template:function(t,e){1&t&&(n.TgZ(0,"modal-material",0),n.NdJ("keydown.NumpedEnter",function(){return e.onOk()})("keydown.Enter",function(){return e.onOk()})("keydown.F2",function(){return e.onOk()})("onOk",function(){return e.onOk()})("onCancel",function(){return e.close()})("onClose",function(){return e.close()})("onBack",function(){return e.onBack()}),n.TgZ(1,"header"),n.TgZ(2,"div",1),n.YNc(3,ta,2,1,"span",2),n._uU(4),n.ALo(5,"number"),n.qZA(),n.qZA(),n.TgZ(6,"content"),n.YNc(7,Oa,5,4,"div",3),n.YNc(8,va,6,4,"div",4),n.qZA(),n.TgZ(9,"footer"),n.YNc(10,ya,2,0,"a",5),n.qZA(),n.qZA()),2&t&&(n.Q6J("config",e.modalFields.modalConfig),n.xp6(3),n.Q6J("ngIf",(null==e.posData?null:e.posData.Invoice.SurchargePcg)>0),n.xp6(1),n.hij(" ",e.userRole.PriceVisibleRestriction?"-":n.lcZ(5,6,e.cashierCalculatorService.Data)," "),n.xp6(3),n.Q6J("ngIf",!e.modalFields.isStateQR),n.xp6(1),n.Q6J("ngIf",e.modalFields.isStateQR),n.xp6(2),n.Q6J("ngIf",e.modalFields.isStateQR))},directives:[y.M,_.O5,_.mk,_.sg,h.Fj,cn.b,Lt.V,h.JJ,h.On,h.nD,vn.QB,X.w9],pipes:[_.JJ,J.OI],styles:['.margin-note[_ngcontent-%COMP%] {\n margin-left: -7px !important;\n}\n.quickKeyTabs[_ngcontent-%COMP%] {\n margin-right: -15px;\n margin-left: -7px;\n}\n.change[_ngcontent-%COMP%] {\n position: absolute;\n top: 1px;\n height: 40px;\n background: #89b03e;\n color: #fff;\n right: 0px;\n padding: 0 10px;\n line-height: 40px;\n font-size: 16px;\n}\n.change[_ngcontent-%COMP%]:before {\n content: "\\a";\n border-style: solid;\n border-width: 40px 24px 0 0;\n border-color: transparent #89b03e transparent transparent;\n position: absolute;\n left: -24px;\n}\n.change.danger[_ngcontent-%COMP%] {\n background: #c9302c;\n}\n.change.danger[_ngcontent-%COMP%]:before {\n border-color: transparent #c9302c transparent transparent;\n}\n.paymentNote[_ngcontent-%COMP%]::before {\n z-index: 10;\n content: "";\n position: absolute;\n top: 0;\n left: calc(50% - 10px);\n height: 100%;\n width: 10px;\n background-color: inherit;\n border-right: 1px solid lightgray;\n transform: skewX(-10deg);\n}\n.height-input[_ngcontent-%COMP%] {\n height: 37px;\n}\n.btn-link[_ngcontent-%COMP%] {\n padding-top: 0px;\n color: #868686;\n padding-bottom: 8px;\n border-radius: unset;\n font-family: "Roboto Slab", serif;\n}\n.btn-link.selected[_ngcontent-%COMP%] {\n color: #3B3B3B;\n border-bottom: 4px solid #07a519;\n}\n.later-payment[_ngcontent-%COMP%] strong[_ngcontent-%COMP%] {\n font-size: 20px;\n}\n.later-payment[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n font-size: 20px;\n padding: 20px 10px !important;\n}\n .later-payment.date-picker .mat-form-field {\n font-size: 4px;\n}\n.phone[_ngcontent-%COMP%] div[_ngcontent-%COMP%] {\n height: 50px;\n width: 50px;\n padding-top: 11px;\n background-color: #f5f5f5;\n border: 1px solid gray !important;\n}\n.phone[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n padding-left: 65px !important;\n border: 1px solid gray !important;\n font-size: 25px;\n height: 50px;\n}\n.phone[_ngcontent-%COMP%] .form-control[_ngcontent-%COMP%]:focus {\n border-color: #8bb8df !important;\n}\n.qris[_ngcontent-%COMP%] div[_ngcontent-%COMP%] {\n font-size: 0.75rem;\n}\n.ng-select.ng-select-width[_ngcontent-%COMP%] .ng-select-container {\n width: 160px;\n max-width: 160px;\n}\n.qrDemo[_ngcontent-%COMP%] {\n position: relative;\n top: -10px;\n}\n.qrDemo[_ngcontent-%COMP%] > p[_ngcontent-%COMP%] {\n margin-bottom: 0px;\n}\ninput[type=text][_ngcontent-%COMP%]:disabled {\n background: #dadada;\n}\n ng-dropdown-panel.category-select {\n z-index: 1100;\n}']}),o})(),Sa=(()=>{class o{constructor(t,e){this._dialogRef=t,this._orderProcessorService=e,this.modalConfig=new T.O,this.modalConfig.title="Clear Order?",this.modalConfig.headerType=Y.n.Success}ngOnInit(){}onOk(){this._orderProcessorService.createNewTransactionInSameOutletRegister(!1),this.close()}close(){this._dialogRef.close()}}return o.\u0275fac=function(t){return new(t||o)(n.Y36(P.so),n.Y36(R))},o.\u0275cmp=n.Xpm({type:o,selectors:[["POS-modal-clear"]],decls:4,vars:2,consts:[[3,"config","onOk","onCancel","onClose"],[1,"font-weight-normal"]],template:function(t,e){1&t&&(n.TgZ(0,"modal-material",0),n.NdJ("onOk",function(){return e.onOk()})("onCancel",function(){return e.close()})("onClose",function(){return e.close()}),n.TgZ(1,"content"),n.TgZ(2,"h4",1),n._uU(3),n.qZA(),n.qZA(),n.qZA()),2&t&&(n.Q6J("config",e.modalConfig),n.xp6(3),n.Oqu("This will replace current order's item(s) with blank order."))},directives:[y.M],styles:[""]}),o})(),wa=(()=>{class o{constructor(t,e,i,r){this._dialogRef=t,this._orderService=e,this._invoiceCalculatorService=i,this._posHttpResponseService=r,this.modalConfig=new T.O,this.discounts=[],this.modalConfig.title="Order Discount",this.modalConfig.showMoreButton=!0,this.salesOrderData=this._orderService.Data,this.discount1=this.salesOrderData.Order.Discount,this.discount2=this.salesOrderData.Order.Discount2,this.discountAmount=this.salesOrderData.Order.DiscountAmount,this.surcharge=this.salesOrderData.Invoice.SurchargePcg,this.discountAfterTax=this._invoiceCalculatorService.discountAfterTax,this.currencySymbol=this._invoiceCalculatorService.currencySymbol}onOk(){this.salesOrderData.Order.Discount=this.discount1,this.salesOrderData.Order.Discount2=this.discount2,this.salesOrderData.Invoice.SurchargePcg=this.surcharge,this.salesOrderData.Invoice.TempSurchargePcg=this.surcharge,this.salesOrderData.Order.DiscountAmount=this.discountAmount,this._invoiceCalculatorService.discountAfterTax=this.discountAfterTax,this._orderService.pushNewValue(this.salesOrderData),this.close()}close(){this._dialogRef.close()}onDiscountAfterTaxChange(){this.discountAmount=this.discountAfterTax;let e=this._invoiceCalculatorService.TotalBeforeTax-this.discountAmount,c=g.gT.FilterByID(this._posHttpResponseService.Data.Taxes,this._orderService.Data.Order.TaxTypeID);if(g.gT.IsNotEmpty(c)&&c.CalculationTypeID==Jn.E.Add){let l=1+c.Rate/100,d=e*l;this.discountAmount=(d-(d-this.discountAfterTax))/l}this._orderService.Data.Order.DiscountAmount=this.discountAmount}calculateDiscountCalculator(){var t=100;this.discounts.forEach(e=>{t=t*(100-e)/100}),this.discount1=100-t,this._orderService.Data.Order.Discount=this.discount1}}return o.\u0275fac=function(t){return new(t||o)(n.Y36(P.so),n.Y36(S),n.Y36(G),n.Y36(D))},o.\u0275cmp=n.Xpm({type:o,selectors:[["POS-modal-discount"]],decls:50,vars:12,consts:[[3,"config","onOk","onCancel","onClose"],[1,"container",2,"width","350px"],[1,"row","form-group"],[1,"col-sm-5","pr-1"],[1,"font-weight-bold","d-block"],[1,"row","no-gutters"],[1,"col-3"],["type","text","data-cy","discount1","autoNum","","percentage","","decimalPlaces","2",1,"form-control",3,"ngModel","ngModelChange"],[1,"col-auto","d-flex","align-items-center","px-2"],["type","text","data-cy","discount2","autoNum","","percentage","","decimalPlaces","2",1,"form-control",3,"ngModel","ngModelChange"],[1,"col-1","d-flex","align-items-center","pl-2"],[1,"col-sm-4","pr-0","pl-2"],["type","text","data-cy","discountamount","autoNum","",1,"form-control",2,"width","100px",3,"ngModel","ngModelChange"],[1,"col-sm-3"],[1,"col-8"],["type","text","data-cy","surcharge","autoNum","",1,"form-control",3,"ngModel","max","min","ngModelChange"],[1,"col-1","pl-2","d-flex","align-items-center"],[1,"container"],[1,"col-sm-12"],["type","text","awnum","","num-neg","false","autoNum","",1,"txtPrice",3,"ngModel","ngModelChange"],[1,"col-sm-7"],["type","text","data-cy","discountCal1","autoNum","","percentage","",2,"width","30px",3,"ngModel","ngModelChange"],["type","text","data-cy","discountCal2","autoNum","","percentage","",2,"width","30px",3,"ngModel","ngModelChange"],["type","text","data-cy","discountCal3","autoNum","","percentage","",2,"width","30px",3,"ngModel","ngModelChange"]],template:function(t,e){1&t&&(n.TgZ(0,"modal-material",0),n.NdJ("onOk",function(){return e.onOk()})("onCancel",function(){return e.close()})("onClose",function(){return e.close()}),n.TgZ(1,"content"),n.TgZ(2,"div",1),n.TgZ(3,"div",2),n.TgZ(4,"div",3),n.TgZ(5,"label",4),n._uU(6,"Discount %"),n.qZA(),n.TgZ(7,"div",5),n.TgZ(8,"div",6),n.TgZ(9,"input",7),n.NdJ("ngModelChange",function(r){return e.discount1=r}),n.qZA(),n.qZA(),n.TgZ(10,"div",8),n._uU(11,"% +"),n.qZA(),n.TgZ(12,"div",6),n.TgZ(13,"input",9),n.NdJ("ngModelChange",function(r){return e.discount2=r}),n.qZA(),n.qZA(),n.TgZ(14,"div",10),n._uU(15,"%"),n.qZA(),n.qZA(),n.qZA(),n.TgZ(16,"div",11),n.TgZ(17,"label",4),n._uU(18),n.qZA(),n.TgZ(19,"input",12),n.NdJ("ngModelChange",function(r){return e.discountAmount=r}),n.qZA(),n.qZA(),n.TgZ(20,"div",13),n.TgZ(21,"label",4),n._uU(22,"Surcharge"),n.qZA(),n.TgZ(23,"div",5),n.TgZ(24,"div",14),n.TgZ(25,"input",15),n.NdJ("ngModelChange",function(r){return e.surcharge=r}),n.qZA(),n.qZA(),n.TgZ(26,"div",16),n.TgZ(27,"span"),n._uU(28,"%"),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.TgZ(29,"more-content"),n.TgZ(30,"div",17),n.TgZ(31,"div",2),n.TgZ(32,"div",18),n.TgZ(33,"strong"),n._uU(34,"Discount After Tax"),n.qZA(),n.TgZ(35,"input",19),n.NdJ("ngModelChange",function(r){return e.discountAfterTax=r})("ngModelChange",function(){return e.onDiscountAfterTaxChange()}),n.qZA(),n.qZA(),n.qZA(),n.TgZ(36,"div",2),n.TgZ(37,"div",20),n.TgZ(38,"label",4),n._uU(39,"Discount Calculator"),n.qZA(),n.TgZ(40,"input",21),n.NdJ("ngModelChange",function(r){return e.discounts[0]=r})("ngModelChange",function(){return e.calculateDiscountCalculator()}),n.qZA(),n.TgZ(41,"span"),n._uU(42," % +"),n.qZA(),n.TgZ(43,"input",22),n.NdJ("ngModelChange",function(r){return e.discounts[1]=r})("ngModelChange",function(){return e.calculateDiscountCalculator()}),n.qZA(),n.TgZ(44,"span"),n._uU(45," % +"),n.qZA(),n.TgZ(46,"input",23),n.NdJ("ngModelChange",function(r){return e.discounts[2]=r})("ngModelChange",function(){return e.calculateDiscountCalculator()}),n.qZA(),n.TgZ(47,"span"),n._uU(48," %"),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n._UZ(49,"footer"),n.qZA()),2&t&&(n.Q6J("config",e.modalConfig),n.xp6(9),n.Q6J("ngModel",e.discount1),n.xp6(4),n.Q6J("ngModel",e.discount2),n.xp6(5),n.hij("Discount ",e.currencySymbol,""),n.xp6(1),n.Q6J("ngModel",e.discountAmount),n.xp6(6),n.Q6J("ngModel",e.surcharge)("max",100)("min",-100),n.xp6(10),n.Q6J("ngModel",e.discountAfterTax),n.xp6(5),n.Q6J("ngModel",e.discounts[0]),n.xp6(3),n.Q6J("ngModel",e.discounts[1]),n.xp6(3),n.Q6J("ngModel",e.discounts[2]))},directives:[y.M,h.Fj,cn.b,h.JJ,h.On],styles:[""]}),o})();var Ta=m(9994);const ka=function(o){return{selected:o}};function Ia(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",14),n.TgZ(1,"label",15),n.TgZ(2,"input",16),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw(2).posData.Order.TypeID=i})("click",function(){const r=n.CHM(t).$implicit;return n.oxw(2).onSelectCustomerPoType(r)}),n.qZA(),n._uU(3),n.qZA(),n.qZA()}if(2&o){const t=a.$implicit,e=a.index,i=n.oxw(2);n.xp6(1),n.s9C("for","potype-"+e),n.Q6J("ngClass",n.VKq(6,ka,i.posData.Order.TypeID==t.ID)),n.xp6(1),n.s9C("id","potype-"+e),n.Q6J("ngModel",i.posData.Order.TypeID)("value",t.ID),n.xp6(1),n.hij(" ",t.Name," ")}}function Aa(o,a){if(1&o&&(n.TgZ(0,"tr",11),n.TgZ(1,"th",12),n._uU(2,"Type"),n.qZA(),n.TgZ(3,"td"),n._uU(4,":"),n.qZA(),n.TgZ(5,"td"),n.YNc(6,Ia,4,8,"div",13),n.qZA(),n.qZA()),2&o){const t=n.oxw();n.xp6(6),n.Q6J("ngForOf",t.poTypes)}}let Za=(()=>{class o{constructor(t,e,i,r,c,l){this._dialogRef=t,this._orderDataService=e,this._posService=i,this._cashierCalculatorService=r,this._outletRegisterService=c,this._orderHttpService=l,this.config=new T.O,this.defaultCurrencySymbol="",this.exchangeRate=1,this.destroy$=new N.xQ}get currencies(){return this._posService.Data.Currencies}get poTypes(){return this._posService.Data.PoTypes}ngOnInit(){this.config.title="Invoice Notes",this.subscribeToObservable(),this.initDefaultCurrency(),this.copyInvoiceNumberToNote()}subscribeToObservable(){this._orderDataService.Data$.pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.posData=t,this.exchangeRate=this.posData.Order.CurrencyRate}),this._posService.Data$.pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.appConfigJson=t.AppConfigJSON,this.defaultCurrencyID=this.appConfigJson.CoreDefaults.CurrencyID})}initDefaultCurrency(){let t=this.posData.Order.CurrencyID;if(this.posData.Order.CurrencyID){let e=this.currencies.find(i=>i.ID==t);e&&(this.defaultCurrencySymbol=e.Symbol,this.posData.Order.CurrencyID=t,this.updateCurrencySymbol(e))}}copyInvoiceNumberToNote(){if(this.appConfigJson.ModuleSell.Numbering.FillNoteWithInvoiceNumber&&""==this.posData.Order.Note){let e=this.posData.Order.Number,i=e.slice(e.length-4);this.posData.Order.Note=i}}onOk(t){"Enter"!=t&&(this.posData.Order.CurrencyRate=this.exchangeRate,this._orderDataService.pushNewValue(this.posData),this._dialogRef.close())}close(){this._dialogRef.close()}updateCurrencySymbol(t){this._cashierCalculatorService.currencySymbol=t.Symbol,this.exchangeRate=t.ExchangeRate}onSelectCustomerPoType(t){let e=this._outletRegisterService.Data;0==t.PrintTemplateID?(e.PrintTemplate=e.DefaultPrintTemplate,this._outletRegisterService.pushNewValue(e)):this._orderHttpService.getSalesOrderPrint(t.PrintTemplateID).pipe((0,C.R)(this.destroy$)).subscribe(i=>{let r=(0,an.d8)(Ta.vb,i.Template);e.PrintTemplate=r,this._outletRegisterService.pushNewValue(e)})}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete()}}return o.\u0275fac=function(t){return new(t||o)(n.Y36(P.so),n.Y36(S),n.Y36(D),n.Y36(G),n.Y36(F),n.Y36(z.D))},o.\u0275cmp=n.Xpm({type:o,selectors:[["POS-modal-note"]],decls:32,vars:10,consts:[[3,"config","onOk","onCancel","onClose"],["id","trPOType",4,"ngIf"],[1,"vTop"],["data-cy","invoicenote",3,"ngModel","ngModelChange"],[3,"hidden"],[1,"row"],[1,"col-sm-4"],["bindLabel","Name","bindValue","ID","placeholder","Outlet","appendTo","body",1,"currency-select",2,"width","80px",3,"items","ngModel","clearable","ngModelChange","change"],[1,"col-sm-8",3,"hidden"],["type","text","autoNum","",2,"width","100px",3,"ngModel","ngModelChange"],["type","text",3,"ngModel","ngModelChange"],["id","trPOType"],[2,"width","60px"],["class","rad-btn",4,"ngFor","ngForOf"],[1,"rad-btn"],[3,"for","ngClass"],["type","radio",3,"ngModel","value","id","ngModelChange","click"]],template:function(t,e){1&t&&(n.TgZ(0,"modal-material",0),n.NdJ("onOk",function(r){return e.onOk(r)})("onCancel",function(){return e.close()})("onClose",function(){return e.close()}),n.TgZ(1,"content"),n.TgZ(2,"table"),n.TgZ(3,"tbody"),n.YNc(4,Aa,7,1,"tr",1),n.TgZ(5,"tr"),n.TgZ(6,"th",2),n._uU(7,"Note"),n.qZA(),n.TgZ(8,"td",2),n._uU(9,":"),n.qZA(),n.TgZ(10,"td"),n.TgZ(11,"textarea",3),n.NdJ("ngModelChange",function(r){return e.posData.Order.Note=r}),n.qZA(),n.qZA(),n.qZA(),n.TgZ(12,"tr",4),n.TgZ(13,"th"),n._uU(14,"Currency"),n.qZA(),n.TgZ(15,"td"),n._uU(16,":"),n.qZA(),n.TgZ(17,"td"),n.TgZ(18,"div",5),n.TgZ(19,"div",6),n.TgZ(20,"ng-select",7),n.NdJ("ngModelChange",function(r){return e.posData.Order.CurrencyID=r})("change",function(r){return e.updateCurrencySymbol(r)}),n.qZA(),n.qZA(),n.TgZ(21,"div",8),n.TgZ(22,"span"),n._uU(23,"@"),n.qZA(),n.TgZ(24,"input",9),n.NdJ("ngModelChange",function(r){return e.exchangeRate=r}),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.TgZ(25,"tr"),n.TgZ(26,"th"),n._uU(27,"PO#"),n.qZA(),n.TgZ(28,"td"),n._uU(29,":"),n.qZA(),n.TgZ(30,"td"),n.TgZ(31,"input",10),n.NdJ("ngModelChange",function(r){return e.posData.Order.PurchaseOrderNumber=r}),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.qZA()),2&t&&(n.Q6J("config",e.config),n.xp6(4),n.Q6J("ngIf",e.poTypes.length>1),n.xp6(7),n.Q6J("ngModel",e.posData.Order.Note),n.xp6(1),n.Q6J("hidden",e.currencies.length<2),n.xp6(8),n.Q6J("items",e.currencies)("ngModel",e.posData.Order.CurrencyID)("clearable",!1),n.xp6(1),n.Q6J("hidden",e.posData.Order.CurrencyID==e.defaultCurrencyID),n.xp6(3),n.Q6J("ngModel",e.exchangeRate),n.xp6(7),n.Q6J("ngModel",e.posData.Order.PurchaseOrderNumber))},directives:[y.M,_.O5,h.Fj,h.JJ,h.On,X.w9,cn.b,_.sg,_.mk,h._],styles:["/*General*/\n.rad-btn {\n position: relative;\n display: inline-block;\n}\n.rad-btn label {\n border: 1px solid #dddddd;\n border-radius: 3px;\n margin-right: 10px;\n cursor: pointer;\n padding: 10px;\n margin-bottom: 10px;\n color: black;\n}\n.rad-btn input[type=radio] {\n visibility: hidden;\n position: absolute;\n left: 0;\n top: 0;\n}\n.rad-btn label.selected {\n background: #dfeffc;\n border: 1px solid #dfeffc;\n}\nng-dropdown-panel.currency-select {\n z-index: 1100;\n}"],encapsulation:2}),o})();var ut=m(6883),Yt=m(5179),Na=m(481),qa=m(4750);function Ra(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",11),n.TgZ(1,"div"),n.TgZ(2,"h5"),n._uU(3,"Deduct inventory from outlet"),n.qZA(),n.qZA(),n.TgZ(4,"div"),n.TgZ(5,"ng-select",12),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw().deliveryEntityID=i}),n.qZA(),n.qZA(),n.qZA()}if(2&o){const t=n.oxw();n.xp6(1),n.ekj("col-6",t.shippingFormVisible)("col-auto",!t.shippingFormVisible),n.xp6(3),n.ekj("col-6",t.shippingFormVisible)("col",!t.shippingFormVisible),n.xp6(1),n.Q6J("disabled",t.disabled)("ngModel",t.deliveryEntityID)("items",t.entities)}}function Ja(o,a){1&o&&(n.ynx(0),n.TgZ(1,"h5",13),n._uU(2,"Unfulfilled order, product inventory is allocated "),n.qZA(),n.BQk())}function Ea(o,a){if(1&o){const t=n.EpF();n.ynx(0),n.TgZ(1,"div",27),n.TgZ(2,"div",28),n.TgZ(3,"div",29),n.TgZ(4,"input",30),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw(2).shipping.Name=i}),n.qZA(),n.TgZ(5,"label",31),n._uU(6,"Recipient"),n.qZA(),n.qZA(),n.qZA(),n.TgZ(7,"div",28),n.TgZ(8,"div",29),n.TgZ(9,"input",32),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw(2).shipping.Phone=i}),n.qZA(),n.TgZ(10,"label",33),n._uU(11,"Phone"),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.TgZ(12,"div",27),n.TgZ(13,"div",28),n.TgZ(14,"div",29),n.TgZ(15,"textarea",34),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw(2).shipping.Address=i}),n.qZA(),n.TgZ(16,"label",35),n._uU(17,"Address"),n.qZA(),n.qZA(),n.qZA(),n.TgZ(18,"div",28),n.TgZ(19,"div",29),n.TgZ(20,"input",36),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw(2).shipping.City=i}),n.qZA(),n.TgZ(21,"label",37),n._uU(22,"City"),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.BQk()}if(2&o){const t=n.oxw(2);n.xp6(4),n.Q6J("ngModel",t.shipping.Name),n.xp6(5),n.Q6J("ngModel",t.shipping.Phone),n.xp6(6),n.Q6J("ngModel",t.shipping.Address),n.xp6(5),n.Q6J("ngModel",t.shipping.City)}}const Qa=function(){return{standalone:!0}};function Ua(o,a){if(1&o){const t=n.EpF();n.ynx(0),n.TgZ(1,"div",14),n.TgZ(2,"div",15),n.TgZ(3,"div",16),n.TgZ(4,"h5",17),n._uU(5,"Recipient != Buyer"),n.qZA(),n.qZA(),n.TgZ(6,"div",18),n.TgZ(7,"input",19),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw().recipientNotBuyer=i}),n.qZA(),n._UZ(8,"label",20),n.qZA(),n.qZA(),n.TgZ(9,"div",15),n.TgZ(10,"div"),n.TgZ(11,"label",21),n._uU(12),n.qZA(),n.TgZ(13,"div"),n.TgZ(14,"datepicker",22),n.NdJ("dateChange",function(i){return n.CHM(t),n.oxw().posData.Invoice.DateCustom=i}),n.qZA(),n.qZA(),n.qZA(),n.TgZ(15,"div"),n.TgZ(16,"label",23),n._uU(17,"Time"),n.qZA(),n.TgZ(18,"div"),n.TgZ(19,"p-calendar",24,25),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw().posData.Invoice.TimeCustom=i}),n.TgZ(21,"p-footer"),n.TgZ(22,"button",26),n.NdJ("click",function(){return n.CHM(t),n.MAs(20).hideOverlay()}),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.YNc(23,Ea,23,4,"ng-container",10),n.BQk()}if(2&o){const t=n.oxw();n.xp6(7),n.Q6J("ngModel",t.recipientNotBuyer),n.xp6(5),n.Oqu(t.dateLabel),n.xp6(2),n.Q6J("date",t.posData.Invoice.DateCustom),n.xp6(1),n.Udp("margin-top","-20px"),n.xp6(4),n.Q6J("ngModel",t.posData.Invoice.TimeCustom)("timeOnly",!0)("ngModelOptions",n.DdM(9,Qa)),n.xp6(4),n.Q6J("ngIf",t.recipientNotBuyer)}}let Fa=(()=>{class o{constructor(t,e,i,r){this._dialogRef=t,this._orderDataService=e,this._posService=i,this.locale=r,this.modalConfig=new T.O,this.disabled=!1,this.isDelivery=!1,this.customDate=null,this.shipping=new ut.Q,this.deliveryEntityID="",this.posData=new $.m,this.dateLabel="Fulfillment Date",this.destroy$=new N.xQ,this.initStartTime(),this.subscribePosData(),this.initModal()}get entities(){return this._posService.Data.Entities}ngOnInit(){this.initShipingFormVisible(),this.initDefaultOrderDelivery(),this.checkRecepientIsBuyer(),this.initDateLabel()}checkRecepientIsBuyer(){this.recipientNotBuyer=!!g.gT.IsNotEmpty(this.shipping.Name)}initDateLabel(){let t=this._posService.Data.AppConfigJSON;t.ModuleSell.Shipping.DateLabel&&(this.dateLabel=t.ModuleSell.Shipping.DateLabel)}initStartTime(){this.datePipe=new _.uU(this.locale);var t=new Date;this.startTime=t.getHours()+":"+t.getMinutes()}subscribePosData(){this._orderDataService.Data$.pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.posData=t,this.posData.Invoice.DateCustom=this.posData.Invoice.DateCustom?this.posData.Invoice.DateCustom:null,this.deliveryEntityID=t.Action.DeliveryEntityID,this.shipping=t.Shipping?t.Shipping:new ut.Q})}initModal(){this.modalConfig.title="Order Fullfillment",this.modalConfig.customWidth="590px"}initShipingFormVisible(){this.shippingFormVisible=this._posService.Data.AppConfigJSON.ModuleSell.Shipping.DeliveryAddressAlwaysVisible}initDefaultOrderDelivery(){this.isDelivery=this.deliveryEntityID==g.gT.GuidEmpty}changeDelivery(){this.deliveryEntityID=this.isDelivery?g.gT.GuidEmpty:this.posData.Order.EntityID}onOk(){this.setCustomDateField(),this.clearShippingData(),this.posData.Shipping=this.shipping,this.posData.Action.DeliveryEntityID=this.deliveryEntityID,this._orderDataService.pushNewValue(this.posData),this.close()}clearShippingData(){if(!this.recipientNotBuyer)for(const t of Object.getOwnPropertyNames(this.shipping))this.shipping[t]=""}setCustomDateField(){let t=this.posData.Invoice.DateCustom?this.posData.Invoice.DateCustom:null,e=this.posData.Invoice.TimeCustom?this.datePipe.transform(this.posData.Invoice.TimeCustom,"hh:mm"):"00:00";if((this.isDelivery||this.shippingFormVisible)&&t){let i=this.datePipe.transform(this.posData.Invoice.DateCustom,"d MMM y");this.posData.Invoice.CustomDateField=`${i} ${e}`}}close(){this._dialogRef.close()}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}}return o.\u0275fac=function(t){return new(t||o)(n.Y36(P.so),n.Y36(S),n.Y36(D),n.Y36(n.soG))},o.\u0275cmp=n.Xpm({type:o,selectors:[["POS-modal-shipping"]],decls:21,vars:9,consts:[[3,"config","onOk","onCancel","onClose"],[1,"container"],[1,"row","align-items-start","py-2","my-2"],[1,"col"],["name","fontStyle","aria-label","Font Style",3,"ngModel","ngModelChange","change"],["data-cy","Now",3,"value","disabled"],[1,"p-7"],[1,"text-muted"],["data-cy","Later",3,"value","disabled"],["class","row align-items-center mt-5",4,"ngIf"],[4,"ngIf"],[1,"row","align-items-center","mt-5"],["bindLabel","Name","bindValue","ID","appendTo","body","placeholder","Outlet","data-cy","DeductInventory",1,"tall","auto-grow",2,"width","250px",3,"disabled","ngModel","items","ngModelChange"],[1,"bg-gradient-warning","text-center","py-7","rounded-lg","border","mb-7"],[1,"row","mt-8"],[1,"col-md-6","d-flex","align-items-center"],[1,"mr-3","pb-5"],["title","Recipient is not the same as Buyer (ex: when someone buys an item as GIFT for another person)"],[1,"custom-control","custom-switch","custom-switch-lg"],["type","checkbox","id","customSwitch1",1,"custom-control-input",3,"ngModel","ngModelChange"],["for","customSwitch1",1,"custom-control-label"],["for","shippingDate",1,"text-muted","mb-0"],["appearance","outline","width","190","id","shippingDate",3,"date","dateChange"],["for","shippingTime",1,"text-muted","mb-0"],["styleClass","custom-height","id","shippingTime","appendTo","body",3,"ngModel","timeOnly","ngModelOptions","ngModelChange"],["myCalendar",""],["pButton","","type","button","label","Close",3,"click"],[1,"row"],[1,"col-md-6"],[1,"form-label-group"],["id","recipient","placeholder","Recipient","type","text",1,"w-100","form-control",3,"ngModel","ngModelChange"],["for","recipient"],["id","phone","placeholder","Phone","type","text",1,"w-100","form-control",3,"ngModel","ngModelChange"],["for","phone"],["id","address","placeholder","Address","type","text",1,"w-100","form-control",3,"ngModel","ngModelChange"],["for","address"],["id","city","placeholder","City","type","text",1,"w-100","form-control",3,"ngModel","ngModelChange"],["for","city"]],template:function(t,e){1&t&&(n.TgZ(0,"modal-material",0),n.NdJ("onOk",function(){return e.onOk()})("onCancel",function(){return e.close()})("onClose",function(){return e.close()}),n.TgZ(1,"content"),n.TgZ(2,"div",1),n.TgZ(3,"div",2),n.TgZ(4,"div",3),n.TgZ(5,"mat-button-toggle-group",4),n.NdJ("ngModelChange",function(r){return e.isDelivery=r})("change",function(){return e.changeDelivery()}),n.TgZ(6,"mat-button-toggle",5),n.TgZ(7,"h3",6),n._uU(8," Now "),n.TgZ(9,"small",7),n.TgZ(10,"em"),n._uU(11,"(in store purchase)"),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.TgZ(12,"mat-button-toggle",8),n.TgZ(13,"h3",6),n._uU(14," Later "),n.TgZ(15,"small",7),n.TgZ(16,"em"),n._uU(17,"(shipped to customer address)"),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.YNc(18,Ra,6,11,"div",9),n.YNc(19,Ja,3,0,"ng-container",10),n.YNc(20,Ua,24,10,"ng-container",10),n.qZA(),n.qZA(),n.qZA()),2&t&&(n.Q6J("config",e.modalConfig),n.xp6(5),n.Q6J("ngModel",e.isDelivery),n.xp6(1),n.Q6J("value",!1)("disabled",e.disabled),n.xp6(6),n.Q6J("value",!0)("disabled",e.disabled),n.xp6(6),n.Q6J("ngIf",!e.isDelivery),n.xp6(1),n.Q6J("ngIf",e.isDelivery),n.xp6(1),n.Q6J("ngIf",e.isDelivery||e.shippingFormVisible))},directives:[y.M,xn.A9,h.JJ,h.On,xn.Yi,_.O5,X.w9,h.Wl,vn.QB,Yt.f,Na.$_,qa.Hq,h.Fj],styles:[".container[_ngcontent-%COMP%] {\n min-height: 220px;\n}\n\ninput[type=radio][_ngcontent-%COMP%] {\n margin-top: -0.2rem;\n vertical-align: middle;\n}\n\n ngx-timepicker-field.shipping-picker > div.ngx-timepicker {\n position: absolute;\n left: -15px;\n top: 8px;\n}\n\n.mat-button-toggle-checked[_ngcontent-%COMP%] {\n background-color: #dfeffc;\n color: #0976b4;\n}\n\n p-calendar span.p-calendar.p-calendar-timeonly.custom-height {\n height: 44px;\n margin-top: 3px;\n width: 55px;\n}\n\n.custom-switch.custom-switch-lg[_ngcontent-%COMP%] {\n padding-bottom: 1rem;\n padding-left: 2.25rem;\n}\n\n.custom-switch.custom-switch-lg[_ngcontent-%COMP%] .custom-control-label[_ngcontent-%COMP%] {\n padding-left: 0.75rem;\n padding-top: 0.15rem;\n}\n\n.custom-switch.custom-switch-lg[_ngcontent-%COMP%] .custom-control-label[_ngcontent-%COMP%]::before {\n border-radius: 1rem;\n height: 1.5rem;\n width: 2.5rem;\n}\n\n.custom-switch.custom-switch-lg[_ngcontent-%COMP%] .custom-control-label[_ngcontent-%COMP%]::after {\n border-radius: 0.65rem;\n height: calc(1.5rem - 4px);\n width: calc(1.5rem - 4px);\n}\n\n.custom-switch.custom-switch-lg[_ngcontent-%COMP%] .custom-control-input[_ngcontent-%COMP%]:checked ~ .custom-control-label[_ngcontent-%COMP%]::after {\n transform: translateX(1rem);\n}\n\n.custom-control-input[_ngcontent-%COMP%]:focus ~ .custom-control-label[_ngcontent-%COMP%]::before {\n border-color: #89b03e !important;\n}\n\n.custom-control-input[_ngcontent-%COMP%]:checked ~ .custom-control-label[_ngcontent-%COMP%]::before {\n border-color: #89b03e !important;\n background-color: #89b03e !important;\n}"]}),o})();function La(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",31),n._UZ(1,"i",32),n.TgZ(2,"ng-select",33),n.NdJ("change",function(i){return n.CHM(t),n.oxw().updateTax(i)}),n.qZA(),n.qZA()}if(2&o){const t=n.oxw();n.xp6(2),n.Q6J("clearable",!1)("items",t.Taxes)("ngModel",t.posData.Order.TaxTypeID)}}function Ha(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"a",34),n.NdJ("click",function(){return n.CHM(t),n.oxw().openDiscountModal()}),n._UZ(1,"i",35),n.TgZ(2,"span"),n._uU(3,"Discount"),n.qZA(),n.qZA()}}function Va(o,a){if(1&o&&(n.TgZ(0,"span"),n._uU(1),n.qZA()),2&o){const t=n.oxw(2);n.xp6(1),n.hij("(",null==t.posData?null:t.posData.Order.Discount,"%) ")}}function Ba(o,a){if(1&o&&(n.TgZ(0,"span"),n._uU(1),n.ALo(2,"number"),n.qZA()),2&o){const t=n.oxw(2);n.xp6(1),n.hij("(",n.xi3(2,1,null==t.posData?null:t.posData.Order.Discount,"1.0-4"),"%)")}}function Ya(o,a){if(1&o&&(n.TgZ(0,"tr",36),n.TgZ(1,"th",37),n._uU(2),n.YNc(3,Va,2,1,"span",11),n.YNc(4,Ba,3,4,"span",11),n.qZA(),n._UZ(5,"td",14),n.ALo(6,"number"),n.qZA()),2&o){const t=n.oxw();n.xp6(2),n.hij(" ",null==t.AppConfigJSON?null:t.AppConfigJSON.CorePrint.Alias.Discount1," "),n.xp6(1),n.Q6J("ngIf",t.isIgnoreDecimalDisc1),n.xp6(1),n.Q6J("ngIf",!(null!=t.AppConfigJSON&&t.AppConfigJSON.PrintConfigInvoice.Footer.DiscountIgnoredDecimal)),n.xp6(1),n.Q6J("innerHtml",n.lcZ(6,4,-1*t._cashierCalculatorService.Discount1Amount),n.oJD)}}function za(o,a){if(1&o&&(n.TgZ(0,"span"),n._uU(1),n.qZA()),2&o){const t=n.oxw(2);n.xp6(1),n.hij("(",null==t.posData?null:t.posData.Order.Discount2,"%)")}}function $a(o,a){if(1&o&&(n.TgZ(0,"span"),n._uU(1),n.ALo(2,"number"),n.qZA()),2&o){const t=n.oxw(2);n.xp6(1),n.hij(" (",n.xi3(2,1,null==t.posData?null:t.posData.Order.Discount2,"1.0-4"),"%) ")}}function Ga(o,a){if(1&o&&(n.TgZ(0,"tr"),n.TgZ(1,"th",37),n._uU(2),n.YNc(3,za,2,1,"span",11),n.YNc(4,$a,3,4,"span",11),n.qZA(),n._UZ(5,"td",14),n.ALo(6,"number"),n.qZA()),2&o){const t=n.oxw();n.xp6(2),n.hij(" ",null==t.AppConfigJSON?null:t.AppConfigJSON.CorePrint.Alias.Discount2," "),n.xp6(1),n.Q6J("ngIf",t.isIgnoreDecimalDisc2),n.xp6(1),n.Q6J("ngIf",!(null!=t.AppConfigJSON&&t.AppConfigJSON.PrintConfigInvoice.Footer.DiscountIgnoredDecimal)),n.xp6(1),n.Q6J("innerHtml",n.lcZ(6,4,-1*t._cashierCalculatorService.Discount2Amount),n.oJD)}}function ja(o,a){if(1&o&&(n.TgZ(0,"tr"),n._UZ(1,"th",13),n._UZ(2,"td",38),n.ALo(3,"number"),n.qZA()),2&o){const t=n.oxw();n.xp6(1),n.Q6J("innerHtml",null==t._cashierCalculatorService||null==t._cashierCalculatorService.tax?null:t._cashierCalculatorService.tax.Label,n.oJD),n.xp6(1),n.Q6J("innerHtml",n.lcZ(3,2,t._cashierCalculatorService.TaxAmount),n.oJD)}}function Wa(o,a){if(1&o&&(n.TgZ(0,"tr"),n.TgZ(1,"th",37),n._uU(2,"Deposit"),n.qZA(),n._UZ(3,"td",39),n.ALo(4,"number"),n.qZA()),2&o){const t=n.oxw();n.xp6(3),n.Q6J("innerHtml",n.lcZ(4,1,-1*(null==t.posData?null:t.posData.Order.Deposit)),n.oJD)}}function Ka(o,a){if(1&o&&(n.TgZ(0,"div",40),n.TgZ(1,"strong"),n._uU(2,"Fulfillment From: "),n.qZA(),n.TgZ(3,"span"),n._uU(4),n.qZA(),n.qZA()),2&o){const t=n.oxw();n.xp6(4),n.Oqu(t.getOutletName(t.posData.Action.DeliveryEntityID))}}const Xa=function(o){return{"bg-gradient-warning":o}};let nc=(()=>{class o{constructor(t,e,i,r,c,l,d,s,p,f){this._matDialog=t,this._orderDataService=e,this._cashierCalculatorService=i,this._posService=r,this._toastr=c,this._orderProcessorService=l,this._outletService=d,this._onlineStatusService=s,this._userRoleService=p,this._promotionEventService=f,this.role=new K.Q,this.discountPromotion=[],this.destroy$=new N.xQ,this.Taxes=this._posService.Data.Taxes,this.AppConfigJSON=this._posService.Data.AppConfigJSON,this.isDepositEnabled=this.AppConfigJSON.ApplicationParkAndRetrieve.Deposit.Enabled,this.restriction=this._posService.Data.Restriction}handleF8(){this._matDialog.openDialogs&&this._matDialog.openDialogs.length>0||this.payButtonClicked()}ngOnInit(){this.subscribeToObservable(),this.initConfig(),this.initOrderTypeID()}subscribeToObservable(){this._orderDataService.Data$.pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.posData=t,this.setStatusIgnoreDecimalDisc(),this.initOrderTypeID(),this.warningFullfillment=g.gT.IsEmpty(t.Action.DeliveryEntityID)}),this._onlineStatusService.getOnlineStatus$().subscribe(t=>{this.onlineStatus=t}),this._userRoleService.Data$.pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.taxRestriction=t.TaxRestriction,this.enabledDiscount=t.Discount}),this._outletService.Data$.pipe((0,C.R)(this.destroy$)).subscribe(t=>{let e=t.Promotion.filter(i=>"Discount"===i.PromotionTypeString);this.discountPromotion=e})}setStatusIgnoreDecimalDisc(){this.isIgnoreDecimalDisc1=this.checkIgnoreDecimalDisc(this.posData.Order.Discount),this.isIgnoreDecimalDisc2=this.checkIgnoreDecimalDisc(this.posData.Order.Discount2)}initOrderTypeID(){0==this.posData.Order.TypeID&&(this.posData.Order.TypeID=this._posService.Data.PoTypes[0].ID)}initConfig(){this.paymentRestrction=this.restriction.PaymentRestriction,this.enabledDiscount=this.restriction.Discount,this.taxRestriction=this.restriction.TaxRestriction,this.priceVisibleRestriction=this.restriction.PriceVisibleRestriction,this.shippingRestriction=this.restriction.ShippingRestriction}updateTax(t){this._orderDataService.Data.Order.TaxTypeID=t.ID,this._cashierCalculatorService.tax=t,this._orderDataService.pushNewValue()}payButtonClicked(){!this.isCartNotEmpty()||!this.isSalesPersonValid()||!this.validateCustomerID()||!this.isCustomerRequired()||!this.validatePromotionDiscount()||this.OpenPaymentModal()}validatePromotionDiscount(){let e=(this._outletService.Data?this._outletService.Data.Promotion:[]).find(l=>l.TypeID===q.Discount),r=this._promotionEventService.selectedPromotion,c=!0;return this.AppConfigJSON.ModuleSell.MandatoryActiveDiscount&&e&&(r?r.TypeID!=q.Discount&&(c=!1):c=!1),0==c&&(this._matDialog.open(qt,{id:"promotion-event"}),this._toastr.warning("You need to apply Discount promotion","Required Promotion")),c}OpenPaymentModal(){this._matDialog.open(Da,{id:"ModalPayment"}).afterClosed().pipe((0,C.R)(this.destroy$)).subscribe()}isCartNotEmpty(){return!(this.posData.CartItems.length<1&&(this._toastr.warning(g.g7.emptyPOItem,"Warning!"),1))}isSalesPersonValid(){return!this.AppConfigJSON.ModuleSell.Header.SalesPersonRequired||this.posData.Order.SalesID!=g.gT.GuidEmpty&&null!=this.posData.Order.SalesID||(this._toastr.warning(g.g7.emptySalesPerson,"Warning!"),!1)}isCustomerRequired(){return!(this.AppConfigJSON.ModuleSell.Header.CustomerRequired&&this.onlineStatus&&g.gT.IsEmpty(this.posData.Order.CustomerID)&&(this._toastr.warning(g.g7.emptyCustomer,"Warning!"),1))}validateCustomerID(){if(g.gT.IsEmpty(this.posData.Order.CustomerID)){let e=this._orderProcessorService.Data.InputTextValue;if(g.gT.IsNotEmpty(e)&&(this._toastr.warning("Customer is not Saved","Warning"),this.AppConfigJSON.ModuleSell.Customer.QuickAddEnabled))return this.openCustomerModal(e),!1}return!0}openCustomerModal(t){this._matDialog.open(Qt,{data:{name:t},autoFocus:!1}).afterClosed().subscribe(e=>{e&&this.OpenPaymentModal()})}openDiscountModal(){this._matDialog.open(wa)}openClearOrderModal(){this._matDialog.open(Sa)}openNotesModal(){this._matDialog.open(Za)}openFullfillmentModal(){this._matDialog.open(Fa)}getOutletName(t){if(!g.gT.IsEmpty(t))return this._posService.getOutletName(t)}isFulfillmentVisible(t,e){return!g.gT.IsEmpty(e)&&t!=e}checkIgnoreDecimalDisc(t){return this.AppConfigJSON.PrintConfigInvoice.Footer.DiscountIgnoredDecimal&&t%1==0}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete()}}return o.\u0275fac=function(t){return new(t||o)(n.Y36(P.uw),n.Y36(S),n.Y36(G),n.Y36(D),n.Y36(Z._W),n.Y36(R),n.Y36(F),n.Y36(nn.q),n.Y36(en),n.Y36(fn))},o.\u0275cmp=n.Xpm({type:o,selectors:[["pos-cart-action"]],hostBindings:function(t,e){1&t&&n.NdJ("keydown.F8",function(r){return e.handleF8(r)},!1,n.Jf7)},decls:55,vars:31,consts:[[1,"row","no-gutters","cart-footer","justify-content-between"],[1,"col-auto","align-self-center","mobile-view"],[1,"row","no-gutters"],["class","col-auto mx-5 d-flex flex-row",4,"ngIf"],[1,"col-auto"],["data-cy","Discount","class","btn btn-gray font-weight-normal disc",3,"click",4,"ngIf"],[1,"col-auto","summary","mobile-view"],[1,"table",3,"hidden"],[1,"table-light","border-top-0"],[1,"text-right","border-top-0",2,"width","100px",3,"innerHtml"],["context-menu","ctrl.MenuDiscount",4,"ngIf"],[4,"ngIf"],[3,"hidden"],[1,"table-light",3,"innerHtml"],[1,"text-danger","text-right","text-danger",3,"innerHtml"],[1,"text-right",3,"ngClass","innerHtml"],[1,"row","no-gutters","action-buttons","justify-content-between"],[1,"col-auto","mobile-view"],[1,"position-relative"],["class","cashier-note-arrow arrow-box-right",4,"ngIf"],["data-cy","Fulfillment",1,"btn","btn-gray","mobile-view",3,"ngClass","hidden","click"],[1,"fa","fa-truck","pr-2"],[1,"col-auto","mobile-view","ml-3"],["data-cy","Note",1,"btn","btn-gray","w-100",3,"click"],[1,"far","fa-sticky-note","pr-2"],[1,"btn","btn-gray","mobile-view",3,"hidden","click"],[1,"far","fa-window-close","pr-2"],["data-cy","PaySales",1,"ml-auto","btn","btn-success","tooltip-component","pay","mobile-view",3,"hidden","click"],[1,"d-flex"],[1,"ml-auto"],[1,"position-absolute","font-italic","right-bottom"],[1,"col-auto","mx-5","d-flex","flex-row"],["aria-hidden","true",1,"fa","fa-tags","d-flex","align-items-center","mr-2"],["bindLabel","Label","bindValue","ID","placeholder","Tax","data-cy","Tax",2,"width","125px",3,"clearable","items","ngModel","change"],["data-cy","Discount",1,"btn","btn-gray","font-weight-normal","disc",3,"click"],["aria-hidden","true",1,"fa","fa-tags","pr-2"],["context-menu","ctrl.MenuDiscount"],[1,"table-light"],[1,"text-right",3,"innerHtml"],[1,"text-right","text-danger",3,"innerHtml"],[1,"cashier-note-arrow","arrow-box-right"]],template:function(t,e){1&t&&(n.TgZ(0,"div",0),n.TgZ(1,"div",1),n.TgZ(2,"div",2),n.YNc(3,La,3,3,"div",3),n.TgZ(4,"div",4),n.YNc(5,Ha,4,0,"a",5),n.qZA(),n.qZA(),n.qZA(),n.TgZ(6,"div",6),n.TgZ(7,"table",7),n.TgZ(8,"tbody"),n.TgZ(9,"tr"),n.TgZ(10,"th",8),n._uU(11,"Amount"),n.qZA(),n._UZ(12,"td",9),n.ALo(13,"number"),n.qZA(),n.YNc(14,Ya,7,6,"tr",10),n.YNc(15,Ga,7,6,"tr",11),n.TgZ(16,"tr",12),n._UZ(17,"th",13),n._UZ(18,"td",14),n.ALo(19,"number"),n.qZA(),n.YNc(20,ja,4,4,"tr",11),n.TgZ(21,"tr",12),n._UZ(22,"th",13),n._UZ(23,"td",15),n.ALo(24,"number"),n.qZA(),n.YNc(25,Wa,5,3,"tr",11),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.TgZ(26,"div",16),n.TgZ(27,"div",17),n.TgZ(28,"div",18),n.YNc(29,Ka,5,1,"div",19),n.TgZ(30,"a",20),n.NdJ("click",function(){return e.openFullfillmentModal()}),n._UZ(31,"i",21),n.TgZ(32,"span"),n._uU(33,"Fulfillment"),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.TgZ(34,"div",22),n.TgZ(35,"a",23),n.NdJ("click",function(){return e.openNotesModal()}),n._UZ(36,"i",24),n.TgZ(37,"span"),n._uU(38,"Note"),n.qZA(),n.qZA(),n.qZA(),n.TgZ(39,"div",22),n.TgZ(40,"a",25),n.NdJ("click",function(){return e.openClearOrderModal()}),n._UZ(41,"i",26),n.TgZ(42,"span"),n._uU(43,"Clear"),n.qZA(),n.qZA(),n.qZA(),n.TgZ(44,"div",22),n.TgZ(45,"a",27),n.NdJ("click",function(){return e.payButtonClicked()}),n.TgZ(46,"div",28),n.TgZ(47,"strong"),n._uU(48,"Pay:"),n.qZA(),n.TgZ(49,"span",29),n._uU(50),n.ALo(51,"number"),n.qZA(),n.qZA(),n.TgZ(52,"small",30),n._uU(53,"(F8)"),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n._UZ(54,"div")),2&t&&(n.xp6(3),n.Q6J("ngIf",!e.taxRestriction),n.xp6(2),n.Q6J("ngIf",e.enabledDiscount),n.xp6(2),n.Q6J("hidden",e.priceVisibleRestriction),n.xp6(5),n.Q6J("innerHtml",n.lcZ(13,21,e._cashierCalculatorService.GrossTotal),n.oJD),n.xp6(2),n.Q6J("ngIf",0!=(null==e.posData?null:e.posData.Order.Discount)),n.xp6(1),n.Q6J("ngIf",0!=(null==e.posData?null:e.posData.Order.Discount2)),n.xp6(1),n.Q6J("hidden",0==(null==e.posData?null:e.posData.Order.DiscountAmount)),n.xp6(1),n.Q6J("innerHtml",(null==e.AppConfigJSON?null:e.AppConfigJSON.CorePrint.Alias.DiscountAmount)+" "+(null==e._cashierCalculatorService?null:e._cashierCalculatorService.currencySymbol),n.oJD),n.xp6(1),n.Q6J("innerHtml",n.lcZ(19,23,-1*(null==e.posData?null:e.posData.Order.DiscountAmount)),n.oJD),n.xp6(2),n.Q6J("ngIf",null==e._cashierCalculatorService||null==e._cashierCalculatorService.tax?null:e._cashierCalculatorService.tax.Rate),n.xp6(1),n.Q6J("hidden",0==(null==e.posData?null:e.posData.Invoice.SurchargePcg)),n.xp6(1),n.Q6J("innerHtml","SURCHARGE "+(null==e.posData?null:e.posData.Invoice.SurchargePcg)+" %",n.oJD),n.xp6(1),n.Q6J("ngClass",(null==e.posData?null:e.posData.Invoice.SurchargePcg)<0?"text-danger":"")("innerHtml",n.lcZ(24,25,e._cashierCalculatorService.SurchargeAmount),n.oJD),n.xp6(2),n.Q6J("ngIf",(null==e.posData?null:e.posData.Order.Deposit)>0&&e.isDepositEnabled),n.xp6(4),n.Q6J("ngIf",e.isFulfillmentVisible(e.posData.Order.EntityID,e.posData.Action.DeliveryEntityID)),n.xp6(1),n.Q6J("ngClass",n.VKq(29,Xa,e.warningFullfillment))("hidden",e.shippingRestriction),n.xp6(10),n.Q6J("hidden",e.role.ClearCartRestriction),n.xp6(5),n.Q6J("hidden",e.paymentRestrction),n.xp6(5),n.Oqu(e.priceVisibleRestriction?"-":n.lcZ(51,27,e._cashierCalculatorService.Data)))},directives:[_.O5,_.mk,X.w9,h.JJ,h.On],pipes:[_.JJ],styles:['@media print {\n .cashier[_ngcontent-%COMP%], pos-quick-key[_ngcontent-%COMP%], pos-header[_ngcontent-%COMP%], pos-toolbar[_ngcontent-%COMP%] {\n display: none;\n }\n}\n.is-backdate[_ngcontent-%COMP%] {\n background: repeating-linear-gradient(-60deg, #fcf4a3, #fcf4a3 15px, #fada5e 15px, #fada5e 30px) !important;\n}\n.quickKey[_ngcontent-%COMP%] {\n margin-right: 10px;\n}\n.cashier[_ngcontent-%COMP%] [_ngcontent-%COMP%]::-webkit-input-placeholder {\n font-style: italic;\n}\n.cashier[_ngcontent-%COMP%] [_ngcontent-%COMP%]:-moz-placeholder {\n \n font-style: italic;\n}\n.cashier[_ngcontent-%COMP%] [_ngcontent-%COMP%]::-moz-placeholder {\n \n font-style: italic;\n}\n.cashier[_ngcontent-%COMP%] [_ngcontent-%COMP%]:-ms-input-placeholder {\n font-style: italic;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] {\n border-bottom: 1px solid #dde2eb;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .small[_ngcontent-%COMP%] {\n margin-right: 5px !important;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .small[_ngcontent-%COMP%] .number[_ngcontent-%COMP%] {\n width: 143px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .small[_ngcontent-%COMP%] select[_ngcontent-%COMP%] {\n width: 140px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .small[_ngcontent-%COMP%] .select2-container[_ngcontent-%COMP%] {\n font-size: 12px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] {\n margin-right: 22px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] div[_ngcontent-%COMP%]:last-child {\n margin-right: 0;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 1.25rem;\n color: #3B3B3B;\n margin-right: 5px;\n line-height: unset !important;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] input[_ngcontent-%COMP%], .cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span.outlet[_ngcontent-%COMP%] {\n padding: 4px 8px 3px 5px;\n border: 1px solid #dddddd;\n font-size: 0.875rem;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] .outlet[_ngcontent-%COMP%] {\n width: 165px;\n color: #337ab7;\n background: #ffffff;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] .number[_ngcontent-%COMP%] {\n width: 150px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] select[_ngcontent-%COMP%] {\n width: 150px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.quickKey[_ngcontent-%COMP%] {\n width: 420px;\n margin-right: 10px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] {\n width: 570px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.header[_ngcontent-%COMP%] {\n border: solid 1px #cfcfcf;\n border-bottom: none;\n border-radius: 3px 3px 0 0;\n background: #f2f7fa;\n color: #222222;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.header[_ngcontent-%COMP%] .right-bottom[_ngcontent-%COMP%] {\n font-size: 9px;\n right: -6px;\n bottom: -10px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-table[_ngcontent-%COMP%] {\n border-left: solid 1px #cfcfcf;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-table[_ngcontent-%COMP%] div.col[_ngcontent-%COMP%] {\n overflow: auto;\n height: 250px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-table[_ngcontent-%COMP%] div.col[_ngcontent-%COMP%] table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] {\n background: #fbfbf7;\n border-left: none;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-table[_ngcontent-%COMP%] div.col[_ngcontent-%COMP%] table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] th[_ngcontent-%COMP%] {\n padding: 9px 5px !important;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-table[_ngcontent-%COMP%] div.col[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n padding: 10px 5px;\n border-bottom: 1px solid #cfcfcf;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-table[_ngcontent-%COMP%] div.col[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td[_ngcontent-%COMP%]:first-child {\n padding-right: 0;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-footer[_ngcontent-%COMP%] {\n border-top: solid 1px #cfcfcf;\n min-height: 85px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-footer[_ngcontent-%COMP%] div.summary[_ngcontent-%COMP%] table[_ngcontent-%COMP%] th[_ngcontent-%COMP%], .cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-footer[_ngcontent-%COMP%] div.summary[_ngcontent-%COMP%] table[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n border-left: solid 1px #cfcfcf;\n border-bottom: solid 1px #cfcfcf;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-footer[_ngcontent-%COMP%] div.summary[_ngcontent-%COMP%] table[_ngcontent-%COMP%] th[_ngcontent-%COMP%] {\n padding: 7px 8px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-footer[_ngcontent-%COMP%] div.summary[_ngcontent-%COMP%] table[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n padding: 7px 5px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-footer[_ngcontent-%COMP%] .disc[_ngcontent-%COMP%] {\n padding-top: 7px;\n padding-bottom: 6px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.action-buttons[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] {\n font-size: 1.125rem;\n padding: 15px 18px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.action-buttons[_ngcontent-%COMP%] .btn-gray[_ngcontent-%COMP%] {\n margin-right: 10px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.action-buttons[_ngcontent-%COMP%] .btn-success[_ngcontent-%COMP%] {\n width: 200px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.action-buttons[_ngcontent-%COMP%] .right-bottom[_ngcontent-%COMP%] {\n font-size: 0.625rem;\n right: 4px;\n}\n.text-black.btn-success[_ngcontent-%COMP%] {\n color: #4d4d4d !important;\n}\n.main-panel[_ngcontent-%COMP%] nav.fixed-top.offline[_ngcontent-%COMP%], .full_screen[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] > div.row.header.offline[_ngcontent-%COMP%] {\n background: repeating-linear-gradient(-60deg, #f8d7da, #f8d7da 15px, #f5c6cb 15px, #f5c6cb 30px) !important;\n}\n.barcode-input[_ngcontent-%COMP%] {\n width: 305px;\n}\n.barcode-input[_ngcontent-%COMP%] > input[_ngcontent-%COMP%] {\n height: 28px;\n}\n.barcode-input[_ngcontent-%COMP%] autocomplete[_ngcontent-%COMP%] {\n width: 267px;\n}\n.barcode-input[_ngcontent-%COMP%] autocompleteV2[_ngcontent-%COMP%] {\n width: 267px;\n}\n.input-group-text-retrieve[_ngcontent-%COMP%] {\n padding: 9px 0.75rem !important;\n}\n.font-12[_ngcontent-%COMP%] {\n font-size: 12px;\n}\n.btn-gray[_ngcontent-%COMP%] {\n background-color: #f4f4f4;\n border: 1px solid #d6d6d6;\n font-weight: bold;\n color: #545454 !important;\n background: linear-gradient(to bottom, #ffffff 0%, #eeeeee 100%);\n}\n.btn-gray-more[_ngcontent-%COMP%] {\n background-color: #f4f4f4;\n border: 1px solid #d6d6d6;\n background: linear-gradient(to bottom, #ffffff 0%, #eeeeee 100%);\n}\n.cash-btn[_ngcontent-%COMP%] {\n background-color: #f4f4f4;\n border: 1px solid #d6d6d6;\n font-weight: bold;\n margin: 0 0 0 10px;\n padding: 7px 15px;\n height: 18px;\n box-sizing: content-box;\n background: linear-gradient(to bottom, #ffffff 0%, #eeeeee 100%);\n}\n.calc-tbl[_ngcontent-%COMP%] th[_ngcontent-%COMP%] {\n padding: 7px 15px 7px 10px;\n border: 1px solid #ddd;\n border-top: none;\n background-color: #eeeeee;\n}\n.dropdown-menu[_ngcontent-%COMP%] .disabled[_ngcontent-%COMP%] {\n display: none !important;\n}\n.calc-tbl[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n width: 100px;\n text-align: right;\n padding: 7px 5px;\n}\nsection.complete[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n color: #3b5998;\n margin: 20px 0px;\n}\nsection.complete[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] a[_ngcontent-%COMP%] {\n font-size: 0.75rem;\n color: #868686;\n}\nsection.complete[_ngcontent-%COMP%] .complete-action[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] {\n text-align: center;\n height: 150px;\n width: 190px;\n font-family: "Roboto Slab", serif;\n display: flex;\n flex-direction: column !important;\n padding: 0px;\n color: #666666;\n margin-right: 10px;\n}\nsection.complete[_ngcontent-%COMP%] .complete-action[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n display: block;\n font-size: 50px;\n margin-top: 20px;\n}\nsection.complete[_ngcontent-%COMP%] .complete-action[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n margin: 0px;\n margin-top: 10px;\n color: #666666;\n}\nsection.complete[_ngcontent-%COMP%] .complete-action[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]:first-child h4[_ngcontent-%COMP%] {\n color: #3B3B3B;\n}\nsection.complete[_ngcontent-%COMP%] .complete-action[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n font-size: 0.625rem;\n font-style: italic;\n padding: 10px;\n box-sizing: border-box;\n color: #868686;\n border-top: 1px solid #dddddd;\n font-weight: normal;\n margin: 0px;\n}\n.complete-more-action[_ngcontent-%COMP%] {\n margin-top: 10px;\n}\n\n.modal-body[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n font-weight: 400;\n}\n.modal-body[_ngcontent-%COMP%] .actions-tabs[_ngcontent-%COMP%] {\n position: absolute;\n left: 230px;\n top: 15px;\n}\n.modal-header[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 12px;\n font-style: normal;\n}\n.modal-header[_ngcontent-%COMP%] a[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 14px !important;\n}\n.dialogButtonOption[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] {\n padding: 25px 0px;\n width: 190px;\n margin-right: 10px;\n}\n.dialogButtonOption[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n font-weight: 700;\n text-transform: uppercase;\n}\n.dialogButtonOption[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n font-size: 0.75rem;\n font-style: italic;\n color: #868686;\n margin-top: 10px;\n}\n.currency[_ngcontent-%COMP%] {\n top: 13px;\n left: 30px;\n}\n.paymentNote[_ngcontent-%COMP%]::before {\n z-index: 10;\n content: "";\n position: absolute;\n top: 0;\n left: calc(50% - 10px);\n height: 100%;\n width: 10px;\n background-color: inherit;\n border-right: 1px solid lightgray;\n transform: skewX(-10deg);\n}\n#dialogPayment[_ngcontent-%COMP%] .col-auto[_ngcontent-%COMP%], #dialogSubmitOrder[_ngcontent-%COMP%] .col-auto[_ngcontent-%COMP%] {\n padding: 0 4px;\n}\n#dialogPayment[_ngcontent-%COMP%] .col-auto[_ngcontent-%COMP%], #dialogSubmitOrder[_ngcontent-%COMP%] .col-auto[_ngcontent-%COMP%] {\n padding: 0 4px;\n}\n#dialogPayment[_ngcontent-%COMP%] .col-4[_ngcontent-%COMP%], #dialogSubmitOrder[_ngcontent-%COMP%] .col-4[_ngcontent-%COMP%] {\n width: 125px !important;\n padding: 0 4px;\n}\n#dialogPayment[_ngcontent-%COMP%] .col-8[_ngcontent-%COMP%], #dialogSubmitOrder[_ngcontent-%COMP%] .col-8[_ngcontent-%COMP%] {\n width: 250px !important;\n padding: 0 4px;\n}\n#dialogPayment[_ngcontent-%COMP%] .btn-link[_ngcontent-%COMP%], #dialogSubmitOrder[_ngcontent-%COMP%] .btn-link[_ngcontent-%COMP%] {\n padding-top: 0px;\n color: #868686;\n padding-bottom: 8px;\n border-radius: unset;\n font-family: "Roboto Slab", serif;\n}\n#dialogPayment[_ngcontent-%COMP%] .btn-link.selected[_ngcontent-%COMP%], #dialogSubmitOrder[_ngcontent-%COMP%] .btn-link.selected[_ngcontent-%COMP%] {\n color: #3B3B3B;\n border-bottom: 4px solid #07a519;\n}\n#dialogPayment[_ngcontent-%COMP%] .change[_ngcontent-%COMP%], #dialogSubmitOrder[_ngcontent-%COMP%] .change[_ngcontent-%COMP%] {\n position: absolute;\n top: 1px;\n height: 40px;\n background: #89b03e;\n color: #fff;\n right: 16px;\n padding: 0 10px;\n line-height: 40px;\n font-size: 16px;\n}\n#dialogPayment[_ngcontent-%COMP%] .change[_ngcontent-%COMP%]:before, #dialogSubmitOrder[_ngcontent-%COMP%] .change[_ngcontent-%COMP%]:before {\n content: "\\a";\n border-style: solid;\n border-width: 40px 24px 0 0;\n border-color: transparent #89b03e transparent transparent;\n position: absolute;\n left: -24px;\n}\n#dialogPayment[_ngcontent-%COMP%] .change.danger[_ngcontent-%COMP%], #dialogSubmitOrder[_ngcontent-%COMP%] .change.danger[_ngcontent-%COMP%] {\n background: #c9302c;\n}\n#dialogPayment[_ngcontent-%COMP%] .change.danger[_ngcontent-%COMP%]:before, #dialogSubmitOrder[_ngcontent-%COMP%] .change.danger[_ngcontent-%COMP%]:before {\n border-color: transparent #c9302c transparent transparent;\n}\n\n.phone[_ngcontent-%COMP%] div[_ngcontent-%COMP%] {\n height: 50px;\n width: 50px;\n padding-top: 11px;\n background-color: #f5f5f5;\n border: 1px solid gray !important;\n}\n.phone[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n padding-left: 65px !important;\n border: 1px solid gray !important;\n font-size: 25px;\n height: 50px;\n}\n.phone[_ngcontent-%COMP%] .form-control[_ngcontent-%COMP%]:focus {\n border-color: #8bb8df !important;\n}\n.back-button[_ngcontent-%COMP%] {\n left: -18px;\n top: -74px;\n}\n.back-button[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: white;\n}\n.back-button-gopay[_ngcontent-%COMP%] {\n left: -18px;\n top: -50px;\n}\n.back-button-gopay[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: white;\n}\n.logo-gopay[_ngcontent-%COMP%] {\n margin-top: -16px;\n}\n#dialogSubmitOrder[_ngcontent-%COMP%] .btn-link[_ngcontent-%COMP%] {\n padding-top: 0px;\n color: #868686;\n padding-bottom: 8px;\n border-radius: unset;\n font-family: "Roboto Slab", serif;\n}\n#dialogSubmitOrder[_ngcontent-%COMP%] .btn-link.selected[_ngcontent-%COMP%] {\n color: #3B3B3B;\n border-bottom: 4px solid #07a519;\n}\n#dialogSubmitOrder[_ngcontent-%COMP%] .btn-info[_ngcontent-%COMP%] {\n font-size: 0.75rem;\n margin-right: 10px;\n padding: 10px;\n margin-bottom: 10px;\n float: left;\n}\n#dialogSubmitOrder[_ngcontent-%COMP%] .input-label[_ngcontent-%COMP%] {\n position: relative;\n}\n#dialogSubmitOrder[_ngcontent-%COMP%] .input-label[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n position: absolute;\n font-size: 0.875rem;\n color: #868686;\n top: 26px;\n left: 20px;\n}\n#dialogSubmitOrder[_ngcontent-%COMP%] .input-label[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n margin: 0;\n margin-bottom: 8px;\n border: 1px solid #dddddd;\n padding: 7px 5px;\n width: 100%;\n font-size: 36px;\n border-radius: 3px;\n text-align: right;\n background-color: #ffffff;\n outline: none;\n}\n#dialogSubmitOrder[_ngcontent-%COMP%] .pay-info[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n border-bottom: 2px solid #07a519 !important;\n font-size: 0.875rem;\n border: none !important;\n border-bottom: 2px solid #07a519 !important;\n outline: none;\n}\n#dialogSubmitOrder[_ngcontent-%COMP%] .change[_ngcontent-%COMP%] {\n background-color: #cccccc;\n border: 1px solid #dddddd;\n width: 149px;\n padding: 5px 10px 5px 0;\n text-align: right;\n font-size: 1.25rem;\n font-weight: bold;\n float: right;\n}\n.rad-btn[_ngcontent-%COMP%] {\n position: relative;\n display: inline-block;\n}\n.rad-btn[_ngcontent-%COMP%] label[_ngcontent-%COMP%] {\n border: 1px solid #dddddd;\n border-radius: 3px;\n margin-right: 10px;\n cursor: pointer;\n padding: 10px;\n margin-bottom: 10px;\n color: black;\n}\n.rad-btn[_ngcontent-%COMP%] input[type=radio][_ngcontent-%COMP%] {\n visibility: hidden;\n position: absolute;\n left: 0;\n top: 0;\n}\n.rad-btn[_ngcontent-%COMP%] input[type=radio][_ngcontent-%COMP%]:checked + label[_ngcontent-%COMP%] {\n background: #dfeffc;\n border: 1px solid #dfeffc;\n}\n.modal-dialog[_ngcontent-%COMP%] .noteBox[_ngcontent-%COMP%] {\n background-color: #ffffe1;\n border: 1px solid #cacaca;\n padding: 3px;\n display: block;\n outline: 0;\n margin-bottom: 5px;\n font-size: 11px;\n text-decoration: none;\n}\n\n.fullscreen[_ngcontent-%COMP%] {\n position: fixed;\n bottom: 0px;\n right: 0px;\n padding: 10px;\n background-color: #bbbbbb;\n cursor: pointer;\n}\n.fullscreen[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 34px;\n color: white;\n}\n.pos-status[_ngcontent-%COMP%] {\n position: fixed;\n right: 10px;\n top: 10px;\n list-style: none;\n padding: 0px;\n margin: 0px;\n z-index: 1031;\n display: flex;\n align-items: center !important;\n}\n.pos-status[_ngcontent-%COMP%] li[_ngcontent-%COMP%] {\n cursor: pointer;\n margin-right: 10px;\n}\n.pos-status[_ngcontent-%COMP%] li[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] {\n padding: 8px 10px;\n color: #868686;\n}\n.pos-status[_ngcontent-%COMP%] li[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 26px;\n}\n.pos-status[_ngcontent-%COMP%] li[_ngcontent-%COMP%]:first-child i[_ngcontent-%COMP%] {\n font-size: 16px;\n}\n.full_screen[_ngcontent-%COMP%] .pos-status[_ngcontent-%COMP%] {\n left: 10px;\n bottom: 10px;\n top: auto;\n right: auto;\n}\n.full_screen[_ngcontent-%COMP%] .park-action[_ngcontent-%COMP%] {\n left: 0px;\n right: auto !important;\n padding: 0px;\n}\n.full_screen[_ngcontent-%COMP%] nav[_ngcontent-%COMP%], .full_screen[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%] {\n display: none !important;\n}\n.full_screen[_ngcontent-%COMP%] section.cashier[_ngcontent-%COMP%] > div.container-fluid[_ngcontent-%COMP%] {\n padding: 0 !important;\n}\n.full_screen[_ngcontent-%COMP%] section.cashier[_ngcontent-%COMP%] > div.container-fluid[_ngcontent-%COMP%] > div.row.header[_ngcontent-%COMP%], .full_screen[_ngcontent-%COMP%] section.cashier[_ngcontent-%COMP%] > div.container-fluid[_ngcontent-%COMP%] > div.row.body[_ngcontent-%COMP%] {\n justify-content: center;\n}\n.full_screen[_ngcontent-%COMP%] .main-panel[_ngcontent-%COMP%] {\n left: 0px;\n right: 0px;\n top: 0px;\n bottom: 0px;\n width: 100%;\n padding: 0px;\n}\n.full_screen[_ngcontent-%COMP%] #divSideMenu[_ngcontent-%COMP%] {\n display: none;\n}\n#dialogItem[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%] {\n border-top: none;\n border-right: none;\n}\ndiv#dialogDiscount[_ngcontent-%COMP%] .txtPcg[_ngcontent-%COMP%] {\n width: 30px;\n}\n#radOnline[_ngcontent-%COMP%] + label[_ngcontent-%COMP%], #radOffline[_ngcontent-%COMP%] + label[_ngcontent-%COMP%] {\n height: 150px;\n width: 200px;\n white-space: normal;\n margin: 20px 0px 20px 10px;\n padding-top: 12px;\n border: 1px solid #dddddd;\n}\n#radOnline[_ngcontent-%COMP%] + label[_ngcontent-%COMP%] h4[_ngcontent-%COMP%], #radOffline[_ngcontent-%COMP%] + label[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n margin: 5px;\n}\n#radOnline[_ngcontent-%COMP%] + label[_ngcontent-%COMP%] i[_ngcontent-%COMP%], #radOffline[_ngcontent-%COMP%] + label[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 30px;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] a[_ngcontent-%COMP%] strong[_ngcontent-%COMP%] {\n height: 30px;\n border-radius: 4px;\n padding: 5px 10px;\n color: #ffffff;\n background: #b1aaaa;\n}\nul.dialogPicker[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover, ul.dialogPicker[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a.active[_ngcontent-%COMP%] {\n background: #fffed9;\n border: 1px solid #88ae3d;\n}\nul.dialogPicker[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover > strong[_ngcontent-%COMP%], ul.dialogPicker[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a.active[_ngcontent-%COMP%] > strong[_ngcontent-%COMP%] {\n background: #88ae3d;\n}\n#radOnline[_ngcontent-%COMP%]:checked + label[_ngcontent-%COMP%] {\n color: #ffffff;\n background-color: #89b03e;\n}\n#radOffline[_ngcontent-%COMP%]:checked + label[_ngcontent-%COMP%] {\n color: #ffffff;\n background-color: #c9302c;\n}\n.fa-wifi-off[_ngcontent-%COMP%] {\n background-image: url("//res.cloudinary.com/pos/image/upload/v1535431932/POS/Images/Icon/wifi-off.svg");\n height: 30px;\n width: 30px;\n background-size: 30px;\n background-repeat: no-repeat;\n}\n#radOffline[_ngcontent-%COMP%]:checked + label[_ngcontent-%COMP%] .fa-wifi-off[_ngcontent-%COMP%] {\n background-image: url("//res.cloudinary.com/pos/image/upload/POS/Images/Icon/wifi-off-white.svg");\n}\n.fa-coupon[_ngcontent-%COMP%] {\n background-position-y: center;\n background-image: url("//res.cloudinary.com/pos/image/upload/POS/Images/Icon/coupon.svg");\n height: 26px;\n width: 26px;\n background-size: 26px;\n background-repeat: no-repeat;\n}\n.fa-retur[_ngcontent-%COMP%] {\n background-position-y: center;\n background-image: url("//res.cloudinary.com/pos/image/upload/POS/Images/Icon/return.svg");\n height: 26px;\n width: 26px;\n background-size: 26px;\n background-repeat: no-repeat;\n}\n\nul.dialogPicker[_ngcontent-%COMP%] {\n list-style: none;\n margin: 0px;\n padding: 0px;\n display: flex;\n flex-wrap: wrap !important;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] {\n width: 180px;\n min-height: 95px;\n margin-right: 17px;\n margin-bottom: 17px;\n position: relative;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] {\n display: block;\n outline: 0;\n border: 1px solid #b1aaaa;\n border-radius: 5px;\n cursor: pointer;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] h6[_ngcontent-%COMP%] {\n height: 30px;\n border-radius: 4px;\n padding: 5px 10px;\n color: #ffffff;\n background: #b1aaaa;\n overflow: hidden;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] h6[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n margin-right: 5px;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover, ul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.active[_ngcontent-%COMP%], ul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.vacant[_ngcontent-%COMP%] {\n background: #ffffe1;\n border: 1px solid #89b03e;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover > h6[_ngcontent-%COMP%], ul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.active[_ngcontent-%COMP%] > h6[_ngcontent-%COMP%], ul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.vacant[_ngcontent-%COMP%] > h6[_ngcontent-%COMP%] {\n background: #89b03e;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.occupied[_ngcontent-%COMP%], ul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.occupied[_ngcontent-%COMP%]:hover {\n border: 1px solid #c9302c;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.occupied[_ngcontent-%COMP%] > h6[_ngcontent-%COMP%], ul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.occupied[_ngcontent-%COMP%]:hover > h6[_ngcontent-%COMP%] {\n background: #c9302c !important;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.occupied[_ngcontent-%COMP%] span.alias[_ngcontent-%COMP%] {\n background: #c9302c;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.occupied[_ngcontent-%COMP%]:hover {\n background: white;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.preparing[_ngcontent-%COMP%] {\n border: 1px solid #f6a828;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.preparing[_ngcontent-%COMP%] > h6[_ngcontent-%COMP%] {\n background: #f6a828 !important;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.preparing[_ngcontent-%COMP%]:hover {\n border: 1px solid #f6a828;\n background: white;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.preparing[_ngcontent-%COMP%]:hover > strong[_ngcontent-%COMP%] {\n background: #f6a828 !important;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.preparing[_ngcontent-%COMP%] span.alias[_ngcontent-%COMP%] {\n background: #f6a828;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.preparing[_ngcontent-%COMP%] div[_ngcontent-%COMP%] > span[_ngcontent-%COMP%] {\n font-size: 0.75rem !important;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] div[_ngcontent-%COMP%] {\n height: 80px;\n padding: 15px 10px;\n position: relative;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n display: block;\n font-weight: normal;\n font-size: 0.875rem;\n width: 100%;\n margin-bottom: 5px;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:first-child {\n margin-top: -10px;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:last-child {\n margin-bottom: 0px;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span.alias[_ngcontent-%COMP%] {\n text-align: center;\n position: absolute;\n bottom: 0px;\n right: 0px;\n width: auto;\n background-color: #b1aaaa;\n border-radius: 3px;\n padding: 2px 5px;\n color: #ffffff;\n display: none !important;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span.idle[_ngcontent-%COMP%] {\n display: block;\n font-size: 1.25rem;\n text-align: center;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > span[_ngcontent-%COMP%] {\n position: absolute;\n width: 27px;\n height: 28px;\n cursor: pointer;\n top: 5px;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > span[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: black;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]:last-of-type {\n right: -5px;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]:nth-last-of-type(2) {\n right: 15px;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] input[type=checkbox][_ngcontent-%COMP%] {\n bottom: 20px;\n right: 5px;\n position: absolute;\n}\nul.dialogPicker[_ngcontent-%COMP%] .duration[_ngcontent-%COMP%] > span[_ngcontent-%COMP%] {\n border: 1px solid !important;\n position: absolute;\n bottom: -3px;\n left: 58px;\n background: #fff;\n border-radius: 5px;\n}\nul.dialogPickerBig[_ngcontent-%COMP%] li[_ngcontent-%COMP%] {\n width: 140px !important;\n margin-bottom: 17px;\n margin-top: 0px !important;\n min-height: 80px !important;\n}\nul.dialogPickerBig[_ngcontent-%COMP%] li[_ngcontent-%COMP%] a[_ngcontent-%COMP%] div[_ngcontent-%COMP%] {\n height: 50px !important;\n}\n.arrow_box_left[_ngcontent-%COMP%]:after, .arrow_box_left[_ngcontent-%COMP%]:before {\n left: 100% !important;\n}\n.arrow_box_left[_ngcontent-%COMP%]:after {\n border-left-color: #ffffff !important;\n border-right-color: transparent !important;\n}\n.arrow_box_left[_ngcontent-%COMP%]:before {\n border-left-color: #dddddd !important;\n border-right-color: transparent !important;\n}\n.arrow_box_bottom[_ngcontent-%COMP%]:after, .arrow_box_bottom[_ngcontent-%COMP%]:before {\n top: initial;\n left: 40%;\n bottom: 100% !important;\n}\n.arrow_box_bottom[_ngcontent-%COMP%]:after {\n border-bottom-color: #ffffff !important;\n border-right-color: transparent !important;\n margin-left: -6px;\n}\n.arrow_box_bottom[_ngcontent-%COMP%]:before {\n border-bottom-color: #dddddd !important;\n border-right-color: transparent !important;\n margin-left: -9px;\n}\ndiv.price_calculator[_ngcontent-%COMP%] {\n left: -260px;\n top: 46px;\n width: 250px;\n height: 138px;\n padding: 12px 0px 3px 8px;\n border-radius: 3px;\n position: absolute !important;\n}\ndiv.price_calculator[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n border: 0px !important;\n border-bottom: 1px solid #dddddd !important;\n background-color: transparent !important;\n padding: 8px 5px 5px 5px !important;\n width: 60px !important;\n}\n.tooltip-component[_ngcontent-%COMP%] {\n position: relative;\n}\n.tooltip-component[_ngcontent-%COMP%]:hover > div.toolTip[_ngcontent-%COMP%] {\n display: block;\n}\n.tooltip-component[_ngcontent-%COMP%] div.toolTip[_ngcontent-%COMP%] {\n background: #ffffe1;\n border: 1px solid #dddddd;\n position: absolute;\n top: 110%;\n left: 0%;\n padding: 10px;\n display: none;\n text-align: center;\n min-height: 15px;\n margin-top: 0.1rem;\n}\n.tooltip-component[_ngcontent-%COMP%] div.toolTip.green[_ngcontent-%COMP%] {\n background: #caed9e;\n border: 4px solid #90d93f;\n}\n.tooltip-component[_ngcontent-%COMP%] div.toolTip[_ngcontent-%COMP%]:after, .tooltip-component[_ngcontent-%COMP%] div.toolTip[_ngcontent-%COMP%]:before {\n content: "";\n position: absolute;\n top: 0;\n left: 50%;\n width: 0;\n height: 0;\n border: 5px solid transparent;\n}\n.tooltip-component[_ngcontent-%COMP%] div.toolTip[_ngcontent-%COMP%]::after {\n border-bottom-color: #ffffe1;\n border-top: 0;\n margin-left: -5px;\n margin-top: -5px;\n}\n.tooltip-component[_ngcontent-%COMP%] div.toolTip[_ngcontent-%COMP%]::before {\n border-bottom-color: #dddddd;\n border-top: 0;\n margin-left: -5px;\n margin-top: -6px;\n}\n.tooltip-component[_ngcontent-%COMP%] div.toolTip[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n margin: 0px;\n white-space: nowrap;\n color: #89b03e;\n text-shadow: 0px 1px 0px White;\n}\n.offline[_ngcontent-%COMP%] .modal-header[_ngcontent-%COMP%] {\n background-color: #c9302c !important;\n}\n.warning[_ngcontent-%COMP%] .modal-header[_ngcontent-%COMP%] {\n background-color: #f6a828 !important;\n}\n#dialogPromo[_ngcontent-%COMP%] table[_ngcontent-%COMP%] {\n min-width: 400px;\n}\n#dialogPromo[_ngcontent-%COMP%] table.table-hover[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:hover {\n background-color: #89b03e;\n color: white;\n}\nfade-in[_ngcontent-%COMP%] {\n opacity: 1;\n \n transition: opacity 2s;\n}\n.fade-out[_ngcontent-%COMP%] {\n opacity: 0;\n \n transition: opacity 2s;\n z-index: 1;\n}\n.later-payment[_ngcontent-%COMP%] strong[_ngcontent-%COMP%] {\n font-size: 20px;\n}\n.later-payment[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n font-size: 20px;\n padding: 20px 10px !important;\n}\n.change-box[_ngcontent-%COMP%] {\n top: initial;\n height: auto;\n align-self: center;\n}\n.e-money[_ngcontent-%COMP%] {\n height: 65px;\n}\n@media only screen and (max-width: 1280px) {\n input[placeholder=Customer][_ngcontent-%COMP%] {\n width: 135px;\n }\n\n span.select2.select2-container[_ngcontent-%COMP%] {\n width: 135px !important;\n }\n}\n@media only screen and (max-width: 1215px) {\n input[placeholder=Customer][_ngcontent-%COMP%] {\n width: 120px;\n }\n\n span.select2.select2-container[_ngcontent-%COMP%] {\n width: 120px !important;\n }\n}\n@media only screen and (max-width: 1185px) {\n input[placeholder=Customer][_ngcontent-%COMP%] {\n width: 140px;\n }\n\n span.select2.select2-container[_ngcontent-%COMP%] {\n width: 140px !important;\n }\n}\n@media only screen and (max-width: 992px) {\n .pos-status[_ngcontent-%COMP%] {\n bottom: 10px;\n left: 10px;\n top: auto;\n }\n}\n.simple-keyboard[_ngcontent-%COMP%] {\n width: 20vw;\n position: absolute;\n left: 77%;\n top: 30%;\n z-index: 1200;\n}\n .hg-theme-default .hg-button {\n height: 70px !important;\n font-size: 16px !important;\n}\n .hg-button-bksp {\n width: 21px;\n}\n .hg-button[data-skbtn="{enter}"] {\n width: 90px;\n}\n.cashier[_ngcontent-%COMP%] {\n max-width: 37rem;\n}\ndiv.row.cart-footer[_ngcontent-%COMP%] {\n border-top: solid 1px #CFCFCF;\n min-height: 85px;\n}\ndiv.row.cart-footer[_ngcontent-%COMP%] div.summary[_ngcontent-%COMP%] table[_ngcontent-%COMP%] th[_ngcontent-%COMP%], div.row.cart-footer[_ngcontent-%COMP%] div.summary[_ngcontent-%COMP%] table[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n font-size: 0.75rem;\n border-left: solid 1px #CFCFCF;\n border-bottom: solid 1px #CFCFCF;\n}\ndiv.row.cart-footer[_ngcontent-%COMP%] div.summary[_ngcontent-%COMP%] table[_ngcontent-%COMP%] th[_ngcontent-%COMP%] {\n padding: 7px 8px;\n}\ndiv.row.cart-footer[_ngcontent-%COMP%] div.summary[_ngcontent-%COMP%] table[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n padding: 7px 5px;\n}\ndiv.row.cart-footer[_ngcontent-%COMP%] .disc[_ngcontent-%COMP%] {\n padding-top: 7px;\n padding-bottom: 6px;\n}\ndiv.row.action-buttons[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] {\n font-size: 1.125rem;\n padding: 15px 16px;\n}\ndiv.row.action-buttons[_ngcontent-%COMP%] .btn-success[_ngcontent-%COMP%] {\n width: 195px;\n}\ndiv.row.action-buttons[_ngcontent-%COMP%] .right-bottom[_ngcontent-%COMP%] {\n font-size: 0.625rem;\n right: 4px;\n}\n.cashier-note-arrow[_ngcontent-%COMP%] {\n position: absolute;\n min-width: 130px;\n max-width: 180px;\n min-height: 55px;\n background-color: #ffffe1 !important;\n right: 110%;\n top: 0%;\n z-index: 1;\n text-align: center;\n padding: 8px 2px;\n border: 1px solid #bbbbbb !important;\n}\n.cashier-note-arrow[_ngcontent-%COMP%] strong[_ngcontent-%COMP%] {\n font-style: italic;\n}\n.cashier-note-arrow[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n margin-top: 3px;\n font-family: "Roboto Slab", serif;\n display: block;\n text-transform: uppercase;\n}\n.cashier-note-arrow[_ngcontent-%COMP%]:after {\n border-left-color: #ffffe1 !important;\n}\n.arrow-box-right[_ngcontent-%COMP%]:before {\n border-width: 6px !important;\n margin-top: -6px !important;\n}\n@media only screen and (max-width: 576px) {\n .mobile-view[_ngcontent-%COMP%] {\n width: 100% !important;\n margin-top: 5px;\n }\n}']}),o})(),tc=(()=>{class o{constructor(){}}return o.\u0275fac=function(t){return new(t||o)},o.\u0275cmp=n.Xpm({type:o,selectors:[["pos-cart"]],decls:4,vars:0,consts:[[1,"cashier"]],template:function(t,e){1&t&&(n.TgZ(0,"div",0),n._UZ(1,"pos-cart-header"),n._UZ(2,"pos-cart-display"),n._UZ(3,"pos-cart-action"),n.qZA())},directives:[Sr,jr,nc],styles:['@media print {\n .cashier[_ngcontent-%COMP%], pos-quick-key[_ngcontent-%COMP%], pos-header[_ngcontent-%COMP%], pos-toolbar[_ngcontent-%COMP%] {\n display: none;\n }\n}\n.is-backdate[_ngcontent-%COMP%] {\n background: repeating-linear-gradient(-60deg, #fcf4a3, #fcf4a3 15px, #fada5e 15px, #fada5e 30px) !important;\n}\n.quickKey[_ngcontent-%COMP%] {\n margin-right: 10px;\n}\n.cashier[_ngcontent-%COMP%] [_ngcontent-%COMP%]::-webkit-input-placeholder {\n font-style: italic;\n}\n.cashier[_ngcontent-%COMP%] [_ngcontent-%COMP%]:-moz-placeholder {\n \n font-style: italic;\n}\n.cashier[_ngcontent-%COMP%] [_ngcontent-%COMP%]::-moz-placeholder {\n \n font-style: italic;\n}\n.cashier[_ngcontent-%COMP%] [_ngcontent-%COMP%]:-ms-input-placeholder {\n font-style: italic;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] {\n border-bottom: 1px solid #dde2eb;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .small[_ngcontent-%COMP%] {\n margin-right: 5px !important;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .small[_ngcontent-%COMP%] .number[_ngcontent-%COMP%] {\n width: 143px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .small[_ngcontent-%COMP%] select[_ngcontent-%COMP%] {\n width: 140px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .small[_ngcontent-%COMP%] .select2-container[_ngcontent-%COMP%] {\n font-size: 12px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] {\n margin-right: 22px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] div[_ngcontent-%COMP%]:last-child {\n margin-right: 0;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 1.25rem;\n color: #3B3B3B;\n margin-right: 5px;\n line-height: unset !important;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] input[_ngcontent-%COMP%], .cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span.outlet[_ngcontent-%COMP%] {\n padding: 4px 8px 3px 5px;\n border: 1px solid #dddddd;\n font-size: 0.875rem;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] .outlet[_ngcontent-%COMP%] {\n width: 165px;\n color: #337ab7;\n background: #ffffff;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] .number[_ngcontent-%COMP%] {\n width: 150px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] select[_ngcontent-%COMP%] {\n width: 150px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.quickKey[_ngcontent-%COMP%] {\n width: 420px;\n margin-right: 10px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] {\n width: 570px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.header[_ngcontent-%COMP%] {\n border: solid 1px #cfcfcf;\n border-bottom: none;\n border-radius: 3px 3px 0 0;\n background: #f2f7fa;\n color: #222222;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.header[_ngcontent-%COMP%] .right-bottom[_ngcontent-%COMP%] {\n font-size: 9px;\n right: -6px;\n bottom: -10px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-table[_ngcontent-%COMP%] {\n border-left: solid 1px #cfcfcf;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-table[_ngcontent-%COMP%] div.col[_ngcontent-%COMP%] {\n overflow: auto;\n height: 250px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-table[_ngcontent-%COMP%] div.col[_ngcontent-%COMP%] table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] {\n background: #fbfbf7;\n border-left: none;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-table[_ngcontent-%COMP%] div.col[_ngcontent-%COMP%] table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] th[_ngcontent-%COMP%] {\n padding: 9px 5px !important;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-table[_ngcontent-%COMP%] div.col[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n padding: 10px 5px;\n border-bottom: 1px solid #cfcfcf;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-table[_ngcontent-%COMP%] div.col[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td[_ngcontent-%COMP%]:first-child {\n padding-right: 0;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-footer[_ngcontent-%COMP%] {\n border-top: solid 1px #cfcfcf;\n min-height: 85px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-footer[_ngcontent-%COMP%] div.summary[_ngcontent-%COMP%] table[_ngcontent-%COMP%] th[_ngcontent-%COMP%], .cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-footer[_ngcontent-%COMP%] div.summary[_ngcontent-%COMP%] table[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n border-left: solid 1px #cfcfcf;\n border-bottom: solid 1px #cfcfcf;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-footer[_ngcontent-%COMP%] div.summary[_ngcontent-%COMP%] table[_ngcontent-%COMP%] th[_ngcontent-%COMP%] {\n padding: 7px 8px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-footer[_ngcontent-%COMP%] div.summary[_ngcontent-%COMP%] table[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n padding: 7px 5px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-footer[_ngcontent-%COMP%] .disc[_ngcontent-%COMP%] {\n padding-top: 7px;\n padding-bottom: 6px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.action-buttons[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] {\n font-size: 1.125rem;\n padding: 15px 18px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.action-buttons[_ngcontent-%COMP%] .btn-gray[_ngcontent-%COMP%] {\n margin-right: 10px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.action-buttons[_ngcontent-%COMP%] .btn-success[_ngcontent-%COMP%] {\n width: 200px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.action-buttons[_ngcontent-%COMP%] .right-bottom[_ngcontent-%COMP%] {\n font-size: 0.625rem;\n right: 4px;\n}\n.text-black.btn-success[_ngcontent-%COMP%] {\n color: #4d4d4d !important;\n}\n.main-panel[_ngcontent-%COMP%] nav.fixed-top.offline[_ngcontent-%COMP%], .full_screen[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] > div.row.header.offline[_ngcontent-%COMP%] {\n background: repeating-linear-gradient(-60deg, #f8d7da, #f8d7da 15px, #f5c6cb 15px, #f5c6cb 30px) !important;\n}\n.barcode-input[_ngcontent-%COMP%] {\n width: 305px;\n}\n.barcode-input[_ngcontent-%COMP%] > input[_ngcontent-%COMP%] {\n height: 28px;\n}\n.barcode-input[_ngcontent-%COMP%] autocomplete[_ngcontent-%COMP%] {\n width: 267px;\n}\n.barcode-input[_ngcontent-%COMP%] autocompleteV2[_ngcontent-%COMP%] {\n width: 267px;\n}\n.input-group-text-retrieve[_ngcontent-%COMP%] {\n padding: 9px 0.75rem !important;\n}\n.font-12[_ngcontent-%COMP%] {\n font-size: 12px;\n}\n.btn-gray[_ngcontent-%COMP%] {\n background-color: #f4f4f4;\n border: 1px solid #d6d6d6;\n font-weight: bold;\n color: #545454 !important;\n background: linear-gradient(to bottom, #ffffff 0%, #eeeeee 100%);\n}\n.btn-gray-more[_ngcontent-%COMP%] {\n background-color: #f4f4f4;\n border: 1px solid #d6d6d6;\n background: linear-gradient(to bottom, #ffffff 0%, #eeeeee 100%);\n}\n.cash-btn[_ngcontent-%COMP%] {\n background-color: #f4f4f4;\n border: 1px solid #d6d6d6;\n font-weight: bold;\n margin: 0 0 0 10px;\n padding: 7px 15px;\n height: 18px;\n box-sizing: content-box;\n background: linear-gradient(to bottom, #ffffff 0%, #eeeeee 100%);\n}\n.calc-tbl[_ngcontent-%COMP%] th[_ngcontent-%COMP%] {\n padding: 7px 15px 7px 10px;\n border: 1px solid #ddd;\n border-top: none;\n background-color: #eeeeee;\n}\n.dropdown-menu[_ngcontent-%COMP%] .disabled[_ngcontent-%COMP%] {\n display: none !important;\n}\n.calc-tbl[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n width: 100px;\n text-align: right;\n padding: 7px 5px;\n}\nsection.complete[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n color: #3b5998;\n margin: 20px 0px;\n}\nsection.complete[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] a[_ngcontent-%COMP%] {\n font-size: 0.75rem;\n color: #868686;\n}\nsection.complete[_ngcontent-%COMP%] .complete-action[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] {\n text-align: center;\n height: 150px;\n width: 190px;\n font-family: "Roboto Slab", serif;\n display: flex;\n flex-direction: column !important;\n padding: 0px;\n color: #666666;\n margin-right: 10px;\n}\nsection.complete[_ngcontent-%COMP%] .complete-action[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n display: block;\n font-size: 50px;\n margin-top: 20px;\n}\nsection.complete[_ngcontent-%COMP%] .complete-action[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n margin: 0px;\n margin-top: 10px;\n color: #666666;\n}\nsection.complete[_ngcontent-%COMP%] .complete-action[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]:first-child h4[_ngcontent-%COMP%] {\n color: #3B3B3B;\n}\nsection.complete[_ngcontent-%COMP%] .complete-action[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n font-size: 0.625rem;\n font-style: italic;\n padding: 10px;\n box-sizing: border-box;\n color: #868686;\n border-top: 1px solid #dddddd;\n font-weight: normal;\n margin: 0px;\n}\n.complete-more-action[_ngcontent-%COMP%] {\n margin-top: 10px;\n}\n\n.modal-body[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n font-weight: 400;\n}\n.modal-body[_ngcontent-%COMP%] .actions-tabs[_ngcontent-%COMP%] {\n position: absolute;\n left: 230px;\n top: 15px;\n}\n.modal-header[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 12px;\n font-style: normal;\n}\n.modal-header[_ngcontent-%COMP%] a[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 14px !important;\n}\n.dialogButtonOption[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] {\n padding: 25px 0px;\n width: 190px;\n margin-right: 10px;\n}\n.dialogButtonOption[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n font-weight: 700;\n text-transform: uppercase;\n}\n.dialogButtonOption[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n font-size: 0.75rem;\n font-style: italic;\n color: #868686;\n margin-top: 10px;\n}\n.currency[_ngcontent-%COMP%] {\n top: 13px;\n left: 30px;\n}\n.paymentNote[_ngcontent-%COMP%]::before {\n z-index: 10;\n content: "";\n position: absolute;\n top: 0;\n left: calc(50% - 10px);\n height: 100%;\n width: 10px;\n background-color: inherit;\n border-right: 1px solid lightgray;\n transform: skewX(-10deg);\n}\n#dialogPayment[_ngcontent-%COMP%] .col-auto[_ngcontent-%COMP%], #dialogSubmitOrder[_ngcontent-%COMP%] .col-auto[_ngcontent-%COMP%] {\n padding: 0 4px;\n}\n#dialogPayment[_ngcontent-%COMP%] .col-auto[_ngcontent-%COMP%], #dialogSubmitOrder[_ngcontent-%COMP%] .col-auto[_ngcontent-%COMP%] {\n padding: 0 4px;\n}\n#dialogPayment[_ngcontent-%COMP%] .col-4[_ngcontent-%COMP%], #dialogSubmitOrder[_ngcontent-%COMP%] .col-4[_ngcontent-%COMP%] {\n width: 125px !important;\n padding: 0 4px;\n}\n#dialogPayment[_ngcontent-%COMP%] .col-8[_ngcontent-%COMP%], #dialogSubmitOrder[_ngcontent-%COMP%] .col-8[_ngcontent-%COMP%] {\n width: 250px !important;\n padding: 0 4px;\n}\n#dialogPayment[_ngcontent-%COMP%] .btn-link[_ngcontent-%COMP%], #dialogSubmitOrder[_ngcontent-%COMP%] .btn-link[_ngcontent-%COMP%] {\n padding-top: 0px;\n color: #868686;\n padding-bottom: 8px;\n border-radius: unset;\n font-family: "Roboto Slab", serif;\n}\n#dialogPayment[_ngcontent-%COMP%] .btn-link.selected[_ngcontent-%COMP%], #dialogSubmitOrder[_ngcontent-%COMP%] .btn-link.selected[_ngcontent-%COMP%] {\n color: #3B3B3B;\n border-bottom: 4px solid #07a519;\n}\n#dialogPayment[_ngcontent-%COMP%] .change[_ngcontent-%COMP%], #dialogSubmitOrder[_ngcontent-%COMP%] .change[_ngcontent-%COMP%] {\n position: absolute;\n top: 1px;\n height: 40px;\n background: #89b03e;\n color: #fff;\n right: 16px;\n padding: 0 10px;\n line-height: 40px;\n font-size: 16px;\n}\n#dialogPayment[_ngcontent-%COMP%] .change[_ngcontent-%COMP%]:before, #dialogSubmitOrder[_ngcontent-%COMP%] .change[_ngcontent-%COMP%]:before {\n content: "\\a";\n border-style: solid;\n border-width: 40px 24px 0 0;\n border-color: transparent #89b03e transparent transparent;\n position: absolute;\n left: -24px;\n}\n#dialogPayment[_ngcontent-%COMP%] .change.danger[_ngcontent-%COMP%], #dialogSubmitOrder[_ngcontent-%COMP%] .change.danger[_ngcontent-%COMP%] {\n background: #c9302c;\n}\n#dialogPayment[_ngcontent-%COMP%] .change.danger[_ngcontent-%COMP%]:before, #dialogSubmitOrder[_ngcontent-%COMP%] .change.danger[_ngcontent-%COMP%]:before {\n border-color: transparent #c9302c transparent transparent;\n}\n\n.phone[_ngcontent-%COMP%] div[_ngcontent-%COMP%] {\n height: 50px;\n width: 50px;\n padding-top: 11px;\n background-color: #f5f5f5;\n border: 1px solid gray !important;\n}\n.phone[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n padding-left: 65px !important;\n border: 1px solid gray !important;\n font-size: 25px;\n height: 50px;\n}\n.phone[_ngcontent-%COMP%] .form-control[_ngcontent-%COMP%]:focus {\n border-color: #8bb8df !important;\n}\n.back-button[_ngcontent-%COMP%] {\n left: -18px;\n top: -74px;\n}\n.back-button[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: white;\n}\n.back-button-gopay[_ngcontent-%COMP%] {\n left: -18px;\n top: -50px;\n}\n.back-button-gopay[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: white;\n}\n.logo-gopay[_ngcontent-%COMP%] {\n margin-top: -16px;\n}\n#dialogSubmitOrder[_ngcontent-%COMP%] .btn-link[_ngcontent-%COMP%] {\n padding-top: 0px;\n color: #868686;\n padding-bottom: 8px;\n border-radius: unset;\n font-family: "Roboto Slab", serif;\n}\n#dialogSubmitOrder[_ngcontent-%COMP%] .btn-link.selected[_ngcontent-%COMP%] {\n color: #3B3B3B;\n border-bottom: 4px solid #07a519;\n}\n#dialogSubmitOrder[_ngcontent-%COMP%] .btn-info[_ngcontent-%COMP%] {\n font-size: 0.75rem;\n margin-right: 10px;\n padding: 10px;\n margin-bottom: 10px;\n float: left;\n}\n#dialogSubmitOrder[_ngcontent-%COMP%] .input-label[_ngcontent-%COMP%] {\n position: relative;\n}\n#dialogSubmitOrder[_ngcontent-%COMP%] .input-label[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n position: absolute;\n font-size: 0.875rem;\n color: #868686;\n top: 26px;\n left: 20px;\n}\n#dialogSubmitOrder[_ngcontent-%COMP%] .input-label[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n margin: 0;\n margin-bottom: 8px;\n border: 1px solid #dddddd;\n padding: 7px 5px;\n width: 100%;\n font-size: 36px;\n border-radius: 3px;\n text-align: right;\n background-color: #ffffff;\n outline: none;\n}\n#dialogSubmitOrder[_ngcontent-%COMP%] .pay-info[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n border-bottom: 2px solid #07a519 !important;\n font-size: 0.875rem;\n border: none !important;\n border-bottom: 2px solid #07a519 !important;\n outline: none;\n}\n#dialogSubmitOrder[_ngcontent-%COMP%] .change[_ngcontent-%COMP%] {\n background-color: #cccccc;\n border: 1px solid #dddddd;\n width: 149px;\n padding: 5px 10px 5px 0;\n text-align: right;\n font-size: 1.25rem;\n font-weight: bold;\n float: right;\n}\n.rad-btn[_ngcontent-%COMP%] {\n position: relative;\n display: inline-block;\n}\n.rad-btn[_ngcontent-%COMP%] label[_ngcontent-%COMP%] {\n border: 1px solid #dddddd;\n border-radius: 3px;\n margin-right: 10px;\n cursor: pointer;\n padding: 10px;\n margin-bottom: 10px;\n color: black;\n}\n.rad-btn[_ngcontent-%COMP%] input[type=radio][_ngcontent-%COMP%] {\n visibility: hidden;\n position: absolute;\n left: 0;\n top: 0;\n}\n.rad-btn[_ngcontent-%COMP%] input[type=radio][_ngcontent-%COMP%]:checked + label[_ngcontent-%COMP%] {\n background: #dfeffc;\n border: 1px solid #dfeffc;\n}\n.modal-dialog[_ngcontent-%COMP%] .noteBox[_ngcontent-%COMP%] {\n background-color: #ffffe1;\n border: 1px solid #cacaca;\n padding: 3px;\n display: block;\n outline: 0;\n margin-bottom: 5px;\n font-size: 11px;\n text-decoration: none;\n}\n\n.fullscreen[_ngcontent-%COMP%] {\n position: fixed;\n bottom: 0px;\n right: 0px;\n padding: 10px;\n background-color: #bbbbbb;\n cursor: pointer;\n}\n.fullscreen[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 34px;\n color: white;\n}\n.pos-status[_ngcontent-%COMP%] {\n position: fixed;\n right: 10px;\n top: 10px;\n list-style: none;\n padding: 0px;\n margin: 0px;\n z-index: 1031;\n display: flex;\n align-items: center !important;\n}\n.pos-status[_ngcontent-%COMP%] li[_ngcontent-%COMP%] {\n cursor: pointer;\n margin-right: 10px;\n}\n.pos-status[_ngcontent-%COMP%] li[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] {\n padding: 8px 10px;\n color: #868686;\n}\n.pos-status[_ngcontent-%COMP%] li[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 26px;\n}\n.pos-status[_ngcontent-%COMP%] li[_ngcontent-%COMP%]:first-child i[_ngcontent-%COMP%] {\n font-size: 16px;\n}\n.full_screen[_ngcontent-%COMP%] .pos-status[_ngcontent-%COMP%] {\n left: 10px;\n bottom: 10px;\n top: auto;\n right: auto;\n}\n.full_screen[_ngcontent-%COMP%] .park-action[_ngcontent-%COMP%] {\n left: 0px;\n right: auto !important;\n padding: 0px;\n}\n.full_screen[_ngcontent-%COMP%] nav[_ngcontent-%COMP%], .full_screen[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%] {\n display: none !important;\n}\n.full_screen[_ngcontent-%COMP%] section.cashier[_ngcontent-%COMP%] > div.container-fluid[_ngcontent-%COMP%] {\n padding: 0 !important;\n}\n.full_screen[_ngcontent-%COMP%] section.cashier[_ngcontent-%COMP%] > div.container-fluid[_ngcontent-%COMP%] > div.row.header[_ngcontent-%COMP%], .full_screen[_ngcontent-%COMP%] section.cashier[_ngcontent-%COMP%] > div.container-fluid[_ngcontent-%COMP%] > div.row.body[_ngcontent-%COMP%] {\n justify-content: center;\n}\n.full_screen[_ngcontent-%COMP%] .main-panel[_ngcontent-%COMP%] {\n left: 0px;\n right: 0px;\n top: 0px;\n bottom: 0px;\n width: 100%;\n padding: 0px;\n}\n.full_screen[_ngcontent-%COMP%] #divSideMenu[_ngcontent-%COMP%] {\n display: none;\n}\n#dialogItem[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%] {\n border-top: none;\n border-right: none;\n}\ndiv#dialogDiscount[_ngcontent-%COMP%] .txtPcg[_ngcontent-%COMP%] {\n width: 30px;\n}\n#radOnline[_ngcontent-%COMP%] + label[_ngcontent-%COMP%], #radOffline[_ngcontent-%COMP%] + label[_ngcontent-%COMP%] {\n height: 150px;\n width: 200px;\n white-space: normal;\n margin: 20px 0px 20px 10px;\n padding-top: 12px;\n border: 1px solid #dddddd;\n}\n#radOnline[_ngcontent-%COMP%] + label[_ngcontent-%COMP%] h4[_ngcontent-%COMP%], #radOffline[_ngcontent-%COMP%] + label[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n margin: 5px;\n}\n#radOnline[_ngcontent-%COMP%] + label[_ngcontent-%COMP%] i[_ngcontent-%COMP%], #radOffline[_ngcontent-%COMP%] + label[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 30px;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] a[_ngcontent-%COMP%] strong[_ngcontent-%COMP%] {\n height: 30px;\n border-radius: 4px;\n padding: 5px 10px;\n color: #ffffff;\n background: #b1aaaa;\n}\nul.dialogPicker[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover, ul.dialogPicker[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a.active[_ngcontent-%COMP%] {\n background: #fffed9;\n border: 1px solid #88ae3d;\n}\nul.dialogPicker[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover > strong[_ngcontent-%COMP%], ul.dialogPicker[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a.active[_ngcontent-%COMP%] > strong[_ngcontent-%COMP%] {\n background: #88ae3d;\n}\n#radOnline[_ngcontent-%COMP%]:checked + label[_ngcontent-%COMP%] {\n color: #ffffff;\n background-color: #89b03e;\n}\n#radOffline[_ngcontent-%COMP%]:checked + label[_ngcontent-%COMP%] {\n color: #ffffff;\n background-color: #c9302c;\n}\n.fa-wifi-off[_ngcontent-%COMP%] {\n background-image: url("//res.cloudinary.com/pos/image/upload/v1535431932/POS/Images/Icon/wifi-off.svg");\n height: 30px;\n width: 30px;\n background-size: 30px;\n background-repeat: no-repeat;\n}\n#radOffline[_ngcontent-%COMP%]:checked + label[_ngcontent-%COMP%] .fa-wifi-off[_ngcontent-%COMP%] {\n background-image: url("//res.cloudinary.com/pos/image/upload/POS/Images/Icon/wifi-off-white.svg");\n}\n.fa-coupon[_ngcontent-%COMP%] {\n background-position-y: center;\n background-image: url("//res.cloudinary.com/pos/image/upload/POS/Images/Icon/coupon.svg");\n height: 26px;\n width: 26px;\n background-size: 26px;\n background-repeat: no-repeat;\n}\n.fa-retur[_ngcontent-%COMP%] {\n background-position-y: center;\n background-image: url("//res.cloudinary.com/pos/image/upload/POS/Images/Icon/return.svg");\n height: 26px;\n width: 26px;\n background-size: 26px;\n background-repeat: no-repeat;\n}\n\nul.dialogPicker[_ngcontent-%COMP%] {\n list-style: none;\n margin: 0px;\n padding: 0px;\n display: flex;\n flex-wrap: wrap !important;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] {\n width: 180px;\n min-height: 95px;\n margin-right: 17px;\n margin-bottom: 17px;\n position: relative;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] {\n display: block;\n outline: 0;\n border: 1px solid #b1aaaa;\n border-radius: 5px;\n cursor: pointer;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] h6[_ngcontent-%COMP%] {\n height: 30px;\n border-radius: 4px;\n padding: 5px 10px;\n color: #ffffff;\n background: #b1aaaa;\n overflow: hidden;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] h6[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n margin-right: 5px;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover, ul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.active[_ngcontent-%COMP%], ul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.vacant[_ngcontent-%COMP%] {\n background: #ffffe1;\n border: 1px solid #89b03e;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover > h6[_ngcontent-%COMP%], ul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.active[_ngcontent-%COMP%] > h6[_ngcontent-%COMP%], ul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.vacant[_ngcontent-%COMP%] > h6[_ngcontent-%COMP%] {\n background: #89b03e;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.occupied[_ngcontent-%COMP%], ul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.occupied[_ngcontent-%COMP%]:hover {\n border: 1px solid #c9302c;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.occupied[_ngcontent-%COMP%] > h6[_ngcontent-%COMP%], ul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.occupied[_ngcontent-%COMP%]:hover > h6[_ngcontent-%COMP%] {\n background: #c9302c !important;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.occupied[_ngcontent-%COMP%] span.alias[_ngcontent-%COMP%] {\n background: #c9302c;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.occupied[_ngcontent-%COMP%]:hover {\n background: white;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.preparing[_ngcontent-%COMP%] {\n border: 1px solid #f6a828;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.preparing[_ngcontent-%COMP%] > h6[_ngcontent-%COMP%] {\n background: #f6a828 !important;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.preparing[_ngcontent-%COMP%]:hover {\n border: 1px solid #f6a828;\n background: white;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.preparing[_ngcontent-%COMP%]:hover > strong[_ngcontent-%COMP%] {\n background: #f6a828 !important;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.preparing[_ngcontent-%COMP%] span.alias[_ngcontent-%COMP%] {\n background: #f6a828;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.preparing[_ngcontent-%COMP%] div[_ngcontent-%COMP%] > span[_ngcontent-%COMP%] {\n font-size: 0.75rem !important;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] div[_ngcontent-%COMP%] {\n height: 80px;\n padding: 15px 10px;\n position: relative;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n display: block;\n font-weight: normal;\n font-size: 0.875rem;\n width: 100%;\n margin-bottom: 5px;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:first-child {\n margin-top: -10px;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:last-child {\n margin-bottom: 0px;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span.alias[_ngcontent-%COMP%] {\n text-align: center;\n position: absolute;\n bottom: 0px;\n right: 0px;\n width: auto;\n background-color: #b1aaaa;\n border-radius: 3px;\n padding: 2px 5px;\n color: #ffffff;\n display: none !important;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span.idle[_ngcontent-%COMP%] {\n display: block;\n font-size: 1.25rem;\n text-align: center;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > span[_ngcontent-%COMP%] {\n position: absolute;\n width: 27px;\n height: 28px;\n cursor: pointer;\n top: 5px;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > span[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: black;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]:last-of-type {\n right: -5px;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]:nth-last-of-type(2) {\n right: 15px;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] input[type=checkbox][_ngcontent-%COMP%] {\n bottom: 20px;\n right: 5px;\n position: absolute;\n}\nul.dialogPicker[_ngcontent-%COMP%] .duration[_ngcontent-%COMP%] > span[_ngcontent-%COMP%] {\n border: 1px solid !important;\n position: absolute;\n bottom: -3px;\n left: 58px;\n background: #fff;\n border-radius: 5px;\n}\nul.dialogPickerBig[_ngcontent-%COMP%] li[_ngcontent-%COMP%] {\n width: 140px !important;\n margin-bottom: 17px;\n margin-top: 0px !important;\n min-height: 80px !important;\n}\nul.dialogPickerBig[_ngcontent-%COMP%] li[_ngcontent-%COMP%] a[_ngcontent-%COMP%] div[_ngcontent-%COMP%] {\n height: 50px !important;\n}\n.arrow_box_left[_ngcontent-%COMP%]:after, .arrow_box_left[_ngcontent-%COMP%]:before {\n left: 100% !important;\n}\n.arrow_box_left[_ngcontent-%COMP%]:after {\n border-left-color: #ffffff !important;\n border-right-color: transparent !important;\n}\n.arrow_box_left[_ngcontent-%COMP%]:before {\n border-left-color: #dddddd !important;\n border-right-color: transparent !important;\n}\n.arrow_box_bottom[_ngcontent-%COMP%]:after, .arrow_box_bottom[_ngcontent-%COMP%]:before {\n top: initial;\n left: 40%;\n bottom: 100% !important;\n}\n.arrow_box_bottom[_ngcontent-%COMP%]:after {\n border-bottom-color: #ffffff !important;\n border-right-color: transparent !important;\n margin-left: -6px;\n}\n.arrow_box_bottom[_ngcontent-%COMP%]:before {\n border-bottom-color: #dddddd !important;\n border-right-color: transparent !important;\n margin-left: -9px;\n}\ndiv.price_calculator[_ngcontent-%COMP%] {\n left: -260px;\n top: 46px;\n width: 250px;\n height: 138px;\n padding: 12px 0px 3px 8px;\n border-radius: 3px;\n position: absolute !important;\n}\ndiv.price_calculator[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n border: 0px !important;\n border-bottom: 1px solid #dddddd !important;\n background-color: transparent !important;\n padding: 8px 5px 5px 5px !important;\n width: 60px !important;\n}\n.tooltip-component[_ngcontent-%COMP%] {\n position: relative;\n}\n.tooltip-component[_ngcontent-%COMP%]:hover > div.toolTip[_ngcontent-%COMP%] {\n display: block;\n}\n.tooltip-component[_ngcontent-%COMP%] div.toolTip[_ngcontent-%COMP%] {\n background: #ffffe1;\n border: 1px solid #dddddd;\n position: absolute;\n top: 110%;\n left: 0%;\n padding: 10px;\n display: none;\n text-align: center;\n min-height: 15px;\n margin-top: 0.1rem;\n}\n.tooltip-component[_ngcontent-%COMP%] div.toolTip.green[_ngcontent-%COMP%] {\n background: #caed9e;\n border: 4px solid #90d93f;\n}\n.tooltip-component[_ngcontent-%COMP%] div.toolTip[_ngcontent-%COMP%]:after, .tooltip-component[_ngcontent-%COMP%] div.toolTip[_ngcontent-%COMP%]:before {\n content: "";\n position: absolute;\n top: 0;\n left: 50%;\n width: 0;\n height: 0;\n border: 5px solid transparent;\n}\n.tooltip-component[_ngcontent-%COMP%] div.toolTip[_ngcontent-%COMP%]::after {\n border-bottom-color: #ffffe1;\n border-top: 0;\n margin-left: -5px;\n margin-top: -5px;\n}\n.tooltip-component[_ngcontent-%COMP%] div.toolTip[_ngcontent-%COMP%]::before {\n border-bottom-color: #dddddd;\n border-top: 0;\n margin-left: -5px;\n margin-top: -6px;\n}\n.tooltip-component[_ngcontent-%COMP%] div.toolTip[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n margin: 0px;\n white-space: nowrap;\n color: #89b03e;\n text-shadow: 0px 1px 0px White;\n}\n.offline[_ngcontent-%COMP%] .modal-header[_ngcontent-%COMP%] {\n background-color: #c9302c !important;\n}\n.warning[_ngcontent-%COMP%] .modal-header[_ngcontent-%COMP%] {\n background-color: #f6a828 !important;\n}\n#dialogPromo[_ngcontent-%COMP%] table[_ngcontent-%COMP%] {\n min-width: 400px;\n}\n#dialogPromo[_ngcontent-%COMP%] table.table-hover[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:hover {\n background-color: #89b03e;\n color: white;\n}\nfade-in[_ngcontent-%COMP%] {\n opacity: 1;\n \n transition: opacity 2s;\n}\n.fade-out[_ngcontent-%COMP%] {\n opacity: 0;\n \n transition: opacity 2s;\n z-index: 1;\n}\n.later-payment[_ngcontent-%COMP%] strong[_ngcontent-%COMP%] {\n font-size: 20px;\n}\n.later-payment[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n font-size: 20px;\n padding: 20px 10px !important;\n}\n.change-box[_ngcontent-%COMP%] {\n top: initial;\n height: auto;\n align-self: center;\n}\n.e-money[_ngcontent-%COMP%] {\n height: 65px;\n}\n@media only screen and (max-width: 1280px) {\n input[placeholder=Customer][_ngcontent-%COMP%] {\n width: 135px;\n }\n\n span.select2.select2-container[_ngcontent-%COMP%] {\n width: 135px !important;\n }\n}\n@media only screen and (max-width: 1215px) {\n input[placeholder=Customer][_ngcontent-%COMP%] {\n width: 120px;\n }\n\n span.select2.select2-container[_ngcontent-%COMP%] {\n width: 120px !important;\n }\n}\n@media only screen and (max-width: 1185px) {\n input[placeholder=Customer][_ngcontent-%COMP%] {\n width: 140px;\n }\n\n span.select2.select2-container[_ngcontent-%COMP%] {\n width: 140px !important;\n }\n}\n@media only screen and (max-width: 992px) {\n .pos-status[_ngcontent-%COMP%] {\n bottom: 10px;\n left: 10px;\n top: auto;\n }\n}\n.simple-keyboard[_ngcontent-%COMP%] {\n width: 20vw;\n position: absolute;\n left: 77%;\n top: 30%;\n z-index: 1200;\n}\n .hg-theme-default .hg-button {\n height: 70px !important;\n font-size: 16px !important;\n}\n .hg-button-bksp {\n width: 21px;\n}\n .hg-button[data-skbtn="{enter}"] {\n width: 90px;\n}\n.cashier[_ngcontent-%COMP%] {\n max-width: 37rem;\n}']}),o})();var ec=m(4762);class zt{}class $t{}function oc(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",3),n.TgZ(1,"strong",4),n._uU(2,"Name"),n.qZA(),n.TgZ(3,"input",5),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw().form.ParkLabel=i}),n.qZA(),n.qZA()}if(2&o){const t=n.oxw();n.xp6(3),n.s9C("placeholder",t.labelPlaceholder||"Girl in blue dress"),n.Q6J("ngModel",t.form.ParkLabel)}}function ic(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",3),n.TgZ(1,"strong",4),n._uU(2,"Person"),n.qZA(),n.TgZ(3,"input",6),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw().form.NumberOfPerson=i}),n.qZA(),n.qZA()}if(2&o){const t=n.oxw();n.xp6(3),n.Q6J("ngModel",t.form.NumberOfPerson)}}function rc(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",3),n.TgZ(1,"strong",4),n._uU(2,"Deposit"),n.qZA(),n.TgZ(3,"input",7),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw().form.Deposit=i}),n.qZA(),n.TgZ(4,"div",8),n.TgZ(5,"ng-select",9),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw().form.DepositPaymentMethodID=i}),n.qZA(),n.qZA(),n.qZA()}if(2&o){const t=n.oxw();n.xp6(3),n.Q6J("ngModel",t.form.Deposit),n.xp6(2),n.Q6J("items",t.listPayment)("ngModel",t.form.DepositPaymentMethodID)}}function ac(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",3),n.TgZ(1,"strong",10),n._uU(2,"Notes"),n.qZA(),n.TgZ(3,"textarea",11),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw().form.Note=i}),n.qZA(),n.qZA()}if(2&o){const t=n.oxw();n.xp6(3),n.Q6J("ngModel",t.form.Note)}}let Gt=(()=>{class o{constructor(t,e,i){this.dialogRef=t,this._orderProcessorService=e,this.data=i,this.modalConfig=new T.O,this.form=new $t,this.initModalDialog(),this.title=i.title,this.labelDisable=i.labelDisable,this.labelPlaceholder=i.labelPlaceholder,this.depositEnabled=i.depositEnabled,this.listPayment=i.listPayment,this.numberOfPersonEnabled=i.numberOfPersonEnabled,this.noteEnabled=i.noteEnabled,this.form.ParkLabel=i.ParkLabel,this.form.Deposit=i.deposit,this.form.DepositPaymentMethodID=this.listPayment[0].ID,this.form.Note=i.note,this.form.NumberOfPerson=0}initModalDialog(){this.modalConfig.title=this.data.title,this.modalConfig.customWidth="800px",this.modalConfig.customWidth="400px"}onOk(){null==this.form.NumberOfPerson&&this.numberOfPersonEnabled&&(this.form.NumberOfPerson=0),this.form.NumberOfPerson=this.form.NumberOfPerson,this.dialogRef.close(!0),this._orderProcessorService.submitParkToServer(this.form)}}return o.\u0275fac=function(t){return new(t||o)(n.Y36(P.so),n.Y36(R),n.Y36(P.WI))},o.\u0275cmp=n.Xpm({type:o,selectors:[["POS-modal-park-input"]],decls:7,vars:5,consts:[[3,"config","onCancel","onOk","onClose"],[2,"width","330px"],["class","form-group row d-flex align-items-center no-gutters",4,"ngIf"],[1,"form-group","row","d-flex","align-items-center","no-gutters"],[1,"col-3","mb-2"],[1,"form-control","col-9","pl-2","height-input",3,"ngModel","placeholder","ngModelChange"],["autoNum","",1,"form-control","col-9","pl-2","height-input",3,"ngModel","ngModelChange"],["autoNum","","placeholder","Deposit",1,"form-control","col-4","pl-2","height-input",3,"ngModel","ngModelChange"],[1,"col-5","pl-4","deposit"],["bindLabel","Name","bindValue","ID","placeholder","Payment","appendTo","body",1,"park-detail",2,"width","180px",3,"items","ngModel","ngModelChange"],[1,"col-3","mb-3"],["placeholder","Want to return after exchange size",1,"form-control","col-9","pl-2",3,"ngModel","ngModelChange"]],template:function(t,e){1&t&&(n.TgZ(0,"modal-material",0),n.NdJ("onCancel",function(){return e.dialogRef.close()})("onOk",function(){return e.onOk()})("onClose",function(){return e.dialogRef.close()}),n.TgZ(1,"content"),n.TgZ(2,"div",1),n.YNc(3,oc,4,2,"div",2),n.YNc(4,ic,4,1,"div",2),n.YNc(5,rc,6,3,"div",2),n.YNc(6,ac,4,1,"div",2),n.qZA(),n.qZA(),n.qZA()),2&t&&(n.Q6J("config",e.modalConfig),n.xp6(3),n.Q6J("ngIf",!e.labelDisable),n.xp6(1),n.Q6J("ngIf",e.numberOfPersonEnabled),n.xp6(1),n.Q6J("ngIf",e.depositEnabled),n.xp6(1),n.Q6J("ngIf",e.noteEnabled))},directives:[y.M,_.O5,h.Fj,h.JJ,h.On,cn.b,X.w9],styles:[".height-input[_ngcontent-%COMP%] {\n height: 36px;\n}\n\n ng-select.park-detail > div.ng-select-container {\n border-radius: 0px !important;\n}"]}),o})();function cc(o,a){if(1&o&&(n.TgZ(0,"span"),n._uU(1),n.ALo(2,"limitTo"),n.qZA()),2&o){const t=n.oxw().$implicit,e=n.oxw(2);n.xp6(1),n.Oqu(e.parkLayoutPack.Layout.length<5?t.Name:n.xi3(2,1,t.Name,5))}}function sc(o,a){if(1&o&&n._UZ(0,"span",23),2&o){const t=n.oxw().$implicit;n.Q6J("innerHtml",t.Alias,n.oJD)}}const lc=function(o,a){return{"text-danger":o,"text-success":a}};function dc(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",14),n.TgZ(1,"div",15),n.NdJ("click",function(){const r=n.CHM(t).$implicit;return n.oxw(3).onSelect(r)}),n.TgZ(2,"div",16),n.TgZ(3,"h6",17),n._UZ(4,"i",18),n._uU(5),n.ALo(6,"limitTo"),n.qZA(),n.TgZ(7,"div",19),n.TgZ(8,"span",20),n._UZ(9,"i",21),n.qZA(),n.YNc(10,sc,1,1,"span",22),n.qZA(),n.qZA(),n.qZA(),n.qZA()}if(2&o){const t=a.$implicit,e=n.oxw(3);n.xp6(1),n.Q6J("title",t.Name),n.xp6(1),n.Q6J("ngClass",e.getStatus(t.Name)+" md hydrated"),n.xp6(3),n.hij(" ",n.xi3(6,5,e.replaceWithAlias&&t.Alias?t.Alias:t.Name,15)," "),n.xp6(3),n.Q6J("ngClass",n.WLB(8,lc,"OCCUPIED"==e.getNote(t.Name),"OCCUPIED"!=e.getNote(t.Name))),n.xp6(2),n.Q6J("ngIf",t.Alias&&!e.replaceWithAlias)}}function pc(o,a){if(1&o&&(n.TgZ(0,"mat-tab"),n.YNc(1,cc,3,4,"ng-template",10),n.TgZ(2,"div",11),n.TgZ(3,"div",12),n.YNc(4,dc,11,11,"div",13),n.ALo(5,"Filter"),n.qZA(),n.qZA(),n.qZA()),2&o){const t=a.$implicit,e=n.oxw(2);n.xp6(4),n.Q6J("ngForOf",n.Dn7(5,1,t.Options,e.filter,"Name"))}}function gc(o,a){if(1&o&&(n.TgZ(0,"mat-tab-group",8),n.YNc(1,pc,6,5,"mat-tab",9),n.qZA()),2&o){const t=n.oxw();n.xp6(1),n.Q6J("ngForOf",t.parkLayoutPack.Layout)}}let jt=(()=>{class o{constructor(t,e,i,r,c,l,d,s,p){this._dialogRef=t,this.data=e,this._orderHttpService=i,this._orderDataService=r,this._localData=c,this._posService=l,this._orderProcessorService=d,this._dialog=s,this._toastr=p,this.modalConfig=new T.O,this.payments=[],this.parkLayoutPack=e.parkLayoutPack,this.qty=e.qty,this.replaceWithAlias=e.replaceWithAlias,this.entityId=e.entityId,this.occupied=e.occupied,this.totalOption=0,this.appConfigJson=this._posService.Data.AppConfigJSON,this.salesOrderData=this._orderDataService.Data,this.payments=this._posService.Data.Payments,this.parkLayoutPack.Layout.forEach(f=>{this.totalOption+=f.Size,f.Options=[];for(let M=1;M<=f.Size;M++){const b=new zt;b.Name=f.Name+M,b.Alias=this.GetAlias(b.Name),f.Options.push(b)}})}ngOnInit(){this.initModalConfig()}initModalConfig(){this.modalConfig.title=this.data.title,this.modalConfig.customWidth="850px",this.modalConfig.hideFooter=!0,this.modalConfig.bodyScrollable=!0}GetAlias(t){if(this.parkLayoutPack.Alias){const e=this.parkLayoutPack.Alias.filter(i=>i.Name==t);if(e.length>0)return e[0].Alias}return""}onSelect(t){"vacant"==this.getStatus(t.Name)?this.submitToServer(t.Name):this._toastr.warning("Park Not Available","Warning!")}submitToServer(t){if(this.appConfigJson.ApplicationParkAndRetrieve.NumberOfPerson||this.appConfigJson.ApplicationParkAndRetrieve.ParkLayoutTemplate.EnableNotes||this.appConfigJson.ApplicationParkAndRetrieve.Deposit.Enabled)this.openParkFormModal(t);else{let e=new $t;e.ParkLabel=t,this._dialogRef.close(!0),this._orderProcessorService.submitParkToServer(e)}}openParkFormModal(t){this._dialog.open(Gt,{data:{title:t,labelDisable:g.gT.IsNotEmpty(this.parkLayoutPack.ID)||this._orderProcessorService.Data.posState==O.IsSplit,labelPlaceholder:this.appConfigJson.ApplicationParkAndRetrieve.UserInterfaceLabel.ParkLabelPlaceholder,depositEnabled:this.appConfigJson.ApplicationParkAndRetrieve.Deposit.Enabled,listPayment:this.payments,ParkLabel:t||this.salesOrderData.Order.ParkLabel,deposit:this.appConfigJson.ApplicationParkAndRetrieve.Deposit.DefaultAmount,note:this.salesOrderData.Order.Note,noteEnabled:this.appConfigJson.ApplicationParkAndRetrieve.ParkLayoutTemplate.EnableNotes,numberOfPerson:this.salesOrderData.Order.NumberOfPerson,depositPaymentMethodID:this.salesOrderData.Order.DepositPaymentMethodID,numberOfPersonEnabled:this.appConfigJson.ApplicationParkAndRetrieve.NumberOfPerson},id:"park-form-modal"}).afterClosed().subscribe(e=>{e&&this._dialogRef.close(!0)})}getNote(t){const e=this.getStatus(t);return"preparing"==e?this.houseKeeping.filter(r=>r.Option==t)[0].Notes:e.toUpperCase()}getStatus(t){return this.occupied&&this.occupied.filter(i=>i.ParkLabel==t).length>0?"occupied":this.houseKeeping&&this.houseKeeping.filter(i=>i.Option==t).length>0?"preparing":"vacant"}}return o.\u0275fac=function(t){return new(t||o)(n.Y36(P.so),n.Y36(P.WI),n.Y36(z.D),n.Y36(S),n.Y36(W.T),n.Y36(D),n.Y36(R),n.Y36(P.uw),n.Y36(Z._W))},o.\u0275cmp=n.Xpm({type:o,selectors:[["POS-modal-park-select"]],decls:9,vars:3,consts:[[3,"config","onClose","onCancel"],[1,"park"],[1,"input-group","margin-bottom-sm","form-group","d-inline-flex",2,"width","200px"],[1,"input-group-prepend"],[1,"input-group-text-retrieve","border","d-flex","align-items-center","px-4"],["aria-hidden","true",1,"fa","fa-search"],["type","text","placeholder","Filter by name",1,"border",3,"ngModel","ngModelChange"],["class","test",4,"ngIf"],[1,"test"],[4,"ngFor","ngForOf"],["mat-tab-label","","class","test"],[1,"container","px-0"],[1,"row","dialogPicker"],["class","col-auto px-0",4,"ngFor","ngForOf"],[1,"col-auto","px-0"],[1,"card","mb-0",3,"title","click"],[1,"card-body","p-0",3,"ngClass"],[1,"card-title","mb-0","p-5","text-white","rounded"],["aria-hidden","true",1,"fa","fa-info-circle","pr-3"],[1,"card-text","text-center"],[1,"pt-4",3,"ngClass"],[1,"fas","fa-chair"],["class","alias",3,"innerHtml",4,"ngIf"],[1,"alias",3,"innerHtml"]],template:function(t,e){1&t&&(n.TgZ(0,"modal-material",0),n.NdJ("onClose",function(){return e._dialogRef.close()})("onCancel",function(){return e._dialogRef.close()}),n.TgZ(1,"content",1),n.TgZ(2,"div"),n.TgZ(3,"div",2),n.TgZ(4,"div",3),n.TgZ(5,"span",4),n._UZ(6,"i",5),n.qZA(),n.qZA(),n.TgZ(7,"input",6),n.NdJ("ngModelChange",function(r){return e.filter=r}),n.qZA(),n.qZA(),n.YNc(8,gc,2,1,"mat-tab-group",7),n.qZA(),n.qZA(),n.qZA()),2&t&&(n.Q6J("config",e.modalConfig),n.xp6(7),n.Q6J("ngModel",e.filter),n.xp6(1),n.Q6J("ngIf",e.parkLayoutPack.Layout))},directives:[y.M,h.Fj,h.JJ,h.On,_.O5,B.SP,_.sg,B.uX,B.uD,_.mk],pipes:[J.wn,J.OI],styles:[".dialogPicker[_ngcontent-%COMP%] {\n list-style: none;\n margin: 0px;\n padding: 0px;\n display: flex;\n flex-wrap: wrap !important;\n}\n.dialogPicker[_ngcontent-%COMP%] div.col-auto[_ngcontent-%COMP%] {\n min-height: 95px;\n margin-bottom: 17px;\n width: 140px;\n margin-right: 17px;\n}\n.dialogPicker[_ngcontent-%COMP%] div.col-auto[_ngcontent-%COMP%] div.card-body[_ngcontent-%COMP%] {\n display: block;\n outline: 0;\n border: 1px solid #B1AAAA;\n border-radius: 5px;\n cursor: pointer;\n}\n.dialogPicker[_ngcontent-%COMP%] div.col-auto[_ngcontent-%COMP%] div.card-body[_ngcontent-%COMP%]:hover, .dialogPicker[_ngcontent-%COMP%] div.col-auto[_ngcontent-%COMP%] div.card-body.active[_ngcontent-%COMP%], .dialogPicker[_ngcontent-%COMP%] div.col-auto[_ngcontent-%COMP%] div.card-body.vacant[_ngcontent-%COMP%] {\n background: #ffffe1;\n border: 1px solid #89b03e;\n}\n.dialogPicker[_ngcontent-%COMP%] div.col-auto[_ngcontent-%COMP%] div.card-body[_ngcontent-%COMP%]:hover > h6[_ngcontent-%COMP%], .dialogPicker[_ngcontent-%COMP%] div.col-auto[_ngcontent-%COMP%] div.card-body.active[_ngcontent-%COMP%] > h6[_ngcontent-%COMP%], .dialogPicker[_ngcontent-%COMP%] div.col-auto[_ngcontent-%COMP%] div.card-body.vacant[_ngcontent-%COMP%] > h6[_ngcontent-%COMP%] {\n background: #89b03e;\n}\n.dialogPicker[_ngcontent-%COMP%] div.col-auto[_ngcontent-%COMP%] div.card-body.occupied[_ngcontent-%COMP%], .dialogPicker[_ngcontent-%COMP%] div.col-auto[_ngcontent-%COMP%] div.card-body.occupied[_ngcontent-%COMP%]:hover {\n border: 1px solid #c9302c;\n}\n.dialogPicker[_ngcontent-%COMP%] div.col-auto[_ngcontent-%COMP%] div.card-body.occupied[_ngcontent-%COMP%] > h6[_ngcontent-%COMP%], .dialogPicker[_ngcontent-%COMP%] div.col-auto[_ngcontent-%COMP%] div.card-body.occupied[_ngcontent-%COMP%]:hover > h6[_ngcontent-%COMP%] {\n background: #c9302c !important;\n}\n.dialogPicker[_ngcontent-%COMP%] div.col-auto[_ngcontent-%COMP%] div.card-body.occupied[_ngcontent-%COMP%] span.alias[_ngcontent-%COMP%] {\n background: #c9302c;\n}\n.dialogPicker[_ngcontent-%COMP%] div.col-auto[_ngcontent-%COMP%] div.card-body.occupied[_ngcontent-%COMP%]:hover {\n background: white;\n}\n.dialogPicker[_ngcontent-%COMP%] div.col-auto[_ngcontent-%COMP%] div.card-body.preparing[_ngcontent-%COMP%] {\n border: 1px solid #f6a828;\n}\n.dialogPicker[_ngcontent-%COMP%] div.col-auto[_ngcontent-%COMP%] div.card-body.preparing[_ngcontent-%COMP%] > h6[_ngcontent-%COMP%] {\n background: #f6a828 !important;\n}\n.dialogPicker[_ngcontent-%COMP%] div.col-auto[_ngcontent-%COMP%] div.card-body.preparing[_ngcontent-%COMP%]:hover {\n border: 1px solid #f6a828;\n background: white;\n}\n.dialogPicker[_ngcontent-%COMP%] div.col-auto[_ngcontent-%COMP%] div.card-body.preparing[_ngcontent-%COMP%]:hover > strong[_ngcontent-%COMP%] {\n background: #f6a828 !important;\n}\n.dialogPicker[_ngcontent-%COMP%] div.col-auto[_ngcontent-%COMP%] div.card-body.preparing[_ngcontent-%COMP%] span.alias[_ngcontent-%COMP%] {\n background: #f6a828;\n}\n.dialogPicker[_ngcontent-%COMP%] div.col-auto[_ngcontent-%COMP%] div.card-body.preparing[_ngcontent-%COMP%] div[_ngcontent-%COMP%] > span[_ngcontent-%COMP%] {\n font-size: 0.75rem !important;\n}\n.dialogPicker[_ngcontent-%COMP%] div.col-auto[_ngcontent-%COMP%] div.card-body[_ngcontent-%COMP%] .card-text[_ngcontent-%COMP%] i.fa-chair[_ngcontent-%COMP%] {\n font-size: 2.5rem;\n}\n.dialogPicker[_ngcontent-%COMP%] div.col-auto[_ngcontent-%COMP%] div.card-body[_ngcontent-%COMP%] div[_ngcontent-%COMP%] {\n height: 55px;\n padding: 10px;\n position: relative;\n}\n.dialogPicker[_ngcontent-%COMP%] div.col-auto[_ngcontent-%COMP%] div.card-body[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n display: block;\n font-weight: normal;\n font-size: 0.875rem;\n width: 100%;\n margin-bottom: 5px;\n font-size: 20px;\n}\n.dialogPicker[_ngcontent-%COMP%] div.col-auto[_ngcontent-%COMP%] div.card-body[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:first-child {\n margin-top: -10px;\n}\n.dialogPicker[_ngcontent-%COMP%] div.col-auto[_ngcontent-%COMP%] div.card-body[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:last-child {\n margin-bottom: 0px;\n}\n.dialogPicker[_ngcontent-%COMP%] div.col-auto[_ngcontent-%COMP%] div.card-body[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span.alias[_ngcontent-%COMP%] {\n text-align: center;\n position: absolute;\n bottom: 0px;\n right: 0px;\n width: auto;\n background-color: #B1AAAA;\n border-radius: 3px;\n padding: 2px 5px;\n color: #ffffff;\n display: none !important;\n}\n.dialogPicker[_ngcontent-%COMP%] div.col-auto[_ngcontent-%COMP%] div.card-body[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span.idle[_ngcontent-%COMP%] {\n display: block;\n font-size: 1.25rem;\n text-align: center;\n}\n.dialogPicker[_ngcontent-%COMP%] div.col-auto[_ngcontent-%COMP%] > span[_ngcontent-%COMP%] {\n position: absolute;\n width: 27px;\n height: 28px;\n cursor: pointer;\n top: 5px;\n}\n.dialogPicker[_ngcontent-%COMP%] div.col-auto[_ngcontent-%COMP%] > span[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: black;\n}\n.dialogPicker[_ngcontent-%COMP%] div.col-auto[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]:last-of-type {\n right: -5px;\n}\n.dialogPicker[_ngcontent-%COMP%] div.col-auto[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]:nth-last-of-type(2) {\n right: 15px;\n}\n.dialogPicker[_ngcontent-%COMP%] div.col-auto[_ngcontent-%COMP%] input[type=checkbox][_ngcontent-%COMP%] {\n bottom: 20px;\n right: 5px;\n position: absolute;\n}\n.dialogPicker[_ngcontent-%COMP%] .duration[_ngcontent-%COMP%] > span[_ngcontent-%COMP%] {\n border: 1px solid !important;\n position: absolute;\n bottom: -3px;\n left: 58px;\n background: #fff;\n border-radius: 5px;\n}\nmat-tab-group[_ngcontent-%COMP%] {\n position: relative;\n top: -55px;\n}\nmat-tab-group[_ngcontent-%COMP%] .mat-tab-header {\n width: 768px;\n}\nmat-tab-group[_ngcontent-%COMP%] .mat-tab-label-container {\n max-width: calc(100% - 196px);\n position: relative;\n left: 195px;\n}\nmat-tab-group[_ngcontent-%COMP%] .mat-tab-label {\n min-width: 80px;\n padding: 0 12px;\n}"]}),o})(),uc=(()=>{class o{constructor(t,e,i,r,c,l,d,s){this.dialogRef=t,this.parkOrderRetrieve=e,this._orderDataService=i,this._posHttpResponseService=r,this._orderProcessorService=c,this._orderHttpService=l,this._dialog=d,this._outletRegisterService=s,this.modalConfig=new T.O,this.salesOrderData=this._orderDataService.Data,this.appConfig=this._posHttpResponseService.Data.AppConfigJSON,this.parkLayoutPack=this._outletRegisterService.Data.ParkLayoutPack}ngOnInit(){this.modalConfig.title="Re-Park Order?",this.modalConfig.hideFooter=!0}onRepark(){this.dialogRef.close(),this._orderProcessorService.submitParkToServer(this.parkOrderRetrieve)}onMove(){this.dialogRef.close(),this.showParkSelectModal()}showParkSelectModal(){this._orderHttpService.getVacant(this.salesOrderData.Order.EntityID).subscribe(t=>{this._dialog.open(jt,{data:{title:this.title,parkLayoutPack:this.parkLayoutPack,qty:this.salesOrderData.TotalQuantity,entityId:this.salesOrderData.Order.EntityID,occupied:t.Orders,replaceWithAlias:this.appConfig.ApplicationParkAndRetrieve.ParkLayoutTemplate.EnableAlias}})})}get title(){return this._orderProcessorService.Data.posState==O.IsSplit?"Split Order":this.appConfig.ApplicationParkAndRetrieve.UserInterfaceLabel.ParkDialogTitle}}return o.\u0275fac=function(t){return new(t||o)(n.Y36(P.so),n.Y36(P.WI),n.Y36(S),n.Y36(D),n.Y36(R),n.Y36(z.D),n.Y36(P.uw),n.Y36(F))},o.\u0275cmp=n.Xpm({type:o,selectors:[["POS-modal-repark"]],decls:13,vars:3,consts:[[3,"title","hideFooter","config","onClose","onCancel"],[1,"d-flex"],[1,"btn","btn-gray","btn-lg",3,"click"]],template:function(t,e){1&t&&(n.TgZ(0,"modal-material",0),n.NdJ("onClose",function(){return e.dialogRef.close()})("onCancel",function(){return e.dialogRef.close()}),n.TgZ(1,"content"),n.TgZ(2,"div",1),n.TgZ(3,"a",2),n.NdJ("click",function(){return e.onRepark()}),n.TgZ(4,"h4"),n._uU(5,"Re-Park"),n.qZA(),n.TgZ(6,"span"),n._uU(7,"Store order to same location"),n.qZA(),n.qZA(),n.TgZ(8,"a",2),n.NdJ("click",function(){return e.onMove()}),n.TgZ(9,"h4"),n._uU(10,"Move"),n.qZA(),n.TgZ(11,"span"),n._uU(12,"Shift order to Different location"),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.qZA()),2&t&&n.Q6J("title","Re-Park Order?")("hideFooter",!0)("config",e.modalConfig)},directives:[y.M],styles:[".btn-gray[_ngcontent-%COMP%] {\n background-color: #f4f4f4;\n border: 1px solid #D6D6D6;\n font-weight: bold;\n color: #545454 !important;\n background: linear-gradient(to bottom, #ffffff 0%, #eeeeee 100%);\n}\n.btn[_ngcontent-%COMP%] {\n padding: 25px 0px;\n width: 190px;\n margin-right: 10px;\n}\n.btn[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n font-weight: 700;\n text-transform: uppercase;\n}\n.btn[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n font-size: 0.75rem;\n font-style: italic;\n color: #868686;\n margin-top: 10px;\n}"]}),o})(),Wt=(()=>{class o{constructor(t){this.httpService=t}getParkedOrder(t,e){return this.httpService.post(g.Wz.GetPark,{EntityID:t,RegisterID:e})}removeOrder(t,e){return this.httpService.post(e?g.Wz.VoidPark:g.Wz.RemovePark,{OrderID:t})}mergePark(t){return this.httpService.post(g.Wz.MergePark,t)}getOutstanding(t){return this.httpService.post(g.Wz.GetOutStanding,{EntityID:t})}}return o.\u0275fac=function(t){return new(t||o)(n.LFG(rn.O))},o.\u0275prov=n.Yz7({token:o,factory:o.\u0275fac,providedIn:"root"}),o})();function _c(o,a){if(1&o&&(n.TgZ(0,"span",10),n._uU(1),n.qZA()),2&o){const t=a.$implicit;n.Q6J("hidden",0==a.index),n.xp6(1),n.Oqu(t.ParkLabel)}}function hc(o,a){if(1&o&&(n.TgZ(0,"div",7),n.YNc(1,_c,2,2,"span",8),n._uU(2," Merge To "),n.TgZ(3,"span",9),n._uU(4),n.qZA(),n.qZA()),2&o){const t=n.oxw();n.xp6(1),n.Q6J("ngForOf",t.listMerge),n.xp6(3),n.hij(" ",t.listMerge[0].ParkLabel,"")}}const mc=function(o){return{width:o}};function fc(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",11),n.TgZ(1,"div",12),n.TgZ(2,"span",13),n._UZ(3,"i",14),n.qZA(),n.qZA(),n.TgZ(4,"input",15),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw().filter=i}),n.qZA(),n.qZA()}if(2&o){const t=n.oxw();n.Akn(n.VKq(3,mc,1==t.retreiveMode?" 13.75rem":" 23.75rem")),n.xp6(4),n.Q6J("ngModel",t.filter)}}function Cc(o,a){if(1&o&&(n.TgZ(0,"span"),n._uU(1),n.ALo(2,"limitTo"),n.qZA()),2&o){const t=n.oxw().$implicit,e=n.oxw(3);n.xp6(1),n.Oqu(e.parkedOrders.length<5?t.Name:n.xi3(2,1,t.Name,5))}}function Pc(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"span",47),n.NdJ("click",function(i){n.CHM(t);const r=n.oxw().$implicit;return n.oxw(5).remove(r),i.stopPropagation()}),n._UZ(1,"i",48),n.qZA()}}const Kt=function(){return["print/SalesOrder"]},Xt=function(o,a){return{ID:o,Template:a}};function Oc(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",24),n.TgZ(1,"div",25),n.TgZ(2,"div",26),n.NdJ("click",function(){const r=n.CHM(t).$implicit;return n.oxw(5).onOrderClicked(r)}),n.TgZ(3,"h5",27),n._UZ(4,"i",28),n.TgZ(5,"div",29),n._uU(6),n.qZA(),n.TgZ(7,"span",30),n.TgZ(8,"span",31),n.TgZ(9,"a",32),n.NdJ("click",function(i){return i.stopPropagation()}),n._UZ(10,"i",33),n.qZA(),n.qZA(),n.YNc(11,Pc,2,0,"span",34),n.qZA(),n.qZA(),n.TgZ(12,"div",35),n.TgZ(13,"div"),n.TgZ(14,"div",36),n._UZ(15,"i",37),n._uU(16),n.ALo(17,"date"),n.qZA(),n.TgZ(18,"div",38),n._UZ(19,"i",39),n._uU(20),n.qZA(),n.TgZ(21,"div",40),n._UZ(22,"i",41),n._uU(23),n.qZA(),n.TgZ(24,"div",42),n._uU(25),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.TgZ(26,"div",43),n.TgZ(27,"input",44),n.NdJ("ngModelChange",function(i){return n.CHM(t).$implicit.selected=i})("change",function(){const r=n.CHM(t).$implicit;return n.oxw(5).chooseMerge(r)}),n.qZA(),n.TgZ(28,"div",45),n.TgZ(29,"span",46),n._uU(30),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.qZA()}if(2&o){const t=a.$implicit,e=n.oxw(5);n.xp6(6),n.hij(" ",e.replaceAlias&&t.Alias?t.Alias:t.ParkLabel," "),n.xp6(3),n.Q6J("routerLink",n.DdM(14,Kt))("queryParams",n.WLB(15,Xt,t.ID,e.templateID)),n.xp6(2),n.Q6J("ngIf",!e.AuthorizeParkOrderDeletion),n.xp6(5),n.hij(" ",n.xi3(17,11,t.Created,"dd-MMM hh:mm")," "),n.xp6(4),n.hij(" ",t.Number," "),n.xp6(3),n.hij(" ",t.CustomerDisplay," "),n.xp6(1),n.Q6J("hidden",e.replaceAlias),n.xp6(1),n.hij(" ",t.alias," "),n.xp6(2),n.Q6J("ngModel",t.selected),n.xp6(3),n.hij(" ",t.Duration," min ")}}const ne=function(){return["ParkLabel","Number"]};function Mc(o,a){if(1&o&&(n.TgZ(0,"div",21),n.TgZ(1,"div",22),n.YNc(2,Oc,31,18,"div",23),n.ALo(3,"FilterByArray"),n.qZA(),n.qZA()),2&o){const t=n.oxw().$implicit,e=n.oxw(3);n.xp6(2),n.Q6J("ngForOf",n.Dn7(3,1,t.List,n.DdM(5,ne),e.filter))}}function bc(o,a){if(1&o&&(n.TgZ(0,"mat-tab"),n.YNc(1,Cc,3,4,"ng-template",19),n.YNc(2,Mc,4,6,"div",20),n.qZA()),2&o){const t=n.oxw(3);n.xp6(2),n.Q6J("ngIf",t.Layout.length>0)}}function xc(o,a){if(1&o&&(n.TgZ(0,"mat-tab-group"),n.YNc(1,bc,3,1,"mat-tab",18),n.qZA()),2&o){const t=n.oxw(2);n.xp6(1),n.Q6J("ngForOf",t.Layout)}}function vc(o,a){if(1&o&&(n.TgZ(0,"div",16),n.YNc(1,xc,2,1,"mat-tab-group",17),n.qZA()),2&o){const t=n.oxw();n.xp6(1),n.Q6J("ngIf",0!=t.parkedOrders.length)}}function yc(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"span",47),n.NdJ("click",function(i){n.CHM(t);const r=n.oxw().$implicit;return n.oxw(2).remove(r),i.stopPropagation()}),n._UZ(1,"i",48),n.qZA()}}function Dc(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"input",44),n.NdJ("ngModelChange",function(i){return n.CHM(t),n.oxw().$implicit.selected=i})("change",function(){n.CHM(t);const i=n.oxw().$implicit;return n.oxw(2).chooseMerge(i)}),n.qZA()}if(2&o){const t=n.oxw().$implicit;n.Q6J("ngModel",t.selected)}}function Sc(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",24),n.TgZ(1,"div",25),n.TgZ(2,"div",26),n.NdJ("click",function(){const r=n.CHM(t).$implicit;return n.oxw(2).onOrderClicked(r)}),n.TgZ(3,"h5",27),n._UZ(4,"i",28),n.TgZ(5,"div",29),n._uU(6),n.qZA(),n.TgZ(7,"span",30),n.TgZ(8,"span",31),n.TgZ(9,"a",32),n.NdJ("click",function(i){return i.stopPropagation()}),n._UZ(10,"i",33),n.qZA(),n.qZA(),n.YNc(11,yc,2,0,"span",34),n.qZA(),n.qZA(),n.TgZ(12,"div",35),n.TgZ(13,"div"),n.TgZ(14,"div",36),n._UZ(15,"i",37),n._uU(16),n.ALo(17,"date"),n.qZA(),n.TgZ(18,"div",38),n._UZ(19,"i",39),n._uU(20),n.qZA(),n.TgZ(21,"div",40),n._UZ(22,"i",41),n._uU(23),n.qZA(),n.TgZ(24,"div",42),n._uU(25),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.TgZ(26,"div",43),n.YNc(27,Dc,1,1,"input",50),n.TgZ(28,"div",45),n.TgZ(29,"span",46),n._uU(30),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.qZA()}if(2&o){const t=a.$implicit,e=n.oxw(2);n.xp6(6),n.hij(" ",e.replaceAlias&&t.Alias?t.Alias:t.ParkLabel," "),n.xp6(3),n.Q6J("routerLink",n.DdM(14,Kt))("queryParams",n.WLB(15,Xt,t.ID,e.templateID)),n.xp6(2),n.Q6J("ngIf",!e.AuthorizeParkOrderDeletion),n.xp6(5),n.hij(" ",n.xi3(17,11,t.Created,"dd-MMM hh:mm")," "),n.xp6(4),n.hij(" ",t.Number," "),n.xp6(3),n.hij(" ",t.CustomerDisplay," "),n.xp6(1),n.Q6J("hidden",e.replaceAlias),n.xp6(1),n.hij(" ",t.alias," "),n.xp6(2),n.Q6J("ngIf",e.parkEnableMerge),n.xp6(3),n.hij(" ",t.Duration," min ")}}function wc(o,a){if(1&o&&(n.TgZ(0,"div",16),n.TgZ(1,"div",49),n.YNc(2,Sc,31,18,"div",23),n.ALo(3,"FilterByArray"),n.qZA(),n.qZA()),2&o){const t=n.oxw();n.xp6(2),n.Q6J("ngForOf",n.Dn7(3,1,t.parkedOrders,n.DdM(5,ne),t.filter))}}function Tc(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"a",51),n.NdJ("click",function(){return n.CHM(t),n.oxw().clearSelection()}),n._uU(1,"Clear All"),n.qZA()}}function kc(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"a",51),n.NdJ("click",function(){return n.CHM(t),n.oxw().merge()}),n._uU(1,"Merge"),n.qZA()}}let Ic=(()=>{class o{constructor(t,e,i,r,c,l,d){this._dialogRef=t,this.data=e,this._parkedOrderService=i,this._localData=r,this._OrderHttpService=c,this._orderProcessorService=l,this._toastr=d,this.modalConfig=new T.O,this.parkedOrders=[],this.listMerge=[],this.modalConfig.title=e.title,this.modalConfig.customWidth="850px",this.modalConfig.hideFooter=!0,this.modalConfig.bodyScrollable=!0,this.title=e.title,this.filterAlwaysVisible=e.filterAlwaysVisible,this.parkDeletionRestriction=e.parkDeletionRestriction,this.entityId=e.entityId,this.replaceAlias=e.replaceAlias,this.posHub=e.posHub,this.mode=e.mode,this.templateID=e.templateID,this.RegisterID=e.RegisterID,this.park=e.Park,this.voidEnabled=e.voidEnabled,this.retreiveMode=e.retreiveMode,this.Layout=e.Layout,this.parkEnableMerge=e.parkEnableMerge,this.RetreiveOrderDifferentRegister=e.RetreiveOrderDifferentRegister,this.AuthorizeParkOrderDeletion=e.AuthorizeParkOrderDeletion,this.getData()}getData(){this._localData.isConfigFromServer().then(t=>{t&&this._parkedOrderService.getParkedOrder(this.entityId,this.RegisterID).subscribe(e=>{if(this.parkedOrders=e,this.parkedOrders.length>0&&this.parkedOrders.forEach(i=>{if(1==this.retreiveMode)i.Orders.forEach(r=>{r.Alias=this.park.GetAlias(r.ParkLabel),r.MemberIdentification=r.MemberIdentification?r.MemberIdentification:"";const c=new Date(r.Created),l=new Date,d=Math.abs(l.getTime()-c.getTime()),s=Math.floor(d%864e5/36e5),p=Math.round(d%864e5%36e5/6e4);r.Duration=s>0?p+60*s:p});else{i.Alias=this.park.GetAlias(i.ParkLabel),i.MemberIdentification=i.MemberIdentification?i.MemberIdentification:"";const r=new Date(i.Created),c=new Date,l=Math.abs(c.getTime()-r.getTime()),d=Math.floor(l%864e5/36e5),s=Math.round(l%864e5%36e5/6e4);i.Duration=d>0?s+60*d:s}}),1==this.retreiveMode)for(const i of this.Layout){i.List=[];const r=this.parkedOrders.find(c=>c.Group==i.Name);i.List=null!=r?r.Orders:[]}},()=>{this._dialogRef.close()})})}remove(t){confirm("Are you sure you want to "+(this.voidEnabled?"void":"delete")+" park "+t.ParkLabel+" ?")&&this.delete(t)}delete(t){this._parkedOrderService.removeOrder(t.ID,this.voidEnabled).subscribe(()=>{this._toastr.info(this.voidEnabled?"Order "+t.Number+" has been voided":"Order "+t.Number+" has been deleted","Park "+t.ParkLabel+" removed!"),this.posHub.BroadcastChangeToKitchenDisplay(),this.getData()},e=>{this._toastr.error(e,"Failed to remove "+t.ParkLabel+" !"),this._dialogRef.close({Error:e})})}clearSelection(){this.parkedOrders.forEach(0==this.mode?t=>t.selected=!1:t=>{t.selected=!1}),this.listMerge=[]}merge(){const t=[];this.listMerge.forEach(e=>{t.push(e.ID)}),this._parkedOrderService.mergePark(t).subscribe(e=>{const i=this.listMerge.find(r=>r.ID==e.ID);this.onOrderClicked(i)},e=>{this._dialogRef.close({Error:e})})}onOrderClicked(t){this._OrderHttpService.GetInvoiceBySoID(t.ID).subscribe(e=>{this._orderProcessorService.updatePosState(O.IsRetrieve),this._orderProcessorService.plainToClass(e,O.IsRetrieve),this._dialogRef.close(t)})}chooseMerge(t){if(void 0===this.listMerge.find(i=>i.Number==t.Number))this.listMerge.push(t);else{const i=[];this.listMerge.forEach(r=>{r.Number!=t.Number&&i.push(r)}),this.listMerge=i,void 0===this.listMerge[0]&&(this.listMerge=[])}}}return o.\u0275fac=function(t){return new(t||o)(n.Y36(P.so),n.Y36(P.WI),n.Y36(Wt),n.Y36(W.T),n.Y36(z.D),n.Y36(R),n.Y36(Z._W))},o.\u0275cmp=n.Xpm({type:o,selectors:[["POS-modal-retrieve"]],decls:11,vars:7,consts:[[3,"config","onCancel"],["class","input-group form-group font-weight-bold",4,"ngIf"],[2,"width","800px"],["class","input-group form-group search",3,"style",4,"ngIf"],["class","container",4,"ngIf"],[1,"row","flex","justify-content-end"],["class","btn btn-light-blue text-primary btn-lg font-weight-bold mr-3",3,"click",4,"ngIf"],[1,"input-group","form-group","font-weight-bold"],["class","mr-3",3,"hidden",4,"ngFor","ngForOf"],[1,"ml-3"],[1,"mr-3",3,"hidden"],[1,"input-group","form-group","search"],[1,"input-group-prepend"],[1,"input-group-text"],["aria-hidden","true",1,"fa","fa-search"],["placeholder","Search by number or note",1,"txtFilter","form-control",3,"ngModel","ngModelChange"],[1,"container"],[4,"ngIf"],[4,"ngFor","ngForOf"],["mat-tab-label",""],["class","container px-0",4,"ngIf"],[1,"container","px-0"],[1,"row","dialogPicker","mx-0"],["class","col-3",4,"ngFor","ngForOf"],[1,"col-3"],[1,"card","border-0"],[1,"card-body","p-0",3,"click"],[1,"card-title","d-flex","justify-content-between","px-0"],["aria-hidden","true",1,"fa","fa-info-circle","ml-3","mr-2","my-auto"],[1,"label-title","mr-2","my-auto"],[1,"d-flex","my-auto"],[1,"nofocus"],["target","_blank",1,"nofocus",3,"routerLink","queryParams","click"],[1,"fa","fa-print","text-dark"],[3,"click",4,"ngIf"],[1,"card-text","pl-5","pr-8","pt-3","pb-8"],[1,"date","mb-0"],[1,"far","fa-calendar-check","fa-fw","pr-2"],[1,"invoice","mb-0"],["aria-hidden","true",1,"fa","fa-hashtag","fa-fw","pr-2"],[1,"customer","mb-0"],["aria-hidden","true",1,"fa","fa-user","fa-fw","pr-2"],[1,"alias",3,"hidden"],[1,"card-footer"],["type","checkbox",1,"retrieve_checkbox","mb-5",3,"ngModel","ngModelChange","change"],[1,"duration","text-center"],[1,"py-2","px-4"],[3,"click"],["aria-hidden","true",1,"fa","fa-times-circle","mr-1","text-dark"],[1,"row"],["class","retrieve_checkbox mb-5","type","checkbox",3,"ngModel","ngModelChange","change",4,"ngIf"],[1,"btn","btn-light-blue","text-primary","btn-lg","font-weight-bold","mr-3",3,"click"]],template:function(t,e){1&t&&(n.TgZ(0,"modal-material",0),n.NdJ("onCancel",function(){return e._dialogRef.close()}),n.TgZ(1,"content"),n.YNc(2,hc,5,2,"div",1),n.TgZ(3,"div",2),n.YNc(4,fc,5,5,"div",3),n.YNc(5,vc,2,1,"div",4),n.TgZ(6,"div"),n.YNc(7,wc,4,6,"div",4),n.qZA(),n.qZA(),n.TgZ(8,"div",5),n.YNc(9,Tc,2,0,"a",6),n.YNc(10,kc,2,0,"a",6),n.qZA(),n.qZA(),n.qZA()),2&t&&(n.Q6J("config",e.modalConfig),n.xp6(2),n.Q6J("ngIf",e.listMerge.length>0),n.xp6(2),n.Q6J("ngIf",e.parkedOrders.length>0||1==e.retreiveMode||e.filterAlwaysVisible),n.xp6(1),n.Q6J("ngIf",1==e.retreiveMode),n.xp6(2),n.Q6J("ngIf",0==e.retreiveMode),n.xp6(2),n.Q6J("ngIf",e.listMerge.length>1),n.xp6(1),n.Q6J("ngIf",e.listMerge.length>1))},directives:[y.M,_.O5,_.sg,h.Fj,h.JJ,h.On,B.SP,B.uX,B.uD,H.yS,h.Wl],pipes:[J.OI,J.Rt,_.uU],styles:[".nofocus[_ngcontent-%COMP%]:focus {\n outline: none !important;\n}\n.label-title[_ngcontent-%COMP%] {\n font-size: 1vw;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.col-3[_ngcontent-%COMP%] {\n list-style: none;\n margin: 0px;\n padding: 0px;\n display: flex;\n flex-wrap: wrap !important;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] {\n width: 180px;\n min-height: 95px;\n margin-right: 17px;\n margin-bottom: 17px;\n position: relative;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body[_ngcontent-%COMP%] {\n display: block;\n outline: 0;\n border: 1px solid #b1aaaa;\n border-radius: 5px;\n cursor: pointer;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body[_ngcontent-%COMP%] h5[_ngcontent-%COMP%] {\n height: 30px;\n border-radius: 4px;\n padding: 5px 10px;\n color: #ffffff;\n background: #b1aaaa;\n overflow: hidden;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body[_ngcontent-%COMP%] h5[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n margin-right: 5px;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body[_ngcontent-%COMP%]:hover, .col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.active[_ngcontent-%COMP%], .col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.vacant[_ngcontent-%COMP%] {\n background: #ffffe1;\n border: 1px solid #89b03e;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body[_ngcontent-%COMP%]:hover > h5[_ngcontent-%COMP%], .col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.active[_ngcontent-%COMP%] > h5[_ngcontent-%COMP%], .col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.vacant[_ngcontent-%COMP%] > h5[_ngcontent-%COMP%] {\n background: #89b03e;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.preparing[_ngcontent-%COMP%] {\n border: 1px solid #f6a828;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.preparing[_ngcontent-%COMP%] > h6[_ngcontent-%COMP%] {\n background: #f6a828 !important;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.preparing[_ngcontent-%COMP%]:hover {\n border: 1px solid #f6a828;\n background: white;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.preparing[_ngcontent-%COMP%]:hover > strong[_ngcontent-%COMP%] {\n background: #f6a828 !important;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.preparing[_ngcontent-%COMP%] span.alias[_ngcontent-%COMP%] {\n background: #f6a828;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.preparing[_ngcontent-%COMP%] div[_ngcontent-%COMP%] > span[_ngcontent-%COMP%] {\n font-size: 0.75rem !important;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body[_ngcontent-%COMP%] div[_ngcontent-%COMP%] {\n position: relative;\n font-size: 14px;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n display: block;\n font-weight: normal;\n font-size: 0.875rem;\n width: 100%;\n margin-bottom: 5px;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:first-child {\n margin-top: -10px;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:last-child {\n margin-bottom: 0px;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span.alias[_ngcontent-%COMP%] {\n text-align: center;\n position: absolute;\n bottom: 0px;\n right: 0px;\n width: auto;\n background-color: #b1aaaa;\n border-radius: 3px;\n padding: 2px 5px;\n color: #ffffff;\n display: none !important;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span.idle[_ngcontent-%COMP%] {\n display: block;\n font-size: 1.25rem;\n text-align: center;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > span[_ngcontent-%COMP%] {\n position: absolute;\n width: 27px;\n height: 28px;\n cursor: pointer;\n top: 5px;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > span[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: black;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]:last-of-type {\n right: -5px;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]:nth-last-of-type(2) {\n right: 15px;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] input[type=checkbox][_ngcontent-%COMP%] {\n bottom: 20px;\n right: 5px;\n position: absolute;\n}\n.col-3[_ngcontent-%COMP%] .duration[_ngcontent-%COMP%] > span[_ngcontent-%COMP%] {\n border: 1px solid !important;\n position: absolute;\n bottom: 10px;\n left: 58px;\n background: #fff;\n border-radius: 5px;\n}\nmat-tab-group[_ngcontent-%COMP%] {\n position: relative;\n}\nmat-tab-group[_ngcontent-%COMP%] .mat-tab-header {\n width: 768px;\n top: -65px;\n}\nmat-tab-group[_ngcontent-%COMP%] .mat-tab-body-wrapper {\n top: -49px;\n}\nmat-tab-group[_ngcontent-%COMP%] mat-tab-body {\n margin-top: 0.5rem;\n}\nmat-tab-group[_ngcontent-%COMP%] .mat-tab-label-container {\n max-width: calc(100% - 196px);\n position: relative;\n left: 14.0625rem;\n}\nmat-tab-group[_ngcontent-%COMP%] .mat-tab-label {\n min-width: 80px;\n padding: 0 12px;\n}\n.search[_ngcontent-%COMP%] {\n z-index: 20;\n}"]}),o})();class te{constructor(a){this.LayoutPack=a}GenerateLayoutOption(){null!=this.LayoutPack&&this.LayoutPack.Layout&&this.LayoutPack.Layout.forEach(a=>{a.Options=[];for(let t=1;t<=a.Size;t++){let e=new zt;e.Name=a.Name+t,e.Alias=this.GetAlias(e.Name),a.Options.push(e)}})}GetAlias(a){if(null!=this.LayoutPack&&this.LayoutPack.Alias){let t=this.LayoutPack.Alias.filter(e=>e.Name==a);return t.length>0?t[0].Alias:a}return""}}let Ac=(()=>{class o{constructor(t,e,i,r,c){this._dialogRef=t,this.data=e,this._orderDataService=i,this._orderProcessorService=r,this._posHttpResponseService=c,this.modalConfig=new T.O,this.note=this.data.note,this.modalConfig.title="Bill Notes",this.modalConfig.customWidth="300px"}onOk(){let t=this._orderDataService.Data,e=this._posHttpResponseService.Data.AppConfigJSON;t.Invoice.Due||(t.Invoice.Due=this.getDefaultInvoiceDue()),t.Action.Type=Pn.q.Bill,t.Order.InvoicedStateID=gn.Complete,t.Order.Note=this.note,this._orderDataService.pushNewValue(t),this._orderDataService.submitOrder(e).then(i=>{this._dialogRef.close(),this._orderProcessorService.updatePosState(O.IsBill,i)})}getDefaultInvoiceDue(){let t=this._posHttpResponseService.Data.AppConfigJSON.ModuleSell.PaymentDialog.DefaultDueDays,e=new Date;return e.setDate(e.getDate()+t),e}}return o.\u0275fac=function(t){return new(t||o)(n.Y36(P.so),n.Y36(P.WI),n.Y36(S),n.Y36(R),n.Y36(D))},o.\u0275cmp=n.Xpm({type:o,selectors:[["POS-modal-bill"]],decls:3,vars:2,consts:[[3,"config","onOk","onClose","onCancel"],["rows","7",1,"border","rounded","p-4",3,"ngModel","ngModelChange"]],template:function(t,e){1&t&&(n.TgZ(0,"modal-material",0),n.NdJ("onOk",function(){return e.onOk()})("onClose",function(){return e._dialogRef.close()})("onCancel",function(){return e._dialogRef.close()}),n.TgZ(1,"content"),n.TgZ(2,"textarea",1),n.NdJ("ngModelChange",function(r){return e.note=r}),n.qZA(),n.qZA(),n.qZA()),2&t&&(n.Q6J("config",e.modalConfig),n.xp6(2),n.Q6J("ngModel",e.note))},directives:[y.M,h.Fj,h.JJ,h.On],styles:["textarea[_ngcontent-%COMP%] {\n width: 100%;\n height: 70px;\n resize: both;\n}"]}),o})();function Zc(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"span",18),n.NdJ("click",function(i){n.CHM(t);const r=n.oxw().$implicit;return n.oxw().remove(r),i.stopPropagation()}),n._UZ(1,"i",19),n.qZA()}}const Nc=function(){return["print/InvoiceMini"]},qc=function(o,a){return{ID:o,Template:a}};function Rc(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",5),n.TgZ(1,"div",6),n.TgZ(2,"div",7),n.NdJ("click",function(){const r=n.CHM(t).$implicit;return n.oxw().onEdit(r.ID)}),n.TgZ(3,"h5",8),n._UZ(4,"i",9),n.TgZ(5,"div",10),n._uU(6),n.qZA(),n.TgZ(7,"span",11),n.TgZ(8,"span",12),n.TgZ(9,"a",13),n._UZ(10,"i",14),n.qZA(),n.qZA(),n.YNc(11,Zc,2,0,"span",15),n.qZA(),n.qZA(),n.TgZ(12,"div",16),n.TgZ(13,"span"),n._uU(14),n.ALo(15,"date"),n.qZA(),n.TgZ(16,"span"),n._UZ(17,"i",17),n._uU(18),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.qZA()}if(2&o){const t=a.$implicit,e=n.oxw();n.xp6(6),n.hij(" ",t.ParkLabel||t.Note," "),n.xp6(3),n.Q6J("routerLink",n.DdM(9,Nc))("queryParams",n.WLB(10,qc,t.InvID,e.templateID)),n.xp6(2),n.Q6J("ngIf",!e.AuthorizeBillOrderDeletion),n.xp6(3),n.hij(" ",n.xi3(15,6,t.Created,"dd-MMM hh:mm"),""),n.xp6(4),n.hij("",t.Number," ")}}let Jc=(()=>{class o{constructor(t,e,i,r,c,l,d){this._dialogRef=t,this.data=e,this._localData=i,this._parkedOrderService=r,this._OrderHttpService=c,this._orderProcessorService=l,this._toastr=d,this.modalConfig=new T.O,this.entityID=e.entityID,this.templateID=e.templateID,this.AuthorizeBillOrderDeletion=e.AuthorizeBillOrderDeletion,this.voidEnabled=e.voidEnabled,this.modalConfig.title="UnPaid",this.modalConfig.customWidth="850px",this.modalConfig.hideFooter=!0,this.modalConfig.bodyScrollable=!0}ngOnInit(){this.getOutStanding()}getOutStanding(){this._localData.isProductFromServer().then(t=>{t&&g.gT.IsNotEmpty(this.entityID)&&this._parkedOrderService.getOutstanding(this.entityID).subscribe(e=>{this.outstandings=e})})}onEdit(t){this._OrderHttpService.GetInvoiceBySoID(t).subscribe(e=>{this._orderProcessorService.updatePosState(O.IsBill),this._orderProcessorService.plainToClass(e),this._dialogRef.close()})}remove(t){confirm("Are you sure you want to delete "+(null==t.ParkLabel?"":t.ParkLabel)+" ?")&&this._parkedOrderService.removeOrder(t.ID,this.voidEnabled).subscribe(i=>{this.getOutStanding(),this._toastr.info("Order "+t.Number+" has been deleted","Park "+t.ParkLabel+" removed!")})}}return o.\u0275fac=function(t){return new(t||o)(n.Y36(P.so),n.Y36(P.WI),n.Y36(W.T),n.Y36(Wt),n.Y36(z.D),n.Y36(R),n.Y36(Z._W))},o.\u0275cmp=n.Xpm({type:o,selectors:[["POS-modal-unpaid"]],decls:6,vars:5,consts:[[3,"title","hideOk","hideFooter","config","onClose","onCancel"],[2,"width","800px"],[1,"container"],[1,"row"],["class","col-3",4,"ngFor","ngForOf"],[1,"col-3"],[1,"card","border-0"],[1,"card-body","p-0",3,"click"],[1,"card-title","d-flex","justify-content-between","px-0"],["aria-hidden","true",1,"fa","fa-info-circle","ml-3","mr-2","my-auto"],[1,"label-title","mr-2","my-auto"],[1,"d-flex","my-auto"],[1,"nofocus"],["target","_blank",1,"nofocus",3,"routerLink","queryParams"],[1,"fa","fa-print","text-dark"],["class","",3,"click",4,"ngIf"],[1,"card-text","px-5","pt-5","pb-10"],["aria-hidden","true",1,"fa","fa-hashtag","mr-2"],[1,"",3,"click"],["aria-hidden","true",1,"fa","fa-times-circle","mr-1","text-dark"]],template:function(t,e){1&t&&(n.TgZ(0,"modal-material",0),n.NdJ("onClose",function(){return e._dialogRef.close()})("onCancel",function(){return e._dialogRef.close()}),n.TgZ(1,"content"),n.TgZ(2,"div",1),n.TgZ(3,"div",2),n.TgZ(4,"div",3),n.YNc(5,Rc,19,13,"div",4),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.qZA()),2&t&&(n.Q6J("title","Unpaid")("hideOk",!0)("hideFooter",!0)("config",e.modalConfig),n.xp6(5),n.Q6J("ngForOf",e.outstandings))},directives:[y.M,_.sg,H.yS,_.O5],pipes:[_.uU],styles:[".nofocus[_ngcontent-%COMP%]:focus {\n outline: none !important;\n}\n.label-title[_ngcontent-%COMP%] {\n font-size: 1vw;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.col-3[_ngcontent-%COMP%] {\n list-style: none;\n margin: 0px;\n padding: 0px;\n display: flex;\n flex-wrap: wrap !important;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] {\n width: 180px;\n min-height: 95px;\n margin-right: 17px;\n margin-bottom: 17px;\n position: relative;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body[_ngcontent-%COMP%] {\n display: block;\n outline: 0;\n border: 1px solid #B1AAAA;\n border-radius: 5px;\n cursor: pointer;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body[_ngcontent-%COMP%] h5[_ngcontent-%COMP%] {\n height: 30px;\n border-radius: 4px;\n padding: 5px 10px;\n color: #ffffff;\n background: #B1AAAA;\n overflow: hidden;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body[_ngcontent-%COMP%] h5[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n margin-right: 5px;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body[_ngcontent-%COMP%]:hover, .col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.active[_ngcontent-%COMP%], .col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.vacant[_ngcontent-%COMP%] {\n background: #ffffe1;\n border: 1px solid #89b03e;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body[_ngcontent-%COMP%]:hover > h5[_ngcontent-%COMP%], .col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.active[_ngcontent-%COMP%] > h5[_ngcontent-%COMP%], .col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.vacant[_ngcontent-%COMP%] > h5[_ngcontent-%COMP%] {\n background: #89b03e;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.preparing[_ngcontent-%COMP%] {\n border: 1px solid #f6a828;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.preparing[_ngcontent-%COMP%] > h6[_ngcontent-%COMP%] {\n background: #f6a828 !important;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.preparing[_ngcontent-%COMP%]:hover {\n border: 1px solid #f6a828;\n background: white;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.preparing[_ngcontent-%COMP%]:hover > strong[_ngcontent-%COMP%] {\n background: #f6a828 !important;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.preparing[_ngcontent-%COMP%] span.alias[_ngcontent-%COMP%] {\n background: #f6a828;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.preparing[_ngcontent-%COMP%] div[_ngcontent-%COMP%] > span[_ngcontent-%COMP%] {\n font-size: 0.75rem !important;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body[_ngcontent-%COMP%] div[_ngcontent-%COMP%] {\n position: relative;\n font-size: 14px;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n display: block;\n font-weight: normal;\n font-size: 0.875rem;\n width: 100%;\n margin-bottom: 5px;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:first-child {\n margin-top: -10px;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:last-child {\n margin-bottom: 0px;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span.alias[_ngcontent-%COMP%] {\n text-align: center;\n position: absolute;\n bottom: 0px;\n right: 0px;\n width: auto;\n background-color: #B1AAAA;\n border-radius: 3px;\n padding: 2px 5px;\n color: #ffffff;\n display: none !important;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span.idle[_ngcontent-%COMP%] {\n display: block;\n font-size: 1.25rem;\n text-align: center;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > span[_ngcontent-%COMP%] {\n position: absolute;\n width: 27px;\n height: 28px;\n cursor: pointer;\n top: 5px;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > span[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: black;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]:last-of-type {\n right: -5px;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]:nth-last-of-type(2) {\n right: 15px;\n}\n.col-3[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] input[type=checkbox][_ngcontent-%COMP%] {\n bottom: 20px;\n right: 5px;\n position: absolute;\n}\n.col-3[_ngcontent-%COMP%] .duration[_ngcontent-%COMP%] > span[_ngcontent-%COMP%] {\n border: 1px solid !important;\n position: absolute;\n bottom: 10px;\n left: 58px;\n background: #fff;\n border-radius: 5px;\n}"]}),o})();class Ec{get point(){return this._point}set point(a){this._point=a}get pricebookID(){return this._pricebookID}set pricebookID(a){this._pricebookID=a}get discountRate(){return this._discountRate}set discountRate(a){this._discountRate=a}get groups(){return this._groups}set groups(a){this._groups=a}get salesID(){return this._salesID}set salesID(a){this._salesID=a}get dueDays(){return this._dueDays}set dueDays(a){this._dueDays=a}get expiryDate(){return this._expiryDate}set expiryDate(a){this._expiryDate=a}get debt(){return this._debt}set debt(a){this._debt=a}get expirtedString(){return this._expirtedString}set expirtedString(a){this._expirtedString=a}get loyaltyDisabled(){return this._loyaltyDisabled}set loyaltyDisabled(a){this._loyaltyDisabled=a}get taxTypeID(){return this._taxTypeID}set taxTypeID(a){this._taxTypeID=a}get entityID(){return this._entityID}set entityID(a){this._entityID=a}get mobile(){return this._mobile}set mobile(a){this._mobile=a}get email(){return this._email}set email(a){this._email=a}get dueMonths(){return this._dueMonths}set dueMonths(a){this._dueMonths=a}get memberIdentification(){return this._memberIdentification}set memberIdentification(a){this._memberIdentification=a}}var Xn=(()=>(function(o){o[o.Draft=1]="Draft",o[o.Complete=2]="Complete"}(Xn||(Xn={})),Xn))();class Qc{constructor(){this.OutletName="",this.Status=Xn.Draft,this.AmountSummary=[],this.Coupon="",this.Creator="",this.CurrencySymbol="",this.Customer=new Ec,this.Date="",this.Delivery={Number:""},this.ExtraNote="",this.FinalAmount=0,this.InvoiceNote="",this.Items=[],this.List=[],this.LoyaltyPoint="",this.Payments=[],this.PrintDate="",this.RegisterCode="",this.SalesName="",this.Shipping=new ut.Q,this.Title="",this.TypeName="",this.paymentState=0,this.InvoiceID="",this.Number="",this.Created=""}}class Uc{constructor(){this.ExtraNote="",this.Title="",this.Customer="",this.SalesName="",this.InvoiceNote="",this.Date="",this.Items=[],this.AmountSummary=[],this.Creator="",this.Deposit=0,this.NumberOfPerson=0,this.CurrencySymbol="Rp"}}let ee=(()=>{class o{constructor(t,e,i,r,c,l,d){this._posService=t,this._orderDataService=e,this._cashierCalculatorService=i,this._outletService=r,this._OrderHttpService=c,this._receiptCalculatorService=l,this._orderProcessorService=d,this.park=new te(null),this.outletInfo=new Vn,this.datePipe=new _.uU("en-US"),this.ParkTemp=Array(),this.CartItems=[],this.subscribeToObservableChanges()}get posStorage(){return this._posService.Data}get AppConfigJSON(){return this._posService.Data.AppConfigJSON}subscribeToObservableChanges(){this._orderDataService.Data$.subscribe(t=>{this.posData=t}),this._OrderHttpService.Data$.subscribe(t=>{this.completeData=t}),this._outletService.Data$.subscribe(t=>{this.outletInfo=t}),this._orderProcessorService.Data$.subscribe(t=>{this.ParkTemp=t.parkTemporaryItem})}generateReceiptMini(){const t=new Qc;t.Title=g.gT.StringFormat("{0} #{1}",this.AppConfigJSON.PrintConfigInvoice.HeaderTitle,this.GetSubmittedNumber()),t.OutletName=this.outletInfo.EntityName,t.ExtraNote=this.getParkLabel(),t.Customer=this.getSubmitedCustomer(),t.SalesName=this._outletService.getSalesname(this.posData.Order.SalesID),t.Number=this.completeData.InvoiceNumber,t.FinalAmount=this.completeData.Final,t.InvoiceNote=this.posData.Order.Note,t.RegisterCode=null==this.outletInfo.RegisterCode?"":this.outletInfo.RegisterCode,t.Date=this.AppConfigJSON.PrintConfigInvoice.DocumentVisibility.CustomerEntryTimeVisible?this.getSubmitedOrderDate():this.datePipe.transform(this.posData.Order.Date,"dd MMM yyyy"),this.AppConfigJSON.PrintConfigInvoice.DocumentVisibility.InvoiceCreatedTimeVisible&&(t.Created=this.datePipe.transform(new Date,"dd MMM yyyy")),this.AppConfigJSON.PrintConfigInvoice.DocumentVisibility.OrderTimeVisible&&(t.Created=this.datePipe.transform(new Date,"dd MMM yyyy HH:mm:ss")),this.posData.CartItems.forEach(i=>{i.SalesOrderItemCommission.length>0&&null!=i.SalesOrderItemCommission[0].SalesID&&(i.SalesOrderItemCommission[0].Name=this._outletService.getSalesname(i.SalesOrderItemCommission[0].SalesID))}),t.Items=this.posData.CartItems;for(let i=0;i<t.Items.length;i++)t.List.push({Name:t.Items[i].Variant.Name,Quantity:t.Items[i].Quantity,VariantID:t.Items[i].VariantID});null!=t.Customer&&null!=t.Customer.Display&&null!=t.Customer.Display&&null!=t.Customer.Display&&(t.Customer={ID:this.posData.Order.CustomerID,Display:this.posData.ContactName,Email:t.Customer.Email,CityName:null,Address:t.Customer.Address,Code:t.Customer.Code,Name:t.Customer.Name,Phone:t.Customer.Phone,Mobile:t.Customer.Mobile,NationalIDNumber:t.Customer.NationalIDNumber,Title:t.Customer.Title}),t.Delivery={Number:this.posData.Order.Number};const e=g.gT.FilterByID(this.posStorage.PoTypes,this.posData.Order.TypeID);if(null!==e&&(t.TypeName=e.Name),t.Shipping=this.generateShippingData(),this.AppConfigJSON.PrintConfigInvoice.ItemsTable.ItemWithoutPriceVisible||(t.Items=t.Items.filter(i=>0!=i.Price)),t.Coupon=this.posData.Order.AuthorizationKey,t.LoyaltyPoint=this.completeData?this.completeData.LoyaltyPoint:"",t.FinalAmount=this._cashierCalculatorService.Data,t.CurrencySymbol=this._cashierCalculatorService.currencySymbol,t.paymentState=this.getPaymentState(),t.Payments=this.posData.Payments,t.Payments.forEach(i=>{i.MethodName=this.findPaymentName(i.MethodID)}),t.AmountSummary=this._receiptCalculatorService.generateAmountSummary(),t.Creator=this.completeData?this.completeData.Creator:"",this.AppConfigJSON.PrintConfigInvoice.DocumentVisibility.InvoicePaymentTermsVisible&&0==this.posData.Payments.length){const i=this.posData.Invoice.Due?new Date(this.posData.Invoice.Due):null,r=new Date(this.posData.Order.Date);r.setHours(0,0,0,0),t.ToP=this.generateTop(r,i),void 0!==this.posData.Invoice.Due&&(t.Due=this.datePipe.transform(new Date(this.posData.Invoice.Due),"dd MMMM yyyy"))}return t}generateShippingData(){return{City:null!==this.posData.Shipping?this.posData.Shipping.City:null,Description:null!==this.posData.Shipping?this.posData.Shipping.Address:null,ID:null,Phone:null!==this.posData.Shipping?this.posData.Shipping.Phone:null,Recipient:null!==this.posData.Shipping?this.posData.Shipping.Name:null,SalesOrderID:null,Sender:null,SenderAddress:null,SenderCity:null,SenderPhone:null,Street:null}}generateParkReceipt(){const t=new Uc;if(t.ExtraNote=g.gT.StringFormat("{0} #{1}",this.AppConfigJSON.ApplicationParkAndRetrieve.PrintOutput.NumberPrefix,this.GetSubmittedNumber()),t.Title=this.getParkLabel(),t.Customer=this.getSubmitedCustomer(),t.SalesName=this._outletService.getSalesname(this.posData.Order.SalesID),t.InvoiceNote=this.posData.Order.Note,t.Date=this.getSubmitedOrderDate(),t.CurrencySymbol=this._cashierCalculatorService.currencySymbol,this.AppConfigJSON.ApplicationParkAndRetrieve.PrintBehaviour.PrintAdditionalItemsOnlyOnRePark){if(this.CartItems=Array(),this.ParkTemp.length>0)for(let e of this.posData.CartItems){const i=this.ParkTemp.find(r=>r.ID==e.ID);null==i?this.CartItems.push(e):e.Quantity!=i.Quantity&&(e.Quantity=e.Quantity-i.Quantity,this.CartItems.push(e))}else this.CartItems=this.posData.CartItems;t.Items=this.CartItems}else t.Items=this.posData.CartItems;if(t.Creator=this.posStorage.UserName,t.Deposit=this.posData.Order.Deposit,t.NumberOfPerson=this.posData.Order.NumberOfPerson,this.AppConfigJSON.ApplicationParkAndRetrieve.PrintOutput.AmountVisible){const e=JSON.parse(JSON.stringify(this._receiptCalculatorService.generateAmountSummary()));t.AmountSummary=e}return t}getPaymentState(){let t=1;this.posData.Payments.length>1&&(t=2);const e=this.posData.TotalPaidAmount-this._cashierCalculatorService.Data;return(Math.abs(e)<=this.AppConfigJSON.ModuleSell.ToleranceAmount||e>=0)&&(t=3),t}generateTop(t,e){const i=new Date(e),r=new Date(t),c=i.getTime()-r.getTime();return Math.floor(c/864e5)}getSubmitedOrderDate(){return g.gT.IsNotEmpty(this.completeData)?this.completeData.OrderTimeString:this.datePipe.transform(new Date,"dd MMMM yyyy hh :mm")}getSubmitedCustomer(){return g.gT.IsEmpty(this.completeData)?{}:this.completeData.Contact}getParkLabel(){const t=this.AppConfigJSON.ApplicationParkAndRetrieve.PrintOutput.LabelPrefix;let i=this.posData.Order.ParkLabel;return this.AppConfigJSON.ApplicationParkAndRetrieve.ParkLayoutTemplate.EnableAlias&&g.gT.IsNotEmpty(i)&&(i=this.park.GetAlias(i)||i),i?g.gT.IsEmpty(t)?i:g.gT.StringFormat("{0} # {1}",t,i):""}GetSubmittedNumber(){return g.gT.IsNotEmpty(this.completeData)?this.completeData.InvoiceNumber:this.posData.Invoice.Number?this.posData.Invoice.Number:this.posData.Order.Number}generateCartItemSummary(){const t=[];for(const e of this.posData.CartItems)t.push(new L(e.Total,this._cashierCalculatorService.currencySymbol,e.Variant.Name,1));return t}generatePaymentSummary(){const t=[];let e;for(let r=0;r<this.posData.Payments.length;r++){let c="Payment"+(r+1);this.AppConfigJSON.PrintConfigInvoice.Footer.PaymentMethodVisible&&(c=this.findPaymentName(Number(this.posData.Payments[r].MethodID))),e=new L(this.posData.Payments[r].PaidAmount,this._cashierCalculatorService.currencySymbol,c,1),t.push(e)}const i=this.generateChangeSummary();return null!==i&&t.push(i),t}generateChangeSummary(){let r=0,c=null;return r=this.posData.TotalPaidAmount-this._cashierCalculatorService.Data,r>0&&(c=new L(r,this._cashierCalculatorService.currencySymbol,"Change",1)),c}findPaymentName(t){return this._posService.Data.Payments.find(e=>e.ID==t).Name}}return o.\u0275fac=function(t){return new(t||o)(n.LFG(D),n.LFG(S),n.LFG(G),n.LFG(F),n.LFG(z.D),n.LFG(dt),n.LFG(R))},o.\u0275prov=n.Yz7({token:o,factory:o.\u0275fac,providedIn:"root"}),o})();var oe=m(6340),nt=m(6671),tt=m(9741);function Fc(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"li",12),n.NdJ("click",function(){return n.CHM(t),n.oxw(2).onPark()}),n._uU(1),n.qZA()}if(2&o){const t=n.oxw(2);n.xp6(1),n.hij(" ",t.AppConfig.ApplicationParkAndRetrieve.UserInterfaceLabel.ParkButtonLabel||"Park"," ")}}function Lc(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"li",13),n.NdJ("click",function(){return n.CHM(t),n.oxw(2).showRetrieveModal()}),n._uU(1," Retrieve "),n.qZA()}}function Hc(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"li",14),n.NdJ("click",function(){return n.CHM(t),n.oxw(2).onSplit()}),n._uU(1),n.qZA()}if(2&o){const t=n.oxw(2);n.xp6(1),n.hij(" ",t.isSplit()?"Cancel":"Split"," ")}}function Vc(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"li",15),n.NdJ("click",function(){return n.CHM(t),n.oxw(2).showBillModal()}),n._uU(1," Bill "),n.qZA()}}function Bc(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"li",13),n.NdJ("click",function(){return n.CHM(t),n.oxw(2).showUnpaidModal()}),n._uU(1," Unpaid "),n.qZA()}}function Yc(o,a){if(1&o&&(n.TgZ(0,"ul",7),n.YNc(1,Fc,2,1,"li",8),n.YNc(2,Lc,2,0,"li",9),n.YNc(3,Hc,2,1,"li",10),n.YNc(4,Vc,2,0,"li",11),n.YNc(5,Bc,2,0,"li",9),n.qZA()),2&o){const t=n.oxw();n.xp6(1),n.Q6J("ngIf",(null==t.AppConfig?null:t.AppConfig.ApplicationParkAndRetrieve.Basic.EnableParkAndRetrieve)&&(!t.IsEdit()||t.isRetrive())),n.xp6(1),n.Q6J("ngIf",!t.role.RetrieveRestriction&&(null==t.AppConfig?null:t.AppConfig.ApplicationParkAndRetrieve.Basic.EnableParkAndRetrieve)),n.xp6(1),n.Q6J("ngIf",(null==t.AppConfig?null:t.AppConfig.ApplicationParkAndRetrieve.Basic.EnableParkAndRetrieve)&&(t.isRetrive()||t.isSplit())),n.xp6(1),n.Q6J("ngIf",(null==t.AppConfig?null:t.AppConfig.ApplicationParkAndRetrieve.Basic.EnableBillAndUnpaid)&&!t.isSplit()),n.xp6(1),n.Q6J("ngIf",(null==t.AppConfig?null:t.AppConfig.ApplicationParkAndRetrieve.Basic.EnableBillAndUnpaid)&&!t.isSplit())}}function zc(o,a){1&o&&n._UZ(0,"link",16)}function $c(o,a){if(1&o&&n._UZ(0,"park-order",17),2&o){const t=n.oxw();n.Q6J("data",t.parkMini)("printTemplate",t.outletInfo.PrintTemplate)("config",t.AppConfig)}}function Gc(o,a){if(1&o&&n._UZ(0,"pos-receipt-a4",18),2&o){const t=n.oxw();n.Q6J("data",t.receiptTemplate)("printTemplate",t.outletInfo.PrintTemplate)("config",t.AppConfig)("outletInfo",t.outletInfo)}}function jc(o,a){if(1&o&&n._UZ(0,"pos-receipt",19),2&o){const t=n.oxw();n.Q6J("data",t.receiptTemplate)("printTemplate",t.outletInfo.PrintTemplate)("config",t.AppConfig)("priceVisibleRestriction",t.role.PriceVisibleRestriction)("outletInfo",t.outletInfo)}}let Wc=(()=>{class o{constructor(t,e,i,r,c,l,d,s,p,f,M){this._posService=t,this._orderProcessorService=e,this._orderDataService=i,this._outletService=r,this._receiptService=c,this._posHubService=l,this.toastr=d,this.matDialog=s,this._orderHttpService=p,this._userRoleService=f,this._promotionEvent=M,this.AppConfig=new ln,this.role=new K.Q,this.orderProcessor=new Ln,this.posData=new $.m,this.printMode=2,this.destroy$=new N.xQ,this.subscribeToObservable(),this.Payments=this._posService.Data.Payments,this.AppConfig=this._posService.Data.AppConfigJSON}ngOnInit(){this.parkMini=null}subscribeToObservable(){this._orderProcessorService.Data$.pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.orderProcessor=t,this.checkPrintParkOrder(),this.checkPrintBill()}),this._orderDataService.Data$.pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.posData=t}),this._outletService.Data$.pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.outletInfo=t,this.ParkLayoutPack=t.ParkLayoutPack,this.park=new te(this.ParkLayoutPack)}),this._userRoleService.Data$.pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.role=t})}onPark(){if(this.AppConfig.ModuleSell.Header.CustomerRequired&&null==this.posData.Order.CustomerID)return void this.toastr.warning("Customer is needed before parking orders!","Missing customer!");if(g.gT.IsNotEmpty(this._promotionEvent.selectedPromotion)||g.gT.IsNotEmpty(this.posData.Order.AuthorizationKey))return void this.toastr.warning("sorry, you're using a promotion, can't use park!","can't use park when using promotions!");let e=!0;if(g.gT.IsEmpty(this.posData.Order.RegisterID)&&(this.toastr.warning(g.g7.emptyEntity,Y.n.Warning),e=!1),this.isSplit()){const i=this.posData.CartItems.filter(r=>r.Splited).length;!i&&this.posData.CartItems.length!=i&&(this.toastr.warning(g.g7.emptyPOItem,Y.n.Warning),e=!1)}if(0==this._orderDataService.Data.CartItems.length&&(this.toastr.warning("You must have at least one item","No Item in Cart!"),e=!1),e)if(g.gT.IsNotEmpty(this.ParkLayoutPack.ID))this.isRetrive()&&!this.isSplit()?this.showReparkModal():this.showParkSelectModal();else{if(1==this.AppConfig.ApplicationParkAndRetrieve.Advance.retreiveMode)return void this.toastr.error("Your retrieve config is in Group mode, to enable park please setting your Park layout at Outlet page","Error!");const i=this.AppConfig.ApplicationParkAndRetrieve.UserInterfaceLabel.DefaultParkNoteValue;!this.IsEdit()&&""!=i&&g.gT.IsEmpty(this.posData.Order.Note)&&(this.posData.Order.Note=i),this.showParkFormModal()}}showRetrieveModal(){null!=this.ParkLayoutPack.Layout||1!=this.AppConfig.ApplicationParkAndRetrieve.Advance.retreiveMode?this.matDialog.open(Ic,{data:{title:this.AppConfig.ApplicationParkAndRetrieve.UserInterfaceLabel.RetreiveDialogTitle,filterAlwaysVisible:this.AppConfig.ApplicationParkAndRetrieve.Advance.RetreiveFilterBoxAlwaysVisible,parkDeletionRestriction:this.AppConfig.ApplicationParkAndRetrieve.AccessControl.AuthorizeParkOrderDeletion&&!this.role.Order,entityId:this.posData.Order.EntityID,replaceAlias:this.AppConfig.ApplicationParkAndRetrieve.ParkLayoutTemplate.EnableAlias,RegisterID:this.posData.Order.RegisterID,Park:this.park,posHub:this._posHubService,templateID:this.outletInfo.PrintTemplate.ID,voidEnabled:this.AppConfig.ModuleOrders.VoidEnabled,retreiveMode:this.AppConfig.ApplicationParkAndRetrieve.Advance.retreiveMode,Layout:this.ParkLayoutPack.Layout,parkEnableMerge:this.AppConfig.ApplicationParkAndRetrieve.Basic.EnableMergeServeralTables,AuthorizeParkOrderDeletion:this.AppConfig.ApplicationParkAndRetrieve.AccessControl.AuthorizeParkOrderDeletion}}).afterClosed().pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.parkOrderRetrieve=t}):this.toastr.error("Your retrieve config is in Group mode, to enable park please setting your Park layout at Outlet page","Error!")}onSplit(){this._orderProcessorService.updatePosState(this.orderProcessor.posState==O.IsRetrieve?O.IsSplit:O.IsRetrieve)}IsEdit(){return this.orderProcessor.posState==O.IsEdit}isRetrive(){return this.orderProcessor.posState==O.IsRetrieve}isSplit(){return this.orderProcessor.posState==O.IsSplit}showReparkModal(){this.matDialog.open(uc,{data:this.parkOrderRetrieve})}showParkSelectModal(){this._orderHttpService.getVacant(this.posData.Order.EntityID).subscribe(t=>{this.matDialog.open(jt,{data:{title:this.orderProcessor.posState==O.IsSplit?"Split Order":this.AppConfig.ApplicationParkAndRetrieve.UserInterfaceLabel.ParkDialogTitle,parkLayoutPack:this.ParkLayoutPack,qty:this.posData.TotalQuantity,entityId:this.posData.Order.EntityID,occupied:t.Orders,replaceWithAlias:this.AppConfig.ApplicationParkAndRetrieve.ParkLayoutTemplate.EnableAlias}})})}showParkFormModal(t){let e="PARK Details";t&&(e="# "+t),this.isSplit()&&(e="Split Detail"),this.matDialog.open(Gt,{id:"park-form-modal",data:{title:e,labelDisable:g.gT.IsNotEmpty(this.ParkLayoutPack.ID)||this.orderProcessor.posState==O.IsSplit,labelPlaceholder:this.AppConfig.ApplicationParkAndRetrieve.UserInterfaceLabel.ParkLabelPlaceholder,depositEnabled:this.AppConfig.ApplicationParkAndRetrieve.Deposit.Enabled,listPayment:this.Payments,ParkLabel:t||this.posData.Order.ParkLabel,deposit:this.AppConfig.ApplicationParkAndRetrieve.Deposit.DefaultAmount,note:this.posData.Order.Note,noteEnabled:this.AppConfig.ApplicationParkAndRetrieve.ParkLayoutTemplate.EnableNotes,numberOfPerson:this.posData.Order.NumberOfPerson,depositPaymentMethodID:this.posData.Order.DepositPaymentMethodID,numberOfPersonEnabled:this.AppConfig.ApplicationParkAndRetrieve.NumberOfPerson}})}checkPrintParkOrder(){this.orderProcessor.posState==O.isPark&&this.AppConfig.ApplicationParkAndRetrieve.PrintBehaviour.PrintAfterPark&&this.printPark()}printPark(){this.parkMini=this._receiptService.generateParkReceipt(),this.printWindow().then(()=>{this.parkMini=null})}showBillModal(){this.posData.TotalQuantity<1?this.toastr.warning("You must have at least one item","No Item in Cart!"):this.matDialog.open(Ac,{data:{note:this.posData.Order.Note}})}showUnpaidModal(){this.isUnpaid=!0,this.matDialog.open(Jc,{data:{entityID:this.posData.Order.EntityID,templateID:this.outletInfo.PrintTemplate.ID,AuthorizeBillOrderDeletion:this.AppConfig.ApplicationParkAndRetrieve.AccessControl.AuthorizeBillOrderDeletion,voidEnabled:this.AppConfig.ModuleOrders.VoidEnabled}}).afterClosed().subscribe(()=>{this.isUnpaid=!1})}checkPrintBill(){this.orderProcessor.posState==O.IsBill&&!this.isUnpaid&&(this.printMode=this.outletInfo.PrintTemplate.PrintMode,2===this.printMode?this.receiptTemplate=this._receiptService.generateReceiptMini():this.printReceiptA4(),this.printWindow().then(()=>{this.receiptTemplate=null}),this._orderProcessorService.createNewTransactionInSameOutletRegister())}printReceiptA4(){this._orderHttpService.generateReceiptA4(this._orderHttpService.Data.ObjectID).pipe((0,C.R)(this.destroy$)).subscribe(e=>{this.outletInfo.PrintTemplate=e.Template,this.receiptTemplate=e.Data})}printWindow(){return(0,ec.mG)(this,void 0,void 0,function*(){return new Promise(t=>{setTimeout(()=>{window.print(),t()},500)})})}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete()}}return o.\u0275fac=function(t){return new(t||o)(n.Y36(D),n.Y36(R),n.Y36(S),n.Y36(F),n.Y36(ee),n.Y36(bn),n.Y36(Z._W),n.Y36(P.uw),n.Y36(z.D),n.Y36(en),n.Y36(fn))},o.\u0275cmp=n.Xpm({type:o,selectors:[["pos-sidebutton"]],decls:8,vars:5,consts:[["class","park-action",4,"ngIf"],[1,"print_containers"],["rel","stylesheet","href","/Styles/Master/app_custom.css"],["rel","stylesheet","href","/Styles/Print/PaperSize8cm_custom.css",4,"ngIf"],[3,"data","printTemplate","config",4,"ngIf"],[3,"data","printTemplate","config","outletInfo",4,"ngIf"],[3,"data","printTemplate","config","priceVisibleRestriction","outletInfo",4,"ngIf"],[1,"park-action"],["id","btnPark","class","park",3,"click",4,"ngIf"],["class","retrieve",3,"click",4,"ngIf"],["class","split",3,"click",4,"ngIf"],["class","bill",3,"click",4,"ngIf"],["id","btnPark",1,"park",3,"click"],[1,"retrieve",3,"click"],[1,"split",3,"click"],[1,"bill",3,"click"],["rel","stylesheet","href","/Styles/Print/PaperSize8cm_custom.css"],[3,"data","printTemplate","config"],[3,"data","printTemplate","config","outletInfo"],[3,"data","printTemplate","config","priceVisibleRestriction","outletInfo"]],template:function(t,e){1&t&&(n.YNc(0,Yc,6,5,"ul",0),n.TgZ(1,"div",1),n._UZ(2,"link",2),n.YNc(3,zc,1,0,"link",3),n.YNc(4,$c,1,3,"park-order",4),n.qZA(),n.TgZ(5,"div",1),n.YNc(6,Gc,1,4,"pos-receipt-a4",5),n.YNc(7,jc,1,5,"pos-receipt",6),n.qZA()),2&t&&(n.Q6J("ngIf",e.AppConfig),n.xp6(3),n.Q6J("ngIf",e.parkMini),n.xp6(1),n.Q6J("ngIf",e.parkMini),n.xp6(2),n.Q6J("ngIf",e.receiptTemplate&&1==e.printMode),n.xp6(1),n.Q6J("ngIf",e.receiptTemplate&&2==e.printMode))},directives:[_.O5,oe.g,nt.Y,tt.t],styles:['.print_containers[_ngcontent-%COMP%] {\n display: none;\n}\n@media print {\n .print_containers[_ngcontent-%COMP%] {\n display: block;\n text-align: left;\n }\n\n .park-action[_ngcontent-%COMP%] {\n display: none;\n }\n}\n.park-action[_ngcontent-%COMP%] {\n position: fixed;\n top: 55%;\n transform: translateY(-50%);\n right: 0;\n}\n.park-action.fullscreen-button-right[_ngcontent-%COMP%] {\n right: 0;\n}\n.park-action[_ngcontent-%COMP%] li[_ngcontent-%COMP%] {\n width: 68px;\n height: 64px;\n cursor: pointer;\n outline: none;\n text-align: center;\n font-weight: bold;\n font-family: "Roboto Slab", serif;\n text-transform: uppercase;\n list-style: none;\n background-color: #89b03e;\n color: #ffffff;\n padding-top: 23px;\n display: block;\n}\n.park-action[_ngcontent-%COMP%] li[_ngcontent-%COMP%]:nth-child(odd) {\n border: 1px solid #51632e;\n}\n.park-action[_ngcontent-%COMP%] li[_ngcontent-%COMP%]:nth-child(even) {\n color: #545454;\n text-shadow: 0 1px 0 white;\n background-color: #f4f4f4;\n font-weight: bold;\n border-left: 1px solid #a6a6a6;\n border-right: 1px solid #a6a6a6;\n}\n.park-action[_ngcontent-%COMP%] li[_ngcontent-%COMP%]:last-child {\n border-bottom: 1px solid #a6a6a6;\n}\n@media only screen and (max-width: 576px) {\n .park-action[_ngcontent-%COMP%] {\n z-index: 1000;\n }\n}']}),o})();var Kc=m(9997),ie=m(150);function Xc(o,a){1&o&&(n.ynx(0),n.TgZ(1,"div",3),n.TgZ(2,"h4",4),n._uU(3," For use this feature you must register first!"),n._UZ(4,"br"),n._uU(5," Click the link below "),n.qZA(),n.qZA(),n.TgZ(6,"a",5),n._uU(7,"more information"),n.qZA(),n._uU(8," > "),n.BQk())}function ns(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",6),n.TgZ(1,"div",7),n.TgZ(2,"div",8),n.TgZ(3,"label",9),n._UZ(4,"i",10),n.qZA(),n.qZA(),n.TgZ(5,"span",11),n._uU(6),n.qZA(),n.TgZ(7,"div",12),n.TgZ(8,"button",13),n._uU(9,"Copy to Clipboard"),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.TgZ(10,"div",14),n.TgZ(11,"div",7),n.TgZ(12,"div",15),n.TgZ(13,"label",16),n._UZ(14,"i",17),n.qZA(),n.qZA(),n._UZ(15,"input",18),n.TgZ(16,"div",19),n.TgZ(17,"button",20),n.NdJ("click",function(){return n.CHM(t),n.oxw().onSendViaWhatsApp()}),n._uU(18,"Send via WhatsApp"),n.qZA(),n.qZA(),n.qZA(),n.qZA()}if(2&o){const t=n.oxw();n.xp6(6),n.Oqu(t.data.link),n.xp6(2),n.Q6J("cdkCopyToClipboard",t.data.link),n.xp6(7),n.Q6J("formControl",t.whatsAppNumberCtrl),n.xp6(2),n.Q6J("disabled",t.whatsAppNumberCtrl.invalid)}}let re=(()=>{class o{constructor(t,e,i){this._dialogRef=t,this._toast=e,this.data=i,this.modalConfig=new T.O}ngOnInit(){this.modalConfig.title="Midtrans Payment Link",this.modalConfig.hideFooter=!0,this.initWaNumberCtrl()}initWaNumberCtrl(){this.whatsAppNumberCtrl=new h.NI(null,[h.kI.pattern("^[0-9]*$"),h.kI.required])}close(){this._dialogRef.close()}onSendViaWhatsApp(){const t=this.whatsAppNumberCtrl.value;t?window.open("https://wa.me/"+t+"?text="+this.data.link,"_blank"):this._toast.error("Phone Number must be insert")}}return o.\u0275fac=function(t){return new(t||o)(n.Y36(P.so),n.Y36(Z._W),n.Y36(P.WI))},o.\u0275cmp=n.Xpm({type:o,selectors:[["POS-modal-generate-link"]],decls:5,vars:3,consts:[[3,"config","onOk","onCancel","onClose"],[4,"ngIf","ngIfElse"],["hasLink",""],[1,"input-group","form-group","mb-2",2,"width","350px"],[1,"font-weight-normal","d-block"],["href","https://midtrans.com/id/product/payment-link","target","_blank"],["ng-if","ctrl.Model.Configs.ConfigLink",1,"col-sm-12"],[1,"input-group","mb-3"],[1,"input-group-prepend",2,"width","38px"],["for","urlValue",1,"input-group-text"],[1,"fas","fa-link"],[1,"border","pl-3","pt-2",2,"width","382px"],[1,"input-group-append",2,"width","150px"],["id","btnCopyLink","type","button",1,"btn","btn-outline-secondary",2,"width","150px",3,"cdkCopyToClipboard"],[1,"col-sm-12"],[1,"input-group-prepend",2,"width","39px"],["for","phoneNumber",1,"input-group-text",2,"width","38px","display","flex","justify-content","center"],[1,"fas","fa-mobile-alt"],["type","text","placeholder","Mobile Number (e.g. 6281500000000)","aria-label","Mobile Number (e.g. 6281500000000)",2,"width","381px",3,"formControl"],[1,"input-group-append",2,"width","153px"],["id","btnSend","type","button",1,"btn","btn-outline-secondary",3,"disabled","click"]],template:function(t,e){if(1&t&&(n.TgZ(0,"modal-material",0),n.NdJ("onOk",function(){return e.close()})("onCancel",function(){return e.close()})("onClose",function(){return e.close()}),n.TgZ(1,"content"),n.YNc(2,Xc,9,0,"ng-container",1),n.YNc(3,ns,19,4,"ng-template",null,2,n.W1O),n.qZA(),n.qZA()),2&t){const i=n.MAs(4);n.Q6J("config",e.modalConfig),n.xp6(2),n.Q6J("ngIf",null==e.data.link||""==e.data.link)("ngIfElse",i)}},directives:[y.M,_.O5,ie.i3,h.Fj,h.JJ,h.oH],styles:[""]}),o})();const ts=function(){return["/Print/TaxInvoice"]},ae=function(o){return{ID:o}};function es(o,a){if(1&o&&(n.TgZ(0,"a",44),n._uU(1,"Tax"),n.qZA()),2&o){const t=n.oxw();n.Q6J("routerLink",n.DdM(2,ts))("queryParams",n.VKq(3,ae,t.completeData.ObjectID))}}function os(o,a){if(1&o&&(n.TgZ(0,"a",45),n._uU(1,"Delivery Order"),n.qZA()),2&o){const t=n.oxw();n.Q6J("href","/A/Print/OutDelivery?ID="+t.completeData.OutDeliveryID+"&Template="+t.outletInfo.PrintTemplate.ID,n.LSH)}}function is(o,a){if(1&o&&(n.TgZ(0,"a",45),n._uU(1,"Invoice & Delivery Order"),n.qZA()),2&o){const t=n.oxw();n.Q6J("href","/A/Print/InvoiceNOutD?InvoiceID="+t.completeData.ObjectID+"&OutID="+t.completeData.OutDeliveryID+"&Template="+t.outletInfo.PrintTemplate.ID,n.LSH)}}function rs(o,a){if(1&o&&(n.TgZ(0,"a",45),n._uU(1,"Invoice (No Price)"),n.qZA()),2&o){const t=n.oxw();n.Q6J("href",t.getInvoicePrintURL(!0),n.LSH)}}function as(o,a){if(1&o&&(n.TgZ(0,"a",45),n._uU(1,"Packing Slip"),n.qZA()),2&o){const t=n.oxw();n.Q6J("href","/A/Print/PackingSlip?ID="+t.completeData.OutDeliveryID+"&Print=1&Printer=Normal",n.LSH)}}function cs(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",46),n.TgZ(1,"div",47),n._UZ(2,"i",48),n.qZA(),n.TgZ(3,"div",49),n.TgZ(4,"autocompleteV2",50),n.NdJ("onSelect",function(i){return n.CHM(t),n.oxw().updateEmail(i)}),n.qZA(),n.qZA(),n.TgZ(5,"div",51),n.TgZ(6,"a",52),n.NdJ("click",function(){return n.CHM(t),n.oxw().sendEmail()}),n._uU(7,"Send Receipt"),n.qZA(),n.qZA(),n.qZA()}if(2&o){const t=n.oxw();n.xp6(4),n.Q6J("inputTextValue",t.email)}}function ss(o,a){if(1&o&&(n.TgZ(0,"a",58),n._UZ(1,"i",59),n._uU(2,"Print Receipt "),n.qZA()),2&o){const t=n.oxw(2);n.Q6J("href",t.getInvoicePrintURL(!1),n.LSH)}}function ls(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"a",60),n.NdJ("click",function(){return n.CHM(t),n.oxw(2).print()}),n._UZ(1,"i",59),n._uU(2,"Print Receipt "),n.qZA()}}function ds(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",14),n.TgZ(1,"button",61),n.NdJ("click",function(){return n.CHM(t),n.oxw(2).generateLink()}),n._UZ(2,"i",62),n._uU(3,"Generate Payment Link "),n.qZA(),n.qZA()}}function ps(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div",12),n.TgZ(1,"div",13),n.TgZ(2,"div",14),n.YNc(3,ss,3,1,"a",53),n.YNc(4,ls,3,0,"a",54),n.qZA(),n.YNc(5,ds,4,0,"div",55),n.TgZ(6,"div",56),n.TgZ(7,"button",52),n.NdJ("click",function(){return n.CHM(t),n.oxw().generateCommission()}),n._UZ(8,"i",57),n._uU(9,"Split Commission "),n.qZA(),n.qZA(),n.qZA(),n.qZA()}if(2&o){const t=n.oxw();n.xp6(3),n.Q6J("ngIf",t.completeData),n.xp6(1),n.Q6J("ngIf",!t.completeData),n.xp6(1),n.Q6J("ngIf",1==t.completeData.PaymentStateID),n.xp6(1),n.Q6J("hidden",t.isNotEmpty(t.posData.Order.SalesID))}}function gs(o,a){if(1&o&&(n.ynx(0),n.TgZ(1,"a",63),n._uU(2),n.qZA(),n.BQk()),2&o){const t=n.oxw();n.xp6(1),n.Q6J("queryParams",n.VKq(2,ae,t.completeData.ObjectID)),n.xp6(1),n.hij(" Invoice #",null==t.completeData?null:t.completeData.InvoiceNumber," ")}}function us(o,a){if(1&o&&(n.TgZ(0,"span",64),n._uU(1),n.qZA()),2&o){const t=n.oxw();n.xp6(1),n.hij(" Invoice #",null==t.completeData?null:t.completeData.InvoiceNumber," ")}}function _s(o,a){if(1&o&&(n.TgZ(0,"div",2),n.TgZ(1,"div",66),n._uU(2),n.qZA(),n.TgZ(3,"div",67),n._uU(4),n.ALo(5,"number"),n.qZA(),n.qZA()),2&o){const t=a.$implicit;n.xp6(2),n.Oqu(t.Label),n.xp6(2),n.AsE(" ",t.CurrencySymbol," ",n.lcZ(5,3,t.Amount)," ")}}function hs(o,a){if(1&o&&(n.TgZ(0,"div",8),n.YNc(1,_s,6,5,"div",65),n.qZA()),2&o){const t=n.oxw();n.xp6(1),n.Q6J("ngForOf",t.itemSummary)}}function ms(o,a){if(1&o&&(n.TgZ(0,"div",71),n.TgZ(1,"div",72),n._uU(2),n.qZA(),n.TgZ(3,"div",73),n._uU(4),n.ALo(5,"number"),n.qZA(),n.qZA()),2&o){const t=a.$implicit,e=a.index,i=n.oxw(2);n.xp6(1),n.Q6J("hidden",i.role.PriceVisibleRestriction),n.xp6(1),n.AsE(" ",t.Label,": ",t.CurrencySymbol," "),n.xp6(1),n.Q6J("hidden",i.role.PriceVisibleRestriction)("ngClass",e+1===i.amountSummary.length?"amount":""),n.xp6(1),n.hij(" ",n.lcZ(5,6,t.Amount)," ")}}function fs(o,a){if(1&o&&(n.TgZ(0,"div",71),n.TgZ(1,"div",72),n._uU(2),n.qZA(),n.TgZ(3,"div",74),n._uU(4),n.ALo(5,"number"),n.qZA(),n.qZA()),2&o){const t=a.$implicit,e=n.oxw(2);n.xp6(1),n.Q6J("hidden",e.role.PriceVisibleRestriction),n.xp6(1),n.AsE(" ",t.Label,": ",t.CurrencySymbol," "),n.xp6(1),n.Q6J("hidden",e.role.PriceVisibleRestriction),n.xp6(1),n.hij(" ",n.lcZ(5,5,t.Amount)," ")}}function Cs(o,a){if(1&o&&(n.TgZ(0,"div",68),n.YNc(1,ms,6,8,"div",69),n.TgZ(2,"div",70),n.YNc(3,fs,6,7,"div",69),n.qZA(),n.qZA()),2&o){const t=n.oxw();n.xp6(1),n.Q6J("ngForOf",t.amountSummary),n.xp6(2),n.Q6J("ngForOf",t.paymentSummary)}}function Ps(o,a){if(1&o&&(n.TgZ(0,"div",75),n.TgZ(1,"div",76),n.TgZ(2,"p",77),n._uU(3," INVALID AMOUNT CHARGE, CORRECT AMOUNT "),n.qZA(),n.TgZ(4,"P",78),n._uU(5),n.ALo(6,"number"),n.qZA(),n.qZA(),n.qZA()),2&o){const t=n.oxw();n.xp6(5),n.Oqu(n.lcZ(6,1,t.completeData.Final))}}function Os(o,a){if(1&o&&(n.TgZ(0,"div",79),n.TgZ(1,"div",32),n.TgZ(2,"h3",33),n._uU(3,"Point Balance"),n.qZA(),n.qZA(),n._UZ(4,"div",80),n.qZA()),2&o){const t=n.oxw();n.xp6(4),n.Q6J("innerHtml",t.completeData.LoyaltyPoint,n.oJD)}}function Ms(o,a){1&o&&n._UZ(0,"link",81)}function bs(o,a){1&o&&n._UZ(0,"link",82)}function xs(o,a){1&o&&n._UZ(0,"link",83)}function vs(o,a){if(1&o&&n._UZ(0,"pos-receipt",87),2&o){const t=n.oxw(2);n.Q6J("data",t.receiptTemplate)("printTemplate",t.outletInfo.PrintTemplate)("config",t.posStorage.AppConfigJSON)("priceVisibleRestriction",t.role.PriceVisibleRestriction)("outletInfo",t.outletInfo)}}function ys(o,a){if(1&o&&n._UZ(0,"pos-receipt-a4",88),2&o){const t=n.oxw(2);n.Q6J("data",t.receiptTemplate)("printTemplate",t.outletInfo.PrintTemplate)("config",t.posStorage.AppConfigJSON)("workOrderMode",!1)("outletInfo",t.outletInfo)}}function Ds(o,a){if(1&o&&(n.TgZ(0,"div",84),n.YNc(1,vs,1,5,"pos-receipt",85),n.YNc(2,ys,1,5,"pos-receipt-a4",86),n.qZA()),2&o){const t=n.oxw();n.xp6(1),n.Q6J("ngIf",t.receiptTemplate&&2==t.printMode),n.xp6(1),n.Q6J("ngIf",t.receiptTemplate&&1==t.printMode)}}const Ss=function(o){return{"date-warning":o}};let ws=(()=>{class o{constructor(t,e,i,r,c,l,d,s,p,f,M,b,I,v,x,pn,Bs,de,Ys){this._posDataService=t,this._posService=e,this._orderProcessorService=i,this._OrderHttpService=r,this._PaymentHttpService=c,this._receiptService=l,this._outletService=d,this._toastr=s,this._onlineStatusService=p,this._matDialog=f,this.ref=M,this._signalBroadCast=b,this._calculatorService=I,this._localDataService=v,this._userRoleService=x,this._router=pn,this._receiptCalculatorService=Bs,this.locale=de,this.datePipe=Ys,this.posData=new $.m,this.receiptTemplate=null,this.completeData=new Kc.u,this.printMode=2,this.outletInfo=new Vn,this.role=new K.Q,this.email="",this.editAfterDelivery=!1,this.finalAmountDifferent=!1,this.amountSummary=[],this.itemSummary=[],this.paymentSummary=[],this.zeroPlaceholderDecimalDigit=0,this.isOnline=!1,this.destroy$=new N.xQ,this.descimalPipe=new _.JJ(de)}handleF8(){this.newSale()}get posStorage(){return this._posService.Data}ngOnInit(){this.subscribeToObservableChanges()}subscribeToObservableChanges(){this._posDataService.Data$.pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.posData=t}),this._outletService.Data$.pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.outletInfo=t}),this._OrderHttpService.Data$.pipe((0,C.R)(this.destroy$)).subscribe(()=>{this.itemSummary=this._receiptService.generateCartItemSummary(),this.amountSummary=this._receiptCalculatorService.generateAmountSummary(),this.paymentSummary=this._receiptService.generatePaymentSummary()}),this._orderProcessorService.Data$.pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.orderManager=t,this.posState=t.posState,this._OrderHttpService.Data&&(this.completeData=this._OrderHttpService.Data),this.checkOrderDateIsNow(),this.checkFinalAmountDifferent()}),this._onlineStatusService.getOnlineStatus$().pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.isOnline=t}),this._userRoleService.Data$.pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.role=t}),this._router.events.pipe((0,C.R)(this.destroy$)).subscribe(t=>{t instanceof H.OD&&(this._orderProcessorService.createNewTransactionInSameOutletRegister(),this._signalBroadCast.BroadcastStateToCustomerDisplay(O.IsNew))})}ngAfterViewInit(){this.posState==O.IsComplete&&(this.checkOrderNumber(),""==this.email&&null!=this.completeData.Contact&&this.isNotEmpty(this.completeData.Contact.Email)&&(this.email=this.completeData.Contact.Email),this.isOnline||this._toastr.warning(g.g7.submitLocally,"Info!"),this.printMode=this.outletInfo.PrintTemplate.PrintMode,this.print(),this.ref.detectChanges())}checkOrderDateIsNow(){let t=this.completeData.OrderTimeString,e=this.datePipe.transform(this.posData.Order.Date,"dd MMM yyyy");this.isOrderDateNow=t.includes(e)}checkFinalAmountDifferent(){if(this.posState==O.IsComplete){const t=this.completeData.Final,e=this._calculatorService.Data;if(t<e||t>e){this.finalAmountDifferent=!0;const i=this.descimalPipe.transform(t);setTimeout(()=>{this._toastr.warning(`Final Amount should be ${i}! Use Print Receipt to print the correct Receipt!`,"Invalid Amount charged",{timeOut:1e4})},500)}else this.finalAmountDifferent=!1}}checkOrderNumber(){this.completeData.InvoiceNumber!=this.posData.Order.Number&&(this._toastr.warning("Your invoice number is changed to "+this.completeData.InvoiceNumber,"Invoice Number Changed!"),this.posData.Order.Number=this.completeData.InvoiceNumber)}generateLink(){1==this.posStorage.AppConfigJSON.PaymentConfigLink&&this._matDialog.open(re),this._PaymentHttpService.generateLink({InvoiceID:this.completeData.ObjectID}).subscribe(e=>{this._matDialog.open(re,{data:{link:e.token.redirect_url}})},e=>{this._toastr.error(e.Message,"Couldn't generate link!")})}generateCommission(){this.orderManager.CommissionID=this.completeData.SalesOrderID,this._orderProcessorService.pushNewValue(this.orderManager)}newSale(){try{this._orderProcessorService.createNewTransactionInSameOutletRegister(),this._signalBroadCast.BroadcastStateToCustomerDisplay(O.IsNew),this._router.navigate([],{queryParams:{ID:null}})}catch(t){console.error(t),this._toastr.error(t,"Error redirecting to NEW mode")}}shelve(){const t=this._OrderHttpService.generatePOSDataForSubmission(this.posData);this._localDataService.saveOfflineOrder(t).then(()=>{this.newSale()})}retrySubmit(){this._posDataService.pushNewValue(this.posData),this._posDataService.submitOrder(this.posStorage.AppConfigJSON).then(t=>{t.Success?(this._signalBroadCast.BroadcastStateToCustomerDisplay(O.IsComplete,t.ObjectID,t.LoyaltyPoint,this.posData.TotalPaidAmount-this._calculatorService.Data),this._posDataService.pushNewValue(this.posData),this._orderProcessorService.updatePosState(O.IsComplete,t)):(this._posDataService.pushNewValue(this.posData),this._orderProcessorService.updatePosState(O.IsComplete,t))})}getInvoicePrintURL(t){let i="";return t&&(i="&Print=1&Price=0"),g.gT.StringFormat("{0}?ID={1}&Template={2}{3}","/A/POS/#/print/Invoice"+(2===this.outletInfo.PrintTemplate.PrintMode?"Mini":""),this.completeData.ObjectID,this.outletInfo.PrintTemplate.ID,i)}usePackage(){}sendEmail(){null!=this.email&&0!=this.email.length||(this.email=document.getElementById("contactEmail").value,""!=this.email)?this._OrderHttpService.sendEmail(this.email,this.completeData.ObjectID).then(t=>{this._toastr.success(t,"Email sent!")}):this._toastr.error("Please enter email before sending receipt!","No email")}print(){this.isOnline||(this.printMode=2,this._toastr.info("Could not print in A4 format due to network connectivity","Can't Print A4 Format!")),2==this.printMode?this.printReceiptMini():1==this.printMode&&this.printReceiptA4(),this.posStorage.AppConfigJSON.ModuleSell.Printing.PrintOnPayment&&this.printWindow()}printReceiptMini(){this.receiptTemplate=this._receiptService.generateReceiptMini()}printReceiptA4(){this._OrderHttpService.generateReceiptA4(this.completeData.ObjectID).subscribe(t=>{this.receiptTemplate=t.Data},()=>{this._toastr.error("Could not print in A4 format!\nPrinting in 8mm format instead!","Error!"),this.printReceiptMini()})}printWindow(){this.finalAmountDifferent||setTimeout(()=>{window.print()},500)}isNotEmpty(t){return g.gT.IsNotEmpty(t)}updateEmail(t){this.email=t}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}}return o.\u0275fac=function(t){return new(t||o)(n.Y36(S),n.Y36(D),n.Y36(R),n.Y36(z.D),n.Y36(At),n.Y36(ee),n.Y36(F),n.Y36(Z._W),n.Y36(nn.q),n.Y36(P.uw),n.Y36(n.sBO),n.Y36(bn),n.Y36(G),n.Y36(W.T),n.Y36(en),n.Y36(H.F0),n.Y36(dt),n.Y36(n.soG),n.Y36(_.uU))},o.\u0275cmp=n.Xpm({type:o,selectors:[["pos-complete"]],hostBindings:function(t,e){1&t&&n.NdJ("keydown.F8",function(r){return e.handleF8(r)},!1,n.Jf7)},decls:63,vars:24,consts:[[1,"sell-complete"],[1,"container-fluid","pt-8"],[1,"row"],[1,"col-md-8"],[1,"card",3,"hidden"],[1,"card-header","alert-danger"],[1,"d-flex","justify-content-between"],[1,"fas","fa-times-circle","mr-1","text-danger"],[1,"card-body"],[1,"row","mt-9","justify-content-center","no-gutters","mb-9"],[1,"col-5","text-center"],["type","button","title","Try uploading order to the server again",1,"btn","btn-success","btn-lg","btn-block",3,"click"],[1,"card-footer","bg-light-gray"],[1,"row","justify-content-between"],[1,"col-auto"],["type","button","title","Temporarily save data locally until connection to the server is restored",1,"btn","btn-light-gray",3,"click"],[1,"fas","fa-save","mr-2",2,"font-size","14px"],[1,"card-header",3,"ngClass"],[1,"fas","fa-check","mr-1"],[1,"font-italic"],[1,"dropdown"],["type","button","id","dropdownMenuButton","data-toggle","dropdown","aria-haspopup","true","aria-expanded","false",1,"btn","dropdown-toggle"],["aria-labelledby","dropdownMenuButton",1,"dropdown-menu","dropdown-menu-right"],["class","dropdown-item","target","_blank",3,"routerLink","queryParams",4,"ngIf"],["class","dropdown-item","target","_blank",3,"href",4,"ngIf"],[1,"dropdown-item",3,"click"],[1,"container"],["class","row border-bottom align-items-center no-gutters mt-5",4,"ngIf"],[1,"col-9","text-center"],["type","button",1,"btn","btn-success","btn-lg","btn-block",3,"click"],["class","card-footer bg-light-gray",4,"ngIf"],[1,"col-md-4"],[1,"card-header","bg-light-gray"],[1,"text-dark"],[4,"ngIf","ngIfElse"],["OFFLINE",""],["class","card-body",4,"ngIf"],["class","card-footer bg-white",4,"ngIf"],["class","card-footer date-warning",4,"ngIf"],["class","card",4,"ngIf"],["rel","stylesheet","href","/Styles/Master/app_custom.css",4,"ngIf"],["rel","stylesheet","href","/Styles/Print/PaperSize8cm_custom.css",4,"ngIf"],["rel","stylesheet","href","/Styles/Print/PaperSizeA4_custom.css",4,"ngIf"],["class","print_containers",4,"ngIf"],["target","_blank",1,"dropdown-item",3,"routerLink","queryParams"],["target","_blank",1,"dropdown-item",3,"href"],[1,"row","border-bottom","align-items-center","no-gutters","mt-5"],[1,"col-auto","px-2"],[1,"far","fa-envelope","fa-lg"],[1,"col"],["placeholder","Email Receipt","inputID","contactEmail","requestUrl","/API/AC/GetEmailSuggestion",1,"border-0","w-100",3,"inputTextValue","onSelect"],[1,"col-auto","pr-1"],["type","button",1,"btn","btn-light-gray",3,"click"],["target","_blank","class","btn btn-light-gray",3,"href",4,"ngIf"],["class","btn btn-light-gray",3,"click",4,"ngIf"],["class","col-auto",4,"ngIf"],[1,"col-auto",3,"hidden"],[1,"far","fa-money-bill-alt","mr-2"],["target","_blank",1,"btn","btn-light-gray",3,"href"],[1,"fas","fa-print","mr-2"],[1,"btn","btn-light-gray",3,"click"],["type","button","data-cy","payment-link",1,"btn","btn-light-gray",3,"click"],[1,"fas","fa-money-bill-wave","mr-2"],["target","_blank","routerLink","/menu/Orders/Orders/Customer_Invoice/Info",1,"text-dark","font-italic",3,"queryParams"],[1,"text-dark","font-italic"],["class","row",4,"ngFor","ngForOf"],[1,"col-8"],[1,"col-4","text-right"],[1,"card-footer","bg-white"],["class","d-flex justify-content-end",4,"ngFor","ngForOf"],[1,"border-top"],[1,"d-flex","justify-content-end"],[1,"text-right",3,"hidden"],[1,"text-right","w-50",3,"hidden","ngClass"],[1,"text-right","w-50",3,"hidden"],[1,"card-footer","date-warning"],[1,"text-right"],[1,"font-weight-bold"],[1,"text-danger",2,"font-size","38px"],[1,"card"],[1,"card-body","pb-0","text-center",3,"innerHtml"],["rel","stylesheet","href","/Styles/Master/app_custom.css"],["rel","stylesheet","href","/Styles/Print/PaperSize8cm_custom.css"],["rel","stylesheet","href","/Styles/Print/PaperSizeA4_custom.css"],[1,"print_containers"],[3,"data","printTemplate","config","priceVisibleRestriction","outletInfo",4,"ngIf"],[3,"data","printTemplate","config","workOrderMode","outletInfo",4,"ngIf"],[3,"data","printTemplate","config","priceVisibleRestriction","outletInfo"],[3,"data","printTemplate","config","workOrderMode","outletInfo"]],template:function(t,e){if(1&t&&(n.TgZ(0,"section",0),n.TgZ(1,"div",1),n.TgZ(2,"div",2),n.TgZ(3,"div",3),n.TgZ(4,"div",4),n.TgZ(5,"div",5),n.TgZ(6,"div",6),n.TgZ(7,"h2"),n._UZ(8,"i",7),n._uU(9," Order Upload Fail! "),n.qZA(),n.qZA(),n.qZA(),n.TgZ(10,"div",8),n.TgZ(11,"div",9),n.TgZ(12,"div",10),n.TgZ(13,"button",11),n.NdJ("click",function(){return e.retrySubmit()}),n._uU(14," Retry Upload "),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.TgZ(15,"div",12),n.TgZ(16,"div",13),n.TgZ(17,"div",14),n.TgZ(18,"button",15),n.NdJ("click",function(){return e.shelve()}),n._UZ(19,"i",16),n._uU(20,"Save Offline "),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.TgZ(21,"div",4),n.TgZ(22,"div",17),n.TgZ(23,"div",6),n.TgZ(24,"h2"),n._UZ(25,"i",18),n._uU(26," Sell Complete "),n.TgZ(27,"small",19),n._uU(28),n.qZA(),n.qZA(),n.TgZ(29,"div"),n.TgZ(30,"div",20),n._UZ(31,"button",21),n.TgZ(32,"div",22),n.YNc(33,es,2,5,"a",23),n.YNc(34,os,2,1,"a",24),n.YNc(35,is,2,1,"a",24),n.YNc(36,rs,2,1,"a",24),n.YNc(37,as,2,1,"a",24),n.TgZ(38,"a",25),n.NdJ("click",function(){return e.usePackage()}),n._uU(39,"Use Purchased Package"),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.TgZ(40,"div",8),n.TgZ(41,"div",26),n.YNc(42,cs,8,1,"div",27),n.TgZ(43,"div",9),n.TgZ(44,"div",28),n.TgZ(45,"button",29),n.NdJ("click",function(){return e.newSale()}),n._uU(46," New Sale (F8) "),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.YNc(47,ps,10,4,"div",30),n.qZA(),n.qZA(),n.TgZ(48,"div",31),n.TgZ(49,"div",4),n.TgZ(50,"div",32),n.TgZ(51,"h3",33),n.YNc(52,gs,3,4,"ng-container",34),n.YNc(53,us,2,1,"ng-template",null,35,n.W1O),n.qZA(),n.qZA(),n.YNc(55,hs,2,1,"div",36),n.YNc(56,Cs,4,2,"div",37),n.YNc(57,Ps,7,3,"div",38),n.qZA(),n.YNc(58,Os,5,1,"div",39),n.qZA(),n.qZA(),n.qZA(),n.qZA(),n.YNc(59,Ms,1,0,"link",40),n.YNc(60,bs,1,0,"link",41),n.YNc(61,xs,1,0,"link",42),n.YNc(62,Ds,3,2,"div",43)),2&t){const i=n.MAs(54);n.xp6(4),n.Q6J("hidden",1==e.posState),n.xp6(17),n.Q6J("hidden",9==e.posState),n.xp6(1),n.Q6J("ngClass",n.VKq(22,Ss,!e.isOrderDateNow||e.completeData.PaymentStateID<3)),n.xp6(6),n.hij(" (",e.completeData.PaymentStateLabel,")"),n.xp6(5),n.Q6J("ngIf",e.completeData),n.xp6(1),n.Q6J("ngIf",e.completeData.OutDeliveryID),n.xp6(1),n.Q6J("ngIf",e.completeData.OutDeliveryID),n.xp6(1),n.Q6J("ngIf",e.completeData),n.xp6(1),n.Q6J("ngIf",e.completeData.OutDeliveryID),n.xp6(5),n.Q6J("ngIf",!e.role.EmailRestriction&&e.isOnline),n.xp6(5),n.Q6J("ngIf",e.isOnline),n.xp6(2),n.Q6J("hidden",9==e.posState),n.xp6(3),n.Q6J("ngIf",e.isOnline)("ngIfElse",i),n.xp6(3),n.Q6J("ngIf",e.itemSummary),n.xp6(1),n.Q6J("ngIf",!e.finalAmountDifferent),n.xp6(1),n.Q6J("ngIf",e.finalAmountDifferent),n.xp6(1),n.Q6J("ngIf",e.completeData.LoyaltyPoint),n.xp6(1),n.Q6J("ngIf",e.receiptTemplate),n.xp6(1),n.Q6J("ngIf",e.receiptTemplate&&2==e.printMode),n.xp6(1),n.Q6J("ngIf",e.receiptTemplate&&1==e.printMode),n.xp6(1),n.Q6J("ngIf",e.outletInfo)}},directives:[_.mk,_.O5,H.yS,Cn.J,_.sg,tt.t,nt.Y],pipes:[_.JJ],styles:[".print_containers[_ngcontent-%COMP%] {\n display: none;\n}\n@media print {\n .print_containers[_ngcontent-%COMP%] {\n display: block;\n text-align: left;\n }\n\n .sell-complete[_ngcontent-%COMP%] {\n display: none;\n }\n}\n.sell-complete[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] .card-header[_ngcontent-%COMP%] {\n border-bottom: 1px solid rgba(0, 0, 0, 0.125);\n padding-bottom: 0.9375rem;\n}\n.sell-complete[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] .card-header[_ngcontent-%COMP%] h2[_ngcontent-%COMP%] {\n font-size: 2rem;\n}\n.sell-complete[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] .card-body[_ngcontent-%COMP%] .container[_ngcontent-%COMP%] {\n max-width: 500px;\n margin-top: 30px;\n margin-bottom: 30px;\n}\n.sell-complete[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] .card-body[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n font-size: 1rem;\n}\n.sell-complete[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] .card-body[_ngcontent-%COMP%] .btn-success[_ngcontent-%COMP%] {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n}\n.sell-complete[_ngcontent-%COMP%] .amount[_ngcontent-%COMP%] {\n font-size: 16px;\n}"]}),o})();var ce=m(4595);function Ts(o,a){if(1&o&&n._UZ(0,"pos-header",4),2&o){const t=n.oxw();n.Q6J("isOnline",t.isOnline)}}function ks(o,a){1&o&&n._UZ(0,"pos-sidebutton")}function Is(o,a){if(1&o&&(n.ynx(0),n._UZ(1,"pos-toolbar"),n.TgZ(2,"div",9),n.TgZ(3,"div",10),n._UZ(4,"pos-quick-key"),n.qZA(),n.TgZ(5,"div",11),n._UZ(6,"pos-cart"),n.qZA(),n.qZA(),n.YNc(7,ks,1,0,"pos-sidebutton",12),n.BQk()),2&o){const t=n.oxw(2);n.xp6(7),n.Q6J("ngIf",t.isOnline)}}function As(o,a){1&o&&(n.TgZ(0,"div"),n._UZ(1,"pos-complete"),n.qZA())}function Zs(o,a){if(1&o){const t=n.EpF();n.TgZ(0,"div"),n.TgZ(1,"h4",13),n._UZ(2,"i",14),n.TgZ(3,"span",15),n._uU(4,"Commission for order"),n.qZA(),n.TgZ(5,"a",16),n.TgZ(6,"small",17),n._uU(7),n.qZA(),n.qZA(),n.qZA(),n.TgZ(8,"commission-cart",18),n.NdJ("onSaved",function(){return n.CHM(t),n.oxw(3).onCommissionSaved()})("onBack",function(){return n.CHM(t),n.oxw(3).orderManager.CommissionID=null}),n.qZA(),n.qZA()}if(2&o){const t=n.oxw(3);n.xp6(7),n.hij("#",null==t.submitOrderData?null:t.submitOrderData.InvoiceNumber,""),n.xp6(1),n.Q6J("soid",t.orderManager.CommissionID)("listSales",t.outletInfo.ListSales)}}function Ns(o,a){if(1&o&&(n.YNc(0,As,2,0,"div",12),n.YNc(1,Zs,9,3,"div",12)),2&o){const t=n.oxw(2);n.Q6J("ngIf",!t.orderManager.CommissionID),n.xp6(1),n.Q6J("ngIf",t.orderManager.CommissionID)}}function qs(o,a){if(1&o&&(n.TgZ(0,"div",5),n.YNc(1,Is,8,1,"ng-container",6),n.YNc(2,Ns,2,2,"ng-template",null,7,n.W1O),n._UZ(4,"div",8),n.qZA()),2&o){const t=n.MAs(3),e=n.oxw();n.xp6(1),n.Q6J("ngIf",e.IsNotCompleteOrFailed())("ngIfElse",t)}}const Rs=[{path:"",component:(()=>{class o extends pe.M{constructor(t,e,i,r,c,l,d,s,p,f,M,b,I){super(i),this.dialogRef=t,this._posService=e,this._httpService=i,this._OrderHttpService=r,this._orderProcessorService=c,this._outletService=l,this._onlineStatusService=d,this._route=s,this._signalRClientService=p,this._toastr=f,this._paymentServiceGateway=M,this._numpadService=b,this.locale=I,this.isOnline=!0,this.destroy$=new N.xQ,this.decimalPipe=new _.JJ(I)}ngOnInit(){this._posService.request().then(t=>{if(this.posHttpResponse=t,this.subscribeToObservableChanges(),this.checkClientTime(),this._route.snapshot.queryParamMap.has("ID")){const e=this._route.snapshot.queryParamMap.get("ID");this.editInvoice(e)}else this._outletService.setActiveRegisterFromOptions(t.Registers,t.UserName)}).catch(t=>{alert(t.Message)})}onQRPaymentComplete(t){if(!g.gT.IsEmpty(t)){const e=JSON.parse(t);this._paymentServiceGateway.onQRPaymentComplete(e,this.posHttpResponse.AppConfigJSON).then(i=>{this.dialogRef.getDialogById("ModalPayment").close();const l=`IDR ${this.decimalPipe.transform(e.gross_amount)} received. Please verify in customer mobile app!`;this._toastr.success(l," QR Settlement"),this._orderProcessorService.updatePosState(O.IsComplete,i)}).catch(i=>{this._toastr.error(i.message,i.header)})}}editInvoice(t){this._orderProcessorService.updatePosState(O.IsEdit),this._OrderHttpService.GetInvoiceBySoID(t).pipe((0,C.R)(this.destroy$)).subscribe(e=>{this.invoiceNumberEdit=e.Invoice.Number,this._orderProcessorService.plainToClass(e),this.syncPageHeaderLabel(O.IsEdit)})}subscribeToObservableChanges(){this._onlineStatusService.getOnlineStatus$().pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.isOnline=t}),this._orderProcessorService.Data$.pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.orderManager=t,this.submitOrderData=this._OrderHttpService.Data,this.posState=t.posState,this.syncPageHeaderLabel(this.posState)}),this._outletService.Data$.pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.outletInfo=t}),this._signalRClientService.OnPaymentReceived.pipe((0,C.R)(this.destroy$)).subscribe(t=>{this.onQRPaymentComplete(t)}),this._signalRClientService.OnReceivePushNotification.pipe((0,C.R)(this.destroy$)).subscribe(t=>{if(!g.gT.IsEmpty(t)){const e=JSON.parse(t);this._toastr.info(e.Body,e.Header)}})}IsNotCompleteOrFailed(){let t;switch(this.posState){case O.IsComplete:case O.UploadOrderFail:t=!1;break;default:t=!0}return t}syncPageHeaderLabel(t){switch(t){case O.IsEdit:this.invoiceNumberEdit&&(this.menuData.H=`Editing Order#${this.invoiceNumberEdit}`);break;case O.IsComplete:this.menuData.H=g.gT.IsEmpty(this.orderManager.CommissionID)?"Order Complete":"New Sale Order";break;default:this.menuData.H="New Sale Order"}}onCommissionSaved(){this.orderManager.CommissionID=null}checkClientTime(){let t=new Date(this.posHttpResponse.ServerDateString),e=new Date;t.getDate()!==e.getDate()&&this._toastr.warning("Client date is not equal with Server Date",Y.n.Warning)}ngOnDestroy(){this._numpadService.destroy(),this.destroy$.next(!0),this.destroy$.complete()}}return o.\u0275fac=function(t){return new(t||o)(n.Y36(P.uw),n.Y36(D),n.Y36(rn.O),n.Y36(z.D),n.Y36(R),n.Y36(F),n.Y36(nn.q),n.Y36(H.gz),n.Y36(zn),n.Y36(Z._W),n.Y36(Zt),n.Y36(pt.u),n.Y36(n.soG))},o.\u0275cmp=n.Xpm({type:o,selectors:[["pos"]],features:[n.qOj],decls:6,vars:7,consts:[["rel","stylesheet","href","/Styles/Master/app_custom.css"],[3,"hideSearchDropdown","hideSearchBox","offline","pageData","hideMoreMenu"],[3,"isOnline",4,"ngIf"],["class","container-fluid",4,"ngIf"],[3,"isOnline"],[1,"container-fluid"],[4,"ngIf","ngIfElse"],["complete",""],[1,"simple-keyboard"],[1,"row","row","body","no-gutters","mt-4","justify-content-left"],[1,"col-auto","quickKey"],[1,"col-auto","cart"],[4,"ngIf"],[1,"text-link","my-8"],["aria-hidden","true",1,"fas","fa-money-bill-alt"],[1,"text-primary","font-weight-bold","h4"],[1,"text-dark","fs-10","font-italic"],[1,"text-muted"],[3,"soid","listSales","onSaved","onBack"]],template:function(t,e){1&t&&(n._UZ(0,"link",0),n.TgZ(1,"mainpanel-cmp",1),n.TgZ(2,"actions"),n.YNc(3,Ts,1,1,"pos-header",2),n.qZA(),n.TgZ(4,"content"),n.YNc(5,qs,5,2,"div",3),n.qZA(),n.qZA()),2&t&&(n.xp6(1),n.Q6J("hideSearchDropdown",!0)("hideSearchBox",!0)("offline",!e.isOnline)("pageData",e.menuData)("hideMoreMenu",1==e.posState),n.xp6(2),n.Q6J("ngIf",e.posHttpResponse&&e.IsNotCompleteOrFailed()),n.xp6(2),n.Q6J("ngIf",e.posHttpResponse))},directives:[Nt.p,_.O5,ei,bi,xr,tc,Wc,ws,ce.W],styles:['@media print {\n .cashier[_ngcontent-%COMP%], pos-quick-key[_ngcontent-%COMP%], pos-header[_ngcontent-%COMP%], pos-toolbar[_ngcontent-%COMP%] {\n display: none;\n }\n}\n.is-backdate[_ngcontent-%COMP%] {\n background: repeating-linear-gradient(-60deg, #fcf4a3, #fcf4a3 15px, #fada5e 15px, #fada5e 30px) !important;\n}\n.quickKey[_ngcontent-%COMP%] {\n margin-right: 10px;\n}\n.cashier[_ngcontent-%COMP%] [_ngcontent-%COMP%]::-webkit-input-placeholder {\n font-style: italic;\n}\n.cashier[_ngcontent-%COMP%] [_ngcontent-%COMP%]:-moz-placeholder {\n \n font-style: italic;\n}\n.cashier[_ngcontent-%COMP%] [_ngcontent-%COMP%]::-moz-placeholder {\n \n font-style: italic;\n}\n.cashier[_ngcontent-%COMP%] [_ngcontent-%COMP%]:-ms-input-placeholder {\n font-style: italic;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] {\n border-bottom: 1px solid #dde2eb;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .small[_ngcontent-%COMP%] {\n margin-right: 5px !important;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .small[_ngcontent-%COMP%] .number[_ngcontent-%COMP%] {\n width: 143px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .small[_ngcontent-%COMP%] select[_ngcontent-%COMP%] {\n width: 140px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] .small[_ngcontent-%COMP%] .select2-container[_ngcontent-%COMP%] {\n font-size: 12px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] {\n margin-right: 22px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] div[_ngcontent-%COMP%]:last-child {\n margin-right: 0;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 1.25rem;\n color: #3B3B3B;\n margin-right: 5px;\n line-height: unset !important;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] input[_ngcontent-%COMP%], .cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span.outlet[_ngcontent-%COMP%] {\n padding: 4px 8px 3px 5px;\n border: 1px solid #dddddd;\n font-size: 0.875rem;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] .outlet[_ngcontent-%COMP%] {\n width: 165px;\n color: #337ab7;\n background: #ffffff;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] .number[_ngcontent-%COMP%] {\n width: 150px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] .header[_ngcontent-%COMP%] div[_ngcontent-%COMP%] select[_ngcontent-%COMP%] {\n width: 150px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.quickKey[_ngcontent-%COMP%] {\n width: 420px;\n margin-right: 10px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] {\n width: 570px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.header[_ngcontent-%COMP%] {\n border: solid 1px #cfcfcf;\n border-bottom: none;\n border-radius: 3px 3px 0 0;\n background: #f2f7fa;\n color: #222222;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.header[_ngcontent-%COMP%] .right-bottom[_ngcontent-%COMP%] {\n font-size: 9px;\n right: -6px;\n bottom: -10px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-table[_ngcontent-%COMP%] {\n border-left: solid 1px #cfcfcf;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-table[_ngcontent-%COMP%] div.col[_ngcontent-%COMP%] {\n overflow: auto;\n height: 250px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-table[_ngcontent-%COMP%] div.col[_ngcontent-%COMP%] table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] {\n background: #fbfbf7;\n border-left: none;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-table[_ngcontent-%COMP%] div.col[_ngcontent-%COMP%] table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] th[_ngcontent-%COMP%] {\n padding: 9px 5px !important;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-table[_ngcontent-%COMP%] div.col[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n padding: 10px 5px;\n border-bottom: 1px solid #cfcfcf;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-table[_ngcontent-%COMP%] div.col[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td[_ngcontent-%COMP%]:first-child {\n padding-right: 0;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-footer[_ngcontent-%COMP%] {\n border-top: solid 1px #cfcfcf;\n min-height: 85px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-footer[_ngcontent-%COMP%] div.summary[_ngcontent-%COMP%] table[_ngcontent-%COMP%] th[_ngcontent-%COMP%], .cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-footer[_ngcontent-%COMP%] div.summary[_ngcontent-%COMP%] table[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n border-left: solid 1px #cfcfcf;\n border-bottom: solid 1px #cfcfcf;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-footer[_ngcontent-%COMP%] div.summary[_ngcontent-%COMP%] table[_ngcontent-%COMP%] th[_ngcontent-%COMP%] {\n padding: 7px 8px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-footer[_ngcontent-%COMP%] div.summary[_ngcontent-%COMP%] table[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n padding: 7px 5px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.cart-footer[_ngcontent-%COMP%] .disc[_ngcontent-%COMP%] {\n padding-top: 7px;\n padding-bottom: 6px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.action-buttons[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] {\n font-size: 1.125rem;\n padding: 15px 18px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.action-buttons[_ngcontent-%COMP%] .btn-gray[_ngcontent-%COMP%] {\n margin-right: 10px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.action-buttons[_ngcontent-%COMP%] .btn-success[_ngcontent-%COMP%] {\n width: 200px;\n}\n.cashier[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] div.row.body[_ngcontent-%COMP%] div.cart[_ngcontent-%COMP%] div.row.action-buttons[_ngcontent-%COMP%] .right-bottom[_ngcontent-%COMP%] {\n font-size: 0.625rem;\n right: 4px;\n}\n.text-black.btn-success[_ngcontent-%COMP%] {\n color: #4d4d4d !important;\n}\n.main-panel[_ngcontent-%COMP%] nav.fixed-top.offline[_ngcontent-%COMP%], .full_screen[_ngcontent-%COMP%] div.container-fluid[_ngcontent-%COMP%] > div.row.header.offline[_ngcontent-%COMP%] {\n background: repeating-linear-gradient(-60deg, #f8d7da, #f8d7da 15px, #f5c6cb 15px, #f5c6cb 30px) !important;\n}\n.barcode-input[_ngcontent-%COMP%] {\n width: 305px;\n}\n.barcode-input[_ngcontent-%COMP%] > input[_ngcontent-%COMP%] {\n height: 28px;\n}\n.barcode-input[_ngcontent-%COMP%] autocomplete[_ngcontent-%COMP%] {\n width: 267px;\n}\n.barcode-input[_ngcontent-%COMP%] autocompleteV2[_ngcontent-%COMP%] {\n width: 267px;\n}\n.input-group-text-retrieve[_ngcontent-%COMP%] {\n padding: 9px 0.75rem !important;\n}\n.font-12[_ngcontent-%COMP%] {\n font-size: 12px;\n}\n.btn-gray[_ngcontent-%COMP%] {\n background-color: #f4f4f4;\n border: 1px solid #d6d6d6;\n font-weight: bold;\n color: #545454 !important;\n background: linear-gradient(to bottom, #ffffff 0%, #eeeeee 100%);\n}\n.btn-gray-more[_ngcontent-%COMP%] {\n background-color: #f4f4f4;\n border: 1px solid #d6d6d6;\n background: linear-gradient(to bottom, #ffffff 0%, #eeeeee 100%);\n}\n.cash-btn[_ngcontent-%COMP%] {\n background-color: #f4f4f4;\n border: 1px solid #d6d6d6;\n font-weight: bold;\n margin: 0 0 0 10px;\n padding: 7px 15px;\n height: 18px;\n box-sizing: content-box;\n background: linear-gradient(to bottom, #ffffff 0%, #eeeeee 100%);\n}\n.calc-tbl[_ngcontent-%COMP%] th[_ngcontent-%COMP%] {\n padding: 7px 15px 7px 10px;\n border: 1px solid #ddd;\n border-top: none;\n background-color: #eeeeee;\n}\n.dropdown-menu[_ngcontent-%COMP%] .disabled[_ngcontent-%COMP%] {\n display: none !important;\n}\n.calc-tbl[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n width: 100px;\n text-align: right;\n padding: 7px 5px;\n}\nsection.complete[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n color: #3b5998;\n margin: 20px 0px;\n}\nsection.complete[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] a[_ngcontent-%COMP%] {\n font-size: 0.75rem;\n color: #868686;\n}\nsection.complete[_ngcontent-%COMP%] .complete-action[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] {\n text-align: center;\n height: 150px;\n width: 190px;\n font-family: "Roboto Slab", serif;\n display: flex;\n flex-direction: column !important;\n padding: 0px;\n color: #666666;\n margin-right: 10px;\n}\nsection.complete[_ngcontent-%COMP%] .complete-action[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n display: block;\n font-size: 50px;\n margin-top: 20px;\n}\nsection.complete[_ngcontent-%COMP%] .complete-action[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n margin: 0px;\n margin-top: 10px;\n color: #666666;\n}\nsection.complete[_ngcontent-%COMP%] .complete-action[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]:first-child h4[_ngcontent-%COMP%] {\n color: #3B3B3B;\n}\nsection.complete[_ngcontent-%COMP%] .complete-action[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n font-size: 0.625rem;\n font-style: italic;\n padding: 10px;\n box-sizing: border-box;\n color: #868686;\n border-top: 1px solid #dddddd;\n font-weight: normal;\n margin: 0px;\n}\n.complete-more-action[_ngcontent-%COMP%] {\n margin-top: 10px;\n}\n\n.modal-body[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n font-weight: 400;\n}\n.modal-body[_ngcontent-%COMP%] .actions-tabs[_ngcontent-%COMP%] {\n position: absolute;\n left: 230px;\n top: 15px;\n}\n.modal-header[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 12px;\n font-style: normal;\n}\n.modal-header[_ngcontent-%COMP%] a[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 14px !important;\n}\n.dialogButtonOption[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] {\n padding: 25px 0px;\n width: 190px;\n margin-right: 10px;\n}\n.dialogButtonOption[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n font-weight: 700;\n text-transform: uppercase;\n}\n.dialogButtonOption[_ngcontent-%COMP%] .modal-body[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n font-size: 0.75rem;\n font-style: italic;\n color: #868686;\n margin-top: 10px;\n}\n.currency[_ngcontent-%COMP%] {\n top: 13px;\n left: 30px;\n}\n.paymentNote[_ngcontent-%COMP%]::before {\n z-index: 10;\n content: "";\n position: absolute;\n top: 0;\n left: calc(50% - 10px);\n height: 100%;\n width: 10px;\n background-color: inherit;\n border-right: 1px solid lightgray;\n transform: skewX(-10deg);\n}\n#dialogPayment[_ngcontent-%COMP%] .col-auto[_ngcontent-%COMP%], #dialogSubmitOrder[_ngcontent-%COMP%] .col-auto[_ngcontent-%COMP%] {\n padding: 0 4px;\n}\n#dialogPayment[_ngcontent-%COMP%] .col-auto[_ngcontent-%COMP%], #dialogSubmitOrder[_ngcontent-%COMP%] .col-auto[_ngcontent-%COMP%] {\n padding: 0 4px;\n}\n#dialogPayment[_ngcontent-%COMP%] .col-4[_ngcontent-%COMP%], #dialogSubmitOrder[_ngcontent-%COMP%] .col-4[_ngcontent-%COMP%] {\n width: 125px !important;\n padding: 0 4px;\n}\n#dialogPayment[_ngcontent-%COMP%] .col-8[_ngcontent-%COMP%], #dialogSubmitOrder[_ngcontent-%COMP%] .col-8[_ngcontent-%COMP%] {\n width: 250px !important;\n padding: 0 4px;\n}\n#dialogPayment[_ngcontent-%COMP%] .btn-link[_ngcontent-%COMP%], #dialogSubmitOrder[_ngcontent-%COMP%] .btn-link[_ngcontent-%COMP%] {\n padding-top: 0px;\n color: #868686;\n padding-bottom: 8px;\n border-radius: unset;\n font-family: "Roboto Slab", serif;\n}\n#dialogPayment[_ngcontent-%COMP%] .btn-link.selected[_ngcontent-%COMP%], #dialogSubmitOrder[_ngcontent-%COMP%] .btn-link.selected[_ngcontent-%COMP%] {\n color: #3B3B3B;\n border-bottom: 4px solid #07a519;\n}\n#dialogPayment[_ngcontent-%COMP%] .change[_ngcontent-%COMP%], #dialogSubmitOrder[_ngcontent-%COMP%] .change[_ngcontent-%COMP%] {\n position: absolute;\n top: 1px;\n height: 40px;\n background: #89b03e;\n color: #fff;\n right: 16px;\n padding: 0 10px;\n line-height: 40px;\n font-size: 16px;\n}\n#dialogPayment[_ngcontent-%COMP%] .change[_ngcontent-%COMP%]:before, #dialogSubmitOrder[_ngcontent-%COMP%] .change[_ngcontent-%COMP%]:before {\n content: "\\a";\n border-style: solid;\n border-width: 40px 24px 0 0;\n border-color: transparent #89b03e transparent transparent;\n position: absolute;\n left: -24px;\n}\n#dialogPayment[_ngcontent-%COMP%] .change.danger[_ngcontent-%COMP%], #dialogSubmitOrder[_ngcontent-%COMP%] .change.danger[_ngcontent-%COMP%] {\n background: #c9302c;\n}\n#dialogPayment[_ngcontent-%COMP%] .change.danger[_ngcontent-%COMP%]:before, #dialogSubmitOrder[_ngcontent-%COMP%] .change.danger[_ngcontent-%COMP%]:before {\n border-color: transparent #c9302c transparent transparent;\n}\n\n.phone[_ngcontent-%COMP%] div[_ngcontent-%COMP%] {\n height: 50px;\n width: 50px;\n padding-top: 11px;\n background-color: #f5f5f5;\n border: 1px solid gray !important;\n}\n.phone[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n padding-left: 65px !important;\n border: 1px solid gray !important;\n font-size: 25px;\n height: 50px;\n}\n.phone[_ngcontent-%COMP%] .form-control[_ngcontent-%COMP%]:focus {\n border-color: #8bb8df !important;\n}\n.back-button[_ngcontent-%COMP%] {\n left: -18px;\n top: -74px;\n}\n.back-button[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: white;\n}\n.back-button-gopay[_ngcontent-%COMP%] {\n left: -18px;\n top: -50px;\n}\n.back-button-gopay[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: white;\n}\n.logo-gopay[_ngcontent-%COMP%] {\n margin-top: -16px;\n}\n#dialogSubmitOrder[_ngcontent-%COMP%] .btn-link[_ngcontent-%COMP%] {\n padding-top: 0px;\n color: #868686;\n padding-bottom: 8px;\n border-radius: unset;\n font-family: "Roboto Slab", serif;\n}\n#dialogSubmitOrder[_ngcontent-%COMP%] .btn-link.selected[_ngcontent-%COMP%] {\n color: #3B3B3B;\n border-bottom: 4px solid #07a519;\n}\n#dialogSubmitOrder[_ngcontent-%COMP%] .btn-info[_ngcontent-%COMP%] {\n font-size: 0.75rem;\n margin-right: 10px;\n padding: 10px;\n margin-bottom: 10px;\n float: left;\n}\n#dialogSubmitOrder[_ngcontent-%COMP%] .input-label[_ngcontent-%COMP%] {\n position: relative;\n}\n#dialogSubmitOrder[_ngcontent-%COMP%] .input-label[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n position: absolute;\n font-size: 0.875rem;\n color: #868686;\n top: 26px;\n left: 20px;\n}\n#dialogSubmitOrder[_ngcontent-%COMP%] .input-label[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n margin: 0;\n margin-bottom: 8px;\n border: 1px solid #dddddd;\n padding: 7px 5px;\n width: 100%;\n font-size: 36px;\n border-radius: 3px;\n text-align: right;\n background-color: #ffffff;\n outline: none;\n}\n#dialogSubmitOrder[_ngcontent-%COMP%] .pay-info[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n border-bottom: 2px solid #07a519 !important;\n font-size: 0.875rem;\n border: none !important;\n border-bottom: 2px solid #07a519 !important;\n outline: none;\n}\n#dialogSubmitOrder[_ngcontent-%COMP%] .change[_ngcontent-%COMP%] {\n background-color: #cccccc;\n border: 1px solid #dddddd;\n width: 149px;\n padding: 5px 10px 5px 0;\n text-align: right;\n font-size: 1.25rem;\n font-weight: bold;\n float: right;\n}\n.rad-btn[_ngcontent-%COMP%] {\n position: relative;\n display: inline-block;\n}\n.rad-btn[_ngcontent-%COMP%] label[_ngcontent-%COMP%] {\n border: 1px solid #dddddd;\n border-radius: 3px;\n margin-right: 10px;\n cursor: pointer;\n padding: 10px;\n margin-bottom: 10px;\n color: black;\n}\n.rad-btn[_ngcontent-%COMP%] input[type=radio][_ngcontent-%COMP%] {\n visibility: hidden;\n position: absolute;\n left: 0;\n top: 0;\n}\n.rad-btn[_ngcontent-%COMP%] input[type=radio][_ngcontent-%COMP%]:checked + label[_ngcontent-%COMP%] {\n background: #dfeffc;\n border: 1px solid #dfeffc;\n}\n.modal-dialog[_ngcontent-%COMP%] .noteBox[_ngcontent-%COMP%] {\n background-color: #ffffe1;\n border: 1px solid #cacaca;\n padding: 3px;\n display: block;\n outline: 0;\n margin-bottom: 5px;\n font-size: 11px;\n text-decoration: none;\n}\n\n.fullscreen[_ngcontent-%COMP%] {\n position: fixed;\n bottom: 0px;\n right: 0px;\n padding: 10px;\n background-color: #bbbbbb;\n cursor: pointer;\n}\n.fullscreen[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 34px;\n color: white;\n}\n.pos-status[_ngcontent-%COMP%] {\n position: fixed;\n right: 10px;\n top: 10px;\n list-style: none;\n padding: 0px;\n margin: 0px;\n z-index: 1031;\n display: flex;\n align-items: center !important;\n}\n.pos-status[_ngcontent-%COMP%] li[_ngcontent-%COMP%] {\n cursor: pointer;\n margin-right: 10px;\n}\n.pos-status[_ngcontent-%COMP%] li[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] {\n padding: 8px 10px;\n color: #868686;\n}\n.pos-status[_ngcontent-%COMP%] li[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 26px;\n}\n.pos-status[_ngcontent-%COMP%] li[_ngcontent-%COMP%]:first-child i[_ngcontent-%COMP%] {\n font-size: 16px;\n}\n.full_screen[_ngcontent-%COMP%] .pos-status[_ngcontent-%COMP%] {\n left: 10px;\n bottom: 10px;\n top: auto;\n right: auto;\n}\n.full_screen[_ngcontent-%COMP%] .park-action[_ngcontent-%COMP%] {\n left: 0px;\n right: auto !important;\n padding: 0px;\n}\n.full_screen[_ngcontent-%COMP%] nav[_ngcontent-%COMP%], .full_screen[_ngcontent-%COMP%] .sidebar[_ngcontent-%COMP%] {\n display: none !important;\n}\n.full_screen[_ngcontent-%COMP%] section.cashier[_ngcontent-%COMP%] > div.container-fluid[_ngcontent-%COMP%] {\n padding: 0 !important;\n}\n.full_screen[_ngcontent-%COMP%] section.cashier[_ngcontent-%COMP%] > div.container-fluid[_ngcontent-%COMP%] > div.row.header[_ngcontent-%COMP%], .full_screen[_ngcontent-%COMP%] section.cashier[_ngcontent-%COMP%] > div.container-fluid[_ngcontent-%COMP%] > div.row.body[_ngcontent-%COMP%] {\n justify-content: center;\n}\n.full_screen[_ngcontent-%COMP%] .main-panel[_ngcontent-%COMP%] {\n left: 0px;\n right: 0px;\n top: 0px;\n bottom: 0px;\n width: 100%;\n padding: 0px;\n}\n.full_screen[_ngcontent-%COMP%] #divSideMenu[_ngcontent-%COMP%] {\n display: none;\n}\n#dialogItem[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%] {\n border-top: none;\n border-right: none;\n}\ndiv#dialogDiscount[_ngcontent-%COMP%] .txtPcg[_ngcontent-%COMP%] {\n width: 30px;\n}\n#radOnline[_ngcontent-%COMP%] + label[_ngcontent-%COMP%], #radOffline[_ngcontent-%COMP%] + label[_ngcontent-%COMP%] {\n height: 150px;\n width: 200px;\n white-space: normal;\n margin: 20px 0px 20px 10px;\n padding-top: 12px;\n border: 1px solid #dddddd;\n}\n#radOnline[_ngcontent-%COMP%] + label[_ngcontent-%COMP%] h4[_ngcontent-%COMP%], #radOffline[_ngcontent-%COMP%] + label[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n margin: 5px;\n}\n#radOnline[_ngcontent-%COMP%] + label[_ngcontent-%COMP%] i[_ngcontent-%COMP%], #radOffline[_ngcontent-%COMP%] + label[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 30px;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] a[_ngcontent-%COMP%] strong[_ngcontent-%COMP%] {\n height: 30px;\n border-radius: 4px;\n padding: 5px 10px;\n color: #ffffff;\n background: #b1aaaa;\n}\nul.dialogPicker[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover, ul.dialogPicker[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a.active[_ngcontent-%COMP%] {\n background: #fffed9;\n border: 1px solid #88ae3d;\n}\nul.dialogPicker[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover > strong[_ngcontent-%COMP%], ul.dialogPicker[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a.active[_ngcontent-%COMP%] > strong[_ngcontent-%COMP%] {\n background: #88ae3d;\n}\n#radOnline[_ngcontent-%COMP%]:checked + label[_ngcontent-%COMP%] {\n color: #ffffff;\n background-color: #89b03e;\n}\n#radOffline[_ngcontent-%COMP%]:checked + label[_ngcontent-%COMP%] {\n color: #ffffff;\n background-color: #c9302c;\n}\n.fa-wifi-off[_ngcontent-%COMP%] {\n background-image: url("//res.cloudinary.com/pos/image/upload/v1535431932/POS/Images/Icon/wifi-off.svg");\n height: 30px;\n width: 30px;\n background-size: 30px;\n background-repeat: no-repeat;\n}\n#radOffline[_ngcontent-%COMP%]:checked + label[_ngcontent-%COMP%] .fa-wifi-off[_ngcontent-%COMP%] {\n background-image: url("//res.cloudinary.com/pos/image/upload/POS/Images/Icon/wifi-off-white.svg");\n}\n.fa-coupon[_ngcontent-%COMP%] {\n background-position-y: center;\n background-image: url("//res.cloudinary.com/pos/image/upload/POS/Images/Icon/coupon.svg");\n height: 26px;\n width: 26px;\n background-size: 26px;\n background-repeat: no-repeat;\n}\n.fa-retur[_ngcontent-%COMP%] {\n background-position-y: center;\n background-image: url("//res.cloudinary.com/pos/image/upload/POS/Images/Icon/return.svg");\n height: 26px;\n width: 26px;\n background-size: 26px;\n background-repeat: no-repeat;\n}\n\nul.dialogPicker[_ngcontent-%COMP%] {\n list-style: none;\n margin: 0px;\n padding: 0px;\n display: flex;\n flex-wrap: wrap !important;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] {\n width: 180px;\n min-height: 95px;\n margin-right: 17px;\n margin-bottom: 17px;\n position: relative;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] {\n display: block;\n outline: 0;\n border: 1px solid #b1aaaa;\n border-radius: 5px;\n cursor: pointer;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] h6[_ngcontent-%COMP%] {\n height: 30px;\n border-radius: 4px;\n padding: 5px 10px;\n color: #ffffff;\n background: #b1aaaa;\n overflow: hidden;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] h6[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n margin-right: 5px;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover, ul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.active[_ngcontent-%COMP%], ul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.vacant[_ngcontent-%COMP%] {\n background: #ffffe1;\n border: 1px solid #89b03e;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover > h6[_ngcontent-%COMP%], ul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.active[_ngcontent-%COMP%] > h6[_ngcontent-%COMP%], ul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.vacant[_ngcontent-%COMP%] > h6[_ngcontent-%COMP%] {\n background: #89b03e;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.occupied[_ngcontent-%COMP%], ul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.occupied[_ngcontent-%COMP%]:hover {\n border: 1px solid #c9302c;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.occupied[_ngcontent-%COMP%] > h6[_ngcontent-%COMP%], ul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.occupied[_ngcontent-%COMP%]:hover > h6[_ngcontent-%COMP%] {\n background: #c9302c !important;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.occupied[_ngcontent-%COMP%] span.alias[_ngcontent-%COMP%] {\n background: #c9302c;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.occupied[_ngcontent-%COMP%]:hover {\n background: white;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.preparing[_ngcontent-%COMP%] {\n border: 1px solid #f6a828;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.preparing[_ngcontent-%COMP%] > h6[_ngcontent-%COMP%] {\n background: #f6a828 !important;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.preparing[_ngcontent-%COMP%]:hover {\n border: 1px solid #f6a828;\n background: white;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.preparing[_ngcontent-%COMP%]:hover > strong[_ngcontent-%COMP%] {\n background: #f6a828 !important;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.preparing[_ngcontent-%COMP%] span.alias[_ngcontent-%COMP%] {\n background: #f6a828;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a.preparing[_ngcontent-%COMP%] div[_ngcontent-%COMP%] > span[_ngcontent-%COMP%] {\n font-size: 0.75rem !important;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] div[_ngcontent-%COMP%] {\n height: 80px;\n padding: 15px 10px;\n position: relative;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n display: block;\n font-weight: normal;\n font-size: 0.875rem;\n width: 100%;\n margin-bottom: 5px;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:first-child {\n margin-top: -10px;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:last-child {\n margin-bottom: 0px;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span.alias[_ngcontent-%COMP%] {\n text-align: center;\n position: absolute;\n bottom: 0px;\n right: 0px;\n width: auto;\n background-color: #b1aaaa;\n border-radius: 3px;\n padding: 2px 5px;\n color: #ffffff;\n display: none !important;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span.idle[_ngcontent-%COMP%] {\n display: block;\n font-size: 1.25rem;\n text-align: center;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > span[_ngcontent-%COMP%] {\n position: absolute;\n width: 27px;\n height: 28px;\n cursor: pointer;\n top: 5px;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > span[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: black;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]:last-of-type {\n right: -5px;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]:nth-last-of-type(2) {\n right: 15px;\n}\nul.dialogPicker[_ngcontent-%COMP%] li[_ngcontent-%COMP%] input[type=checkbox][_ngcontent-%COMP%] {\n bottom: 20px;\n right: 5px;\n position: absolute;\n}\nul.dialogPicker[_ngcontent-%COMP%] .duration[_ngcontent-%COMP%] > span[_ngcontent-%COMP%] {\n border: 1px solid !important;\n position: absolute;\n bottom: -3px;\n left: 58px;\n background: #fff;\n border-radius: 5px;\n}\nul.dialogPickerBig[_ngcontent-%COMP%] li[_ngcontent-%COMP%] {\n width: 140px !important;\n margin-bottom: 17px;\n margin-top: 0px !important;\n min-height: 80px !important;\n}\nul.dialogPickerBig[_ngcontent-%COMP%] li[_ngcontent-%COMP%] a[_ngcontent-%COMP%] div[_ngcontent-%COMP%] {\n height: 50px !important;\n}\n.arrow_box_left[_ngcontent-%COMP%]:after, .arrow_box_left[_ngcontent-%COMP%]:before {\n left: 100% !important;\n}\n.arrow_box_left[_ngcontent-%COMP%]:after {\n border-left-color: #ffffff !important;\n border-right-color: transparent !important;\n}\n.arrow_box_left[_ngcontent-%COMP%]:before {\n border-left-color: #dddddd !important;\n border-right-color: transparent !important;\n}\n.arrow_box_bottom[_ngcontent-%COMP%]:after, .arrow_box_bottom[_ngcontent-%COMP%]:before {\n top: initial;\n left: 40%;\n bottom: 100% !important;\n}\n.arrow_box_bottom[_ngcontent-%COMP%]:after {\n border-bottom-color: #ffffff !important;\n border-right-color: transparent !important;\n margin-left: -6px;\n}\n.arrow_box_bottom[_ngcontent-%COMP%]:before {\n border-bottom-color: #dddddd !important;\n border-right-color: transparent !important;\n margin-left: -9px;\n}\ndiv.price_calculator[_ngcontent-%COMP%] {\n left: -260px;\n top: 46px;\n width: 250px;\n height: 138px;\n padding: 12px 0px 3px 8px;\n border-radius: 3px;\n position: absolute !important;\n}\ndiv.price_calculator[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n border: 0px !important;\n border-bottom: 1px solid #dddddd !important;\n background-color: transparent !important;\n padding: 8px 5px 5px 5px !important;\n width: 60px !important;\n}\n.tooltip-component[_ngcontent-%COMP%] {\n position: relative;\n}\n.tooltip-component[_ngcontent-%COMP%]:hover > div.toolTip[_ngcontent-%COMP%] {\n display: block;\n}\n.tooltip-component[_ngcontent-%COMP%] div.toolTip[_ngcontent-%COMP%] {\n background: #ffffe1;\n border: 1px solid #dddddd;\n position: absolute;\n top: 110%;\n left: 0%;\n padding: 10px;\n display: none;\n text-align: center;\n min-height: 15px;\n margin-top: 0.1rem;\n}\n.tooltip-component[_ngcontent-%COMP%] div.toolTip.green[_ngcontent-%COMP%] {\n background: #caed9e;\n border: 4px solid #90d93f;\n}\n.tooltip-component[_ngcontent-%COMP%] div.toolTip[_ngcontent-%COMP%]:after, .tooltip-component[_ngcontent-%COMP%] div.toolTip[_ngcontent-%COMP%]:before {\n content: "";\n position: absolute;\n top: 0;\n left: 50%;\n width: 0;\n height: 0;\n border: 5px solid transparent;\n}\n.tooltip-component[_ngcontent-%COMP%] div.toolTip[_ngcontent-%COMP%]::after {\n border-bottom-color: #ffffe1;\n border-top: 0;\n margin-left: -5px;\n margin-top: -5px;\n}\n.tooltip-component[_ngcontent-%COMP%] div.toolTip[_ngcontent-%COMP%]::before {\n border-bottom-color: #dddddd;\n border-top: 0;\n margin-left: -5px;\n margin-top: -6px;\n}\n.tooltip-component[_ngcontent-%COMP%] div.toolTip[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n margin: 0px;\n white-space: nowrap;\n color: #89b03e;\n text-shadow: 0px 1px 0px White;\n}\n.offline[_ngcontent-%COMP%] .modal-header[_ngcontent-%COMP%] {\n background-color: #c9302c !important;\n}\n.warning[_ngcontent-%COMP%] .modal-header[_ngcontent-%COMP%] {\n background-color: #f6a828 !important;\n}\n#dialogPromo[_ngcontent-%COMP%] table[_ngcontent-%COMP%] {\n min-width: 400px;\n}\n#dialogPromo[_ngcontent-%COMP%] table.table-hover[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:hover {\n background-color: #89b03e;\n color: white;\n}\nfade-in[_ngcontent-%COMP%] {\n opacity: 1;\n \n transition: opacity 2s;\n}\n.fade-out[_ngcontent-%COMP%] {\n opacity: 0;\n \n transition: opacity 2s;\n z-index: 1;\n}\n.later-payment[_ngcontent-%COMP%] strong[_ngcontent-%COMP%] {\n font-size: 20px;\n}\n.later-payment[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n font-size: 20px;\n padding: 20px 10px !important;\n}\n.change-box[_ngcontent-%COMP%] {\n top: initial;\n height: auto;\n align-self: center;\n}\n.e-money[_ngcontent-%COMP%] {\n height: 65px;\n}\n@media only screen and (max-width: 1280px) {\n input[placeholder=Customer][_ngcontent-%COMP%] {\n width: 135px;\n }\n\n span.select2.select2-container[_ngcontent-%COMP%] {\n width: 135px !important;\n }\n}\n@media only screen and (max-width: 1215px) {\n input[placeholder=Customer][_ngcontent-%COMP%] {\n width: 120px;\n }\n\n span.select2.select2-container[_ngcontent-%COMP%] {\n width: 120px !important;\n }\n}\n@media only screen and (max-width: 1185px) {\n input[placeholder=Customer][_ngcontent-%COMP%] {\n width: 140px;\n }\n\n span.select2.select2-container[_ngcontent-%COMP%] {\n width: 140px !important;\n }\n}\n@media only screen and (max-width: 992px) {\n .pos-status[_ngcontent-%COMP%] {\n bottom: 10px;\n left: 10px;\n top: auto;\n }\n}\n.simple-keyboard[_ngcontent-%COMP%] {\n width: 20vw;\n position: absolute;\n left: 77%;\n top: 30%;\n z-index: 1200;\n}\n .hg-theme-default .hg-button {\n height: 70px !important;\n font-size: 16px !important;\n}\n .hg-button-bksp {\n width: 21px;\n}\n .hg-button[data-skbtn="{enter}"] {\n width: 90px;\n}']}),o})()},{path:"**",redirectTo:"",pathMatch:"full"}];let Js=(()=>{class o{}return o.\u0275fac=function(t){return new(t||o)},o.\u0275mod=n.oAB({type:o}),o.\u0275inj=n.cJS({imports:[[H.Bz.forChild(Rs)],H.Bz]}),o})();var Es=m(9859);let Qs=(()=>{class o{}return o.\u0275fac=function(t){return new(t||o)},o.\u0275mod=n.oAB({type:o}),o.\u0275inj=n.cJS({imports:[[_.ez,y.d,Es.Fk,h.u5,B.Nh,J.dr,xn.vV]]}),o})();var _t=m(1768);let Us=(()=>{class o{}return o.\u0275fac=function(t){return new(t||o)},o.\u0275mod=n.oAB({type:o}),o.\u0275inj=n.cJS({providers:[],imports:[[_.ez,vn.ZU,J.dr,h.u5,y.d,X.A0,_t.X,Cn.Q]]}),o})(),se=(()=>{class o{transform(t,e,...i){return t.filter(r=>!e.includes(r.ID))}}return o.\u0275fac=function(t){return new(t||o)},o.\u0275pipe=n.Yjl({name:"payment",type:o,pure:!0}),o})();var Fs=m(7526);let Ls=(()=>{class o{}return o.\u0275fac=function(t){return new(t||o)},o.\u0275mod=n.oAB({type:o}),o.\u0275inj=n.cJS({providers:[se],imports:[[_.ez,X.A0,Dn.Tx,h.u5,y.d,vn.ZU,B.Nh,J.dr,Wn._t,Ft.Z_,_t.X,wi,Fs.S,Cn.Q,xn.vV,Yt._8,H.Bz]]}),o})(),Hs=(()=>{class o{}return o.\u0275fac=function(t){return new(t||o)},o.\u0275mod=n.oAB({type:o}),o.\u0275inj=n.cJS({imports:[[_.ez,H.Bz,h.u5,X.A0,B.Nh,y.d,J.dr,oe.I,nt.o,tt.e,_t.X]]}),o})(),le=(()=>{class o{}return o.\u0275fac=function(t){return new(t||o)},o.\u0275mod=n.oAB({type:o}),o.\u0275inj=n.cJS({providers:[Vt],imports:[[_.ez,B.Nh,J.dr,H.Bz]]}),o})(),Vs=(()=>{class o{}return o.\u0275fac=function(t){return new(t||o)},o.\u0275mod=n.oAB({type:o}),o.\u0275inj=n.cJS({providers:[se],imports:[[_.ez,h.u5,h.UX,Js,Qs,Us,Ls,le,Nt.R,le,J.dr,Cn.Q,tt.e,nt.o,Hs,ce.$,y.d,ie.Iq]]}),o})()}}]);