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

Sign up to get free protection for your applications and to get access to all the features.
Files changed (247) hide show
  1. package/dist/css/revolugo.0.min.css +5 -0
  2. package/dist/css/revolugo.1.min.css +1 -0
  3. package/dist/css/revolugo.11.min.css +1 -0
  4. package/dist/css/revolugo.12.min.css +1 -0
  5. package/dist/css/revolugo.13.min.css +1 -0
  6. package/dist/css/revolugo.14.min.css +1 -0
  7. package/dist/css/revolugo.15.min.css +1 -0
  8. package/dist/css/revolugo.16.min.css +1 -0
  9. package/dist/css/revolugo.17.min.css +1 -0
  10. package/dist/css/revolugo.18.min.css +1 -0
  11. package/dist/css/revolugo.19.min.css +1 -0
  12. package/dist/css/revolugo.2.min.css +1 -0
  13. package/dist/css/revolugo.20.min.css +1 -0
  14. package/dist/css/revolugo.21.min.css +1 -0
  15. package/dist/css/revolugo.22.min.css +1 -0
  16. package/dist/css/revolugo.23.min.css +1 -0
  17. package/dist/css/revolugo.24.min.css +1 -0
  18. package/dist/css/revolugo.25.min.css +1 -0
  19. package/dist/css/revolugo.26.min.css +1 -0
  20. package/dist/css/revolugo.27.min.css +1 -0
  21. package/dist/css/revolugo.28.min.css +1 -0
  22. package/dist/css/revolugo.29.min.css +1 -0
  23. package/dist/css/revolugo.30.min.css +1 -0
  24. package/dist/css/revolugo.31.min.css +1 -0
  25. package/dist/css/revolugo.32.min.css +1 -0
  26. package/dist/css/revolugo.33.min.css +1 -0
  27. package/dist/css/revolugo.34.min.css +1 -0
  28. package/dist/css/revolugo.4.min.css +1 -0
  29. package/dist/css/revolugo.5.min.css +1 -0
  30. package/dist/css/revolugo.6.min.css +1 -0
  31. package/dist/css/revolugo.7.min.css +1 -0
  32. package/dist/css/revolugo.fonts.min.css +1 -0
  33. package/dist/fonts/amenities.2aad1d12.woff +0 -0
  34. package/dist/fonts/amenities.9adae269.ttf +0 -0
  35. package/dist/fonts/amenities.a9bf50f8.svg +42 -0
  36. package/dist/fonts/amenities.bd6b3a4a.eot +0 -0
  37. package/dist/fonts/beds.2b8e38c8.svg +12 -0
  38. package/dist/img/apst.c1092975.png +0 -0
  39. package/dist/img/apst.ec7669f2.png +0 -0
  40. package/dist/img/atout-france.72107e30.png +0 -0
  41. package/dist/img/atout-france.df038f22.png +0 -0
  42. package/dist/img/revolugo.179c459d.png +0 -0
  43. package/dist/img/revolugo.e0879dcc.png +0 -0
  44. package/dist/img/stripe.405543e2.png +0 -0
  45. package/dist/img/stripe.c3e16f9f.png +0 -0
  46. package/dist/index.min.js +1 -65
  47. package/dist/revolugo.0.min.js +18 -0
  48. package/dist/revolugo.1.min.js +1 -0
  49. package/dist/revolugo.11.min.js +134 -0
  50. package/dist/revolugo.12.min.js +19 -0
  51. package/dist/revolugo.13.min.js +14 -0
  52. package/dist/revolugo.14.min.js +19 -0
  53. package/dist/revolugo.15.min.js +139 -0
  54. package/dist/revolugo.16.min.js +14 -0
  55. package/dist/revolugo.17.min.js +14 -0
  56. package/dist/revolugo.18.min.js +1 -0
  57. package/dist/revolugo.19.min.js +1 -0
  58. package/dist/revolugo.2.min.js +1 -0
  59. package/dist/revolugo.20.min.js +1 -0
  60. package/dist/revolugo.21.min.js +116 -0
  61. package/dist/revolugo.22.min.js +1 -0
  62. package/dist/revolugo.23.min.js +1 -0
  63. package/dist/revolugo.24.min.js +1 -0
  64. package/dist/revolugo.25.min.js +1 -0
  65. package/dist/revolugo.26.min.js +1 -0
  66. package/dist/revolugo.27.min.js +1 -0
  67. package/dist/revolugo.28.min.js +116 -0
  68. package/dist/revolugo.29.min.js +1 -0
  69. package/dist/revolugo.30.min.js +1 -0
  70. package/dist/revolugo.31.min.js +1 -0
  71. package/dist/revolugo.32.min.js +1 -0
  72. package/dist/revolugo.33.min.js +1 -0
  73. package/dist/revolugo.34.min.js +1 -0
  74. package/dist/revolugo.35.min.js +1 -0
  75. package/dist/revolugo.36.min.js +1 -0
  76. package/dist/revolugo.4.min.js +1 -0
  77. package/dist/revolugo.5.min.js +1 -0
  78. package/dist/revolugo.6.min.js +1 -0
  79. package/dist/revolugo.7.min.js +1 -0
  80. package/dist/revolugo.en-US.min.js +1 -0
  81. package/dist/revolugo.fonts.min.js +1 -0
  82. package/dist/revolugo.fr-FR.min.js +1 -0
  83. package/dist/revolugo.min.js +7 -257
  84. package/package.json +32 -25
  85. package/dist/css/fonts.css +0 -1
  86. package/dist/css/revolugo.bdaterangepicker.DEh20utH.css +0 -1
  87. package/dist/css/revolugo.bhotelroomsdetails.4XsxkvH7.css +0 -1
  88. package/dist/css/revolugo.bhotelsearchbar.dwYB1gUC.css +0 -1
  89. package/dist/css/revolugo.bookingdetailssidebar.tDtXpaIj.css +0 -1
  90. package/dist/css/revolugo.bphoneinput.Kq_-XiGI.css +0 -1
  91. package/dist/css/revolugo.bstarrating.nzH7iii4.css +0 -1
  92. package/dist/css/revolugo.btag.Bdbqb_8a.css +0 -1
  93. package/dist/css/revolugo.common.BSIsYREh.css +0 -1
  94. package/dist/css/revolugo.creditcardform.BGPUxkRC.css +0 -1
  95. package/dist/css/revolugo.creditcardpayment.0MNnDloZ.css +0 -1
  96. package/dist/css/revolugo.currencypicker.BRYsKdMu.css +0 -1
  97. package/dist/css/revolugo.fullbookingflow.BHV7_MhK.css +0 -1
  98. package/dist/css/revolugo.hotel-offer.CEd50mBT.css +0 -1
  99. package/dist/css/revolugo.hoteldescriptionview.9ofE1uWG.css +0 -1
  100. package/dist/css/revolugo.hoteloffersmap.0LnWfOu_.css +0 -1
  101. package/dist/css/revolugo.hoteloffersview.MWOmwEwv.css +0 -1
  102. package/dist/css/revolugo.hotelroomofferlist.xJfKaofV.css +0 -1
  103. package/dist/css/revolugo.hotelroomoffersbookingflow.PPEIqHuM.css +0 -1
  104. package/dist/css/revolugo.hotelroomoffersview.B8Y-2QYc.css +0 -1
  105. package/dist/css/revolugo.index.BMkl7a3p.css +0 -1
  106. package/dist/css/revolugo.index.CFW4Oklv.css +0 -1
  107. package/dist/css/revolugo.index.vq4xksqn.css +0 -1
  108. package/dist/css/revolugo.langpicker.B3TsOwUq.css +0 -1
  109. package/dist/css/revolugo.parsed-height.Xzhpy3D3.css +0 -1
  110. package/dist/css/revolugo.parsed-props.C3kOvm7T.css +0 -1
  111. package/dist/css/revolugo.prebookform.DBm2B4rS.css +0 -1
  112. package/dist/css/revolugo.revolugo-config.Dg8v1l3c.css +0 -5
  113. package/dist/css/revolugo.storybooktoolbar.CVnww0dZ.css +0 -1
  114. package/dist/css/revolugo.termsandconditions.DV2YnGzG.css +0 -1
  115. package/dist/css/revolugo.valert.BzcMswjJ.css +0 -1
  116. package/dist/css/revolugo.vautocomplete.OMX_yAge.css +0 -1
  117. package/dist/css/revolugo.vbadge.CiK_DSkI.css +0 -1
  118. package/dist/css/revolugo.vbtn.By46MJOU.css +0 -1
  119. package/dist/css/revolugo.vcard.DmB53ZNL.css +0 -1
  120. package/dist/css/revolugo.vchip.BdAdP6lC.css +0 -1
  121. package/dist/css/revolugo.vdialog.C02Cvwul.css +0 -1
  122. package/dist/css/revolugo.vexpansionpanelheader.B2eKo8Lo.css +0 -1
  123. package/dist/css/revolugo.vinput.SfhpXNi0.css +0 -1
  124. package/dist/css/revolugo.vitemgroup.EbHsz8Rr.css +0 -1
  125. package/dist/css/revolugo.vlistitem.BzwNE1YK.css +0 -1
  126. package/dist/css/revolugo.vmenu.BKE0IO4q.css +0 -1
  127. package/dist/css/revolugo.vselect.DljSkk6y.css +0 -1
  128. package/dist/css/revolugo.vsheet.Dtdo2Rps.css +0 -1
  129. package/dist/css/revolugo.vskeletonloader.BpGoaAbZ.css +0 -1
  130. package/dist/css/revolugo.vslidegroup.D5TIbmaw.css +0 -1
  131. package/dist/css/revolugo.vsnackbar.DTAXPYkr.css +0 -1
  132. package/dist/css/revolugo.vtextfield.BliJY6uv.css +0 -1
  133. package/dist/css/revolugo.vtoolbar.DQsezjcM.css +0 -1
  134. package/dist/css/revolugo.vtooltip.B_oOB9pj.css +0 -1
  135. package/dist/css/revolugo.vuetify.BpIoHlAi.css +0 -1
  136. package/dist/css/revolugo.webcomponentwrapper.BRZRuwZ0.css +0 -1
  137. package/dist/index.es.min.js +0 -14187
  138. package/dist/index.es.min.js.map +0 -1
  139. package/dist/index.min.js.map +0 -1
  140. package/dist/revolugo.banktransferdetails.CbUr_kHV.min.js +0 -105
  141. package/dist/revolugo.bbreakfastoptionbadge.DND6bz7J.min.js +0 -62
  142. package/dist/revolugo.bdaterangepicker.DwXWu7y_.min.js +0 -1351
  143. package/dist/revolugo.bformattedamount.D4xCyTcv.min.js +0 -82
  144. package/dist/revolugo.bhotelroomsdetails.8yoNt-KM.min.js +0 -213
  145. package/dist/revolugo.bhotelsearchbar.Dm84Zzn5.min.js +0 -446
  146. package/dist/revolugo.booking-api-client.Du5goV4n.min.js +0 -7672
  147. package/dist/revolugo.bookingdetailssidebar.AR2t6BHt.min.js +0 -28
  148. package/dist/revolugo.bookingdetailssidebar.DY-YF6-6.min.js +0 -242
  149. package/dist/revolugo.bookingmanager.KlY3kOLa.min.js +0 -404
  150. package/dist/revolugo.bphoneinput.Qc_UlGIL.min.js +0 -1935
  151. package/dist/revolugo.bpricesummaryskeleton.BAzD7raP.min.js +0 -47
  152. package/dist/revolugo.breakpoint-service.CwWRBzMQ.min.js +0 -65
  153. package/dist/revolugo.bstarrating.B-PUaeDZ.min.js +0 -173
  154. package/dist/revolugo.btag.DD6eI8G4.min.js +0 -68
  155. package/dist/revolugo.cancellationpoliciesbadge.BTwUNf7h.min.js +0 -76
  156. package/dist/revolugo.cancellationpoliciesbadge.DA_X-aEr.min.js +0 -28
  157. package/dist/revolugo.cancellationpolicieslist.BweNL3Zh.min.js +0 -316
  158. package/dist/revolugo.cancellationpolicieslist.XF-OE6mm.min.js +0 -28
  159. package/dist/revolugo.common.D4pnatuu.min.js +0 -34
  160. package/dist/revolugo.creditcardform.B0ZACL31.min.js +0 -28
  161. package/dist/revolugo.creditcardform.Bmpk72uW.min.js +0 -2047
  162. package/dist/revolugo.creditcardpayment.DDAlWRp0.min.js +0 -28
  163. package/dist/revolugo.creditcardpayment.Dnr2WHEp.min.js +0 -288
  164. package/dist/revolugo.currencypicker.BxCxn4FE.min.js +0 -122
  165. package/dist/revolugo.currencypickerbtn.D8fIyw_x.min.js +0 -121
  166. package/dist/revolugo.currencypickerbtn.DoEdhphF.min.js +0 -28
  167. package/dist/revolugo.dialog-attach.05NirMLv.min.js +0 -27
  168. package/dist/revolugo.en-us.BP-UxrRq.min.js +0 -1171
  169. package/dist/revolugo.event-bus.CYLYgD3Y.min.js +0 -37
  170. package/dist/revolugo.fr-fr.CF_knN5b.min.js +0 -1177
  171. package/dist/revolugo.fullbookingflow.BROGdW-q.min.js +0 -239
  172. package/dist/revolugo.hotel-offer.JfkzuZyf.min.js +0 -608
  173. package/dist/revolugo.hoteldescriptionview.C9XjZcdv.min.js +0 -2174
  174. package/dist/revolugo.hoteldescriptionview.wVex0D_a.min.js +0 -28
  175. package/dist/revolugo.hotelofferitemlayout.BrulX_X4.min.js +0 -64
  176. package/dist/revolugo.hotelofferlist.CcITpxz4.min.js +0 -28
  177. package/dist/revolugo.hotelofferlist.DJ8B6BpP.min.js +0 -3450
  178. package/dist/revolugo.hotelofferrequestcreator.CiNpCqiH.min.js +0 -225
  179. package/dist/revolugo.hoteloffersearchmenu.CnVV4htq.min.js +0 -54
  180. package/dist/revolugo.hoteloffersmap.C1N5EZ0d.min.js +0 -28
  181. package/dist/revolugo.hoteloffersmap.gHrmWy8H.min.js +0 -8737
  182. package/dist/revolugo.hoteloffersview.BCvASsRk.min.js +0 -157
  183. package/dist/revolugo.hoteloffersview.DfbOUEie.min.js +0 -28
  184. package/dist/revolugo.hotelroomofferlist.BS32D6Sj.min.js +0 -28
  185. package/dist/revolugo.hotelroomofferlist.BltT6U-0.min.js +0 -1336
  186. package/dist/revolugo.hotelroomofferrequestcreator.CbISsNdn.min.js +0 -225
  187. package/dist/revolugo.hotelroomoffersbookingflow.D5iNQyH9.min.js +0 -679
  188. package/dist/revolugo.hotelroomoffersearchmenu.Bsg_FnJp.min.js +0 -29
  189. package/dist/revolugo.hotelroomoffersearchmenu.DqVQ1oKf.min.js +0 -38
  190. package/dist/revolugo.hotelroomoffersview.4NC1efEJ.min.js +0 -124
  191. package/dist/revolugo.hotelroomoffersview.DfmNWUJQ.min.js +0 -28
  192. package/dist/revolugo.i18n.DF3U6VhD.min.js +0 -11263
  193. package/dist/revolugo.index.A8BtC3Nq.min.js +0 -322
  194. package/dist/revolugo.index.BEcLuOn-.min.js +0 -281
  195. package/dist/revolugo.index.BUUmIL9V.min.js +0 -68
  196. package/dist/revolugo.index.BwvidmNu.min.js +0 -128
  197. package/dist/revolugo.index.CQC_pZJn.min.js +0 -15
  198. package/dist/revolugo.index.CcRooNT6.min.js +0 -270
  199. package/dist/revolugo.index.Cn5YTzy6.min.js +0 -43
  200. package/dist/revolugo.index.Cn8GgIte.min.js +0 -142
  201. package/dist/revolugo.index.DTZNxZHf.min.js +0 -9
  202. package/dist/revolugo.index.DfBSjbYu.min.js +0 -42
  203. package/dist/revolugo.index.GdvjICDR.min.js +0 -13
  204. package/dist/revolugo.index.owaXEEBO.min.js +0 -9
  205. package/dist/revolugo.index.sTY3URQu.min.js +0 -390
  206. package/dist/revolugo.index.tY8MFB9m.min.js +0 -161
  207. package/dist/revolugo.langpicker.yr7wtnZM.min.js +0 -103
  208. package/dist/revolugo.langpickerbtn.4XN3tTRs.min.js +0 -28
  209. package/dist/revolugo.langpickerbtn.BHhYWwCD.min.js +0 -111
  210. package/dist/revolugo.localizedformat.Wox_NThB.min.js +0 -47
  211. package/dist/revolugo.parsed-height.DRzHRmIo.min.js +0 -2492
  212. package/dist/revolugo.parsed-props.B_x1Ob04.min.js +0 -95
  213. package/dist/revolugo.prebookform.BeSJk0ad.min.js +0 -28
  214. package/dist/revolugo.prebookform.DZMMJst9.min.js +0 -484
  215. package/dist/revolugo.revolugo-config.Bs_HF2Eu.min.js +0 -1707
  216. package/dist/revolugo.roominglisteditor.BpdFoplV.min.js +0 -201
  217. package/dist/revolugo.roominglisteditor.DxmH3gRW.min.js +0 -28
  218. package/dist/revolugo.sentry.Bc7mnscp.min.js +0 -12146
  219. package/dist/revolugo.store.DPvvq0Rz.min.js +0 -1718
  220. package/dist/revolugo.storybooktoolbar.C_y4Nf-_.min.js +0 -300
  221. package/dist/revolugo.termsandconditions.BIHsJaCg.min.js +0 -27
  222. package/dist/revolugo.termsandconditions.D2C1eZuC.min.js +0 -162
  223. package/dist/revolugo.typed-mixins.B_7wrdes.min.js +0 -8
  224. package/dist/revolugo.valert.CMzvSBzo.min.js +0 -194
  225. package/dist/revolugo.vautocomplete.C-5OLCEj.min.js +0 -255
  226. package/dist/revolugo.vbadge.xQq9jf9W.min.js +0 -172
  227. package/dist/revolugo.vbtn.CP4AezmI.min.js +0 -286
  228. package/dist/revolugo.vcard.Cy5A2_pV.min.js +0 -80
  229. package/dist/revolugo.vchip.BcIMSmkF.min.js +0 -157
  230. package/dist/revolugo.vdialog.BAexO59W.min.js +0 -341
  231. package/dist/revolugo.vexpansionpanelheader.D9ENep1_.min.js +0 -263
  232. package/dist/revolugo.vform.oeljK9Tu.min.js +0 -98
  233. package/dist/revolugo.vinput.CDpcVlCU.min.js +0 -509
  234. package/dist/revolugo.vitemgroup.DyY_3pfW.min.js +0 -168
  235. package/dist/revolugo.vlistitem.CrJxrMpP.min.js +0 -204
  236. package/dist/revolugo.vmenu.CtMz9t6s.min.js +0 -349
  237. package/dist/revolugo.vselect.UcLk_jBF.min.js +0 -859
  238. package/dist/revolugo.vsheet.C1tyLBBd.min.js +0 -120
  239. package/dist/revolugo.vskeletonloader.CMMMMGzf.min.js +0 -172
  240. package/dist/revolugo.vslidegroup.BXF0FLd1.min.js +0 -650
  241. package/dist/revolugo.vsnackbar.xIK_rBpB.min.js +0 -178
  242. package/dist/revolugo.vtextfield.D2qOTbGQ.min.js +0 -438
  243. package/dist/revolugo.vtoolbar.D3HhuFrj.min.js +0 -364
  244. package/dist/revolugo.vtooltip.B7xN8tzo.min.js +0 -168
  245. package/dist/revolugo.vuetify.yojzDMFk.min.js +0 -865
  246. package/dist/revolugo.watch-list.cR2ZEwBA.min.js +0 -44
  247. package/dist/revolugo.webcomponentwrapper.-wnE6sKX.min.js +0 -777
@@ -1,2492 +0,0 @@
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