1import{_ as yt}from"./BiT7AYLn.js";import{A as ht}from"./DO9DZaMk.js";import{A as Me}from"./Bm8-hIdB.js";import{A as _t}from"./CPliXwAZ.js";import{A as We}from"./BAizjgRQ.js";import{X as xt,$ as Fe,ai as Mt,aj as Te,c as J,r as x,d as at,i as E,o as C,z as m,a6 as w,F as p,ak as Z,al as j,J as Ge,am as Ye,B as we,b as me,ao as qe,a9 as Ee,at as wt,K as Pt,aO as St,u as Ct,ay as It,aa as Oe,az as re,bg as Je,N as U,ax as Ze,aD as At}from"./8P37NOpr.js";import{V as Vt,a as Lt,b as X}from"./BfQGgBSz.js";import{P as W,B as te,g as Be,a as Re,A as ae,b as Nt,r as $t,c as et}from"./Cj0boSK_.js";import{l as kt}from"./De7Y52Zn.js";import{u as Ft}from"./Dkph4PK1.js";import{V as Ot}from"./C2hrUQkh.js";const q=xt("filter",{state:()=>({categories:[],subcategories:[],categoriesLoaded:!1,subcategoriesCache:{},amenities:[],amenitiesLoaded:!1,amenitiesPage:1,amenitiesPagination:null,subcategoryLabelsById:{},subcategoryLabelMapHydrated:!1}),getters:{data(e){return e},hasCategories(e){return e.categories.length>0},hasMoreAmenities(e){const i=e.amenitiesPagination?.current_page??e.amenitiesPage,c=e.amenitiesPagination?.last_page??i;return i<c},resolvePropertyTypeSpecializationLabel:e=>(i,c)=>{if(i!=null&&typeof i=="object"){const g=i;if(g.name_en!=null||g.name_ar!=null)return c==="ar"?g.name_ar||g.name_en||"":g.name_en||g.name_ar||"";if(g.id!=null&&e.subcategoryLabelsById[g.id]){const u=e.subcategoryLabelsById[g.id];return c==="ar"?u.name_ar:u.name_en}}const o=typeof i=="number"&&Number.isFinite(i)?i:Number(i);if(!Number.isFinite(o))return String(i??"");const v=e.subcategoryLabelsById[o];return v?c==="ar"?v.name_ar:v.name_en:String(i)}},actions:{async getCategories(){if(this.categoriesLoaded&&this.categories.length>0)return{categories:this.categories};try{const e=await Fe("/categories");return e?.categories&&(this.categories=e.categories,this.categoriesLoaded=!0),e}catch(e){return console.error("Error fetching categories:",e),null}},async getSubCategories(e){if(this.subcategoriesCache[e])return this.subcategories=this.subcategoriesCache[e],{subcategories:this.subcategories};try{const i=await Fe(`/categories/${e}?is_demand_side=1`);return i?.subcategories&&(this.subcategories=i.subcategories,this.subcategoriesCache[e]=i.subcategories),i}catch(i){return console.error("Error fetching subcategories:",i),null}},async getAmenities(e=1,i=!1){if(!i&&this.amenitiesLoaded&&this.amenities.length>0&&e===1)return{amenities:this.amenities,pagination:this.amenitiesPagination};try{const c=await Fe(`/amenities?page=${e}`,"no");return c?.amenities&&(this.amenities=i?[...this.amenities,...c.amenities]:c.amenities,this.amenitiesPagination=c.pagination??null,this.amenitiesPage=c.pagination?.current_page??e,e===1&&(this.amenitiesLoaded=!0)),c}catch(c){return console.error("Error fetching amenities:",c),null}},async hydrateSubcategoryLabelMap(){if(this.subcategoryLabelMapHydrated||(await this.getCategories(),!this.categories.length))return;const e={};
1for(const i of this.categories){await this.getSubCategories(i.id);const c=this.subcategoriesCache[i.id]||[];for(const o of c)e[o.id]={name_en:o.name_en,name_ar:o.name_ar}}this.subcategoryLabelsById=e,this.subcategoryLabelMapHydrated=!0},clearCache(){this.categories=[],this.subcategories=[],this.categoriesLoaded=!1,this.subcategoriesCache={},this.amenities=[],this.amenitiesLoaded=!1,this.amenitiesPage=1,this.amenitiesPagination=null,this.subcategoryLabelsById={},this.subcategoryLabelMapHydrated=!1}}}),Bt={key:0,class:"custom-dropdown-menu amenities-dropdown"},Rt={class:"amenities-filter-panel"},Wt={class:"amenities-filter-title"},Et={class:"amenities-filter-list"},Dt=["onClick"],Tt={class:"amenities-filter-label"},Ut={key:1,class:"field-box sm:!px-0 sm:!py-0 !px-5 !py-5 amenities-filter-inline"},jt={class:"field-box-title"},Qt={class:"amenities-filter-list"},zt=["onClick"],Xt={class:"amenities-filter-label"},tt=5,Kt={__name:"FilterAmenitiesFilter",props:{modelValue:{type:Array,default:()=>[]},variant:{type:String,default:"dropdown",validator:e=>["dropdown","list"].includes(e)}},emits:["update:modelValue"],setup(e,{emit:i}){const c=e,o=i,{locale:v}=Te(),g=q(),u=J(()=>v.value==="en"?"en":"ar"),I=x(!1),D=x(!1),A=J(()=>Array.isArray(c.modelValue)?c.modelValue.map(Number).filter(Boolean):[]),B=J(()=>g.amenities),V=J(()=>c.variant==="dropdown"||D.value?B.value:B.value.slice(0,tt)),K=J(()=>c.variant==="list"&&!D.value&&(B.value.length>tt||g.hasMoreAmenities)),H=J(()=>c.variant==="dropdown"&&g.hasMoreAmenities),G=b=>b?.[`title_${u.value}`]||b?.title_en||"",r=b=>A.value.includes(Number(b)),n=b=>{const h=Number(b),d=[...A.value],M=d.indexOf(h);M>=0?d.splice(M,1):d.push(h),o("update:modelValue",d)},f=async()=>{g.hasMoreAmenities&&await g.getAmenities(g.amenitiesPage+1,!0),D.value=!0};return at(async()=>{await g.getAmenities()}),(b,h)=>e.variant==="dropdown"?(C(),E("div",Bt,[m(St,{modelValue:I.value,"onUpdate:modelValue":h[0]||(h[0]=d=>I.value=d),"close-on-content-click":!1,"offset-y":"","scroll-strategy":"close"},{activator:w(({props:d})=>[m(We,Pt({dark:"","append-icon":I.value?"mdi-chevron-up":"mdi-chevron-down",label:b.$t("amenities")},d,{class:{"amenities-btn-active":I.value||A.value.length>0}}),null,16,["append-icon","label","class"])]),default:w(()=>[m(Vt,{class:"amenities-filter-menu pa-0"},{default:w(()=>[m(Lt,{class:"amenities-filter-menu-item"},{default:w(()=>[p("div",Rt,[p("p",Wt,j(b.$t("amenities")),1),p("ul",Et,[(C(!0),E(Ge,null,Ye(B.value,d=>(C(),E("li",{key:d.id,class:we(["amenities-filter-item",{"is-selected":r(d.id)}]),onClick:M=>n(d.id)},[p("span",Tt,j(G(d)),1),p("span",{class:we(["amenities-filter-checkbox",{checked:r(d.id)}])},[r(d.id)?(C(),me(qe,{key:0,size:"14",color:"white"},{default:w(()=>[...h[1]||(h[1]=[Ee("mdi-check",-1)])]),_:1})):Z("",!0)],2)],10,Dt))),128))]),H.value?(C(),E("button",{key:0,type:"button",class:"amenities-see-more-btn",onClick:wt(f,["stop"])},j(b.$t("see_more")),1)):Z("",!0)])]),_:1})]),_:1})]),_:1},8,["modelValue"])])):(C(),E("div",Ut,[p("h3",jt,j(b.$t("amenities")),1),p("ul",Qt,[(C(!0),E(Ge,null,Ye(V.value,d=>(C(),E("li",{key:d.id,class:we(["amenities-filter-item",{"is-selected":r(d.id)}]),onClick:M=>n(d.id)},[p("span",Xt,j(G(d)),1),p("span",{class:we(["amenities-filter-checkbox",{checked:r(d.id)}])},[r(d.id)?(C(),me(qe,{key:0,size:"14",color:"white"},{default:w(()=>[...h[2]||(h[2]=[Ee("mdi-check",-1)])]),_:1})):Z("",!0)],2)],10,zt))),128))]),K.value?(C(),E("button",{key:0,type:"button",class:"amenities-see-more-btn",onClick:f},j(b.$t("see_more")),1)):Z("",!0)]))}},Ht=Mt(Kt,[["__scopeId","data-v-970bea0e"]]);function Gt(){const{t:e,locale:i}=Te(),c=r=>{if(r==null||isNaN(Number(r)))return"0";const n=Number(r);return isFinite(n)?Math.floor(n).toString().replace(/\B(?=(\d{3})+(?!\d))/g,","):"0"},o=(r,n="en")=>{if(r==null||isNaN(Number(r)))return n==="ar"?"د.إ 0":"AED 0";const f=Number(r);
1if(!isFinite(f))return n==="ar"?"د.إ 0":"AED 0";const b=Math.floor(f).toString().replace(/\B(?=(\d{3})+(?!\d))/g,",");return`${n==="ar"?"د.إ":"AED"} ${b}`},v=r=>{if(r==null||isNaN(Number(r)))return`${e("sqft")} 0`;const n=Number(r);return isFinite(n)?`${e("sqft")} ${Math.floor(n).toString().replace(/\B(?=(\d{3})+(?!\d))/g,",")}`:`${e("sqft")} 0`},g=(r,n=9)=>{let f=r.toString().replace(/,/g,"").replace(/\D/g,"").slice(0,n);return f=f.replace(/^0+/,"")||"0",parseInt(f,10)||0};return{formatPrice:c,formatCurrency:o,formatArea:v,parseNumericInput:g,onPriceMin:(r,n)=>{const f=g(r,9);n.value=[f,n.value[1]]},onPriceMax:(r,n)=>{const f=g(r,9);n.value=[n.value[0],f]},onAreaMin:(r,n)=>{const f=r.toString().replace(/,/g,"").replace(/\D/g,"").slice(0,6),b=parseInt(f,10)||0,h=n.value[1]??1e5;n.value[0]=Math.min(Math.max(b,0),h-1)},onAreaMax:(r,n)=>{const f=r.toString().replace(/,/g,"").replace(/\D/g,"").slice(0,6),b=parseInt(f,10)||0,h=n.value[0]??0;n.value[1]=Math.max(b,h+1)},validatePrice:(r,n,f=W.MIN,b=W.MAX)=>{const h=n.value[r];let d=n.value[0]??f,M=n.value[1]??b;if(h==null||isNaN(Number(h)))r===0?d=f:M=b;else{const ne=Math.max(f,Math.min(Number(h),b));r===0?d=ne:M=ne}const P=d<=f,O=M>=b;!P&&!O&&d>=M&&(r===0?M=Math.min(b,d+1):d=Math.max(f,M-1)),n.value=[d,M]},validateArea:(r,n,f=0,b=1e5)=>{const h=n.value[r];h==null||isNaN(Number(h))?n.value[r]=r===0?f:b:n.value[r]=Math.max(f,Math.min(Number(h),b));const d=n.value[0]??f,M=n.value[1]??b;d>=M&&(r===0?n.value[1]=d+1:n.value[0]=M-1)},handleAddressSelection:(r,n)=>{n.isClear&&(n.isClear.value=!1);try{r&&r.length>0?(n.lat.value=r[0]?.lat,n.lng.value=r[0]?.lng,n.address.value=r.map(f=>f?.name_en).filter(Boolean).join(", "),n.locationId.value=r.map(f=>f.id)):(n.lat.value="",n.lng.value="",n.address.value="",n.locationId.value=[])}catch{}},checkIsMobile:(r=768)=>typeof window>"u"?!1:window.innerWidth<=r,getCurrentLang:()=>i.value==="en"?"en":"ar"}}const Pe=(e,i)=>{const c=[{value:"yearly",text:e("yearly")},{value:"monthly",text:e("monthly")},{value:"weekly",text:e("weekly")},{value:"daily",text:e("daily")},{value:"any",text:e("all")}];return i?.toLowerCase()==="commercial"?c.filter(o=>o.value==="yearly"||o.value==="monthly"):c},Yt=e=>({bedrooms:[{value:"studio",text:e("studio")},{value:"1",text:"1"},{value:"2",text:"2"},{value:"3",text:"3"},{value:"4",text:"4"},{value:"5",text:"5"},{value:"6",text:"6"},{value:"7",text:"7 +"}],bedroomsWithPlaceholder:[{value:"studio",text:e("studio")},{value:"1",text:"1"},{value:"2",text:"2"},{value:"3",text:"3"},{value:"4",text:"4"},{value:"5",text:"5"},{value:"6",text:"6"},{value:"7",text:"7 +"}],bathrooms:[{value:"1",text:"1"},{value:"2",text:"2"},{value:"3",text:"3"},{value:"4",text:"4"},{value:"5",text:"5"},{value:"6",text:"6"},{value:"7",text:"7 +"}],bathroomsWithPlaceholder:[{value:"1",text:"1"},{value:"2",text:"2"},{value:"3",text:"3"},{value:"4",text:"4"},{value:"5",text:"5"},{value:"6",text:"6"},{value:"7",text:"7 +"}],typeOptions:[{value:"for_sale",text:e("buy")},{value:"for_rent",text:e("rent")}],durationOptions:Pe(e),completionStatus:[{value:"all",text:e("all")},{value:"ready",text:e("ready")},{value:"off_plan",text:e("offplan")}],shopOptions:[{value:"off_plan",text:e("offplan")},{value:"ready",text:e("ready")},{value:"all",text:e("all")}],furnishingType:[{value:"all",text:e("all")},{value:"furnished",text:e("furnished")},{value:"unfurnished",text:e("unfurnished")}],rentalOptions:Pe(e)});function De(e){delete e.amenities_ids;for(const i of Object.keys(e))i.startsWith("amenities_ids[")&&delete e[i]}function Ea(e){const i={...e},c=["purpose","category","subcategory","completion_status","rental_period","bedroom","bathroom","furnishing_type","address","location_id","prompt","price_min","price_max","area_min","area_max","amenities_ids"];for(const o of c)delete i[o];return De(i),i}function Da(e){return Object.fromEntries(Object.entries(e).filter(([i])=>!i.includes("geo_json")&&!i.includes("north_east")&&!i.includes("south_west")&&!i.includes("disable_pagination")&&!i.includes("lat")&&!i.includes("lng")))}function Ta(e,i,c="for_sale"){return typeof e=="string"&&e?e:typeof i=="string"&&i?i:c}function Ua(e){const i={};e.bedroom&&(i.bedroom=e.bedroom),e.bathroom&&(i.bathroom=e.bathroom),e.furnishing_type&&e.furnishing_type!=="all"&&(i.furnishing_type=e.furnishing_type),e.price_min!==void 0&&e.price_min!==""&&(i.price_min=e.price_min),e.price_max!==void 0&&e.price_max!==""&&(i.price_max=e.price_max),e.area_min!==void 0&&e.area_min!==""&&(i.area_min=e.area_min),e.area_max!==void 0&&e.area_max!==""&&(i.area_max=e.area_max),e.amenities_ids&&(i.amenities_ids=e.amenities_ids);for(const c of Object.keys(e))c.startsWith("amenities_ids[")&&(i[c]=e[c]);return i}const qt=["address","location_id","lat","lng","prompt"];function ja(e){const i={...e};for(const c of qt)delete i[c];for(const c of Object.keys(i))(c==="location_id"||c.startsWith("location_id["))&&delete i[c];return i}function Jt(){const e=(o,v)=>{let g=null;return v.forEach(u=>
1{const I=u?.slug;if(o===I){g=u;return}}),g};return{extractFilters:(o,v)=>{if(!o?.params?.segments)return!1;const g=o?.path?.startsWith("/pro/")?o.path.replace(/^\/pro\//,"").toLowerCase().replace(/-/g," ").trim():null;let u=null;o.path.startsWith("/buy/dubai/")||o.path.startsWith("/rent/dubai/")||o.path.startsWith("/commercial-buy/dubai/")||o.path.startsWith("/commercial-rent/dubai/")?u=o.params?.segments[2]?.toLowerCase():u=o.params?.segments[1]?.toLowerCase();const I=u?.split("-in-")[0];let D=null;if(u?.includes("-in-")){let P=u.split("-in-")[1];const O=P?.split("-").pop();O&&/^(yearly|monthly|weekly|daily|any)$/.test(O)&&(P=P.slice(0,-(O.length+1))),D=e(P,v)}const A=I?.includes("rent")?"for_rent":I?.includes("sale")?"for_sale":null,B=u?.match(/(apartments|villas|hotel-apartments|townhouses|penthouse|villa-compound|offices|shops|commercial-plots|business-centers|warehouses|labour-camps|co-working-spaces)/),V=B?B[1]:null,K=I?.match(/(\d+)-bedroom/),H=/studio?/.test(I||""),G=K?Number(K[1]):H?"studio":null,r=u?.includes("un-furnished")?"unfurnished":u?.includes("furnished")?"furnished":"all",n=u?.match(/(\d+)sq/),f=n?Number(n[1]):null,b=u?.match(/(yearly|monthly|weekly|daily|any)/),h=b?b[1]:null,d=u?.match(/(\d+)-(million|thousand)/);let M=null;if(d){const P=Number(d[1]);M=d[2]==="million"?P*1e6:P*1e3}return{purpose:A,location:D,subcategory:V,bedroom:G,furnishing_type:r,rental_period:h,area_max:f,price_max:M,prompt:g}},isValidListingSlug:o=>{const{fullPath:v,segments:g=[],filtersByUrl:u}=o;if(!(v.startsWith("/rent/dubai/")||v.startsWith("/buy/dubai/")||v.startsWith("/commercial-rent/dubai/")||v.startsWith("/commercial-buy/dubai/")||v.startsWith("/pro/")))return!0;const D=v.startsWith("/buy/dubai/")||v.startsWith("/rent/dubai/")||v.startsWith("/commercial-buy/dubai/")||v.startsWith("/commercial-rent/dubai/")?2:1,A=(g[D]||"").toLowerCase(),B=!!u?.purpose,V=!!u?.subcategory,K=A.includes("properties"),H=A.includes("for"),G=/(\+|\*|%|&|--)/.test(A),r=!!u?.location,n=A.includes("in"),f=["apartments","villas","hotel-apartments","townhouses","penthouse","villa-compound"],b=["plots","offices","shops","business-centers","warehouses","labour-camps","co-working-spaces"],h=u?.purpose==="for_sale"&&v.startsWith("/rent/dubai/")||u?.purpose==="for_rent"&&v.startsWith("/buy/dubai/")||u?.purpose==="for_rent"&&v.startsWith("/commercial-buy/dubai/")||u?.purpose==="for_sale"&&v.startsWith("/commercial-rent/dubai/")||b?.includes(u?.subcategory)&&(v.startsWith("/rent/dubai/")||v.startsWith("/buy/dubai/"))||f?.includes(u?.subcategory)&&(v.startsWith("/commercial-rent/dubai/")||v.startsWith("/commercial-buy/dubai/")),d=A.split("-"),M=d.indexOf("for");if(M<=0||M!==d.lastIndexOf("for"))return!1;const P=d.slice(0,M).join("-"),O=!!u?.subcategory&&(P===u.subcategory||P.endsWith(`-${u.subcategory}`)),ne=P==="properties"||P.endsWith("-properties");if(!O&&!ne)return!1;const be=d.slice(M+1)[0]||"";if(!["sale","rent"].includes(be))return!1;const Se=u?.purpose==="for_sale"?"sale":"rent";return!(be!==Se||!B||!V&&!K||!H||G||h||!r&&n)}}}const Zt={class:"custom-dialogue-content sm:px-4 !py-5"},ea={class:"modal-collapsible-content"},ta={class:"collapse-search-wrap"},aa={class:"sm:hidden block"},sa={class:"!px-5 !pb-5"},ia={class:"field-box !px-5 !py-5"},oa={class:"radio-wrap bg-radio-wrap"},la={class:"field-box !px-5 !py-5"},ra={class:"radio-wrap bg-radio-wrap"},na={key:0,class:"field-box !px-5 !py-5"},ua={class:"radio-wrap"},ca={key:1,class:"field-box !px-5 !py-5"},da={class:"radio-wrap"},ma={class:"field-box !px-5 !py-5"},pa={class:"radio-wrap"},fa={key:0,class:"field-box sm:!px-0 sm:!py-0 !px-5 !py-5"},va={class:"field-box-title"},ba={class:"radio-wrap"},ga={key:2,class:"field-box sm:!px-0 sm:!py-0 !px-5 !py-5"},ya={class:"field-box-title"},ha={class:"radio-wrap"},_a={class:"field-box sm:!px-0 sm:!py-0 !px-5 !py-5"},xa={class:"field-box sm:!px-0 sm:!py-0 !px-5 !py-5"},Ma={class:"field-box-title mb-3"},wa={class:"range-slider range-slider-secondary"},Pa={class:"range-slider-mid"},Sa={class:"field-box sm:!px-0 sm:!py-0 !px-5 !py-5"},Ca={class:"field-box-title"},Ia={class:"radio-wrap"},Qa={__name:"FilterMoreFilter",props:{modelValue:Boolean,transcription:{type:String,default:""},selectedCategory:{type:String,default:""},selectedSubcategory:{type:String,default:""},selectedPurpose:{type:String,default:"for_sale"},selectedRentalPeriod:{type:String,default:"yearly"},isDisabled:{type:Boolean,default:!1},slug:{type:Number,default:0},agentIdSlug:{type:Number,default:0}},emits:["update:modelValue","update:selectedPurpose","update:selectedRentalPeriod","popup-filters-cleared","more-filters-applied"],setup(e,{expose:i,emit:c}){const o=e,v=c,g=J({get:()=>o.modelValue,set:a=>v("update:modelValue",a)}),u=Ct(),I=It(),{locale:D,t:A}=Te(),B=Oe(),V=D.value==="en"?"en":"ar",{extractFilters:K}=Jt(),{formatPrice:H,formatArea:G,onPriceMin:r,onPriceMax:n,onAreaMin:f,onAreaMax:b,validatePrice:h,validateArea:d,handleAddressSelection:M,checkIsMobile:P}=Gt(),O=Yt(A),ne=O.bedrooms,be=O.bathrooms,Se=O.furnishingType,st=O.completionStatus,Ue=J(()=>{const t=P(te.MOBILE)?$.value:o.selectedCategory||$.value;return Pe(A,t)}),it=x(O.typeOptions),ge=x(!1),Y=x("all"),N=x(o.selectedRentalPeriod||"yearly"),ye=x([]),se=x(""),ie=x(""),Q=x("all"),oe=x([]),Ce=x(!1),$=x("all"),Ie=x([{value:"",text:""}]),pe=J(()=>{const a=$.value?.toLowerCase(),t=o.selectedCategory?.toLowerCase();return P(te.MOBILE)?a!=="commercial":(t||a)!=="commercial"}),Ae=x(),Ve=x(),ue=x(""),fe=x([]),R=x(o.selectedPurpose||"for_sale");re(()=>o.selectedPurpose,a=>{a&&a!==R.value&&(R.value=a)},{immediate:!0}),re(R,a=>{a==="for_rent"&&(Y.value=""),a!==o.selectedPurpose&&v("update:selectedPurpose",a)}),re(()=>o.selectedRentalPeriod,a=>{a&&a!==N.value&&(N.value=a)},{immediate:!0}),re(N,a=>{a!==o.selectedRentalPeriod&&v("update:selectedRentalPeriod",a)});const Le=x(""),Ne=x(""),ot=ae.MIN,lt=ae.MAX,L=x(Be()),k=x(Re()),$e=x([]),he=x([]),je=x(typeof window<"u"?P(te.MOBILE):!1),ve=x(!0),ee=x(null),Qe=(a,t=null)=>{const l=Nt(a,t);l&&(k.value=l);const _=$t(a,t);_&&(L.value=_)},rt=async a=>
1{$.value=a,ee.value=null,Pe(A,a).map(l=>l.value).includes(N.value)||(N.value="yearly"),await ke(a)};re(Ue,a=>{a.map(l=>l.value).includes(N.value)||(N.value="yearly")});const{validateNumericInput:_e}=Ft(),nt=a=>{M(a,{address:ue,locationId:fe,lat:Ae,lng:Ve,isClear:ge})},ke=async a=>{const t=$e.value.find(l=>l.label[`name_${V}`]===a);if(t){await q().getSubCategories(t.value);const l=q().subcategories||[];Ie.value=[...l.map(_=>({value:_[`slug_${V}`],text:_[`name_${V}`]}))]}};re(()=>o.modelValue,async a=>{if(a){ve.value=!0,o.selectedPurpose&&o.selectedPurpose!==R.value&&(R.value=o.selectedPurpose),o.selectedRentalPeriod&&o.selectedRentalPeriod!==N.value&&(N.value=o.selectedRentalPeriod),o.selectedCategory&&($.value=o.selectedCategory),o.selectedSubcategory&&(ee.value=o.selectedSubcategory);const t=P(te.MOBILE);je.value=t;const l=u?.query;if(Qe(l),l.furnishing_type&&(Q.value=l.furnishing_type),l.bedroom&&(se.value=l.bedroom),l.bathroom&&(ie.value=l.bathroom),l.completion_status&&(Y.value=l.completion_status),await q().getCategories(),l?.category)await xe(!0);else if(o.selectedCategory){const _=q().categories;ye.value=_.map(S=>({value:S[`name_${V}`],text:S[`name_${V}`]})),$e.value=_.map(S=>({label:S,value:S.id,items:[]})),$.value=o.selectedCategory,await ke(o.selectedCategory)}else await xe();setTimeout(()=>{ve.value=!1},1e3)}});const ut=async()=>{sessionStorage.removeItem("listing_scroll_position"),sessionStorage.removeItem("listing_route_query"),Ce.value=!0;const a=localStorage.getItem("isShowMap")==="false",l=P(te.MOBILE)?$.value?.toLowerCase()==="commercial":o.selectedCategory?.toLowerCase()==="commercial",_=l?"":se?.value||"",S=l?"":ie?.value||"",s={...u.query};delete s.area_min,delete s.area_max,delete s.price_min,delete s.price_max,delete s.bedroom,delete s.bathroom,delete s.furnishing_type,De(s),s.priority&&delete s.priority;const y=R.value,F=$.value||o.selectedCategory||"",z=ee.value||o.selectedSubcategory||"",ce={...s,purpose:y,category:F,subcategory:z,...y==="for_sale"?Y.value?{completion_status:Y.value}:{}:N.value?{rental_period:N.value}:{},location_id:fe.value?fe.value:[],prompt:o.transcription||"",address:ue.value?ue.value:"",...!l&&_&&{bedroom:_},...!l&&S&&{bathroom:S},...L.value[0]!==W.MIN&&{price_min:L.value[0]},...L.value[1]!==W.MAX&&{price_max:L.value[1]},...k.value[0]!==ae.MIN&&{area_min:k.value[0]},...k.value[1]!==ae.MAX&&{area_max:k.value[1]},...Q.value&&Q.value!=="all"?{furnishing_type:Q.value}:{},...oe.value.length>0&&{amenities_ids:oe.value},...a&&et()},le=Object.fromEntries(Object.entries(ce).filter(([T,de])=>!(de===void 0||de===""||Array.isArray(de)&&de.length===0)));Oe().setPropertyFilterParams(le,I,o.slug,o.agentIdSlug),v("more-filters-applied",{bedroom:_,bathroom:S,furnishing_type:Q.value,rangeValue:[...L.value],rangeValueArea:[...k.value]}),Ce.value=!1,g.value=!1};function ct(a){f(a,k)}function ze(a,t){return t===0&&a===W.MIN||t===1&&a===W.MAX?"":H(a)}function Xe(a,t){return t===0&&a===ae.MIN||t===1&&a===ae.MAX?"":H(a)}function dt(a){if(!a.toString().replace(/,/g,"").replace(/\D/g,"")){L.value[0]=W.MIN;return}r(a,L)}function mt(a){b(a,k)}function pt(a){if(!a.toString().replace(/,/g,"").replace(/\D/g,"")){L.value[1]=W.MAX;return}n(a,L)}function Ke(a){h(a,L,W.MIN,W.MAX)}function He(a){d(a,k,ae.MIN,ae.MAX)}const ft=()=>{se.value="",ie.value="",L.value=Be(),k.value=Re(),Q.value="all",oe.value=[]},vt=async()=>{ge.value=!1,Ae.value="",Ve.value="",ue.value="",fe.value=[],he.value=[],N.value=o.selectedRentalPeriod||"yearly",se.value="",ie.value="",oe.value=[],L.value=
1Be(),k.value=Re(),Le.value="",Ne.value="",ee.value=null,Q.value="all",Y.value="all",P(te.MOBILE)&&($.value=""),await At(),ge.value=!0,await xe(!1,!0)},bt=async()=>{ve.value=!0,sessionStorage.removeItem("listing_scroll_position"),sessionStorage.removeItem("listing_route_query"),ft(),v("popup-filters-cleared");const a=localStorage.getItem("isShowMap")==="false",t=P(te.MOBILE),l={...u.query};delete l.area_min,delete l.area_max,delete l.price_min,delete l.price_max,delete l.bedroom,delete l.bathroom,delete l.furnishing_type,De(l),l.priority&&delete l.priority;const _=t?R.value:o.selectedPurpose||R.value,S=t?$.value:o.selectedCategory||l.category||"",s=t?ee.value:o.selectedSubcategory||l.subcategory||"",y=o.selectedRentalPeriod||u.query.rental_period,F=t?Y.value:u.query.completion_status||"all",z={...l,purpose:_,category:S,subcategory:s,prompt:o.transcription||l.prompt||"",..._==="for_sale"?F&&{completion_status:F}:y&&{rental_period:y},...t?{location_id:fe.value||[],address:ue.value||""}:{...u.query.location_id&&{location_id:u.query.location_id},...u.query.address&&{address:u.query.address}},...a&&et()},ce=Object.fromEntries(Object.entries(z).filter(([le,T])=>!(T===void 0||T===""||Array.isArray(T)&&T.length===0)));Oe().setPropertyFilterParams(ce,I,o.slug,o.agentIdSlug),g.value=!1,setTimeout(()=>{ve.value=!1},500)},xe=async(a=!1,t=!1)=>{try{await q().getCategories();const l=q().categories;ye.value=l.map(s=>({value:s[`name_${V}`],text:s[`name_${V}`]})),$e.value=l.map(s=>({label:s,value:s.id,items:[]}));const _=u?.query,S=u?.params;if(a){const s=l.find(y=>y.name_en?.toLowerCase()===_.category.toLowerCase());if(s){$.value=s.name_en,await q().getSubCategories(s.id);const y=q().subcategories||[],F=_.subcategory||S?.segments?.[3]||S?.segments?.[4];if(F){const z=T=>T?.toLowerCase().trim().replace(/\s+/g,"-").replace(/[^a-z0-9\-]/g,""),ce=z(F),le=y.find(T=>{const de=z(T.slug_en||T.name_en),gt=z(T.name_en);return de===ce||gt===ce});le&&(ee.value=le.slug_en,Le.value=le.slug_en,Ne.value=le)}Ie.value=[...y.map(z=>({value:z[`slug_${V}`],text:z[`name_${V}`]}))]}}else if(!t){const s=ye.value.find(y=>y.value.toLowerCase()==="residential");s&&($.value=s?.value,await ke($.value))}}catch{}};return re(()=>B.average_price,a=>{const t=u?.query;if(!t.price_min&&!t.price_max)return;const l=Number(a??0);L.value=[parseInt(t.price_min||W.MIN),Number(t.price_max||l||W.MAX)]},{immediate:!0}),at(async()=>{je.value=P(te.MOBILE);let a=null;const t=!Object.keys(u.query).length,_=["/buy/dubai","/rent/dubai","/commercial-rent/dubai","/commercial-buy/dubai"].some(F=>u.path.startsWith(F)),S=u.path.startsWith("/pro");(_&&t||S)&&(a=K(u,kt),a?.subcategory&&(Ne.value={name_en:a.subcategory,slug_en:a.subcategory,slug_ar:a.subcategory},Le.value=a?.subcategory),a?.location&&(he.value=[a.location]));const s=u?.query;s.address&&(ue.value=s.address),s.lat&&s.lng&&(Ae.value=s.lat,Ve.value=s.lng),s.completion_status&&(Y.value=s.completion_status),(s?.rental_period||a?.rental_period)&&(N.value=s?.rental_period||a?.rental_period),Qe(s,a),(s.bedroom||a?.bedroom)&&(se.value=s?.bedroom||String(a?.bedroom)),s.bathroom&&(ie.value=s?.bathroom),(s.furnishing_type||a?.furnishing_type)&&(Q.value=s.furnishing_type||a?.furnishing_type);const y=[];if(s.amenities_ids){const F=Array.isArray(s.amenities_ids)?s.amenities_ids:[s.amenities_ids];y.push(...F.map(Number).filter(Boolean))}Object.keys(s).forEach(F=>{F.startsWith("amenities_ids[")&&y.push(Number(s[F]))}),y.length>0&&(oe.value=[...new Set(y)]),(s?.purpose||a?.purpose)&&(R.value=s?.purpose||a?.purpose),s.category&&await xe(!0),setTimeout(()=>{ve.value=!1},1e3)}),i({resetFilterState:vt}),(a,t)=>{const l=Je("b-form-radio-group"),_=Je("b-form-group"),S=yt;return C(),me(ht,{modelValue:g.value,"onUpdate:modelValue":t[23]||(t[23]=s=>g.value=s),class:"modal-style-1 filters-dialog",title:a.$t("more_filters"),maxWidth:"823px",transition:"dialog-bottom-transition","content-class":"sm:!p-5 !px-0 !py-0 filters-content"},{content:w(()=>[p("div",Zt,[p("div",ea,[p("div",ta,[p("div",aa,[p("div",sa,[m(_t,{class:"mobile-autocomplete position-relative w-100 overflow-visible",modelValue:he.value,"onUpdate:modelValue":[t[0]||(t[0]=s=>he.value=s),nt],showDubai:!0,isClear:ge.value},null,8,["modelValue","isClear"])]),m(X,{class:"my-0"}),p("div",ia,[p("div",oa,[m(_,null,{default:w(({proeprty_type_filter:s})=>[m(l,{id:"btn-radios-property2",modelValue:R.value,"onUpdate:modelValue":t[1]||(t[1]=y=>R.value=y),options:it.value,"aria-describedby":s,name:"radios-btn-default",buttons:""},null,8,["modelValue","options","aria-describedby"])]),_:1})])]),m(X,{class:"my-0"}),p("div",la,[t[24]||(t[24]=p("h3",{class:"field-box-title"},"Property type",-1)),p("div",ra,[m(_,null,{default:w(({proeprty_type_filter:s})=>[m(l,{onChange:rt,id:"btn-radios-property",modelValue:$.value,"onUpdate:modelValue":t[2]||(t[2]=y=>$.value=y),options:ye.value,"aria-describedby":s,name:"radios-btn-default",buttons:""},null,8,["modelValue","options","aria-describedby"])]),_:1})])]),m(X,{class:"my-0"}),R.value=="for_sale"?(C(),E("div",na,[t[25]||(t[25]=p("h3",{class:"field-box-title"},"Completion Status",-1)),p("div",ua,[m(S,null,{default:w(()=>[m(_,null,{default:w(({completion_type_filter:s})=>[m(l,{id:"btn-radios-completion",modelValue:Y.value,"onUpdate:modelValue":t[3]||(t[3]=y=>Y.value=y),options:U(st),"aria-describedby":s,name:"radios-btn-default",buttons:""},null,8,["modelValue","options","aria-describedby"])]),_:1})]),_:1})])])):(C(),E("div",ca,[t[26]||(t[26]=p("h3",{class:"field-box-title"},"Rental Period",-1)),p("div",da,[m(S,null,{default:w(()=>[m(_,null,{default:w(({completion_type_filter:s})=>[m(l,{id:"btn-radios-completion",modelValue:N.value,"onUpdate:modelValue":t[4]||(t[4]=y=>N.value=y),options:Ue.value,"aria-describedby":s,name:"radios-btn-default",buttons:""},null,8,["modelValue","options","aria-describedby"])]),_:1})]),_:1})])])),m(X,{class:"my-0"}),p("div",ma,[t[27]||(t[27]=p("h3",{class:"field-box-title"},"Style of the House you prefer",-1)),p("div",pa,[m(S,null,{default:w(()=>[m(_,null,{default:w(({xompletion_type_filters:s})=>[m(l,{id:"btn-radios-completionw",modelValue:ee.value,"onUpdate:modelValue":t[5]||(t[5]=y=>ee.value=y),options:Ie.value,"aria-describedby":s,name:"radios-btn-default",buttons:""},null,8,["modelValue","options","aria-describedby"])]),_:1})]),_:1})])]),pe.value?(C(),me(X,{key:2,class:"my-0"})):Z("",!0)]),pe.value?(C(),E("div",fa,[p("h3",va,j(a.$t("bedrooms")),1),p("div",ba,[m(S,null,{default:w(()=>[m(_,null,{default:w(({bedroomFilter:s})=>[m(l,{id:"btn-radios-bedroom",modelValue:se.value,"onUpdate:modelValue":t[6]||(t[6]=y=>se.value=y),options:U(ne),"aria-describedby":s,name:"radios-btn-default",buttons:""},null,8,["modelValue","options","aria-describedby"])]),_:1})]),_:1})])])):Z("",!0),pe.value?(C(),me(X,{key:1,class:"sm:!my-6 !my-0"})):Z("",!0),pe.value?(C(),E("div",ga,[p("h3",ya,j(a.$t("bathroom")),1),p("div",ha,[m(S,null,{default:w(()=>[m(_,null,{default:w(({bathroomFilter:s})=>[m(l,{id:"btn-radios-bathroom",modelValue:ie.value,"onUpdate:modelValue":t[7]||(t[7]=y=>ie.value=y),options:U(be),"aria-describedby":s,name:"radios-btn-default",buttons:""},null,8,["modelValue","options","aria-describedby"])]),_:1})]),_:1})])])):Z("",!0),pe.value?(C(),me(X,{key:3,class:"sm:!my-6 xs:!my-0 !my-0"})):Z("",!0),p("div",_a,[t[29]||(t[29]=p("h3",{class:"field-box-title"}," Tell us your budget ",-1)),m(Ze,{"max-width":"450px",class:"d-flex align-items-center",style:{gap:"20px"}},{default:w(()=>[m(Me,{maxlength:"11",outlined:"","hide-details":"",suffix:a.$t("AED"),"model-value":ze(L.value[0],0),placeholder:a.$t("0"),onKeypress:t[8]||(t[8]=s=>U(_e)(s)),onInput:t[9]||(t[9]=s=>dt(s.target.value)),onBlur:t[10]||(t[10]=s=>Ke(0))},null,8,["suffix","model-value","placeholder"]),t[28]||(t[28]=p("span",{class:"range-divider"},"to",-1)),m(Me,{maxlength:"11",outlined:"","hide-details":"",suffix:a.$t("AED"),placeholder:a.$t("1,000,000"),onKeypress:t[11]||(t[11]=s=>U(_e)(s)),"model-value":ze(L.value[1],1),onInput:t[12]||(t[12]=s=>pt(s.target.value)),onBlur:t[13]||(t[13]=s=>Ke(1))},null,8,["suffix","placeholder","model-value"])]),_:1})]),m(X,{class:"sm:!my-8 sm:!mt-8 xs:!my-0 xs:!mt-5 !mb-0"}),p("div",xa,[p("h3",Ma,j(a.$t("area_size")),1),m(Ze,{"max-width":"380px",class:"d-flex align-items-center mb-3",style:{gap:"20px"}},{default:w(()=>[m(Me,{maxlength:"7",outlined:"","hide-details":"",onKeypress:t[14]||(t[14]=s=>U(_e)(s)),suffix:a.$t("sqft"),"model-value":Xe(k.value[0],0),placeholder:a.$t("sqft"),onInput:t[15]||(t[15]=s=>ct(s.target.value)),onBlur:t[16]||(t[16]=s=>He(0))},null,8,["suffix","model-value","placeholder"]),t[30]||(t[30]=p("span",{class:"range-divider"},"to",-1)),m(Me,{maxlength:"7",outlined:"","hide-details":"",suffix:a.$t("sqft"),onKeypress:t[17]||(t[17]=s=>U(_e)(s)),"model-value":Xe(k.value[1],1),onInput:t[18]||(t[18]=s=>mt(s.target.value)),onBlur:t[19]||(t[19]=s=>He(1))},null,8,["suffix","model-value"])]),_:1}),p("div",wa,[p("div",Pa,[m(Ot,{modelValue:k.value,"onUpdate:modelValue":t[20]||(t[20]=s=>k.value=s),min:U(ot),max:U(lt),"hide-details":"","thumb-label":"always"},{"thumb-label":w(({modelValue:s})=>[Ee(j(U(G)(s)),1)]),_:1},8,["modelValue","min","max"])])])]),m(X,{class:"sm:!my-8 !my-0 !mt-7"}),p("div",Sa,[p("h3",Ca,j(a.$t("furnishing_type")),1),p("div",Ia,[m(S,null,{default:w(()=>[m(_,null,{default:w(({furnishing_type_filter:s})=>[m(l,{id:"btn-radios",modelValue:Q.value,"onUpdate:modelValue":t[21]||(t[21]=y=>Q.value=y),options:U(Se),"aria-describedby":s,name:"radios-btn-default",buttons:""},null,8,["modelValue","options","aria-describedby"])]),_:1})]),_:1})])]),m(X,{class:"sm:!my-8 !my-0 !mt-7"}),m(Ht,{modelValue:oe.value,"onUpdate:modelValue":t[22]||(t[22]=s=>oe.value=s),variant:"list"},null,8,["modelValue"])])])])]),actions:w(()=>[m(We,{color:"secondary",size:"large",label:a.$t("clear_all_filters"),onClick:bt},null,8,["label"]),m(We,{color:"primary",isDisabled:Ce.value,size:"large",label:a.$t("Done"),onClick:ut},null,8,["isDisabled","label"])]),_:1},8,["modelValue","title"])}}};export{Ht as A,Qa as _,Gt as a,Jt as b,Yt as c,Ea as d,Ua as e,Da as f,Pe as g,Ta as r,ja as s,q as u};
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.