1import{a as ft}from"./chunk-YRY4AIQM.js";import{b as ut,c as gt}from"./chunk-JITAIGUB.js";import"./chunk-NZHXPPI3.js";import{a as Je}from"./chunk-YR4PJ5TC.js";import"./chunk-QMWNBSTN.js";import{b as N}from"./chunk-4OVFEMIX.js";import{a as st}from"./chunk-CTYPV7IA.js";import{a as at}from"./chunk-UDXE4UFG.js";import{a as ot}from"./chunk-B4TQWZCD.js";import{a as ct}from"./chunk-2J5UEV36.js";import{a as tt,b as nt,c as rt,e as lt,f as pt,g as dt,h as mt}from"./chunk-SAGBKL5W.js";import{a as ht}from"./chunk-BDCCXKZ4.js";import{a as it,b as A}from"./chunk-CTAQCHVE.js";import"./chunk-RQPQTN2K.js";import{a as et}from"./chunk-AMSVRPT5.js";import{a as Ze}from"./chunk-IF42ABVI.js";import"./chunk-G35U2TSL.js";import{a as ie}from"./chunk-TIZUEZTS.js";import{a as Qe}from"./chunk-QFTBE4YZ.js";import"./chunk-XJTSLCNT.js";import"./chunk-LF7XWVHL.js";import"./chunk-EYIONV64.js";import"./chunk-E7G6W2E2.js";import"./chunk-EOQAIYR4.js";import{a as Xe}from"./chunk-7VGFQHHZ.js";import{a as de}from"./chunk-F5K6R7SQ.js";import"./chunk-73OAJR45.js";import"./chunk-SZR4HWEH.js";import"./chunk-C3P6SEYP.js";import{a as ee,b as te}from"./chunk-5GBDCQHG.js";import"./chunk-HFZLJHYR.js";import{a as re}from"./chunk-W2DIK4KB.js";import{i as He,j as We,n as Ge}from"./chunk-UUNO5GDV.js";import{a as ze,b as je}from"./chunk-PO5J34ZD.js";import{e as ke}from"./chunk-HNE27PEK.js";import{c as Ee,g as Be,k as Ve,m as $e,p as qe}from"./chunk-ZPQWRLR2.js";import{a as Ye}from"./chunk-FVUU4L5U.js";import{a as Ue,b as k}from"./chunk-7O7TK5WI.js";import{c as ne}from"./chunk-JXSELCIT.js";import{$ as Ne,E as De,I as Ie,M as pe,P as Re}from"./chunk-XNSPEJTL.js";import"./chunk-KDRXFQ76.js";import"./chunk-O45SUNNM.js";import{l as J,m as R,r as Ke,s as O,t as Z}from"./chunk-32H7SGOY.js";import{J as Pe,g as Te,t as Oe,va as Ae}from"./chunk-EZQWKGWO.js";import{$b as _,$c as we,Ac as Fe,Ba as g,Bc as ye,Ca as C,Cb as b,Cc as ve,D as z,Dd as X,Fa as W,Gc as Le,I as he,Ic as ce,Jb as M,Lc as y,Mc as Q,Nb as V,Nc as v,O as me,Q as ue,R as fe,Ra as Y,S as ge,U as oe,X as Ce,Z as _e,a as T,ac as S,b as H,cc as G,cd as D,dc as j,dd as xe,ec as U,ed as I,fc as h,gc as l,hc as s,i as L,ia as Se,ic as w,id as u,jd as f,ka as be,kd as Me,mc as le,nc as se,pc as F,rb as o,uc as m,w as K,wb as x,wc as c}from"./chunk-PSAQVZ5Y.js";var $=class{constructor(){this.initializeDefaultValues()}initializeDefaultValues(){this.page=1,this.pageSize=10,this.ordination=1,this.filters={startPrice:null,endPrice:null,unlimitedMilage:null,airConditioning:null,availableBagsCount:[],categories:[],fuelTypes:[],transmissionTypes:[],vendors:[],pickupLocationTypes:[],returnLocationTypes:[],pickupLocationName:null,returnLocationName:null}}};var yt=["cityHotelSearchInput"];function vt(r,a){if(r&1&&(l(0,"mat-option",5),y(1),s()),r&2){let n=a.$implicit;h("value",n),o(),v(" ",n," ")}}function Lt(r,a){r&1&&(l(0,"mat-option",6),y(1),u(2,"translate"),s()),r&2&&(o(),v(" ",f(2,1,"car.filter-car.not-found-location")," "))}function wt(r,a){if(r&1){let n=F();l(0,"button",8),m("click",function(){g(n);let i=c();return C(i.clean())}),l(1,"mat-icon"),y(2,"close"),s()()}}var _t=(()=>{let a=class a{constructor(e,i){this.carService=e,this.cdk=i,this.locationSelected=new x,this.locationFilterSearchControl=new pe,this.filteredLocations=[],this.isValueSelected=!1,this.searchInProgress=!1,this.noResultsFound=!1}ngOnInit(){this.initialLocationName&&(this.isValueSelected=!0,this.locationFilterSearchControl=new pe(this.initialLocationName)),this.initializeLocationFilterSearch(),this.clearFilterSubscription=this.carService.clearFilter$.subscribe(e=>{e&&this.clean(!0)})}ngOnDestroy(){this.locationFilterSearchSubscription?.unsubscribe(),this.clearFilterSubscription?.unsubscribe()}initializeLocationFilterSearch(){this.locationFilterSearchSubscription=this.locationFilterSearchControl.valueChanges.pipe(ge(700),z(e=>this.normalizeSearch(e)),Ce(),Se(e=>e===""?this.isValueSelected?(this.isValueSelected=!1,this.locationSelected.emit(""),K([])):K([]):(this.searchInProgress=!0,this.loadLocations(e)))).subscribe(e=>{this.searchInProgress=!1,this.filteredLocations=e,this.noResultsFound=e.length===0&&this.locationFilterSearchControl.value?.trim()!=="",this.cdk.detectChanges()})}loadLocations(e){return e?.trim()?this.carService.getLocationFilterAutocomplete(this.searchKey,this.type,e.trim()).pipe(z(i=>i.map(t=>t.replace(/\t/g,"").trim())),ue(i=>(console.error("Error fetching locations",i),K([]))),_e(()=>{this.searchInProgress=!1})):K([])}ngOnChanges(e){e.initialLocationName&&!e.initialLocationName.firstChange&&this.locationFilterSearchControl.setValue(e.initialLocationName.currentValue,{emitEvent:!1})}selectLocation(e){e&&(this.locationFilterSearchControl.setValue(e),this.locationSelected.emit(e),this.isValueSelected=!0)}clean(e){this.locationFilterSearchControl.setValue("",{emitEvent:!1}),e||this.locationSelected.emit(""),this.isValueSelected=!1}onTabSelectFirstOption(){if(!this.filteredLocations||this.filteredLocations.length===0||this.noResultsFound)return;let e=this.locationFilterSearchControl.value,i=typeof e=="string"?e.trim():"",t=this.filteredLocations[0];i===t&&this.isValueSelected||this.selectLocation(t)}focusInput(){this.cityHotelSearchInput.nativeElement.focus()}normalizeSearch(e){return(e||"").trim().replace(/\s+/g," ")}};a.\u0275fac=function(i){return new(i||a)(b(N),b(X))}
1,a.\u0275cmp=M({type:a,selectors:[["app-autocomplete-location-filter"]],viewQuery:function(i,t){if(i&1&&Fe(yt,5),i&2){let d;ye(d=ve())&&(t.cityHotelSearchInput=d.first)}},inputs:{initialLocationName:"initialLocationName",searchKey:"searchKey",sameLocations:"sameLocations",label:"label",placeholder:"placeholder",type:"type"},outputs:{locationSelected:"locationSelected"},features:[Y],decls:13,vars:11,consts:[["cityHotelSearchInput",""],["autoFilterLocation","matAutocomplete"],["appearance","outline",1,"example-full-width","input-back-white"],["matInput","",3,"keydown.tab","formControl","matAutocomplete","placeholder"],["autoActiveFirstOption","",3,"optionSelected"],[3,"value"],["disabled",""],["matSuffix","","matIconButton","","aria-label","Clear",1,"btn-suffix"],["matSuffix","","matIconButton","","aria-label","Clear",1,"btn-suffix",3,"click"]],template:function(i,t){if(i&1){let d=F();l(0,"mat-form-field",2)(1,"mat-label"),y(2),u(3,"translate"),s(),l(4,"input",3,0),u(6,"translate"),m("keydown.tab",function(){return g(d),C(t.onTabSelectFirstOption())}),s(),l(7,"mat-autocomplete",4,1),m("optionSelected",function(P){return g(d),C(t.selectLocation(P.option.value))}),j(9,vt,2,2,"mat-option",5,G),_(11,Lt,3,3,"mat-option",6),s(),_(12,wt,3,0,"button",7),s()}if(i&2){let d=Le(8);o(2),v(" ",f(3,7,t.label)," "),o(2),h("placeholder",we(f(6,9,t.placeholder)))("formControl",t.locationFilterSearchControl)("matAutocomplete",d),o(5),U(t.filteredLocations),o(2),S(t.noResultsFound&&(t.locationFilterSearchControl.value==null?null:t.locationFilterSearchControl.value.trim())!==""?11:-1),o(),S(!(t.locationFilterSearchControl==null||t.locationFilterSearchControl.value==null)&&t.locationFilterSearchControl.value.trim()&&t.isValueSelected?12:-1)}},dependencies:[k,Ve,Ee,qe,Ne,De,Ie,Re,We,He,ke,Be,J,O],styles:[".example-full-width[_ngcontent-%COMP%]{width:100%}"]});let r=a;return r})();var xt=r=>({"back-color":r}),Mt=(r,a)=>({label:r,value:"1",checked:a}),Tt=(r,a)=>({label:r,value:"2",checked:a}),Ot=(r,a)=>[r,a];function Pt(r,a){if(r&1){let n=F();l(0,"button",5),m("click",function(){g(n);let i=c();return C(i.clearFilter())}),y(1),u(2,"translate"),s(),w(3,"mat-divider")}r&2&&(o(),v(" ",f(2,1,"hotel-list.label.clear")," "))}function kt(r,a){if(r&1){let n=F();l(0,"app-toggle-filter",6),u(1,"translate"),u(2,"translate"),u(3,"translate"),m("change",function(i){g(n);let t=c();return C(t.onFilterOrdenation(i.value))}),s()}if(r&2){let n=c();h("title",f(1,7,"car.filter-car.order.orderBy"))("options",I(19,Ot,I(13,Mt,f(2,9,"car.filter-car.order.lower"),n.ordenationFilter===1),I(16,Tt,f(3,11,"car.filter-car.order.highest"),n.ordenationFilter===2)))("disabled",!1)("themeColor","primary")("layout","row-toggle")("multiSelect",!1)("requireSelection",!0)}}function Et(r,a){if(r&1){let n=F();l(0,"div")(1,"div",7),y(2),u(3,"translate"),s(),l(4,"app-autocomplete-location-filter",8),m("locationSelected",function(i){g(n);let t=c();return C(t.onLocationSelected(i,"pickupLocationName"))}),s()()}if(r&2){let n=c();o(2),v(" ",f(3,7,"car.filter-car.location-same.name")," "),o(2),h("searchKey",n.carSearchKey)("sameLocations",n.sameLocations)("label","car.filter-car.location-same.name")("placeholder","car.filter-car.location-same.placeholder-name")("initialLocationName",n.carSearchList==null||n.carSearchList.filters==null?null:n.carSearchList.filters.pickupLocationName)("type","pickup")}}function Bt(r,a){if(r&1){let n=F();l(0,"div",7),y(1),u(2,"translate"),s(),l(3,"app-autocomplete-location-filter",8),m("locationSelected",function(i){g(n);let t=c();return C(t.onLocationSelected(i,"pickupLocationName"))}),s(),l(4,"div",7),y(5),u(6,"translate"),s(),l(7,"app-autocomplete-location-filter",8),m("locationSelected",function(i){g(n);let t=c();return C(t.onLocationSelected(i,"returnLocationName"))}),s()}if(r&2){let n=c();o(),v(" ",f(2,14,"car.filter-car.location-pickup.name")," "),o(2),h("searchKey",n.carSearchKey)("sameLocations",n.sameLocations)("label","car.filter-car.location-pickup.name")("placeholder","car.filter-car.location-pickup.placeholder-name")("initialLocationName",n.carSearchList==null||n.carSearchList.filters==null?null:n.carSearchList.filters.pickupLocationName)("type","pickup"),o(2),v(" ",f(6,16,"car.filter-car.location-return.name")," "),o(2),h("searchKey",n.carSearchKey)("sameLocations",n.sameLocations)("label","car.filter-car.location-return.name")("placeholder","Digite o local de devolu\xE7\xE3o")("initialLocationName",n.carSearchList==null||n.carSearchList.filters==null?null:n.carSearchList.filters.returnLocationName)("type","return")}}function Vt(r,a){if(r&1){let n=F();l(0,"app-selectable-filter",9),u(1,"translate"),m("change",function(i){g(n);let t=c();return C(t.onPickupLocationTypesChange(i))}),s()}if(r&2){let n=c();h("title",f(1,4,"car.filter-car.location-same.type"))("options",n.pickupLocationTypesOptions)("multiSelect",!0)("disabled",!1)}}function Dt(r,a){if(r&1){let n=F();l(0,"app-selectable-filter",9),u(1,"translate"),m("change",function(i){g(n);let t=c(2);return C(t.onPickupLocationTypesChange(i))}),s()}if(r&2){let n=c(2);h("title",f(1,4,"car.filter-car.location-pickup.type"))("options",n.pickupLocationTypesOptions)("multiSelect",!0)("disabled",!1)}}function It(r,a){if(r&1){let n=F();l(0,"app-selectable-filter",9),u(1,"translate"),m("change",function(i){g(n);let t=c(2);return C(t.onReturnLocationTypesChange(i))}),s()}if(r&2){let n=c(2);h("title",f(1,4,"car.filter-car.location-return.type"))("options",n.returnLocationTypesOptions)("multiSelect",!0)("disabled",!1)}}function Rt(r,a){if(r&1&&(_(0,Dt,2,6,"app-selectable-filter",2),_(1,It,2,6,"app-selectable-filter",2)),r&2){let n=c();S(n.pickupLocationTypesOptions.length>1?0:-1),o(),S(n.returnLocationTypesOptions.length>1?1:-1)}}function Nt(r,a){if(r&1){let n=F();l(0,"app-price-filter",10),u(1,"translate"),u(2,"translate"),u(3,"translate"),m("priceChange",function(i){g(n);let t=c();return C(t.onPriceChange(i))}),s()}if(r&2){let n=c();h("title",f(1,7,"car.filter-car.total-price"))("filterPriceRange",n.activeFilterPriceRange)("priceSelection",n.priceSelection)("disabled",!1)("labelIn",f(2,9,"car.filter-car.in"))("labelUntil",f(3,11,"car.filter-car.until"))("currencie",n.currencie)}}function At(r,a){if(r&1){let n=F();l(0,"app-selectable-filter",9),u(1,"translate"),m("change",function(i){g(n);let t=c();return C(t.onCategoryChange(i))}),s()}if(r&2){let n=c();h("title",f(1,4,"car.filter-car.car-categories"))("options",n.categoriesOptions)("multiSelect",!0)("disabled",!1)}}function Kt(r,a){if(r&1){let n=F();l(0,"app-selectable-filter",9),u(1,"translate"),m("change",function(i){g(n);let t=c();return C(t.onVendorChange(i))}),s()}if(r&2){let n=c();h("title",f(1,4,"car.filter-car.rental-companies"))("options",n.vendorsOptions)("multiSelect",!0)("disabled",!1)}}function zt(r,a){if(r&1){let n=F();l(0,"app-selectable-filter",9),u(1,"translate"),m("change",function(i){g(n);let t=c();return C(t.onTransmissionChange(i))}),s()}if(r&2){let n=c();h("title",f(1,4,"car.filter-car.transmission-types"))("options",n.transmissionOptions)("multiSelect",!0)("disabled",!1)}}function jt(r,a){if(r&1){let n=F();l(0,"app-selectable-filter",9),u(1,"translate"),m("change",function(i){g(n);let t=c();return C(t.onFuelTypeChange(i))}),s()}if(r&2){let n=c();h("title",f(1,4,"car.filter-car.types-of-fuel"))("options",n.fuelTypeOptions)("multiSelect",!0)("disabled",!1)}}function Ut(r,a){if(r&1){let n=F();l(0,"app-selectable-filter",9),u(1,"translate"),m("change",function(i){g(n);let t=c();return C(t.onBagsChange(i))}),s()}if(r&2){let n=c();h("title",f(1,4,"car.filter-car.quantity-of-bags"))("options",n.bagsOptions)("multiSelect",!0)("disabled",!1)}}var ae=(()=>{let a=class a extends ne{constructor(e,i,t,d){super(e),this.carService=i,this.breakpointObserver=t,this.cdr=d,this.filtersChange=new x,this.emitFilterPriceChange=new x,this.emmiterCarFilterClearFilter=new x,this.emitFilterOrdenation=new x,this.selectedFilters={},this.selectedUnlimitedMilage="null",this.selectedAirConditioning="null",this.sameLocations=!0,this.showEqualPrices=!0,this.mobileDevice=!1,this.activeFilterPriceRange=null,this.vendorsOptions=[],this.categoriesOptions=[],this.bagsOptions=[],this.transmissionOptions=[],this.fuelTypeOptions=[],this.unlimitedMilageOptions=[],this.airConditioningOptions=[],this.pickupLocationTypesOptions=[],this.returnLocationTypesOptions=[],this.initialized=!1,this.lastValidPriceRange=null,this.breakpointObserver.observe(["(max-width: 768px)"]).subscribe(p=>{this.mobileDevice=p.matches})}ngOnInit(){this.setupFilterResetSubscription(),this.loadSameLocations(),this.initializeAllFilters()}ngOnChanges(e){this.initializeAllFilters(),(e.filterPriceRange||e.carSearchList)&&this.setupPriceSelection(),this.cdr.markForCheck()}ngOnDestroy(){this.clearFilterSubscription?.unsubscribe()}initializeAllFilters(){!this.carFilters||!this.carSearchList||(this.initialized||(this.initializeFilters(),this.initialized=!0),this.setupSelectedFiltersFromSearchList(),this.buildVendorOptions(),this.buildCategoryOptions(),this.buildBagsOptions(),this.buildTransmissionOptions(),this.buildFuelTypeOptions(),this.buildCustomToggleOptions(),this.buildPickupLocationTypesOptions(),this.buildReturnLocationTypesOptions(),this.setupPriceSelection(),this.cdr.markForCheck())}initializeFilters(){this.selectedFilters={categories:[],vendors:[],transmissionTypes:[],fuelTypes:[],availableBagsCount:[],pickupLocationTypes:[],returnLocationTypes:[],pickupLocationName:"",returnLocationName:""}}setupSelectedFiltersFromSearchList(){let e=this.carSearchList?.filters;if(!e)return;this.selectedUnlimitedMilage=e.unlimitedMilage!=null?String(e.unlimitedMilage):"null",this.selectedAirConditioning=e.airC
1onditioning!=null?String(e.airConditioning):"null",["categories","vendors","transmissionTypes","fuelTypes","availableBagsCount","pickupLocationTypes","returnLocationTypes"].forEach(t=>{this.selectedFilters[t]=Array.isArray(e[t])?[...e[t]]:[]}),this.selectedFilters.pickupLocationName=e.pickupLocationName||"",this.selectedFilters.returnLocationName=e.returnLocationName||"",this.selectedFilters.startPrice=e?.startPrice,this.selectedFilters.endPrice=e?.endPrice}setupPriceSelection(){let e=this.filterPriceRange?.lowest,i=this.filterPriceRange?.highest;e!=null&&i!=null?(this.lastValidPriceRange=this.filterPriceRange,this.activeFilterPriceRange=this.filterPriceRange):this.lastValidPriceRange?this.activeFilterPriceRange=this.lastValidPriceRange:this.activeFilterPriceRange=null;let d=this.activeFilterPriceRange?.lowest,p=this.activeFilterPriceRange?.highest;d!=null&&p!=null&&d!==p?(this.showEqualPrices=!0,this.priceSelection={min:this.carSearchList?.filters?.startPrice??d,max:this.carSearchList?.filters?.endPrice??p}):(this.showEqualPrices=!1,this.priceSelection=null)}setupFilterResetSubscription(){this.clearFilterSubscription=this.carService.clearFilter$.subscribe(e=>{e&&this.clearFilter()})}loadSameLocations(){this.carService.getSameLocations().pipe(oe(1)).subscribe(e=>{e===null?this.carService.getCarSearchState().pipe(oe(1)).subscribe(i=>{this.sameLocations=!i.isReturnDifferentLocation,this.carService.setSameLocations(this.sameLocations)}):this.sameLocations=e})}clearFilter(){this.initializeFilters(),this.selectedUnlimitedMilage="null",this.selectedAirConditioning="null",this.emmiterCarFilterClearFilter.emit(),this.carService.resetClearFilters()}isSelectedFilter(e,i){return this.selectedFilters[e]?.includes(i)}onPriceChange(e){this.selectedFilters.startPrice=e.min,this.selectedFilters.endPrice=e.max,this.emitFilterPriceChange.emit(this.selectedFilters)}onFilterOrdenation(e){this.ordenationFilter=+e,this.emitFilterOrdenation.emit(this.ordenationFilter)}onFilterChange(e,i){let t=typeof i=="string"&&!isNaN(Number(i))?Number(i):i,d=this.selectedFilters[e]?.indexOf(t);d===-1?this.selectedFilters[e]?.push(t):this.selectedFilters[e]?.splice(d,1),this.emitFiltersChange()}onLocationSelected(e,i){i==="pickupLocationName"&&this.sameLocations?(this.selectedFilters.pickupLocationName=e,this.selectedFilters.returnLocationName=e):this.selectedFilters[i]=e,this.emitFiltersChange()}onVendorChange(e){this.selectedFilters.vendors=e,this.emitFiltersChange()}onCategoryChange(e){this.selectedFilters.categories=e,this.emitFiltersChange()}onBagsChange(e){this.selectedFilters.availableBagsCount=e,this.emitFiltersChange()}onTransmissionChange(e){this.selectedFilters.transmissionTypes=e,this.emitFiltersChange()}onFuelTypeChange(e){this.selectedFilters.fuelTypes=e,this.emitFiltersChange()}onPickupLocationTypesChange(e){this.selectedFilters.pickupLocationTypes=e,this.emitFiltersChange()}onReturnLocationTypesChange(e){this.selectedFilters.returnLocationTypes=e,this.emitFiltersChange()}onUnlimitedMilageToggle(e){this.selectedUnlimitedMilage=e.value===null?"null":String(e.value),this.onCustomFilterChange("unlimitedMilage"),this.buildCustomToggleOptions()}onAirConditioningToggle(e){this.selectedAirConditioning=e.value===null?"null":String(e.value),this.onCustomFilterChange("airConditioning"),this.buildCustomToggleOptions()}onCustomFilterChange(e){let i=e==="unlimitedMilage"?this.selectedUnlimitedMilage:this.selectedAirConditioning,t=i==="true"?!0:i==="false"?!1:null;this.selectedFilters[e]=t,this.emitFiltersChange()}emitFiltersChange(){this.filtersChange.emit(this.selectedFilters)}buildTransmissionOptions(){this.transmissionOptions=(this.carFilters?.transmissionTypes||[]).map(e=>({label:e.name,value:e.code,checked:this.selectedFilters.transmissionTypes?.includes(e.code)}))}buildBagsOptions(){this.bagsOptions=(this.carFilters?.availableBagsCount||[]).map(e=>({label:`${e} ${this.translate.instant("car.filter-car.bags")}${e>1?"s":""}`,value:e,checked:this.selectedFilters.availableBagsCount?.includes(e)}))}buildVendorOptions(){this.vendorsOptions=(this.carFilters?.vendors||[]).map(e=>({label:e.name,value:e.code,checked:this.selectedFilters.vendors?.includes(e.code)}))}buildCategoryOptions(){this.categoriesOptions=(this.carFilters?.categories||[]).map(e=>({label:e.name,value:e.code,checked:this.selectedFilters.categories?.includes(e.code)}))}buildFuelTypeOptions(){this.fuelTypeOptions=(this.carFilters?.fuelTypes||[]).map(e=>({label:e.name,value:e.code,checked:this.selectedFilters.fuelTypes?.includes(e.code)}))}buildCustomToggleOptions(){this.unlimitedMilageOptions=[{label:this.translate.instant("car.filter-car.unlimited"),value:!0,checked:this.selectedUnlimitedMilage==="true"},{label:this.translate.instant("car.filter-car.limited"),value:!1,checked:this.selectedUnlimitedMilage==="false"}],this.airConditioningOptions=[{label:this.translate.instant("car.filter-car.with-air-conditioning"),value:!0,checked:this.selectedAirConditioning==="true"},{label:this.translate.instant("car.filter-car.no-air-conditioning"),value:!1,checked:this.selectedAirConditioning==="false"}]}buildPickupLocationTypesOptions(){this.pickupLocationTypesOptions=(this.carFilters?.pickupLocationTypes||[]).map(e=>({label:e.name,value:e.code,checked:this.selectedFilters.pickupLocationTypes?.includes(e.code)}))}buildReturnLocationTypesOptions(){this.returnLocationTypesOptions=(this.carFilters?.returnLocationTypes||[]).map(e=>({label:e.name,value:e.code,checked:this.selectedFilters.returnLocationTypes?.includes(e.code)}))}};a.\u0275fac=function(i){return new(i||a)(b(W),b(N),b(Pe),b(X))}
1,a.\u0275cmp=M({type:a,selectors:[["app-car-filter"]],inputs:{filterPriceRange:"filterPriceRange",carSearchKey:"carSearchKey",carFilters:"carFilters",ordenationFilter:"ordenationFilter",carSearchList:"carSearchList",fromModal:"fromModal"},outputs:{filtersChange:"filtersChange",emitFilterPriceChange:"emitFilterPriceChange",emmiterCarFilterClearFilter:"emmiterCarFilterClearFilter",emitFilterOrdenation:"emitFilterOrdenation"},features:[V,Y],decls:17,vars:32,consts:[[1,"car-filter-wrapper",3,"ngClass"],[3,"title","options","disabled","themeColor","layout","multiSelect","requireSelection"],[3,"title","options","multiSelect","disabled"],[3,"title","filterPriceRange","priceSelection","disabled","labelIn","labelUntil","currencie"],[3,"change","title","options","themeColor","layout","disabled","multiSelect","requireSelection"],["matButton","",1,"btn-surface","btn-clear-filter",3,"click"],[3,"change","title","options","disabled","themeColor","layout","multiSelect","requireSelection"],[1,"title"],[3,"locationSelected","searchKey","sameLocations","label","placeholder","initialLocationName","type"],[3,"change","title","options","multiSelect","disabled"],[3,"priceChange","title","filterPriceRange","priceSelection","disabled","labelIn","labelUntil","currencie"]],template:function(i,t){i&1&&(l(0,"div",0),_(1,Pt,4,3),_(2,kt,4,22,"app-toggle-filter",1),_(3,Et,5,9,"div")(4,Bt,8,18),_(5,Vt,2,6,"app-selectable-filter",2),_(6,Rt,2,2),_(7,Nt,4,13,"app-price-filter",3),_(8,At,2,6,"app-selectable-filter",2),_(9,Kt,2,6,"app-selectable-filter",2),_(10,zt,2,6,"app-selectable-filter",2),_(11,jt,2,6,"app-selectable-filter",2),_(12,Ut,2,6,"app-selectable-filter",2),l(13,"app-toggle-filter",4),u(14,"translate"),m("change",function(p){return t.onUnlimitedMilageToggle(p)}),s(),l(15,"app-toggle-filter",4),u(16,"translate"),m("change",function(p){return t.onAirConditioningToggle(p)}),s()()),i&2&&(h("ngClass",xe(30,xt,!t.fromModal)),o(),S(t.mobileDevice?-1:1),o(),S(t.mobileDevice?2:-1),o(),S(t.sameLocations?3:4),o(2),S(t.sameLocations&&t.pickupLocationTypesOptions.length>1?5:-1),o(),S(t.sameLocations?-1:6),o(),S(t.showEqualPrices?7:-1),o(),S(t.categoriesOptions.length>1?8:-1),o(),S(t.vendorsOptions.length>1?9:-1),o(),S(t.transmissionOptions.length>1?10:-1),o(),S(t.fuelTypeOptions.length>1?11:-1),o(),S(t.bagsOptions.length>1?12:-1),o(),h("title",f(14,26,"car.filter-car.mileage"))("options",t.unlimitedMilageOptions)("themeColor","primary")("layout","row-toggle")("disabled",!1)("multiSelect",!1)("requireSelection",!1),o(2),h("title",f(16,28,"car.filter-car.air-conditioning"))("options",t.airConditioningOptions)("themeColor","primary")("layout","row-toggle")("disabled",!1)("multiSelect",!1)("requireSelection",!1))},dependencies:[Te,R,ie,ct,_t,st,lt,O],styles:['@charset "UTF-8";.car-filter-wrapper[_ngcontent-%COMP%]{padding:16px;border-radius:var(--mat-sys-corner-medium)}.car-filter-wrapper[_ngcontent-%COMP%] .btn-clear-filter[_ngcontent-%COMP%]{margin-bottom:1rem}.car-filter-wrapper[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-weight:400;color:#222;margin:1rem 0px;font-size:var(--type-body-medium-size);line-height:var(--type-body-medium-line-height);letter-spacing:var(--type-body-medium-tracking)}@media(max-width:63.9375em){.car-filter-wrapper[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:var(--type-body-medium-size);line-height:var(--type-body-medium-line-height);letter-spacing:var(--type-body-medium-tracking)}}@media(max-width:39.9375em){.car-filter-wrapper[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:var(--type-body-small-size);line-height:var(--type-body-small-line-height);letter-spacing:var(--type-body-small-tracking)}}.car-filter-wrapper[_ngcontent-%COMP%] .custom-disabled[_ngcontent-%COMP%]{opacity:.5;cursor:not-allowed}.car-filter-wrapper[_ngcontent-%COMP%] .custom-disabled[_ngcontent-%COMP%] .custom-control[_ngcontent-%COMP%], .car-filter-wrapper[_ngcontent-%COMP%] .custom-disabled[_ngcontent-%COMP%] .form-check[_ngcontent-%COMP%], .car-filter-wrapper[_ngcontent-%COMP%] .custom-disabled[_ngcontent-%COMP%] .form-check-disabled[_ngcontent-%COMP%]{pointer-events:none}.car-filter-wrapper.back-color[_ngcontent-%COMP%]{background-color:#f9f9f9}']});let r=a;return r})();function $t(r,a){if(r&1){let n=F();l(0,"app-car-filter",9),m("filtersChange",function(i){g(n);let t=c();return C(t.filtersChange(i))})("emitFilterPriceChange",function(i){g(n);let t=c();return C(t.filterPriceChange(i))})("emitFilterOrdenation",function(i){g(n);let t=c();return C(t.filterOrdenationChange(i))}),s()}if(r&2){let n=c();h("carFilters",n.data==null?null:n.data.carFilters)("ordenationFilter",n.data==null?null:n.data.ordenationFilter)("carSearchList",n.data==null?null:n.data.carSearchList)("carSearchKey",n.data==null?null:n.data.carSearchKey)("filterPriceRange",n.data==null?null:n.data.filterPriceRange)("fromModal",!0)}}var St=(()=>{let a=class a extends ne{constructor(e,i,t){super(e),this.dialogRef=i,this.data=t,this.updatePriceFilter=!1}ngOnInit(){this.ordenationFilter=this.data?.ordenationFilter,this.filters=this.data?.carSearchList?.filters}clear(){let e={search:!1,clear:!0,filters:null,ordenationFilter:null,updatePriceFilter:!1};this.dialogRef.close(e)}search(){if(this.filters){let e={search:!0,clear:!1,filters:this.filters,ordenationFilter:this.ordenationFilter,updatePriceFilter:this.updatePriceFilter};this.dialogRef.close(e)}}close(){this.dialogRef.close()}filtersChange(e){this.updatePriceFilter=!0,this.filters=e}filterOrdenationChange(e){this.ordenationFilter=+e}filterPriceChange(e){this.filters=e}};a.\u0275fac=function(i){return new(i||a)(b(W),b(ze),b(je))},a.\u0275cmp=M({type:a,selectors:[["app-car-filter-modal"]],features:[V],decls:17,vars:10,consts:[[1,"modal-header"],[1,"modal-header-titles"],[1,"title"],["type","button","matIconButton","",3,"click"],[1,"modal-body"],[3,"carFilters","ordenationFilter","carSearchList","carSearchKey","filterPriceRange","fromModal"],[1,"modal-footer","flex","flex-jc-fe","flex-gap"],["matButton","outlined",3,"click"],["matButton","filled",3,"click"],[3,"filtersChange","emitFilterPriceChange","emitFilterOrdenation","carFilters","ordenationFilter","carSearchList","carSearchKey","filterPriceRange","fromModal"]],template:function(i,t){i&1&&(l(0,"div",0)(1,"div",1)(2,"span",2),y(3),u(4,"translate"),s()(),l(5,"button",3),m("click",function(){return t.close()}),l(6,"mat-icon"),y(7,"close"),s()()(),l(8,"div",4),_(9,$t,1,6,"app-car-filter",5),s(),l(10,"div",6)(11,"button",7),m("click",function(){return t.clear()}),y(12),u(13,"translate"),s(),l(14,"button",8),m("click",function(){return t.search()}),y(15),u(16,"translate"),s()()),i&2&&(o(3),v(" ",f(4,4,"car.filter-car.filters")," "),o(6),S(t.data?9:-1),o(3),v(" ",f(13,6,"car.filter-car.clear")," "),o(3),v(" ",f(16,8,"car.filter-car.apply")," "))},dependencies:[J,k,ae,R,O],styles:['@charset "UTF-8";.modal-header[_ngcontent-%COMP%]{flex:0 0 auto;display:flex;justify-content:space-between;align-items:center;padding:.5rem 1rem;border-bottom:1px solid #eee}.modal-header[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{color:#7
177;font-weight:700;font-size:var(--type-label-large-size);line-height:var(--type-label-large-line-height);letter-spacing:var(--type-label-large-tracking)}@media(max-width:63.9375em){.modal-header[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:var(--type-label-medium-size);line-height:var(--type-label-medium-line-height);letter-spacing:var(--type-label-medium-tracking)}}.modal-body[_ngcontent-%COMP%]{flex:1 1 auto;padding:0rem;overflow-y:auto}.modal-footer[_ngcontent-%COMP%]{flex:0 0 auto;margin-top:auto;padding:1rem;border-top:1px solid #eee}.car-filter-dialog-wrapper[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%;overflow:hidden}.dialog-content[_ngcontent-%COMP%]{flex:1 1 auto;overflow-y:auto}']});let r=a;return r})();var Ht=()=>({height:"45px",width:"50%","margin-bottom":"16px","border-radius":"24px"}),Wt=()=>["input","price","selectable","toggle2"];function Yt(r,a){r&1&&(l(0,"mat-card",1),w(1,"ngx-skeleton-loader",3)(2,"mat-divider")(3,"app-skeleton-filter",4),s()),r&2&&(o(),h("theme",D(2,Ht)),o(2),h("skeletonTypes",D(3,Wt)))}function Gt(r,a){if(r&1){let n=F();l(0,"app-car-filter",5),m("filtersChange",function(i){g(n);let t=c();return C(t.filtersChange.emit(i))})("emitFilterPriceChange",function(i){g(n);let t=c();return C(t.filterPriceChange.emit(i))})("emitFilterOrdenation",function(i){g(n);let t=c();return C(t.changeOrdenation.emit(i))})("emmiterCarFilterClearFilter",function(){g(n);let i=c();return C(i.clearFilter.emit())}),s()}if(r&2){let n=c();h("carSearchList",n.carSearchList)("carFilters",n.carFilters)("ordenationFilter",n.carSearchList==null?null:n.carSearchList.ordination)("carSearchKey",n.carSearchKey)("filterPriceRange",n.filterPriceRange)("fromModal",n.fromModal)}}var bt=(()=>{let a=class a{constructor(){this.isLoading=!1,this.filtersChange=new x,this.filterPriceChange=new x,this.changeOrdenation=new x,this.clearFilter=new x}};a.\u0275fac=function(i){return new(i||a)},a.\u0275cmp=M({type:a,selectors:[["app-car-filters-desktop"]],inputs:{isLoading:"isLoading",carSearchList:"carSearchList",carFilters:"carFilters",carSearchKey:"carSearchKey",filterPriceRange:"filterPriceRange",fromModal:"fromModal"},outputs:{filtersChange:"filtersChange",filterPriceChange:"filterPriceChange",changeOrdenation:"changeOrdenation",clearFilter:"clearFilter"},decls:3,vars:2,consts:[[1,"card-filter"],["appearance","outlined",1,"sk-filter"],[3,"carSearchList","carFilters","ordenationFilter","carSearchKey","filterPriceRange","fromModal"],[1,"flex",3,"theme"],[3,"skeletonTypes"],[3,"filtersChange","emitFilterPriceChange","emitFilterOrdenation","emmiterCarFilterClearFilter","carSearchList","carFilters","ordenationFilter","carSearchKey","filterPriceRange","fromModal"]],template:function(i,t){i&1&&(l(0,"div",0),_(1,Yt,4,4,"mat-card",1),_(2,Gt,1,6,"app-car-filter",2),s()),i&2&&(o(),S(t.isLoading?1:-1),o(),S(t.isLoading?-1:2))},dependencies:[Oe,te,ee,Z,ie,re,tt,ae],styles:['[_nghost-%COMP%]{display:block}.card-filter[_ngcontent-%COMP%]{padding:0;display:flex;flex-direction:column;gap:16px}.card-filter[_ngcontent-%COMP%] .sk-filter[_ngcontent-%COMP%]{padding:16px;border-radius:var(--mat-sys-corner-medium)}.card-filter[_ngcontent-%COMP%] .map-fixed[_ngcontent-%COMP%]{position:relative;width:100%;height:90px;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000001a}.card-filter[_ngcontent-%COMP%] .map-fixed[_ngcontent-%COMP%] .map-image-fixed[_ngcontent-%COMP%]{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}.card-filter[_ngcontent-%COMP%] .map-fixed[_ngcontent-%COMP%]:hover .map-image-fixed[_ngcontent-%COMP%]{transform:scale(1.05)}.card-filter[_ngcontent-%COMP%] .map-fixed[_ngcontent-%COMP%] .map-button-fixed[_ngcontent-%COMP%]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);white-space:nowrap;cursor:pointer;z-index:2}.card-filter[_ngcontent-%COMP%] .map-fixed[_ngcontent-%COMP%]:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:#0000000d;pointer-events:none}.card-filter[_ngcontent-%COMP%] hr[_ngcontent-%COMP%]{border:0;border-top:1px solid #eeeeee;margin:16px 0}.card-filter[_ngcontent-%COMP%] .btn-clear-filter[_ngcontent-%COMP%]{display:flex;justify-content:center;margin:12px 0}.card-filter[_ngcontent-%COMP%] app-car-filter[_ngcontent-%COMP%]{display:block;width:100%}@media(max-width:768px){.card-filter[_ngcontent-%COMP%] .map-fixed[_ngcontent-%COMP%]{height:120px}}'],changeDetection:0});let r=a;return r})();function Qt(r,a){if(r&1&&(l(0,"span",2),y(1),s()),r&2){let n=c();o(),Q(n.messageFilter)}}var Ft=(()=>
1{let a=class a{constructor(e,i){e.addSvgIcon("notFoundSvg",i.bypassSecurityTrustResourceUrl("assets/img/new/not-found.svg"))}};a.\u0275fac=function(i){return new(i||a)(b(Ue),b(Ae))},a.\u0275cmp=M({type:a,selectors:[["app-car-not-found"]],inputs:{messageFilter:"messageFilter"},decls:7,vars:4,consts:[[1,"not-found-content"],[1,"not-found-text"],[1,"not-found-text-sub"],[1,"not-found-image"],["svgIcon","notFoundSvg"]],template:function(i,t){i&1&&(l(0,"div",0)(1,"span",1),y(2),u(3,"translate"),s(),_(4,Qt,2,1,"span",2),l(5,"div",3),w(6,"mat-icon",4),s()()),i&2&&(o(2),v(" ",f(3,2,"car.car-not-found")," "),o(2),S(t.messageFilter?4:-1))},dependencies:[k,O],styles:['@charset "UTF-8";.not-found-content[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:28px;margin-top:100px}.not-found-content[_ngcontent-%COMP%] .not-found-text[_ngcontent-%COMP%]{text-align:center;color:#222;font-weight:700;font-size:var(--type-title-large-size);line-height:var(--type-title-large-line-height);letter-spacing:var(--type-title-large-tracking)}@media(max-width:63.9375em){.not-found-content[_ngcontent-%COMP%] .not-found-text[_ngcontent-%COMP%]{font-size:var(--type-title-medium-size);line-height:var(--type-title-medium-line-height);letter-spacing:var(--type-title-medium-tracking)}}@media(max-width:39.9375em){.not-found-content[_ngcontent-%COMP%] .not-found-text[_ngcontent-%COMP%]{font-size:var(--type-body-large-size);line-height:var(--type-body-large-line-height);letter-spacing:var(--type-body-large-tracking)}}.not-found-content[_ngcontent-%COMP%] .not-found-text-sub[_ngcontent-%COMP%]{text-align:center;color:#222;margin:16px 0;font-weight:300;font-size:var(--type-title-large-size);line-height:var(--type-title-large-line-height);letter-spacing:var(--type-title-large-tracking)}@media(max-width:63.9375em){.not-found-content[_ngcontent-%COMP%] .not-found-text-sub[_ngcontent-%COMP%]{font-size:var(--type-body-large-size);line-height:var(--type-body-large-line-height);letter-spacing:var(--type-body-large-tracking)}}@media(max-width:39.9375em){.not-found-content[_ngcontent-%COMP%] .not-found-text-sub[_ngcontent-%COMP%]{font-size:var(--type-body-medium-size);line-height:var(--type-body-medium-line-height);letter-spacing:var(--type-body-medium-tracking)}}.not-found-content[_ngcontent-%COMP%] .not-found-image[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{width:200px;height:200px;display:block}@media(max-width:768px){.not-found-content[_ngcontent-%COMP%]{margin-top:10px;margin-bottom:30px}}']});let r=a;return r})();var Xt=()=>({height:"15px",width:"150px","margin-bottom":"0px"}),Jt=(r,a)=>({lengthCar:r,numCars:a}),Zt=()=>[1,2,3,4],ei=(r,a)=>a==null?null:a.carKey;function ti(r,a){r&1&&w(0,"mat-progress-bar",4)}function ii(r,a){r&1&&(l(0,"mat-card",19),w(1,"app-car-card-skeleton"),s())}function ni(r,a){r&1&&j(0,ii,2,0,"mat-card",19,G),r&2&&U(D(0,Zt))}function ri(r,a){if(r&1){let n=F();l(0,"app-car-card",22),m("disableButtons",function(i){g(n);let t=c(2);return C(t.disableButtons(i))})("selectCarEventEmitter",function(i){g(n);let t=c(2);return C(t.onSelectCar(i))}),s()}if(r&2){let n=a.$implicit,e=a.$index,i=c(2);h("car",n)("index",e)("buttonLoading",i.buttonLoading[e])("disableButtonSelectedCar",i.disableButtonSelectedCar)}}function ai(r,a){if(r&1){let n=F();l(0,"div",20),m("scrolled",function(){g(n);let i=c();return C(i.onScrollPagination())}),j(1,ri,1,4,"app-car-card",21,ei),s()}if(r&2){let n=c();h("infiniteScrollDistance",0)("infiniteScrollThrottle",300)("alwaysCallback",!0),o(),U(n.cars)}}function oi(r,a){if(r&1&&w(0,"app-car-not-found",17),r&2){let n=c();h("messageFilter",n.messageFilter)}}var Wn=(()=>{let a=class a extends at{constructor(e,i,t,d,p,P,E,B){super(),this.navigationService=e,this.translateService=i,this.searchBookingService=t,this.carService=d,this.webSocketService=p,this.carBookingService=P,this.affiliateTrackingService=E,this.filterModalHelper=B,this.typeSearchCar=de.CAR,this.showLoaderCarList=!1,this.showLoaderCarFilter=!1,this.webSocketCarResponseStatusEnded=!1,this.searchTimeout=null,this.totalCarsCount=0,this.messageFilter="",this.lastSearchParams=null,this.carSearchList=new $,this.buttonLoading=[],this.disableButtonSelectedCar=!1,this.filterSearchDebounceTimer=null,this.queuedFilterSearchFromFilter=!1,this.lastDisabledButton=null,this.carSortOptions=[{code:1,labelKey:"car.filter-car.order.lower"},{code:2,labelKey:"car.filter-car.order.highest"}],this.breakpointSubscription$=this.observeMobileBreakpoint()}ngOnInit(){this.queryParamsSubscription$=this.route.queryParams.subscribe(e=>L(this,null,function*(){this.carSearch=this.carService.rebuildCarSearch(e),this.carSearch&&(this.carService.updateCarSearchState({carSearch:this.carSearch}),this.configureViewAfterGetCar())}))}configureViewAfterGetCar(){this.language=this.translateService.getDefaultLang(),this.institution=JSON.parse(sessionStorage.getItem("institution")),this.connectWebSocket()}connectWebSocket(){return L(this,null,function*(){this.showLoader=!0,this.showLoaderCarList=!0,this.showLoaderCarFilter=!0,this.webSocketCarResponseStatusEnded=!1;let e={pickupDateAndTime:this.combineDateAndTime(this.carSearch.pickupDateAndTime,this.carSearch.pickupTime),returnDateAndTime:this.combineDateAndTime(this.carSearch.returnDateAndTime,this.carSearch.returnTime),pickupLocation:this.carSearch.pickupLocation,returnLocation:this.carSearch.returnLocation};this.searchBookingService.saveCar(this.carSearch).subscribe(i=>
1{sessionStorage.setItem("searchBookingKey",i.data)}),this.carService.carSearchKey(e).subscribe(i=>L(this,null,function*(){let t=i.searchKey;this.carSearchKey=t,this.webSocketCarSubscription$?.unsubscribe(),yield this.webSocketService.close();let d={action:"OnSubscribe",SubscriptionKey:t,GetLastMessage:!0};this.webSocketService.connect(de.CAR),this.webSocketCarSubscription$=he(()=>this.webSocketService.sendMessage(d)).pipe(z(p=>String(p?.data??"").replace(/"/g,"")),me(p=>p===A.PARTIAL||p===A.ENDED),be(p=>p!==A.ENDED,!0),fe(p=>L(this,null,function*(){return this.searchTimeout?.noteMessage(),yield this.searchCarList(!0,!0,!0,p),p===A.ENDED&&(yield this.finalizeEndedState()),p}))).subscribe({error:p=>L(this,null,function*(){yield this.webSocketService.close(),this.showLoader=!1,this.showLoaderCarList=!1,this.showLoaderCarFilter=!1,this.loadingButtonSeeMore=!1,this.closeWebSocketConnection()})}),this.startSearchTimeout()}))})}searchCarList(e,i,t,d){return L(this,null,function*(){if(this.updateOrdenationLabel(1),this.isLoading){this.lastSearchParams={resetPageble:e,fromFilter:i,fromWebSocket:t,webSocketData:d};return}this.isLoading=!0,e&&(this.scrollToTop(),this.carSearchList.page=1,this.showLoader=!0,this.showLoaderCarList=!0,t&&(this.cars=[])),i&&(this.carSearchList.filters.startPrice=null,this.carSearchList.filters.endPrice=null);try{let p=yield this.carService.carSearchListV2(this.carSearchList,this.carSearchKey);if(i&&p?.priceFilter&&(this.filterPriceRange=T({},p?.priceFilter)),!p||p?.cars.length===0&&this.webSocketCarResponseStatusEnded){this.cars=[],this.showLoader=!1,this.showLoaderCarList=!1,this.haveMore=!1,this.totalCarsCount=0;return}e?this.cars=p.cars:this.cars.push(...p.cars),this.haveMore=p.haveMore,this.totalCarsCount=p.count,this.cars.length<=0&&(this.showLoaderCarFilter=!1)}catch{this.closeWebSocketConnection(),this.cars=[],this.totalCarsCount=0,this.haveMore=!1,this.showLoader=!1,this.showLoaderCarList=!1,this.loadingButtonSeeMore=!1}finally{if(this.showLoaderCarList=!1,this.loadingButtonSeeMore=!1,this.isLoading=!1,this.lastSearchParams){this.cars=[];let{resetPageble:p,fromFilter:P,fromWebSocket:E,webSocketData:B}=this.lastSearchParams;this.lastSearchParams=null,yield this.searchCarList(p,P,E,B)}}})}getFilter(e){return L(this,null,function*(){this.carService.carSearchFilter(e).subscribe({next:i=>{i&&(this.carFilters=i,this.showLoaderCarFilter=!1)},error:i=>{this.showLoaderCarFilter=!1}})})}startSearchTimeout(){this.searchTimeout?.stop(),this.searchTimeout=new ot(a.SILENCE_MS,a.TOTAL_MS,a.MAX_SILENCE_RECONNECTS,{onSilence:()=>this.onSearchSilence(),onForceEnded:()=>{this.onSearchForceEnded()}}),this.searchTimeout.start()}onSearchSilence(){this.webSocketCarResponseStatusEnded||(this.showLoader=!0,this.showLoaderCarList=!0,this.showLoaderCarFilter=!0,this.webSocketService.forceReconnect("car-silence"))}onSearchForceEnded(){return L(this,null,function*(){if(!this.webSocketCarResponseStatusEnded)try{yield this.searchCarList(!0,!0,!0,A.ENDED),yield this.finalizeEndedState()}catch{this.closeWebSocketConnection(),this.showLoader=!1,this.showLoaderCarList=!1,this.showLoaderCarFilter=!1,this.loadingButtonSeeMore=!1}finally{this.webSocketCarSubscription$?.unsubscribe()}})}finalizeEndedState(){return L(this,null,function*(){this.webSocketCarResponseStatusEnded||(this.webSocketCarResponseStatusEnded=!0,yield this.getFilter(this.carSearchKey),yield this.webSocketService.close(),this.webSocketService.forgetSubscription(this.carSearchKey),this.searchTimeout?.stop(),this.showLoader=!1,this.showLoaderCarList=!1,this.showLoaderCarFilter=!1,this.loadingButtonSeeMore=!1)})}closeWebSocketConnection(){return L(this,null,function*(){this.searchTimeout?.stop(),this.webSocketCarSubscription$?.unsubscribe(),yield this.webSocketService?.close()})}openModalFilter(){let e={carFilters:this.carFilters,ordenationFilter:this.carSearchList?.ordination,carSearchList:this.carSearchList,carSearchKey:this.carSearchKey,filterPriceRange:this.filterPriceRange};this.filterModalHelper.open(St,e).afterClosed().subscribe(t=>{t?.search&&(this.carSearchList=H(T({},this.carSearchList),{ordination:t.ordenationFilter,filters:T(T({},this.carSearchList.filters),t.filters)}),this.searchCarList(!0,t.updatePriceFilter,!1,null),this.showLoader=!1),t?.clear&&this.clearFilter()})}disableButtons(e){this.disableButtonSelectedCar=!0,this.buttonLoading[e]=!0,this.lastDisabledButton={index:e}}enableLastDisabledButton(){if(!this.lastDisabledButton)return;let{index:e}=this.lastDisabledButton;this.buttonLoading[e]=!1,this.disableButtonSelectedCar=!1,this.lastDisabledButton=null}onSelectCar(e){this.closeWebSocketConnection(),this.carService.updateCarSearchState({carSearch:this.carSearch});let i=this.searchBookingService.getSearchBookingKey(),t={car:{carKey:e?.carKey,searchKey:e?.searchKey},searchBookingKey:i,affiliateTag:this.affiliateTrackingService.getAffiliateTag()};this.carBookingService.setBookingCar(t).subscribe({next:d=>{sessionStorage.removeItem("searchBookingKey"),setTimeout(()=>{this.navigationService.navigation(["/car-cart"],{newCartId:d.data,source:"c"})},100)},error:d=>{this.enableLastDisabledButton(),this.notificationService.snackError(this.translate.instant($e.UNEXPECTED_ERROR))}})}filtersChange(e){this.carSearchList=H(T({},this.carSearchList),{filters:T(T({},this.carSearchList.filters),e)}),this.scheduleFilterSearch(!0)}filterPriceChange(e){this.carSearchList=H(T({},this.carSearchList),{filters:T(T({},this.carSearchList.filters),e)}),this.scheduleFilterSearch(!1)}scheduleFilterSearch(e){this.filterSearchDebounceTimer&&clearTimeout(this.filterSearchDebounceTimer),this.queuedFilterSearchFromFilter=e,this.filterSearchDebounceTimer=setTimeout(()=>L(this,null,function*(){this.filterSearchDebounceTimer=null,yield this.searchCarList(!0,this.queuedFilterSearchFromFilter,!1,null),this.showLoader=!1}),300)}clearFilter(){return L(this,null,function*(){this.filterPriceRange=null,this.carSearchList=new $,yield this.searchCarList(!0,!0,!1,null),this.showLoader=!1})}changeOrdenation(e){return L(this,null,function*(){this.carSearchList.ordination=e,yield this.searchCarList(!0,!1,!1,null),this.showLoader=!1,this.updateOrdenationLabel(e)}
1)}updateOrdenationLabel(e){switch(e){case 1:this.currentOrdenationLabel="car.filter-car.order.lower";break;case 2:this.currentOrdenationLabel="car.filter-car.order.highest";break;default:this.currentOrdenationLabel="car.filter-car.order.lower"}}fetchNextPage(){return L(this,null,function*(){this.carSearchList.page=this.carSearchList.page+1,yield this.searchCarList(!1,!1,null),this.showLoader=!1})}ngOnDestroy(){this.filterSearchDebounceTimer&&(clearTimeout(this.filterSearchDebounceTimer),this.filterSearchDebounceTimer=null),this.breakpointSubscription$?.unsubscribe(),this.queryParamsSubscription$?.unsubscribe(),this.closeWebSocketConnection()}combineDateAndTime(e,i){if(!i||!/^\d{2}:\d{2}$/.test(i))throw new Error('Hor\xE1rio inv\xE1lido. Use o formato "HH:mm".');let[t,d]=i.split(":").map(Number);if(isNaN(t)||isNaN(d))throw new Error('Hora inv\xE1lida no formato esperado: "HH:mm".');let p,P,E;if(typeof e=="string"){let B=e.split("T")[0].split("-");if(B.length===3)[p,P,E]=B;else throw new Error('Formato de data inv\xE1lido. Esperado "YYYY-MM-DD".')}else if(e instanceof Date)p=String(e.getUTCFullYear()),P=String(e.getUTCMonth()+1).padStart(2,"0"),E=String(e.getUTCDate()).padStart(2,"0");else throw new Error("Entrada de data inv\xE1lida.");return`${p}-${P}-${E}T${String(t).padStart(2,"0")}:${String(d).padStart(2,"0")}:00.000Z`}};a.SILENCE_MS=3e4,a.TOTAL_MS=6e4,a.MAX_SILENCE_RECONNECTS=1,a.\u0275fac=function(i){return new(i||a)(b(Ge),b(Ke),b(Qe),b(N),b(it),b(gt),b(Ye),b(mt))},a.\u0275cmp=M({type:a,selectors:[["app-car-list"]],features:[V],decls:28,vars:43,consts:[[1,"container","container-content"],["app-back-button","",3,"text","whereTo"],["appearance","outlined",1,"search"],[3,"buttonType"],["mode","indeterminate",1,"progress"],[3,"isLoading"],["loading","",1,"filters-mobile-item"],[3,"theme"],["matButton","",1,"btn-tertiary","filters-mobile-item",3,"click"],[1,"content"],[1,"filter-section"],[3,"filtersChange","filterPriceChange","changeOrdenation","clearFilter","isLoading","carSearchList","carFilters","carSearchKey","filterPriceRange","fromModal"],[1,"list-section"],[3,"sortChange","loadingResults","loadingFilters","isMobile","sortOptions","currentSortLabelKey","orderByLabelKey"],["quantity",""],["title",""],["infiniteScroll","",3,"infiniteScrollDistance","infiniteScrollThrottle","alwaysCallback"],[3,"messageFilter"],[3,"loadMore","hasMore","showLoader","isLoading","totalItems"],["appearance","outlined",1,"card-car"],["infiniteScroll","",3,"scrolled","infiniteScrollDistance","infiniteScrollThrottle","alwaysCallback"],[3,"car","index","buttonLoading","disableButtonSelectedCar"],[3,"disableButtons","selectCarEventEmitter","car","index","buttonLoading","disableButtonSelectedCar"]],template:function(i,t){i&1&&(l(0,"div",0),w(1,"div",1),l(2,"mat-card",2),w(3,"app-search-car",3),s(),_(4,ti,1,0,"mat-progress-bar",4),l(5,"x-list-filters-mobile",5)(6,"div",6),w(7,"ngx-skeleton-loader",7),s(),l(8,"button",8),m("click",function(){return t.openModalFilter()}),l(9,"mat-icon"),y(10,"filter_alt"),s(),y(11),u(12,"translate"),s()(),l(13,"div",9)(14,"div",10)(15,"app-car-filters-desktop",11),m("filtersChange",function(p){return t.filtersChange(p)})("filterPriceChange",function(p){return t.filterPriceChange(p)})("changeOrdenation",function(p){return t.changeOrdenation(p)})("clearFilter",function(){return t.clearFilter()}),s()(),l(16,"section",12)(17,"x-list-header",13),m("sortChange",function(p){return t.changeOrdenation(+p)}),le(18,14),y(19),u(20,"translate"),se(),le(21,15),y(22),u(23,"translate"),se(),s(),_(24,ni,2,1),_(25,ai,3,3,"div",16),_(26,oi,1,1,"app-car-not-found",17),l(27,"x-list-load-more",18),m("loadMore",function(){return t.onPagination()}),s()()()()),i&2&&(o(),h("text","back-buttons.home")("whereTo",t.backButtonWhereTo),o(2),h("buttonType","outlined"),o(),S(t.showLoader?4:-1),o(),ce("hidden-section",!t.mobileDevice),h("isLoading",t.showLoaderCarFilter),o(2),h("theme",D(39,Xt)),o(4),v(" ",f(12,32,"car.filter-car.order-and-filter")," "),o(3),ce("hidden-section",t.mobileDevice),o(),h("isLoading",t.showLoaderCarFilter)("carSearchList",t.carSearchList)("carFilters",t.carFilters)("carSearchKey",t.carSearchKey)("filterPriceRange",t.filterPriceRange)("fromModal",!1),o(2),h("loadingResults",t.showLoaderCarList)("loadingFilters",t.showLoaderCarList)("isMobile",t.mobileDevice)("sortOptions",t.carSortOptions)("currentSortLabelKey",t.currentOrdenationLabel)("orderByLabelKey","car.filter-car.order.orderBy"),o(2),v(" ",Me(20,34,"car.filter-car.found",I(40,Jt,(t.cars==null?null:t.cars.length)||0,t.totalCarsCount))," "),o(3),Q(f(23,37,"car.filter-car.choose-type-car")),o(2),S(t.showLoaderCarList?24:-1),o(),S(t.showLoaderCarList?-1:25),o(),S((t.cars==null?null:t.cars.length)===0&&!t.showLoaderCarList&&t.webSocketCarResponseStatusEnded&&!t.isLoading?26:-1),o(),h("hasMore",t.haveMore)("showLoader",t.showLoader)("isLoading",t.loadingButtonSeeMore)("totalItems",(t.cars==null?null:t.cars.length)||0))},dependencies:[et,Je,te,ee,ft,Ft,rt,nt,ut,re,Ze,R,k,Z,bt,pt,dt,ht,O],styles:['@charset "UTF-8";.container-content.float-space[_ngcontent-%COMP%]{margin-bottom:120px}@media(max-width:1200px){.container-content.float-space[_ngcontent-%COMP%]{margin-bottom:140px}}.content[_ngcontent-%COMP%]{margin-top:1rem;display:flex;gap:1rem}.content[_ngcontent-%COMP%] .filter-section[_ngcontent-%COMP%]{width:30%;min-width:280px}.content[_ngcontent-%COMP%] .list-section[_ngcontent-%COMP%]{width:70%;flex:1;margin-bottom:2rem}@media(max-width:1200px){.content[_ngcontent-%COMP%]{margin-top:0;flex-direction:column}.content[_ngcontent-%COMP%] .filter-section[_ngcontent-%COMP%], .content[_ngcontent-%COMP%] .list-section[_ngcontent-%COMP%]{width:100%}}.have-more[_ngcontent-%COMP%]{width:100%;display:flex;justify-content:center;align-items:center}.card-car[_ngcontent-%COMP%]{margin-bottom:1rem}.progress[_ngcontent-%COMP%], .search[_ngcontent-%COMP%]{margin-top:1rem}div[app-back-button][_ngcontent-%COMP%]:not([style*="display: none"]) + .search[_ngcontent-%COMP%]{margin-top:.2rem}.choose-title[_ngcontent-%COMP%]{text-align:left;color:#222;margin-bottom:1rem;font-weight:700;font-size:var(--type-body-large-size);line-height:var(--type-body-large-line-height);letter-spacing:var(--type-body-large-tracking)}@media(max-width:63.9375em){.choose-title[_ngcontent-%COMP%]{font-size:var(--type-body-medium-size);line-height:var(--type-body-medium-line-height);letter-spacing:var(--type-body-medium-tracking)}}@media(max-width:39.9375em){.choose-title[_ngcontent-%COMP%]{font-size:var(--type-body-medium-size);line-height:var(--type-body-medium-line-height);letter-spacing:var(--type-body-medium-tracking)}}.hidden-section[_ngcontent-%COMP%]{display:none!important}'],data:{animation:[Xe]}});let r=a;return r})();export{Wn as CarListComponent};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.