@revolugo/elements 5.5.3 → 5.5.4-beta.0
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/css/fonts.css +1 -0
- package/dist/css/revolugo.bdaterangepicker.DEh20utH.css +1 -0
- package/dist/css/revolugo.bhotelroomsdetails.4XsxkvH7.css +1 -0
- package/dist/css/revolugo.bhotelsearchbar.dwYB1gUC.css +1 -0
- package/dist/css/revolugo.bookingdetailssidebar.tDtXpaIj.css +1 -0
- package/dist/css/revolugo.bphoneinput.Kq_-XiGI.css +1 -0
- package/dist/css/revolugo.bstarrating.nzH7iii4.css +1 -0
- package/dist/css/revolugo.btag.Bdbqb_8a.css +1 -0
- package/dist/css/revolugo.common.BSIsYREh.css +1 -0
- package/dist/css/revolugo.creditcardform.BGPUxkRC.css +1 -0
- package/dist/css/revolugo.creditcardpayment.0MNnDloZ.css +1 -0
- package/dist/css/revolugo.currencypicker.BRYsKdMu.css +1 -0
- package/dist/css/revolugo.fullbookingflow.BHV7_MhK.css +1 -0
- package/dist/css/revolugo.hotel-offer.CEd50mBT.css +1 -0
- package/dist/css/revolugo.hoteldescriptionview.9ofE1uWG.css +1 -0
- package/dist/css/revolugo.hoteloffersmap.0LnWfOu_.css +1 -0
- package/dist/css/revolugo.hoteloffersview.MWOmwEwv.css +1 -0
- package/dist/css/revolugo.hotelroomofferlist.xJfKaofV.css +1 -0
- package/dist/css/revolugo.hotelroomoffersbookingflow.PPEIqHuM.css +1 -0
- package/dist/css/revolugo.hotelroomoffersview.B8Y-2QYc.css +1 -0
- package/dist/css/revolugo.index.BMkl7a3p.css +1 -0
- package/dist/css/revolugo.index.CFW4Oklv.css +1 -0
- package/dist/css/revolugo.index.vq4xksqn.css +1 -0
- package/dist/css/revolugo.langpicker.B3TsOwUq.css +1 -0
- package/dist/css/revolugo.parsed-height.Xzhpy3D3.css +1 -0
- package/dist/css/revolugo.parsed-props.C3kOvm7T.css +1 -0
- package/dist/css/revolugo.prebookform.DBm2B4rS.css +1 -0
- package/dist/css/revolugo.revolugo-config.Dg8v1l3c.css +5 -0
- package/dist/css/revolugo.storybooktoolbar.CVnww0dZ.css +1 -0
- package/dist/css/revolugo.termsandconditions.DV2YnGzG.css +1 -0
- package/dist/css/revolugo.valert.BzcMswjJ.css +1 -0
- package/dist/css/revolugo.vautocomplete.OMX_yAge.css +1 -0
- package/dist/css/revolugo.vbadge.CiK_DSkI.css +1 -0
- package/dist/css/revolugo.vbtn.By46MJOU.css +1 -0
- package/dist/css/revolugo.vcard.DmB53ZNL.css +1 -0
- package/dist/css/revolugo.vchip.BdAdP6lC.css +1 -0
- package/dist/css/revolugo.vdialog.C02Cvwul.css +1 -0
- package/dist/css/revolugo.vexpansionpanelheader.B2eKo8Lo.css +1 -0
- package/dist/css/revolugo.vinput.SfhpXNi0.css +1 -0
- package/dist/css/revolugo.vitemgroup.EbHsz8Rr.css +1 -0
- package/dist/css/revolugo.vlistitem.BzwNE1YK.css +1 -0
- package/dist/css/revolugo.vmenu.BKE0IO4q.css +1 -0
- package/dist/css/revolugo.vselect.DljSkk6y.css +1 -0
- package/dist/css/revolugo.vsheet.Dtdo2Rps.css +1 -0
- package/dist/css/revolugo.vskeletonloader.BpGoaAbZ.css +1 -0
- package/dist/css/revolugo.vslidegroup.D5TIbmaw.css +1 -0
- package/dist/css/revolugo.vsnackbar.DTAXPYkr.css +1 -0
- package/dist/css/revolugo.vtextfield.BliJY6uv.css +1 -0
- package/dist/css/revolugo.vtoolbar.DQsezjcM.css +1 -0
- package/dist/css/revolugo.vtooltip.B_oOB9pj.css +1 -0
- package/dist/css/revolugo.vuetify.BpIoHlAi.css +1 -0
- package/dist/css/revolugo.webcomponentwrapper.BRZRuwZ0.css +1 -0
- package/dist/index.es.min.js +14187 -0
- package/dist/index.es.min.js.map +1 -0
- package/dist/index.min.js +65 -1
- package/dist/index.min.js.map +1 -0
- package/dist/revolugo.banktransferdetails.CbUr_kHV.min.js +105 -0
- package/dist/revolugo.bbreakfastoptionbadge.DND6bz7J.min.js +62 -0
- package/dist/revolugo.bdaterangepicker.DwXWu7y_.min.js +1351 -0
- package/dist/revolugo.bformattedamount.D4xCyTcv.min.js +82 -0
- package/dist/revolugo.bhotelroomsdetails.8yoNt-KM.min.js +213 -0
- package/dist/revolugo.bhotelsearchbar.Dm84Zzn5.min.js +446 -0
- package/dist/revolugo.booking-api-client.Du5goV4n.min.js +7672 -0
- package/dist/revolugo.bookingdetailssidebar.AR2t6BHt.min.js +28 -0
- package/dist/revolugo.bookingdetailssidebar.DY-YF6-6.min.js +242 -0
- package/dist/revolugo.bookingmanager.KlY3kOLa.min.js +404 -0
- package/dist/revolugo.bphoneinput.Qc_UlGIL.min.js +1935 -0
- package/dist/revolugo.bpricesummaryskeleton.BAzD7raP.min.js +47 -0
- package/dist/revolugo.breakpoint-service.CwWRBzMQ.min.js +65 -0
- package/dist/revolugo.bstarrating.B-PUaeDZ.min.js +173 -0
- package/dist/revolugo.btag.DD6eI8G4.min.js +68 -0
- package/dist/revolugo.cancellationpoliciesbadge.BTwUNf7h.min.js +76 -0
- package/dist/revolugo.cancellationpoliciesbadge.DA_X-aEr.min.js +28 -0
- package/dist/revolugo.cancellationpolicieslist.BweNL3Zh.min.js +316 -0
- package/dist/revolugo.cancellationpolicieslist.XF-OE6mm.min.js +28 -0
- package/dist/revolugo.common.D4pnatuu.min.js +34 -0
- package/dist/revolugo.creditcardform.B0ZACL31.min.js +28 -0
- package/dist/revolugo.creditcardform.Bmpk72uW.min.js +2047 -0
- package/dist/revolugo.creditcardpayment.DDAlWRp0.min.js +28 -0
- package/dist/revolugo.creditcardpayment.Dnr2WHEp.min.js +288 -0
- package/dist/revolugo.currencypicker.BxCxn4FE.min.js +122 -0
- package/dist/revolugo.currencypickerbtn.D8fIyw_x.min.js +121 -0
- package/dist/revolugo.currencypickerbtn.DoEdhphF.min.js +28 -0
- package/dist/revolugo.dialog-attach.05NirMLv.min.js +27 -0
- package/dist/revolugo.en-us.BP-UxrRq.min.js +1171 -0
- package/dist/revolugo.event-bus.CYLYgD3Y.min.js +37 -0
- package/dist/revolugo.fastbookingflow.BJmesPRr.min.js +28 -0
- package/dist/revolugo.fr-fr.CF_knN5b.min.js +1177 -0
- package/dist/revolugo.fullbookingflow.CBjvuZLP.min.js +239 -0
- package/dist/revolugo.hotel-offer.JfkzuZyf.min.js +608 -0
- package/dist/revolugo.hoteldescriptionview.C9XjZcdv.min.js +2174 -0
- package/dist/revolugo.hoteldescriptionview.wVex0D_a.min.js +28 -0
- package/dist/revolugo.hotelofferitemlayout.BrulX_X4.min.js +64 -0
- package/dist/revolugo.hotelofferlist.CcITpxz4.min.js +28 -0
- package/dist/revolugo.hotelofferlist.DJ8B6BpP.min.js +3450 -0
- package/dist/revolugo.hotelofferrequestcreator.CiNpCqiH.min.js +225 -0
- package/dist/revolugo.hoteloffersearchmenu.CnVV4htq.min.js +54 -0
- package/dist/revolugo.hoteloffersmap.C1N5EZ0d.min.js +28 -0
- package/dist/revolugo.hoteloffersmap.gHrmWy8H.min.js +8737 -0
- package/dist/revolugo.hoteloffersview.BCvASsRk.min.js +157 -0
- package/dist/revolugo.hoteloffersview.DfbOUEie.min.js +28 -0
- package/dist/revolugo.hotelroomofferlist.BS32D6Sj.min.js +28 -0
- package/dist/revolugo.hotelroomofferlist.BltT6U-0.min.js +1336 -0
- package/dist/revolugo.hotelroomofferrequestcreator.CbISsNdn.min.js +225 -0
- package/dist/revolugo.hotelroomoffersbookingflow.BuMF7NU2.min.js +679 -0
- package/dist/revolugo.hotelroomoffersearchmenu.Bsg_FnJp.min.js +29 -0
- package/dist/revolugo.hotelroomoffersearchmenu.DqVQ1oKf.min.js +38 -0
- package/dist/revolugo.hotelroomoffersview.4NC1efEJ.min.js +124 -0
- package/dist/revolugo.hotelroomoffersview.DfmNWUJQ.min.js +28 -0
- package/dist/revolugo.i18n.DF3U6VhD.min.js +11263 -0
- package/dist/revolugo.index.A8BtC3Nq.min.js +322 -0
- package/dist/revolugo.index.BEcLuOn-.min.js +281 -0
- package/dist/revolugo.index.BUUmIL9V.min.js +68 -0
- package/dist/revolugo.index.BwvidmNu.min.js +128 -0
- package/dist/revolugo.index.CQC_pZJn.min.js +15 -0
- package/dist/revolugo.index.CcRooNT6.min.js +270 -0
- package/dist/revolugo.index.Cn5YTzy6.min.js +43 -0
- package/dist/revolugo.index.Cn8GgIte.min.js +142 -0
- package/dist/revolugo.index.DTZNxZHf.min.js +9 -0
- package/dist/revolugo.index.DfBSjbYu.min.js +42 -0
- package/dist/revolugo.index.GdvjICDR.min.js +13 -0
- package/dist/revolugo.index.owaXEEBO.min.js +9 -0
- package/dist/revolugo.index.sTY3URQu.min.js +390 -0
- package/dist/revolugo.index.tY8MFB9m.min.js +161 -0
- package/dist/revolugo.langpicker.yr7wtnZM.min.js +103 -0
- package/dist/revolugo.langpickerbtn.4XN3tTRs.min.js +28 -0
- package/dist/revolugo.langpickerbtn.BHhYWwCD.min.js +111 -0
- package/dist/revolugo.localizedformat.Wox_NThB.min.js +47 -0
- package/dist/revolugo.min.js +260 -7
- package/dist/revolugo.parsed-height.DRzHRmIo.min.js +2492 -0
- package/dist/revolugo.parsed-props.B_x1Ob04.min.js +95 -0
- package/dist/revolugo.prebookform.CtTKl-QM.min.js +483 -0
- package/dist/revolugo.prebookform.DMX0_9De.min.js +28 -0
- package/dist/revolugo.revolugo-config.Bs_HF2Eu.min.js +1707 -0
- package/dist/revolugo.roominglisteditor.BpdFoplV.min.js +201 -0
- package/dist/revolugo.roominglisteditor.DxmH3gRW.min.js +28 -0
- package/dist/revolugo.sentry.Bc7mnscp.min.js +12146 -0
- package/dist/revolugo.store.DPvvq0Rz.min.js +1718 -0
- package/dist/revolugo.storybooktoolbar.C_y4Nf-_.min.js +300 -0
- package/dist/revolugo.termsandconditions.BIHsJaCg.min.js +27 -0
- package/dist/revolugo.termsandconditions.D2C1eZuC.min.js +162 -0
- package/dist/revolugo.typed-mixins.B_7wrdes.min.js +8 -0
- package/dist/revolugo.valert.CMzvSBzo.min.js +194 -0
- package/dist/revolugo.vautocomplete.C-5OLCEj.min.js +255 -0
- package/dist/revolugo.vbadge.xQq9jf9W.min.js +172 -0
- package/dist/revolugo.vbtn.CP4AezmI.min.js +286 -0
- package/dist/revolugo.vcard.Cy5A2_pV.min.js +80 -0
- package/dist/revolugo.vchip.BcIMSmkF.min.js +157 -0
- package/dist/revolugo.vdialog.BAexO59W.min.js +341 -0
- package/dist/revolugo.vexpansionpanelheader.D9ENep1_.min.js +263 -0
- package/dist/revolugo.vform.oeljK9Tu.min.js +98 -0
- package/dist/revolugo.vinput.CDpcVlCU.min.js +509 -0
- package/dist/revolugo.vitemgroup.DyY_3pfW.min.js +168 -0
- package/dist/revolugo.vlistitem.CrJxrMpP.min.js +204 -0
- package/dist/revolugo.vmenu.CtMz9t6s.min.js +349 -0
- package/dist/revolugo.vselect.UcLk_jBF.min.js +859 -0
- package/dist/revolugo.vsheet.C1tyLBBd.min.js +120 -0
- package/dist/revolugo.vskeletonloader.CMMMMGzf.min.js +172 -0
- package/dist/revolugo.vslidegroup.BXF0FLd1.min.js +650 -0
- package/dist/revolugo.vsnackbar.xIK_rBpB.min.js +178 -0
- package/dist/revolugo.vtextfield.D2qOTbGQ.min.js +438 -0
- package/dist/revolugo.vtoolbar.D3HhuFrj.min.js +364 -0
- package/dist/revolugo.vtooltip.B7xN8tzo.min.js +168 -0
- package/dist/revolugo.vuetify.yojzDMFk.min.js +865 -0
- package/dist/revolugo.watch-list.cR2ZEwBA.min.js +44 -0
- package/dist/revolugo.webcomponentwrapper.-wnE6sKX.min.js +777 -0
- package/package.json +25 -32
- package/dist/css/revolugo.0.min.css +0 -5
- package/dist/css/revolugo.1.min.css +0 -1
- package/dist/css/revolugo.11.min.css +0 -1
- package/dist/css/revolugo.12.min.css +0 -1
- package/dist/css/revolugo.13.min.css +0 -1
- package/dist/css/revolugo.14.min.css +0 -1
- package/dist/css/revolugo.15.min.css +0 -1
- package/dist/css/revolugo.16.min.css +0 -1
- package/dist/css/revolugo.17.min.css +0 -1
- package/dist/css/revolugo.18.min.css +0 -1
- package/dist/css/revolugo.19.min.css +0 -1
- package/dist/css/revolugo.2.min.css +0 -1
- package/dist/css/revolugo.20.min.css +0 -1
- package/dist/css/revolugo.21.min.css +0 -1
- package/dist/css/revolugo.22.min.css +0 -1
- package/dist/css/revolugo.23.min.css +0 -1
- package/dist/css/revolugo.24.min.css +0 -1
- package/dist/css/revolugo.25.min.css +0 -1
- package/dist/css/revolugo.26.min.css +0 -1
- package/dist/css/revolugo.27.min.css +0 -1
- package/dist/css/revolugo.28.min.css +0 -1
- package/dist/css/revolugo.29.min.css +0 -1
- package/dist/css/revolugo.30.min.css +0 -1
- package/dist/css/revolugo.31.min.css +0 -1
- package/dist/css/revolugo.32.min.css +0 -1
- package/dist/css/revolugo.33.min.css +0 -1
- package/dist/css/revolugo.34.min.css +0 -1
- package/dist/css/revolugo.4.min.css +0 -1
- package/dist/css/revolugo.5.min.css +0 -1
- package/dist/css/revolugo.6.min.css +0 -1
- package/dist/css/revolugo.7.min.css +0 -1
- package/dist/css/revolugo.fonts.min.css +0 -1
- package/dist/fonts/amenities.2aad1d12.woff +0 -0
- package/dist/fonts/amenities.9adae269.ttf +0 -0
- package/dist/fonts/amenities.a9bf50f8.svg +0 -42
- package/dist/fonts/amenities.bd6b3a4a.eot +0 -0
- package/dist/fonts/beds.2b8e38c8.svg +0 -12
- package/dist/img/apst.c1092975.png +0 -0
- package/dist/img/apst.ec7669f2.png +0 -0
- package/dist/img/atout-france.72107e30.png +0 -0
- package/dist/img/atout-france.df038f22.png +0 -0
- package/dist/img/revolugo.179c459d.png +0 -0
- package/dist/img/revolugo.e0879dcc.png +0 -0
- package/dist/img/stripe.405543e2.png +0 -0
- package/dist/img/stripe.c3e16f9f.png +0 -0
- package/dist/revolugo.0.min.js +0 -18
- package/dist/revolugo.1.min.js +0 -1
- package/dist/revolugo.11.min.js +0 -134
- package/dist/revolugo.12.min.js +0 -19
- package/dist/revolugo.13.min.js +0 -14
- package/dist/revolugo.14.min.js +0 -19
- package/dist/revolugo.15.min.js +0 -139
- package/dist/revolugo.16.min.js +0 -14
- package/dist/revolugo.17.min.js +0 -14
- package/dist/revolugo.18.min.js +0 -1
- package/dist/revolugo.19.min.js +0 -1
- package/dist/revolugo.2.min.js +0 -1
- package/dist/revolugo.20.min.js +0 -1
- package/dist/revolugo.21.min.js +0 -116
- package/dist/revolugo.22.min.js +0 -1
- package/dist/revolugo.23.min.js +0 -1
- package/dist/revolugo.24.min.js +0 -1
- package/dist/revolugo.25.min.js +0 -1
- package/dist/revolugo.26.min.js +0 -1
- package/dist/revolugo.27.min.js +0 -1
- package/dist/revolugo.28.min.js +0 -116
- package/dist/revolugo.29.min.js +0 -1
- package/dist/revolugo.30.min.js +0 -1
- package/dist/revolugo.31.min.js +0 -1
- package/dist/revolugo.32.min.js +0 -1
- package/dist/revolugo.33.min.js +0 -1
- package/dist/revolugo.34.min.js +0 -1
- package/dist/revolugo.35.min.js +0 -1
- package/dist/revolugo.36.min.js +0 -1
- package/dist/revolugo.4.min.js +0 -1
- package/dist/revolugo.5.min.js +0 -1
- package/dist/revolugo.6.min.js +0 -1
- package/dist/revolugo.7.min.js +0 -1
- package/dist/revolugo.en-US.min.js +0 -1
- package/dist/revolugo.fonts.min.js +0 -1
- package/dist/revolugo.fr-FR.min.js +0 -1
@@ -0,0 +1,2492 @@
|
|
1
|
+
import { q as Bt, J as T, h as x, y as nt, d as rt, K as C, k as kt, j as G, E as D } from "./revolugo.revolugo-config.Bs_HF2Eu.min.js";
|
2
|
+
import { V as h, o as Rt, I as wt, d as St, e as Ot, P as Y, Q as Tt, R as It, A as j, S as q, N as at } from "./revolugo.i18n.DF3U6VhD.min.js";
|
3
|
+
import { C as Ft } from "./revolugo.cancellationpoliciesbadge.BTwUNf7h.min.js";
|
4
|
+
import { H as Vt } from "./revolugo.hotelofferitemlayout.BrulX_X4.min.js";
|
5
|
+
import { B as At } from "./revolugo.bbreakfastoptionbadge.DND6bz7J.min.js";
|
6
|
+
import { m as B, C as I, T as ot, n as m, h as Dt, B as Et, l as b, _ as v, a as u } from "./revolugo.webcomponentwrapper.-wnE6sKX.min.js";
|
7
|
+
import { _ as l } from "./revolugo.vbtn.CP4AezmI.min.js";
|
8
|
+
import { S as Lt, _ as g } from "./revolugo.index.sTY3URQu.min.js";
|
9
|
+
import { B as Nt } from "./revolugo.bhotelroomsdetails.8yoNt-KM.min.js";
|
10
|
+
import { B as Ht } from "./revolugo.hotelroomofferlist.BltT6U-0.min.js";
|
11
|
+
import { a as Pt, b as zt, B as Wt } from "./revolugo.bstarrating.B-PUaeDZ.min.js";
|
12
|
+
import { B as Ut } from "./revolugo.btag.DD6eI8G4.min.js";
|
13
|
+
import { H as Gt, B as Yt, b as jt, c as qt } from "./revolugo.hoteldescriptionview.C9XjZcdv.min.js";
|
14
|
+
import { b as M } from "./revolugo.breakpoint-service.CwWRBzMQ.min.js";
|
15
|
+
import { d as lt } from "./revolugo.dialog-attach.05NirMLv.min.js";
|
16
|
+
import { a as ct, d as $, g as d, F as c, P as K, R as X, b as Z, D as w } from "./revolugo.store.DPvvq0Rz.min.js";
|
17
|
+
import { H as Kt } from "./revolugo.hotelroomoffersview.4NC1efEJ.min.js";
|
18
|
+
import { b as E, c as Xt, a as Zt, m as Jt, _ as Qt } from "./revolugo.hotel-offer.JfkzuZyf.min.js";
|
19
|
+
import { e as te, a as ee } from "./revolugo.index.Cn8GgIte.min.js";
|
20
|
+
import { O as ie, _ as se } from "./revolugo.vdialog.BAexO59W.min.js";
|
21
|
+
import { _ as k } from "./revolugo.vcard.Cy5A2_pV.min.js";
|
22
|
+
import { V as P, a as z, b as ne } from "./revolugo.index.owaXEEBO.min.js";
|
23
|
+
import { _ as ut } from "./revolugo.vtooltip.B7xN8tzo.min.js";
|
24
|
+
import { a as re, V as H, b as ae } from "./revolugo.index.DTZNxZHf.min.js";
|
25
|
+
import { _ as oe } from "./revolugo.vautocomplete.C-5OLCEj.min.js";
|
26
|
+
import { B as ht } from "./revolugo.bformattedamount.D4xCyTcv.min.js";
|
27
|
+
import { V as J } from "./revolugo.vinput.CDpcVlCU.min.js";
|
28
|
+
import { L as Q } from "./revolugo.index.BEcLuOn-.min.js";
|
29
|
+
import { C as dt, R as le, T as ce } from "./revolugo.vuetify.yojzDMFk.min.js";
|
30
|
+
import { _ as tt } from "./revolugo.vtextfield.D2qOTbGQ.min.js";
|
31
|
+
import { _ as O } from "./revolugo.parsed-props.B_x1Ob04.min.js";
|
32
|
+
import { _ as F } from "./revolugo.vmenu.CtMz9t6s.min.js";
|
33
|
+
import { _ as V } from "./revolugo.vbadge.xQq9jf9W.min.js";
|
34
|
+
import { D as ue, a as he } from "./revolugo.index.A8BtC3Nq.min.js";
|
35
|
+
import { R as de } from "./revolugo.index.tY8MFB9m.min.js";
|
36
|
+
import { Y as _, U as y } from "./revolugo.booking-api-client.Du5goV4n.min.js";
|
37
|
+
import { B as L } from "./revolugo.vitemgroup.DyY_3pfW.min.js";
|
38
|
+
import { a as me } from "./revolugo.vlistitem.CrJxrMpP.min.js";
|
39
|
+
import { a as pe } from "./revolugo.vtoolbar.D3HhuFrj.min.js";
|
40
|
+
import { S as fe, a as ve } from "./revolugo.index.BUUmIL9V.min.js";
|
41
|
+
import { M as mt } from "./revolugo.vslidegroup.BXF0FLd1.min.js";
|
42
|
+
function Ct(e) {
|
43
|
+
try {
|
44
|
+
if (typeof document < "u") {
|
45
|
+
window.REVOLUGO_ELEMENTS_STYLES = window.REVOLUGO_ELEMENTS_STYLES || {
|
46
|
+
sheets: [],
|
47
|
+
components: []
|
48
|
+
};
|
49
|
+
const t = import.meta.url, i = t.slice(0, t.lastIndexOf("/") + 1) + e;
|
50
|
+
window.REVOLUGO_ELEMENTS_STYLES.sheets.push(i);
|
51
|
+
for (const s of REVOLUGO_ELEMENTS_STYLES.components)
|
52
|
+
s(i);
|
53
|
+
if (e.indexOf("fonts") >= 0) {
|
54
|
+
const s = document.createElement("link");
|
55
|
+
s.rel = "stylesheet", linK.href = i, document.head.appendChild(s);
|
56
|
+
}
|
57
|
+
}
|
58
|
+
} catch (t) {
|
59
|
+
console.error("[revolugo-elements] ", t);
|
60
|
+
}
|
61
|
+
}
|
62
|
+
const ge = B(L, I).extend({
|
63
|
+
name: "v-list-item-group",
|
64
|
+
provide() {
|
65
|
+
return {
|
66
|
+
isInGroup: !0,
|
67
|
+
listItemGroup: this
|
68
|
+
};
|
69
|
+
},
|
70
|
+
computed: {
|
71
|
+
classes() {
|
72
|
+
return {
|
73
|
+
...L.options.computed.classes.call(this),
|
74
|
+
"v-list-item-group": !0
|
75
|
+
};
|
76
|
+
}
|
77
|
+
},
|
78
|
+
methods: {
|
79
|
+
genData() {
|
80
|
+
return this.setTextColor(this.color, {
|
81
|
+
...L.options.methods.genData.call(this),
|
82
|
+
attrs: {
|
83
|
+
role: "listbox"
|
84
|
+
}
|
85
|
+
});
|
86
|
+
}
|
87
|
+
}
|
88
|
+
}), _e = B(E, I).extend({
|
89
|
+
name: "v-btn-toggle",
|
90
|
+
props: {
|
91
|
+
backgroundColor: String,
|
92
|
+
borderless: Boolean,
|
93
|
+
dense: Boolean,
|
94
|
+
group: Boolean,
|
95
|
+
rounded: Boolean,
|
96
|
+
shaped: Boolean,
|
97
|
+
tile: Boolean
|
98
|
+
},
|
99
|
+
computed: {
|
100
|
+
classes() {
|
101
|
+
return {
|
102
|
+
...E.options.computed.classes.call(this),
|
103
|
+
"v-btn-toggle": !0,
|
104
|
+
"v-btn-toggle--borderless": this.borderless,
|
105
|
+
"v-btn-toggle--dense": this.dense,
|
106
|
+
"v-btn-toggle--group": this.group,
|
107
|
+
"v-btn-toggle--rounded": this.rounded,
|
108
|
+
"v-btn-toggle--shaped": this.shaped,
|
109
|
+
"v-btn-toggle--tile": this.tile,
|
110
|
+
...this.themeClasses
|
111
|
+
};
|
112
|
+
}
|
113
|
+
},
|
114
|
+
methods: {
|
115
|
+
genData() {
|
116
|
+
const e = this.setTextColor(this.color, {
|
117
|
+
...E.options.methods.genData.call(this)
|
118
|
+
});
|
119
|
+
return this.group ? e : this.setBackgroundColor(this.backgroundColor, e);
|
120
|
+
}
|
121
|
+
}
|
122
|
+
}), N = B(
|
123
|
+
J,
|
124
|
+
Q
|
125
|
+
/* @vue/component */
|
126
|
+
).extend({
|
127
|
+
name: "v-slider",
|
128
|
+
directives: {
|
129
|
+
ClickOutside: dt
|
130
|
+
},
|
131
|
+
mixins: [Q],
|
132
|
+
props: {
|
133
|
+
disabled: Boolean,
|
134
|
+
inverseLabel: Boolean,
|
135
|
+
max: {
|
136
|
+
type: [Number, String],
|
137
|
+
default: 100
|
138
|
+
},
|
139
|
+
min: {
|
140
|
+
type: [Number, String],
|
141
|
+
default: 0
|
142
|
+
},
|
143
|
+
step: {
|
144
|
+
type: [Number, String],
|
145
|
+
default: 1
|
146
|
+
},
|
147
|
+
thumbColor: String,
|
148
|
+
thumbLabel: {
|
149
|
+
type: [Boolean, String],
|
150
|
+
default: void 0,
|
151
|
+
validator: (e) => typeof e == "boolean" || e === "always"
|
152
|
+
},
|
153
|
+
thumbSize: {
|
154
|
+
type: [Number, String],
|
155
|
+
default: 32
|
156
|
+
},
|
157
|
+
tickLabels: {
|
158
|
+
type: Array,
|
159
|
+
default: () => []
|
160
|
+
},
|
161
|
+
ticks: {
|
162
|
+
type: [Boolean, String],
|
163
|
+
default: !1,
|
164
|
+
validator: (e) => typeof e == "boolean" || e === "always"
|
165
|
+
},
|
166
|
+
tickSize: {
|
167
|
+
type: [Number, String],
|
168
|
+
default: 2
|
169
|
+
},
|
170
|
+
trackColor: String,
|
171
|
+
trackFillColor: String,
|
172
|
+
value: [Number, String],
|
173
|
+
vertical: Boolean
|
174
|
+
},
|
175
|
+
data: () => ({
|
176
|
+
app: null,
|
177
|
+
oldValue: null,
|
178
|
+
thumbPressed: !1,
|
179
|
+
mouseTimeout: -1,
|
180
|
+
isFocused: !1,
|
181
|
+
isActive: !1,
|
182
|
+
noClick: !1,
|
183
|
+
startOffset: 0
|
184
|
+
}),
|
185
|
+
computed: {
|
186
|
+
classes() {
|
187
|
+
return {
|
188
|
+
...J.options.computed.classes.call(this),
|
189
|
+
"v-input__slider": !0,
|
190
|
+
"v-input__slider--vertical": this.vertical,
|
191
|
+
"v-input__slider--inverse-label": this.inverseLabel
|
192
|
+
};
|
193
|
+
},
|
194
|
+
internalValue: {
|
195
|
+
get() {
|
196
|
+
return this.lazyValue;
|
197
|
+
},
|
198
|
+
set(e) {
|
199
|
+
e = isNaN(e) ? this.minValue : e;
|
200
|
+
const t = this.roundValue(Math.min(Math.max(e, this.minValue), this.maxValue));
|
201
|
+
t !== this.lazyValue && (this.lazyValue = t, this.$emit("input", t));
|
202
|
+
}
|
203
|
+
},
|
204
|
+
trackTransition() {
|
205
|
+
return this.thumbPressed ? this.showTicks || this.stepNumeric ? "0.1s cubic-bezier(0.25, 0.8, 0.5, 1)" : "none" : "";
|
206
|
+
},
|
207
|
+
minValue() {
|
208
|
+
return parseFloat(this.min);
|
209
|
+
},
|
210
|
+
maxValue() {
|
211
|
+
return parseFloat(this.max);
|
212
|
+
},
|
213
|
+
stepNumeric() {
|
214
|
+
return this.step > 0 ? parseFloat(this.step) : 0;
|
215
|
+
},
|
216
|
+
inputWidth() {
|
217
|
+
const e = (this.roundValue(this.internalValue) - this.minValue) / (this.maxValue - this.minValue) * 100;
|
218
|
+
return isNaN(e) ? 0 : e;
|
219
|
+
},
|
220
|
+
trackFillStyles() {
|
221
|
+
const e = this.vertical ? "bottom" : "left", t = this.vertical ? "top" : "right", i = this.vertical ? "height" : "width", s = this.$vuetify.rtl ? "auto" : "0", n = this.$vuetify.rtl ? "0" : "auto", a = this.isDisabled ? `calc(${this.inputWidth}% - 10px)` : `${this.inputWidth}%`;
|
222
|
+
return {
|
223
|
+
transition: this.trackTransition,
|
224
|
+
[e]: s,
|
225
|
+
[t]: n,
|
226
|
+
[i]: a
|
227
|
+
};
|
228
|
+
},
|
229
|
+
trackStyles() {
|
230
|
+
const e = this.vertical ? this.$vuetify.rtl ? "bottom" : "top" : this.$vuetify.rtl ? "left" : "right", t = this.vertical ? "height" : "width", i = "0px", s = this.isDisabled ? `calc(${100 - this.inputWidth}% - 10px)` : `calc(${100 - this.inputWidth}%)`;
|
231
|
+
return {
|
232
|
+
transition: this.trackTransition,
|
233
|
+
[e]: i,
|
234
|
+
[t]: s
|
235
|
+
};
|
236
|
+
},
|
237
|
+
showTicks() {
|
238
|
+
return this.tickLabels.length > 0 || !!(!this.isDisabled && this.stepNumeric && this.ticks);
|
239
|
+
},
|
240
|
+
numTicks() {
|
241
|
+
return Math.ceil((this.maxValue - this.minValue) / this.stepNumeric);
|
242
|
+
},
|
243
|
+
showThumbLabel() {
|
244
|
+
return !this.isDisabled && !!(this.thumbLabel || this.$scopedSlots["thumb-label"]);
|
245
|
+
},
|
246
|
+
computedTrackColor() {
|
247
|
+
if (!this.isDisabled)
|
248
|
+
return this.trackColor ? this.trackColor : this.isDark ? this.validationState : this.validationState || "primary lighten-3";
|
249
|
+
},
|
250
|
+
computedTrackFillColor() {
|
251
|
+
if (!this.isDisabled)
|
252
|
+
return this.trackFillColor ? this.trackFillColor : this.validationState || this.computedColor;
|
253
|
+
},
|
254
|
+
computedThumbColor() {
|
255
|
+
return this.thumbColor ? this.thumbColor : this.validationState || this.computedColor;
|
256
|
+
}
|
257
|
+
},
|
258
|
+
watch: {
|
259
|
+
min(e) {
|
260
|
+
const t = parseFloat(e);
|
261
|
+
t > this.internalValue && this.$emit("input", t);
|
262
|
+
},
|
263
|
+
max(e) {
|
264
|
+
const t = parseFloat(e);
|
265
|
+
t < this.internalValue && this.$emit("input", t);
|
266
|
+
},
|
267
|
+
value: {
|
268
|
+
handler(e) {
|
269
|
+
this.internalValue = e;
|
270
|
+
},
|
271
|
+
immediate: !0
|
272
|
+
}
|
273
|
+
},
|
274
|
+
mounted() {
|
275
|
+
this.app = this.$el.closest("[data-app]") || Bt("Missing v-app or a non-body wrapping element with the [data-app] attribute", this);
|
276
|
+
},
|
277
|
+
methods: {
|
278
|
+
genDefaultSlot() {
|
279
|
+
const e = [this.genLabel()], t = this.genSlider();
|
280
|
+
return this.inverseLabel ? e.unshift(t) : e.push(t), e.push(this.genProgress()), e;
|
281
|
+
},
|
282
|
+
genSlider() {
|
283
|
+
return this.$createElement("div", {
|
284
|
+
class: {
|
285
|
+
"v-slider": !0,
|
286
|
+
"v-slider--horizontal": !this.vertical,
|
287
|
+
"v-slider--vertical": this.vertical,
|
288
|
+
"v-slider--focused": this.isFocused,
|
289
|
+
"v-slider--active": this.isActive,
|
290
|
+
"v-slider--disabled": this.isDisabled,
|
291
|
+
"v-slider--readonly": this.isReadonly,
|
292
|
+
...this.themeClasses
|
293
|
+
},
|
294
|
+
directives: [{
|
295
|
+
name: "click-outside",
|
296
|
+
value: this.onBlur
|
297
|
+
}],
|
298
|
+
on: {
|
299
|
+
click: this.onSliderClick,
|
300
|
+
mousedown: this.onSliderMouseDown,
|
301
|
+
touchstart: this.onSliderMouseDown
|
302
|
+
}
|
303
|
+
}, this.genChildren());
|
304
|
+
},
|
305
|
+
genChildren() {
|
306
|
+
return [this.genInput(), this.genTrackContainer(), this.genSteps(), this.genThumbContainer(this.internalValue, this.inputWidth, this.isActive, this.isFocused, this.onFocus, this.onBlur)];
|
307
|
+
},
|
308
|
+
genInput() {
|
309
|
+
return this.$createElement("input", {
|
310
|
+
attrs: {
|
311
|
+
value: this.internalValue,
|
312
|
+
id: this.computedId,
|
313
|
+
disabled: !0,
|
314
|
+
readonly: !0,
|
315
|
+
tabindex: -1,
|
316
|
+
...this.$attrs
|
317
|
+
}
|
318
|
+
// on: this.genListeners(), // TODO: do we need to attach the listeners to input?
|
319
|
+
});
|
320
|
+
},
|
321
|
+
genTrackContainer() {
|
322
|
+
const e = [this.$createElement("div", this.setBackgroundColor(this.computedTrackColor, {
|
323
|
+
staticClass: "v-slider__track-background",
|
324
|
+
style: this.trackStyles
|
325
|
+
})), this.$createElement("div", this.setBackgroundColor(this.computedTrackFillColor, {
|
326
|
+
staticClass: "v-slider__track-fill",
|
327
|
+
style: this.trackFillStyles
|
328
|
+
}))];
|
329
|
+
return this.$createElement("div", {
|
330
|
+
staticClass: "v-slider__track-container",
|
331
|
+
ref: "track"
|
332
|
+
}, e);
|
333
|
+
},
|
334
|
+
genSteps() {
|
335
|
+
if (!this.step || !this.showTicks)
|
336
|
+
return null;
|
337
|
+
const e = parseFloat(this.tickSize), t = T(this.numTicks + 1), i = this.vertical ? "bottom" : this.$vuetify.rtl ? "right" : "left", s = this.vertical ? this.$vuetify.rtl ? "left" : "right" : "top";
|
338
|
+
this.vertical && t.reverse();
|
339
|
+
const n = t.map((a) => {
|
340
|
+
const r = [];
|
341
|
+
this.tickLabels[a] && r.push(this.$createElement("div", {
|
342
|
+
staticClass: "v-slider__tick-label"
|
343
|
+
}, this.tickLabels[a]));
|
344
|
+
const o = a * (100 / this.numTicks), p = this.$vuetify.rtl ? 100 - this.inputWidth < o : o < this.inputWidth;
|
345
|
+
return this.$createElement("span", {
|
346
|
+
key: a,
|
347
|
+
staticClass: "v-slider__tick",
|
348
|
+
class: {
|
349
|
+
"v-slider__tick--filled": p
|
350
|
+
},
|
351
|
+
style: {
|
352
|
+
width: `${e}px`,
|
353
|
+
height: `${e}px`,
|
354
|
+
[i]: `calc(${o}% - ${e / 2}px)`,
|
355
|
+
[s]: `calc(50% - ${e / 2}px)`
|
356
|
+
}
|
357
|
+
}, r);
|
358
|
+
});
|
359
|
+
return this.$createElement("div", {
|
360
|
+
staticClass: "v-slider__ticks-container",
|
361
|
+
class: {
|
362
|
+
"v-slider__ticks-container--always-show": this.ticks === "always" || this.tickLabels.length > 0
|
363
|
+
}
|
364
|
+
}, n);
|
365
|
+
},
|
366
|
+
genThumbContainer(e, t, i, s, n, a, r = "thumb") {
|
367
|
+
const o = [this.genThumb()], p = this.genThumbLabelContent(e);
|
368
|
+
return this.showThumbLabel && o.push(this.genThumbLabel(p)), this.$createElement("div", this.setTextColor(this.computedThumbColor, {
|
369
|
+
ref: r,
|
370
|
+
key: r,
|
371
|
+
staticClass: "v-slider__thumb-container",
|
372
|
+
class: {
|
373
|
+
"v-slider__thumb-container--active": i,
|
374
|
+
"v-slider__thumb-container--focused": s,
|
375
|
+
"v-slider__thumb-container--show-label": this.showThumbLabel
|
376
|
+
},
|
377
|
+
style: this.getThumbContainerStyles(t),
|
378
|
+
attrs: {
|
379
|
+
role: "slider",
|
380
|
+
tabindex: this.isDisabled ? -1 : this.$attrs.tabindex ? this.$attrs.tabindex : 0,
|
381
|
+
"aria-label": this.$attrs["aria-label"] || this.label,
|
382
|
+
"aria-valuemin": this.min,
|
383
|
+
"aria-valuemax": this.max,
|
384
|
+
"aria-valuenow": this.internalValue,
|
385
|
+
"aria-readonly": String(this.isReadonly),
|
386
|
+
"aria-orientation": this.vertical ? "vertical" : "horizontal"
|
387
|
+
},
|
388
|
+
on: {
|
389
|
+
focus: n,
|
390
|
+
blur: a,
|
391
|
+
keydown: this.onKeyDown
|
392
|
+
}
|
393
|
+
}), o);
|
394
|
+
},
|
395
|
+
genThumbLabelContent(e) {
|
396
|
+
return this.$scopedSlots["thumb-label"] ? this.$scopedSlots["thumb-label"]({
|
397
|
+
value: e
|
398
|
+
}) : [this.$createElement("span", [String(e)])];
|
399
|
+
},
|
400
|
+
genThumbLabel(e) {
|
401
|
+
const t = x(this.thumbSize), i = this.vertical ? `translateY(20%) translateY(${Number(this.thumbSize) / 3 - 1}px) translateX(55%) rotate(135deg)` : "translateY(-20%) translateY(-12px) translateX(-50%) rotate(45deg)";
|
402
|
+
return this.$createElement(te, {
|
403
|
+
props: {
|
404
|
+
origin: "bottom center"
|
405
|
+
}
|
406
|
+
}, [this.$createElement("div", {
|
407
|
+
staticClass: "v-slider__thumb-label-container",
|
408
|
+
directives: [{
|
409
|
+
name: "show",
|
410
|
+
value: this.isFocused || this.isActive || this.thumbLabel === "always"
|
411
|
+
}]
|
412
|
+
}, [this.$createElement("div", this.setBackgroundColor(this.computedThumbColor, {
|
413
|
+
staticClass: "v-slider__thumb-label",
|
414
|
+
style: {
|
415
|
+
height: t,
|
416
|
+
width: t,
|
417
|
+
transform: i
|
418
|
+
}
|
419
|
+
}), [this.$createElement("div", e)])])]);
|
420
|
+
},
|
421
|
+
genThumb() {
|
422
|
+
return this.$createElement("div", this.setBackgroundColor(this.computedThumbColor, {
|
423
|
+
staticClass: "v-slider__thumb"
|
424
|
+
}));
|
425
|
+
},
|
426
|
+
getThumbContainerStyles(e) {
|
427
|
+
const t = this.vertical ? "top" : "left";
|
428
|
+
let i = this.$vuetify.rtl ? 100 - e : e;
|
429
|
+
return i = this.vertical ? 100 - i : i, {
|
430
|
+
transition: this.trackTransition,
|
431
|
+
[t]: `${i}%`
|
432
|
+
};
|
433
|
+
},
|
434
|
+
onSliderMouseDown(e) {
|
435
|
+
var t;
|
436
|
+
if (e.preventDefault(), this.oldValue = this.internalValue, this.isActive = !0, !((t = e.target) === null || t === void 0) && t.matches(".v-slider__thumb-container, .v-slider__thumb-container *")) {
|
437
|
+
this.thumbPressed = !0;
|
438
|
+
const a = e.target.getBoundingClientRect(), r = "touches" in e ? e.touches[0] : e;
|
439
|
+
this.startOffset = this.vertical ? r.clientY - (a.top + a.height / 2) : r.clientX - (a.left + a.width / 2);
|
440
|
+
} else
|
441
|
+
this.startOffset = 0, window.clearTimeout(this.mouseTimeout), this.mouseTimeout = window.setTimeout(() => {
|
442
|
+
this.thumbPressed = !0;
|
443
|
+
}, 300);
|
444
|
+
const i = C ? {
|
445
|
+
passive: !0,
|
446
|
+
capture: !0
|
447
|
+
} : !0, s = C ? {
|
448
|
+
passive: !0
|
449
|
+
} : !1, n = "touches" in e;
|
450
|
+
this.onMouseMove(e), this.app.addEventListener(n ? "touchmove" : "mousemove", this.onMouseMove, s), nt(this.app, n ? "touchend" : "mouseup", this.onSliderMouseUp, i), this.$emit("start", this.internalValue);
|
451
|
+
},
|
452
|
+
onSliderMouseUp(e) {
|
453
|
+
e.stopPropagation(), window.clearTimeout(this.mouseTimeout), this.thumbPressed = !1;
|
454
|
+
const t = C ? {
|
455
|
+
passive: !0
|
456
|
+
} : !1;
|
457
|
+
this.app.removeEventListener("touchmove", this.onMouseMove, t), this.app.removeEventListener("mousemove", this.onMouseMove, t), this.$emit("mouseup", e), this.$emit("end", this.internalValue), rt(this.oldValue, this.internalValue) || (this.$emit("change", this.internalValue), this.noClick = !0), this.isActive = !1;
|
458
|
+
},
|
459
|
+
onMouseMove(e) {
|
460
|
+
e.type === "mousemove" && (this.thumbPressed = !0), this.internalValue = this.parseMouseMove(e);
|
461
|
+
},
|
462
|
+
onKeyDown(e) {
|
463
|
+
if (!this.isInteractive)
|
464
|
+
return;
|
465
|
+
const t = this.parseKeyDown(e, this.internalValue);
|
466
|
+
t == null || t < this.minValue || t > this.maxValue || (this.internalValue = t, this.$emit("change", t));
|
467
|
+
},
|
468
|
+
onSliderClick(e) {
|
469
|
+
if (this.noClick) {
|
470
|
+
this.noClick = !1;
|
471
|
+
return;
|
472
|
+
}
|
473
|
+
this.$refs.thumb.focus(), this.onMouseMove(e), this.$emit("change", this.internalValue);
|
474
|
+
},
|
475
|
+
onBlur(e) {
|
476
|
+
this.isFocused = !1, this.$emit("blur", e);
|
477
|
+
},
|
478
|
+
onFocus(e) {
|
479
|
+
this.isFocused = !0, this.$emit("focus", e);
|
480
|
+
},
|
481
|
+
parseMouseMove(e) {
|
482
|
+
const t = this.vertical ? "top" : "left", i = this.vertical ? "height" : "width", s = this.vertical ? "clientY" : "clientX", {
|
483
|
+
[t]: n,
|
484
|
+
[i]: a
|
485
|
+
} = this.$refs.track.getBoundingClientRect(), r = "touches" in e ? e.touches[0][s] : e[s];
|
486
|
+
let o = Math.min(Math.max((r - n - this.startOffset) / a, 0), 1) || 0;
|
487
|
+
return this.vertical && (o = 1 - o), this.$vuetify.rtl && (o = 1 - o), parseFloat(this.min) + o * (this.maxValue - this.minValue);
|
488
|
+
},
|
489
|
+
parseKeyDown(e, t) {
|
490
|
+
if (!this.isInteractive)
|
491
|
+
return;
|
492
|
+
const {
|
493
|
+
pageup: i,
|
494
|
+
pagedown: s,
|
495
|
+
end: n,
|
496
|
+
home: a,
|
497
|
+
left: r,
|
498
|
+
right: o,
|
499
|
+
down: p,
|
500
|
+
up: R
|
501
|
+
} = kt;
|
502
|
+
if (![i, s, n, a, r, o, p, R].includes(e.keyCode))
|
503
|
+
return;
|
504
|
+
e.preventDefault();
|
505
|
+
const A = this.stepNumeric || 1, W = (this.maxValue - this.minValue) / A;
|
506
|
+
if ([r, o, p, R].includes(e.keyCode)) {
|
507
|
+
const xt = (this.$vuetify.rtl ? [r, R] : [o, R]).includes(e.keyCode) ? 1 : -1, $t = e.shiftKey ? 3 : e.ctrlKey ? 2 : 1;
|
508
|
+
t = t + xt * A * $t;
|
509
|
+
} else if (e.keyCode === a)
|
510
|
+
t = this.minValue;
|
511
|
+
else if (e.keyCode === n)
|
512
|
+
t = this.maxValue;
|
513
|
+
else {
|
514
|
+
const U = e.keyCode === s ? 1 : -1;
|
515
|
+
t = t - U * A * (W > 100 ? W / 10 : 10);
|
516
|
+
}
|
517
|
+
return t;
|
518
|
+
},
|
519
|
+
roundValue(e) {
|
520
|
+
if (!this.stepNumeric)
|
521
|
+
return e;
|
522
|
+
const t = this.step.toString().trim(), i = t.indexOf(".") > -1 ? t.length - t.indexOf(".") - 1 : 0, s = this.minValue % this.stepNumeric, n = Math.round((e - s) / this.stepNumeric) * this.stepNumeric + s;
|
523
|
+
return parseFloat(Math.min(n, this.maxValue).toFixed(i));
|
524
|
+
}
|
525
|
+
}
|
526
|
+
}), ye = B(ve("left", ["isActive", "isMobile", "miniVariant", "expandOnHover", "permanent", "right", "temporary", "width"]), I, ue, mt, ie, fe, ot), be = ye.extend({
|
527
|
+
name: "v-navigation-drawer",
|
528
|
+
directives: {
|
529
|
+
ClickOutside: dt,
|
530
|
+
Resize: le,
|
531
|
+
Touch: ce
|
532
|
+
},
|
533
|
+
provide() {
|
534
|
+
return {
|
535
|
+
isInNav: this.tag === "nav"
|
536
|
+
};
|
537
|
+
},
|
538
|
+
props: {
|
539
|
+
bottom: Boolean,
|
540
|
+
clipped: Boolean,
|
541
|
+
disableResizeWatcher: Boolean,
|
542
|
+
disableRouteWatcher: Boolean,
|
543
|
+
expandOnHover: Boolean,
|
544
|
+
floating: Boolean,
|
545
|
+
height: {
|
546
|
+
type: [Number, String],
|
547
|
+
default() {
|
548
|
+
return this.app ? "100vh" : "100%";
|
549
|
+
}
|
550
|
+
},
|
551
|
+
miniVariant: Boolean,
|
552
|
+
miniVariantWidth: {
|
553
|
+
type: [Number, String],
|
554
|
+
default: 56
|
555
|
+
},
|
556
|
+
permanent: Boolean,
|
557
|
+
right: Boolean,
|
558
|
+
src: {
|
559
|
+
type: [String, Object],
|
560
|
+
default: ""
|
561
|
+
},
|
562
|
+
stateless: Boolean,
|
563
|
+
tag: {
|
564
|
+
type: String,
|
565
|
+
default() {
|
566
|
+
return this.app ? "nav" : "aside";
|
567
|
+
}
|
568
|
+
},
|
569
|
+
temporary: Boolean,
|
570
|
+
touchless: Boolean,
|
571
|
+
width: {
|
572
|
+
type: [Number, String],
|
573
|
+
default: 256
|
574
|
+
},
|
575
|
+
value: null
|
576
|
+
},
|
577
|
+
data: () => ({
|
578
|
+
isMouseover: !1,
|
579
|
+
touchArea: {
|
580
|
+
left: 0,
|
581
|
+
right: 0
|
582
|
+
},
|
583
|
+
stackMinZIndex: 6
|
584
|
+
}),
|
585
|
+
computed: {
|
586
|
+
/**
|
587
|
+
* Used for setting an app value from a dynamic
|
588
|
+
* property. Called from applicationable.js
|
589
|
+
*/
|
590
|
+
applicationProperty() {
|
591
|
+
return this.right ? "right" : "left";
|
592
|
+
},
|
593
|
+
classes() {
|
594
|
+
return {
|
595
|
+
"v-navigation-drawer": !0,
|
596
|
+
"v-navigation-drawer--absolute": this.absolute,
|
597
|
+
"v-navigation-drawer--bottom": this.bottom,
|
598
|
+
"v-navigation-drawer--clipped": this.clipped,
|
599
|
+
"v-navigation-drawer--close": !this.isActive,
|
600
|
+
"v-navigation-drawer--fixed": !this.absolute && (this.app || this.fixed),
|
601
|
+
"v-navigation-drawer--floating": this.floating,
|
602
|
+
"v-navigation-drawer--is-mobile": this.isMobile,
|
603
|
+
"v-navigation-drawer--is-mouseover": this.isMouseover,
|
604
|
+
"v-navigation-drawer--mini-variant": this.isMiniVariant,
|
605
|
+
"v-navigation-drawer--custom-mini-variant": Number(this.miniVariantWidth) !== 56,
|
606
|
+
"v-navigation-drawer--open": this.isActive,
|
607
|
+
"v-navigation-drawer--open-on-hover": this.expandOnHover,
|
608
|
+
"v-navigation-drawer--right": this.right,
|
609
|
+
"v-navigation-drawer--temporary": this.temporary,
|
610
|
+
...this.themeClasses
|
611
|
+
};
|
612
|
+
},
|
613
|
+
computedMaxHeight() {
|
614
|
+
if (!this.hasApp)
|
615
|
+
return null;
|
616
|
+
const e = this.$vuetify.application.bottom + this.$vuetify.application.footer + this.$vuetify.application.bar;
|
617
|
+
return this.clipped ? e + this.$vuetify.application.top : e;
|
618
|
+
},
|
619
|
+
computedTop() {
|
620
|
+
if (!this.hasApp)
|
621
|
+
return 0;
|
622
|
+
let e = this.$vuetify.application.bar;
|
623
|
+
return e += this.clipped ? this.$vuetify.application.top : 0, e;
|
624
|
+
},
|
625
|
+
computedTransform() {
|
626
|
+
return this.isActive ? 0 : this.isBottom || this.right ? 100 : -100;
|
627
|
+
},
|
628
|
+
computedWidth() {
|
629
|
+
return this.isMiniVariant ? this.miniVariantWidth : this.width;
|
630
|
+
},
|
631
|
+
hasApp() {
|
632
|
+
return this.app && !this.isMobile && !this.temporary;
|
633
|
+
},
|
634
|
+
isBottom() {
|
635
|
+
return this.bottom && this.isMobile;
|
636
|
+
},
|
637
|
+
isMiniVariant() {
|
638
|
+
return !this.expandOnHover && this.miniVariant || this.expandOnHover && !this.isMouseover;
|
639
|
+
},
|
640
|
+
isMobile() {
|
641
|
+
return !this.stateless && !this.permanent && mt.options.computed.isMobile.call(this);
|
642
|
+
},
|
643
|
+
reactsToClick() {
|
644
|
+
return !this.stateless && !this.permanent && (this.isMobile || this.temporary);
|
645
|
+
},
|
646
|
+
reactsToMobile() {
|
647
|
+
return this.app && !this.disableResizeWatcher && !this.permanent && !this.stateless && !this.temporary;
|
648
|
+
},
|
649
|
+
reactsToResize() {
|
650
|
+
return !this.disableResizeWatcher && !this.stateless;
|
651
|
+
},
|
652
|
+
reactsToRoute() {
|
653
|
+
return !this.disableRouteWatcher && !this.stateless && (this.temporary || this.isMobile);
|
654
|
+
},
|
655
|
+
showOverlay() {
|
656
|
+
return !this.hideOverlay && this.isActive && (this.isMobile || this.temporary);
|
657
|
+
},
|
658
|
+
styles() {
|
659
|
+
const e = this.isBottom ? "translateY" : "translateX";
|
660
|
+
return {
|
661
|
+
height: x(this.height),
|
662
|
+
top: this.isBottom ? "auto" : x(this.computedTop),
|
663
|
+
maxHeight: this.computedMaxHeight != null ? `calc(100% - ${x(this.computedMaxHeight)})` : void 0,
|
664
|
+
transform: `${e}(${x(this.computedTransform, "%")})`,
|
665
|
+
width: x(this.computedWidth)
|
666
|
+
};
|
667
|
+
}
|
668
|
+
},
|
669
|
+
watch: {
|
670
|
+
$route: "onRouteChange",
|
671
|
+
isActive(e) {
|
672
|
+
this.$emit("input", e);
|
673
|
+
},
|
674
|
+
/**
|
675
|
+
* When mobile changes, adjust the active state
|
676
|
+
* only when there has been a previous value
|
677
|
+
*/
|
678
|
+
isMobile(e, t) {
|
679
|
+
!e && this.isActive && !this.temporary && this.removeOverlay(), !(t == null || !this.reactsToResize || !this.reactsToMobile) && (this.isActive = !e);
|
680
|
+
},
|
681
|
+
permanent(e) {
|
682
|
+
e && (this.isActive = !0);
|
683
|
+
},
|
684
|
+
showOverlay(e) {
|
685
|
+
e ? this.genOverlay() : this.removeOverlay();
|
686
|
+
},
|
687
|
+
value(e) {
|
688
|
+
if (!this.permanent) {
|
689
|
+
if (e == null) {
|
690
|
+
this.init();
|
691
|
+
return;
|
692
|
+
}
|
693
|
+
e !== this.isActive && (this.isActive = e);
|
694
|
+
}
|
695
|
+
},
|
696
|
+
expandOnHover: "updateMiniVariant",
|
697
|
+
isMouseover(e) {
|
698
|
+
this.updateMiniVariant(!e);
|
699
|
+
}
|
700
|
+
},
|
701
|
+
beforeMount() {
|
702
|
+
this.init();
|
703
|
+
},
|
704
|
+
methods: {
|
705
|
+
calculateTouchArea() {
|
706
|
+
const e = this.$el.parentNode;
|
707
|
+
if (!e)
|
708
|
+
return;
|
709
|
+
const t = e.getBoundingClientRect();
|
710
|
+
this.touchArea = {
|
711
|
+
left: t.left + 50,
|
712
|
+
right: t.right - 50
|
713
|
+
};
|
714
|
+
},
|
715
|
+
closeConditional() {
|
716
|
+
return this.isActive && !this._isDestroyed && this.reactsToClick;
|
717
|
+
},
|
718
|
+
genAppend() {
|
719
|
+
return this.genPosition("append");
|
720
|
+
},
|
721
|
+
genBackground() {
|
722
|
+
const e = {
|
723
|
+
height: "100%",
|
724
|
+
width: "100%",
|
725
|
+
src: this.src
|
726
|
+
}, t = this.$scopedSlots.img ? this.$scopedSlots.img(e) : this.$createElement(pe, {
|
727
|
+
props: e
|
728
|
+
});
|
729
|
+
return this.$createElement("div", {
|
730
|
+
staticClass: "v-navigation-drawer__image"
|
731
|
+
}, [t]);
|
732
|
+
},
|
733
|
+
genDirectives() {
|
734
|
+
const e = [{
|
735
|
+
name: "click-outside",
|
736
|
+
value: {
|
737
|
+
handler: () => {
|
738
|
+
this.isActive = !1;
|
739
|
+
},
|
740
|
+
closeConditional: this.closeConditional,
|
741
|
+
include: this.getOpenDependentElements
|
742
|
+
}
|
743
|
+
}];
|
744
|
+
return !this.touchless && !this.stateless && e.push({
|
745
|
+
name: "touch",
|
746
|
+
value: {
|
747
|
+
parent: !0,
|
748
|
+
left: this.swipeLeft,
|
749
|
+
right: this.swipeRight
|
750
|
+
}
|
751
|
+
}), e;
|
752
|
+
},
|
753
|
+
genListeners() {
|
754
|
+
const e = {
|
755
|
+
mouseenter: () => this.isMouseover = !0,
|
756
|
+
mouseleave: () => this.isMouseover = !1,
|
757
|
+
transitionend: (t) => {
|
758
|
+
if (t.target !== t.currentTarget)
|
759
|
+
return;
|
760
|
+
this.$emit("transitionend", t);
|
761
|
+
const i = document.createEvent("UIEvents");
|
762
|
+
i.initUIEvent("resize", !0, !1, window, 0), window.dispatchEvent(i);
|
763
|
+
}
|
764
|
+
};
|
765
|
+
return this.miniVariant && (e.click = () => this.$emit("update:mini-variant", !1)), e;
|
766
|
+
},
|
767
|
+
genPosition(e) {
|
768
|
+
const t = G(this, e);
|
769
|
+
return t && this.$createElement("div", {
|
770
|
+
staticClass: `v-navigation-drawer__${e}`
|
771
|
+
}, t);
|
772
|
+
},
|
773
|
+
genPrepend() {
|
774
|
+
return this.genPosition("prepend");
|
775
|
+
},
|
776
|
+
genContent() {
|
777
|
+
return this.$createElement("div", {
|
778
|
+
staticClass: "v-navigation-drawer__content"
|
779
|
+
}, this.$slots.default);
|
780
|
+
},
|
781
|
+
genBorder() {
|
782
|
+
return this.$createElement("div", {
|
783
|
+
staticClass: "v-navigation-drawer__border"
|
784
|
+
});
|
785
|
+
},
|
786
|
+
init() {
|
787
|
+
this.permanent ? this.isActive = !0 : this.stateless || this.value != null ? this.isActive = this.value : this.temporary || (this.isActive = !this.isMobile);
|
788
|
+
},
|
789
|
+
onRouteChange() {
|
790
|
+
this.reactsToRoute && this.closeConditional() && (this.isActive = !1);
|
791
|
+
},
|
792
|
+
swipeLeft(e) {
|
793
|
+
this.isActive && this.right || (this.calculateTouchArea(), !(Math.abs(e.touchendX - e.touchstartX) < 100) && (this.right && e.touchstartX >= this.touchArea.right ? this.isActive = !0 : !this.right && this.isActive && (this.isActive = !1)));
|
794
|
+
},
|
795
|
+
swipeRight(e) {
|
796
|
+
this.isActive && !this.right || (this.calculateTouchArea(), !(Math.abs(e.touchendX - e.touchstartX) < 100) && (!this.right && e.touchstartX <= this.touchArea.left ? this.isActive = !0 : this.right && this.isActive && (this.isActive = !1)));
|
797
|
+
},
|
798
|
+
/**
|
799
|
+
* Update the application layout
|
800
|
+
*/
|
801
|
+
updateApplication() {
|
802
|
+
if (!this.isActive || this.isMobile || this.temporary || !this.$el)
|
803
|
+
return 0;
|
804
|
+
const e = Number(this.miniVariant ? this.miniVariantWidth : this.width);
|
805
|
+
return isNaN(e) ? this.$el.clientWidth : e;
|
806
|
+
},
|
807
|
+
updateMiniVariant(e) {
|
808
|
+
this.expandOnHover && this.miniVariant !== e && this.$emit("update:mini-variant", e);
|
809
|
+
}
|
810
|
+
},
|
811
|
+
render(e) {
|
812
|
+
const t = [this.genPrepend(), this.genContent(), this.genAppend(), this.genBorder()];
|
813
|
+
return (this.src || G(this, "img")) && t.unshift(this.genBackground()), e(this.tag, this.setBackgroundColor(this.color, {
|
814
|
+
class: this.classes,
|
815
|
+
style: this.styles,
|
816
|
+
directives: this.genDirectives(),
|
817
|
+
on: this.genListeners()
|
818
|
+
}), t);
|
819
|
+
}
|
820
|
+
}), Me = N.extend({
|
821
|
+
name: "v-range-slider",
|
822
|
+
props: {
|
823
|
+
value: {
|
824
|
+
type: Array,
|
825
|
+
default: () => [0, 0]
|
826
|
+
}
|
827
|
+
},
|
828
|
+
data() {
|
829
|
+
return {
|
830
|
+
activeThumb: null,
|
831
|
+
lazyValue: this.value
|
832
|
+
};
|
833
|
+
},
|
834
|
+
computed: {
|
835
|
+
classes() {
|
836
|
+
return {
|
837
|
+
...N.options.computed.classes.call(this),
|
838
|
+
"v-input--range-slider": !0
|
839
|
+
};
|
840
|
+
},
|
841
|
+
internalValue: {
|
842
|
+
get() {
|
843
|
+
return this.lazyValue;
|
844
|
+
},
|
845
|
+
set(e) {
|
846
|
+
let t = e.map((i = 0) => this.roundValue(Math.min(Math.max(i, this.minValue), this.maxValue)));
|
847
|
+
if (t[0] > t[1] || t[1] < t[0]) {
|
848
|
+
if (this.activeThumb !== null) {
|
849
|
+
const i = this.activeThumb === 1 ? 0 : 1;
|
850
|
+
this.$refs[`thumb_${i}`].focus();
|
851
|
+
}
|
852
|
+
t = [t[1], t[0]];
|
853
|
+
}
|
854
|
+
this.lazyValue = t, rt(t, this.value) || this.$emit("input", t), this.validate();
|
855
|
+
}
|
856
|
+
},
|
857
|
+
inputWidth() {
|
858
|
+
return this.internalValue.map((e) => (this.roundValue(e) - this.minValue) / (this.maxValue - this.minValue) * 100);
|
859
|
+
}
|
860
|
+
},
|
861
|
+
methods: {
|
862
|
+
getTrackStyle(e, t, i = 0, s = 0) {
|
863
|
+
const n = this.vertical ? this.$vuetify.rtl ? "top" : "bottom" : this.$vuetify.rtl ? "right" : "left", a = this.vertical ? "height" : "width", r = `calc(${e}% + ${i}px)`, o = `calc(${t}% + ${s}px)`;
|
864
|
+
return {
|
865
|
+
transition: this.trackTransition,
|
866
|
+
[n]: r,
|
867
|
+
[a]: o
|
868
|
+
};
|
869
|
+
},
|
870
|
+
getIndexOfClosestValue(e, t) {
|
871
|
+
return Math.abs(e[0] - t) < Math.abs(e[1] - t) ? 0 : 1;
|
872
|
+
},
|
873
|
+
genInput() {
|
874
|
+
return T(2).map((e) => {
|
875
|
+
const t = N.options.methods.genInput.call(this);
|
876
|
+
return t.data = t.data || {}, t.data.attrs = t.data.attrs || {}, t.data.attrs.value = this.internalValue[e], t.data.attrs.id = `input-${e ? "max" : "min"}-${this._uid}`, t;
|
877
|
+
});
|
878
|
+
},
|
879
|
+
genTrackContainer() {
|
880
|
+
const e = [], t = this.isDisabled ? 10 : 0, i = [{
|
881
|
+
class: "v-slider__track-background",
|
882
|
+
color: this.computedTrackColor,
|
883
|
+
styles: [0, this.inputWidth[0], 0, -t]
|
884
|
+
}, {
|
885
|
+
class: this.isDisabled ? "v-slider__track-background" : "v-slider__track-fill",
|
886
|
+
color: this.isDisabled ? this.computedTrackColor : this.computedTrackFillColor,
|
887
|
+
styles: [this.inputWidth[0], Math.abs(this.inputWidth[1] - this.inputWidth[0]), t, t * -2]
|
888
|
+
}, {
|
889
|
+
class: "v-slider__track-background",
|
890
|
+
color: this.computedTrackColor,
|
891
|
+
styles: [this.inputWidth[1], Math.abs(100 - this.inputWidth[1]), t, -t]
|
892
|
+
}];
|
893
|
+
return this.$vuetify.rtl && i.reverse(), e.push(...i.map((s) => this.$createElement("div", this.setBackgroundColor(s.color, {
|
894
|
+
staticClass: s.class,
|
895
|
+
style: this.getTrackStyle(...s.styles)
|
896
|
+
})))), this.$createElement("div", {
|
897
|
+
staticClass: "v-slider__track-container",
|
898
|
+
ref: "track"
|
899
|
+
}, e);
|
900
|
+
},
|
901
|
+
genChildren() {
|
902
|
+
return [this.genInput(), this.genTrackContainer(), this.genSteps(), T(2).map((e) => {
|
903
|
+
const t = this.internalValue[e], i = (o) => {
|
904
|
+
this.isFocused = !0, this.activeThumb = e, this.$emit("focus", o);
|
905
|
+
}, s = (o) => {
|
906
|
+
this.isFocused = !1, this.activeThumb = null, this.$emit("blur", o);
|
907
|
+
}, n = this.inputWidth[e], a = this.isActive && this.activeThumb === e, r = this.isFocused && this.activeThumb === e;
|
908
|
+
return this.genThumbContainer(t, n, a, r, i, s, `thumb_${e}`);
|
909
|
+
})];
|
910
|
+
},
|
911
|
+
reevaluateSelected(e) {
|
912
|
+
this.activeThumb = this.getIndexOfClosestValue(this.internalValue, e);
|
913
|
+
const t = `thumb_${this.activeThumb}`;
|
914
|
+
this.$refs[t].focus();
|
915
|
+
},
|
916
|
+
onSliderMouseDown(e) {
|
917
|
+
var t;
|
918
|
+
const i = this.parseMouseMove(e);
|
919
|
+
if (this.reevaluateSelected(i), this.oldValue = this.internalValue, this.isActive = !0, !((t = e.target) === null || t === void 0) && t.matches(".v-slider__thumb-container, .v-slider__thumb-container *")) {
|
920
|
+
this.thumbPressed = !0;
|
921
|
+
const r = e.target.getBoundingClientRect(), o = "touches" in e ? e.touches[0] : e;
|
922
|
+
this.startOffset = this.vertical ? o.clientY - (r.top + r.height / 2) : o.clientX - (r.left + r.width / 2);
|
923
|
+
} else
|
924
|
+
this.startOffset = 0, window.clearTimeout(this.mouseTimeout), this.mouseTimeout = window.setTimeout(() => {
|
925
|
+
this.thumbPressed = !0;
|
926
|
+
}, 300);
|
927
|
+
const s = C ? {
|
928
|
+
passive: !0,
|
929
|
+
capture: !0
|
930
|
+
} : !0, n = C ? {
|
931
|
+
passive: !0
|
932
|
+
} : !1, a = "touches" in e;
|
933
|
+
this.onMouseMove(e), this.app.addEventListener(a ? "touchmove" : "mousemove", this.onMouseMove, n), nt(this.app, a ? "touchend" : "mouseup", this.onSliderMouseUp, s), this.$emit("start", this.internalValue);
|
934
|
+
},
|
935
|
+
onSliderClick(e) {
|
936
|
+
if (!this.isActive) {
|
937
|
+
if (this.noClick) {
|
938
|
+
this.noClick = !1;
|
939
|
+
return;
|
940
|
+
}
|
941
|
+
const t = this.parseMouseMove(e);
|
942
|
+
this.reevaluateSelected(t), this.setInternalValue(t), this.$emit("change", this.internalValue);
|
943
|
+
}
|
944
|
+
},
|
945
|
+
onMouseMove(e) {
|
946
|
+
const t = this.parseMouseMove(e);
|
947
|
+
e.type === "mousemove" && (this.thumbPressed = !0), this.activeThumb === null && (this.activeThumb = this.getIndexOfClosestValue(this.internalValue, t)), this.setInternalValue(t);
|
948
|
+
},
|
949
|
+
onKeyDown(e) {
|
950
|
+
if (this.activeThumb === null)
|
951
|
+
return;
|
952
|
+
const t = this.parseKeyDown(e, this.internalValue[this.activeThumb]);
|
953
|
+
t != null && (this.setInternalValue(t), this.$emit("change", this.internalValue));
|
954
|
+
},
|
955
|
+
setInternalValue(e) {
|
956
|
+
this.internalValue = this.internalValue.map((t, i) => i === this.activeThumb ? e : Number(t));
|
957
|
+
}
|
958
|
+
}
|
959
|
+
}), xe = B(I, he, de, Lt, ot).extend({
|
960
|
+
name: "v-rating",
|
961
|
+
props: {
|
962
|
+
backgroundColor: {
|
963
|
+
type: String,
|
964
|
+
default: "accent"
|
965
|
+
},
|
966
|
+
color: {
|
967
|
+
type: String,
|
968
|
+
default: "primary"
|
969
|
+
},
|
970
|
+
clearable: Boolean,
|
971
|
+
dense: Boolean,
|
972
|
+
emptyIcon: {
|
973
|
+
type: String,
|
974
|
+
default: "$ratingEmpty"
|
975
|
+
},
|
976
|
+
fullIcon: {
|
977
|
+
type: String,
|
978
|
+
default: "$ratingFull"
|
979
|
+
},
|
980
|
+
halfIcon: {
|
981
|
+
type: String,
|
982
|
+
default: "$ratingHalf"
|
983
|
+
},
|
984
|
+
halfIncrements: Boolean,
|
985
|
+
hover: Boolean,
|
986
|
+
length: {
|
987
|
+
type: [Number, String],
|
988
|
+
default: 5
|
989
|
+
},
|
990
|
+
readonly: Boolean,
|
991
|
+
size: [Number, String],
|
992
|
+
value: {
|
993
|
+
type: Number,
|
994
|
+
default: 0
|
995
|
+
},
|
996
|
+
iconLabel: {
|
997
|
+
type: String,
|
998
|
+
default: "$vuetify.rating.ariaLabel.icon"
|
999
|
+
}
|
1000
|
+
},
|
1001
|
+
data() {
|
1002
|
+
return {
|
1003
|
+
hoverIndex: -1,
|
1004
|
+
internalValue: this.value
|
1005
|
+
};
|
1006
|
+
},
|
1007
|
+
computed: {
|
1008
|
+
directives() {
|
1009
|
+
return this.readonly || !this.ripple ? [] : [{
|
1010
|
+
name: "ripple",
|
1011
|
+
value: {
|
1012
|
+
circle: !0
|
1013
|
+
}
|
1014
|
+
}];
|
1015
|
+
},
|
1016
|
+
iconProps() {
|
1017
|
+
const {
|
1018
|
+
dark: e,
|
1019
|
+
large: t,
|
1020
|
+
light: i,
|
1021
|
+
medium: s,
|
1022
|
+
small: n,
|
1023
|
+
size: a,
|
1024
|
+
xLarge: r,
|
1025
|
+
xSmall: o
|
1026
|
+
} = this.$props;
|
1027
|
+
return {
|
1028
|
+
dark: e,
|
1029
|
+
large: t,
|
1030
|
+
light: i,
|
1031
|
+
medium: s,
|
1032
|
+
size: a,
|
1033
|
+
small: n,
|
1034
|
+
xLarge: r,
|
1035
|
+
xSmall: o
|
1036
|
+
};
|
1037
|
+
},
|
1038
|
+
isHovering() {
|
1039
|
+
return this.hover && this.hoverIndex >= 0;
|
1040
|
+
}
|
1041
|
+
},
|
1042
|
+
watch: {
|
1043
|
+
internalValue(e) {
|
1044
|
+
e !== this.value && this.$emit("input", e);
|
1045
|
+
},
|
1046
|
+
value(e) {
|
1047
|
+
this.internalValue = e;
|
1048
|
+
}
|
1049
|
+
},
|
1050
|
+
methods: {
|
1051
|
+
createClickFn(e) {
|
1052
|
+
return (t) => {
|
1053
|
+
if (this.readonly)
|
1054
|
+
return;
|
1055
|
+
const i = this.genHoverIndex(t, e);
|
1056
|
+
this.clearable && this.internalValue === i ? this.internalValue = 0 : this.internalValue = i;
|
1057
|
+
};
|
1058
|
+
},
|
1059
|
+
createProps(e) {
|
1060
|
+
const t = {
|
1061
|
+
index: e,
|
1062
|
+
value: this.internalValue,
|
1063
|
+
click: this.createClickFn(e),
|
1064
|
+
isFilled: Math.floor(this.internalValue) > e,
|
1065
|
+
isHovered: Math.floor(this.hoverIndex) > e
|
1066
|
+
};
|
1067
|
+
return this.halfIncrements && (t.isHalfHovered = !t.isHovered && (this.hoverIndex - e) % 1 > 0, t.isHalfFilled = !t.isFilled && (this.internalValue - e) % 1 > 0), t;
|
1068
|
+
},
|
1069
|
+
genHoverIndex(e, t) {
|
1070
|
+
let i = this.isHalfEvent(e);
|
1071
|
+
return this.halfIncrements && this.$vuetify.rtl && (i = !i), t + (i ? 0.5 : 1);
|
1072
|
+
},
|
1073
|
+
getIconName(e) {
|
1074
|
+
const t = this.isHovering ? e.isHovered : e.isFilled, i = this.isHovering ? e.isHalfHovered : e.isHalfFilled;
|
1075
|
+
return t ? this.fullIcon : i ? this.halfIcon : this.emptyIcon;
|
1076
|
+
},
|
1077
|
+
getColor(e) {
|
1078
|
+
if (this.isHovering) {
|
1079
|
+
if (e.isHovered || e.isHalfHovered)
|
1080
|
+
return this.color;
|
1081
|
+
} else if (e.isFilled || e.isHalfFilled)
|
1082
|
+
return this.color;
|
1083
|
+
return this.backgroundColor;
|
1084
|
+
},
|
1085
|
+
isHalfEvent(e) {
|
1086
|
+
if (this.halfIncrements) {
|
1087
|
+
const t = e.target && e.target.getBoundingClientRect();
|
1088
|
+
if (t && e.pageX - t.left < t.width / 2)
|
1089
|
+
return !0;
|
1090
|
+
}
|
1091
|
+
return !1;
|
1092
|
+
},
|
1093
|
+
onMouseEnter(e, t) {
|
1094
|
+
this.runDelay("open", () => {
|
1095
|
+
this.hoverIndex = this.genHoverIndex(e, t);
|
1096
|
+
});
|
1097
|
+
},
|
1098
|
+
onMouseLeave() {
|
1099
|
+
this.runDelay("close", () => this.hoverIndex = -1);
|
1100
|
+
},
|
1101
|
+
genItem(e) {
|
1102
|
+
const t = this.createProps(e);
|
1103
|
+
if (this.$scopedSlots.item)
|
1104
|
+
return this.$scopedSlots.item(t);
|
1105
|
+
const i = {
|
1106
|
+
click: t.click
|
1107
|
+
};
|
1108
|
+
return this.hover && (i.mouseenter = (s) => this.onMouseEnter(s, e), i.mouseleave = this.onMouseLeave, this.halfIncrements && (i.mousemove = (s) => this.onMouseEnter(s, e))), this.$createElement(g, this.setTextColor(this.getColor(t), {
|
1109
|
+
attrs: {
|
1110
|
+
"aria-label": this.$vuetify.lang.t(this.iconLabel, e + 1, Number(this.length))
|
1111
|
+
},
|
1112
|
+
directives: this.directives,
|
1113
|
+
props: this.iconProps,
|
1114
|
+
on: i
|
1115
|
+
}), [this.getIconName(t)]);
|
1116
|
+
}
|
1117
|
+
},
|
1118
|
+
render(e) {
|
1119
|
+
const t = T(Number(this.length)).map((i) => this.genItem(i));
|
1120
|
+
return e("div", {
|
1121
|
+
staticClass: "v-rating",
|
1122
|
+
class: {
|
1123
|
+
"v-rating--readonly": this.readonly,
|
1124
|
+
"v-rating--dense": this.dense
|
1125
|
+
}
|
1126
|
+
}, t);
|
1127
|
+
}
|
1128
|
+
});
|
1129
|
+
var f = /* @__PURE__ */ ((e) => (e.HotelDescriptionViewDialog = "HotelDescriptionViewDialog", e.HotelRoomOfferList = "HotelRoomOfferList", e.HotelRoomOffersViewDialog = "HotelRoomOffersViewDialog", e.RoomsDetails = "RoomsDetails", e))(f || {});
|
1130
|
+
const $e = {
|
1131
|
+
HotelDescriptionViewDialog: !1,
|
1132
|
+
HotelRoomOfferList: !1,
|
1133
|
+
HotelRoomOffersViewDialog: !1,
|
1134
|
+
RoomsDetails: !0
|
1135
|
+
}, Ce = {
|
1136
|
+
name: "BBtnCloseDialog"
|
1137
|
+
};
|
1138
|
+
var Be = function() {
|
1139
|
+
var t = this, i = t._self._c;
|
1140
|
+
return t._self._setupProxy, i(l, t._b({ staticClass: "close-btn v-window__next", attrs: { dark: "", icon: "" } }, "v-btn", t.$attrs, !1), [i(g, [t._v("fa-times")])], 1);
|
1141
|
+
}, ke = [], Re = /* @__PURE__ */ m(
|
1142
|
+
Ce,
|
1143
|
+
Be,
|
1144
|
+
ke,
|
1145
|
+
!1,
|
1146
|
+
null,
|
1147
|
+
"95318f12",
|
1148
|
+
null,
|
1149
|
+
null
|
1150
|
+
);
|
1151
|
+
const we = Re.exports, Se = {
|
1152
|
+
adultCount: {
|
1153
|
+
type: Number
|
1154
|
+
},
|
1155
|
+
checkInDate: {
|
1156
|
+
type: String
|
1157
|
+
},
|
1158
|
+
compact: {
|
1159
|
+
type: Boolean
|
1160
|
+
},
|
1161
|
+
features: {
|
1162
|
+
default: () => $e,
|
1163
|
+
type: Object
|
1164
|
+
},
|
1165
|
+
hideAction: {
|
1166
|
+
default: !1,
|
1167
|
+
type: Boolean
|
1168
|
+
},
|
1169
|
+
hotelOffer: {
|
1170
|
+
required: !0,
|
1171
|
+
type: Object
|
1172
|
+
},
|
1173
|
+
imageCountLimit: {
|
1174
|
+
type: Number
|
1175
|
+
},
|
1176
|
+
isNoLongerAvail: {
|
1177
|
+
default: !1,
|
1178
|
+
type: Boolean
|
1179
|
+
},
|
1180
|
+
nightCount: {
|
1181
|
+
type: Number
|
1182
|
+
},
|
1183
|
+
singleOffer: {
|
1184
|
+
default: !1,
|
1185
|
+
type: Boolean
|
1186
|
+
}
|
1187
|
+
}, pt = {
|
1188
|
+
clickable: {
|
1189
|
+
default: !1,
|
1190
|
+
type: Boolean
|
1191
|
+
},
|
1192
|
+
height: { type: String },
|
1193
|
+
imageUrls: { type: Array },
|
1194
|
+
lazy: {
|
1195
|
+
default: 0,
|
1196
|
+
type: Number
|
1197
|
+
},
|
1198
|
+
limit: {
|
1199
|
+
default: 80,
|
1200
|
+
type: Number
|
1201
|
+
},
|
1202
|
+
rounded: { type: Boolean },
|
1203
|
+
showThumbnails: { type: Boolean },
|
1204
|
+
slide: { type: Number },
|
1205
|
+
thumbnailUrls: { type: Array },
|
1206
|
+
thumbnailsHeight: {
|
1207
|
+
type: [String, Number]
|
1208
|
+
},
|
1209
|
+
width: { type: String }
|
1210
|
+
}, et = (e) => {
|
1211
|
+
if (!e)
|
1212
|
+
return {
|
1213
|
+
val: 0
|
1214
|
+
};
|
1215
|
+
const t = /(-?[\d.]+)([%a-z]*)/u.exec(e.toString());
|
1216
|
+
return !t || !t[1] ? {
|
1217
|
+
val: 0
|
1218
|
+
} : {
|
1219
|
+
unit: t[2],
|
1220
|
+
val: Number.parseInt(t[1])
|
1221
|
+
};
|
1222
|
+
};
|
1223
|
+
h.extend({
|
1224
|
+
name: "BImageCarousel",
|
1225
|
+
components: {
|
1226
|
+
"b-image-carousel-thumbnails": Xt
|
1227
|
+
},
|
1228
|
+
model: {
|
1229
|
+
prop: "slide",
|
1230
|
+
event: "change"
|
1231
|
+
},
|
1232
|
+
props: pt,
|
1233
|
+
data() {
|
1234
|
+
return {
|
1235
|
+
currentSlide: this.slide || 0,
|
1236
|
+
isActive: !1,
|
1237
|
+
isVisible: !1
|
1238
|
+
};
|
1239
|
+
},
|
1240
|
+
computed: {
|
1241
|
+
imagesToLoad() {
|
1242
|
+
if (!this.isVisible)
|
1243
|
+
return [];
|
1244
|
+
if (this.lazy === 0)
|
1245
|
+
return [this.currentSlide];
|
1246
|
+
const e = this.imageUrls.length;
|
1247
|
+
return this.lazy < 0 ? Array.from({ length: e }, (t, i) => i) : Array.from(
|
1248
|
+
{ length: 2 * this.lazy + 1 },
|
1249
|
+
(t, i) => (this.currentSlide + i + e - this.lazy) % e
|
1250
|
+
);
|
1251
|
+
},
|
1252
|
+
totalHeight() {
|
1253
|
+
const e = et(this.height);
|
1254
|
+
if (!e)
|
1255
|
+
return "0px";
|
1256
|
+
const t = et(
|
1257
|
+
this.showThumbnails && this.imageUrls.length > 1 && this.thumbnailsHeight || void 0
|
1258
|
+
);
|
1259
|
+
if (!t)
|
1260
|
+
return e.val + (e.unit || "px");
|
1261
|
+
const i = e.unit || t.unit || "px";
|
1262
|
+
return e.val + t.val + (i === "px" ? 4 : 0) + i;
|
1263
|
+
}
|
1264
|
+
},
|
1265
|
+
watch: {
|
1266
|
+
slide(e) {
|
1267
|
+
this.currentSlide = e;
|
1268
|
+
}
|
1269
|
+
},
|
1270
|
+
mounted() {
|
1271
|
+
document.addEventListener("keyup", (e) => {
|
1272
|
+
this.isActive && (e.key === "ArrowLeft" ? this.moveSlide(-1) : e.key === "ArrowRight" && this.moveSlide(1));
|
1273
|
+
});
|
1274
|
+
},
|
1275
|
+
methods: {
|
1276
|
+
moveSlide(e) {
|
1277
|
+
const t = this.imageUrls.length;
|
1278
|
+
this.currentSlide = (t + this.currentSlide + e) % t, this.onCarouselChange();
|
1279
|
+
},
|
1280
|
+
onCarouselChange() {
|
1281
|
+
this.$emit("change", this.currentSlide), this.isActive = !0;
|
1282
|
+
},
|
1283
|
+
onClick() {
|
1284
|
+
this.$emit("click", this.currentSlide), this.clickable && (this.isActive = !1);
|
1285
|
+
},
|
1286
|
+
onClickOutside() {
|
1287
|
+
this.isActive = !1;
|
1288
|
+
},
|
1289
|
+
onIntersect(e) {
|
1290
|
+
this.isVisible = e[0].isIntersecting;
|
1291
|
+
}
|
1292
|
+
}
|
1293
|
+
});
|
1294
|
+
const Oe = {
|
1295
|
+
...Rt(pt, "imageUrls"),
|
1296
|
+
hotelOffer: {
|
1297
|
+
required: !0,
|
1298
|
+
type: Object
|
1299
|
+
},
|
1300
|
+
imageCountLimit: {
|
1301
|
+
type: Number
|
1302
|
+
}
|
1303
|
+
}, Te = h.extend({
|
1304
|
+
name: "HotelOfferItem",
|
1305
|
+
components: {
|
1306
|
+
BImageCarousel: Zt
|
1307
|
+
},
|
1308
|
+
mixins: [M],
|
1309
|
+
props: Oe,
|
1310
|
+
store: ct,
|
1311
|
+
computed: {
|
1312
|
+
hotelId() {
|
1313
|
+
return this.hotelOffer.id;
|
1314
|
+
},
|
1315
|
+
hotelImages() {
|
1316
|
+
return this.$store.get("hotelImages/images", this.hotelId);
|
1317
|
+
},
|
1318
|
+
imageUrls() {
|
1319
|
+
return Jt({
|
1320
|
+
hotelImages: this.hotelImages,
|
1321
|
+
images: this.hotelOffer.images
|
1322
|
+
});
|
1323
|
+
},
|
1324
|
+
carouselStyle() {
|
1325
|
+
return {
|
1326
|
+
borderTopLeftRadius: "0px",
|
1327
|
+
borderBottomLeftRadius: "0px",
|
1328
|
+
borderTopRightRadius: "0px"
|
1329
|
+
};
|
1330
|
+
}
|
1331
|
+
},
|
1332
|
+
async mounted() {
|
1333
|
+
await $("hotelImages/retrieveHotelImages", {
|
1334
|
+
hotelId: this.hotelId,
|
1335
|
+
locale: this.config.lang
|
1336
|
+
});
|
1337
|
+
}
|
1338
|
+
});
|
1339
|
+
var Ie = function() {
|
1340
|
+
var s, n;
|
1341
|
+
var t = this, i = t._self._c;
|
1342
|
+
return t._self._setupProxy, i("b-image-carousel", { style: t.carouselStyle, attrs: { clickable: "", height: t.height, "image-urls": ((n = (s = t.imageUrls) == null ? void 0 : s.lowres) == null ? void 0 : n.slice(0, t.imageCountLimit)) || [], lazy: 2, limit: 15, rounded: "", width: t.width } });
|
1343
|
+
}, Fe = [], Ve = /* @__PURE__ */ m(
|
1344
|
+
Te,
|
1345
|
+
Ie,
|
1346
|
+
Fe,
|
1347
|
+
!1,
|
1348
|
+
null,
|
1349
|
+
null,
|
1350
|
+
null,
|
1351
|
+
null
|
1352
|
+
);
|
1353
|
+
const Ae = Ve.exports, De = h.extend({
|
1354
|
+
name: "HotelOfferItem",
|
1355
|
+
components: {
|
1356
|
+
BBreakfastOptionBadge: At,
|
1357
|
+
BBreakpointObserver: Dt,
|
1358
|
+
BBtnCloseDialog: we,
|
1359
|
+
BErrorOverlay: Et,
|
1360
|
+
HotelOfferItemCarousel: Ae,
|
1361
|
+
BPriceSummary: Ht,
|
1362
|
+
BHotelRoomsDetails: Nt,
|
1363
|
+
BStarRating: Pt,
|
1364
|
+
BTag: Ut,
|
1365
|
+
BTripAdvisorRatingWidget: zt,
|
1366
|
+
CancellationPoliciesBadge: Ft,
|
1367
|
+
HotelDescriptionView: Gt,
|
1368
|
+
HotelOfferItemLayout: Vt,
|
1369
|
+
HotelRoomOffersView: Kt,
|
1370
|
+
BReviewRating: Wt,
|
1371
|
+
BTravelTimes: Yt
|
1372
|
+
},
|
1373
|
+
mixins: [
|
1374
|
+
M,
|
1375
|
+
lt,
|
1376
|
+
b("components/RevolugoElements/HotelOfferItem")
|
1377
|
+
],
|
1378
|
+
store: ct,
|
1379
|
+
props: Se,
|
1380
|
+
data() {
|
1381
|
+
return {
|
1382
|
+
showAdditionalContent: !1,
|
1383
|
+
mountAdditionalContent: !1,
|
1384
|
+
toggleDialog: !1
|
1385
|
+
};
|
1386
|
+
},
|
1387
|
+
computed: {
|
1388
|
+
adultCountLocal() {
|
1389
|
+
return this.adultCount || this.$store.get("hotelOfferRequest/adultCount");
|
1390
|
+
},
|
1391
|
+
checkInDateLocal() {
|
1392
|
+
return this.checkInDate || this.$store.get("hotelOfferRequest/checkInDate");
|
1393
|
+
},
|
1394
|
+
dialogComponentName() {
|
1395
|
+
if (this.features[f.HotelRoomOffersViewDialog])
|
1396
|
+
return "hotel-room-offers-view";
|
1397
|
+
if (this.features[f.HotelDescriptionViewDialog])
|
1398
|
+
return "hotel-description-view";
|
1399
|
+
},
|
1400
|
+
formattedDistance() {
|
1401
|
+
return this.hotelOffer.distance ? Math.round(this.hotelOffer.distance / 1e3 * 100) / 100 : 0;
|
1402
|
+
},
|
1403
|
+
hotelId() {
|
1404
|
+
return this.hotelOffer.id;
|
1405
|
+
},
|
1406
|
+
hotelOfferRequest() {
|
1407
|
+
return this.$store.get("hotelOfferRequest");
|
1408
|
+
},
|
1409
|
+
hotelRoomOffer() {
|
1410
|
+
return this.hotelOffer.hotelRoomOffers[0];
|
1411
|
+
},
|
1412
|
+
isTaxIncluded() {
|
1413
|
+
return this.hotelRoomOffer.taxes ? this.hotelRoomOffer.taxes.length === 0 : !0;
|
1414
|
+
},
|
1415
|
+
isRefundable() {
|
1416
|
+
return wt({
|
1417
|
+
bookingDatetime: St().format(),
|
1418
|
+
cancellationPolicies: this.hotelRoomOffer.cancellationPolicies,
|
1419
|
+
checkInDate: this.checkInDateLocal,
|
1420
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
1421
|
+
timezone: this.hotelOffer.timezone
|
1422
|
+
}) === 0;
|
1423
|
+
},
|
1424
|
+
hotelImages() {
|
1425
|
+
return this.$store.get("hotelImages/images", this.hotelId);
|
1426
|
+
},
|
1427
|
+
nightCountLocal() {
|
1428
|
+
return this.nightCount || this.$store.get("hotelOfferRequest/nightCount");
|
1429
|
+
},
|
1430
|
+
roomCount() {
|
1431
|
+
var e;
|
1432
|
+
return ((e = this.hotelRoomOffer) == null ? void 0 : e.hotelRooms.reduce(
|
1433
|
+
(t, i) => t + (i.count || 0),
|
1434
|
+
0
|
1435
|
+
)) || 0;
|
1436
|
+
},
|
1437
|
+
bigTags() {
|
1438
|
+
var e, t;
|
1439
|
+
return ((t = (e = this.hotelOffer) == null ? void 0 : e.tags) == null ? void 0 : t.filter((i) => i.name.length > 30)) || [];
|
1440
|
+
},
|
1441
|
+
smallTags() {
|
1442
|
+
var e, t;
|
1443
|
+
return ((t = (e = this.hotelOffer) == null ? void 0 : e.tags) == null ? void 0 : t.filter((i) => i.name.length <= 30)) || [];
|
1444
|
+
},
|
1445
|
+
venueTravelTimes() {
|
1446
|
+
var e;
|
1447
|
+
return (e = this.hotelOffer) == null ? void 0 : e.venues;
|
1448
|
+
}
|
1449
|
+
},
|
1450
|
+
mounted() {
|
1451
|
+
this.features[f.HotelRoomOffersViewDialog] && window.RevolugoElements.eventBus.$on(
|
1452
|
+
D.BOOKING_POLICY_CREATED,
|
1453
|
+
() => {
|
1454
|
+
setTimeout(() => {
|
1455
|
+
this.toggleDialog = !1;
|
1456
|
+
}, 350);
|
1457
|
+
}
|
1458
|
+
);
|
1459
|
+
},
|
1460
|
+
methods: {
|
1461
|
+
onHotelOfferItemClick() {
|
1462
|
+
window.RevolugoElements.eventBus.$emit(
|
1463
|
+
D.HOTEL_OFFERS_ITEM_CLICK,
|
1464
|
+
this.hotelOffer
|
1465
|
+
), this.features[f.HotelRoomOfferList] ? this.showAdditionalContent ? (this.showAdditionalContent = !1, setTimeout(() => {
|
1466
|
+
this.mountAdditionalContent = !1;
|
1467
|
+
}, 500)) : (this.mountAdditionalContent = !0, this.$nextTick(() => {
|
1468
|
+
this.showAdditionalContent = !0;
|
1469
|
+
})) : (this.features[f.HotelDescriptionViewDialog] || this.features[f.HotelRoomOffersViewDialog]) && (this.toggleDialog = !0);
|
1470
|
+
},
|
1471
|
+
onHotelOfferItemTitleClick() {
|
1472
|
+
window.RevolugoElements.eventBus.$emit(
|
1473
|
+
D.HOTEL_OFFERS_ITEM_CLICK,
|
1474
|
+
this.hotelOffer
|
1475
|
+
), this.toggleDialog = !0, this.features[f.HotelRoomOffersViewDialog] && (this.showAdditionalContent = !1, this.mountAdditionalContent = !1);
|
1476
|
+
}
|
1477
|
+
}
|
1478
|
+
});
|
1479
|
+
var Ee = function() {
|
1480
|
+
var t = this, i = t._self._c;
|
1481
|
+
return t._self._setupProxy, i("hotel-offer-item-layout", { staticClass: "hover-card", attrs: { compact: t.compact, "is-rooms-details-visible": t.features.RoomsDetails }, on: { click: t.onHotelOfferItemClick }, scopedSlots: t._u([{ key: "hotel-description-view-dialog", fn: function() {
|
1482
|
+
return [t.dialogComponentName ? i(se, { staticClass: "z-index-over-map", attrs: { attach: t.$dialogAttach, light: "", scrollable: "", transition: "slide-x-reverse-transition" }, model: { value: t.toggleDialog, callback: function(s) {
|
1483
|
+
t.toggleDialog = s;
|
1484
|
+
}, expression: "toggleDialog" } }, [i("b-btn-close-dialog", { nativeOn: { click: function(s) {
|
1485
|
+
t.toggleDialog = !1;
|
1486
|
+
} } }), i("b-breakpoint-observer", { attrs: { "at-root": "" } }, [i(k, { attrs: { tile: "" } }, [i(P, [i(t.dialogComponentName, t._b({ tag: "component", staticClass: "pt-2 pa-md-6", attrs: { "hotel-id": t.hotelId } }, "component", t.hotelOfferRequest, !1))], 1)], 1)], 1)], 1) : t._e()];
|
1487
|
+
}, proxy: !0 }, { key: "carousel", fn: function() {
|
1488
|
+
return [i(Qt, { attrs: { height: t.features.RoomsDetails ? "175px" : "140px", width: !t.$breakpointService.xs && !t.compact ? "175px" : "100%" } }, [i("hotel-offer-item-carousel", { attrs: { height: t.features.RoomsDetails ? "175px" : "140px", "hotel-offer": t.hotelOffer, "image-count-limit": t.imageCountLimit, width: !t.$breakpointService.xs && !t.compact ? "175px" : "100%" } })], 1)];
|
1489
|
+
}, proxy: !0 }, { key: "heading", fn: function() {
|
1490
|
+
var s;
|
1491
|
+
return [t.dialogComponentName && t.features.HotelRoomOfferList ? [i(ut, { attrs: { attach: (s = t.$el) == null ? void 0 : s.parent, bottom: "" }, scopedSlots: t._u([{ key: "activator", fn: function({ on: n }) {
|
1492
|
+
return [i("span", t._g({ staticClass: "hotel-name subtitle-1 font-weight-black mr-1 primary--text cursor-pointer", on: { click: function(a) {
|
1493
|
+
return a.stopPropagation(), t.onHotelOfferItemTitleClick.apply(null, arguments);
|
1494
|
+
} } }, n), [t._v(" " + t._s(t.hotelOffer.name) + " ")])];
|
1495
|
+
} }], null, !1, 3153989022) }, [t._v(" " + t._s(t.$t("HotelOfferItem.openDialogTooltip", { value: t.formattedDistance })) + " ")])] : [i("span", { staticClass: "hotel-name subtitle-1 font-weight-black mr-1 primary--text cursor-pointer" }, [t._v(" " + t._s(t.hotelOffer.name) + " ")])], i("b-star-rating", { attrs: { count: t.hotelOffer.rating } })];
|
1496
|
+
}, proxy: !0 }, { key: "review-rating", fn: function() {
|
1497
|
+
return [i("b-review-rating", { attrs: { features: {
|
1498
|
+
ReviewRatingDetails: !1
|
1499
|
+
}, hotel: t.hotelOffer } })];
|
1500
|
+
}, proxy: !0 }, { key: "distance", fn: function() {
|
1501
|
+
return [isNaN(t.formattedDistance) ? t._e() : i("span", { staticClass: "grey--text text--darken-2 text-caption mt-n1 d-block" }, [t._v(" " + t._s(t.$t("HotelOfferItem.distance", { value: t.formattedDistance })) + " ")]), t.venueTravelTimes ? i("b-travel-times", { staticClass: "my-n1", attrs: { "venue-travel-times": t.venueTravelTimes } }) : t._e()];
|
1502
|
+
}, proxy: !0 }, { key: "big-tags", fn: function() {
|
1503
|
+
return t._l(t.bigTags, function(s, n) {
|
1504
|
+
return i("div", { key: n, staticClass: "align-self-center d-inline-flex flex-wrap", style: { gap: "0.3em" } }, [i("b-tag", { attrs: { color: s.bg, "pre-icon": `fa-${s.faIcon}`, "text-color": s.color, "tooltip-content": s.description } }, [t._v(" " + t._s(s.name) + " ")])], 1);
|
1505
|
+
});
|
1506
|
+
}, proxy: !0 }, { key: "tags", fn: function() {
|
1507
|
+
return t._l(t.smallTags, function(s, n) {
|
1508
|
+
return i("div", { key: n, staticClass: "align-self-center d-inline-flex flex-wrap", style: { gap: "0.3em" } }, [i("b-tag", { attrs: { color: s.bg, "pre-icon": `fa-${s.faIcon}`, "text-color": s.color, "tooltip-content": s.description } }, [t._v(" " + t._s(s.name) + " ")])], 1);
|
1509
|
+
});
|
1510
|
+
}, proxy: !0 }, { key: "breakfast-option-badge", fn: function() {
|
1511
|
+
return [t.hotelRoomOffer.breakfastOption === "INCLUDED" ? i("b-breakfast-option-badge", { attrs: { "breakfast-option": t.hotelRoomOffer.breakfastOption } }) : t._e()];
|
1512
|
+
}, proxy: !0 }, t.isRefundable ? { key: "cancellation-policies-badge", fn: function() {
|
1513
|
+
return [i("cancellation-policies-badge", { attrs: { "cancellation-policies": t.hotelRoomOffer.cancellationPolicies, "check-in-date": t.checkInDateLocal, timezone: t.hotelOffer.timezone } })];
|
1514
|
+
}, proxy: !0 } : null, { key: "package-details", fn: function() {
|
1515
|
+
return [i("b-hotel-rooms-details", { attrs: { "hotel-rooms": t.hotelRoomOffer.hotelRooms } })];
|
1516
|
+
}, proxy: !0 }, { key: "price-summary", fn: function() {
|
1517
|
+
return [t.hotelRoomOffer.price ? i("div", [i("b-price-summary", { attrs: { "adult-count": t.adultCountLocal, "is-starting-price": "", "is-tax-included": t.isTaxIncluded, "night-count": t.nightCountLocal, price: t.hotelRoomOffer.price, "room-count": t.roomCount, "round-mode": "round" } })], 1) : t._e()];
|
1518
|
+
}, proxy: !0 }, { key: "footer", fn: function() {
|
1519
|
+
return [i("div", { staticClass: "footer white" }, [t.isNoLongerAvail ? i("b-error-overlay", { scopedSlots: t._u([{ key: "title", fn: function() {
|
1520
|
+
return [t._v(" " + t._s(t.$t("HotelOfferItem.noLongerAvailable")) + " ")];
|
1521
|
+
}, proxy: !0 }], null, !1, 2439747837) }) : t.mountAdditionalContent ? i(ee, [i("div", { directives: [{ name: "show", rawName: "v-show", value: t.features.HotelRoomOfferList && t.showAdditionalContent, expression: "features.HotelRoomOfferList && showAdditionalContent" }], staticClass: "mt-2", staticStyle: { cursor: "auto" } }, [t.mountAdditionalContent ? t._t("default") : t._e()], 2)]) : t._e()], 1)];
|
1522
|
+
}, proxy: !0 }], null, !0) });
|
1523
|
+
}, Le = [], Ne = /* @__PURE__ */ m(
|
1524
|
+
De,
|
1525
|
+
Ee,
|
1526
|
+
Le,
|
1527
|
+
!1,
|
1528
|
+
null,
|
1529
|
+
"9898fa06",
|
1530
|
+
null,
|
1531
|
+
null
|
1532
|
+
);
|
1533
|
+
const $s = Ne.exports;
|
1534
|
+
var ft = /* @__PURE__ */ ((e) => (e.DEBUG = "DEBUG", e.ERROR = "ERROR", e.INFO = "INFO", e.WARN = "WARN", e))(ft || {});
|
1535
|
+
function S(e, t = "INFO") {
|
1536
|
+
switch (t) {
|
1537
|
+
case "DEBUG": {
|
1538
|
+
console.log(`[DEBUG] ${e}`);
|
1539
|
+
break;
|
1540
|
+
}
|
1541
|
+
case "INFO": {
|
1542
|
+
console.log(`[INFO] ${e}`);
|
1543
|
+
break;
|
1544
|
+
}
|
1545
|
+
case "WARN": {
|
1546
|
+
console.warn(`[WARN] ${e}`);
|
1547
|
+
break;
|
1548
|
+
}
|
1549
|
+
case "ERROR": {
|
1550
|
+
console.error(`[ERROR] ${e}`);
|
1551
|
+
break;
|
1552
|
+
}
|
1553
|
+
default: {
|
1554
|
+
console.log(`[${ft[t]}] ${e}`);
|
1555
|
+
break;
|
1556
|
+
}
|
1557
|
+
}
|
1558
|
+
}
|
1559
|
+
const He = {
|
1560
|
+
debug: (e) => S(
|
1561
|
+
e,
|
1562
|
+
"DEBUG"
|
1563
|
+
/* DEBUG */
|
1564
|
+
),
|
1565
|
+
info: (e) => S(
|
1566
|
+
e,
|
1567
|
+
"INFO"
|
1568
|
+
/* INFO */
|
1569
|
+
),
|
1570
|
+
warn: (e) => S(
|
1571
|
+
e,
|
1572
|
+
"WARN"
|
1573
|
+
/* WARN */
|
1574
|
+
),
|
1575
|
+
error: (e) => S(
|
1576
|
+
e,
|
1577
|
+
"ERROR"
|
1578
|
+
/* ERROR */
|
1579
|
+
)
|
1580
|
+
}, Pe = {
|
1581
|
+
compact: {
|
1582
|
+
type: Boolean,
|
1583
|
+
default: !0
|
1584
|
+
},
|
1585
|
+
isFlat: {
|
1586
|
+
type: Boolean,
|
1587
|
+
default: !0
|
1588
|
+
},
|
1589
|
+
outlined: {
|
1590
|
+
type: Boolean,
|
1591
|
+
default: !1
|
1592
|
+
},
|
1593
|
+
withDetails: {
|
1594
|
+
type: Boolean,
|
1595
|
+
default: !1
|
1596
|
+
},
|
1597
|
+
value: {
|
1598
|
+
type: Object,
|
1599
|
+
default: null
|
1600
|
+
},
|
1601
|
+
locationContext: {
|
1602
|
+
type: Object,
|
1603
|
+
default: null
|
1604
|
+
}
|
1605
|
+
}, ze = h.extend({
|
1606
|
+
name: "BSearchLocationInput",
|
1607
|
+
mixins: [b("components/ui/BSearchLocationInput")],
|
1608
|
+
props: Pe,
|
1609
|
+
data() {
|
1610
|
+
return {
|
1611
|
+
selectedLocation: this.value,
|
1612
|
+
locations: [],
|
1613
|
+
loading: !1,
|
1614
|
+
searchInput: ""
|
1615
|
+
};
|
1616
|
+
},
|
1617
|
+
watch: {
|
1618
|
+
value(e) {
|
1619
|
+
this.selectLocation(e);
|
1620
|
+
},
|
1621
|
+
selectedLocation(e) {
|
1622
|
+
this.$emit("input", e);
|
1623
|
+
},
|
1624
|
+
async searchInput(e) {
|
1625
|
+
if (!e) {
|
1626
|
+
this.locations = [];
|
1627
|
+
return;
|
1628
|
+
}
|
1629
|
+
await this.searchLocations();
|
1630
|
+
}
|
1631
|
+
},
|
1632
|
+
mounted() {
|
1633
|
+
this.$nextTick(() => {
|
1634
|
+
var e, t;
|
1635
|
+
this.searchInput = ((t = (e = this.selectedLocation) == null ? void 0 : e.raw) == null ? void 0 : t.title) || "";
|
1636
|
+
});
|
1637
|
+
},
|
1638
|
+
methods: {
|
1639
|
+
searchLocations: Ot(
|
1640
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
1641
|
+
async function() {
|
1642
|
+
var t, i;
|
1643
|
+
try {
|
1644
|
+
this.loading = !0;
|
1645
|
+
const n = {
|
1646
|
+
q: this.searchInput,
|
1647
|
+
apiKey: jt,
|
1648
|
+
maxresults: 10
|
1649
|
+
};
|
1650
|
+
this.locationContext && (n.at = `${(t = this.locationContext) == null ? void 0 : t.latitude},${(i = this.locationContext) == null ? void 0 : i.longitude}`);
|
1651
|
+
const a = await qt.get("https://geocode.search.hereapi.com/v1/geocode", {
|
1652
|
+
params: n
|
1653
|
+
}).then((r) => {
|
1654
|
+
var o;
|
1655
|
+
return (o = r.data) == null ? void 0 : o.items;
|
1656
|
+
});
|
1657
|
+
return this.locations = a.map((r) => ({
|
1658
|
+
title: Y([
|
1659
|
+
r.address.houseNumber,
|
1660
|
+
r.address.street
|
1661
|
+
]).join(" "),
|
1662
|
+
subtitle: Y([
|
1663
|
+
r.address.postalCode,
|
1664
|
+
r.address.city,
|
1665
|
+
r.address.countryName
|
1666
|
+
]).join(", "),
|
1667
|
+
longitude: r.position.lng,
|
1668
|
+
latitude: r.position.lat,
|
1669
|
+
raw: r
|
1670
|
+
})), this.loading = !1, this.locations;
|
1671
|
+
} catch (s) {
|
1672
|
+
return He.error(s), this.loading = !1, [];
|
1673
|
+
}
|
1674
|
+
},
|
1675
|
+
500,
|
1676
|
+
{
|
1677
|
+
trailing: !0
|
1678
|
+
}
|
1679
|
+
),
|
1680
|
+
selectLocation(e) {
|
1681
|
+
this.selectedLocation = e;
|
1682
|
+
},
|
1683
|
+
getSelection(e) {
|
1684
|
+
var t;
|
1685
|
+
return (t = e == null ? void 0 : e.raw) == null ? void 0 : t.title;
|
1686
|
+
}
|
1687
|
+
}
|
1688
|
+
});
|
1689
|
+
var We = function() {
|
1690
|
+
var t = this, i = t._self._c;
|
1691
|
+
return t._self._setupProxy, i(oe, { staticClass: "search-location-input", attrs: { "append-icon": "", attach: "", dense: t.compact, flat: t.isFlat, "hide-details": !t.withDetails, "hide-no-data": "", "item-text": "raw.title", items: t.locations, label: t.$t("BSearchLocationInput.placeholder"), loading: t.loading, "no-filter": "", outlined: t.outlined, "prepend-inner-icon": "fa-solid fa-magnifying-glass", "return-object": "", "search-input": t.searchInput, solo: !t.outlined, value: t.getSelection(t.selectedLocation) }, on: { "update:searchInput": function(s) {
|
1692
|
+
t.searchInput = s;
|
1693
|
+
}, "update:search-input": function(s) {
|
1694
|
+
t.searchInput = s;
|
1695
|
+
} }, scopedSlots: t._u([{ key: "item", fn: function({ item: s }) {
|
1696
|
+
return [i(re, { on: { click: function(n) {
|
1697
|
+
return t.selectLocation(s);
|
1698
|
+
} } }, [i(H, [t._v(t._s(s.title))]), i(ae, [t._v(t._s(s.subtitle))])], 1)];
|
1699
|
+
} }]) });
|
1700
|
+
}, Ue = [], Ge = /* @__PURE__ */ m(
|
1701
|
+
ze,
|
1702
|
+
We,
|
1703
|
+
Ue,
|
1704
|
+
!1,
|
1705
|
+
null,
|
1706
|
+
null,
|
1707
|
+
null,
|
1708
|
+
null
|
1709
|
+
);
|
1710
|
+
const Cs = Ge.exports, Ye = 25, vt = {
|
1711
|
+
currency: {
|
1712
|
+
required: !0,
|
1713
|
+
type: String
|
1714
|
+
},
|
1715
|
+
disabled: {
|
1716
|
+
default: !1,
|
1717
|
+
type: Boolean
|
1718
|
+
},
|
1719
|
+
isLoading: {
|
1720
|
+
default: !1,
|
1721
|
+
type: Boolean
|
1722
|
+
},
|
1723
|
+
priceMax: {
|
1724
|
+
default: 10,
|
1725
|
+
type: Number
|
1726
|
+
},
|
1727
|
+
priceMin: {
|
1728
|
+
default: 5,
|
1729
|
+
type: Number
|
1730
|
+
},
|
1731
|
+
stepCount: {
|
1732
|
+
type: Number,
|
1733
|
+
default: Ye
|
1734
|
+
},
|
1735
|
+
value: {
|
1736
|
+
type: Array
|
1737
|
+
}
|
1738
|
+
}, it = (e, t) => {
|
1739
|
+
const s = t - e, n = s / 40, r = 10 ** (Math.floor(Math.log10(n)) - 1), o = Math.round(n / r) * r, p = Math.max(o, s / 40);
|
1740
|
+
return Math.floor(p);
|
1741
|
+
}, je = h.extend({
|
1742
|
+
name: "BFilterByPrice",
|
1743
|
+
components: { BFormattedAmount: ht },
|
1744
|
+
mixins: [M],
|
1745
|
+
props: vt,
|
1746
|
+
data() {
|
1747
|
+
return {
|
1748
|
+
inputMax: Math.max(...this.value) || this.priceMax,
|
1749
|
+
inputMin: Math.min(...this.value) || this.priceMin,
|
1750
|
+
modelMax: Math.max(...this.value) || this.priceMax,
|
1751
|
+
modelMin: Math.min(...this.value) || this.priceMin,
|
1752
|
+
rangeSliderModel: [
|
1753
|
+
Math.min(...this.value) || this.priceMin,
|
1754
|
+
Math.max(...this.value) || this.priceMax
|
1755
|
+
],
|
1756
|
+
step: it(this.priceMin, this.priceMax)
|
1757
|
+
};
|
1758
|
+
},
|
1759
|
+
computed: {
|
1760
|
+
getChartBarHeight() {
|
1761
|
+
return (e) => `${Math.log(e + 1) / Math.log(Math.max(...this.priceHistogram)) * 40}px`;
|
1762
|
+
},
|
1763
|
+
currencySymbol() {
|
1764
|
+
return Tt(this.currency);
|
1765
|
+
},
|
1766
|
+
hotelOffersCurrency: d("hotelOffers/hotelOffersCurrency"),
|
1767
|
+
priceHistogram: d("hotelOffers/priceHistogram"),
|
1768
|
+
validPriceRange() {
|
1769
|
+
return It([this.priceMin, this.priceMax]);
|
1770
|
+
}
|
1771
|
+
},
|
1772
|
+
watch: {
|
1773
|
+
rangeSliderModel(e) {
|
1774
|
+
this.inputMin = e[0], this.inputMax = e[1];
|
1775
|
+
},
|
1776
|
+
value: {
|
1777
|
+
handler(e) {
|
1778
|
+
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];
|
1779
|
+
},
|
1780
|
+
deep: !0,
|
1781
|
+
immediate: !0
|
1782
|
+
}
|
1783
|
+
},
|
1784
|
+
created() {
|
1785
|
+
this.$watch(
|
1786
|
+
() => [this.priceMin, this.priceMax],
|
1787
|
+
() => {
|
1788
|
+
this.step = it(this.priceMin, this.priceMax);
|
1789
|
+
}
|
1790
|
+
);
|
1791
|
+
},
|
1792
|
+
methods: {
|
1793
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
1794
|
+
onInputMaxBlur(e) {
|
1795
|
+
var t;
|
1796
|
+
this.modelMax = Math.max(
|
1797
|
+
Math.min(this.validPriceRange[1], Math.ceil((t = e.target) == null ? void 0 : t.value)),
|
1798
|
+
this.validPriceRange[0]
|
1799
|
+
), this.inputMax = this.modelMax, this.rangeSliderModel = [this.modelMin, this.modelMax], this.$emit("input", [this.modelMin, this.modelMax]);
|
1800
|
+
},
|
1801
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
1802
|
+
onInputMinBlur(e) {
|
1803
|
+
var t;
|
1804
|
+
this.modelMin = Math.min(
|
1805
|
+
Math.max(this.validPriceRange[0], Math.ceil((t = e.target) == null ? void 0 : t.value)),
|
1806
|
+
this.validPriceRange[1]
|
1807
|
+
), this.inputMin = this.modelMin, this.rangeSliderModel = [this.modelMin, this.modelMax], this.$emit("input", [this.modelMin, this.modelMax]);
|
1808
|
+
},
|
1809
|
+
onInputMaxClear() {
|
1810
|
+
this.inputMax = this.validPriceRange[1], this.modelMax = this.inputMax, this.rangeSliderModel = [this.modelMin, this.modelMax], this.$emit("input", [this.modelMin, this.modelMax]);
|
1811
|
+
},
|
1812
|
+
onInputMinClear() {
|
1813
|
+
this.inputMin = this.validPriceRange[0], this.modelMin = this.inputMin, this.rangeSliderModel = [this.modelMin, this.modelMax], this.$emit("input", [this.modelMin, this.modelMax]);
|
1814
|
+
},
|
1815
|
+
onSliderEnd() {
|
1816
|
+
this.modelMin = this.rangeSliderModel[0], this.modelMax = this.rangeSliderModel[1], this.$emit("input", [this.modelMin, this.modelMax]);
|
1817
|
+
}
|
1818
|
+
}
|
1819
|
+
});
|
1820
|
+
var qe = function() {
|
1821
|
+
var t = this, i = t._self._c;
|
1822
|
+
return t._self._setupProxy, i("div", { staticStyle: { "max-width": "400px" } }, [i(v, { attrs: { "no-gutters": "" } }, [i(u, [i(P, { staticClass: "filter-price-slider pa-0", class: t.disabled && "cursor-not-allowed" }, [t.isLoading ? [i("ul", { staticClass: "chart" }, [t._l(Array.from(
|
1823
|
+
{ length: 30 },
|
1824
|
+
() => Math.random() * 35 + 5
|
1825
|
+
), function(s, n) {
|
1826
|
+
return [i("li", { key: n }, [i("span", { staticClass: "loader" })])];
|
1827
|
+
})], 2)] : [i("ul", { staticClass: "chart" }, [t._l(t.priceHistogram, function(s, n) {
|
1828
|
+
return [i("li", { key: n }, [i("span", { style: { height: t.getChartBarHeight(s), width: "95%" } })])];
|
1829
|
+
})], 2)], i(Me, { ref: "range-slider", attrs: { disabled: t.disabled || t.isLoading, max: t.validPriceRange[1], min: t.validPriceRange[0], readonly: t.disabled || t.isLoading, step: t.step, "thumb-label": !1, "track-color": "#e2e2e2" }, on: { end: t.onSliderEnd }, model: { value: t.rangeSliderModel, callback: function(s) {
|
1830
|
+
t.rangeSliderModel = s;
|
1831
|
+
}, expression: "rangeSliderModel" } })], 2)], 1)], 1), i(v, { staticClass: "mt-10", attrs: { "no-gutters": "" } }, [i(u, [i(tt, { ref: "price-min", attrs: { "append-icon": t.$isCurrentBreakpointBelow("sm") ? null : "fa-circle-xmark", dense: "", disabled: t.disabled || t.isLoading, label: "Min", max: t.inputMax, min: t.validPriceRange[0], outlined: "", prefix: t.currencySymbol, step: t.step, type: "number" }, on: { blur: t.onInputMinBlur, "click:append": t.onInputMinClear }, model: { value: t.inputMin, callback: function(s) {
|
1832
|
+
t.inputMin = s;
|
1833
|
+
}, expression: "inputMin" } })], 1), i(u, { staticClass: "d-flex align-center", attrs: { cols: "2" } }, [i(O)], 1), i(u, [i(tt, { ref: "price-max", attrs: { "append-icon": t.$isCurrentBreakpointBelow("sm") ? null : "fa-circle-xmark", dense: "", disabled: t.disabled || t.isLoading, label: "Max", max: t.validPriceRange[1], min: t.inputMin, outlined: "", prefix: t.currencySymbol, step: t.step, type: "number" }, on: { blur: t.onInputMaxBlur, "click:append": t.onInputMaxClear }, model: { value: t.inputMax, callback: function(s) {
|
1834
|
+
t.inputMax = s;
|
1835
|
+
}, expression: "inputMax" } })], 1)], 1)], 1);
|
1836
|
+
}, Ke = [], Xe = /* @__PURE__ */ m(
|
1837
|
+
je,
|
1838
|
+
qe,
|
1839
|
+
Ke,
|
1840
|
+
!1,
|
1841
|
+
null,
|
1842
|
+
"bc63ec9f",
|
1843
|
+
null,
|
1844
|
+
null
|
1845
|
+
);
|
1846
|
+
const gt = Xe.exports, Ze = h.extend({
|
1847
|
+
name: "BFilterByPriceMenu",
|
1848
|
+
components: {
|
1849
|
+
BFilterByPrice: gt,
|
1850
|
+
BFormattedAmount: ht
|
1851
|
+
},
|
1852
|
+
mixins: [b("components/ui/BFilterByPriceMenu"), M],
|
1853
|
+
props: vt,
|
1854
|
+
data() {
|
1855
|
+
return {
|
1856
|
+
isMenuOpen: !1,
|
1857
|
+
model: this.value
|
1858
|
+
};
|
1859
|
+
},
|
1860
|
+
computed: {
|
1861
|
+
configCurrency() {
|
1862
|
+
return this.config.currency ?? j.EUR.code;
|
1863
|
+
},
|
1864
|
+
currencies() {
|
1865
|
+
return Object.values(j);
|
1866
|
+
},
|
1867
|
+
currencySymbol() {
|
1868
|
+
var e;
|
1869
|
+
return (e = this.currencies.find(
|
1870
|
+
(t) => t.code === this.configCurrency
|
1871
|
+
)) == null ? void 0 : e.symbol;
|
1872
|
+
},
|
1873
|
+
formattedPriceMin() {
|
1874
|
+
return q({
|
1875
|
+
amount: this.model[0] || this.priceMin,
|
1876
|
+
currency: this.config.currency,
|
1877
|
+
locale: this.config.lang
|
1878
|
+
});
|
1879
|
+
},
|
1880
|
+
formattedPriceMax() {
|
1881
|
+
return q({
|
1882
|
+
amount: this.model[1] || this.priceMax,
|
1883
|
+
currency: this.config.currency,
|
1884
|
+
locale: this.config.lang
|
1885
|
+
});
|
1886
|
+
},
|
1887
|
+
formattedPriceRange() {
|
1888
|
+
return `${this.formattedPriceMin} - ${this.formattedPriceMax}`;
|
1889
|
+
}
|
1890
|
+
},
|
1891
|
+
watch: {
|
1892
|
+
value: {
|
1893
|
+
deep: !0,
|
1894
|
+
immediate: !0,
|
1895
|
+
handler(e) {
|
1896
|
+
this.model = e;
|
1897
|
+
}
|
1898
|
+
}
|
1899
|
+
},
|
1900
|
+
methods: {
|
1901
|
+
onApply() {
|
1902
|
+
this.$emit("input", this.model), this.isMenuOpen = !1;
|
1903
|
+
},
|
1904
|
+
onCancel() {
|
1905
|
+
this.model = this.value, this.isMenuOpen = !1;
|
1906
|
+
},
|
1907
|
+
onReset() {
|
1908
|
+
this.isMenuOpen = !1, this.$emit("reset");
|
1909
|
+
}
|
1910
|
+
}
|
1911
|
+
});
|
1912
|
+
var Je = function() {
|
1913
|
+
var t = this, i = t._self._c;
|
1914
|
+
return t._self._setupProxy, i(F, t._b({ attrs: { attach: t.$parent.$el, "close-on-click": "", "close-on-content-click": !1, "max-width": "400px", "offset-overflow": "", "offset-y": "", "open-on-click": "" }, scopedSlots: t._u([{ key: "activator", fn: function({ on: s }) {
|
1915
|
+
var n;
|
1916
|
+
return [i(V, { staticStyle: { cursor: "pointer" }, attrs: { color: "grey", icon: "fa-times", overlap: "", value: !!t.formattedPriceRange }, nativeOn: { click: function(a) {
|
1917
|
+
return t.onReset.apply(null, arguments);
|
1918
|
+
} } }, [i(ut, { attrs: { attach: (n = t.$el) == null ? void 0 : n.parent, bottom: "", color: "grey darken-3" }, scopedSlots: t._u([{ key: "activator", fn: function({ on: a }) {
|
1919
|
+
return [i(l, t._g({ staticClass: "white--text", attrs: { color: "grey", elevation: 0, outlined: "", small: "" } }, {
|
1920
|
+
...s,
|
1921
|
+
...a
|
1922
|
+
}), [i("span", [i("b", [t._v(" " + t._s(t.currencySymbol))])])])];
|
1923
|
+
} }], null, !0) }, [t.priceMin !== 0 && t.priceMax !== 0 ? [t._v(" " + t._s(t.formattedPriceRange) + " ")] : t._e()], 2)], 1)];
|
1924
|
+
} }]), model: { value: t.isMenuOpen, callback: function(s) {
|
1925
|
+
t.isMenuOpen = s;
|
1926
|
+
}, expression: "isMenuOpen" } }, "v-menu", t.$attrs, !1), [i(k, { attrs: { elevation: "0" } }, [i("div", { staticClass: "text-center px-10 pt-4" }, [i("p", { staticClass: "font-weight-bold" }, [t._v(" " + t._s(t.$t("BFilterByPriceMenu.title")) + " ")]), i("b-filter-by-price", t._b({ model: { value: t.model, callback: function(s) {
|
1927
|
+
t.model = s;
|
1928
|
+
}, expression: "model" } }, "b-filter-by-price", t.$props, !1))], 1), i(z, { staticClass: "justify-end mt-2" }, [i(l, { staticClass: "text-right", attrs: { color: "primary", elevation: "0", small: "", text: "" }, on: { click: t.onCancel } }, [t._v(" " + t._s(t.$t("BFilterByPriceMenu.cancel")) + " ")]), i(l, { staticClass: "text-right", attrs: { color: "error", elevation: "0", loading: t.isLoading, small: "", text: "" }, on: { click: t.onReset } }, [t._v(" " + t._s(t.$t("BFilterByPriceMenu.reset")) + " ")]), i(l, { staticClass: "text-right", attrs: { color: "success", elevation: "0", loading: t.isLoading, small: "" }, on: { click: t.onApply } }, [t._v(" " + t._s(t.$t("BFilterByPriceMenu.apply")) + " ")])], 1)], 1)], 1);
|
1929
|
+
}, Qe = [], ti = /* @__PURE__ */ m(
|
1930
|
+
Ze,
|
1931
|
+
Je,
|
1932
|
+
Qe,
|
1933
|
+
!1,
|
1934
|
+
null,
|
1935
|
+
"38487da2",
|
1936
|
+
null,
|
1937
|
+
null
|
1938
|
+
);
|
1939
|
+
const ei = ti.exports, ii = {
|
1940
|
+
value: {
|
1941
|
+
type: [Number, void 0]
|
1942
|
+
},
|
1943
|
+
disabled: { type: Boolean }
|
1944
|
+
}, si = h.extend({
|
1945
|
+
name: "BFilterByReview",
|
1946
|
+
props: ii,
|
1947
|
+
computed: {
|
1948
|
+
model: {
|
1949
|
+
get() {
|
1950
|
+
return this.value;
|
1951
|
+
},
|
1952
|
+
set(e) {
|
1953
|
+
this.$emit("input", e);
|
1954
|
+
}
|
1955
|
+
},
|
1956
|
+
reviewRatingItems() {
|
1957
|
+
return [
|
1958
|
+
{
|
1959
|
+
label: "3+",
|
1960
|
+
value: 3
|
1961
|
+
},
|
1962
|
+
{
|
1963
|
+
label: "3.5+",
|
1964
|
+
value: 3.5
|
1965
|
+
},
|
1966
|
+
{
|
1967
|
+
label: "4+",
|
1968
|
+
value: 4
|
1969
|
+
},
|
1970
|
+
{
|
1971
|
+
label: "4.5+",
|
1972
|
+
value: 4.5
|
1973
|
+
}
|
1974
|
+
];
|
1975
|
+
}
|
1976
|
+
}
|
1977
|
+
});
|
1978
|
+
var ni = function() {
|
1979
|
+
var t = this, i = t._self._c;
|
1980
|
+
return t._self._setupProxy, i(_e, { staticClass: "d-flex flex-row justify-center", model: { value: t.model, callback: function(s) {
|
1981
|
+
t.model = s;
|
1982
|
+
}, expression: "model" } }, t._l(t.reviewRatingItems, function(s, n) {
|
1983
|
+
return i(l, { key: n, staticClass: "px-0", class: t.disabled && "cursor-not-allowed", attrs: { color: "primary", disabled: t.disabled, outlined: "", small: "", value: s.value } }, [t._v(" " + t._s(s.label) + " ")]);
|
1984
|
+
}), 1);
|
1985
|
+
}, ri = [], ai = /* @__PURE__ */ m(
|
1986
|
+
si,
|
1987
|
+
ni,
|
1988
|
+
ri,
|
1989
|
+
!1,
|
1990
|
+
null,
|
1991
|
+
null,
|
1992
|
+
null,
|
1993
|
+
null
|
1994
|
+
);
|
1995
|
+
const _t = ai.exports, yt = {
|
1996
|
+
value: {
|
1997
|
+
type: [Number, void 0]
|
1998
|
+
},
|
1999
|
+
disabled: { type: Boolean }
|
2000
|
+
};
|
2001
|
+
h.extend({
|
2002
|
+
name: "BFilterByReview",
|
2003
|
+
props: yt,
|
2004
|
+
computed: {
|
2005
|
+
model: {
|
2006
|
+
get() {
|
2007
|
+
return this.value;
|
2008
|
+
},
|
2009
|
+
set(e) {
|
2010
|
+
this.$emit("input", e);
|
2011
|
+
}
|
2012
|
+
},
|
2013
|
+
reviewRatingItems() {
|
2014
|
+
return [
|
2015
|
+
{
|
2016
|
+
label: "3+",
|
2017
|
+
value: 3
|
2018
|
+
},
|
2019
|
+
{
|
2020
|
+
label: "3.5+",
|
2021
|
+
value: 3.5
|
2022
|
+
},
|
2023
|
+
{
|
2024
|
+
label: "4+",
|
2025
|
+
value: 4
|
2026
|
+
},
|
2027
|
+
{
|
2028
|
+
label: "4.5+",
|
2029
|
+
value: 4.5
|
2030
|
+
}
|
2031
|
+
];
|
2032
|
+
}
|
2033
|
+
}
|
2034
|
+
});
|
2035
|
+
const oi = {
|
2036
|
+
isLoading: {
|
2037
|
+
default: !1,
|
2038
|
+
type: Boolean
|
2039
|
+
},
|
2040
|
+
value: { ...yt.value }
|
2041
|
+
}, li = h.extend({
|
2042
|
+
name: "BFilterByReviewMenu",
|
2043
|
+
components: { BFilterByReview: _t },
|
2044
|
+
mixins: [b("components/ui/BFilterByReviewMenu"), M],
|
2045
|
+
props: oi,
|
2046
|
+
data() {
|
2047
|
+
return {
|
2048
|
+
isMenuOpen: !1,
|
2049
|
+
model: this.value
|
2050
|
+
};
|
2051
|
+
},
|
2052
|
+
watch: {
|
2053
|
+
value: {
|
2054
|
+
immediate: !0,
|
2055
|
+
handler(e) {
|
2056
|
+
this.model = e;
|
2057
|
+
}
|
2058
|
+
}
|
2059
|
+
},
|
2060
|
+
methods: {
|
2061
|
+
closeMenu() {
|
2062
|
+
this.isMenuOpen = !1;
|
2063
|
+
},
|
2064
|
+
onApply() {
|
2065
|
+
this.closeMenu(), this.$emit("input", this.model);
|
2066
|
+
},
|
2067
|
+
onCancel() {
|
2068
|
+
this.model = this.value, this.closeMenu();
|
2069
|
+
},
|
2070
|
+
onReset() {
|
2071
|
+
this.closeMenu(), this.$emit("reset");
|
2072
|
+
}
|
2073
|
+
}
|
2074
|
+
});
|
2075
|
+
var ci = function() {
|
2076
|
+
var t = this, i = t._self._c;
|
2077
|
+
return t._self._setupProxy, i(F, t._b({ attrs: { attach: t.$parent.$el, bottom: "", "close-on-content-click": !1, "content-class": "pa-0", "nudge-left": "130%", "offset-y": "", "open-on-click": "" }, scopedSlots: t._u([{ key: "activator", fn: function({ on: s }) {
|
2078
|
+
return [i(V, { staticStyle: { cursor: "pointer" }, attrs: { color: "grey", icon: "fa-times", overlap: "", value: !!t.value }, nativeOn: { click: function(n) {
|
2079
|
+
return t.onReset.apply(null, arguments);
|
2080
|
+
} } }, [i(l, t._g({ staticClass: "white--text", attrs: { color: "grey", elevation: 0, outlined: "", small: "" } }, s), [i("span", [i("b", [t._v(t._s(t.value) + "+")])])])], 1)];
|
2081
|
+
} }]), model: { value: t.isMenuOpen, callback: function(s) {
|
2082
|
+
t.isMenuOpen = s;
|
2083
|
+
}, expression: "isMenuOpen" } }, "v-menu", t.$attrs, !1), [i(k, { attrs: { elevation: "0" } }, [i("div", { staticClass: "text-center px-10 py-4" }, [i("p", { staticClass: "font-weight-bold" }, [t._v(" " + t._s(t.$t("BFilterByReviewMenu.title")) + " ")]), i("b-filter-by-review", { attrs: { disabled: t.isLoading }, model: { value: t.value, callback: function(s) {
|
2084
|
+
t.value = s;
|
2085
|
+
}, expression: "value" } })], 1), i(z, { staticClass: "justify-end pa-2" }, [i(l, { staticClass: "text-right", attrs: { color: "primary", elevation: "0", small: "", text: "" }, on: { click: t.closeMenu } }, [t._v(" " + t._s(t.$t("BFilterByReviewMenu.cancel")) + " ")]), i(l, { staticClass: "text-right", attrs: { color: "error", elevation: "0", small: "", text: "" }, on: { click: t.onReset } }, [t._v(" " + t._s(t.$t("BFilterByReviewMenu.reset")) + " ")]), i(l, { staticClass: "text-right", attrs: { color: "success", elevation: "0", small: "" }, on: { click: t.onApply } }, [t._v(" " + t._s(t.$t("BFilterByReviewMenu.apply")) + " ")])], 1)], 1)], 1);
|
2086
|
+
}, ui = [], hi = /* @__PURE__ */ m(
|
2087
|
+
li,
|
2088
|
+
ci,
|
2089
|
+
ui,
|
2090
|
+
!1,
|
2091
|
+
null,
|
2092
|
+
"07d0a70a",
|
2093
|
+
null,
|
2094
|
+
null
|
2095
|
+
);
|
2096
|
+
const di = hi.exports, mi = {
|
2097
|
+
value: {
|
2098
|
+
type: [Number, String]
|
2099
|
+
},
|
2100
|
+
disabled: { type: Boolean }
|
2101
|
+
}, pi = h.extend({
|
2102
|
+
name: "BFilterByStar",
|
2103
|
+
props: mi,
|
2104
|
+
computed: {
|
2105
|
+
color() {
|
2106
|
+
return this.disabled ? "grey lighten-1" : "orange";
|
2107
|
+
},
|
2108
|
+
model: {
|
2109
|
+
get() {
|
2110
|
+
return Number(this.value.split(",").at(0));
|
2111
|
+
},
|
2112
|
+
set(e) {
|
2113
|
+
const t = at(e, 6).join(",");
|
2114
|
+
this.$emit("input", t);
|
2115
|
+
}
|
2116
|
+
}
|
2117
|
+
}
|
2118
|
+
});
|
2119
|
+
var fi = function() {
|
2120
|
+
var t = this, i = t._self._c;
|
2121
|
+
return t._self._setupProxy, i(xe, { class: t.disabled && "cursor-not-allowed", attrs: { "background-color": t.color, color: t.color, dense: "", disabled: t.disabled, "empty-icon": "$ratingEmpty", hover: "", readonly: t.disabled, size: "24" }, model: { value: t.model, callback: function(s) {
|
2122
|
+
t.model = s;
|
2123
|
+
}, expression: "model" } });
|
2124
|
+
}, vi = [], gi = /* @__PURE__ */ m(
|
2125
|
+
pi,
|
2126
|
+
fi,
|
2127
|
+
vi,
|
2128
|
+
!1,
|
2129
|
+
null,
|
2130
|
+
null,
|
2131
|
+
null,
|
2132
|
+
null
|
2133
|
+
);
|
2134
|
+
const bt = gi.exports, Mt = {
|
2135
|
+
value: {
|
2136
|
+
type: [Number, String]
|
2137
|
+
},
|
2138
|
+
disabled: { type: Boolean }
|
2139
|
+
};
|
2140
|
+
h.extend({
|
2141
|
+
name: "BFilterByStar",
|
2142
|
+
props: Mt,
|
2143
|
+
computed: {
|
2144
|
+
color() {
|
2145
|
+
return this.disabled ? "grey lighten-1" : "orange";
|
2146
|
+
},
|
2147
|
+
model: {
|
2148
|
+
get() {
|
2149
|
+
return Number(this.value.split(",").at(0));
|
2150
|
+
},
|
2151
|
+
set(e) {
|
2152
|
+
const t = at(e, 6).join(",");
|
2153
|
+
this.$emit("input", t);
|
2154
|
+
}
|
2155
|
+
}
|
2156
|
+
}
|
2157
|
+
});
|
2158
|
+
const _i = {
|
2159
|
+
isLoading: {
|
2160
|
+
type: Boolean,
|
2161
|
+
default: !1
|
2162
|
+
},
|
2163
|
+
value: { ...Mt.value }
|
2164
|
+
}, yi = h.extend({
|
2165
|
+
name: "BFilterByStarMenu",
|
2166
|
+
components: { BFilterByStar: bt },
|
2167
|
+
mixins: [b("components/ui/BFilterByStarMenu"), M],
|
2168
|
+
props: _i,
|
2169
|
+
data() {
|
2170
|
+
return {
|
2171
|
+
isMenuOpen: !1,
|
2172
|
+
model: this.value
|
2173
|
+
};
|
2174
|
+
},
|
2175
|
+
watch: {
|
2176
|
+
value: {
|
2177
|
+
immediate: !0,
|
2178
|
+
handler(e) {
|
2179
|
+
this.model = e;
|
2180
|
+
}
|
2181
|
+
}
|
2182
|
+
},
|
2183
|
+
methods: {
|
2184
|
+
closeMenu() {
|
2185
|
+
this.isMenuOpen = !1;
|
2186
|
+
},
|
2187
|
+
onApply() {
|
2188
|
+
this.closeMenu(), this.$emit("input", this.model);
|
2189
|
+
},
|
2190
|
+
onCancel() {
|
2191
|
+
this.model = this.value, this.isMenuOpen = !1;
|
2192
|
+
},
|
2193
|
+
onReset() {
|
2194
|
+
this.closeMenu(), this.$emit("reset");
|
2195
|
+
}
|
2196
|
+
}
|
2197
|
+
});
|
2198
|
+
var bi = function() {
|
2199
|
+
var t = this, i = t._self._c;
|
2200
|
+
return t._self._setupProxy, i(F, t._b({ attrs: { attach: t.$parent.$el, "close-on-content-click": !1, "content-class": "pa-0", "nudge-left": "100%", "offset-overflow": "", "offset-y": "", "open-on-click": "" }, scopedSlots: t._u([{ key: "activator", fn: function({ on: s }) {
|
2201
|
+
return [i(V, { staticStyle: { cursor: "pointer" }, attrs: { color: "grey", icon: "fa-times", overlap: "", value: !!t.model }, nativeOn: { click: function(n) {
|
2202
|
+
return t.onReset.apply(null, arguments);
|
2203
|
+
} } }, [i(l, t._g({ staticClass: "white--text", attrs: { color: "grey", elevation: 0, outlined: "", small: "" } }, s), [i("span", [i("span", [t._v(t._s(t.value.split(",")[0]))]), t.model ? [i(g, { attrs: { id: "star-icon" } }, [t._v(" fa-solid fa-star ")])] : t._e()], 2)])], 1)];
|
2204
|
+
} }]), model: { value: t.isMenuOpen, callback: function(s) {
|
2205
|
+
t.isMenuOpen = s;
|
2206
|
+
}, expression: "isMenuOpen" } }, "v-menu", t.$attrs, !1), [i(k, { attrs: { elevation: "0" } }, [i("div", { staticClass: "text-center px-10 py-4" }, [i("p", { staticClass: "font-weight-bold" }, [t._v(" " + t._s(t.$t("BFilterByStarMenu.title")) + " ")]), i("b-filter-by-star", { model: { value: t.model, callback: function(s) {
|
2207
|
+
t.model = s;
|
2208
|
+
}, expression: "model" } })], 1), i(z, { staticClass: "justify-end pa-2" }, [i(l, { staticClass: "text-right", attrs: { color: "primary", elevation: "0", small: "", text: "" }, on: { click: t.onCancel } }, [t._v(" " + t._s(t.$t("BFilterByStarMenu.cancel")) + " ")]), i(l, { staticClass: "text-right", attrs: { color: "error", elevation: "0", small: "", text: "" }, on: { click: t.onReset } }, [t._v(" " + t._s(t.$t("BFilterByStarMenu.reset")) + " ")]), i(l, { staticClass: "text-right", attrs: { color: "success", elevation: "0", small: "" }, on: { click: t.onApply } }, [t._v(" " + t._s(t.$t("BFilterByStarMenu.apply")) + " ")])], 1)], 1)], 1);
|
2209
|
+
}, Mi = [], xi = /* @__PURE__ */ m(
|
2210
|
+
yi,
|
2211
|
+
bi,
|
2212
|
+
Mi,
|
2213
|
+
!1,
|
2214
|
+
null,
|
2215
|
+
"4d9bbf7d",
|
2216
|
+
null,
|
2217
|
+
null
|
2218
|
+
);
|
2219
|
+
const $i = xi.exports, Ci = {
|
2220
|
+
attach: {
|
2221
|
+
type: [Boolean, Element],
|
2222
|
+
default: !0
|
2223
|
+
},
|
2224
|
+
value: {
|
2225
|
+
required: !0,
|
2226
|
+
type: Object
|
2227
|
+
}
|
2228
|
+
}, Bi = h.extend({
|
2229
|
+
name: "BSortByMenu",
|
2230
|
+
mixins: [b("components/ui/BSortByMenu")],
|
2231
|
+
props: Ci,
|
2232
|
+
data() {
|
2233
|
+
return {
|
2234
|
+
items: [
|
2235
|
+
{
|
2236
|
+
value: _.TopPicks,
|
2237
|
+
direction: y.Asc
|
2238
|
+
},
|
2239
|
+
{
|
2240
|
+
value: _.Distance,
|
2241
|
+
direction: y.Asc
|
2242
|
+
},
|
2243
|
+
{
|
2244
|
+
value: _.Price,
|
2245
|
+
direction: y.Asc
|
2246
|
+
},
|
2247
|
+
{
|
2248
|
+
value: _.Price,
|
2249
|
+
direction: y.Desc
|
2250
|
+
},
|
2251
|
+
{
|
2252
|
+
value: _.Rating,
|
2253
|
+
direction: y.Asc
|
2254
|
+
},
|
2255
|
+
{
|
2256
|
+
value: _.Rating,
|
2257
|
+
direction: y.Desc
|
2258
|
+
},
|
2259
|
+
{
|
2260
|
+
value: _.ReviewRating,
|
2261
|
+
direction: y.Desc
|
2262
|
+
}
|
2263
|
+
],
|
2264
|
+
isMenuOpen: !1
|
2265
|
+
};
|
2266
|
+
},
|
2267
|
+
computed: {
|
2268
|
+
model: {
|
2269
|
+
get() {
|
2270
|
+
const e = this.items.findIndex(
|
2271
|
+
(t) => t.value === this.value.value && t.direction === this.value.direction
|
2272
|
+
);
|
2273
|
+
return e === -1 ? 0 : e;
|
2274
|
+
},
|
2275
|
+
set(e) {
|
2276
|
+
this.$emit("input", this.items[e], c.SORT_BY);
|
2277
|
+
}
|
2278
|
+
}
|
2279
|
+
}
|
2280
|
+
});
|
2281
|
+
var ki = function() {
|
2282
|
+
var t = this, i = t._self._c;
|
2283
|
+
return t._self._setupProxy, i(F, { attrs: { attach: t.attach, eager: "", left: "", "offset-y": "", origin: "top left", transition: "scroll-y-transition" }, scopedSlots: t._u([{ key: "activator", fn: function({ on: s, attrs: n }) {
|
2284
|
+
return [i(l, t._g(t._b({ attrs: { color: "secondary", elevation: 0, small: "" } }, "v-btn", n, !1), s), [i("span", [t.$t(
|
2285
|
+
`BSortByMenu.options.${t.items[t.model].value}.${t.value.direction}.icon`
|
2286
|
+
).length ? i(g, { staticClass: "mr-1", class: t.$t(
|
2287
|
+
`BSortByMenu.options.${t.items[t.model].value}.${t.value.direction}.style`
|
2288
|
+
), attrs: { size: "12" } }, [t._v(" " + t._s(t.$t(`BSortByMenu.options.${t.items[t.model].value}.${t.value.direction}.icon`)) + " ")]) : t._e(), t._v(" " + t._s(t.$t(`BSortByMenu.options.${t.items[t.model].value}.name`)) + " "), i(g, { attrs: { size: "10" } }, [t._v(" fa-chevron-down ")])], 1)])];
|
2289
|
+
} }]), model: { value: t.isMenuOpen, callback: function(s) {
|
2290
|
+
t.isMenuOpen = s;
|
2291
|
+
}, expression: "isMenuOpen" } }, [i(ge, { staticClass: "b-sort-by-list white pa-0", attrs: { mandatory: "" }, model: { value: t.model, callback: function(s) {
|
2292
|
+
t.model = s;
|
2293
|
+
}, expression: "model" } }, [i(H, { staticClass: "pt-2" }, [i("small", { staticClass: "px-4 font-weight-bold" }, [t._v(t._s(t.$t("BSortByMenu.prefix")))])]), t._l(t.items, function(s, n) {
|
2294
|
+
return i(me, { key: n, staticClass: "px-3" }, [i(H, [i("small", { staticClass: "grey--text text--darken-3" }, [t.$t(`BSortByMenu.options.${s.value}.${s.direction}.icon`).length ? i(g, { staticClass: "grey--text text--darken-3", class: t.$t(`BSortByMenu.options.${s.value}.${s.direction}.style`), staticStyle: { "min-width": "24px" }, attrs: { size: "14" } }, [t._v(" " + t._s(t.$t(`BSortByMenu.options.${s.value}.${s.direction}.icon`)) + " ")]) : t._e(), t._v(" " + t._s(t.$t(`BSortByMenu.options.${s.value}.name`)) + " " + t._s(t.$t(`BSortByMenu.options.${s.value}.${s.direction}.wording`)) + " ")], 1)])], 1);
|
2295
|
+
})], 2)], 1);
|
2296
|
+
}, Ri = [], wi = /* @__PURE__ */ m(
|
2297
|
+
Bi,
|
2298
|
+
ki,
|
2299
|
+
Ri,
|
2300
|
+
!1,
|
2301
|
+
null,
|
2302
|
+
"90bc84a5",
|
2303
|
+
null,
|
2304
|
+
null
|
2305
|
+
);
|
2306
|
+
const Si = wi.exports, Oi = {
|
2307
|
+
isLoading: {
|
2308
|
+
default: !1,
|
2309
|
+
type: Boolean
|
2310
|
+
},
|
2311
|
+
small: {
|
2312
|
+
default: !0,
|
2313
|
+
type: Boolean
|
2314
|
+
},
|
2315
|
+
withSort: {
|
2316
|
+
default: !0,
|
2317
|
+
type: Boolean
|
2318
|
+
}
|
2319
|
+
}, Ti = h.extend({
|
2320
|
+
name: "BHotelOffersFiltersBar",
|
2321
|
+
components: {
|
2322
|
+
BSortByMenu: Si,
|
2323
|
+
BFilterByPrice: gt,
|
2324
|
+
BFilterByPriceMenu: ei,
|
2325
|
+
BFilterByStar: bt,
|
2326
|
+
BFilterByStarMenu: $i,
|
2327
|
+
BFilterByReview: _t,
|
2328
|
+
BFilterByReviewMenu: di
|
2329
|
+
},
|
2330
|
+
mixins: [
|
2331
|
+
M,
|
2332
|
+
lt,
|
2333
|
+
b("components/ui/BHotelOffersFilterBar")
|
2334
|
+
],
|
2335
|
+
props: Oi,
|
2336
|
+
data() {
|
2337
|
+
return {
|
2338
|
+
FILTER_NAMES: c,
|
2339
|
+
isDialogOpen: !1,
|
2340
|
+
filterByPriceModel: K,
|
2341
|
+
filterByReviewRatingModel: X,
|
2342
|
+
filterByStarRatingModel: Z,
|
2343
|
+
priceUpdatedByUser: !1
|
2344
|
+
};
|
2345
|
+
},
|
2346
|
+
computed: {
|
2347
|
+
activeFiltersNumber: d("hotelOffers/activeFiltersNumber"),
|
2348
|
+
areFiltersActive: d("hotelOffers/areFiltersActive"),
|
2349
|
+
filters: d("hotelOffers/filters"),
|
2350
|
+
hotelOfferRequest: d("hotelOfferRequest"),
|
2351
|
+
isPriceFilterActive: d("hotelOffers/isPriceFilterActive"),
|
2352
|
+
isResetButtonVisible() {
|
2353
|
+
var e, t;
|
2354
|
+
return ((e = this.filters[c.SORT_BY]) == null ? void 0 : e.value) !== ((t = w[c.SORT_BY]) == null ? void 0 : t.value) || this.isStarRatingFilterActive || this.isReviewRatingFilterActive || this.isPriceFilterActive;
|
2355
|
+
},
|
2356
|
+
isStarRatingFilterActive: d(
|
2357
|
+
"hotelOffers/isStarRatingFilterActive"
|
2358
|
+
),
|
2359
|
+
isReviewRatingFilterActive: d(
|
2360
|
+
"hotelOffers/isReviewRatingFilterActive"
|
2361
|
+
),
|
2362
|
+
priceHistogramStepCount: d("hotelOffers/priceHistogramStepCount"),
|
2363
|
+
priceMax: d("hotelOffers/getPriceMax"),
|
2364
|
+
priceMin: d("hotelOffers/getPriceMin"),
|
2365
|
+
sortByModel: {
|
2366
|
+
get() {
|
2367
|
+
return this.filters[c.SORT_BY];
|
2368
|
+
},
|
2369
|
+
async set(e) {
|
2370
|
+
await $("hotelOffers/saveFilters", {
|
2371
|
+
...this.filters,
|
2372
|
+
[c.SORT_BY]: e
|
2373
|
+
});
|
2374
|
+
}
|
2375
|
+
}
|
2376
|
+
},
|
2377
|
+
watch: {
|
2378
|
+
filters: {
|
2379
|
+
deep: !0,
|
2380
|
+
immediate: !0,
|
2381
|
+
handler() {
|
2382
|
+
this.syncFilters();
|
2383
|
+
}
|
2384
|
+
}
|
2385
|
+
},
|
2386
|
+
methods: {
|
2387
|
+
onCancel() {
|
2388
|
+
this.syncFilters(), this.isDialogOpen = !1;
|
2389
|
+
},
|
2390
|
+
async onSaveFilters() {
|
2391
|
+
await $("hotelOffers/saveFilters", {
|
2392
|
+
...this.filters,
|
2393
|
+
[c.RATING]: this.filterByStarRatingModel,
|
2394
|
+
[c.REVIEW_RATING]: this.filterByReviewRatingModel,
|
2395
|
+
[c.PRICE]: [
|
2396
|
+
this.filterByPriceModel[0] === this.priceMin ? 0 : this.filterByPriceModel[0],
|
2397
|
+
this.filterByPriceModel[1] === this.priceMax ? 0 : this.filterByPriceModel[1]
|
2398
|
+
]
|
2399
|
+
}), this.isDialogOpen = !1;
|
2400
|
+
},
|
2401
|
+
async resetPriceFilter() {
|
2402
|
+
await $("hotelOffers/saveFilters", {
|
2403
|
+
...this.filters,
|
2404
|
+
[c.PRICE]: K
|
2405
|
+
});
|
2406
|
+
},
|
2407
|
+
async resetStarRatingFilter() {
|
2408
|
+
await $("hotelOffers/saveFilters", {
|
2409
|
+
...this.filters,
|
2410
|
+
[c.RATING]: Z
|
2411
|
+
});
|
2412
|
+
},
|
2413
|
+
async resetReviewRatingFilter() {
|
2414
|
+
await $("hotelOffers/saveFilters", {
|
2415
|
+
...this.filters,
|
2416
|
+
[c.REVIEW_RATING]: X
|
2417
|
+
});
|
2418
|
+
},
|
2419
|
+
onResetFilters() {
|
2420
|
+
this.filterByPriceModel = w[c.PRICE], this.filterByStarRatingModel = w[c.RATING], this.filterByReviewRatingModel = w[c.REVIEW_RATING];
|
2421
|
+
},
|
2422
|
+
syncFilters() {
|
2423
|
+
this.filterByPriceModel = this.filters[c.PRICE], this.filterByStarRatingModel = this.filters[c.RATING], this.filterByReviewRatingModel = this.filters[c.REVIEW_RATING];
|
2424
|
+
}
|
2425
|
+
}
|
2426
|
+
});
|
2427
|
+
var Ii = function() {
|
2428
|
+
var t = this, i = t._self._c;
|
2429
|
+
return t._self._setupProxy, i("div", [i(be, { attrs: { absolute: "", "overlay-opacity": "0.3", temporary: "", width: t.$isCurrentBreakpointBelow("sm") ? "100%" : "auto" }, model: { value: t.isDialogOpen, callback: function(s) {
|
2430
|
+
t.isDialogOpen = s;
|
2431
|
+
}, expression: "isDialogOpen" } }, [i(k, { attrs: { elevation: "0", light: "" } }, [i(ne, { staticClass: "py-1", staticStyle: { "background-color": "#fff", "z-index": "1", position: "fixed", top: "0", width: "100%" } }, [i(v, [i(u, { attrs: { cols: "auto" } }, [i(l, { attrs: { icon: "" }, on: { click: t.onCancel } }, [i(g, [t._v(" fa fa-arrow-left ")])], 1), i("small", {}, [t._v(" " + t._s(t.$t("BHotelFiltersMenu.filterBy")) + " ")])], 1), i(u, { attrs: { align: "end" } }, [i(l, { staticClass: "mr-2", attrs: { color: "primary", small: "", text: "" }, on: { click: t.onCancel } }, [t._v(" " + t._s(t.$t("BHotelFiltersMenu.cancel")) + " ")]), i(l, { staticClass: "mr-2", attrs: { color: "error", small: "", text: "" }, on: { click: t.onResetFilters } }, [t._v(" " + t._s(t.$t("BHotelFiltersMenu.reset")) + " ")]), i(l, { attrs: { color: "success", elevation: "0", small: "" }, on: { click: t.onSaveFilters } }, [t._v(" " + t._s(t.$t("BHotelFiltersMenu.apply")) + " ")])], 1)], 1)], 1), i(O, { staticClass: "mt-11" }), i(P, [i(v, [i(u, { staticClass: "px-8", attrs: { align: "center", cols: "12" } }, [i("p", { staticClass: "font-weight-bold" }, [t._v(" " + t._s(t.$t("BHotelFiltersMenu.price")) + " ")]), i("b-filter-by-price", { attrs: { currency: t.config.currency, "is-loading": t.isLoading, "price-max": t.priceMax, "price-min": t.priceMin, "step-count": t.priceHistogramStepCount }, model: { value: t.filterByPriceModel, callback: function(s) {
|
2432
|
+
t.filterByPriceModel = s;
|
2433
|
+
}, expression: "filterByPriceModel" } })], 1)], 1), i(O, { staticClass: "my-6 mx-12" }), i(v, [i(u, { attrs: { align: "center", cols: "12" } }, [i("p", { staticClass: "font-weight-bold" }, [t._v(" " + t._s(t.$t("BHotelFiltersMenu.star")) + " ")]), i("b-filter-by-star", { model: { value: t.filterByStarRatingModel, callback: function(s) {
|
2434
|
+
t.filterByStarRatingModel = s;
|
2435
|
+
}, expression: "filterByStarRatingModel" } })], 1)], 1), i(O, { staticClass: "my-6 mx-12" }), i(v, [i(u, { staticClass: "py-4", attrs: { align: "center", cols: "12" } }, [i("p", { staticClass: "font-weight-bold" }, [t._v(" " + t._s(t.$t("BHotelFiltersMenu.review")) + " ")]), i("b-filter-by-review", { model: { value: t.filterByReviewRatingModel, callback: function(s) {
|
2436
|
+
t.filterByReviewRatingModel = s;
|
2437
|
+
}, expression: "filterByReviewRatingModel" } })], 1)], 1)], 1)], 1)], 1), i(v, { staticClass: "pa-2", attrs: { justify: "space-between" } }, [i(u, { attrs: { cols: "auto" } }, [i(v, { attrs: { dense: "" } }, [i(u, [i(V, { staticStyle: { cursor: "pointer" }, attrs: { bordered: "", color: "secondary", content: t.activeFiltersNumber, icon: "fa-times", overlap: "", value: t.activeFiltersNumber } }, [i(l, { attrs: { color: "secondary", elevation: 0, small: t.small }, on: { click: function(s) {
|
2438
|
+
t.isDialogOpen = !0;
|
2439
|
+
} } }, [i(g, { staticClass: "mr-1", attrs: { size: "14" } }, [t._v(" fa-sliders ")]), t._v(t._s(t.$t("BHotelFiltersMenu.filters")) + " ")], 1)], 1)], 1), t.isPriceFilterActive ? i(u, { staticClass: "mx-1" }, [i("b-filter-by-price-menu", { attrs: { currency: t.config.currency, "is-loading": t.isLoading, "price-max": t.priceMax, "price-min": t.priceMin, "step-count": t.priceHistogramStepCount }, on: { input: t.onSaveFilters, reset: t.resetPriceFilter }, model: { value: t.filterByPriceModel, callback: function(s) {
|
2440
|
+
t.filterByPriceModel = s;
|
2441
|
+
}, expression: "filterByPriceModel" } })], 1) : t._e(), t.isStarRatingFilterActive ? i(u, { staticClass: "mx-1" }, [i("b-filter-by-star-menu", { on: { input: t.onSaveFilters, reset: t.resetStarRatingFilter }, model: { value: t.filterByStarRatingModel, callback: function(s) {
|
2442
|
+
t.filterByStarRatingModel = s;
|
2443
|
+
}, expression: "filterByStarRatingModel" } })], 1) : t._e(), t.isReviewRatingFilterActive ? i(u, { staticClass: "mx-1" }, [i("b-filter-by-review-menu", { on: { input: t.onSaveFilters, reset: t.resetReviewRatingFilter }, model: { value: t.filterByReviewRatingModel, callback: function(s) {
|
2444
|
+
t.filterByReviewRatingModel = s;
|
2445
|
+
}, expression: "filterByReviewRatingModel" } })], 1) : t._e()], 1)], 1), t.withSort ? i(u, { attrs: { cols: "auto" } }, [i("b-sort-by-menu", { attrs: { attach: t.$el, "filter-key": t.FILTER_NAMES.SORT_BY, left: "" }, model: { value: t.sortByModel, callback: function(s) {
|
2446
|
+
t.sortByModel = s;
|
2447
|
+
}, expression: "sortByModel" } })], 1) : t._e()], 1)], 1);
|
2448
|
+
}, Fi = [], Vi = /* @__PURE__ */ m(
|
2449
|
+
Ti,
|
2450
|
+
Ii,
|
2451
|
+
Fi,
|
2452
|
+
!1,
|
2453
|
+
null,
|
2454
|
+
"c0c65af1",
|
2455
|
+
null,
|
2456
|
+
null
|
2457
|
+
);
|
2458
|
+
const Bs = Vi.exports;
|
2459
|
+
function Ai(e) {
|
2460
|
+
return /^([+-]?\d*\.?\d+([Ee][+-]?\d+)?|[+-]?\d*\.?\d+)(px|em|rem|vw|vh|vmin|vmax|%|cm|mm|in|pt|pc|ch|ex|q)$/u.test(
|
2461
|
+
e
|
2462
|
+
);
|
2463
|
+
}
|
2464
|
+
function st(e) {
|
2465
|
+
if (e)
|
2466
|
+
return typeof e == "number" ? `${e}px` : typeof e == "string" && (Ai(e) || e.startsWith("var")) ? e : Number.isNaN(e) ? "100%" : `${e}px`;
|
2467
|
+
}
|
2468
|
+
const ks = h.extend({
|
2469
|
+
data() {
|
2470
|
+
return {
|
2471
|
+
parsedHeight: st(this.height)
|
2472
|
+
};
|
2473
|
+
},
|
2474
|
+
watch: {
|
2475
|
+
height: {
|
2476
|
+
immediate: !0,
|
2477
|
+
handler(e) {
|
2478
|
+
this.parsedHeight = st(e);
|
2479
|
+
}
|
2480
|
+
}
|
2481
|
+
}
|
2482
|
+
});
|
2483
|
+
Ct("css/revolugo.parsed-height.Xzhpy3D3.css");
|
2484
|
+
export {
|
2485
|
+
Cs as B,
|
2486
|
+
$e as H,
|
2487
|
+
f as a,
|
2488
|
+
Bs as b,
|
2489
|
+
$s as c,
|
2490
|
+
ks as p
|
2491
|
+
};
|
2492
|
+
//# sourceMappingURL=revolugo.parsed-height.DRzHRmIo.min.js.map
|