@revolugo/elements 6.8.2-beta.9 → 6.8.2-rc.0

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.
Files changed (112) hide show
  1. package/README.md +1 -1
  2. package/dist/css/{revolugo.bdaterangepicker.BLYZnPjh.css → revolugo.bdaterangepicker.CHUExWGL.css} +1 -1
  3. package/dist/css/revolugo.bhoteloffersfilterbar.BcnNI4uS.css +1 -0
  4. package/dist/css/{revolugo.hoteldescriptionview.CqUUU1fv.css → revolugo.hoteldescriptionview.DWuzEuGF.css} +1 -1
  5. package/dist/css/revolugo.hoteloffersview.Bo2dQWYt.css +1 -0
  6. package/dist/css/{revolugo.hotelroomofferlist.DI_s2G5c.css → revolugo.hotelroomofferlist.DpLXIpgU.css} +1 -1
  7. package/dist/index.es.min.js +496 -564
  8. package/dist/index.es.min.js.map +1 -1
  9. package/dist/index.min.js +6 -6
  10. package/dist/index.min.js.map +1 -1
  11. package/dist/revolugo._basefor.CodrYJxd.min.js +15 -0
  12. package/dist/{revolugo.banktransferdetails.BX7OeQZV.min.js → revolugo.banktransferdetails.BdulCgI5.min.js} +9 -9
  13. package/dist/{revolugo.bdaterangepicker.CD21jpXB.min.js → revolugo.bdaterangepicker.XZNoMSi5.min.js} +8 -8
  14. package/dist/revolugo.bformattedamount.vue_vue_type_script_setup_true_lang.D9Qs1dZa.min.js +61 -0
  15. package/dist/revolugo.bhoteloffersfilterbar.Bryijtf6.min.js +4685 -0
  16. package/dist/{revolugo.bhotelroomsdetails.BLqYw-sq.min.js → revolugo.bhotelroomsdetails.orWBBD_o.min.js} +28 -28
  17. package/dist/{revolugo.bhotelsearchbar.BNSMxrNp.min.js → revolugo.bhotelsearchbar.DxxqZWkN.min.js} +16 -16
  18. package/dist/{revolugo.bimagecarousel.Bbu1M-_U.min.js → revolugo.bimagecarousel.DIPN99VA.min.js} +31 -31
  19. package/dist/{revolugo.bookingdetailssidebar.CokqW6fy.min.js → revolugo.bookingdetailssidebar.CD4SMOkC.min.js} +4 -4
  20. package/dist/{revolugo.bookingdetailssidebar.BvK3BXHf.min.js → revolugo.bookingdetailssidebar.JOU68R1_.min.js} +11 -11
  21. package/dist/{revolugo.bookingmanager.Cb3omaKY.min.js → revolugo.bookingmanager.B5cM9Mi5.min.js} +20 -20
  22. package/dist/{revolugo.bpricesummaryskeleton.C8B8KuR2.min.js → revolugo.bpricesummaryskeleton.YKfKKB5n.min.js} +4 -4
  23. package/dist/{revolugo.bstarrating.vue_vue_type_script_setup_true_lang.CIoChEf4.min.js → revolugo.bstarrating.vue_vue_type_script_setup_true_lang.2z9RUthr.min.js} +93 -82
  24. package/dist/{revolugo.btag.BGoOCm1Z.min.js → revolugo.btag.DjjDRtQ7.min.js} +22 -22
  25. package/dist/{revolugo.cancellationpoliciesbadge.CzdZk9wC.min.js → revolugo.cancellationpoliciesbadge.D8ou6oFl.min.js} +14 -14
  26. package/dist/{revolugo.cancellationpoliciesbadge.Clx08Izl.min.js → revolugo.cancellationpoliciesbadge.jgFCG7yZ.min.js} +4 -4
  27. package/dist/{revolugo.cancellationpolicieslist.DkdBqk_D.min.js → revolugo.cancellationpolicieslist.CZImqgN3.min.js} +4 -4
  28. package/dist/{revolugo.cancellationpolicieslist.D_blsTpt.min.js → revolugo.cancellationpolicieslist.D097ASNF.min.js} +4 -4
  29. package/dist/{revolugo.case-transformers.yF9LmSh2.min.js → revolugo.case-transformers.Dr1oSJkZ.min.js} +6 -6
  30. package/dist/{revolugo.creditcardform.DLGGNiOj.min.js → revolugo.creditcardform.DNOMVOgZ.min.js} +32 -32
  31. package/dist/{revolugo.creditcardform.dhkDslgQ.min.js → revolugo.creditcardform.DvHcDx2P.min.js} +4 -4
  32. package/dist/{revolugo.creditcardpayment.Dk1qZNdM.min.js → revolugo.creditcardpayment.BLP3RXk4.min.js} +58 -59
  33. package/dist/{revolugo.creditcardpayment.BI07MXqq.min.js → revolugo.creditcardpayment.D3lPKmx1.min.js} +4 -4
  34. package/dist/{revolugo.currencypicker.Dg7-2SvP.min.js → revolugo.currencypicker.CzzS1Adp.min.js} +6 -6
  35. package/dist/{revolugo.currencypickerbtn.B1hFei3f.min.js → revolugo.currencypickerbtn.ChUEouGw.min.js} +17 -17
  36. package/dist/{revolugo.currencypickerbtn.C4BppGp4.min.js → revolugo.currencypickerbtn.DWnyc54P.min.js} +4 -4
  37. package/dist/{revolugo.dialog-attach.CkEej6wS.min.js → revolugo.dialog-attach.O2HXPGzj.min.js} +2 -2
  38. package/dist/{revolugo.dialog-transition.uNfpHJql.min.js → revolugo.dialog-transition.C6S7Ci1s.min.js} +5 -5
  39. package/dist/{revolugo.fastbookingflow.B6XARfWY.min.js → revolugo.fastbookingflow.ChNa4jgv.min.js} +4 -4
  40. package/dist/{revolugo.fullbookingflow.BZLx73dx.min.js → revolugo.fullbookingflow.ByKmNqgi.min.js} +80 -79
  41. package/dist/{revolugo.hoteldescriptionview.yCtPdRFO.min.js → revolugo.hoteldescriptionview.CbtxEPGG.min.js} +754 -677
  42. package/dist/{revolugo.hoteldescriptionview.BCzUzk_E.min.js → revolugo.hoteldescriptionview.D3JTbFxn.min.js} +4 -4
  43. package/dist/{revolugo.hotelofferitemlayout.DO-TA9ts.min.js → revolugo.hotelofferitemlayout.tBOOIdeT.min.js} +6 -6
  44. package/dist/{revolugo.hotelofferlist.CannqNZQ.min.js → revolugo.hotelofferlist.BVySEYbq.min.js} +821 -847
  45. package/dist/{revolugo.hotelofferlist.CBRnlb3a.min.js → revolugo.hotelofferlist.puK2FNBR.min.js} +4 -4
  46. package/dist/{revolugo.hotelofferrequestcreator.Ccc9h3wS.min.js → revolugo.hotelofferrequestcreator.CbCau_4i.min.js} +15 -16
  47. package/dist/revolugo.hoteloffersearchmenu.iiAtyddA.min.js +46 -0
  48. package/dist/{revolugo.hoteloffersmap.61vs2XAi.min.js → revolugo.hoteloffersmap.BRVm5s6N.min.js} +374 -371
  49. package/dist/{revolugo.hoteloffersmap.BGAjS-vH.min.js → revolugo.hoteloffersmap.DqKpfjbt.min.js} +4 -4
  50. package/dist/{revolugo.hoteloffersview.DNumSw2r.min.js → revolugo.hoteloffersview.3LJ-m6BY.min.js} +132 -131
  51. package/dist/{revolugo.hoteloffersview.CWq5dZCG.min.js → revolugo.hoteloffersview.DsGyT5s7.min.js} +4 -4
  52. package/dist/{revolugo.hotelroomofferlist.cmfjmRwH.min.js → revolugo.hotelroomofferlist.DdMr5qEZ.min.js} +4 -4
  53. package/dist/{revolugo.hotelroomofferlist.5_UL7OSw.min.js → revolugo.hotelroomofferlist.M-3bowQa.min.js} +198 -198
  54. package/dist/{revolugo.hotelroomofferrequestcreator.props.C4FwM136.min.js → revolugo.hotelroomofferrequestcreator.props.CUwZUDcm.min.js} +2 -2
  55. package/dist/{revolugo.hotelroomoffersbookingflow.BQD6GxXC.min.js → revolugo.hotelroomoffersbookingflow.Bef_aJFl.min.js} +83 -83
  56. package/dist/{revolugo.hotelroomoffersearchmenu.DtfalJtl.min.js → revolugo.hotelroomoffersearchmenu.D9Zn_Gjy.min.js} +5 -5
  57. package/dist/{revolugo.hotelroomoffersearchmenu.5tW36-zQ.min.js → revolugo.hotelroomoffersearchmenu.Fkf-MQ_8.min.js} +7 -7
  58. package/dist/{revolugo.hotelroomoffersview.BDcWZXrg.min.js → revolugo.hotelroomoffersview.BSth8Xsz.min.js} +46 -46
  59. package/dist/{revolugo.hotelroomoffersview.z6aOfmaM.min.js → revolugo.hotelroomoffersview.oxTgBMSk.min.js} +4 -4
  60. package/dist/revolugo.index.D0uSQdJV.min.js +13 -0
  61. package/dist/{revolugo.index.Cl_q_UjY.min.js → revolugo.index.gIPq0z7C.min.js} +104 -104
  62. package/dist/{revolugo.index.wc.BmozE9Vv.min.js → revolugo.index.wc.7I5uexuc.min.js} +15225 -14780
  63. package/dist/{revolugo.langpicker.vHHfpOMW.min.js → revolugo.langpicker.CLdiic9k.min.js} +7 -7
  64. package/dist/{revolugo.langpickerbtn.DqM5hWXl.min.js → revolugo.langpickerbtn.BIHQAnjv.min.js} +4 -4
  65. package/dist/{revolugo.langpickerbtn.DBxEuVPS.min.js → revolugo.langpickerbtn.DF-m4pCF.min.js} +9 -9
  66. package/dist/revolugo.min.js +1 -1
  67. package/dist/{revolugo.position.DtKVN8Dm.min.js → revolugo.position.hqKd4K_h.min.js} +35 -35
  68. package/dist/{revolugo.prebookform.B__ne_5e.min.js → revolugo.prebookform.B8aMLMuG.min.js} +58 -58
  69. package/dist/{revolugo.prebookform.DNGu-Yse.min.js → revolugo.prebookform.CxK0iSDo.min.js} +4 -4
  70. package/dist/{revolugo.roominglisteditor.B2aeWLHf.min.js → revolugo.roominglisteditor.D7WzDtw6.min.js} +4 -4
  71. package/dist/{revolugo.roominglisteditor.B80_0zLe.min.js → revolugo.roominglisteditor.Do-pe811.min.js} +11 -11
  72. package/dist/{revolugo.rounded.BXIsUmTy.min.js → revolugo.rounded.Dnxang6X.min.js} +2 -2
  73. package/dist/{revolugo.ssrboot.BIjLx7yH.min.js → revolugo.ssrboot.ByGq44eI.min.js} +2 -2
  74. package/dist/{revolugo.storybooktoolbar.Dkb9K5kX.min.js → revolugo.storybooktoolbar.DY_mbXuP.min.js} +149 -153
  75. package/dist/{revolugo.termsandconditions.BALwQNzD.min.js → revolugo.termsandconditions.DXNFR45_.min.js} +4 -4
  76. package/dist/{revolugo.termsandconditions.DE2JCEFT.min.js → revolugo.termsandconditions.DfGTVPYa.min.js} +4 -4
  77. package/dist/{revolugo.use-breakpoint-service.B7ZCEdsL.min.js → revolugo.use-breakpoint-service.CJltQiSH.min.js} +14 -14
  78. package/dist/{revolugo.vautocomplete.Wzbe0OaU.min.js → revolugo.vautocomplete.BjPSa1jg.min.js} +76 -76
  79. package/dist/{revolugo.vbadge.DSCygmIX.min.js → revolugo.vbadge.D1RCkHoZ.min.js} +20 -20
  80. package/dist/{revolugo.vbtn.DznliZzR.min.js → revolugo.vbtn.CQ9EDLRJ.min.js} +51 -51
  81. package/dist/{revolugo.vcard.h_EXlxhg.min.js → revolugo.vcard.DNU4i52n.min.js} +15 -15
  82. package/dist/{revolugo.vcheckboxbtn.DUhHPAp0.min.js → revolugo.vcheckboxbtn.De-k8-O3.min.js} +74 -74
  83. package/dist/{revolugo.vdialog.Bt220-tR.min.js → revolugo.vdialog.CjEajxIC.min.js} +23 -23
  84. package/dist/{revolugo.vdivider.C-iQpm6s.min.js → revolugo.vdivider.Cp9bHPnI.min.js} +3 -3
  85. package/dist/{revolugo.vexpansionpanels.HBdcYsbX.min.js → revolugo.vexpansionpanels.L2ZpX4zd.min.js} +32 -32
  86. package/dist/{revolugo.vform.D-Xypuf6.min.js → revolugo.vform.Bw9rddZZ.min.js} +4 -4
  87. package/dist/{revolugo.vinput.Svg6lkwC.min.js → revolugo.vinput.P34xrpIC.min.js} +55 -55
  88. package/dist/{revolugo.vlabel.Bhm6Zd00.min.js → revolugo.vlabel.CLHrAz78.min.js} +3 -3
  89. package/dist/{revolugo.vlist.DMMPJbxQ.min.js → revolugo.vlist.hRQlcp5M.min.js} +109 -109
  90. package/dist/{revolugo.vmenu.-0zeBGoy.min.js → revolugo.vmenu.BRFw3Jzk.min.js} +25 -25
  91. package/dist/{revolugo.vselect.Bo-j_DVa.min.js → revolugo.vselect.u2C25NCe.min.js} +61 -61
  92. package/dist/{revolugo.vsheet.QeecLFsP.min.js → revolugo.vsheet.8UeU7qQn.min.js} +8 -8
  93. package/dist/{revolugo.vskeletonloader.EgTyxJfJ.min.js → revolugo.vskeletonloader.Dk0enVo6.min.js} +6 -6
  94. package/dist/{revolugo.vsnackbar.B_Wq8MGf.min.js → revolugo.vsnackbar.18JqJsZ2.min.js} +38 -38
  95. package/dist/revolugo.vspacer.CPbtu_-W.min.js +7 -0
  96. package/dist/{revolugo.vtextarea.DDc8gnKI.min.js → revolugo.vtextarea.Cjuqcka5.min.js} +61 -61
  97. package/dist/{revolugo.vtextfield.BchqqdJO.min.js → revolugo.vtextfield.BUNcwTRK.min.js} +69 -69
  98. package/dist/{revolugo.vtoolbar.DTHYPxEN.min.js → revolugo.vtoolbar.CvbAGFXR.min.js} +20 -20
  99. package/dist/{revolugo.vtooltip.D5Wd79J1.min.js → revolugo.vtooltip.CsXJFD-V.min.js} +39 -39
  100. package/dist/{revolugo.vwindowitem.BllQGIpD.min.js → revolugo.vwindowitem.DGRfRU3q.min.js} +34 -34
  101. package/dist/{revolugo.watch-list.By-bpBU3.min.js → revolugo.watch-list.D0FxBTWy.min.js} +2 -2
  102. package/dist/{revolugo.webcomponentwrapper.eF3pik3C.min.js → revolugo.webcomponentwrapper.DFYGhYzz.min.js} +268 -268
  103. package/package.json +1 -1
  104. package/dist/css/revolugo.bhoteloffersfilterbar.PIn4y3L4.css +0 -1
  105. package/dist/css/revolugo.hoteloffersview.oDGeJCwG.css +0 -1
  106. package/dist/revolugo._baseiteratee.MzUQeAWT.min.js +0 -247
  107. package/dist/revolugo.bformattedamount.vue_vue_type_script_setup_true_lang.CHRvRFko.min.js +0 -149
  108. package/dist/revolugo.bhoteloffersfilterbar.DaG82sI1.min.js +0 -4826
  109. package/dist/revolugo.defaultsdeep._CHFDoDm.min.js +0 -104
  110. package/dist/revolugo.hotel-offer-request.DW3cTCiu.min.js +0 -98
  111. package/dist/revolugo.hoteloffersearchmenu.CX6iHCJ-.min.js +0 -47
  112. package/dist/revolugo.vspacer.BdpvYtXu.min.js +0 -7
@@ -0,0 +1,4685 @@
1
+ import { an as ae, ao as ua, ap as ca, d as ee, D as v, C as Z, M as ke, R as Oe, u as ie, c as z, o as R, w as o, a, f as A, y as X, z as da, b as Ve, K as Ft, r as oe, A as Ot, L as lt, U as fa, m as ma, k as pa, V as Ne, E as Ge, q as ha, e as x, g as W, t as I, J as we, H as Ke, I as _t, j as va, i as K, v as Re, F as re, aq as ba, x as fe, Y as $e, ar as ga, O as ya, as as wa, N as Ba, at as ka, n as Ma, h as Sa, S as Pt, au as Ra, av as Va, _ as Ce, aw as st, ax as ze, ab as te, a5 as ce, a7 as It, ay as Qe, ak as Ca, Z as _e, ai as Tt, az as $a, a9 as ve, aA as Fa, a2 as Je, aB as ot, aC as rt, ac as Oa, aD as Et, aE as _a, aF as Lt, $ as nt, aG as G, ad as ge, aH as ye, aI as ut, aJ as ct, aK as dt, aL as Le, W as At, aM as Pa, aN as Ae, a8 as Ia, aO as Ta, aP as Ea, aQ as La, aR as Aa, aS as Da } from "./revolugo.index.wc.7I5uexuc.min.js";
2
+ import { C as Ha } from "./revolugo.cancellationpoliciesbadge.D8ou6oFl.min.js";
3
+ import { H as Na } from "./revolugo.hotelofferitemlayout.tBOOIdeT.min.js";
4
+ import { B as za, a as Ua } from "./revolugo.bhotelroomsdetails.orWBBD_o.min.js";
5
+ import { _ as le, B as xa, c as ja, d as qa, u as Pe, m as Ue, b as He, a as Q, V as he, e as Dt, f as Ga, g as Ka, t as Ya, h as Wa, i as Za, j as Xa, k as Qa } from "./revolugo.webcomponentwrapper.DFYGhYzz.min.js";
6
+ import { V as de, c as Ja, R as ei, d as ti, m as ai, e as ii, f as li, a as si } from "./revolugo.index.gIPq0z7C.min.js";
7
+ import { a as q, b as oi } from "./revolugo.vbtn.CQ9EDLRJ.min.js";
8
+ import { B as ri, r as ni } from "./revolugo.hotelroomofferlist.M-3bowQa.min.js";
9
+ import { B as ui, _ as ci } from "./revolugo.bstarrating.vue_vue_type_script_setup_true_lang.2z9RUthr.min.js";
10
+ import { B as ft } from "./revolugo.btag.DjjDRtQ7.min.js";
11
+ import { B as di, H as fi } from "./revolugo.hoteldescriptionview.CbtxEPGG.min.js";
12
+ import { B as mi, m as pi, V as hi } from "./revolugo.bimagecarousel.DIPN99VA.min.js";
13
+ import { a as vi, p as Ht, u as bi, g as ne } from "./revolugo.use-breakpoint-service.CJltQiSH.min.js";
14
+ import { H as gi } from "./revolugo.hotelroomoffersview.BSth8Xsz.min.js";
15
+ import { V as Nt } from "./revolugo.vtooltip.CsXJFD-V.min.js";
16
+ import { V as yi } from "./revolugo.vdialog.CjEajxIC.min.js";
17
+ import { V as Ie, a as et, b as tt, c as wi } from "./revolugo.vcard.DNU4i52n.min.js";
18
+ import { V as Bi } from "./revolugo.vautocomplete.BjPSa1jg.min.js";
19
+ import { V as Ye, a as mt, b as ki } from "./revolugo.vlist.hRQlcp5M.min.js";
20
+ import { _ as zt } from "./revolugo.bformattedamount.vue_vue_type_script_setup_true_lang.D9Qs1dZa.min.js";
21
+ import { u as Mi, V as pt, m as Si, a as Ri } from "./revolugo.vinput.P34xrpIC.min.js";
22
+ import { m as Ut, a as xt, u as jt, b as qt, c as Vi, d as Ci } from "./revolugo.rounded.Dnxang6X.min.js";
23
+ import { V as $i } from "./revolugo.vlabel.CLHrAz78.min.js";
24
+ import { V as ht } from "./revolugo.vtextfield.BUNcwTRK.min.js";
25
+ import { V as De } from "./revolugo.vdivider.Cp9bHPnI.min.js";
26
+ import { o as Fi } from "./revolugo.index.D0uSQdJV.min.js";
27
+ import { V as xe } from "./revolugo.vbadge.D1RCkHoZ.min.js";
28
+ import { V as je } from "./revolugo.vmenu.BRFw3Jzk.min.js";
29
+ import { d as Oi } from "./revolugo.dialog-attach.O2HXPGzj.min.js";
30
+ import { u as _i } from "./revolugo.ssrboot.ByGq44eI.min.js";
31
+ function na(e) {
32
+ try {
33
+ if (typeof document < "u") {
34
+ window.REVOLUGO_ELEMENTS_STYLES = window.REVOLUGO_ELEMENTS_STYLES || {
35
+ sheets: [],
36
+ components: []
37
+ };
38
+ const t = import.meta.url, l = t.slice(0, t.lastIndexOf("/") + 1) + e;
39
+ window.REVOLUGO_ELEMENTS_STYLES.sheets.push(l);
40
+ for (const n of REVOLUGO_ELEMENTS_STYLES.components)
41
+ n(l);
42
+ if (e.indexOf("fonts") >= 0) {
43
+ const n = document.createElement("link");
44
+ n.rel = "stylesheet", linK.href = l, document.head.appendChild(n);
45
+ }
46
+ }
47
+ } catch (t) {
48
+ console.error("[revolugo-elements] ", t);
49
+ }
50
+ }
51
+ const Ds = 50;
52
+ function Fe(e, t = ae.Info) {
53
+ switch (t) {
54
+ case ae.Trace: {
55
+ console.debug(`[TRACE] ${e}`);
56
+ break;
57
+ }
58
+ case ae.Debug: {
59
+ console.debug(`[DEBUG] ${e}`);
60
+ break;
61
+ }
62
+ case ae.Info: {
63
+ console.info(`[INFO] ${e}`);
64
+ break;
65
+ }
66
+ case ae.Warn: {
67
+ console.warn(`[WARN] ${e}`);
68
+ break;
69
+ }
70
+ case ae.Error: {
71
+ console.error(`[ERROR] ${e}`);
72
+ break;
73
+ }
74
+ default: {
75
+ console.log(`[${ae[t]}] ${e}`);
76
+ break;
77
+ }
78
+ }
79
+ }
80
+ const vt = {
81
+ trace: (e) => Fe(e, ae.Trace),
82
+ debug: (e) => Fe(e, ae.Debug),
83
+ info: (e) => Fe(e, ae.Info),
84
+ warn: (e) => Fe(e, ae.Warn),
85
+ error: (e) => Fe(e, ae.Error)
86
+ }, Pi = ua("hotelImages", {
87
+ actions: {
88
+ async retrieveHotelImages({
89
+ hotelId: e,
90
+ locale: t
91
+ }) {
92
+ var l;
93
+ try {
94
+ if ((l = this.hotels[e]) != null && l.hotelImages)
95
+ return;
96
+ this.hotels[e] = { hotelImages: [], isLoading: !0 };
97
+ const n = ca();
98
+ if (!n)
99
+ return;
100
+ const i = await n.hotelImages.retrieve({
101
+ id: e,
102
+ lang: t
103
+ });
104
+ this.hotels[e] = { hotelImages: i, isLoading: !1 };
105
+ } catch (n) {
106
+ console.error("Cannot retrieve hotel images:", n);
107
+ }
108
+ }
109
+ },
110
+ getters: {
111
+ hotel: (e) => (t) => e.hotels[t]
112
+ },
113
+ state: () => ({
114
+ hotels: {}
115
+ })
116
+ });
117
+ function Ii(e) {
118
+ return /^([+-]?\d*\.?\d+([Ee][+-]?\d+)?|[+-]?\d*\.?\d+)(px|em|rem|vw|vh|vmin|vmax|%|cm|mm|in|pt|pc|ch|ex|q)$/u.test(
119
+ e
120
+ );
121
+ }
122
+ function We(e) {
123
+ if (e)
124
+ return typeof e == "number" ? `${e}px` : typeof e == "string" && (Ii(e) || e.startsWith("var")) ? e : Number.isNaN(e) ? "100%" : `${e}px`;
125
+ }
126
+ const Hs = ee({
127
+ data() {
128
+ return {
129
+ parsedHeight: We(this.height)
130
+ };
131
+ },
132
+ watch: {
133
+ height: {
134
+ handler(e) {
135
+ this.parsedHeight = We(e);
136
+ },
137
+ immediate: !0
138
+ }
139
+ }
140
+ }), Ns = (e) => v(() => We(e.value));
141
+ function Ti(e) {
142
+ const t = vi(e), l = Z(void 0);
143
+ return ke(e, () => {
144
+ Oe(() => {
145
+ var n;
146
+ l.value = ((n = t.value) == null ? void 0 : n.querySelector(".v-application")) ?? void 0;
147
+ });
148
+ }), {
149
+ $dialogAttach: l
150
+ };
151
+ }
152
+ var pe = /* @__PURE__ */ ((e) => (e.DialogFullscreen = "DialogFullscreen", e.HotelDescriptionViewDialog = "HotelDescriptionViewDialog", e.HotelRoomOfferList = "HotelRoomOfferList", e.HotelRoomOffersViewDialog = "HotelRoomOffersViewDialog", e.RoomsDetails = "RoomsDetails", e))(pe || {});
153
+ const Ei = {
154
+ DialogFullscreen: !0,
155
+ HotelDescriptionViewDialog: !1,
156
+ HotelRoomOfferList: !1,
157
+ HotelRoomOffersViewDialog: !1,
158
+ RoomsDetails: !0
159
+ }, Li = ee({
160
+ name: "BBtnCloseDialog",
161
+ setup() {
162
+ const { t: e } = ie();
163
+ return {
164
+ t: e
165
+ };
166
+ }
167
+ });
168
+ function Ai(e, t, l, n, i, r) {
169
+ return R(), z(q, X(e.$attrs, {
170
+ class: "close-btn",
171
+ dark: "",
172
+ icon: "",
173
+ variant: "flat"
174
+ }), {
175
+ default: o(() => [
176
+ a(de, null, {
177
+ default: o(() => t[0] || (t[0] = [
178
+ A("fas fa-times")
179
+ ])),
180
+ _: 1,
181
+ __: [0]
182
+ })
183
+ ]),
184
+ _: 1
185
+ }, 16);
186
+ }
187
+ const Di = /* @__PURE__ */ le(Li, [["render", Ai]]), Hi = {
188
+ adultCount: {
189
+ type: Number
190
+ },
191
+ checkInDate: {
192
+ type: String
193
+ },
194
+ compact: {
195
+ type: Boolean
196
+ },
197
+ features: {
198
+ default: () => Ei,
199
+ type: Object
200
+ },
201
+ hideAction: {
202
+ default: !1,
203
+ type: Boolean
204
+ },
205
+ hotelOffer: {
206
+ required: !0,
207
+ type: Object
208
+ },
209
+ imageCountLimit: {
210
+ type: Number
211
+ },
212
+ isNoLongerAvail: {
213
+ default: !1,
214
+ type: Boolean
215
+ },
216
+ nightCount: {
217
+ type: Number
218
+ },
219
+ singleOffer: {
220
+ default: !1,
221
+ type: Boolean
222
+ }
223
+ }, Ni = {
224
+ clickable: {
225
+ default: !1,
226
+ type: Boolean
227
+ },
228
+ height: { type: String },
229
+ imageUrls: { required: !0, type: Array },
230
+ isLoading: { default: !1, type: Boolean },
231
+ lazy: {
232
+ default: 0,
233
+ type: Number
234
+ },
235
+ limit: {
236
+ default: 80,
237
+ type: Number
238
+ },
239
+ rounded: { type: Boolean },
240
+ showThumbnails: { type: Boolean },
241
+ slide: { type: Number },
242
+ thumbnailUrls: { type: Array },
243
+ thumbnailsHeight: {
244
+ type: [String, Number]
245
+ },
246
+ width: { type: String }
247
+ }, zi = {
248
+ ...da(Ni, "imageUrls"),
249
+ hotelOffer: {
250
+ required: !0,
251
+ type: Object
252
+ },
253
+ imageCountLimit: {
254
+ type: Number
255
+ }
256
+ }, Ui = ee({
257
+ components: {
258
+ BImageCarousel: mi
259
+ },
260
+ computed: {
261
+ ...Ft(Pi),
262
+ carouselStyle() {
263
+ return {
264
+ borderBottomLeftRadius: "0px",
265
+ borderTopLeftRadius: "0px",
266
+ borderTopRightRadius: "0px"
267
+ };
268
+ },
269
+ hotel() {
270
+ return this.$store.get("hotelImages/hotel", this.hotelId);
271
+ },
272
+ hotelId() {
273
+ var e;
274
+ return (e = this.hotelOffer) == null ? void 0 : e.id;
275
+ },
276
+ imageUrls() {
277
+ return pi(this.hotel.hotelImages || []);
278
+ }
279
+ },
280
+ created() {
281
+ this.dispatch("hotelImages/retrieveHotelImages", {
282
+ hotelId: this.hotelId,
283
+ locale: this.$i18n.locale
284
+ });
285
+ },
286
+ mixins: [Ve, Ht()],
287
+ name: "HotelOfferItem",
288
+ props: zi,
289
+ setup() {
290
+ const { t: e } = ie();
291
+ return {
292
+ t: e
293
+ };
294
+ }
295
+ });
296
+ function xi(e, t, l, n, i, r) {
297
+ var d, m, g;
298
+ const s = oe("BImageCarousel");
299
+ return R(), z(s, {
300
+ clickable: "",
301
+ height: e.height,
302
+ "image-urls": ((m = (d = e.imageUrls) == null ? void 0 : d.lowres) == null ? void 0 : m.slice(0, e.imageCountLimit)) || [],
303
+ "is-loading": !((g = e.hotel) != null && g.hotelImages) || e.hotel.isLoading,
304
+ lazy: 2,
305
+ limit: 15,
306
+ rounded: "",
307
+ style: Ot(e.carouselStyle),
308
+ width: e.width
309
+ }, null, 8, ["height", "image-urls", "is-loading", "style", "width"]);
310
+ }
311
+ const ji = /* @__PURE__ */ le(Ui, [["render", xi]]), qi = {
312
+ key: 1,
313
+ class: "hotel-name text-subtitle-1 font-weight-black mr-1 text-primary cursor-pointer"
314
+ }, Gi = {
315
+ key: 0,
316
+ class: "text-grey-darken-2 text-caption mt-n1 d-block"
317
+ }, Ki = { key: 0 }, Yi = { class: "footer bg-white" }, Wi = {
318
+ class: "mt-2",
319
+ style: { cursor: "auto" }
320
+ }, Gt = /* @__PURE__ */ ee({
321
+ __name: "HotelOfferItem",
322
+ props: Hi,
323
+ setup(e) {
324
+ const t = e, { t: l } = ie(), n = Z(!1), i = Z(!1), r = Z(!1), s = lt(), { adultCount: d, checkInDate: m, nightCount: g } = fa(
325
+ lt()
326
+ ), c = v(
327
+ () => t.adultCount || d.value
328
+ ), b = v(
329
+ () => {
330
+ var f, T;
331
+ return ((T = (f = t.hotelOffer) == null ? void 0 : f.tags) == null ? void 0 : T.filter((S) => S.name.length > 30)) || [];
332
+ }
333
+ ), B = v(
334
+ () => t.checkInDate || m.value
335
+ ), u = v(() => {
336
+ if (t.features[pe.HotelRoomOffersViewDialog])
337
+ return "hotel-room-offers-view";
338
+ if (t.features[pe.HotelDescriptionViewDialog])
339
+ return "hotel-description-view";
340
+ }), h = v(
341
+ () => t.hotelOffer.distance ? Math.round(t.hotelOffer.distance / 1e3 * 100) / 100 : 0
342
+ ), p = v(() => t.hotelOffer.id), O = v(() => s.$state), y = v(
343
+ () => t.hotelOffer.hotelRoomOffers[0]
344
+ ), P = v(
345
+ () => ma({
346
+ bookingDatetime: pa().format(),
347
+ cancellationPolicies: y.value.cancellationPolicies,
348
+ checkInDate: B.value,
349
+ timezone: t.hotelOffer.timezone
350
+ }) === 0
351
+ ), L = v(
352
+ () => t.nightCount || g.value
353
+ ), U = v(
354
+ () => {
355
+ var f;
356
+ return ((f = y.value) == null ? void 0 : f.hotelRooms.reduce(
357
+ (T, S) => T + (S.count || 0),
358
+ 0
359
+ )) || 0;
360
+ }
361
+ ), D = v(
362
+ () => {
363
+ var f, T;
364
+ return ((T = (f = t.hotelOffer) == null ? void 0 : f.tags) == null ? void 0 : T.filter((S) => S.name.length <= 30)) || [];
365
+ }
366
+ ), w = v(() => {
367
+ var f;
368
+ return (f = t.hotelOffer) == null ? void 0 : f.venues;
369
+ });
370
+ function $() {
371
+ window.RevolugoElements.eventBus.$emit(
372
+ Ge.HotelOffersItemClick,
373
+ t.hotelOffer
374
+ ), t.features[pe.HotelRoomOfferList] ? i.value ? (i.value = !1, setTimeout(() => {
375
+ n.value = !1;
376
+ }, 500)) : (n.value = !0, Oe(() => {
377
+ i.value = !0;
378
+ })) : (t.features[pe.HotelDescriptionViewDialog] || t.features[pe.HotelRoomOffersViewDialog]) && (r.value = !0);
379
+ }
380
+ function F() {
381
+ window.RevolugoElements.eventBus.$emit(
382
+ Ge.HotelOffersItemClick,
383
+ t.hotelOffer
384
+ ), r.value = !0, t.features[pe.HotelRoomOffersViewDialog] && (i.value = !1, n.value = !1);
385
+ }
386
+ Ne(() => {
387
+ t.features[pe.HotelRoomOffersViewDialog] && window.RevolugoElements.eventBus.$on(Ge.BookingPolicyCreated, () => {
388
+ setTimeout(() => {
389
+ r.value = !1;
390
+ }, 350);
391
+ });
392
+ });
393
+ const V = v(
394
+ () => {
395
+ var f;
396
+ return (f = y.value) == null ? void 0 : f.hotelRooms;
397
+ }
398
+ ), C = Z(null), { $breakpointService: M } = bi(C), { $dialogAttach: k } = Ti(C);
399
+ return (f, T) => (R(), z(Na, {
400
+ ref_key: "root",
401
+ ref: C,
402
+ class: "hover-card",
403
+ compact: f.compact,
404
+ "is-rooms-details-visible": f.features.RoomsDetails,
405
+ "onClick:hotelOfferItem": $
406
+ }, ha({
407
+ "hotel-description-view-dialog": o(() => [
408
+ u.value ? (R(), z(yi, {
409
+ key: 0,
410
+ modelValue: r.value,
411
+ "onUpdate:modelValue": T[1] || (T[1] = (S) => r.value = S),
412
+ attach: we(k),
413
+ class: "z-index-over-map",
414
+ fullscreen: f.features.DialogFullscreen,
415
+ light: "",
416
+ transition: "slide-x-reverse-transition"
417
+ }, {
418
+ default: o(() => [
419
+ a(ja, { "at-root": "" }, {
420
+ default: o(() => [
421
+ a(Ie, {
422
+ class: fe(["overflow-y-auto", {
423
+ rounded: !f.features.DialogFullscreen,
424
+ "hotel-dialog-card": !f.features.DialogFullscreen
425
+ }]),
426
+ tile: ""
427
+ }, {
428
+ default: o(() => [
429
+ a(et, null, {
430
+ default: o(() => [
431
+ u.value === "hotel-room-offers-view" ? (R(), z(gi, X({
432
+ key: 0,
433
+ class: "pt-2 pa-md-6",
434
+ "hotel-id": p.value
435
+ }, O.value), null, 16, ["hotel-id"])) : u.value === "hotel-description-view" ? (R(), z(fi, X({
436
+ key: 1,
437
+ class: "pt-2 pa-md-6",
438
+ "hotel-id": p.value
439
+ }, O.value), null, 16, ["hotel-id"])) : W("", !0)
440
+ ]),
441
+ _: 1
442
+ })
443
+ ]),
444
+ _: 1
445
+ }, 8, ["class"])
446
+ ]),
447
+ _: 1
448
+ }),
449
+ a(Di, {
450
+ class: fe(f.features.DialogFullscreen ? "close-btn-fullscreen" : ""),
451
+ onClick: T[0] || (T[0] = (S) => r.value = !1)
452
+ }, null, 8, ["class"])
453
+ ]),
454
+ _: 1
455
+ }, 8, ["modelValue", "attach", "fullscreen"])) : W("", !0)
456
+ ]),
457
+ carousel: o(() => [
458
+ a(hi, {
459
+ height: f.features.RoomsDetails ? "175px" : "140px",
460
+ width: !we(M).xs && !f.compact ? "175px" : "100%"
461
+ }, {
462
+ default: o(() => [
463
+ a(ji, {
464
+ height: f.features.RoomsDetails ? "175px" : "140px",
465
+ "hotel-offer": f.hotelOffer,
466
+ "image-count-limit": f.imageCountLimit,
467
+ width: !we(M).xs && !f.compact ? "175px" : "100%"
468
+ }, null, 8, ["height", "hotel-offer", "image-count-limit", "width"])
469
+ ]),
470
+ _: 1
471
+ }, 8, ["height", "width"])
472
+ ]),
473
+ heading: o(() => {
474
+ var S;
475
+ return [
476
+ u.value && f.features.HotelRoomOfferList ? (R(), z(Nt, {
477
+ key: 0,
478
+ attach: (S = f.$el) == null ? void 0 : S.parent,
479
+ location: "bottom"
480
+ }, {
481
+ activator: o(({ props: j }) => [
482
+ x("span", X({ class: "hotel-name text-subtitle-1 font-weight-black mr-1 text-primary cursor-pointer" }, j, {
483
+ onClick: ba(F, ["stop"])
484
+ }), I(f.hotelOffer.name), 17)
485
+ ]),
486
+ default: o(() => [
487
+ A(I(we(l)("HotelOfferItem.openDialogTooltip", {
488
+ value: h.value
489
+ })) + " ", 1)
490
+ ]),
491
+ _: 1
492
+ }, 8, ["attach"])) : (R(), K("span", qi, I(f.hotelOffer.name), 1)),
493
+ a(ci, {
494
+ count: f.hotelOffer.rating
495
+ }, null, 8, ["count"])
496
+ ];
497
+ }),
498
+ "review-rating": o(() => [
499
+ a(ui, {
500
+ features: {
501
+ ReviewRatingDetails: !1
502
+ },
503
+ hotel: f.hotelOffer,
504
+ "tooltip-position": "bottom"
505
+ }, null, 8, ["hotel"])
506
+ ]),
507
+ distance: o(() => [
508
+ isNaN(h.value) ? W("", !0) : (R(), K("span", Gi, I(we(l)("HotelOfferItem.distance", { value: h.value })), 1)),
509
+ w.value ? (R(), z(di, {
510
+ key: 1,
511
+ class: "my-n1",
512
+ "venue-travel-times": w.value
513
+ }, null, 8, ["venue-travel-times"])) : W("", !0)
514
+ ]),
515
+ "big-tags": o(() => [
516
+ (R(!0), K(re, null, Re(b.value, (S, j) => (R(), K("div", {
517
+ key: j,
518
+ class: "align-self-center d-inline-flex flex-wrap",
519
+ style: { gap: "0.3em" }
520
+ }, [
521
+ a(ft, {
522
+ color: S.bg,
523
+ "pre-icon": `fas fa-${S.faIcon}`,
524
+ "text-color": S.color,
525
+ "tooltip-content": S.description ?? void 0
526
+ }, {
527
+ default: o(() => [
528
+ A(I(S.name), 1)
529
+ ]),
530
+ _: 2
531
+ }, 1032, ["color", "pre-icon", "text-color", "tooltip-content"])
532
+ ]))), 128))
533
+ ]),
534
+ tags: o(() => [
535
+ (R(!0), K(re, null, Re(D.value, (S, j) => (R(), K("div", {
536
+ key: j,
537
+ class: "align-self-center d-inline-flex flex-wrap",
538
+ style: { gap: "0.3em" }
539
+ }, [
540
+ a(ft, {
541
+ color: S.bg,
542
+ "pre-icon": `fas fa-${S.faIcon}`,
543
+ "text-color": S.color,
544
+ "tooltip-content": S.description ?? void 0
545
+ }, {
546
+ default: o(() => [
547
+ A(I(S.name), 1)
548
+ ]),
549
+ _: 2
550
+ }, 1032, ["color", "pre-icon", "text-color", "tooltip-content"])
551
+ ]))), 128))
552
+ ]),
553
+ "breakfast-option-badge": o(() => [
554
+ y.value.breakfastOption === "INCLUDED" ? (R(), z(Ua, {
555
+ key: 0,
556
+ "breakfast-option": y.value.breakfastOption
557
+ }, null, 8, ["breakfast-option"])) : W("", !0)
558
+ ]),
559
+ "package-details": o(() => [
560
+ a(za, { "hotel-rooms": V.value }, null, 8, ["hotel-rooms"])
561
+ ]),
562
+ "price-summary": o(() => [
563
+ y.value.price ? (R(), K("div", Ki, [
564
+ a(ri, {
565
+ "adult-count": c.value,
566
+ "is-starting-price": "",
567
+ "is-tax-included": "",
568
+ "night-count": L.value,
569
+ price: y.value.price,
570
+ "room-count": U.value,
571
+ "round-mode": "round",
572
+ "tax-included-price": y.value.taxIncludedPrice
573
+ }, null, 8, ["adult-count", "night-count", "price", "room-count", "tax-included-price"])
574
+ ])) : W("", !0)
575
+ ]),
576
+ footer: o(() => [
577
+ x("div", Yi, [
578
+ f.isNoLongerAvail ? (R(), z(xa, { key: 0 }, {
579
+ title: o(() => [
580
+ A(I(we(l)("HotelOfferItem.noLongerAvailable")), 1)
581
+ ]),
582
+ _: 1
583
+ })) : n.value ? (R(), z(Ja, { key: 1 }, {
584
+ default: o(() => [
585
+ Ke(x("div", Wi, [
586
+ n.value ? va(f.$slots, "default", { key: 0 }, void 0, !0) : W("", !0)
587
+ ], 512), [
588
+ [_t, f.features.HotelRoomOfferList && i.value]
589
+ ])
590
+ ]),
591
+ _: 3
592
+ })) : W("", !0)
593
+ ])
594
+ ]),
595
+ _: 2
596
+ }, [
597
+ P.value ? {
598
+ name: "cancellation-policies-badge",
599
+ fn: o(() => [
600
+ a(Ha, {
601
+ "cancellation-policies": y.value.cancellationPolicies,
602
+ "check-in-date": B.value,
603
+ timezone: f.hotelOffer.timezone
604
+ }, null, 8, ["cancellation-policies", "check-in-date", "timezone"])
605
+ ]),
606
+ key: "0"
607
+ } : void 0
608
+ ]), 1032, ["compact", "is-rooms-details-visible"]));
609
+ }
610
+ });
611
+ function bt(e) {
612
+ const t = e;
613
+ t.__i18n = t.__i18n || [], t.__i18n.push({
614
+ locale: "",
615
+ resource: {
616
+ "en-US": {
617
+ HotelOfferItem: {
618
+ distance: { t: 0, b: { t: 2, i: [{ t: 4, k: "value" }, { t: 3, v: "km from venue" }] } },
619
+ noLongerAvailable: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Hotel Offer No Longer available" } },
620
+ offerTag: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 3 }], s: "Best value" }, { t: 2, i: [{ t: 3 }], s: "Best value for your group" }] } },
621
+ openDialogTooltip: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Click here to open hotel details" } },
622
+ seeRooms: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "See availability" } },
623
+ showDetails: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Show details" } }
624
+ }
625
+ },
626
+ "fr-FR": {
627
+ HotelOfferItem: {
628
+ distance: { t: 0, b: { t: 2, i: [{ t: 4, k: "value" }, { t: 3, v: "km du lieu" }] } },
629
+ noLongerAvailable: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Cette offre n'est plus disponible" } },
630
+ offerTag: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 3 }], s: "Meilleur offre" }, { t: 2, i: [{ t: 3 }], s: "Meilleur offre pour votre groupe" }] } },
631
+ openDialogTooltip: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Cliquer pour voir les détails" } },
632
+ seeRooms: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Voir les disponibilités" } },
633
+ showDetails: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Afficher les détails" } }
634
+ }
635
+ },
636
+ "de-DE": {
637
+ HotelOfferItem: {
638
+ distance: { t: 0, b: { t: 2, i: [{ t: 4, k: "value" }, { t: 3, v: "km vom Veranstaltungsort" }] } },
639
+ noLongerAvailable: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Hotelangebot nicht mehr verfügbar" } },
640
+ offerTag: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 3 }], s: "Bestes Preis-Leistungs-Verhältnis" }, { t: 2, i: [{ t: 3 }], s: "Bestes Preis-Leistungs-Verhältnis für Ihre Gruppe" }] } },
641
+ openDialogTooltip: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Hier klicken, um Hoteldetails zu öffnen" } },
642
+ seeRooms: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Verfügbarkeit prüfen" } },
643
+ showDetails: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Details anzeigen" } }
644
+ }
645
+ },
646
+ "es-ES": {
647
+ HotelOfferItem: {
648
+ distance: { t: 0, b: { t: 2, i: [{ t: 4, k: "value" }, { t: 3, v: "km del lugar" }] } },
649
+ noLongerAvailable: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "La oferta del hotel ya no está disponible" } },
650
+ offerTag: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 3 }], s: "Mejor precio" }, { t: 2, i: [{ t: 3 }], s: "Mejor precio para tu grupo" }] } },
651
+ openDialogTooltip: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Haz clic aquí para abrir los detalles del hotel" } },
652
+ seeRooms: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Ver disponibilidad" } },
653
+ showDetails: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Mostrar detalles" } }
654
+ }
655
+ },
656
+ "it-IT": {
657
+ HotelOfferItem: {
658
+ distance: { t: 0, b: { t: 2, i: [{ t: 4, k: "value" }, { t: 3, v: "km dalla sede" }] } },
659
+ noLongerAvailable: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Offerta Hotel non più disponibile" } },
660
+ offerTag: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 3 }], s: "Miglior rapporto qualità/prezzo" }, { t: 2, i: [{ t: 3 }], s: "Miglior rapporto qualità/prezzo per il tuo gruppo" }] } },
661
+ openDialogTooltip: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Clicca qui per aprire i dettagli dell'hotel" } },
662
+ seeRooms: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Vedi disponibilità" } },
663
+ showDetails: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Mostra dettagli" } }
664
+ }
665
+ },
666
+ "nl-NL": {
667
+ HotelOfferItem: {
668
+ distance: { t: 0, b: { t: 2, i: [{ t: 4, k: "value" }, { t: 3, v: "km van de locatie" }] } },
669
+ noLongerAvailable: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Hotelaanbieding niet meer beschikbaar" } },
670
+ offerTag: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 3 }], s: "Beste waarde" }, { t: 2, i: [{ t: 3 }], s: "Beste waarde voor uw groep" }] } },
671
+ openDialogTooltip: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Klik hier om hoteldetails te openen" } },
672
+ seeRooms: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Bekijk beschikbaarheid" } },
673
+ showDetails: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Toon details" } }
674
+ }
675
+ },
676
+ "pt-PT": {
677
+ HotelOfferItem: {
678
+ distance: { t: 0, b: { t: 2, i: [{ t: 4, k: "value" }, { t: 3, v: "km do local" }] } },
679
+ noLongerAvailable: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Oferta de Hotel Indisponível" } },
680
+ offerTag: { t: 0, b: { t: 1, c: [{ t: 2, i: [{ t: 3 }], s: "Melhor preço" }, { t: 2, i: [{ t: 3 }], s: "Melhor preço para o seu grupo" }] } },
681
+ openDialogTooltip: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Clique aqui para abrir os detalhes do hotel" } },
682
+ seeRooms: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Ver disponibilidade" } },
683
+ showDetails: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Mostrar detalhes" } }
684
+ }
685
+ }
686
+ }
687
+ });
688
+ }
689
+ typeof bt == "function" && bt(Gt);
690
+ const zs = /* @__PURE__ */ le(Gt, [["__scopeId", "data-v-c98bbd69"]]);
691
+ function Zi(e, t, l, n) {
692
+ function i(r) {
693
+ return r instanceof l ? r : new l(function(s) {
694
+ s(r);
695
+ });
696
+ }
697
+ return new (l || (l = Promise))(function(r, s) {
698
+ function d(c) {
699
+ try {
700
+ g(n.next(c));
701
+ } catch (b) {
702
+ s(b);
703
+ }
704
+ }
705
+ function m(c) {
706
+ try {
707
+ g(n.throw(c));
708
+ } catch (b) {
709
+ s(b);
710
+ }
711
+ }
712
+ function g(c) {
713
+ c.done ? r(c.value) : i(c.value).then(d, m);
714
+ }
715
+ g((n = n.apply(e, [])).next());
716
+ });
717
+ }
718
+ function Xi(e) {
719
+ return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
720
+ }
721
+ var Qi = function e(t, l) {
722
+ if (t === l) return !0;
723
+ if (t && l && typeof t == "object" && typeof l == "object") {
724
+ if (t.constructor !== l.constructor) return !1;
725
+ var n, i, r;
726
+ if (Array.isArray(t)) {
727
+ if (n = t.length, n != l.length) return !1;
728
+ for (i = n; i-- !== 0; )
729
+ if (!e(t[i], l[i])) return !1;
730
+ return !0;
731
+ }
732
+ if (t.constructor === RegExp) return t.source === l.source && t.flags === l.flags;
733
+ if (t.valueOf !== Object.prototype.valueOf) return t.valueOf() === l.valueOf();
734
+ if (t.toString !== Object.prototype.toString) return t.toString() === l.toString();
735
+ if (r = Object.keys(t), n = r.length, n !== Object.keys(l).length) return !1;
736
+ for (i = n; i-- !== 0; )
737
+ if (!Object.prototype.hasOwnProperty.call(l, r[i])) return !1;
738
+ for (i = n; i-- !== 0; ) {
739
+ var s = r[i];
740
+ if (!e(t[s], l[s])) return !1;
741
+ }
742
+ return !0;
743
+ }
744
+ return t !== t && l !== l;
745
+ }, Ji = /* @__PURE__ */ Xi(Qi);
746
+ const gt = "__googleMapsScriptId";
747
+ var Se;
748
+ (function(e) {
749
+ e[e.INITIALIZED = 0] = "INITIALIZED", e[e.LOADING = 1] = "LOADING", e[e.SUCCESS = 2] = "SUCCESS", e[e.FAILURE = 3] = "FAILURE";
750
+ })(Se || (Se = {}));
751
+ class Be {
752
+ /**
753
+ * Creates an instance of Loader using [[LoaderOptions]]. No defaults are set
754
+ * using this library, instead the defaults are set by the Google Maps
755
+ * JavaScript API server.
756
+ *
757
+ * ```
758
+ * const loader = Loader({apiKey, version: 'weekly', libraries: ['places']});
759
+ * ```
760
+ */
761
+ constructor({ apiKey: t, authReferrerPolicy: l, channel: n, client: i, id: r = gt, language: s, libraries: d = [], mapIds: m, nonce: g, region: c, retries: b = 3, url: B = "https://maps.googleapis.com/maps/api/js", version: u }) {
762
+ if (this.callbacks = [], this.done = !1, this.loading = !1, this.errors = [], this.apiKey = t, this.authReferrerPolicy = l, this.channel = n, this.client = i, this.id = r || gt, this.language = s, this.libraries = d, this.mapIds = m, this.nonce = g, this.region = c, this.retries = b, this.url = B, this.version = u, Be.instance) {
763
+ if (!Ji(this.options, Be.instance.options))
764
+ throw new Error(`Loader must not be called again with different options. ${JSON.stringify(this.options)} !== ${JSON.stringify(Be.instance.options)}`);
765
+ return Be.instance;
766
+ }
767
+ Be.instance = this;
768
+ }
769
+ get options() {
770
+ return {
771
+ version: this.version,
772
+ apiKey: this.apiKey,
773
+ channel: this.channel,
774
+ client: this.client,
775
+ id: this.id,
776
+ libraries: this.libraries,
777
+ language: this.language,
778
+ region: this.region,
779
+ mapIds: this.mapIds,
780
+ nonce: this.nonce,
781
+ url: this.url,
782
+ authReferrerPolicy: this.authReferrerPolicy
783
+ };
784
+ }
785
+ get status() {
786
+ return this.errors.length ? Se.FAILURE : this.done ? Se.SUCCESS : this.loading ? Se.LOADING : Se.INITIALIZED;
787
+ }
788
+ get failed() {
789
+ return this.done && !this.loading && this.errors.length >= this.retries + 1;
790
+ }
791
+ /**
792
+ * CreateUrl returns the Google Maps JavaScript API script url given the [[LoaderOptions]].
793
+ *
794
+ * @ignore
795
+ * @deprecated
796
+ */
797
+ createUrl() {
798
+ let t = this.url;
799
+ return t += "?callback=__googleMapsCallback&loading=async", this.apiKey && (t += `&key=${this.apiKey}`), this.channel && (t += `&channel=${this.channel}`), this.client && (t += `&client=${this.client}`), this.libraries.length > 0 && (t += `&libraries=${this.libraries.join(",")}`), this.language && (t += `&language=${this.language}`), this.region && (t += `&region=${this.region}`), this.version && (t += `&v=${this.version}`), this.mapIds && (t += `&map_ids=${this.mapIds.join(",")}`), this.authReferrerPolicy && (t += `&auth_referrer_policy=${this.authReferrerPolicy}`), t;
800
+ }
801
+ deleteScript() {
802
+ const t = document.getElementById(this.id);
803
+ t && t.remove();
804
+ }
805
+ /**
806
+ * Load the Google Maps JavaScript API script and return a Promise.
807
+ * @deprecated, use importLibrary() instead.
808
+ */
809
+ load() {
810
+ return this.loadPromise();
811
+ }
812
+ /**
813
+ * Load the Google Maps JavaScript API script and return a Promise.
814
+ *
815
+ * @ignore
816
+ * @deprecated, use importLibrary() instead.
817
+ */
818
+ loadPromise() {
819
+ return new Promise((t, l) => {
820
+ this.loadCallback((n) => {
821
+ n ? l(n.error) : t(window.google);
822
+ });
823
+ });
824
+ }
825
+ importLibrary(t) {
826
+ return this.execute(), google.maps.importLibrary(t);
827
+ }
828
+ /**
829
+ * Load the Google Maps JavaScript API script with a callback.
830
+ * @deprecated, use importLibrary() instead.
831
+ */
832
+ loadCallback(t) {
833
+ this.callbacks.push(t), this.execute();
834
+ }
835
+ /**
836
+ * Set the script on document.
837
+ */
838
+ setScript() {
839
+ var t, l;
840
+ if (document.getElementById(this.id)) {
841
+ this.callback();
842
+ return;
843
+ }
844
+ const n = {
845
+ key: this.apiKey,
846
+ channel: this.channel,
847
+ client: this.client,
848
+ libraries: this.libraries.length && this.libraries,
849
+ v: this.version,
850
+ mapIds: this.mapIds,
851
+ language: this.language,
852
+ region: this.region,
853
+ authReferrerPolicy: this.authReferrerPolicy
854
+ };
855
+ Object.keys(n).forEach(
856
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
857
+ (r) => !n[r] && delete n[r]
858
+ ), !((l = (t = window == null ? void 0 : window.google) === null || t === void 0 ? void 0 : t.maps) === null || l === void 0) && l.importLibrary || ((r) => {
859
+ let s, d, m, g = "The Google Maps JavaScript API", c = "google", b = "importLibrary", B = "__ib__", u = document, h = window;
860
+ h = h[c] || (h[c] = {});
861
+ const p = h.maps || (h.maps = {}), O = /* @__PURE__ */ new Set(), y = new URLSearchParams(), P = () => (
862
+ // @ts-ignore
863
+ s || (s = new Promise((L, U) => Zi(this, void 0, void 0, function* () {
864
+ var D;
865
+ yield d = u.createElement("script"), d.id = this.id, y.set("libraries", [...O] + "");
866
+ for (m in r)
867
+ y.set(m.replace(/[A-Z]/g, (w) => "_" + w[0].toLowerCase()), r[m]);
868
+ y.set("callback", c + ".maps." + B), d.src = this.url + "?" + y, p[B] = L, d.onerror = () => s = U(Error(g + " could not load.")), d.nonce = this.nonce || ((D = u.querySelector("script[nonce]")) === null || D === void 0 ? void 0 : D.nonce) || "", u.head.append(d);
869
+ })))
870
+ );
871
+ p[b] ? console.warn(g + " only loads once. Ignoring:", r) : p[b] = (L, ...U) => O.add(L) && P().then(() => p[b](L, ...U));
872
+ })(n);
873
+ const i = this.libraries.map((r) => this.importLibrary(r));
874
+ i.length || i.push(this.importLibrary("core")), Promise.all(i).then(() => this.callback(), (r) => {
875
+ const s = new ErrorEvent("error", { error: r });
876
+ this.loadErrorCallback(s);
877
+ });
878
+ }
879
+ /**
880
+ * Reset the loader state.
881
+ */
882
+ reset() {
883
+ this.deleteScript(), this.done = !1, this.loading = !1, this.errors = [], this.onerrorEvent = null;
884
+ }
885
+ resetIfRetryingFailed() {
886
+ this.failed && this.reset();
887
+ }
888
+ loadErrorCallback(t) {
889
+ if (this.errors.push(t), this.errors.length <= this.retries) {
890
+ const l = this.errors.length * Math.pow(2, this.errors.length);
891
+ console.error(`Failed to load Google Maps script, retrying in ${l} ms.`), setTimeout(() => {
892
+ this.deleteScript(), this.setScript();
893
+ }, l);
894
+ } else
895
+ this.onerrorEvent = t, this.callback();
896
+ }
897
+ callback() {
898
+ this.done = !0, this.loading = !1, this.callbacks.forEach((t) => {
899
+ t(this.onerrorEvent);
900
+ }), this.callbacks = [];
901
+ }
902
+ execute() {
903
+ if (this.resetIfRetryingFailed(), !this.loading)
904
+ if (this.done)
905
+ this.callback();
906
+ else {
907
+ if (window.google && window.google.maps && window.google.maps.version) {
908
+ console.warn("Google Maps already loaded outside @googlemaps/js-api-loader. This may result in undesirable behavior as options and script parameters may not match."), this.callback();
909
+ return;
910
+ }
911
+ this.loading = !0, this.setScript();
912
+ }
913
+ }
914
+ }
915
+ const el = (e) => {
916
+ switch (e) {
917
+ case $e.Production:
918
+ return "AIzaSyDipOKl8MebRQ5FFK_LgUn6YXiSW45KeEU";
919
+ case $e.Sandbox:
920
+ case $e.Staging:
921
+ case $e.CiCd:
922
+ case $e.Local:
923
+ default:
924
+ return "AIzaSyDrGcYsSX4u-28bi3vFlQ_D5Lz92GHupP8";
925
+ }
926
+ }, tl = {
927
+ isFlat: {
928
+ default: !0,
929
+ type: Boolean
930
+ },
931
+ locationContext: {
932
+ default: null,
933
+ type: Object
934
+ },
935
+ modelValue: {
936
+ default: null,
937
+ type: Object
938
+ },
939
+ outlined: {
940
+ default: !1,
941
+ type: Boolean
942
+ },
943
+ withDetails: {
944
+ default: !1,
945
+ type: Boolean
946
+ }
947
+ };
948
+ function al(e) {
949
+ switch (e) {
950
+ case "accounting":
951
+ return "fas fa-calculator";
952
+ case "airport":
953
+ return "fas fa-plane";
954
+ case "amusement_park":
955
+ return "fas fa-funnel-dollar";
956
+ case "aquarium":
957
+ return "fas fa-fish";
958
+ case "art_gallery":
959
+ return "fas fa-paint-brush";
960
+ case "atm":
961
+ return "fas fa-money";
962
+ case "bakery":
963
+ return "fas fa-bread-slice";
964
+ case "bank":
965
+ return "fas fa-university";
966
+ case "bar":
967
+ return "fas fa-cocktail";
968
+ case "beauty_salon":
969
+ return "fas fa-cut";
970
+ case "bicycle_store":
971
+ return "fas fa-bicycle";
972
+ case "book_store":
973
+ return "fas fa-book";
974
+ case "bowling_alley":
975
+ return "fas fa-bowling-ball";
976
+ case "bus_station":
977
+ return "fas fa-bus";
978
+ case "cafe":
979
+ return "fas fa-coffee";
980
+ case "campground":
981
+ return "fas fa-campground";
982
+ case "car_dealer":
983
+ return "fas fa-car";
984
+ case "car_rental":
985
+ return "fas fa-car";
986
+ case "car_repair":
987
+ return "fas fa-wrench";
988
+ case "car_wash":
989
+ return "fas fa-car-wash";
990
+ case "casino":
991
+ return "fas fa-dice";
992
+ case "cemetery":
993
+ return "fas fa-cross";
994
+ case "church":
995
+ return "fas fa-church";
996
+ case "city_hall":
997
+ return "fas fa-city";
998
+ case "clothing_store":
999
+ return "fas fa-tshirt";
1000
+ case "convenience_store":
1001
+ return "fas fa-shopping-basket";
1002
+ case "courthouse":
1003
+ return "fas fa-balance-scale";
1004
+ case "dentist":
1005
+ return "fas fa-tooth";
1006
+ case "department_store":
1007
+ return "fas fa-store";
1008
+ case "doctor":
1009
+ return "fas fa-user-md";
1010
+ case "drugstore":
1011
+ return "fas fa-prescription-bottle-alt";
1012
+ case "electrician":
1013
+ return "fas fa-bolt";
1014
+ case "electronics_store":
1015
+ return "fas fa-tv";
1016
+ case "embassy":
1017
+ return "fas fa-flag";
1018
+ case "fire_station":
1019
+ return "fas fa-fire-extinguisher";
1020
+ case "florist":
1021
+ return "fas fa-seedling";
1022
+ case "funeral_home":
1023
+ return "fas fa-cross";
1024
+ case "furniture_store":
1025
+ return "fas fa-chair";
1026
+ case "gas_station":
1027
+ return "fas fa-gas-pump";
1028
+ case "gym":
1029
+ return "fas fa-dumbbell";
1030
+ case "hair_care":
1031
+ return "fas fa-cut";
1032
+ case "hardware_store":
1033
+ return "fas fa-tools";
1034
+ case "hindu_temple":
1035
+ return "fas fa-om";
1036
+ case "home_goods_store":
1037
+ return "fas fa-home";
1038
+ case "hospital":
1039
+ return "fas fa-hospital";
1040
+ case "insurance_agency":
1041
+ return "fas fa-shield-alt";
1042
+ case "jewelry_store":
1043
+ return "fas fa-gem";
1044
+ case "laundry":
1045
+ return "fas fa-tshirt";
1046
+ case "lawyer":
1047
+ return "fas fa-balance-scale";
1048
+ case "library":
1049
+ return "fas fa-book-open";
1050
+ case "light_rail_station":
1051
+ return "fas fa-train";
1052
+ case "liquor_store":
1053
+ return "fas fa-wine-bottle";
1054
+ case "local_government_office":
1055
+ return "fas fa-landmark";
1056
+ case "locksmith":
1057
+ return "fas fa-lock";
1058
+ case "lodging":
1059
+ return "fas fa-hotel";
1060
+ case "meal_delivery":
1061
+ return "fas fa-truck";
1062
+ case "meal_takeaway":
1063
+ return "fas fa-box";
1064
+ case "mosque":
1065
+ return "fas fa-mosque";
1066
+ case "movie_rental":
1067
+ return "fas fa-film";
1068
+ case "movie_theater":
1069
+ return "fas fa-film";
1070
+ case "moving_company":
1071
+ return "fas fa-truck";
1072
+ case "museum":
1073
+ return "fas fa-university";
1074
+ case "night_club":
1075
+ return "fas fa-glass-martini-alt";
1076
+ case "painter":
1077
+ return "fas fa-paint-roller";
1078
+ case "park":
1079
+ return "fas fa-tree";
1080
+ case "parking":
1081
+ return "fas fa-parking";
1082
+ case "pet_store":
1083
+ return "fas fa-paw";
1084
+ case "pharmacy":
1085
+ return "fas fa-prescription-bottle-alt";
1086
+ case "physiotherapist":
1087
+ return "fas fa-briefcase-medical";
1088
+ case "plumber":
1089
+ return "fas fa-wrench";
1090
+ case "police":
1091
+ return "fas fa-police";
1092
+ case "post_office":
1093
+ return "fas fa-mail-bulk";
1094
+ case "primary_school":
1095
+ return "fas fa-school";
1096
+ case "real_estate_agency":
1097
+ return "fas fa-building";
1098
+ case "restaurant":
1099
+ return "fas fa-utensils";
1100
+ case "roofing_contractor":
1101
+ return "fas fa-tools";
1102
+ case "rv_park":
1103
+ return "fas fa-campground";
1104
+ case "school":
1105
+ return "fas fa-graduation-cap";
1106
+ case "secondary_school":
1107
+ return "fas fa-school";
1108
+ case "shoe_store":
1109
+ return "fas fa-shoe-prints";
1110
+ case "shopping_mall":
1111
+ return "fas fa-shopping-mall";
1112
+ case "spa":
1113
+ return "fas fa-spa";
1114
+ case "stadium":
1115
+ return "fas fa-stadium";
1116
+ case "storage":
1117
+ return "fas fa-warehouse";
1118
+ case "store":
1119
+ return "fas fa-store";
1120
+ case "subway_station":
1121
+ return "fas fa-subway";
1122
+ case "supermarket":
1123
+ return "fas fa-shopping-cart";
1124
+ case "synagogue":
1125
+ return "fas fa-synagogue";
1126
+ case "taxi_stand":
1127
+ return "fas fa-taxi";
1128
+ case "tourist_attraction":
1129
+ return "fas fa-map-marked-alt";
1130
+ case "train_station":
1131
+ return "fas fa-train";
1132
+ case "transit_station":
1133
+ return "fas fa-bus";
1134
+ case "travel_agency":
1135
+ return "fas fa-map-marked-alt";
1136
+ case "university":
1137
+ return "fas fa-graduation-cap";
1138
+ case "veterinary_care":
1139
+ return "fas fa-paw";
1140
+ case "zoo":
1141
+ return "fas fa-paw";
1142
+ case void 0:
1143
+ default:
1144
+ return "fas fa-location-dot";
1145
+ }
1146
+ }
1147
+ const Kt = /* @__PURE__ */ ee({
1148
+ __name: "BSearchLocationInput",
1149
+ props: /* @__PURE__ */ ga(tl, {
1150
+ modelValue: {},
1151
+ modelModifiers: {}
1152
+ }),
1153
+ emits: ["update:modelValue"],
1154
+ setup(e) {
1155
+ function t(u) {
1156
+ return al(u == null ? void 0 : u[0]);
1157
+ }
1158
+ const { t: l } = ie(), { config: n } = ya(), i = wa(e, "modelValue"), r = Z(""), s = Z([]), d = Z(!1), m = Z(!1), g = v(() => el(n.value.apiEnvironment)), c = e;
1159
+ function b() {
1160
+ return new Promise((u) => {
1161
+ new Be({
1162
+ apiKey: g.value,
1163
+ libraries: ["places"],
1164
+ version: "quarterly"
1165
+ }).importLibrary("places").then(({ PlacesService: p }) => {
1166
+ const O = new p(document.createElement("div"));
1167
+ if (r.value || u([]), c.locationContext) {
1168
+ const y = {
1169
+ location: {
1170
+ lat: c.locationContext.latitude,
1171
+ lng: c.locationContext.longitude
1172
+ },
1173
+ query: r.value,
1174
+ radius: 1e4
1175
+ };
1176
+ O.textSearch(y, (P) => {
1177
+ u(P ?? []);
1178
+ });
1179
+ } else {
1180
+ const y = {
1181
+ fields: ["name", "geometry", "types", "formatted_address"],
1182
+ query: r.value
1183
+ };
1184
+ O.findPlaceFromQuery(y, (P) => {
1185
+ u(P ?? []);
1186
+ });
1187
+ }
1188
+ }).catch((p) => {
1189
+ vt.error(p), u([]);
1190
+ });
1191
+ });
1192
+ }
1193
+ const B = Ba(async () => {
1194
+ try {
1195
+ d.value = !0;
1196
+ const u = await b();
1197
+ return s.value = u.filter((h) => {
1198
+ var p;
1199
+ return !!((p = h.geometry) != null && p.location);
1200
+ }).map((h) => ({
1201
+ icon: t(h.types),
1202
+ latitude: h.geometry.location.lat(),
1203
+ longitude: h.geometry.location.lng(),
1204
+ raw: h,
1205
+ subtitle: h.formatted_address ?? "",
1206
+ title: ka([h.name]).join(" ")
1207
+ })), d.value = !1, s.value;
1208
+ } catch (u) {
1209
+ return vt.error(u), d.value = !1, [];
1210
+ }
1211
+ }, 500);
1212
+ return ke(r, async (u) => {
1213
+ if (!u) {
1214
+ s.value = [];
1215
+ return;
1216
+ }
1217
+ await B();
1218
+ }), Ne(() => {
1219
+ Oe(() => {
1220
+ var u, h;
1221
+ r.value = ((h = (u = i.value) == null ? void 0 : u.raw) == null ? void 0 : h.name) || "";
1222
+ }).catch((u) => {
1223
+ console.error(u);
1224
+ });
1225
+ }), (u, h) => (R(), z(Bi, {
1226
+ class: fe(["search-location-input", { focused: m.value }]),
1227
+ density: "compact",
1228
+ flat: u.isFlat,
1229
+ "hide-details": !u.withDetails,
1230
+ "hide-no-data": "",
1231
+ "item-title": "title",
1232
+ items: s.value,
1233
+ placeholder: we(l)("BSearchLocationInput.placeholder"),
1234
+ loading: d.value,
1235
+ "no-filter": "",
1236
+ outlined: u.outlined,
1237
+ "return-object": "",
1238
+ modelValue: i.value,
1239
+ "onUpdate:modelValue": h[0] || (h[0] = (p) => i.value = p),
1240
+ search: r.value,
1241
+ "onUpdate:search": h[1] || (h[1] = (p) => r.value = p),
1242
+ focused: m.value,
1243
+ "onUpdate:focused": h[2] || (h[2] = (p) => m.value = p),
1244
+ variant: u.outlined ? void 0 : "solo",
1245
+ color: "primary",
1246
+ "menu-props": {
1247
+ contentClass: "elevation-1"
1248
+ },
1249
+ "list-props": {
1250
+ elevation: 0,
1251
+ class: "mt-1"
1252
+ }
1253
+ }, {
1254
+ "prepend-inner": o(() => [
1255
+ a(de, { size: "15" }, {
1256
+ default: o(() => h[3] || (h[3] = [
1257
+ A("fas fa-solid fa-magnifying-glass")
1258
+ ])),
1259
+ _: 1,
1260
+ __: [3]
1261
+ })
1262
+ ]),
1263
+ item: o(({ item: p, props: O }) => [
1264
+ a(Ye, Ma(Sa(O)), {
1265
+ prepend: o(() => [
1266
+ a(de, {
1267
+ color: "primary",
1268
+ size: "25"
1269
+ }, {
1270
+ default: o(() => [
1271
+ A(I(p.raw.icon), 1)
1272
+ ]),
1273
+ _: 2
1274
+ }, 1024)
1275
+ ]),
1276
+ _: 2
1277
+ }, 1040)
1278
+ ]),
1279
+ _: 1
1280
+ }, 8, ["flat", "hide-details", "items", "placeholder", "loading", "outlined", "modelValue", "search", "focused", "variant", "class"]));
1281
+ }
1282
+ });
1283
+ function yt(e) {
1284
+ const t = e;
1285
+ t.__i18n = t.__i18n || [], t.__i18n.push({
1286
+ locale: "",
1287
+ resource: {
1288
+ "en-US": {
1289
+ BSearchLocationInput: {
1290
+ label: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Location" } },
1291
+ placeholder: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Search for a location" } },
1292
+ noDataText: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "No locations found" } }
1293
+ }
1294
+ },
1295
+ "fr-FR": {
1296
+ BSearchLocationInput: {
1297
+ label: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Adresse" } },
1298
+ placeholder: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Entrer une adresse" } },
1299
+ noDataText: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Aucun résultat trouvé" } }
1300
+ }
1301
+ },
1302
+ "de-DE": {
1303
+ BSearchLocationInput: {
1304
+ label: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Ort" } },
1305
+ placeholder: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Suche nach einem Ort" } },
1306
+ noDataText: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Keine Orte gefunden" } }
1307
+ }
1308
+ },
1309
+ "es-ES": {
1310
+ BSearchLocationInput: {
1311
+ label: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Ubicación" } },
1312
+ placeholder: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Buscar una ubicación" } },
1313
+ noDataText: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "No se encontraron ubicaciones" } }
1314
+ }
1315
+ },
1316
+ "it-IT": {
1317
+ BSearchLocationInput: {
1318
+ label: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Luogo" } },
1319
+ placeholder: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Cerca una località" } },
1320
+ noDataText: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Nessuna località trovata" } }
1321
+ }
1322
+ },
1323
+ "nl-NL": {
1324
+ BSearchLocationInput: {
1325
+ label: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Locatie" } },
1326
+ placeholder: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Zoek naar een locatie" } },
1327
+ noDataText: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Geen locaties gevonden" } }
1328
+ }
1329
+ },
1330
+ "pt-PT": {
1331
+ BSearchLocationInput: {
1332
+ label: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Localização" } },
1333
+ placeholder: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Pesquisar por uma localização" } },
1334
+ noDataText: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Nenhuma localização encontrada" } }
1335
+ }
1336
+ }
1337
+ }
1338
+ });
1339
+ }
1340
+ typeof yt == "function" && yt(Kt);
1341
+ const Us = /* @__PURE__ */ le(Kt, [["__scopeId", "data-v-d73a57da"]]), il = 25, Ze = {
1342
+ currency: {
1343
+ required: !0,
1344
+ type: String
1345
+ },
1346
+ disabled: {
1347
+ default: !1,
1348
+ type: Boolean
1349
+ },
1350
+ isLoading: {
1351
+ default: !1,
1352
+ type: Boolean
1353
+ },
1354
+ modelValue: {
1355
+ type: Array
1356
+ },
1357
+ priceMax: {
1358
+ default: 10,
1359
+ type: Number
1360
+ },
1361
+ priceMin: {
1362
+ default: 5,
1363
+ type: Number
1364
+ },
1365
+ stepCount: {
1366
+ default: il,
1367
+ type: Number
1368
+ }
1369
+ }, wt = (e, t) => {
1370
+ const n = t - e, i = n / 40, s = 10 ** (Math.floor(Math.log10(i)) - 1), d = Math.round(i / s) * s, m = Math.max(d, n / 40);
1371
+ return Math.floor(m);
1372
+ }, ll = ee({
1373
+ components: { BFormattedAmount: zt },
1374
+ computed: {
1375
+ currencySymbol() {
1376
+ return Va(this.currency);
1377
+ },
1378
+ getChartBarHeight() {
1379
+ return (e) => `${Math.log(e + 1) / Math.log(Math.max(...this.priceHistogram || [])) * 40}px`;
1380
+ },
1381
+ validPriceRange() {
1382
+ return Ra([this.priceMin, this.priceMax], (e) => e);
1383
+ }
1384
+ },
1385
+ created() {
1386
+ this.$watch(
1387
+ () => [this.priceMin, this.priceMax],
1388
+ () => {
1389
+ this.step = wt(this.priceMin, this.priceMax);
1390
+ }
1391
+ );
1392
+ },
1393
+ data() {
1394
+ return {
1395
+ inputMax: this.modelValue && Math.max(...this.modelValue) || this.priceMax,
1396
+ inputMin: this.modelValue && Math.min(...this.modelValue) || this.priceMin,
1397
+ modelMax: this.modelValue && Math.max(...this.modelValue) || this.priceMax,
1398
+ modelMin: this.modelValue && Math.min(...this.modelValue) || this.priceMin,
1399
+ rangeSliderModel: [
1400
+ this.modelValue && Math.min(...this.modelValue) || this.priceMin,
1401
+ this.modelValue && Math.max(...this.modelValue) || this.priceMax
1402
+ ],
1403
+ step: wt(this.priceMin, this.priceMax)
1404
+ };
1405
+ },
1406
+ methods: {
1407
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1408
+ onInputMaxBlur(e) {
1409
+ var t;
1410
+ this.modelMax = Math.max(
1411
+ Math.min(this.validPriceRange[1], Math.ceil((t = e.target) == null ? void 0 : t.value)),
1412
+ this.validPriceRange[0]
1413
+ ), this.inputMax = this.modelMax, this.rangeSliderModel = [this.modelMin, this.modelMax], this.$emit("update:modelValue", [this.modelMin, this.modelMax]);
1414
+ },
1415
+ onInputMaxClear() {
1416
+ this.inputMax = this.validPriceRange[1], this.modelMax = this.inputMax, this.rangeSliderModel = [this.modelMin, this.modelMax], this.$emit("update:modelValue", [this.modelMin, this.modelMax]);
1417
+ },
1418
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1419
+ onInputMinBlur(e) {
1420
+ var t;
1421
+ this.modelMin = Math.min(
1422
+ Math.max(this.validPriceRange[0], Math.ceil((t = e.target) == null ? void 0 : t.value)),
1423
+ this.validPriceRange[1]
1424
+ ), this.inputMin = this.modelMin, this.rangeSliderModel = [this.modelMin, this.modelMax], this.$emit("update:modelValue", [this.modelMin, this.modelMax]);
1425
+ },
1426
+ onInputMinClear() {
1427
+ this.inputMin = this.validPriceRange[0], this.modelMin = this.inputMin, this.rangeSliderModel = [this.modelMin, this.modelMax], this.$emit("update:modelValue", [this.modelMin, this.modelMax]);
1428
+ },
1429
+ onSliderEnd() {
1430
+ this.modelMin = this.rangeSliderModel[0], this.modelMax = this.rangeSliderModel[1], this.$emit("update:modelValue", [this.modelMin, this.modelMax]);
1431
+ }
1432
+ },
1433
+ mixins: [Ve],
1434
+ name: "BFilterByPrice",
1435
+ props: Ze,
1436
+ setup() {
1437
+ const { t: e } = ie(), t = Pt(), l = v(
1438
+ () => t.hotelOffersCurrency
1439
+ ), n = v(() => t.priceHistogram);
1440
+ return {
1441
+ hotelOffersCurrency: l,
1442
+ priceHistogram: n,
1443
+ t: e
1444
+ };
1445
+ },
1446
+ watch: {
1447
+ modelValue: {
1448
+ deep: !0,
1449
+ handler(e) {
1450
+ e && (this.modelMin = e[0] || this.priceMin, this.modelMax = e[1] || this.priceMax, this.inputMin = this.modelMin, this.inputMax = this.modelMax, this.rangeSliderModel = [this.modelMin, this.modelMax]);
1451
+ },
1452
+ immediate: !0
1453
+ },
1454
+ rangeSliderModel(e) {
1455
+ e && (this.inputMin = e[0], this.inputMax = e[1]);
1456
+ }
1457
+ }
1458
+ }), at = Symbol.for("vuetify:v-slider");
1459
+ function Xe(e, t, l) {
1460
+ const n = l === "vertical", i = t.getBoundingClientRect(), r = "touches" in e ? e.touches[0] : e;
1461
+ return n ? r.clientY - (i.top + i.height / 2) : r.clientX - (i.left + i.width / 2);
1462
+ }
1463
+ function sl(e, t) {
1464
+ return "touches" in e && e.touches.length ? e.touches[0][t] : "changedTouches" in e && e.changedTouches.length ? e.changedTouches[0][t] : e[t];
1465
+ }
1466
+ const ol = Ce({
1467
+ disabled: {
1468
+ type: Boolean,
1469
+ default: null
1470
+ },
1471
+ error: Boolean,
1472
+ readonly: {
1473
+ type: Boolean,
1474
+ default: null
1475
+ },
1476
+ max: {
1477
+ type: [Number, String],
1478
+ default: 100
1479
+ },
1480
+ min: {
1481
+ type: [Number, String],
1482
+ default: 0
1483
+ },
1484
+ step: {
1485
+ type: [Number, String],
1486
+ default: 0
1487
+ },
1488
+ thumbColor: String,
1489
+ thumbLabel: {
1490
+ type: [Boolean, String],
1491
+ default: void 0,
1492
+ validator: (e) => typeof e == "boolean" || e === "always"
1493
+ },
1494
+ thumbSize: {
1495
+ type: [Number, String],
1496
+ default: 20
1497
+ },
1498
+ showTicks: {
1499
+ type: [Boolean, String],
1500
+ default: !1,
1501
+ validator: (e) => typeof e == "boolean" || e === "always"
1502
+ },
1503
+ ticks: {
1504
+ type: [Array, Object]
1505
+ },
1506
+ tickSize: {
1507
+ type: [Number, String],
1508
+ default: 2
1509
+ },
1510
+ color: String,
1511
+ trackColor: String,
1512
+ trackFillColor: String,
1513
+ trackSize: {
1514
+ type: [Number, String],
1515
+ default: 4
1516
+ },
1517
+ direction: {
1518
+ type: String,
1519
+ default: "horizontal",
1520
+ validator: (e) => ["vertical", "horizontal"].includes(e)
1521
+ },
1522
+ reverse: Boolean,
1523
+ ...xt(),
1524
+ ...Ut({
1525
+ elevation: 2
1526
+ }),
1527
+ ripple: {
1528
+ type: Boolean,
1529
+ default: !0
1530
+ }
1531
+ }, "Slider"), rl = (e) => {
1532
+ const t = v(() => parseFloat(e.min)), l = v(() => parseFloat(e.max)), n = v(() => Number(e.step) > 0 ? parseFloat(e.step) : 0), i = v(() => Math.max(st(n.value), st(t.value)));
1533
+ function r(s) {
1534
+ if (s = parseFloat(s), n.value <= 0) return s;
1535
+ const d = Qe(s, t.value, l.value), m = t.value % n.value, g = Math.round((d - m) / n.value) * n.value + m;
1536
+ return parseFloat(Math.min(g, l.value).toFixed(i.value));
1537
+ }
1538
+ return {
1539
+ min: t,
1540
+ max: l,
1541
+ step: n,
1542
+ decimals: i,
1543
+ roundValue: r
1544
+ };
1545
+ }, nl = (e) => {
1546
+ let {
1547
+ props: t,
1548
+ steps: l,
1549
+ onSliderStart: n,
1550
+ onSliderMove: i,
1551
+ onSliderEnd: r,
1552
+ getActiveThumb: s
1553
+ } = e;
1554
+ const {
1555
+ isRtl: d
1556
+ } = ze(), m = te(t, "reverse"), g = v(() => t.direction === "vertical"), c = v(() => g.value !== m.value), {
1557
+ min: b,
1558
+ max: B,
1559
+ step: u,
1560
+ decimals: h,
1561
+ roundValue: p
1562
+ } = l, O = v(() => parseInt(t.thumbSize, 10)), y = v(() => parseInt(t.tickSize, 10)), P = v(() => parseInt(t.trackSize, 10)), L = v(() => (B.value - b.value) / u.value), U = te(t, "disabled"), D = v(() => t.error || t.disabled ? void 0 : t.thumbColor ?? t.color), w = v(() => t.error || t.disabled ? void 0 : t.trackColor ?? t.color), $ = v(() => t.error || t.disabled ? void 0 : t.trackFillColor ?? t.color), F = ce(!1), V = ce(0), C = Z(), M = Z();
1563
+ function k(_) {
1564
+ var it;
1565
+ const N = (it = C.value) == null ? void 0 : it.$el;
1566
+ if (!N) return;
1567
+ const be = t.direction === "vertical", aa = be ? "top" : "left", ia = be ? "height" : "width", la = be ? "clientY" : "clientX", {
1568
+ [aa]: sa,
1569
+ [ia]: oa
1570
+ } = N.getBoundingClientRect(), ra = sl(_, la);
1571
+ let qe = Math.min(Math.max((ra - sa - V.value) / oa, 0), 1) || 0;
1572
+ return (be ? c.value : c.value !== d.value) && (qe = 1 - qe), p(b.value + qe * (B.value - b.value));
1573
+ }
1574
+ const f = (_) => {
1575
+ const N = k(_);
1576
+ N != null && r({
1577
+ value: N
1578
+ }), F.value = !1, V.value = 0;
1579
+ }, T = (_) => {
1580
+ const N = k(_);
1581
+ M.value = s(_), M.value && (F.value = !0, M.value.contains(_.target) ? V.value = Xe(_, M.value, t.direction) : (V.value = 0, N != null && i({
1582
+ value: N
1583
+ })), N != null && n({
1584
+ value: N
1585
+ }), Oe(() => {
1586
+ var be;
1587
+ return (be = M.value) == null ? void 0 : be.focus();
1588
+ }));
1589
+ }, S = {
1590
+ passive: !0,
1591
+ capture: !0
1592
+ };
1593
+ function j(_) {
1594
+ const N = k(_);
1595
+ N != null && i({
1596
+ value: N
1597
+ });
1598
+ }
1599
+ function Y(_) {
1600
+ _.stopPropagation(), _.preventDefault(), f(_), window.removeEventListener("mousemove", j, S), window.removeEventListener("mouseup", Y);
1601
+ }
1602
+ function J(_) {
1603
+ var N;
1604
+ f(_), window.removeEventListener("touchmove", j, S), (N = _.target) == null || N.removeEventListener("touchend", J);
1605
+ }
1606
+ function se(_) {
1607
+ var N;
1608
+ T(_), window.addEventListener("touchmove", j, S), (N = _.target) == null || N.addEventListener("touchend", J, {
1609
+ passive: !1
1610
+ });
1611
+ }
1612
+ function E(_) {
1613
+ _.button === 0 && (_.preventDefault(), T(_), window.addEventListener("mousemove", j, S), window.addEventListener("mouseup", Y, {
1614
+ passive: !1
1615
+ }));
1616
+ }
1617
+ const H = (_) => {
1618
+ const N = (_ - b.value) / (B.value - b.value) * 100;
1619
+ return Qe(isNaN(N) ? 0 : N, 0, 100);
1620
+ }, ue = te(t, "showTicks"), me = v(() => ue.value ? t.ticks ? Array.isArray(t.ticks) ? t.ticks.map((_) => ({
1621
+ value: _,
1622
+ position: H(_),
1623
+ label: _.toString()
1624
+ })) : Object.keys(t.ticks).map((_) => ({
1625
+ value: parseFloat(_),
1626
+ position: H(parseFloat(_)),
1627
+ label: t.ticks[_]
1628
+ })) : L.value !== 1 / 0 ? It(L.value + 1).map((_) => {
1629
+ const N = b.value + _ * u.value;
1630
+ return {
1631
+ value: N,
1632
+ position: H(N)
1633
+ };
1634
+ }) : [] : []), Te = v(() => me.value.some((_) => {
1635
+ let {
1636
+ label: N
1637
+ } = _;
1638
+ return !!N;
1639
+ })), Ee = {
1640
+ activeThumbRef: M,
1641
+ color: te(t, "color"),
1642
+ decimals: h,
1643
+ disabled: U,
1644
+ direction: te(t, "direction"),
1645
+ elevation: te(t, "elevation"),
1646
+ hasLabels: Te,
1647
+ isReversed: m,
1648
+ indexFromEnd: c,
1649
+ min: b,
1650
+ max: B,
1651
+ mousePressed: F,
1652
+ numTicks: L,
1653
+ onSliderMousedown: E,
1654
+ onSliderTouchstart: se,
1655
+ parsedTicks: me,
1656
+ parseMouseMove: k,
1657
+ position: H,
1658
+ readonly: te(t, "readonly"),
1659
+ rounded: te(t, "rounded"),
1660
+ roundValue: p,
1661
+ showTicks: ue,
1662
+ startOffset: V,
1663
+ step: u,
1664
+ thumbSize: O,
1665
+ thumbColor: D,
1666
+ thumbLabel: te(t, "thumbLabel"),
1667
+ ticks: te(t, "ticks"),
1668
+ tickSize: y,
1669
+ trackColor: w,
1670
+ trackContainerRef: C,
1671
+ trackFillColor: $,
1672
+ trackSize: P,
1673
+ vertical: g
1674
+ };
1675
+ return Ca(at, Ee), Ee;
1676
+ }, ul = Ce({
1677
+ focused: Boolean,
1678
+ max: {
1679
+ type: Number,
1680
+ required: !0
1681
+ },
1682
+ min: {
1683
+ type: Number,
1684
+ required: !0
1685
+ },
1686
+ modelValue: {
1687
+ type: Number,
1688
+ required: !0
1689
+ },
1690
+ position: {
1691
+ type: Number,
1692
+ required: !0
1693
+ },
1694
+ ripple: {
1695
+ type: [Boolean, Object],
1696
+ default: !0
1697
+ },
1698
+ name: String,
1699
+ ...Ue()
1700
+ }, "VSliderThumb"), Bt = _e()({
1701
+ name: "VSliderThumb",
1702
+ directives: {
1703
+ Ripple: ei
1704
+ },
1705
+ props: ul(),
1706
+ emits: {
1707
+ "update:modelValue": (e) => !0
1708
+ },
1709
+ setup(e, t) {
1710
+ let {
1711
+ slots: l,
1712
+ emit: n
1713
+ } = t;
1714
+ const i = Tt(at), {
1715
+ isRtl: r,
1716
+ rtlClasses: s
1717
+ } = ze();
1718
+ if (!i) throw new Error("[Vuetify] v-slider-thumb must be used inside v-slider or v-range-slider");
1719
+ const {
1720
+ thumbColor: d,
1721
+ step: m,
1722
+ disabled: g,
1723
+ thumbSize: c,
1724
+ thumbLabel: b,
1725
+ direction: B,
1726
+ isReversed: u,
1727
+ vertical: h,
1728
+ readonly: p,
1729
+ elevation: O,
1730
+ mousePressed: y,
1731
+ decimals: P,
1732
+ indexFromEnd: L
1733
+ } = i, U = v(() => g.value ? void 0 : O.value), {
1734
+ elevationClasses: D
1735
+ } = jt(U), {
1736
+ textColorClasses: w,
1737
+ textColorStyles: $
1738
+ } = qa(d), {
1739
+ pageup: F,
1740
+ pagedown: V,
1741
+ end: C,
1742
+ home: M,
1743
+ left: k,
1744
+ right: f,
1745
+ down: T,
1746
+ up: S
1747
+ } = $a, j = [F, V, C, M, k, f, T, S], Y = v(() => m.value ? [1, 2, 3] : [1, 5, 10]);
1748
+ function J(E, H) {
1749
+ if (!j.includes(E.key)) return;
1750
+ E.preventDefault();
1751
+ const ue = m.value || 0.1, me = (e.max - e.min) / ue;
1752
+ if ([k, f, T, S].includes(E.key)) {
1753
+ const Ee = (h.value ? [r.value ? k : f, u.value ? T : S] : L.value !== r.value ? [k, S] : [f, S]).includes(E.key) ? 1 : -1, _ = E.shiftKey ? 2 : E.ctrlKey ? 1 : 0;
1754
+ H = H + Ee * ue * Y.value[_];
1755
+ } else if (E.key === M)
1756
+ H = e.min;
1757
+ else if (E.key === C)
1758
+ H = e.max;
1759
+ else {
1760
+ const Te = E.key === V ? 1 : -1;
1761
+ H = H - Te * ue * (me > 100 ? me / 10 : 10);
1762
+ }
1763
+ return Math.max(e.min, Math.min(e.max, H));
1764
+ }
1765
+ function se(E) {
1766
+ const H = J(E, e.modelValue);
1767
+ H != null && n("update:modelValue", H);
1768
+ }
1769
+ return Pe(() => {
1770
+ const E = ve(L.value ? 100 - e.position : e.position, "%");
1771
+ return a("div", {
1772
+ class: ["v-slider-thumb", {
1773
+ "v-slider-thumb--focused": e.focused,
1774
+ "v-slider-thumb--pressed": e.focused && y.value
1775
+ }, e.class, s.value],
1776
+ style: [{
1777
+ "--v-slider-thumb-position": E,
1778
+ "--v-slider-thumb-size": ve(c.value)
1779
+ }, e.style],
1780
+ role: "slider",
1781
+ tabindex: g.value ? -1 : 0,
1782
+ "aria-label": e.name,
1783
+ "aria-valuemin": e.min,
1784
+ "aria-valuemax": e.max,
1785
+ "aria-valuenow": e.modelValue,
1786
+ "aria-readonly": !!p.value,
1787
+ "aria-orientation": B.value,
1788
+ onKeydown: p.value ? void 0 : se
1789
+ }, [a("div", {
1790
+ class: ["v-slider-thumb__surface", w.value, D.value],
1791
+ style: {
1792
+ ...$.value
1793
+ }
1794
+ }, null), Ke(a("div", {
1795
+ class: ["v-slider-thumb__ripple", w.value],
1796
+ style: $.value
1797
+ }, null), [[Fa("ripple"), e.ripple, null, {
1798
+ circle: !0,
1799
+ center: !0
1800
+ }]]), a(ti, {
1801
+ origin: "bottom center"
1802
+ }, {
1803
+ default: () => {
1804
+ var H;
1805
+ return [Ke(a("div", {
1806
+ class: "v-slider-thumb__label-container"
1807
+ }, [a("div", {
1808
+ class: ["v-slider-thumb__label"]
1809
+ }, [a("div", null, [((H = l["thumb-label"]) == null ? void 0 : H.call(l, {
1810
+ modelValue: e.modelValue
1811
+ })) ?? e.modelValue.toFixed(m.value ? P.value : 1)])])]), [[_t, b.value && e.focused || b.value === "always"]])];
1812
+ }
1813
+ })]);
1814
+ }), {};
1815
+ }
1816
+ }), cl = Ce({
1817
+ start: {
1818
+ type: Number,
1819
+ required: !0
1820
+ },
1821
+ stop: {
1822
+ type: Number,
1823
+ required: !0
1824
+ },
1825
+ ...Ue()
1826
+ }, "VSliderTrack"), dl = _e()({
1827
+ name: "VSliderTrack",
1828
+ props: cl(),
1829
+ emits: {},
1830
+ setup(e, t) {
1831
+ let {
1832
+ slots: l
1833
+ } = t;
1834
+ const n = Tt(at);
1835
+ if (!n) throw new Error("[Vuetify] v-slider-track must be inside v-slider or v-range-slider");
1836
+ const {
1837
+ color: i,
1838
+ parsedTicks: r,
1839
+ rounded: s,
1840
+ showTicks: d,
1841
+ tickSize: m,
1842
+ trackColor: g,
1843
+ trackFillColor: c,
1844
+ trackSize: b,
1845
+ vertical: B,
1846
+ min: u,
1847
+ max: h,
1848
+ indexFromEnd: p
1849
+ } = n, {
1850
+ roundedClasses: O
1851
+ } = qt(s), {
1852
+ backgroundColorClasses: y,
1853
+ backgroundColorStyles: P
1854
+ } = He(c), {
1855
+ backgroundColorClasses: L,
1856
+ backgroundColorStyles: U
1857
+ } = He(g), D = v(() => `inset-${B.value ? "block" : "inline"}-${p.value ? "end" : "start"}`), w = v(() => B.value ? "height" : "width"), $ = v(() => ({
1858
+ [D.value]: "0%",
1859
+ [w.value]: "100%"
1860
+ })), F = v(() => e.stop - e.start), V = v(() => ({
1861
+ [D.value]: ve(e.start, "%"),
1862
+ [w.value]: ve(F.value, "%")
1863
+ })), C = v(() => d.value ? (B.value ? r.value.slice().reverse() : r.value).map((k, f) => {
1864
+ var S;
1865
+ const T = k.value !== u.value && k.value !== h.value ? ve(k.position, "%") : void 0;
1866
+ return a("div", {
1867
+ key: k.value,
1868
+ class: ["v-slider-track__tick", {
1869
+ "v-slider-track__tick--filled": k.position >= e.start && k.position <= e.stop,
1870
+ "v-slider-track__tick--first": k.value === u.value,
1871
+ "v-slider-track__tick--last": k.value === h.value
1872
+ }],
1873
+ style: {
1874
+ [D.value]: T
1875
+ }
1876
+ }, [(k.label || l["tick-label"]) && a("div", {
1877
+ class: "v-slider-track__tick-label"
1878
+ }, [((S = l["tick-label"]) == null ? void 0 : S.call(l, {
1879
+ tick: k,
1880
+ index: f
1881
+ })) ?? k.label])]);
1882
+ }) : []);
1883
+ return Pe(() => a("div", {
1884
+ class: ["v-slider-track", O.value, e.class],
1885
+ style: [{
1886
+ "--v-slider-track-size": ve(b.value),
1887
+ "--v-slider-tick-size": ve(m.value)
1888
+ }, e.style]
1889
+ }, [a("div", {
1890
+ class: ["v-slider-track__background", L.value, {
1891
+ "v-slider-track__background--opacity": !!i.value || !c.value
1892
+ }],
1893
+ style: {
1894
+ ...$.value,
1895
+ ...U.value
1896
+ }
1897
+ }, null), a("div", {
1898
+ class: ["v-slider-track__fill", y.value],
1899
+ style: {
1900
+ ...V.value,
1901
+ ...P.value
1902
+ }
1903
+ }, null), d.value && a("div", {
1904
+ class: ["v-slider-track__ticks", {
1905
+ "v-slider-track__ticks--always-show": d.value === "always"
1906
+ }]
1907
+ }, [C.value])])), {};
1908
+ }
1909
+ }), fl = Ce({
1910
+ ...Ri(),
1911
+ ...Si(),
1912
+ ...ol(),
1913
+ strict: Boolean,
1914
+ modelValue: {
1915
+ type: Array,
1916
+ default: () => [0, 0]
1917
+ }
1918
+ }, "VRangeSlider"), ml = _e()({
1919
+ name: "VRangeSlider",
1920
+ props: fl(),
1921
+ emits: {
1922
+ "update:focused": (e) => !0,
1923
+ "update:modelValue": (e) => !0,
1924
+ end: (e) => !0,
1925
+ start: (e) => !0
1926
+ },
1927
+ setup(e, t) {
1928
+ let {
1929
+ slots: l,
1930
+ emit: n
1931
+ } = t;
1932
+ const i = Z(), r = Z(), s = Z(), {
1933
+ rtlClasses: d
1934
+ } = ze();
1935
+ function m(C) {
1936
+ if (!i.value || !r.value) return;
1937
+ const M = Xe(C, i.value.$el, e.direction), k = Xe(C, r.value.$el, e.direction), f = Math.abs(M), T = Math.abs(k);
1938
+ return f < T || f === T && M < 0 ? i.value.$el : r.value.$el;
1939
+ }
1940
+ const g = rl(e), c = Je(e, "modelValue", void 0, (C) => C != null && C.length ? C.map((M) => g.roundValue(M)) : [0, 0]), {
1941
+ activeThumbRef: b,
1942
+ hasLabels: B,
1943
+ max: u,
1944
+ min: h,
1945
+ mousePressed: p,
1946
+ onSliderMousedown: O,
1947
+ onSliderTouchstart: y,
1948
+ position: P,
1949
+ trackContainerRef: L,
1950
+ readonly: U
1951
+ } = nl({
1952
+ props: e,
1953
+ steps: g,
1954
+ onSliderStart: () => {
1955
+ n("start", c.value);
1956
+ },
1957
+ onSliderEnd: (C) => {
1958
+ var f;
1959
+ let {
1960
+ value: M
1961
+ } = C;
1962
+ const k = b.value === ((f = i.value) == null ? void 0 : f.$el) ? [M, c.value[1]] : [c.value[0], M];
1963
+ !e.strict && k[0] < k[1] && (c.value = k), n("end", c.value);
1964
+ },
1965
+ onSliderMove: (C) => {
1966
+ var T, S, j, Y;
1967
+ let {
1968
+ value: M
1969
+ } = C;
1970
+ const [k, f] = c.value;
1971
+ !e.strict && k === f && k !== h.value && (b.value = M > k ? (T = r.value) == null ? void 0 : T.$el : (S = i.value) == null ? void 0 : S.$el, (j = b.value) == null || j.focus()), b.value === ((Y = i.value) == null ? void 0 : Y.$el) ? c.value = [Math.min(M, f), f] : c.value = [k, Math.max(k, M)];
1972
+ },
1973
+ getActiveThumb: m
1974
+ }), {
1975
+ isFocused: D,
1976
+ focus: w,
1977
+ blur: $
1978
+ } = Mi(e), F = v(() => P(c.value[0])), V = v(() => P(c.value[1]));
1979
+ return Pe(() => {
1980
+ const C = pt.filterProps(e), M = !!(e.label || l.label || l.prepend);
1981
+ return a(pt, X({
1982
+ class: ["v-slider", "v-range-slider", {
1983
+ "v-slider--has-labels": !!l["tick-label"] || B.value,
1984
+ "v-slider--focused": D.value,
1985
+ "v-slider--pressed": p.value,
1986
+ "v-slider--disabled": e.disabled
1987
+ }, d.value, e.class],
1988
+ style: e.style,
1989
+ ref: s
1990
+ }, C, {
1991
+ focused: D.value
1992
+ }), {
1993
+ ...l,
1994
+ prepend: M ? (k) => {
1995
+ var f, T;
1996
+ return a(re, null, [((f = l.label) == null ? void 0 : f.call(l, k)) ?? (e.label ? a($i, {
1997
+ class: "v-slider__label",
1998
+ text: e.label
1999
+ }, null) : void 0), (T = l.prepend) == null ? void 0 : T.call(l, k)]);
2000
+ } : void 0,
2001
+ default: (k) => {
2002
+ var S, j;
2003
+ let {
2004
+ id: f,
2005
+ messagesId: T
2006
+ } = k;
2007
+ return a("div", {
2008
+ class: "v-slider__container",
2009
+ onMousedown: U.value ? void 0 : O,
2010
+ onTouchstartPassive: U.value ? void 0 : y
2011
+ }, [a("input", {
2012
+ id: `${f.value}_start`,
2013
+ name: e.name || f.value,
2014
+ disabled: !!e.disabled,
2015
+ readonly: !!e.readonly,
2016
+ tabindex: "-1",
2017
+ value: c.value[0]
2018
+ }, null), a("input", {
2019
+ id: `${f.value}_stop`,
2020
+ name: e.name || f.value,
2021
+ disabled: !!e.disabled,
2022
+ readonly: !!e.readonly,
2023
+ tabindex: "-1",
2024
+ value: c.value[1]
2025
+ }, null), a(dl, {
2026
+ ref: L,
2027
+ start: F.value,
2028
+ stop: V.value
2029
+ }, {
2030
+ "tick-label": l["tick-label"]
2031
+ }), a(Bt, {
2032
+ ref: i,
2033
+ "aria-describedby": T.value,
2034
+ focused: D && b.value === ((S = i.value) == null ? void 0 : S.$el),
2035
+ modelValue: c.value[0],
2036
+ "onUpdate:modelValue": (Y) => c.value = [Y, c.value[1]],
2037
+ onFocus: (Y) => {
2038
+ var J, se, E, H;
2039
+ w(), b.value = (J = i.value) == null ? void 0 : J.$el, u.value !== h.value && c.value[0] === c.value[1] && c.value[1] === h.value && Y.relatedTarget !== ((se = r.value) == null ? void 0 : se.$el) && ((E = i.value) == null || E.$el.blur(), (H = r.value) == null || H.$el.focus());
2040
+ },
2041
+ onBlur: () => {
2042
+ $(), b.value = void 0;
2043
+ },
2044
+ min: h.value,
2045
+ max: c.value[1],
2046
+ position: F.value,
2047
+ ripple: e.ripple
2048
+ }, {
2049
+ "thumb-label": l["thumb-label"]
2050
+ }), a(Bt, {
2051
+ ref: r,
2052
+ "aria-describedby": T.value,
2053
+ focused: D && b.value === ((j = r.value) == null ? void 0 : j.$el),
2054
+ modelValue: c.value[1],
2055
+ "onUpdate:modelValue": (Y) => c.value = [c.value[0], Y],
2056
+ onFocus: (Y) => {
2057
+ var J, se, E, H;
2058
+ w(), b.value = (J = r.value) == null ? void 0 : J.$el, u.value !== h.value && c.value[0] === c.value[1] && c.value[0] === u.value && Y.relatedTarget !== ((se = i.value) == null ? void 0 : se.$el) && ((E = r.value) == null || E.$el.blur(), (H = i.value) == null || H.$el.focus());
2059
+ },
2060
+ onBlur: () => {
2061
+ $(), b.value = void 0;
2062
+ },
2063
+ min: c.value[0],
2064
+ max: u.value,
2065
+ position: V.value,
2066
+ ripple: e.ripple
2067
+ }, {
2068
+ "thumb-label": l["thumb-label"]
2069
+ })]);
2070
+ }
2071
+ });
2072
+ }), {};
2073
+ }
2074
+ }), pl = { style: { "max-width": "400px" } }, hl = {
2075
+ key: 0,
2076
+ class: "chart"
2077
+ }, vl = {
2078
+ key: 1,
2079
+ class: "chart"
2080
+ };
2081
+ function bl(e, t, l, n, i, r) {
2082
+ return R(), K("div", pl, [
2083
+ a(he, { "no-gutters": "" }, {
2084
+ default: o(() => [
2085
+ a(Q, null, {
2086
+ default: o(() => [
2087
+ a(et, {
2088
+ class: fe(["filter-price-slider pa-0", e.disabled && "cursor-not-allowed"])
2089
+ }, {
2090
+ default: o(() => [
2091
+ e.isLoading ? (R(), K("ul", hl, [
2092
+ (R(!0), K(re, null, Re(Array.from(
2093
+ { length: 30 },
2094
+ () => Math.random() * 35 + 5
2095
+ ), (s, d) => (R(), K("li", { key: d }, t[3] || (t[3] = [
2096
+ x("span", { class: "loader" }, null, -1)
2097
+ ])))), 128))
2098
+ ])) : (R(), K("ul", vl, [
2099
+ (R(!0), K(re, null, Re(e.priceHistogram, (s, d) => (R(), K("li", { key: d }, [
2100
+ x("span", {
2101
+ style: Ot({ height: e.getChartBarHeight(s), width: "95%" })
2102
+ }, null, 4)
2103
+ ]))), 128))
2104
+ ])),
2105
+ a(ml, {
2106
+ ref: "range-slider",
2107
+ modelValue: e.rangeSliderModel,
2108
+ "onUpdate:modelValue": t[0] || (t[0] = (s) => e.rangeSliderModel = s),
2109
+ disabled: e.disabled || e.isLoading,
2110
+ max: e.validPriceRange[1],
2111
+ min: e.validPriceRange[0],
2112
+ readonly: e.disabled || e.isLoading,
2113
+ step: e.step,
2114
+ "thumb-label": !1,
2115
+ style: {
2116
+ marginInline: "0px",
2117
+ marginTop: "-17px"
2118
+ },
2119
+ "track-color": "#e2e2e2",
2120
+ "track-size": "3",
2121
+ "thumb-size": "13",
2122
+ color: "primary",
2123
+ "hide-details": "",
2124
+ onEnd: e.onSliderEnd
2125
+ }, null, 8, ["modelValue", "disabled", "max", "min", "readonly", "step", "onEnd"])
2126
+ ]),
2127
+ _: 1
2128
+ }, 8, ["class"])
2129
+ ]),
2130
+ _: 1
2131
+ })
2132
+ ]),
2133
+ _: 1
2134
+ }),
2135
+ a(he, { "no-gutters": "" }, {
2136
+ default: o(() => [
2137
+ a(Q, null, {
2138
+ default: o(() => [
2139
+ a(ht, {
2140
+ ref: "price-min",
2141
+ modelValue: e.inputMin,
2142
+ "onUpdate:modelValue": t[1] || (t[1] = (s) => e.inputMin = s),
2143
+ "append-inner-icon": e.$isCurrentBreakpointBelow("sm") ? null : "fas fa-circle-xmark",
2144
+ density: "compact",
2145
+ disabled: e.disabled || e.isLoading,
2146
+ label: "Min",
2147
+ max: e.inputMax,
2148
+ min: e.validPriceRange[0],
2149
+ variant: "outlined",
2150
+ prefix: e.currencySymbol,
2151
+ step: e.step,
2152
+ "hide-details": "",
2153
+ type: "number",
2154
+ onBlur: e.onInputMinBlur,
2155
+ "onClick:append": e.onInputMinClear
2156
+ }, null, 8, ["modelValue", "append-inner-icon", "disabled", "max", "min", "prefix", "step", "onBlur", "onClick:append"])
2157
+ ]),
2158
+ _: 1
2159
+ }),
2160
+ a(Q, {
2161
+ class: "d-flex align-center",
2162
+ cols: "2"
2163
+ }, {
2164
+ default: o(() => [
2165
+ a(De)
2166
+ ]),
2167
+ _: 1
2168
+ }),
2169
+ a(Q, null, {
2170
+ default: o(() => [
2171
+ a(ht, {
2172
+ ref: "price-max",
2173
+ modelValue: e.inputMax,
2174
+ "onUpdate:modelValue": t[2] || (t[2] = (s) => e.inputMax = s),
2175
+ "append-inner-icon": e.$isCurrentBreakpointBelow("sm") ? null : "fas fa-circle-xmark",
2176
+ density: "compact",
2177
+ disabled: e.disabled || e.isLoading,
2178
+ label: "Max",
2179
+ max: e.validPriceRange[1],
2180
+ min: e.inputMin,
2181
+ variant: "outlined",
2182
+ prefix: e.currencySymbol,
2183
+ step: e.step,
2184
+ "hide-details": "",
2185
+ type: "number",
2186
+ onBlur: e.onInputMaxBlur,
2187
+ "onClick:append": e.onInputMaxClear
2188
+ }, null, 8, ["modelValue", "append-inner-icon", "disabled", "max", "min", "prefix", "step", "onBlur", "onClick:append"])
2189
+ ]),
2190
+ _: 1
2191
+ })
2192
+ ]),
2193
+ _: 1
2194
+ })
2195
+ ]);
2196
+ }
2197
+ const Yt = /* @__PURE__ */ le(ll, [["render", bl], ["__scopeId", "data-v-cf4bcaf3"]]), Wt = ee({
2198
+ components: {
2199
+ BFilterByPrice: Yt,
2200
+ BFormattedAmount: zt
2201
+ },
2202
+ computed: {
2203
+ configCurrency() {
2204
+ return this.config.currency ?? rt.EUR.code;
2205
+ },
2206
+ currencies() {
2207
+ return Object.values(rt);
2208
+ },
2209
+ currencySymbol() {
2210
+ var e;
2211
+ return (e = this.currencies.find(
2212
+ (t) => t.code === this.configCurrency
2213
+ )) == null ? void 0 : e.symbol;
2214
+ },
2215
+ formattedPriceMax() {
2216
+ var e;
2217
+ return ot({
2218
+ amount: ((e = this.model) == null ? void 0 : e[1]) || this.priceMax,
2219
+ currency: this.config.currency,
2220
+ locale: this.$i18n.locale
2221
+ });
2222
+ },
2223
+ formattedPriceMin() {
2224
+ var e;
2225
+ return ot({
2226
+ amount: ((e = this.model) == null ? void 0 : e[0]) || this.priceMin,
2227
+ currency: this.config.currency,
2228
+ locale: this.$i18n.locale
2229
+ });
2230
+ },
2231
+ formattedPriceRange() {
2232
+ return `${this.formattedPriceMin} - ${this.formattedPriceMax}`;
2233
+ }
2234
+ },
2235
+ data() {
2236
+ return {
2237
+ isMenuOpen: !1,
2238
+ model: this.filter
2239
+ };
2240
+ },
2241
+ methods: {
2242
+ onApply() {
2243
+ this.$emit("update:filter", this.model), this.isMenuOpen = !1;
2244
+ },
2245
+ onCancel() {
2246
+ this.model = this.filter, this.isMenuOpen = !1;
2247
+ },
2248
+ onReset() {
2249
+ this.isMenuOpen = !1, this.$emit("reset");
2250
+ }
2251
+ },
2252
+ mixins: [Ve],
2253
+ name: "BFilterByPriceMenu",
2254
+ props: {
2255
+ ...Fi(Ze, ["modelValue"]),
2256
+ filter: Ze.modelValue
2257
+ },
2258
+ setup() {
2259
+ const { t: e } = ie();
2260
+ return {
2261
+ t: e
2262
+ };
2263
+ },
2264
+ watch: {
2265
+ filter: {
2266
+ deep: !0,
2267
+ handler(e) {
2268
+ this.model = e;
2269
+ },
2270
+ immediate: !0
2271
+ }
2272
+ }
2273
+ });
2274
+ function kt(e) {
2275
+ const t = e;
2276
+ t.__i18n = t.__i18n || [], t.__i18n.push({
2277
+ locale: "",
2278
+ resource: {
2279
+ "en-US": {
2280
+ BFilterByPriceMenu: {
2281
+ apply: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Apply" } },
2282
+ cancel: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Cancel" } },
2283
+ reset: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Reset" } },
2284
+ cta: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Price" } },
2285
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "What's your budget ?" } }
2286
+ }
2287
+ },
2288
+ "fr-FR": {
2289
+ BFilterByPriceMenu: {
2290
+ apply: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Appliquer" } },
2291
+ cancel: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Annuler" } },
2292
+ reset: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Réinitialiser" } },
2293
+ cta: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Prix" } },
2294
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Quel est votre budget ?" } }
2295
+ }
2296
+ },
2297
+ "de-DE": {
2298
+ BFilterByPriceMenu: {
2299
+ apply: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Anwenden" } },
2300
+ cancel: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Abbrechen" } },
2301
+ reset: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Zurücksetzen" } },
2302
+ cta: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Preis" } },
2303
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Was ist Ihr Budget?" } }
2304
+ }
2305
+ },
2306
+ "es-ES": {
2307
+ BFilterByPriceMenu: {
2308
+ apply: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Aplicar" } },
2309
+ cancel: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Cancelar" } },
2310
+ reset: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Restablecer" } },
2311
+ cta: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Precio" } },
2312
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "¿Cuál es tu presupuesto?" } }
2313
+ }
2314
+ },
2315
+ "it-IT": {
2316
+ BFilterByPriceMenu: {
2317
+ apply: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Applica" } },
2318
+ cancel: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Annulla" } },
2319
+ reset: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Ripristina" } },
2320
+ cta: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Prezzo" } },
2321
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Qual è il tuo budget?" } }
2322
+ }
2323
+ },
2324
+ "nl-NL": {
2325
+ BFilterByPriceMenu: {
2326
+ apply: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Toepassen" } },
2327
+ cancel: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Annuleren" } },
2328
+ reset: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Reset" } },
2329
+ cta: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Prijs" } },
2330
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Wat is uw budget?" } }
2331
+ }
2332
+ },
2333
+ "pt-PT": {
2334
+ BFilterByPriceMenu: {
2335
+ apply: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Aplicar" } },
2336
+ cancel: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Cancelar" } },
2337
+ reset: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Repor" } },
2338
+ cta: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Preço" } },
2339
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Qual é o seu orçamento?" } }
2340
+ }
2341
+ }
2342
+ }
2343
+ });
2344
+ }
2345
+ const gl = { class: "text-center px-10 pt-4" }, yl = { class: "font-weight-bold" };
2346
+ function wl(e, t, l, n, i, r) {
2347
+ var d;
2348
+ const s = oe("BFilterByPrice");
2349
+ return R(), z(je, X(e.$attrs, {
2350
+ modelValue: e.isMenuOpen,
2351
+ "onUpdate:modelValue": t[1] || (t[1] = (m) => e.isMenuOpen = m),
2352
+ attach: (d = e.$parent) == null ? void 0 : d.$el,
2353
+ persistent: !1,
2354
+ "close-on-content-click": !1,
2355
+ "max-width": "400px",
2356
+ "open-on-click": "",
2357
+ location: "bottom"
2358
+ }), {
2359
+ activator: o(({ props: m }) => [
2360
+ a(xe, {
2361
+ color: "grey",
2362
+ icon: "fas fa-times",
2363
+ style: { cursor: "pointer" },
2364
+ "model-value": !!e.formattedPriceRange,
2365
+ onClick: e.onReset
2366
+ }, {
2367
+ default: o(() => {
2368
+ var g;
2369
+ return [
2370
+ a(Nt, {
2371
+ attach: (g = e.$el) == null ? void 0 : g.parent,
2372
+ location: "bottom",
2373
+ color: "grey-darken-3"
2374
+ }, {
2375
+ activator: o(({ props: c }) => [
2376
+ a(q, X({
2377
+ class: "text-white",
2378
+ color: "grey",
2379
+ elevation: 0,
2380
+ variant: "outlined",
2381
+ size: "small"
2382
+ }, {
2383
+ ...m,
2384
+ ...c
2385
+ }), {
2386
+ default: o(() => [
2387
+ x("span", null, [
2388
+ x("b", null, I(e.currencySymbol), 1)
2389
+ ])
2390
+ ]),
2391
+ _: 2
2392
+ }, 1040)
2393
+ ]),
2394
+ default: o(() => [
2395
+ e.priceMin !== 0 && e.priceMax !== 0 ? (R(), K(re, { key: 0 }, [
2396
+ A(I(e.formattedPriceRange), 1)
2397
+ ], 64)) : W("", !0)
2398
+ ]),
2399
+ _: 2
2400
+ }, 1032, ["attach"])
2401
+ ];
2402
+ }),
2403
+ _: 2
2404
+ }, 1032, ["model-value", "onClick"])
2405
+ ]),
2406
+ default: o(() => [
2407
+ a(Ie, { elevation: "1" }, {
2408
+ default: o(() => [
2409
+ x("div", gl, [
2410
+ x("p", yl, I(e.t("BFilterByPriceMenu.title")), 1),
2411
+ a(s, X({
2412
+ modelValue: e.model,
2413
+ "onUpdate:modelValue": t[0] || (t[0] = (m) => e.model = m)
2414
+ }, e.$props), null, 16, ["modelValue"])
2415
+ ]),
2416
+ a(tt, { class: "justify-end mt-2" }, {
2417
+ default: o(() => [
2418
+ a(q, {
2419
+ class: "text-right",
2420
+ color: "primary",
2421
+ elevation: "0",
2422
+ size: "small",
2423
+ variant: "text",
2424
+ onClick: e.onCancel
2425
+ }, {
2426
+ default: o(() => [
2427
+ A(I(e.t("BFilterByPriceMenu.cancel")), 1)
2428
+ ]),
2429
+ _: 1
2430
+ }, 8, ["onClick"]),
2431
+ a(q, {
2432
+ class: "text-right",
2433
+ color: "error",
2434
+ elevation: "0",
2435
+ loading: e.isLoading,
2436
+ size: "small",
2437
+ variant: "text",
2438
+ onClick: e.onReset
2439
+ }, {
2440
+ default: o(() => [
2441
+ A(I(e.t("BFilterByPriceMenu.reset")), 1)
2442
+ ]),
2443
+ _: 1
2444
+ }, 8, ["loading", "onClick"]),
2445
+ a(q, {
2446
+ class: "text-right",
2447
+ color: "success",
2448
+ elevation: "0",
2449
+ loading: e.isLoading,
2450
+ size: "small",
2451
+ onClick: e.onApply
2452
+ }, {
2453
+ default: o(() => [
2454
+ A(I(e.t("BFilterByPriceMenu.apply")), 1)
2455
+ ]),
2456
+ _: 1
2457
+ }, 8, ["loading", "onClick"])
2458
+ ]),
2459
+ _: 1
2460
+ })
2461
+ ]),
2462
+ _: 1
2463
+ })
2464
+ ]),
2465
+ _: 1
2466
+ }, 16, ["modelValue", "attach"]);
2467
+ }
2468
+ typeof kt == "function" && kt(Wt);
2469
+ const Bl = /* @__PURE__ */ le(Wt, [["render", wl], ["__scopeId", "data-v-d1c52a28"]]), kl = {
2470
+ disabled: { type: Boolean },
2471
+ modelValue: {
2472
+ type: [Number, void 0]
2473
+ }
2474
+ }, Ml = ee({
2475
+ computed: {
2476
+ model: {
2477
+ get() {
2478
+ return this.modelValue;
2479
+ },
2480
+ set(e) {
2481
+ this.$emit("update:modelValue", e);
2482
+ }
2483
+ },
2484
+ reviewRatingItems() {
2485
+ return [
2486
+ {
2487
+ label: "3+",
2488
+ value: 3
2489
+ },
2490
+ {
2491
+ label: "3.5+",
2492
+ value: 3.5
2493
+ },
2494
+ {
2495
+ label: "4+",
2496
+ value: 4
2497
+ },
2498
+ {
2499
+ label: "4.5+",
2500
+ value: 4.5
2501
+ }
2502
+ ];
2503
+ }
2504
+ },
2505
+ name: "BFilterByReview",
2506
+ props: kl,
2507
+ setup() {
2508
+ const { t: e } = ie();
2509
+ return {
2510
+ t: e
2511
+ };
2512
+ }
2513
+ });
2514
+ function Sl(e, t, l, n, i, r) {
2515
+ return R(), z(oi, {
2516
+ modelValue: e.model,
2517
+ "onUpdate:modelValue": t[0] || (t[0] = (s) => e.model = s),
2518
+ class: "d-flex flex-row justify-center"
2519
+ }, {
2520
+ default: o(() => [
2521
+ (R(!0), K(re, null, Re(e.reviewRatingItems, (s, d) => (R(), z(q, {
2522
+ key: d,
2523
+ class: fe(["px-0", e.disabled && "cursor-not-allowed"]),
2524
+ color: "primary",
2525
+ disabled: e.disabled,
2526
+ variant: "outlined",
2527
+ size: "small",
2528
+ value: s.value
2529
+ }, {
2530
+ default: o(() => [
2531
+ A(I(s.label), 1)
2532
+ ]),
2533
+ _: 2
2534
+ }, 1032, ["class", "disabled", "value"]))), 128))
2535
+ ]),
2536
+ _: 1
2537
+ }, 8, ["modelValue"]);
2538
+ }
2539
+ const Zt = /* @__PURE__ */ le(Ml, [["render", Sl]]), Rl = {
2540
+ modelValue: {
2541
+ type: [Number, void 0]
2542
+ }
2543
+ }, Vl = {
2544
+ filter: { ...Rl.modelValue },
2545
+ isLoading: {
2546
+ default: !1,
2547
+ type: Boolean
2548
+ }
2549
+ }, Xt = ee({
2550
+ components: { BFilterByReview: Zt },
2551
+ data() {
2552
+ return {
2553
+ isMenuOpen: !1,
2554
+ model: this.filter
2555
+ };
2556
+ },
2557
+ methods: {
2558
+ closeMenu() {
2559
+ this.isMenuOpen = !1;
2560
+ },
2561
+ onApply() {
2562
+ this.closeMenu(), this.$emit("update:filter", this.model);
2563
+ },
2564
+ onCancel() {
2565
+ this.model = this.filter, this.closeMenu();
2566
+ },
2567
+ onReset() {
2568
+ this.closeMenu(), this.$emit("reset");
2569
+ }
2570
+ },
2571
+ mixins: [Ve],
2572
+ name: "BFilterByReviewMenu",
2573
+ props: Vl,
2574
+ setup() {
2575
+ const { t: e } = ie();
2576
+ return {
2577
+ t: e
2578
+ };
2579
+ },
2580
+ watch: {
2581
+ filter: {
2582
+ handler(e) {
2583
+ this.model = e;
2584
+ },
2585
+ immediate: !0
2586
+ }
2587
+ }
2588
+ });
2589
+ function Mt(e) {
2590
+ const t = e;
2591
+ t.__i18n = t.__i18n || [], t.__i18n.push({
2592
+ locale: "",
2593
+ resource: {
2594
+ "en-US": {
2595
+ BFilterByReviewMenu: {
2596
+ apply: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Apply" } },
2597
+ cancel: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Cancel" } },
2598
+ reset: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Reset" } },
2599
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Review" } }
2600
+ }
2601
+ },
2602
+ "fr-FR": {
2603
+ BFilterByReviewMenu: {
2604
+ apply: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Appliquer" } },
2605
+ cancel: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Annuler" } },
2606
+ reset: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Réinitialiser" } },
2607
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Notes" } }
2608
+ }
2609
+ },
2610
+ "de-DE": {
2611
+ BFilterByReviewMenu: {
2612
+ apply: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Anwenden" } },
2613
+ cancel: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Abbrechen" } },
2614
+ reset: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Zurücksetzen" } },
2615
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Bewertung" } }
2616
+ }
2617
+ },
2618
+ "es-ES": {
2619
+ BFilterByReviewMenu: {
2620
+ apply: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Aplicar" } },
2621
+ cancel: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Cancelar" } },
2622
+ reset: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Restablecer" } },
2623
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Reseña" } }
2624
+ }
2625
+ },
2626
+ "it-IT": {
2627
+ BFilterByReviewMenu: {
2628
+ apply: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Applica" } },
2629
+ cancel: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Annulla" } },
2630
+ reset: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Ripristina" } },
2631
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Recensione" } }
2632
+ }
2633
+ },
2634
+ "nl-NL": {
2635
+ BFilterByReviewMenu: {
2636
+ apply: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Toepassen" } },
2637
+ cancel: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Annuleren" } },
2638
+ reset: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Reset" } },
2639
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Review" } }
2640
+ }
2641
+ },
2642
+ "pt-PT": {
2643
+ BFilterByReviewMenu: {
2644
+ apply: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Aplicar" } },
2645
+ cancel: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Cancelar" } },
2646
+ reset: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Repor" } },
2647
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Avaliação" } }
2648
+ }
2649
+ }
2650
+ }
2651
+ });
2652
+ }
2653
+ const Cl = { class: "text-center px-10 py-4" }, $l = { class: "font-weight-bold" };
2654
+ function Fl(e, t, l, n, i, r) {
2655
+ var d;
2656
+ const s = oe("BFilterByReview");
2657
+ return R(), z(je, X(e.$attrs, {
2658
+ modelValue: e.isMenuOpen,
2659
+ "onUpdate:modelValue": t[1] || (t[1] = (m) => e.isMenuOpen = m),
2660
+ attach: (d = e.$parent) == null ? void 0 : d.$el,
2661
+ location: "bottom",
2662
+ "close-on-content-click": !1,
2663
+ "content-class": "pa-0",
2664
+ "open-on-click": ""
2665
+ }), {
2666
+ activator: o(({ props: m }) => [
2667
+ a(xe, {
2668
+ color: "grey",
2669
+ icon: "fas fa-times",
2670
+ style: { cursor: "pointer" },
2671
+ "model-value": !!e.filter,
2672
+ onClick: e.onReset
2673
+ }, {
2674
+ default: o(() => [
2675
+ a(q, X(m, {
2676
+ class: "text-white",
2677
+ color: "grey",
2678
+ elevation: 0,
2679
+ variant: "outlined",
2680
+ size: "small"
2681
+ }), {
2682
+ default: o(() => [
2683
+ x("span", null, [
2684
+ x("b", null, I(e.filter) + "+", 1)
2685
+ ])
2686
+ ]),
2687
+ _: 2
2688
+ }, 1040)
2689
+ ]),
2690
+ _: 2
2691
+ }, 1032, ["model-value", "onClick"])
2692
+ ]),
2693
+ default: o(() => [
2694
+ a(Ie, { elevation: "1" }, {
2695
+ default: o(() => [
2696
+ x("div", Cl, [
2697
+ x("p", $l, I(e.t("BFilterByReviewMenu.title")), 1),
2698
+ a(s, {
2699
+ modelValue: e.model,
2700
+ "onUpdate:modelValue": t[0] || (t[0] = (m) => e.model = m),
2701
+ disabled: e.isLoading
2702
+ }, null, 8, ["modelValue", "disabled"])
2703
+ ]),
2704
+ a(tt, { class: "justify-end pa-2" }, {
2705
+ default: o(() => [
2706
+ a(q, {
2707
+ class: "text-right",
2708
+ color: "primary",
2709
+ elevation: "0",
2710
+ size: "small",
2711
+ variant: "text",
2712
+ onClick: e.closeMenu
2713
+ }, {
2714
+ default: o(() => [
2715
+ A(I(e.t("BFilterByReviewMenu.cancel")), 1)
2716
+ ]),
2717
+ _: 1
2718
+ }, 8, ["onClick"]),
2719
+ a(q, {
2720
+ class: "text-right",
2721
+ color: "error",
2722
+ elevation: "0",
2723
+ size: "small",
2724
+ variant: "text",
2725
+ onClick: e.onReset
2726
+ }, {
2727
+ default: o(() => [
2728
+ A(I(e.t("BFilterByReviewMenu.reset")), 1)
2729
+ ]),
2730
+ _: 1
2731
+ }, 8, ["onClick"]),
2732
+ a(q, {
2733
+ class: "text-right",
2734
+ color: "success",
2735
+ elevation: "0",
2736
+ size: "small",
2737
+ onClick: e.onApply
2738
+ }, {
2739
+ default: o(() => [
2740
+ A(I(e.t("BFilterByReviewMenu.apply")), 1)
2741
+ ]),
2742
+ _: 1
2743
+ }, 8, ["onClick"])
2744
+ ]),
2745
+ _: 1
2746
+ })
2747
+ ]),
2748
+ _: 1
2749
+ })
2750
+ ]),
2751
+ _: 1
2752
+ }, 16, ["modelValue", "attach"]);
2753
+ }
2754
+ typeof Mt == "function" && Mt(Xt);
2755
+ const Ol = /* @__PURE__ */ le(Xt, [["render", Fl], ["__scopeId", "data-v-40e4e735"]]), _l = {
2756
+ disabled: { type: Boolean },
2757
+ modelValue: {
2758
+ type: [Number, String]
2759
+ }
2760
+ }, Pl = ee({
2761
+ computed: {
2762
+ color() {
2763
+ return this.disabled ? "grey lighten-1" : "orange";
2764
+ },
2765
+ model: {
2766
+ get() {
2767
+ var e;
2768
+ return Number((e = this.modelValue) == null ? void 0 : e.split(",")[0]);
2769
+ },
2770
+ set(e) {
2771
+ const t = ni(e, 6).join(",");
2772
+ this.$emit("update:modelValue", t);
2773
+ }
2774
+ }
2775
+ },
2776
+ name: "BFilterByStar",
2777
+ props: _l,
2778
+ setup() {
2779
+ const { t: e } = ie();
2780
+ return {
2781
+ t: e
2782
+ };
2783
+ }
2784
+ }), Il = Ce({
2785
+ name: String,
2786
+ itemAriaLabel: {
2787
+ type: String,
2788
+ default: "$vuetify.rating.ariaLabel.item"
2789
+ },
2790
+ activeColor: String,
2791
+ color: String,
2792
+ clearable: Boolean,
2793
+ disabled: Boolean,
2794
+ emptyIcon: {
2795
+ type: nt,
2796
+ default: "$ratingEmpty"
2797
+ },
2798
+ fullIcon: {
2799
+ type: nt,
2800
+ default: "$ratingFull"
2801
+ },
2802
+ halfIncrements: Boolean,
2803
+ hover: Boolean,
2804
+ length: {
2805
+ type: [Number, String],
2806
+ default: 5
2807
+ },
2808
+ readonly: Boolean,
2809
+ modelValue: {
2810
+ type: [Number, String],
2811
+ default: 0
2812
+ },
2813
+ itemLabels: Array,
2814
+ itemLabelPosition: {
2815
+ type: String,
2816
+ default: "top",
2817
+ validator: (e) => ["top", "bottom"].includes(e)
2818
+ },
2819
+ ripple: Boolean,
2820
+ ...Ue(),
2821
+ ...ii(),
2822
+ ...ai(),
2823
+ ...Dt(),
2824
+ ...Lt()
2825
+ }, "VRating"), Tl = _e()({
2826
+ name: "VRating",
2827
+ props: Il(),
2828
+ emits: {
2829
+ "update:modelValue": (e) => !0
2830
+ },
2831
+ setup(e, t) {
2832
+ let {
2833
+ slots: l
2834
+ } = t;
2835
+ const {
2836
+ t: n
2837
+ } = Oa(), {
2838
+ themeClasses: i
2839
+ } = Et(e), r = Je(e, "modelValue"), s = v(() => Qe(parseFloat(r.value), 0, Number(e.length))), d = v(() => It(Number(e.length), 1)), m = v(() => d.value.flatMap((p) => e.halfIncrements ? [p - 0.5, p] : [p])), g = ce(-1), c = v(() => m.value.map((p) => {
2840
+ const O = e.hover && g.value > -1, y = s.value >= p, P = g.value >= p, U = (O ? P : y) ? e.fullIcon : e.emptyIcon, D = e.activeColor ?? e.color, w = y || P ? D : e.color;
2841
+ return {
2842
+ isFilled: y,
2843
+ isHovered: P,
2844
+ icon: U,
2845
+ color: w
2846
+ };
2847
+ })), b = v(() => [0, ...m.value].map((p) => {
2848
+ function O() {
2849
+ g.value = p;
2850
+ }
2851
+ function y() {
2852
+ g.value = -1;
2853
+ }
2854
+ function P() {
2855
+ e.disabled || e.readonly || (r.value = s.value === p && e.clearable ? 0 : p);
2856
+ }
2857
+ return {
2858
+ onMouseenter: e.hover ? O : void 0,
2859
+ onMouseleave: e.hover ? y : void 0,
2860
+ onClick: P
2861
+ };
2862
+ })), B = v(() => e.name ?? `v-rating-${_a()}`);
2863
+ function u(p) {
2864
+ var F, V;
2865
+ let {
2866
+ value: O,
2867
+ index: y,
2868
+ showStar: P = !0
2869
+ } = p;
2870
+ const {
2871
+ onMouseenter: L,
2872
+ onMouseleave: U,
2873
+ onClick: D
2874
+ } = b.value[y + 1], w = `${B.value}-${String(O).replace(".", "-")}`, $ = {
2875
+ color: (F = c.value[y]) == null ? void 0 : F.color,
2876
+ density: e.density,
2877
+ disabled: e.disabled,
2878
+ icon: (V = c.value[y]) == null ? void 0 : V.icon,
2879
+ ripple: e.ripple,
2880
+ size: e.size,
2881
+ variant: "plain"
2882
+ };
2883
+ return a(re, null, [a("label", {
2884
+ for: w,
2885
+ class: {
2886
+ "v-rating__item--half": e.halfIncrements && O % 1 > 0,
2887
+ "v-rating__item--full": e.halfIncrements && O % 1 === 0
2888
+ },
2889
+ onMouseenter: L,
2890
+ onMouseleave: U,
2891
+ onClick: D
2892
+ }, [a("span", {
2893
+ class: "v-rating__hidden"
2894
+ }, [n(e.itemAriaLabel, O, e.length)]), P ? l.item ? l.item({
2895
+ ...c.value[y],
2896
+ props: $,
2897
+ value: O,
2898
+ index: y,
2899
+ rating: s.value
2900
+ }) : a(q, X({
2901
+ "aria-label": n(e.itemAriaLabel, O, e.length)
2902
+ }, $), null) : void 0]), a("input", {
2903
+ class: "v-rating__hidden",
2904
+ name: B.value,
2905
+ id: w,
2906
+ type: "radio",
2907
+ value: O,
2908
+ checked: s.value === O,
2909
+ tabindex: -1,
2910
+ readonly: e.readonly,
2911
+ disabled: e.disabled
2912
+ }, null)]);
2913
+ }
2914
+ function h(p) {
2915
+ return l["item-label"] ? l["item-label"](p) : p.label ? a("span", null, [p.label]) : a("span", null, [A(" ")]);
2916
+ }
2917
+ return Pe(() => {
2918
+ var O;
2919
+ const p = !!((O = e.itemLabels) != null && O.length) || l["item-label"];
2920
+ return a(e.tag, {
2921
+ class: ["v-rating", {
2922
+ "v-rating--hover": e.hover,
2923
+ "v-rating--readonly": e.readonly
2924
+ }, i.value, e.class],
2925
+ style: e.style
2926
+ }, {
2927
+ default: () => [a(u, {
2928
+ value: 0,
2929
+ index: -1,
2930
+ showStar: !1
2931
+ }, null), d.value.map((y, P) => {
2932
+ var L, U;
2933
+ return a("div", {
2934
+ class: "v-rating__wrapper"
2935
+ }, [p && e.itemLabelPosition === "top" ? h({
2936
+ value: y,
2937
+ index: P,
2938
+ label: (L = e.itemLabels) == null ? void 0 : L[P]
2939
+ }) : void 0, a("div", {
2940
+ class: "v-rating__item"
2941
+ }, [e.halfIncrements ? a(re, null, [a(u, {
2942
+ value: y - 0.5,
2943
+ index: P * 2
2944
+ }, null), a(u, {
2945
+ value: y,
2946
+ index: P * 2 + 1
2947
+ }, null)]) : a(u, {
2948
+ value: y,
2949
+ index: P
2950
+ }, null)]), p && e.itemLabelPosition === "bottom" ? h({
2951
+ value: y,
2952
+ index: P,
2953
+ label: (U = e.itemLabels) == null ? void 0 : U[P]
2954
+ }) : void 0]);
2955
+ })]
2956
+ });
2957
+ }), {};
2958
+ }
2959
+ });
2960
+ function El(e, t, l, n, i, r) {
2961
+ return R(), z(Tl, {
2962
+ modelValue: e.model,
2963
+ "onUpdate:modelValue": t[0] || (t[0] = (s) => e.model = s),
2964
+ color: e.color,
2965
+ class: fe(e.disabled && "cursor-not-allowed"),
2966
+ "active-color": e.color,
2967
+ density: "compact",
2968
+ disabled: e.disabled,
2969
+ "empty-icon": "$ratingEmpty",
2970
+ hover: "",
2971
+ readonly: e.disabled,
2972
+ size: "24"
2973
+ }, null, 8, ["modelValue", "color", "class", "active-color", "disabled", "readonly"]);
2974
+ }
2975
+ const Qt = /* @__PURE__ */ le(Pl, [["render", El]]), Ll = {
2976
+ modelValue: {
2977
+ type: [Number, String]
2978
+ }
2979
+ }, Al = {
2980
+ filter: { ...Ll.modelValue },
2981
+ isLoading: {
2982
+ default: !1,
2983
+ type: Boolean
2984
+ }
2985
+ }, Jt = ee({
2986
+ components: { BFilterByStar: Qt },
2987
+ data() {
2988
+ return {
2989
+ isMenuOpen: !1,
2990
+ model: this.filter
2991
+ };
2992
+ },
2993
+ methods: {
2994
+ closeMenu() {
2995
+ this.isMenuOpen = !1;
2996
+ },
2997
+ onApply() {
2998
+ this.closeMenu(), this.$emit("update:filter", this.model);
2999
+ },
3000
+ onCancel() {
3001
+ this.model = this.filter, this.isMenuOpen = !1;
3002
+ },
3003
+ onReset() {
3004
+ this.closeMenu(), this.$emit("reset");
3005
+ }
3006
+ },
3007
+ mixins: [Ve],
3008
+ name: "BFilterByStarMenu",
3009
+ props: Al,
3010
+ setup() {
3011
+ const { t: e } = ie();
3012
+ return {
3013
+ t: e
3014
+ };
3015
+ },
3016
+ watch: {
3017
+ filter: {
3018
+ handler(e) {
3019
+ this.model = e;
3020
+ },
3021
+ immediate: !0
3022
+ }
3023
+ }
3024
+ });
3025
+ function St(e) {
3026
+ const t = e;
3027
+ t.__i18n = t.__i18n || [], t.__i18n.push({
3028
+ locale: "",
3029
+ resource: {
3030
+ "en-US": {
3031
+ BFilterByStarMenu: {
3032
+ apply: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Apply" } },
3033
+ cancel: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Cancel" } },
3034
+ reset: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Reset" } },
3035
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Star Rating" } }
3036
+ }
3037
+ },
3038
+ "fr-FR": {
3039
+ BFilterByStarMenu: {
3040
+ apply: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Appliquer" } },
3041
+ cancel: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Annuler" } },
3042
+ reset: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Réinitialiser" } },
3043
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Étoiles" } }
3044
+ }
3045
+ },
3046
+ "de-DE": {
3047
+ BFilterByStarMenu: {
3048
+ apply: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Anwenden" } },
3049
+ cancel: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Abbrechen" } },
3050
+ reset: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Zurücksetzen" } },
3051
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Sternebewertung" } }
3052
+ }
3053
+ },
3054
+ "es-ES": {
3055
+ BFilterByStarMenu: {
3056
+ apply: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Aplicar" } },
3057
+ cancel: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Cancelar" } },
3058
+ reset: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Restablecer" } },
3059
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Puntuación de estrellas" } }
3060
+ }
3061
+ },
3062
+ "it-IT": {
3063
+ BFilterByStarMenu: {
3064
+ apply: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Applica" } },
3065
+ cancel: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Annulla" } },
3066
+ reset: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Ripristina" } },
3067
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Valutazione stelle" } }
3068
+ }
3069
+ },
3070
+ "nl-NL": {
3071
+ BFilterByStarMenu: {
3072
+ apply: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Toepassen" } },
3073
+ cancel: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Annuleren" } },
3074
+ reset: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Resetten" } },
3075
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Sterrenbeoordeling" } }
3076
+ }
3077
+ },
3078
+ "pt-PT": {
3079
+ BFilterByStarMenu: {
3080
+ apply: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Aplicar" } },
3081
+ cancel: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Cancelar" } },
3082
+ reset: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Repor" } },
3083
+ title: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Classificação por estrelas" } }
3084
+ }
3085
+ }
3086
+ }
3087
+ });
3088
+ }
3089
+ const Dl = { class: "text-center px-8 py-4" }, Hl = { class: "font-weight-bold" };
3090
+ function Nl(e, t, l, n, i, r) {
3091
+ var d;
3092
+ const s = oe("BFilterByStar");
3093
+ return R(), z(je, X(e.$attrs, {
3094
+ modelValue: e.isMenuOpen,
3095
+ "onUpdate:modelValue": t[1] || (t[1] = (m) => e.isMenuOpen = m),
3096
+ attach: (d = e.$parent) == null ? void 0 : d.$el,
3097
+ "close-on-content-click": !1,
3098
+ "content-class": "pa-0",
3099
+ location: "bottom",
3100
+ "open-on-click": ""
3101
+ }), {
3102
+ activator: o(({ props: m }) => [
3103
+ a(xe, {
3104
+ color: "grey",
3105
+ icon: "fas fa-times",
3106
+ style: { cursor: "pointer" },
3107
+ "model-value": !!e.model,
3108
+ onClick: e.onReset
3109
+ }, {
3110
+ default: o(() => [
3111
+ a(q, X(m, {
3112
+ class: "text-white",
3113
+ color: "grey",
3114
+ elevation: 0,
3115
+ variant: "outlined",
3116
+ size: "small"
3117
+ }), {
3118
+ default: o(() => {
3119
+ var g;
3120
+ return [
3121
+ x("span", null, [
3122
+ x("span", null, I((g = e.filter) == null ? void 0 : g.split(",")[0]), 1),
3123
+ e.model ? (R(), z(de, {
3124
+ key: 0,
3125
+ id: "star-icon"
3126
+ }, {
3127
+ default: o(() => t[2] || (t[2] = [
3128
+ A(" fas fa-solid fa-star ")
3129
+ ])),
3130
+ _: 1,
3131
+ __: [2]
3132
+ })) : W("", !0)
3133
+ ])
3134
+ ];
3135
+ }),
3136
+ _: 2
3137
+ }, 1040)
3138
+ ]),
3139
+ _: 2
3140
+ }, 1032, ["model-value", "onClick"])
3141
+ ]),
3142
+ default: o(() => [
3143
+ a(Ie, { elevation: "1" }, {
3144
+ default: o(() => [
3145
+ x("div", Dl, [
3146
+ x("p", Hl, I(e.t("BFilterByStarMenu.title")), 1),
3147
+ a(s, {
3148
+ modelValue: e.model,
3149
+ "onUpdate:modelValue": t[0] || (t[0] = (m) => e.model = m)
3150
+ }, null, 8, ["modelValue"])
3151
+ ]),
3152
+ a(tt, { class: "justify-end pa-2" }, {
3153
+ default: o(() => [
3154
+ a(q, {
3155
+ class: "text-right",
3156
+ color: "primary",
3157
+ elevation: "0",
3158
+ size: "small",
3159
+ variant: "text",
3160
+ onClick: e.onCancel
3161
+ }, {
3162
+ default: o(() => [
3163
+ A(I(e.t("BFilterByStarMenu.cancel")), 1)
3164
+ ]),
3165
+ _: 1
3166
+ }, 8, ["onClick"]),
3167
+ a(q, {
3168
+ class: "text-right",
3169
+ color: "error",
3170
+ elevation: "0",
3171
+ size: "small",
3172
+ variant: "text",
3173
+ onClick: e.onReset
3174
+ }, {
3175
+ default: o(() => [
3176
+ A(I(e.t("BFilterByStarMenu.reset")), 1)
3177
+ ]),
3178
+ _: 1
3179
+ }, 8, ["onClick"]),
3180
+ a(q, {
3181
+ class: "text-right",
3182
+ color: "success",
3183
+ elevation: "0",
3184
+ size: "small",
3185
+ onClick: e.onApply
3186
+ }, {
3187
+ default: o(() => [
3188
+ A(I(e.t("BFilterByStarMenu.apply")), 1)
3189
+ ]),
3190
+ _: 1
3191
+ }, 8, ["onClick"])
3192
+ ]),
3193
+ _: 1
3194
+ })
3195
+ ]),
3196
+ _: 1
3197
+ })
3198
+ ]),
3199
+ _: 1
3200
+ }, 16, ["modelValue", "attach"]);
3201
+ }
3202
+ typeof St == "function" && St(Jt);
3203
+ const zl = /* @__PURE__ */ le(Jt, [["render", Nl], ["__scopeId", "data-v-9c4a154f"]]), Ul = {
3204
+ attach: {
3205
+ default: !0,
3206
+ type: [Boolean, Element]
3207
+ },
3208
+ modelValue: {
3209
+ required: !0,
3210
+ type: Object
3211
+ }
3212
+ }, ea = ee({
3213
+ computed: {
3214
+ model: {
3215
+ get() {
3216
+ const e = this.items.findIndex(
3217
+ (t) => t.value === this.modelValue.value && t.direction === this.modelValue.direction
3218
+ );
3219
+ return e === -1 ? 0 : e;
3220
+ },
3221
+ set(e) {
3222
+ this.$emit("update:modelValue", this.items[e], G.SortBy);
3223
+ }
3224
+ }
3225
+ },
3226
+ data() {
3227
+ return {
3228
+ isMenuOpen: !1,
3229
+ items: [
3230
+ {
3231
+ direction: ye.Asc,
3232
+ value: ge.TopPicks
3233
+ },
3234
+ {
3235
+ direction: ye.Asc,
3236
+ value: ge.Distance
3237
+ },
3238
+ {
3239
+ direction: ye.Asc,
3240
+ value: ge.Price
3241
+ },
3242
+ {
3243
+ direction: ye.Desc,
3244
+ value: ge.Price
3245
+ },
3246
+ {
3247
+ direction: ye.Asc,
3248
+ value: ge.Rating
3249
+ },
3250
+ {
3251
+ direction: ye.Desc,
3252
+ value: ge.Rating
3253
+ },
3254
+ {
3255
+ direction: ye.Desc,
3256
+ value: ge.ReviewRating
3257
+ }
3258
+ ]
3259
+ };
3260
+ },
3261
+ methods: {
3262
+ onItemClick(e) {
3263
+ this.$emit("update:modelValue", e, G.SortBy);
3264
+ }
3265
+ },
3266
+ name: "BSortByMenu",
3267
+ props: Ul,
3268
+ setup() {
3269
+ const { t: e } = ie();
3270
+ return {
3271
+ t: e
3272
+ };
3273
+ }
3274
+ });
3275
+ function Rt(e) {
3276
+ const t = e;
3277
+ t.__i18n = t.__i18n || [], t.__i18n.push({
3278
+ locale: "",
3279
+ resource: {
3280
+ "en-US": {
3281
+ BSortByMenu: {
3282
+ prefix: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Sort by : " } },
3283
+ options: {
3284
+ top_picks: {
3285
+ asc: {
3286
+ wording: { t: 0, b: { static: "", t: 2, i: [] } },
3287
+ icon: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "fas fa-heart" } }
3288
+ },
3289
+ name: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Our Top Picks" } }
3290
+ },
3291
+ price: {
3292
+ asc: {
3293
+ wording: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "(lowest first)" } },
3294
+ icon: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "fas fa-arrow-trend-up" } }
3295
+ },
3296
+ desc: {
3297
+ wording: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "(highest first)" } },
3298
+ icon: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "fas fa-arrow-trend-down" } }
3299
+ },
3300
+ name: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Price" } }
3301
+ },
3302
+ distance: {
3303
+ asc: {
3304
+ wording: { t: 0, b: { static: "", t: 2, i: [] } },
3305
+ icon: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "fas fa-person-walking" } }
3306
+ },
3307
+ name: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Closest" } }
3308
+ },
3309
+ rating: {
3310
+ asc: {
3311
+ wording: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "(low to high)" } },
3312
+ icon: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "fas fa-solid fa-star-half-stroke" } }
3313
+ },
3314
+ desc: {
3315
+ wording: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "(high to low)" } },
3316
+ icon: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "fas fa-solid fa-star-half-stroke" } },
3317
+ style: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "mirror" } }
3318
+ },
3319
+ name: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Stars" } }
3320
+ },
3321
+ review_rating: {
3322
+ desc: {
3323
+ wording: { t: 0, b: { static: "", t: 2, i: [] } },
3324
+ icon: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "fas fa-solid fa-thumbs-up" } }
3325
+ },
3326
+ name: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Best Reviewed" } }
3327
+ }
3328
+ }
3329
+ }
3330
+ },
3331
+ "fr-FR": {
3332
+ BSortByMenu: {
3333
+ prefix: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Trié par : " } },
3334
+ options: {
3335
+ top_picks: {
3336
+ asc: {
3337
+ wording: { t: 0, b: { static: "", t: 2, i: [] } },
3338
+ icon: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "fas fa-heart" } }
3339
+ },
3340
+ name: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Nos préférés" } }
3341
+ },
3342
+ price: {
3343
+ asc: {
3344
+ wording: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "(du moins cher au plus cher)" } },
3345
+ icon: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "fas fa-arrow-trend-up" } }
3346
+ },
3347
+ desc: {
3348
+ wording: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "(du plus cher au moins cher)" } },
3349
+ icon: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "fas fa-arrow-trend-down" } }
3350
+ },
3351
+ name: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Tarif" } }
3352
+ },
3353
+ distance: {
3354
+ asc: {
3355
+ wording: { t: 0, b: { static: "", t: 2, i: [] } },
3356
+ icon: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "fas fa-person-walking" } }
3357
+ },
3358
+ name: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Proche" } }
3359
+ },
3360
+ rating: {
3361
+ asc: {
3362
+ wording: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "(croissant)" } },
3363
+ icon: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "fas fa-solid fa-star-half-stroke" } }
3364
+ },
3365
+ desc: {
3366
+ wording: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "(décroissant)" } },
3367
+ icon: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "fas fa-solid fa-star-half-stroke" } },
3368
+ style: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "mirror" } }
3369
+ },
3370
+ name: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Nombre d'étoiles" } }
3371
+ },
3372
+ review_rating: {
3373
+ desc: {
3374
+ wording: { t: 0, b: { static: "", t: 2, i: [] } },
3375
+ icon: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "fas fa-solid fa-thumbs-up" } }
3376
+ },
3377
+ name: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Meilleure note" } }
3378
+ }
3379
+ }
3380
+ }
3381
+ },
3382
+ "de-DE": {
3383
+ BSortByMenu: {
3384
+ prefix: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Sortieren nach: " } },
3385
+ options: {
3386
+ top_picks: {
3387
+ asc: {
3388
+ wording: { t: 0, b: { static: "", t: 2, i: [] } },
3389
+ icon: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "fas fa-heart" } }
3390
+ },
3391
+ name: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Unsere Top-Empfehlungen" } }
3392
+ },
3393
+ price: {
3394
+ asc: {
3395
+ wording: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "(niedrigster zuerst)" } },
3396
+ icon: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "fas fa-arrow-trend-up" } }
3397
+ },
3398
+ desc: {
3399
+ wording: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "(höchster zuerst)" } },
3400
+ icon: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "fas fa-arrow-trend-down" } }
3401
+ },
3402
+ name: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Preis" } }
3403
+ },
3404
+ distance: {
3405
+ asc: {
3406
+ wording: { t: 0, b: { static: "", t: 2, i: [] } },
3407
+ icon: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "fas fa-person-walking" } }
3408
+ },
3409
+ name: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Am nächsten" } }
3410
+ },
3411
+ rating: {
3412
+ asc: {
3413
+ wording: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "(niedrig bis hoch)" } },
3414
+ icon: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "fas fa-solid fa-star-half-stroke" } }
3415
+ },
3416
+ desc: {
3417
+ wording: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "(hoch bis niedrig)" } },
3418
+ icon: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "fas fa-solid fa-star-half-stroke" } },
3419
+ style: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "mirror" } }
3420
+ },
3421
+ name: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Sterne" } }
3422
+ },
3423
+ review_rating: {
3424
+ desc: {
3425
+ wording: { t: 0, b: { static: "", t: 2, i: [] } },
3426
+ icon: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "fas fa-solid fa-thumbs-up" } }
3427
+ },
3428
+ name: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Am besten bewertet" } }
3429
+ }
3430
+ }
3431
+ }
3432
+ },
3433
+ "es-ES": {
3434
+ BSortByMenu: {
3435
+ prefix: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Ordenar por: " } },
3436
+ options: {
3437
+ top_picks: {
3438
+ asc: {
3439
+ wording: { t: 0, b: { static: "", t: 2, i: [] } },
3440
+ icon: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "fas fa-heart" } }
3441
+ },
3442
+ name: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Nuestras recomendaciones" } }
3443
+ },
3444
+ price: {
3445
+ asc: {
3446
+ wording: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "(más bajo primero)" } },
3447
+ icon: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "fas fa-arrow-trend-up" } }
3448
+ },
3449
+ desc: {
3450
+ wording: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "(más alto primero)" } },
3451
+ icon: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "fas fa-arrow-trend-down" } }
3452
+ },
3453
+ name: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Precio" } }
3454
+ },
3455
+ distance: {
3456
+ asc: {
3457
+ wording: { t: 0, b: { static: "", t: 2, i: [] } },
3458
+ icon: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "fas fa-person-walking" } }
3459
+ },
3460
+ name: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Más cercano" } }
3461
+ },
3462
+ rating: {
3463
+ asc: {
3464
+ wording: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "(de menor a mayor)" } },
3465
+ icon: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "fas fa-solid fa-star-half-stroke" } }
3466
+ },
3467
+ desc: {
3468
+ wording: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "(de mayor a menor)" } },
3469
+ icon: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "fas fa-solid fa-star-half-stroke" } },
3470
+ style: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "mirror" } }
3471
+ },
3472
+ name: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Estrellas" } }
3473
+ },
3474
+ review_rating: {
3475
+ desc: {
3476
+ wording: { t: 0, b: { static: "", t: 2, i: [] } },
3477
+ icon: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "fas fa-solid fa-thumbs-up" } }
3478
+ },
3479
+ name: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Mejor valorados" } }
3480
+ }
3481
+ }
3482
+ }
3483
+ },
3484
+ "it-IT": {
3485
+ BSortByMenu: {
3486
+ prefix: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Ordina per: " } },
3487
+ options: {
3488
+ top_picks: {
3489
+ asc: {
3490
+ wording: { t: 0, b: { static: "", t: 2, i: [] } },
3491
+ icon: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "fas fa-heart" } }
3492
+ },
3493
+ name: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "I nostri preferiti" } }
3494
+ },
3495
+ price: {
3496
+ asc: {
3497
+ wording: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "(più basso)" } },
3498
+ icon: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "fas fa-arrow-trend-up" } }
3499
+ },
3500
+ desc: {
3501
+ wording: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "(più alto)" } },
3502
+ icon: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "fas fa-arrow-trend-down" } }
3503
+ },
3504
+ name: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Prezzo" } }
3505
+ },
3506
+ distance: {
3507
+ asc: {
3508
+ wording: { t: 0, b: { static: "", t: 2, i: [] } },
3509
+ icon: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "fas fa-person-walking" } }
3510
+ },
3511
+ name: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Più vicino" } }
3512
+ },
3513
+ rating: {
3514
+ asc: {
3515
+ wording: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "(dal più basso al più alto)" } },
3516
+ icon: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "fas fa-solid fa-star-half-stroke" } }
3517
+ },
3518
+ desc: {
3519
+ wording: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "(dal più alto al più basso)" } },
3520
+ icon: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "fas fa-solid fa-star-half-stroke" } },
3521
+ style: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "mirror" } }
3522
+ },
3523
+ name: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Stelle" } }
3524
+ },
3525
+ review_rating: {
3526
+ desc: {
3527
+ wording: { t: 0, b: { static: "", t: 2, i: [] } },
3528
+ icon: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "fas fa-solid fa-thumbs-up" } }
3529
+ },
3530
+ name: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Migliori recensioni" } }
3531
+ }
3532
+ }
3533
+ }
3534
+ },
3535
+ "nl-NL": {
3536
+ BSortByMenu: {
3537
+ prefix: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Sorteren op: " } },
3538
+ options: {
3539
+ top_picks: {
3540
+ asc: {
3541
+ wording: { t: 0, b: { static: "", t: 2, i: [] } },
3542
+ icon: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "fas fa-heart" } }
3543
+ },
3544
+ name: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Onze favorieten" } }
3545
+ },
3546
+ price: {
3547
+ asc: {
3548
+ wording: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "(laagste eerst)" } },
3549
+ icon: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "fas fa-arrow-trend-up" } }
3550
+ },
3551
+ desc: {
3552
+ wording: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "(hoogste eerst)" } },
3553
+ icon: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "fas fa-arrow-trend-down" } }
3554
+ },
3555
+ name: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Prijs" } }
3556
+ },
3557
+ distance: {
3558
+ asc: {
3559
+ wording: { t: 0, b: { static: "", t: 2, i: [] } },
3560
+ icon: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "fas fa-person-walking" } }
3561
+ },
3562
+ name: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Dichtstbijzijnd" } }
3563
+ },
3564
+ rating: {
3565
+ asc: {
3566
+ wording: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "(laag naar hoog)" } },
3567
+ icon: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "fas fa-solid fa-star-half-stroke" } }
3568
+ },
3569
+ desc: {
3570
+ wording: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "(hoog naar laag)" } },
3571
+ icon: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "fas fa-solid fa-star-half-stroke" } },
3572
+ style: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "mirror" } }
3573
+ },
3574
+ name: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Sterren" } }
3575
+ },
3576
+ review_rating: {
3577
+ desc: {
3578
+ wording: { t: 0, b: { static: "", t: 2, i: [] } },
3579
+ icon: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "fas fa-solid fa-thumbs-up" } }
3580
+ },
3581
+ name: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Best beoordeeld" } }
3582
+ }
3583
+ }
3584
+ }
3585
+ },
3586
+ "pt-PT": {
3587
+ BSortByMenu: {
3588
+ prefix: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Ordenar por: " } },
3589
+ options: {
3590
+ top_picks: {
3591
+ asc: {
3592
+ wording: { t: 0, b: { static: "", t: 2, i: [] } },
3593
+ icon: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "fas fa-heart" } }
3594
+ },
3595
+ name: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "As nossas escolhas" } }
3596
+ },
3597
+ price: {
3598
+ asc: {
3599
+ wording: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "(o mais baixo primeiro)" } },
3600
+ icon: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "fas fa-arrow-trend-up" } }
3601
+ },
3602
+ desc: {
3603
+ wording: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "(o mais alto primeiro)" } },
3604
+ icon: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "fas fa-arrow-trend-down" } }
3605
+ },
3606
+ name: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Preço" } }
3607
+ },
3608
+ distance: {
3609
+ asc: {
3610
+ wording: { t: 0, b: { static: "", t: 2, i: [] } },
3611
+ icon: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "fas fa-person-walking" } }
3612
+ },
3613
+ name: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Mais perto" } }
3614
+ },
3615
+ rating: {
3616
+ asc: {
3617
+ wording: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "(baixo para alto)" } },
3618
+ icon: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "fas fa-solid fa-star-half-stroke" } }
3619
+ },
3620
+ desc: {
3621
+ wording: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "(alto para baixo)" } },
3622
+ icon: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "fas fa-solid fa-star-half-stroke" } },
3623
+ style: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "mirror" } }
3624
+ },
3625
+ name: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Estrelas" } }
3626
+ },
3627
+ review_rating: {
3628
+ desc: {
3629
+ wording: { t: 0, b: { static: "", t: 2, i: [] } },
3630
+ icon: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "fas fa-solid fa-thumbs-up" } }
3631
+ },
3632
+ name: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Melhor avaliado" } }
3633
+ }
3634
+ }
3635
+ }
3636
+ }
3637
+ }
3638
+ });
3639
+ }
3640
+ const xl = { class: "px-4 font-weight-bold" }, jl = { class: "text-grey-darken-3" };
3641
+ function ql(e, t, l, n, i, r) {
3642
+ return R(), z(je, {
3643
+ modelValue: e.isMenuOpen,
3644
+ "onUpdate:modelValue": t[1] || (t[1] = (s) => e.isMenuOpen = s),
3645
+ attach: e.attach,
3646
+ eager: "",
3647
+ transition: "scroll-y-transition"
3648
+ }, {
3649
+ activator: o(({ props: s }) => [
3650
+ a(q, X(s, {
3651
+ color: "secondary",
3652
+ elevation: 0,
3653
+ size: "small"
3654
+ }), {
3655
+ default: o(() => [
3656
+ x("span", null, [
3657
+ e.t(
3658
+ `BSortByMenu.options.${e.items[e.model].value}.${e.modelValue.direction}.icon`
3659
+ ).length ? (R(), z(de, {
3660
+ key: 0,
3661
+ class: fe([
3662
+ "mr-1",
3663
+ e.t(
3664
+ `BSortByMenu.options.${e.items[e.model].value}.${e.modelValue.direction}.style`
3665
+ )
3666
+ ]),
3667
+ size: "12"
3668
+ }, {
3669
+ default: o(() => [
3670
+ A(I(e.t(
3671
+ `BSortByMenu.options.${e.items[e.model].value}.${e.modelValue.direction}.icon`
3672
+ )), 1)
3673
+ ]),
3674
+ _: 1
3675
+ }, 8, ["class"])) : W("", !0),
3676
+ A(" " + I(e.t(`BSortByMenu.options.${e.items[e.model].value}.name`)) + " ", 1),
3677
+ a(de, { size: "10" }, {
3678
+ default: o(() => t[2] || (t[2] = [
3679
+ A("fas fa-chevron-down")
3680
+ ])),
3681
+ _: 1,
3682
+ __: [2]
3683
+ })
3684
+ ])
3685
+ ]),
3686
+ _: 2
3687
+ }, 1040)
3688
+ ]),
3689
+ default: o(() => [
3690
+ a(ki, null, {
3691
+ default: o(() => [
3692
+ a(Ye, {
3693
+ modelValue: e.model,
3694
+ "onUpdate:modelValue": t[0] || (t[0] = (s) => e.model = s),
3695
+ class: "b-sort-by-list bg-white pa-0",
3696
+ mandatory: ""
3697
+ }, {
3698
+ default: o(() => [
3699
+ a(mt, { class: "pt-2" }, {
3700
+ default: o(() => [
3701
+ x("small", xl, I(e.t("BSortByMenu.prefix")), 1)
3702
+ ]),
3703
+ _: 1
3704
+ }),
3705
+ (R(!0), K(re, null, Re(e.items, (s, d) => (R(), z(Ye, {
3706
+ key: d,
3707
+ class: "px-3",
3708
+ onClick: (m) => e.onItemClick(s)
3709
+ }, {
3710
+ default: o(() => [
3711
+ a(mt, null, {
3712
+ default: o(() => [
3713
+ x("small", jl, [
3714
+ e.t(`BSortByMenu.options.${s.value}.${s.direction}.icon`).length ? (R(), z(de, {
3715
+ key: 0,
3716
+ class: fe([
3717
+ "text-grey-darken-3",
3718
+ e.t(`BSortByMenu.options.${s.value}.${s.direction}.style`)
3719
+ ]),
3720
+ size: "14",
3721
+ style: { "min-width": "24px" }
3722
+ }, {
3723
+ default: o(() => [
3724
+ A(I(e.t(`BSortByMenu.options.${s.value}.${s.direction}.icon`)), 1)
3725
+ ]),
3726
+ _: 2
3727
+ }, 1032, ["class"])) : W("", !0),
3728
+ A(" " + I(e.t(`BSortByMenu.options.${s.value}.name`)) + " " + I(e.t(`BSortByMenu.options.${s.value}.${s.direction}.wording`)), 1)
3729
+ ])
3730
+ ]),
3731
+ _: 2
3732
+ }, 1024)
3733
+ ]),
3734
+ _: 2
3735
+ }, 1032, ["onClick"]))), 128))
3736
+ ]),
3737
+ _: 1
3738
+ }, 8, ["modelValue"])
3739
+ ]),
3740
+ _: 1
3741
+ })
3742
+ ]),
3743
+ _: 1
3744
+ }, 8, ["modelValue", "attach"]);
3745
+ }
3746
+ typeof Rt == "function" && Rt(ea);
3747
+ const Gl = /* @__PURE__ */ le(ea, [["render", ql], ["__scopeId", "data-v-aede7be3"]]), Kl = {
3748
+ isLoading: {
3749
+ default: !1,
3750
+ type: Boolean
3751
+ },
3752
+ small: {
3753
+ default: !0,
3754
+ type: Boolean
3755
+ },
3756
+ withSort: {
3757
+ default: !0,
3758
+ type: Boolean
3759
+ }
3760
+ }, ta = ee({
3761
+ components: {
3762
+ BFilterByPrice: Yt,
3763
+ BFilterByPriceMenu: Bl,
3764
+ BFilterByReview: Zt,
3765
+ BFilterByReviewMenu: Ol,
3766
+ BFilterByStar: Qt,
3767
+ BFilterByStarMenu: zl,
3768
+ BSortByMenu: Gl
3769
+ },
3770
+ computed: {
3771
+ ...Ft(Pt),
3772
+ activeFiltersNumber: ne("hotelOffers/activeFiltersNumber"),
3773
+ areFiltersActive: ne("hotelOffers/areFiltersActive"),
3774
+ filters: ne("hotelOffers/filters"),
3775
+ hotelOfferRequest: ne("hotelOfferRequest"),
3776
+ isPriceFilterActive: ne("hotelOffers/isPriceFilterActive"),
3777
+ isResetButtonVisible() {
3778
+ var e, t;
3779
+ return ((e = this.filters[G.SortBy]) == null ? void 0 : e.value) !== ((t = Le[G.SortBy]) == null ? void 0 : t.value) || this.isStarRatingFilterActive || this.isReviewRatingFilterActive || this.isPriceFilterActive;
3780
+ },
3781
+ isReviewRatingFilterActive: ne(
3782
+ "hotelOffers/isReviewRatingFilterActive"
3783
+ ),
3784
+ isStarRatingFilterActive: ne(
3785
+ "hotelOffers/isStarRatingFilterActive"
3786
+ ),
3787
+ priceHistogramStepCount: ne("hotelOffers/priceHistogramStepCount"),
3788
+ priceMax: ne("hotelOffers/getPriceMax"),
3789
+ priceMin: ne("hotelOffers/getPriceMin"),
3790
+ sortByModel: {
3791
+ get() {
3792
+ return this.filters[G.SortBy];
3793
+ },
3794
+ async set(e) {
3795
+ await this.dispatch("hotelOffers/saveFilters", {
3796
+ ...this.filters,
3797
+ [G.SortBy]: e
3798
+ });
3799
+ }
3800
+ }
3801
+ },
3802
+ data() {
3803
+ return {
3804
+ FilterName: G,
3805
+ filterByPriceModel: dt,
3806
+ filterByReviewRatingModel: ct,
3807
+ filterByStarRatingModel: ut,
3808
+ priceUpdatedByUser: !1
3809
+ };
3810
+ },
3811
+ methods: {
3812
+ onCancel() {
3813
+ this.syncFilters(), this.isDialogOpen = !1;
3814
+ },
3815
+ onResetFilters() {
3816
+ this.filterByPriceModel = Le[G.Price], this.filterByStarRatingModel = Le[G.Rating], this.filterByReviewRatingModel = Le[G.ReviewRating];
3817
+ },
3818
+ async onSaveFilters() {
3819
+ await this.dispatch("hotelOffers/saveFilters", {
3820
+ ...this.filters,
3821
+ [G.Rating]: this.filterByStarRatingModel,
3822
+ [G.ReviewRating]: this.filterByReviewRatingModel,
3823
+ [G.Price]: [
3824
+ this.filterByPriceModel[0] === this.priceMin ? 0 : this.filterByPriceModel[0],
3825
+ this.filterByPriceModel[1] === this.priceMax ? 0 : this.filterByPriceModel[1]
3826
+ ]
3827
+ }), this.isDialogOpen = !1;
3828
+ },
3829
+ async resetPriceFilter() {
3830
+ await this.dispatch("hotelOffers/saveFilters", {
3831
+ ...this.filters,
3832
+ [G.Price]: dt
3833
+ });
3834
+ },
3835
+ async resetReviewRatingFilter() {
3836
+ await this.dispatch("hotelOffers/saveFilters", {
3837
+ ...this.filters,
3838
+ [G.ReviewRating]: ct
3839
+ });
3840
+ },
3841
+ async resetStarRatingFilter() {
3842
+ await this.dispatch("hotelOffers/saveFilters", {
3843
+ ...this.filters,
3844
+ [G.Rating]: ut
3845
+ });
3846
+ },
3847
+ syncFilters() {
3848
+ this.filterByPriceModel = this.filters[G.Price], this.filterByStarRatingModel = this.filters[G.Rating], this.filterByReviewRatingModel = this.filters[G.ReviewRating];
3849
+ }
3850
+ },
3851
+ mixins: [Ve, Oi, Ht()],
3852
+ name: "BHotelOffersFiltersBar",
3853
+ props: Kl,
3854
+ setup() {
3855
+ const { t: e } = ie();
3856
+ return {
3857
+ isDialogOpen: Z(!1),
3858
+ t: e
3859
+ };
3860
+ },
3861
+ watch: {
3862
+ filters: {
3863
+ deep: !0,
3864
+ handler() {
3865
+ this.syncFilters();
3866
+ },
3867
+ immediate: !0
3868
+ }
3869
+ }
3870
+ });
3871
+ function Vt(e) {
3872
+ const t = e;
3873
+ t.__i18n = t.__i18n || [], t.__i18n.push({
3874
+ locale: "",
3875
+ resource: {
3876
+ "en-US": {
3877
+ BHotelFiltersMenu: {
3878
+ apply: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Apply" } },
3879
+ cancel: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Cancel" } },
3880
+ filters: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Filters" } },
3881
+ filterBy: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Filter by" } },
3882
+ price: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Price per room per night" } },
3883
+ reset: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Reset" } },
3884
+ review: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Guest Rating" } },
3885
+ sortBy: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Sort by" } },
3886
+ star: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Star Rating" } }
3887
+ }
3888
+ },
3889
+ "fr-FR": {
3890
+ BHotelFiltersMenu: {
3891
+ apply: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Appliquer" } },
3892
+ cancel: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Annuler" } },
3893
+ filters: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Filtres" } },
3894
+ filterBy: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Filtrer par" } },
3895
+ price: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Prix par chambre par nuit" } },
3896
+ reset: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Réinitialiser" } },
3897
+ review: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Notes" } },
3898
+ sortBy: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Trier par" } },
3899
+ star: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Étoiles" } }
3900
+ }
3901
+ },
3902
+ "de-DE": {
3903
+ BHotelFiltersMenu: {
3904
+ apply: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Anwenden" } },
3905
+ cancel: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Abbrechen" } },
3906
+ filters: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Filter" } },
3907
+ filterBy: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Filtern nach" } },
3908
+ price: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Preis pro Zimmer pro Nacht" } },
3909
+ reset: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Zurücksetzen" } },
3910
+ review: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Gästebewertung" } },
3911
+ sortBy: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Sortieren nach" } },
3912
+ star: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Sternebewertung" } }
3913
+ }
3914
+ },
3915
+ "es-ES": {
3916
+ BHotelFiltersMenu: {
3917
+ apply: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Aplicar" } },
3918
+ cancel: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Cancelar" } },
3919
+ filters: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Filtros" } },
3920
+ filterBy: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Filtrar por" } },
3921
+ price: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Precio por habitación por noche" } },
3922
+ reset: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Restablecer" } },
3923
+ review: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Valoración de los huéspedes" } },
3924
+ sortBy: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Ordenar por" } },
3925
+ star: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Clasificación por estrellas" } }
3926
+ }
3927
+ },
3928
+ "it-IT": {
3929
+ BHotelFiltersMenu: {
3930
+ apply: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Applica" } },
3931
+ cancel: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Annulla" } },
3932
+ filters: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Filtri" } },
3933
+ filterBy: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Filtra per" } },
3934
+ price: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Prezzo per camera a notte" } },
3935
+ reset: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Ripristina" } },
3936
+ review: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Valutazione degli ospiti" } },
3937
+ sortBy: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Ordina per" } },
3938
+ star: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Classificazione stelle" } }
3939
+ }
3940
+ },
3941
+ "nl-NL": {
3942
+ BHotelFiltersMenu: {
3943
+ apply: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Toepassen" } },
3944
+ cancel: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Annuleren" } },
3945
+ filters: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Filters" } },
3946
+ filterBy: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Filteren op" } },
3947
+ price: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Prijs per kamer per nacht" } },
3948
+ reset: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Reset" } },
3949
+ review: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Beoordeling" } },
3950
+ sortBy: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Sorteren op" } },
3951
+ star: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Sterrenclassificatie" } }
3952
+ }
3953
+ },
3954
+ "pt-PT": {
3955
+ BHotelFiltersMenu: {
3956
+ apply: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Aplicar" } },
3957
+ cancel: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Cancelar" } },
3958
+ filters: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Filtros" } },
3959
+ filterBy: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Filtrar por" } },
3960
+ price: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Preço por quarto por noite" } },
3961
+ reset: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Repor" } },
3962
+ review: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Avaliação dos hóspedes" } },
3963
+ sortBy: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Ordenar por" } },
3964
+ star: { t: 0, b: { t: 2, i: [{ t: 3 }], s: "Classificação de estrelas" } }
3965
+ }
3966
+ }
3967
+ }
3968
+ });
3969
+ }
3970
+ function Yl(e) {
3971
+ let {
3972
+ rootEl: t,
3973
+ isSticky: l,
3974
+ layoutItemStyles: n
3975
+ } = e;
3976
+ const i = ce(!1), r = ce(0), s = v(() => {
3977
+ const g = typeof i.value == "boolean" ? "top" : i.value;
3978
+ return [l.value ? {
3979
+ top: "auto",
3980
+ bottom: "auto",
3981
+ height: void 0
3982
+ } : void 0, i.value ? {
3983
+ [g]: ve(r.value)
3984
+ } : {
3985
+ top: n.value.top
3986
+ }];
3987
+ });
3988
+ Ne(() => {
3989
+ ke(l, (g) => {
3990
+ g ? window.addEventListener("scroll", m, {
3991
+ passive: !0
3992
+ }) : window.removeEventListener("scroll", m);
3993
+ }, {
3994
+ immediate: !0
3995
+ });
3996
+ }), At(() => {
3997
+ window.removeEventListener("scroll", m);
3998
+ });
3999
+ let d = 0;
4000
+ function m() {
4001
+ const g = d > window.scrollY ? "up" : "down", c = t.value.getBoundingClientRect(), b = parseFloat(n.value.top ?? 0), B = window.scrollY - Math.max(0, r.value - b), u = c.height + Math.max(r.value, b) - window.scrollY - window.innerHeight, h = parseFloat(getComputedStyle(t.value).getPropertyValue("--v-body-scroll-y")) || 0;
4002
+ c.height < window.innerHeight - b ? (i.value = "top", r.value = b) : g === "up" && i.value === "bottom" || g === "down" && i.value === "top" ? (r.value = window.scrollY + c.top - h, i.value = !0) : g === "down" && u <= 0 ? (r.value = 0, i.value = "bottom") : g === "up" && B <= 0 && (h ? i.value !== "top" && (r.value = -B + h + b, i.value = "top") : (r.value = c.top + B, i.value = "top")), d = window.scrollY;
4003
+ }
4004
+ return {
4005
+ isStuck: i,
4006
+ stickyStyles: s
4007
+ };
4008
+ }
4009
+ const Wl = 100, Zl = 20;
4010
+ function Ct(e) {
4011
+ return (e < 0 ? -1 : 1) * Math.sqrt(Math.abs(e)) * 1.41421356237;
4012
+ }
4013
+ function $t(e) {
4014
+ if (e.length < 2)
4015
+ return 0;
4016
+ if (e.length === 2)
4017
+ return e[1].t === e[0].t ? 0 : (e[1].d - e[0].d) / (e[1].t - e[0].t);
4018
+ let t = 0;
4019
+ for (let l = e.length - 1; l > 0; l--) {
4020
+ if (e[l].t === e[l - 1].t)
4021
+ continue;
4022
+ const n = Ct(t), i = (e[l].d - e[l - 1].d) / (e[l].t - e[l - 1].t);
4023
+ t += (i - n) * Math.abs(i), l === e.length - 1 && (t *= 0.5);
4024
+ }
4025
+ return Ct(t) * 1e3;
4026
+ }
4027
+ function Xl() {
4028
+ const e = {};
4029
+ function t(i) {
4030
+ Array.from(i.changedTouches).forEach((r) => {
4031
+ (e[r.identifier] ?? (e[r.identifier] = new Pa(Zl))).push([i.timeStamp, r]);
4032
+ });
4033
+ }
4034
+ function l(i) {
4035
+ Array.from(i.changedTouches).forEach((r) => {
4036
+ delete e[r.identifier];
4037
+ });
4038
+ }
4039
+ function n(i) {
4040
+ var g;
4041
+ const r = (g = e[i]) == null ? void 0 : g.values().reverse();
4042
+ if (!r)
4043
+ throw new Error(`No samples for touch id ${i}`);
4044
+ const s = r[0], d = [], m = [];
4045
+ for (const c of r) {
4046
+ if (s[0] - c[0] > Wl) break;
4047
+ d.push({
4048
+ t: c[0],
4049
+ d: c[1].clientX
4050
+ }), m.push({
4051
+ t: c[0],
4052
+ d: c[1].clientY
4053
+ });
4054
+ }
4055
+ return {
4056
+ x: $t(d),
4057
+ y: $t(m),
4058
+ get direction() {
4059
+ const {
4060
+ x: c,
4061
+ y: b
4062
+ } = this, [B, u] = [Math.abs(c), Math.abs(b)];
4063
+ return B > u && c >= 0 ? "right" : B > u && c <= 0 ? "left" : u > B && b >= 0 ? "down" : u > B && b <= 0 ? "up" : Ql();
4064
+ }
4065
+ };
4066
+ }
4067
+ return {
4068
+ addMovement: t,
4069
+ endTouch: l,
4070
+ getVelocity: n
4071
+ };
4072
+ }
4073
+ function Ql() {
4074
+ throw new Error();
4075
+ }
4076
+ function Jl(e) {
4077
+ let {
4078
+ el: t,
4079
+ isActive: l,
4080
+ isTemporary: n,
4081
+ width: i,
4082
+ touchless: r,
4083
+ position: s
4084
+ } = e;
4085
+ Ne(() => {
4086
+ window.addEventListener("touchstart", P, {
4087
+ passive: !0
4088
+ }), window.addEventListener("touchmove", L, {
4089
+ passive: !1
4090
+ }), window.addEventListener("touchend", U, {
4091
+ passive: !0
4092
+ });
4093
+ }), At(() => {
4094
+ window.removeEventListener("touchstart", P), window.removeEventListener("touchmove", L), window.removeEventListener("touchend", U);
4095
+ });
4096
+ const d = v(() => ["left", "right"].includes(s.value)), {
4097
+ addMovement: m,
4098
+ endTouch: g,
4099
+ getVelocity: c
4100
+ } = Xl();
4101
+ let b = !1;
4102
+ const B = ce(!1), u = ce(0), h = ce(0);
4103
+ let p;
4104
+ function O(w, $) {
4105
+ return (s.value === "left" ? w : s.value === "right" ? document.documentElement.clientWidth - w : s.value === "top" ? w : s.value === "bottom" ? document.documentElement.clientHeight - w : Me()) - ($ ? i.value : 0);
4106
+ }
4107
+ function y(w) {
4108
+ let $ = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0;
4109
+ const F = s.value === "left" ? (w - h.value) / i.value : s.value === "right" ? (document.documentElement.clientWidth - w - h.value) / i.value : s.value === "top" ? (w - h.value) / i.value : s.value === "bottom" ? (document.documentElement.clientHeight - w - h.value) / i.value : Me();
4110
+ return $ ? Math.max(0, Math.min(1, F)) : F;
4111
+ }
4112
+ function P(w) {
4113
+ if (r.value) return;
4114
+ const $ = w.changedTouches[0].clientX, F = w.changedTouches[0].clientY, V = 25, C = s.value === "left" ? $ < V : s.value === "right" ? $ > document.documentElement.clientWidth - V : s.value === "top" ? F < V : s.value === "bottom" ? F > document.documentElement.clientHeight - V : Me(), M = l.value && (s.value === "left" ? $ < i.value : s.value === "right" ? $ > document.documentElement.clientWidth - i.value : s.value === "top" ? F < i.value : s.value === "bottom" ? F > document.documentElement.clientHeight - i.value : Me());
4115
+ (C || M || l.value && n.value) && (p = [$, F], h.value = O(d.value ? $ : F, l.value), u.value = y(d.value ? $ : F), b = h.value > -20 && h.value < 80, g(w), m(w));
4116
+ }
4117
+ function L(w) {
4118
+ const $ = w.changedTouches[0].clientX, F = w.changedTouches[0].clientY;
4119
+ if (b) {
4120
+ if (!w.cancelable) {
4121
+ b = !1;
4122
+ return;
4123
+ }
4124
+ const C = Math.abs($ - p[0]), M = Math.abs(F - p[1]);
4125
+ (d.value ? C > M && C > 3 : M > C && M > 3) ? (B.value = !0, b = !1) : (d.value ? M : C) > 3 && (b = !1);
4126
+ }
4127
+ if (!B.value) return;
4128
+ w.preventDefault(), m(w);
4129
+ const V = y(d.value ? $ : F, !1);
4130
+ u.value = Math.max(0, Math.min(1, V)), V > 1 ? h.value = O(d.value ? $ : F, !0) : V < 0 && (h.value = O(d.value ? $ : F, !1));
4131
+ }
4132
+ function U(w) {
4133
+ if (b = !1, !B.value) return;
4134
+ m(w), B.value = !1;
4135
+ const $ = c(w.changedTouches[0].identifier), F = Math.abs($.x), V = Math.abs($.y);
4136
+ (d.value ? F > V && F > 400 : V > F && V > 3) ? l.value = $.direction === ({
4137
+ left: "right",
4138
+ right: "left",
4139
+ top: "down",
4140
+ bottom: "up"
4141
+ }[s.value] || Me()) : l.value = u.value > 0.5;
4142
+ }
4143
+ const D = v(() => B.value ? {
4144
+ transform: s.value === "left" ? `translateX(calc(-100% + ${u.value * i.value}px))` : s.value === "right" ? `translateX(calc(100% - ${u.value * i.value}px))` : s.value === "top" ? `translateY(calc(-100% + ${u.value * i.value}px))` : s.value === "bottom" ? `translateY(calc(100% - ${u.value * i.value}px))` : Me(),
4145
+ transition: "none"
4146
+ } : void 0);
4147
+ return Ae(B, () => {
4148
+ var F, V;
4149
+ const w = ((F = t.value) == null ? void 0 : F.style.transform) ?? null, $ = ((V = t.value) == null ? void 0 : V.style.transition) ?? null;
4150
+ Ia(() => {
4151
+ var C, M, k, f;
4152
+ (M = t.value) == null || M.style.setProperty("transform", ((C = D.value) == null ? void 0 : C.transform) || "none"), (f = t.value) == null || f.style.setProperty("transition", ((k = D.value) == null ? void 0 : k.transition) || null);
4153
+ }), Ta(() => {
4154
+ var C, M;
4155
+ (C = t.value) == null || C.style.setProperty("transform", w), (M = t.value) == null || M.style.setProperty("transition", $);
4156
+ });
4157
+ }), {
4158
+ isDragging: B,
4159
+ dragProgress: u,
4160
+ dragStyles: D
4161
+ };
4162
+ }
4163
+ function Me() {
4164
+ throw new Error();
4165
+ }
4166
+ const es = ["start", "end", "left", "right", "top", "bottom"], ts = Ce({
4167
+ color: String,
4168
+ disableResizeWatcher: Boolean,
4169
+ disableRouteWatcher: Boolean,
4170
+ expandOnHover: Boolean,
4171
+ floating: Boolean,
4172
+ modelValue: {
4173
+ type: Boolean,
4174
+ default: null
4175
+ },
4176
+ permanent: Boolean,
4177
+ rail: {
4178
+ type: Boolean,
4179
+ default: null
4180
+ },
4181
+ railWidth: {
4182
+ type: [Number, String],
4183
+ default: 56
4184
+ },
4185
+ scrim: {
4186
+ type: [Boolean, String],
4187
+ default: !0
4188
+ },
4189
+ image: String,
4190
+ temporary: Boolean,
4191
+ persistent: Boolean,
4192
+ touchless: Boolean,
4193
+ width: {
4194
+ type: [Number, String],
4195
+ default: 256
4196
+ },
4197
+ location: {
4198
+ type: String,
4199
+ default: "start",
4200
+ validator: (e) => es.includes(e)
4201
+ },
4202
+ sticky: Boolean,
4203
+ ...Ci(),
4204
+ ...Ue(),
4205
+ ...Qa(),
4206
+ ...Da({
4207
+ mobile: null
4208
+ }),
4209
+ ...Ut(),
4210
+ ...Xa(),
4211
+ ...xt(),
4212
+ ...Dt({
4213
+ tag: "nav"
4214
+ }),
4215
+ ...Lt()
4216
+ }, "VNavigationDrawer"), as = _e()({
4217
+ name: "VNavigationDrawer",
4218
+ props: ts(),
4219
+ emits: {
4220
+ "update:modelValue": (e) => !0,
4221
+ "update:rail": (e) => !0
4222
+ },
4223
+ setup(e, t) {
4224
+ let {
4225
+ attrs: l,
4226
+ emit: n,
4227
+ slots: i
4228
+ } = t;
4229
+ const {
4230
+ isRtl: r
4231
+ } = ze(), {
4232
+ themeClasses: s
4233
+ } = Et(e), {
4234
+ borderClasses: d
4235
+ } = Vi(e), {
4236
+ backgroundColorClasses: m,
4237
+ backgroundColorStyles: g
4238
+ } = He(te(e, "color")), {
4239
+ elevationClasses: c
4240
+ } = jt(e), {
4241
+ displayClasses: b,
4242
+ mobile: B
4243
+ } = Ea(e), {
4244
+ roundedClasses: u
4245
+ } = qt(e), h = Ga(), p = Je(e, "modelValue", null, (E) => !!E), {
4246
+ ssrBootStyles: O
4247
+ } = _i(), {
4248
+ scopeId: y
4249
+ } = Ka(), P = Z(), L = ce(!1), {
4250
+ runOpenDelay: U,
4251
+ runCloseDelay: D
4252
+ } = Za(e, (E) => {
4253
+ L.value = E;
4254
+ }), w = v(() => e.rail && e.expandOnHover && L.value ? Number(e.width) : Number(e.rail ? e.railWidth : e.width)), $ = v(() => Ya(e.location, r.value)), F = v(() => e.persistent), V = v(() => !e.permanent && (B.value || e.temporary)), C = v(() => e.sticky && !V.value && $.value !== "bottom");
4255
+ Ae(() => e.expandOnHover && e.rail != null, () => {
4256
+ ke(L, (E) => n("update:rail", !E));
4257
+ }), Ae(() => !e.disableResizeWatcher, () => {
4258
+ ke(V, (E) => !e.permanent && Oe(() => p.value = !E));
4259
+ }), Ae(() => !e.disableRouteWatcher && !!h, () => {
4260
+ ke(h.currentRoute, () => V.value && (p.value = !1));
4261
+ }), ke(() => e.permanent, (E) => {
4262
+ E && (p.value = !0);
4263
+ }), e.modelValue == null && !V.value && (p.value = e.permanent || !B.value);
4264
+ const {
4265
+ isDragging: M,
4266
+ dragProgress: k
4267
+ } = Jl({
4268
+ el: P,
4269
+ isActive: p,
4270
+ isTemporary: V,
4271
+ width: w,
4272
+ touchless: te(e, "touchless"),
4273
+ position: $
4274
+ }), f = v(() => {
4275
+ const E = V.value ? 0 : e.rail && e.expandOnHover ? Number(e.railWidth) : w.value;
4276
+ return M.value ? E * k.value : E;
4277
+ }), {
4278
+ layoutItemStyles: T,
4279
+ layoutItemScrimStyles: S
4280
+ } = Wa({
4281
+ id: e.name,
4282
+ order: v(() => parseInt(e.order, 10)),
4283
+ position: $,
4284
+ layoutSize: f,
4285
+ elementSize: w,
4286
+ active: v(() => p.value || M.value),
4287
+ disableTransitions: v(() => M.value),
4288
+ absolute: v(() => (
4289
+ // eslint-disable-next-line @typescript-eslint/no-use-before-define
4290
+ e.absolute || C.value && typeof j.value != "string"
4291
+ ))
4292
+ }), {
4293
+ isStuck: j,
4294
+ stickyStyles: Y
4295
+ } = Yl({
4296
+ rootEl: P,
4297
+ isSticky: C,
4298
+ layoutItemStyles: T
4299
+ }), J = He(v(() => typeof e.scrim == "string" ? e.scrim : null)), se = v(() => ({
4300
+ ...M.value ? {
4301
+ opacity: k.value * 0.2,
4302
+ transition: "none"
4303
+ } : void 0,
4304
+ ...S.value
4305
+ }));
4306
+ return La({
4307
+ VList: {
4308
+ bgColor: "transparent"
4309
+ }
4310
+ }), Pe(() => {
4311
+ const E = i.image || e.image;
4312
+ return a(re, null, [a(e.tag, X({
4313
+ ref: P,
4314
+ onMouseenter: U,
4315
+ onMouseleave: D,
4316
+ class: ["v-navigation-drawer", `v-navigation-drawer--${$.value}`, {
4317
+ "v-navigation-drawer--expand-on-hover": e.expandOnHover,
4318
+ "v-navigation-drawer--floating": e.floating,
4319
+ "v-navigation-drawer--is-hovering": L.value,
4320
+ "v-navigation-drawer--rail": e.rail,
4321
+ "v-navigation-drawer--temporary": V.value,
4322
+ "v-navigation-drawer--persistent": F.value,
4323
+ "v-navigation-drawer--active": p.value,
4324
+ "v-navigation-drawer--sticky": C.value
4325
+ }, s.value, m.value, d.value, b.value, c.value, u.value, e.class],
4326
+ style: [g.value, T.value, O.value, Y.value, e.style]
4327
+ }, y, l), {
4328
+ default: () => {
4329
+ var H, ue, me;
4330
+ return [E && a("div", {
4331
+ key: "image",
4332
+ class: "v-navigation-drawer__img"
4333
+ }, [i.image ? a(si, {
4334
+ key: "image-defaults",
4335
+ disabled: !e.image,
4336
+ defaults: {
4337
+ VImg: {
4338
+ alt: "",
4339
+ cover: !0,
4340
+ height: "inherit",
4341
+ src: e.image
4342
+ }
4343
+ }
4344
+ }, i.image) : a(li, {
4345
+ key: "image-img",
4346
+ alt: "",
4347
+ cover: !0,
4348
+ height: "inherit",
4349
+ src: e.image
4350
+ }, null)]), i.prepend && a("div", {
4351
+ class: "v-navigation-drawer__prepend"
4352
+ }, [(H = i.prepend) == null ? void 0 : H.call(i)]), a("div", {
4353
+ class: "v-navigation-drawer__content"
4354
+ }, [(ue = i.default) == null ? void 0 : ue.call(i)]), i.append && a("div", {
4355
+ class: "v-navigation-drawer__append"
4356
+ }, [(me = i.append) == null ? void 0 : me.call(i)])];
4357
+ }
4358
+ }), a(Aa, {
4359
+ name: "fade-transition"
4360
+ }, {
4361
+ default: () => [V.value && (M.value || p.value) && !!e.scrim && a("div", X({
4362
+ class: ["v-navigation-drawer__scrim", J.backgroundColorClasses.value],
4363
+ style: [se.value, J.backgroundColorStyles.value],
4364
+ onClick: () => {
4365
+ F.value || (p.value = !1);
4366
+ }
4367
+ }, y), null)]
4368
+ })]);
4369
+ }), {
4370
+ isStuck: j
4371
+ };
4372
+ }
4373
+ }), is = { class: "" }, ls = { class: "font-weight-bold" }, ss = { class: "font-weight-bold" }, os = { class: "font-weight-bold" };
4374
+ function rs(e, t, l, n, i, r) {
4375
+ const s = oe("BFilterByPrice"), d = oe("BFilterByStar"), m = oe("BFilterByReview"), g = oe("BFilterByPriceMenu"), c = oe("BFilterByStarMenu"), b = oe("BFilterByReviewMenu"), B = oe("BSortByMenu");
4376
+ return R(), K("div", null, [
4377
+ a(as, {
4378
+ modelValue: e.isDialogOpen,
4379
+ "onUpdate:modelValue": t[3] || (t[3] = (u) => e.isDialogOpen = u),
4380
+ temporary: "",
4381
+ width: e.isDialogOpen ? e.$isCurrentBreakpointBelow("sm") ? "100%" : "auto" : void 0
4382
+ }, {
4383
+ default: o(() => [
4384
+ a(Ie, {
4385
+ elevation: "0",
4386
+ light: ""
4387
+ }, {
4388
+ default: o(() => [
4389
+ a(wi, {
4390
+ class: "py-1",
4391
+ style: { "background-color": "#fff", "z-index": "1", position: "fixed", top: "0", width: "100%" }
4392
+ }, {
4393
+ default: o(() => [
4394
+ a(he, { "no-gutters": "" }, {
4395
+ default: o(() => [
4396
+ a(Q, { cols: "auto" }, {
4397
+ default: o(() => [
4398
+ a(q, {
4399
+ icon: "",
4400
+ variant: "text",
4401
+ onClick: e.onCancel,
4402
+ size: "small"
4403
+ }, {
4404
+ default: o(() => [
4405
+ a(de, null, {
4406
+ default: o(() => t[9] || (t[9] = [
4407
+ A(" fas fa-arrow-left ")
4408
+ ])),
4409
+ _: 1,
4410
+ __: [9]
4411
+ })
4412
+ ]),
4413
+ _: 1
4414
+ }, 8, ["onClick"]),
4415
+ x("small", is, I(e.t("BHotelFiltersMenu.filterBy")), 1)
4416
+ ]),
4417
+ _: 1
4418
+ }),
4419
+ a(Q, {
4420
+ class: "flex align-center justify-end",
4421
+ align: "end"
4422
+ }, {
4423
+ default: o(() => [
4424
+ a(q, {
4425
+ class: "mr-2",
4426
+ color: "primary",
4427
+ size: "small",
4428
+ variant: "text",
4429
+ onClick: e.onCancel
4430
+ }, {
4431
+ default: o(() => [
4432
+ A(I(e.t("BHotelFiltersMenu.cancel")), 1)
4433
+ ]),
4434
+ _: 1
4435
+ }, 8, ["onClick"]),
4436
+ a(q, {
4437
+ class: "mr-2",
4438
+ color: "error",
4439
+ size: "small",
4440
+ variant: "text",
4441
+ onClick: e.onResetFilters
4442
+ }, {
4443
+ default: o(() => [
4444
+ A(I(e.t("BHotelFiltersMenu.reset")), 1)
4445
+ ]),
4446
+ _: 1
4447
+ }, 8, ["onClick"]),
4448
+ a(q, {
4449
+ color: "success",
4450
+ elevation: "0",
4451
+ size: "small",
4452
+ onClick: e.onSaveFilters
4453
+ }, {
4454
+ default: o(() => [
4455
+ A(I(e.t("BHotelFiltersMenu.apply")), 1)
4456
+ ]),
4457
+ _: 1
4458
+ }, 8, ["onClick"])
4459
+ ]),
4460
+ _: 1
4461
+ })
4462
+ ]),
4463
+ _: 1
4464
+ })
4465
+ ]),
4466
+ _: 1
4467
+ }),
4468
+ a(De, { class: "mt-12" }),
4469
+ a(et, null, {
4470
+ default: o(() => [
4471
+ a(he, null, {
4472
+ default: o(() => [
4473
+ a(Q, {
4474
+ align: "center",
4475
+ class: "px-8",
4476
+ cols: "12"
4477
+ }, {
4478
+ default: o(() => [
4479
+ x("p", ls, I(e.t("BHotelFiltersMenu.price")), 1),
4480
+ a(s, {
4481
+ modelValue: e.filterByPriceModel,
4482
+ "onUpdate:modelValue": t[0] || (t[0] = (u) => e.filterByPriceModel = u),
4483
+ currency: e.config.currency,
4484
+ "is-loading": e.isLoading,
4485
+ "price-max": e.priceMax,
4486
+ "price-min": e.priceMin,
4487
+ "step-count": e.priceHistogramStepCount
4488
+ }, null, 8, ["modelValue", "currency", "is-loading", "price-max", "price-min", "step-count"])
4489
+ ]),
4490
+ _: 1
4491
+ })
4492
+ ]),
4493
+ _: 1
4494
+ }),
4495
+ a(De, { class: "my-6 mx-12" }),
4496
+ a(he, null, {
4497
+ default: o(() => [
4498
+ a(Q, {
4499
+ align: "center",
4500
+ cols: "12"
4501
+ }, {
4502
+ default: o(() => [
4503
+ x("p", ss, I(e.t("BHotelFiltersMenu.star")), 1),
4504
+ a(d, {
4505
+ modelValue: e.filterByStarRatingModel,
4506
+ "onUpdate:modelValue": t[1] || (t[1] = (u) => e.filterByStarRatingModel = u)
4507
+ }, null, 8, ["modelValue"])
4508
+ ]),
4509
+ _: 1
4510
+ })
4511
+ ]),
4512
+ _: 1
4513
+ }),
4514
+ a(De, { class: "my-6 mx-12" }),
4515
+ a(he, null, {
4516
+ default: o(() => [
4517
+ a(Q, {
4518
+ align: "center",
4519
+ class: "py-4",
4520
+ cols: "12"
4521
+ }, {
4522
+ default: o(() => [
4523
+ x("p", os, I(e.t("BHotelFiltersMenu.review")), 1),
4524
+ a(m, {
4525
+ modelValue: e.filterByReviewRatingModel,
4526
+ "onUpdate:modelValue": t[2] || (t[2] = (u) => e.filterByReviewRatingModel = u)
4527
+ }, null, 8, ["modelValue"])
4528
+ ]),
4529
+ _: 1
4530
+ })
4531
+ ]),
4532
+ _: 1
4533
+ })
4534
+ ]),
4535
+ _: 1
4536
+ })
4537
+ ]),
4538
+ _: 1
4539
+ })
4540
+ ]),
4541
+ _: 1
4542
+ }, 8, ["modelValue", "width"]),
4543
+ a(he, {
4544
+ class: "pa-2",
4545
+ justify: "space-between"
4546
+ }, {
4547
+ default: o(() => [
4548
+ a(Q, { cols: "auto" }, {
4549
+ default: o(() => [
4550
+ a(he, { dense: "" }, {
4551
+ default: o(() => [
4552
+ a(Q, null, {
4553
+ default: o(() => [
4554
+ a(xe, {
4555
+ class: fe({
4556
+ "no-badge": e.activeFiltersNumber === 0
4557
+ }),
4558
+ bordered: "",
4559
+ color: "secondary",
4560
+ content: e.activeFiltersNumber > 0 ? e.activeFiltersNumber : void 0,
4561
+ icon: e.activeFiltersNumber > 0 ? void 0 : "fas fa-x",
4562
+ style: { cursor: "pointer" }
4563
+ }, {
4564
+ default: o(() => [
4565
+ a(q, {
4566
+ "data-attr": "hotel-offers-filter-bar-filters",
4567
+ color: "secondary",
4568
+ elevation: 0,
4569
+ size: "small",
4570
+ onClick: t[4] || (t[4] = (u) => e.isDialogOpen = !0)
4571
+ }, {
4572
+ default: o(() => [
4573
+ a(de, {
4574
+ class: "mr-1",
4575
+ size: "14"
4576
+ }, {
4577
+ default: o(() => t[10] || (t[10] = [
4578
+ A(" fas fa-sliders ")
4579
+ ])),
4580
+ _: 1,
4581
+ __: [10]
4582
+ }),
4583
+ A(I(e.t("BHotelFiltersMenu.filters")), 1)
4584
+ ]),
4585
+ _: 1
4586
+ })
4587
+ ]),
4588
+ _: 1
4589
+ }, 8, ["class", "content", "icon"])
4590
+ ]),
4591
+ _: 1
4592
+ }),
4593
+ e.isPriceFilterActive ? (R(), z(Q, {
4594
+ key: 0,
4595
+ class: "mx-1"
4596
+ }, {
4597
+ default: o(() => [
4598
+ a(g, {
4599
+ filter: e.filterByPriceModel,
4600
+ "onUpdate:filter": [
4601
+ t[5] || (t[5] = (u) => e.filterByPriceModel = u),
4602
+ e.onSaveFilters
4603
+ ],
4604
+ currency: e.config.currency,
4605
+ "is-loading": e.isLoading,
4606
+ "price-max": e.priceMax,
4607
+ "price-min": e.priceMin,
4608
+ "step-count": e.priceHistogramStepCount,
4609
+ onReset: e.resetPriceFilter
4610
+ }, null, 8, ["filter", "currency", "is-loading", "price-max", "price-min", "step-count", "onUpdate:filter", "onReset"])
4611
+ ]),
4612
+ _: 1
4613
+ })) : W("", !0),
4614
+ e.isStarRatingFilterActive ? (R(), z(Q, {
4615
+ key: 1,
4616
+ class: "mx-1"
4617
+ }, {
4618
+ default: o(() => [
4619
+ a(c, {
4620
+ filter: e.filterByStarRatingModel,
4621
+ "onUpdate:filter": [
4622
+ t[6] || (t[6] = (u) => e.filterByStarRatingModel = u),
4623
+ e.onSaveFilters
4624
+ ],
4625
+ onReset: e.resetStarRatingFilter
4626
+ }, null, 8, ["filter", "onUpdate:filter", "onReset"])
4627
+ ]),
4628
+ _: 1
4629
+ })) : W("", !0),
4630
+ e.isReviewRatingFilterActive ? (R(), z(Q, {
4631
+ key: 2,
4632
+ class: "mx-1"
4633
+ }, {
4634
+ default: o(() => [
4635
+ a(b, {
4636
+ filter: e.filterByReviewRatingModel,
4637
+ "onUpdate:filter": [
4638
+ t[7] || (t[7] = (u) => e.filterByReviewRatingModel = u),
4639
+ e.onSaveFilters
4640
+ ],
4641
+ onReset: e.resetReviewRatingFilter
4642
+ }, null, 8, ["filter", "onUpdate:filter", "onReset"])
4643
+ ]),
4644
+ _: 1
4645
+ })) : W("", !0)
4646
+ ]),
4647
+ _: 1
4648
+ })
4649
+ ]),
4650
+ _: 1
4651
+ }),
4652
+ e.withSort ? (R(), z(Q, {
4653
+ key: 0,
4654
+ cols: "auto"
4655
+ }, {
4656
+ default: o(() => [
4657
+ a(B, {
4658
+ modelValue: e.sortByModel,
4659
+ "onUpdate:modelValue": t[8] || (t[8] = (u) => e.sortByModel = u),
4660
+ attach: e.$el,
4661
+ "filter-key": e.FilterName.SortBy,
4662
+ left: ""
4663
+ }, null, 8, ["modelValue", "attach", "filter-key"])
4664
+ ]),
4665
+ _: 1
4666
+ })) : W("", !0)
4667
+ ]),
4668
+ _: 1
4669
+ })
4670
+ ]);
4671
+ }
4672
+ typeof Vt == "function" && Vt(ta);
4673
+ const xs = /* @__PURE__ */ le(ta, [["render", rs], ["__scopeId", "data-v-1b9a456b"]]);
4674
+ na("css/revolugo.bhoteloffersfilterbar.BcnNI4uS.css");
4675
+ export {
4676
+ Us as B,
4677
+ Ds as D,
4678
+ Ei as H,
4679
+ pe as a,
4680
+ zs as b,
4681
+ xs as c,
4682
+ Hs as p,
4683
+ Ns as u
4684
+ };
4685
+ //# sourceMappingURL=revolugo.bhoteloffersfilterbar.Bryijtf6.min.js.map