@revolugo/elements 5.5.1 → 5.5.2-beta.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/fonts.css +1 -0
  2. package/dist/css/revolugo.bdaterangepicker.DEh20utH.css +1 -0
  3. package/dist/css/revolugo.bhotelroomsdetails.4XsxkvH7.css +1 -0
  4. package/dist/css/revolugo.bhotelsearchbar.dwYB1gUC.css +1 -0
  5. package/dist/css/revolugo.bookingdetailssidebar.tDtXpaIj.css +1 -0
  6. package/dist/css/revolugo.bphoneinput.Kq_-XiGI.css +1 -0
  7. package/dist/css/revolugo.bstarrating.nzH7iii4.css +1 -0
  8. package/dist/css/revolugo.btag.Bdbqb_8a.css +1 -0
  9. package/dist/css/revolugo.common.BSIsYREh.css +1 -0
  10. package/dist/css/revolugo.creditcardform.BGPUxkRC.css +1 -0
  11. package/dist/css/revolugo.creditcardpayment.0MNnDloZ.css +1 -0
  12. package/dist/css/revolugo.currencypicker.BRYsKdMu.css +1 -0
  13. package/dist/css/revolugo.fullbookingflow.BHV7_MhK.css +1 -0
  14. package/dist/css/revolugo.hotel-offer.Di9LJKMP.css +1 -0
  15. package/dist/css/revolugo.hoteldescriptionview.9ofE1uWG.css +1 -0
  16. package/dist/css/revolugo.hoteloffersmap.-ZhDcfsj.css +1 -0
  17. package/dist/css/revolugo.hoteloffersview.MWOmwEwv.css +1 -0
  18. package/dist/css/revolugo.hotelroomofferlist.xJfKaofV.css +1 -0
  19. package/dist/css/revolugo.hotelroomoffersbookingflow.PPEIqHuM.css +1 -0
  20. package/dist/css/revolugo.hotelroomoffersview.B8Y-2QYc.css +1 -0
  21. package/dist/css/revolugo.index.BMkl7a3p.css +1 -0
  22. package/dist/css/revolugo.index.CFW4Oklv.css +1 -0
  23. package/dist/css/revolugo.index.DXv5c7NS.css +1 -0
  24. package/dist/css/revolugo.langpicker.B3TsOwUq.css +1 -0
  25. package/dist/css/revolugo.parsed-height.FfkITAOo.css +1 -0
  26. package/dist/css/revolugo.parsed-props.C3kOvm7T.css +1 -0
  27. package/dist/css/revolugo.prebookform.DBm2B4rS.css +1 -0
  28. package/dist/css/revolugo.revolugo-config.Dg8v1l3c.css +5 -0
  29. package/dist/css/revolugo.storybooktoolbar.CVnww0dZ.css +1 -0
  30. package/dist/css/revolugo.termsandconditions.DV2YnGzG.css +1 -0
  31. package/dist/css/revolugo.valert.BzcMswjJ.css +1 -0
  32. package/dist/css/revolugo.vautocomplete.OMX_yAge.css +1 -0
  33. package/dist/css/revolugo.vbadge.CiK_DSkI.css +1 -0
  34. package/dist/css/revolugo.vbtn.By46MJOU.css +1 -0
  35. package/dist/css/revolugo.vcard.DmB53ZNL.css +1 -0
  36. package/dist/css/revolugo.vchip.BdAdP6lC.css +1 -0
  37. package/dist/css/revolugo.vdialog.C02Cvwul.css +1 -0
  38. package/dist/css/revolugo.vexpansionpanelheader.B2eKo8Lo.css +1 -0
  39. package/dist/css/revolugo.vinput.SfhpXNi0.css +1 -0
  40. package/dist/css/revolugo.vitemgroup.EbHsz8Rr.css +1 -0
  41. package/dist/css/revolugo.vlistitem.BzwNE1YK.css +1 -0
  42. package/dist/css/revolugo.vmenu.BKE0IO4q.css +1 -0
  43. package/dist/css/revolugo.vselect.DljSkk6y.css +1 -0
  44. package/dist/css/revolugo.vsheet.Dtdo2Rps.css +1 -0
  45. package/dist/css/revolugo.vskeletonloader.BpGoaAbZ.css +1 -0
  46. package/dist/css/revolugo.vslidegroup.D5TIbmaw.css +1 -0
  47. package/dist/css/revolugo.vsnackbar.DTAXPYkr.css +1 -0
  48. package/dist/css/revolugo.vtextfield.BliJY6uv.css +1 -0
  49. package/dist/css/revolugo.vtoolbar.DQsezjcM.css +1 -0
  50. package/dist/css/revolugo.vtooltip.B_oOB9pj.css +1 -0
  51. package/dist/css/revolugo.vuetify.BpIoHlAi.css +1 -0
  52. package/dist/css/revolugo.webcomponentwrapper.BRZRuwZ0.css +1 -0
  53. package/dist/index.es.min.js +13850 -0
  54. package/dist/index.es.min.js.map +1 -0
  55. package/dist/index.min.js +65 -1
  56. package/dist/index.min.js.map +1 -0
  57. package/dist/revolugo.banktransferdetails.C7_zVOmo.min.js +105 -0
  58. package/dist/revolugo.bbreakfastoptionbadge.Ce49dA49.min.js +62 -0
  59. package/dist/revolugo.bdaterangepicker.Bn7furEJ.min.js +1351 -0
  60. package/dist/revolugo.bformattedamount.BFXskYwq.min.js +82 -0
  61. package/dist/revolugo.bhotelroomsdetails.CGzQEygX.min.js +213 -0
  62. package/dist/revolugo.bhotelsearchbar.AZssZXVa.min.js +446 -0
  63. package/dist/revolugo.booking-api-client.sLozEu8x.min.js +7472 -0
  64. package/dist/revolugo.bookingdetailssidebar.Cyh9ESY5.min.js +242 -0
  65. package/dist/revolugo.bookingdetailssidebar.CzJuxCyi.min.js +28 -0
  66. package/dist/revolugo.bookingmanager.DFOGB8oH.min.js +405 -0
  67. package/dist/revolugo.bphoneinput.BD5yV30G.min.js +1935 -0
  68. package/dist/revolugo.bpricesummaryskeleton.DLPx7XMt.min.js +47 -0
  69. package/dist/revolugo.breakpoint-service.CligvfbR.min.js +65 -0
  70. package/dist/revolugo.bstarrating.EUallQbz.min.js +173 -0
  71. package/dist/revolugo.btag.BFCVF0Me.min.js +68 -0
  72. package/dist/revolugo.cancellationpoliciesbadge.BlUG2A9X.min.js +92 -0
  73. package/dist/revolugo.cancellationpoliciesbadge.DOwMr0x3.min.js +28 -0
  74. package/dist/revolugo.cancellationpolicieslist.5yiBohSU.min.js +317 -0
  75. package/dist/revolugo.cancellationpolicieslist.fjdTs1rY.min.js +28 -0
  76. package/dist/revolugo.common.C_rtPL-E.min.js +34 -0
  77. package/dist/revolugo.creditcardform.C3fQHyxV.min.js +2049 -0
  78. package/dist/revolugo.creditcardform.LlbnFrMn.min.js +28 -0
  79. package/dist/revolugo.creditcardpayment.8C5f7CZ4.min.js +28 -0
  80. package/dist/revolugo.creditcardpayment.DUk6kCnc.min.js +288 -0
  81. package/dist/revolugo.currencypicker.wqREtJ__.min.js +122 -0
  82. package/dist/revolugo.currencypickerbtn.B2m0S_4y.min.js +28 -0
  83. package/dist/revolugo.currencypickerbtn.DBD-dfnI.min.js +121 -0
  84. package/dist/revolugo.dialog-attach.GnnAYjIE.min.js +27 -0
  85. package/dist/revolugo.en-us.BP-UxrRq.min.js +1171 -0
  86. package/dist/revolugo.event-bus.CYLYgD3Y.min.js +37 -0
  87. package/dist/revolugo.fr-fr.CF_knN5b.min.js +1177 -0
  88. package/dist/revolugo.fullbookingflow.C_c9KQQR.min.js +239 -0
  89. package/dist/revolugo.hotel-offer.BUVwH9VX.min.js +605 -0
  90. package/dist/revolugo.hoteldescriptionview.Bq1O1Xil.min.js +28 -0
  91. package/dist/revolugo.hoteldescriptionview.CLJG1-vV.min.js +2208 -0
  92. package/dist/revolugo.hotelofferitemlayout.Tqhfw-aC.min.js +64 -0
  93. package/dist/revolugo.hotelofferlist.BFL1YRt0.min.js +28 -0
  94. package/dist/revolugo.hotelofferlist.DUw3z5s6.min.js +3779 -0
  95. package/dist/revolugo.hotelofferrequestcreator.BDI8RIzt.min.js +225 -0
  96. package/dist/revolugo.hoteloffersearchmenu.BpJ-FUdV.min.js +54 -0
  97. package/dist/revolugo.hoteloffersmap.BlhVP5-Z.min.js +28 -0
  98. package/dist/revolugo.hoteloffersmap.wLH_KGii.min.js +8737 -0
  99. package/dist/revolugo.hoteloffersview.CklEMw2R.min.js +157 -0
  100. package/dist/revolugo.hoteloffersview.Di7h66f5.min.js +28 -0
  101. package/dist/revolugo.hotelroomofferlist.CLiINofQ.min.js +28 -0
  102. package/dist/revolugo.hotelroomofferlist.CahCySw9.min.js +1336 -0
  103. package/dist/revolugo.hotelroomofferrequestcreator.CBVXmo6p.min.js +225 -0
  104. package/dist/revolugo.hotelroomoffersbookingflow.5DxPgDlm.min.js +679 -0
  105. package/dist/revolugo.hotelroomoffersearchmenu.ClB2fFNQ.min.js +38 -0
  106. package/dist/revolugo.hotelroomoffersearchmenu.hkcy1YzX.min.js +29 -0
  107. package/dist/revolugo.hotelroomoffersview.CF7YEgbC.min.js +28 -0
  108. package/dist/revolugo.hotelroomoffersview.WAYlooyc.min.js +124 -0
  109. package/dist/revolugo.i18n.CyGKqo0B.min.js +10929 -0
  110. package/dist/revolugo.index.2rRqbmTI.min.js +43 -0
  111. package/dist/revolugo.index.B-fKWuIg.min.js +142 -0
  112. package/dist/revolugo.index.BXlPRtGz.min.js +42 -0
  113. package/dist/revolugo.index.B_EzELYh.min.js +161 -0
  114. package/dist/revolugo.index.BpZHnXFS.min.js +68 -0
  115. package/dist/revolugo.index.CB0aeVeA.min.js +9 -0
  116. package/dist/revolugo.index.CsWvarCO.min.js +9 -0
  117. package/dist/revolugo.index.D4mTtHy0.min.js +270 -0
  118. package/dist/revolugo.index.DEJEDSDi.min.js +281 -0
  119. package/dist/revolugo.index.DVlgraIx.min.js +13 -0
  120. package/dist/revolugo.index.FGCgdl6A.min.js +390 -0
  121. package/dist/revolugo.index.Lg6xnuBU.min.js +15 -0
  122. package/dist/revolugo.index.Tg1ts5ba.min.js +128 -0
  123. package/dist/revolugo.index.roOsqEC8.min.js +322 -0
  124. package/dist/revolugo.langpicker.DxUfUdgi.min.js +103 -0
  125. package/dist/revolugo.langpickerbtn.BKUmtrmC.min.js +28 -0
  126. package/dist/revolugo.langpickerbtn.CTjVH93j.min.js +111 -0
  127. package/dist/revolugo.localizedformat.BmFJB2Ek.min.js +47 -0
  128. package/dist/revolugo.min.js +257 -7
  129. package/dist/revolugo.parsed-height.C9EDOdpc.min.js +2341 -0
  130. package/dist/revolugo.parsed-props.DLM9lIFH.min.js +95 -0
  131. package/dist/revolugo.prebookform.BOw8d85r.min.js +28 -0
  132. package/dist/revolugo.prebookform.C-UGopr1.min.js +484 -0
  133. package/dist/revolugo.revolugo-config.CV2-KqZg.min.js +1707 -0
  134. package/dist/revolugo.roominglisteditor.BraACVch.min.js +201 -0
  135. package/dist/revolugo.roominglisteditor.BylXWjko.min.js +28 -0
  136. package/dist/revolugo.sentry.BUFmhrag.min.js +10989 -0
  137. package/dist/revolugo.store.CrqNkSlz.min.js +2497 -0
  138. package/dist/revolugo.storybooktoolbar.B3GXxMU5.min.js +300 -0
  139. package/dist/revolugo.termsandconditions.gfMYAJC9.min.js +162 -0
  140. package/dist/revolugo.termsandconditions.iierLPPe.min.js +27 -0
  141. package/dist/revolugo.typed-mixins.D4p2Nb8x.min.js +8 -0
  142. package/dist/revolugo.valert.D2QkjVyq.min.js +194 -0
  143. package/dist/revolugo.vautocomplete.DesK4IqD.min.js +255 -0
  144. package/dist/revolugo.vbadge.D8uLY_qO.min.js +172 -0
  145. package/dist/revolugo.vbtn.BnwFj80Q.min.js +286 -0
  146. package/dist/revolugo.vcard.B9oLf8X7.min.js +80 -0
  147. package/dist/revolugo.vchip.gQCW4zyM.min.js +157 -0
  148. package/dist/revolugo.vdialog.BGaQYjRQ.min.js +341 -0
  149. package/dist/revolugo.vexpansionpanelheader.PUrYDsqZ.min.js +263 -0
  150. package/dist/revolugo.vform.B2Cw_jFG.min.js +98 -0
  151. package/dist/revolugo.vinput.BH9yXmhW.min.js +509 -0
  152. package/dist/revolugo.vitemgroup.ZH_RbJd4.min.js +168 -0
  153. package/dist/revolugo.vlistitem.rGqVrGQv.min.js +204 -0
  154. package/dist/revolugo.vmenu.DVIyMqmT.min.js +349 -0
  155. package/dist/revolugo.vselect.DGAcOur7.min.js +859 -0
  156. package/dist/revolugo.vsheet.g-wezcj4.min.js +120 -0
  157. package/dist/revolugo.vskeletonloader.By4xa0Dw.min.js +172 -0
  158. package/dist/revolugo.vslidegroup.FBTC8IQv.min.js +650 -0
  159. package/dist/revolugo.vsnackbar.B-3BiuN_.min.js +178 -0
  160. package/dist/revolugo.vtextfield.Bz_46CYU.min.js +438 -0
  161. package/dist/revolugo.vtoolbar.C8u8AAF6.min.js +364 -0
  162. package/dist/revolugo.vtooltip.D-CwTnZW.min.js +168 -0
  163. package/dist/revolugo.vuetify.wVP8V0K5.min.js +865 -0
  164. package/dist/revolugo.watch-list.B0bwqcfr.min.js +44 -0
  165. package/dist/revolugo.webcomponentwrapper.C4B-n-nK.min.js +777 -0
  166. package/package.json +31 -28
  167. package/dist/css/revolugo.0.min.css +0 -5
  168. package/dist/css/revolugo.1.min.css +0 -1
  169. package/dist/css/revolugo.11.min.css +0 -1
  170. package/dist/css/revolugo.12.min.css +0 -1
  171. package/dist/css/revolugo.13.min.css +0 -1
  172. package/dist/css/revolugo.14.min.css +0 -1
  173. package/dist/css/revolugo.15.min.css +0 -1
  174. package/dist/css/revolugo.16.min.css +0 -1
  175. package/dist/css/revolugo.17.min.css +0 -1
  176. package/dist/css/revolugo.18.min.css +0 -1
  177. package/dist/css/revolugo.19.min.css +0 -1
  178. package/dist/css/revolugo.2.min.css +0 -1
  179. package/dist/css/revolugo.20.min.css +0 -1
  180. package/dist/css/revolugo.21.min.css +0 -1
  181. package/dist/css/revolugo.22.min.css +0 -1
  182. package/dist/css/revolugo.23.min.css +0 -1
  183. package/dist/css/revolugo.24.min.css +0 -1
  184. package/dist/css/revolugo.25.min.css +0 -1
  185. package/dist/css/revolugo.26.min.css +0 -1
  186. package/dist/css/revolugo.27.min.css +0 -1
  187. package/dist/css/revolugo.28.min.css +0 -1
  188. package/dist/css/revolugo.29.min.css +0 -1
  189. package/dist/css/revolugo.30.min.css +0 -1
  190. package/dist/css/revolugo.31.min.css +0 -1
  191. package/dist/css/revolugo.32.min.css +0 -1
  192. package/dist/css/revolugo.33.min.css +0 -1
  193. package/dist/css/revolugo.34.min.css +0 -1
  194. package/dist/css/revolugo.4.min.css +0 -1
  195. package/dist/css/revolugo.5.min.css +0 -1
  196. package/dist/css/revolugo.6.min.css +0 -1
  197. package/dist/css/revolugo.7.min.css +0 -1
  198. package/dist/css/revolugo.fonts.min.css +0 -1
  199. package/dist/fonts/amenities.2aad1d12.woff +0 -0
  200. package/dist/fonts/amenities.9adae269.ttf +0 -0
  201. package/dist/fonts/amenities.a9bf50f8.svg +0 -42
  202. package/dist/fonts/amenities.bd6b3a4a.eot +0 -0
  203. package/dist/fonts/beds.2b8e38c8.svg +0 -12
  204. package/dist/img/apst.c1092975.png +0 -0
  205. package/dist/img/apst.ec7669f2.png +0 -0
  206. package/dist/img/atout-france.72107e30.png +0 -0
  207. package/dist/img/atout-france.df038f22.png +0 -0
  208. package/dist/img/revolugo.179c459d.png +0 -0
  209. package/dist/img/revolugo.e0879dcc.png +0 -0
  210. package/dist/img/stripe.405543e2.png +0 -0
  211. package/dist/img/stripe.c3e16f9f.png +0 -0
  212. package/dist/revolugo.0.min.js +0 -18
  213. package/dist/revolugo.1.min.js +0 -1
  214. package/dist/revolugo.11.min.js +0 -134
  215. package/dist/revolugo.12.min.js +0 -19
  216. package/dist/revolugo.13.min.js +0 -14
  217. package/dist/revolugo.14.min.js +0 -19
  218. package/dist/revolugo.15.min.js +0 -139
  219. package/dist/revolugo.16.min.js +0 -14
  220. package/dist/revolugo.17.min.js +0 -14
  221. package/dist/revolugo.18.min.js +0 -1
  222. package/dist/revolugo.19.min.js +0 -1
  223. package/dist/revolugo.2.min.js +0 -1
  224. package/dist/revolugo.20.min.js +0 -1
  225. package/dist/revolugo.21.min.js +0 -116
  226. package/dist/revolugo.22.min.js +0 -1
  227. package/dist/revolugo.23.min.js +0 -1
  228. package/dist/revolugo.24.min.js +0 -1
  229. package/dist/revolugo.25.min.js +0 -1
  230. package/dist/revolugo.26.min.js +0 -1
  231. package/dist/revolugo.27.min.js +0 -1
  232. package/dist/revolugo.28.min.js +0 -116
  233. package/dist/revolugo.29.min.js +0 -1
  234. package/dist/revolugo.30.min.js +0 -1
  235. package/dist/revolugo.31.min.js +0 -1
  236. package/dist/revolugo.32.min.js +0 -1
  237. package/dist/revolugo.33.min.js +0 -1
  238. package/dist/revolugo.34.min.js +0 -1
  239. package/dist/revolugo.35.min.js +0 -1
  240. package/dist/revolugo.36.min.js +0 -1
  241. package/dist/revolugo.4.min.js +0 -1
  242. package/dist/revolugo.5.min.js +0 -1
  243. package/dist/revolugo.6.min.js +0 -1
  244. package/dist/revolugo.7.min.js +0 -1
  245. package/dist/revolugo.en-US.min.js +0 -1
  246. package/dist/revolugo.fonts.min.js +0 -1
  247. package/dist/revolugo.fr-FR.min.js +0 -1
@@ -0,0 +1,2341 @@
1
+ import { q as xt, J as T, h as M, y as st, d as nt, K as B, k as $t, j as G, E as D } from "./revolugo.revolugo-config.CV2-KqZg.min.js";
2
+ import { b as Bt, o as Ct, g as d, F as c, P as j, R as Y, c as q, D as w, d as $ } from "./revolugo.store.CrqNkSlz.min.js";
3
+ import { V as h, d as Rt, e as kt, K, M as wt, N as St, A as X, O as Z, I as rt } from "./revolugo.i18n.CyGKqo0B.min.js";
4
+ import { C as Ot } from "./revolugo.cancellationpoliciesbadge.BlUG2A9X.min.js";
5
+ import { H as Tt } from "./revolugo.hotelofferitemlayout.Tqhfw-aC.min.js";
6
+ import { B as Ft } from "./revolugo.bbreakfastoptionbadge.Ce49dA49.min.js";
7
+ import { m as C, C as F, T as at, n as p, h as Vt, B as It, l as b, _ as v, a as u } from "./revolugo.webcomponentwrapper.C4B-n-nK.min.js";
8
+ import { _ as l } from "./revolugo.vbtn.BnwFj80Q.min.js";
9
+ import { S as At, _ as g } from "./revolugo.index.FGCgdl6A.min.js";
10
+ import { B as Dt } from "./revolugo.bhotelroomsdetails.CGzQEygX.min.js";
11
+ import { b as E, a as Et, m as Lt } from "./revolugo.hotel-offer.BUVwH9VX.min.js";
12
+ import { B as Nt } from "./revolugo.hotelroomofferlist.CahCySw9.min.js";
13
+ import { a as Pt, b as Ht, B as Wt } from "./revolugo.bstarrating.EUallQbz.min.js";
14
+ import { B as zt } from "./revolugo.btag.BFCVF0Me.min.js";
15
+ import { H as Ut, B as Gt, b as jt, c as Yt } from "./revolugo.hoteldescriptionview.CLJG1-vV.min.js";
16
+ import { b as x } from "./revolugo.breakpoint-service.CligvfbR.min.js";
17
+ import { d as ot } from "./revolugo.dialog-attach.GnnAYjIE.min.js";
18
+ import { H as qt } from "./revolugo.hotelroomoffersview.WAYlooyc.min.js";
19
+ import { e as Kt, a as Xt } from "./revolugo.index.B-fKWuIg.min.js";
20
+ import { O as Zt, _ as Jt } from "./revolugo.vdialog.BGaQYjRQ.min.js";
21
+ import { _ as R } from "./revolugo.vcard.B9oLf8X7.min.js";
22
+ import { V as H, a as W, b as Qt } from "./revolugo.index.CB0aeVeA.min.js";
23
+ import { _ as lt } from "./revolugo.vtooltip.D-CwTnZW.min.js";
24
+ import { a as te, V as P, b as ee } from "./revolugo.index.CsWvarCO.min.js";
25
+ import { _ as ie } from "./revolugo.vautocomplete.DesK4IqD.min.js";
26
+ import { B as ct } from "./revolugo.bformattedamount.BFXskYwq.min.js";
27
+ import { V as J } from "./revolugo.vinput.BH9yXmhW.min.js";
28
+ import { L as Q } from "./revolugo.index.DEJEDSDi.min.js";
29
+ import { C as ut, R as se, T as ne } from "./revolugo.vuetify.wVP8V0K5.min.js";
30
+ import { _ as tt } from "./revolugo.vtextfield.Bz_46CYU.min.js";
31
+ import { _ as O } from "./revolugo.parsed-props.DLM9lIFH.min.js";
32
+ import { _ as V } from "./revolugo.vmenu.DVIyMqmT.min.js";
33
+ import { _ as I } from "./revolugo.vbadge.D8uLY_qO.min.js";
34
+ import { D as re, a as ae } from "./revolugo.index.roOsqEC8.min.js";
35
+ import { R as oe } from "./revolugo.index.B_EzELYh.min.js";
36
+ import { Z as _, V as y } from "./revolugo.booking-api-client.sLozEu8x.min.js";
37
+ import { B as L } from "./revolugo.vitemgroup.ZH_RbJd4.min.js";
38
+ import { a as le } from "./revolugo.vlistitem.rGqVrGQv.min.js";
39
+ import { a as ce } from "./revolugo.vtoolbar.C8u8AAF6.min.js";
40
+ import { S as ue, a as he } from "./revolugo.index.BpZHnXFS.min.js";
41
+ import { M as ht } from "./revolugo.vslidegroup.FBTC8IQv.min.js";
42
+ function Mt(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 de = C(L, F).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
+ }), pe = C(E, F).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 = C(
123
+ J,
124
+ Q
125
+ /* @vue/component */
126
+ ).extend({
127
+ name: "v-slider",
128
+ directives: {
129
+ ClickOutside: ut
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]") || xt("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), m = 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": m
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()], m = this.genThumbLabelContent(e);
368
+ return this.showThumbLabel && o.push(this.genThumbLabel(m)), 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 = M(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(Kt, {
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 = B ? {
445
+ passive: !0,
446
+ capture: !0
447
+ } : !0, s = B ? {
448
+ passive: !0
449
+ } : !1, n = "touches" in e;
450
+ this.onMouseMove(e), this.app.addEventListener(n ? "touchmove" : "mousemove", this.onMouseMove, s), st(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 = B ? {
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), nt(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: m,
500
+ up: k
501
+ } = $t;
502
+ if (![i, s, n, a, r, o, m, k].includes(e.keyCode))
503
+ return;
504
+ e.preventDefault();
505
+ const A = this.stepNumeric || 1, z = (this.maxValue - this.minValue) / A;
506
+ if ([r, o, m, k].includes(e.keyCode)) {
507
+ const yt = (this.$vuetify.rtl ? [r, k] : [o, k]).includes(e.keyCode) ? 1 : -1, bt = e.shiftKey ? 3 : e.ctrlKey ? 2 : 1;
508
+ t = t + yt * A * bt;
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 * (z > 100 ? z / 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
+ }), me = C(he("left", ["isActive", "isMobile", "miniVariant", "expandOnHover", "permanent", "right", "temporary", "width"]), F, re, ht, Zt, ue, at), fe = me.extend({
527
+ name: "v-navigation-drawer",
528
+ directives: {
529
+ ClickOutside: ut,
530
+ Resize: se,
531
+ Touch: ne
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 && ht.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: M(this.height),
662
+ top: this.isBottom ? "auto" : M(this.computedTop),
663
+ maxHeight: this.computedMaxHeight != null ? `calc(100% - ${M(this.computedMaxHeight)})` : void 0,
664
+ transform: `${e}(${M(this.computedTransform, "%")})`,
665
+ width: M(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(ce, {
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
+ }), ve = 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, nt(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 = B ? {
928
+ passive: !0,
929
+ capture: !0
930
+ } : !0, n = B ? {
931
+ passive: !0
932
+ } : !1, a = "touches" in e;
933
+ this.onMouseMove(e), this.app.addEventListener(a ? "touchmove" : "mousemove", this.onMouseMove, n), st(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
+ }), ge = C(F, ae, oe, At, at).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
+ }, ye = {
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
+ }, Me = [], xe = /* @__PURE__ */ p(
1142
+ ye,
1143
+ be,
1144
+ Me,
1145
+ !1,
1146
+ null,
1147
+ "95318f12",
1148
+ null,
1149
+ null
1150
+ );
1151
+ const $e = xe.exports, Be = {
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
+ }, Ce = h.extend({
1188
+ name: "HotelOfferItem",
1189
+ components: {
1190
+ BBreakfastOptionBadge: Ft,
1191
+ BBreakpointObserver: Vt,
1192
+ BBtnCloseDialog: $e,
1193
+ BErrorOverlay: It,
1194
+ BImageCarousel: Et,
1195
+ BPriceSummary: Nt,
1196
+ BHotelRoomsDetails: Dt,
1197
+ BStarRating: Pt,
1198
+ BTag: zt,
1199
+ BTripAdvisorRatingWidget: Ht,
1200
+ CancellationPoliciesBadge: Ot,
1201
+ HotelDescriptionView: Ut,
1202
+ HotelOfferItemLayout: Tt,
1203
+ HotelRoomOffersView: qt,
1204
+ BReviewRating: Wt,
1205
+ BTravelTimes: Gt
1206
+ },
1207
+ mixins: [
1208
+ x,
1209
+ ot,
1210
+ b("components/RevolugoElements/HotelOfferItem")
1211
+ ],
1212
+ store: Bt,
1213
+ props: Be,
1214
+ data() {
1215
+ return {
1216
+ showAdditionalContent: !1,
1217
+ mountAdditionalContent: !1,
1218
+ toggleDialog: !1
1219
+ };
1220
+ },
1221
+ computed: {
1222
+ adultCountLocal() {
1223
+ return this.adultCount || this.$store.get("hotelOfferRequest/adultCount");
1224
+ },
1225
+ checkInDateLocal() {
1226
+ return this.checkInDate || this.$store.get("hotelOfferRequest/checkInDate");
1227
+ },
1228
+ dialogComponentName() {
1229
+ if (this.features[f.HotelRoomOffersViewDialog])
1230
+ return "hotel-room-offers-view";
1231
+ if (this.features[f.HotelDescriptionViewDialog])
1232
+ return "hotel-description-view";
1233
+ },
1234
+ formattedDistance() {
1235
+ return this.hotelOffer.distance ? Math.round(this.hotelOffer.distance / 1e3 * 100) / 100 : 0;
1236
+ },
1237
+ hotelId() {
1238
+ return this.hotelOffer.id;
1239
+ },
1240
+ hotelOfferRequest() {
1241
+ return this.$store.get("hotelOfferRequest");
1242
+ },
1243
+ hotelRoomOffer() {
1244
+ return this.hotelOffer.hotelRoomOffers[0];
1245
+ },
1246
+ isTaxIncluded() {
1247
+ return this.hotelRoomOffer.taxes ? this.hotelRoomOffer.taxes.length === 0 : !0;
1248
+ },
1249
+ isRefundable() {
1250
+ return Ct({
1251
+ bookingDatetime: Rt().format(),
1252
+ cancellationPolicies: this.hotelRoomOffer.cancellationPolicies,
1253
+ checkInDate: this.checkInDateLocal,
1254
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
1255
+ timezone: this.hotelOffer.timezone
1256
+ }) === 0;
1257
+ },
1258
+ imageUrls() {
1259
+ return Lt({
1260
+ hotelImages: this.hotelOffer.hotelImages,
1261
+ images: this.hotelOffer.images
1262
+ });
1263
+ },
1264
+ nightCountLocal() {
1265
+ return this.nightCount || this.$store.get("hotelOfferRequest/nightCount");
1266
+ },
1267
+ roomCount() {
1268
+ var e;
1269
+ return ((e = this.hotelRoomOffer) == null ? void 0 : e.hotelRooms.reduce(
1270
+ (t, i) => t + (i.count || 0),
1271
+ 0
1272
+ )) || 0;
1273
+ },
1274
+ carouselStyle() {
1275
+ return this.rounded ? {
1276
+ borderTopLeftRadius: "3px",
1277
+ borderBottomLeftRadius: this.$breakpointService.xs ? "0px" : "3px",
1278
+ borderTopRightRadius: this.$breakpointService.xs ? "3px" : "0px"
1279
+ } : {
1280
+ borderTopLeftRadius: "0px",
1281
+ borderBottomLeftRadius: "0px",
1282
+ borderTopRightRadius: "0px"
1283
+ };
1284
+ },
1285
+ bigTags() {
1286
+ var e, t;
1287
+ return ((t = (e = this.hotelOffer) == null ? void 0 : e.tags) == null ? void 0 : t.filter((i) => i.name.length > 30)) || [];
1288
+ },
1289
+ smallTags() {
1290
+ var e, t;
1291
+ return ((t = (e = this.hotelOffer) == null ? void 0 : e.tags) == null ? void 0 : t.filter((i) => i.name.length <= 30)) || [];
1292
+ },
1293
+ venueTravelTimes() {
1294
+ var e;
1295
+ return (e = this.hotelOffer) == null ? void 0 : e.venues;
1296
+ }
1297
+ },
1298
+ mounted() {
1299
+ this.features[f.HotelRoomOffersViewDialog] && window.RevolugoElements.eventBus.$on(
1300
+ D.BOOKING_POLICY_CREATED,
1301
+ () => {
1302
+ setTimeout(() => {
1303
+ this.toggleDialog = !1;
1304
+ }, 350);
1305
+ }
1306
+ );
1307
+ },
1308
+ methods: {
1309
+ onHotelOfferItemClick() {
1310
+ window.RevolugoElements.eventBus.$emit(
1311
+ D.HOTEL_OFFERS_ITEM_CLICK,
1312
+ this.hotelOffer
1313
+ ), this.features[f.HotelRoomOfferList] ? this.showAdditionalContent ? (this.showAdditionalContent = !1, setTimeout(() => {
1314
+ this.mountAdditionalContent = !1;
1315
+ }, 500)) : (this.mountAdditionalContent = !0, this.$nextTick(() => {
1316
+ this.showAdditionalContent = !0;
1317
+ })) : (this.features[f.HotelDescriptionViewDialog] || this.features[f.HotelRoomOffersViewDialog]) && (this.toggleDialog = !0);
1318
+ },
1319
+ onHotelOfferItemTitleClick() {
1320
+ window.RevolugoElements.eventBus.$emit(
1321
+ D.HOTEL_OFFERS_ITEM_CLICK,
1322
+ this.hotelOffer
1323
+ ), this.toggleDialog = !0, this.features[f.HotelRoomOffersViewDialog] && (this.showAdditionalContent = !1, this.mountAdditionalContent = !1);
1324
+ }
1325
+ }
1326
+ });
1327
+ var Re = function() {
1328
+ var t = this, i = t._self._c;
1329
+ 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() {
1330
+ return [t.dialogComponentName ? i(Jt, { staticClass: "z-index-over-map", attrs: { attach: t.$dialogAttach, light: "", scrollable: "", transition: "slide-x-reverse-transition" }, model: { value: t.toggleDialog, callback: function(s) {
1331
+ t.toggleDialog = s;
1332
+ }, expression: "toggleDialog" } }, [i("b-btn-close-dialog", { nativeOn: { click: function(s) {
1333
+ t.toggleDialog = !1;
1334
+ } } }), i("b-breakpoint-observer", { attrs: { "at-root": "" } }, [i(R, { attrs: { tile: "" } }, [i(H, [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()];
1335
+ }, proxy: !0 }, { key: "carousel", fn: function() {
1336
+ var s, n;
1337
+ return [i("b-image-carousel", { style: t.carouselStyle, attrs: { clickable: "", height: t.features.RoomsDetails ? "175px" : "140px", "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.$breakpointService.xs && !t.compact ? "175px" : "100%" } })];
1338
+ }, proxy: !0 }, { key: "heading", fn: function() {
1339
+ var s;
1340
+ return [t.dialogComponentName && t.features.HotelRoomOfferList ? [i(lt, { attrs: { attach: (s = t.$el) == null ? void 0 : s.parent, bottom: "" }, scopedSlots: t._u([{ key: "activator", fn: function({ on: n }) {
1341
+ return [i("span", t._g({ staticClass: "hotel-name subtitle-1 font-weight-black mr-1 primary--text cursor-pointer", on: { click: function(a) {
1342
+ return a.stopPropagation(), t.onHotelOfferItemTitleClick.apply(null, arguments);
1343
+ } } }, n), [t._v(" " + t._s(t.hotelOffer.name) + " ")])];
1344
+ } }], 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 } })];
1345
+ }, proxy: !0 }, { key: "review-rating", fn: function() {
1346
+ return [i("b-review-rating", { attrs: { features: {
1347
+ ReviewRatingDetails: !1
1348
+ }, hotel: t.hotelOffer } })];
1349
+ }, proxy: !0 }, { key: "distance", fn: function() {
1350
+ 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()];
1351
+ }, proxy: !0 }, { key: "big-tags", fn: function() {
1352
+ return t._l(t.bigTags, function(s, n) {
1353
+ 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);
1354
+ });
1355
+ }, proxy: !0 }, { key: "tags", fn: function() {
1356
+ return t._l(t.smallTags, function(s, n) {
1357
+ 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);
1358
+ });
1359
+ }, proxy: !0 }, { key: "breakfast-option-badge", fn: function() {
1360
+ return [t.hotelRoomOffer.breakfastOption === "INCLUDED" ? i("b-breakfast-option-badge", { attrs: { "breakfast-option": t.hotelRoomOffer.breakfastOption } }) : t._e()];
1361
+ }, proxy: !0 }, t.isRefundable ? { key: "cancellation-policies-badge", fn: function() {
1362
+ return [i("cancellation-policies-badge", { attrs: { "cancellation-policies": t.hotelRoomOffer.cancellationPolicies, "check-in-date": t.checkInDateLocal, timezone: t.hotelOffer.timezone } })];
1363
+ }, proxy: !0 } : null, { key: "package-details", fn: function() {
1364
+ return [i("b-hotel-rooms-details", { attrs: { "hotel-rooms": t.hotelRoomOffer.hotelRooms } })];
1365
+ }, proxy: !0 }, { key: "price-summary", fn: function() {
1366
+ 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()];
1367
+ }, proxy: !0 }, { key: "footer", fn: function() {
1368
+ return [i("div", { staticClass: "footer white" }, [t.isNoLongerAvail ? i("b-error-overlay", { scopedSlots: t._u([{ key: "title", fn: function() {
1369
+ return [t._v(" " + t._s(t.$t("HotelOfferItem.noLongerAvailable")) + " ")];
1370
+ }, proxy: !0 }], null, !1, 2439747837) }) : t.mountAdditionalContent ? i(Xt, [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)];
1371
+ }, proxy: !0 }], null, !0) });
1372
+ }, ke = [], we = /* @__PURE__ */ p(
1373
+ Ce,
1374
+ Re,
1375
+ ke,
1376
+ !1,
1377
+ null,
1378
+ "fdd7b3c8",
1379
+ null,
1380
+ null
1381
+ );
1382
+ const ds = we.exports;
1383
+ var dt = /* @__PURE__ */ ((e) => (e.DEBUG = "DEBUG", e.ERROR = "ERROR", e.INFO = "INFO", e.WARN = "WARN", e))(dt || {});
1384
+ function S(e, t = "INFO") {
1385
+ switch (t) {
1386
+ case "DEBUG": {
1387
+ console.log(`[DEBUG] ${e}`);
1388
+ break;
1389
+ }
1390
+ case "INFO": {
1391
+ console.log(`[INFO] ${e}`);
1392
+ break;
1393
+ }
1394
+ case "WARN": {
1395
+ console.warn(`[WARN] ${e}`);
1396
+ break;
1397
+ }
1398
+ case "ERROR": {
1399
+ console.error(`[ERROR] ${e}`);
1400
+ break;
1401
+ }
1402
+ default: {
1403
+ console.log(`[${dt[t]}] ${e}`);
1404
+ break;
1405
+ }
1406
+ }
1407
+ }
1408
+ const Se = {
1409
+ debug: (e) => S(
1410
+ e,
1411
+ "DEBUG"
1412
+ /* DEBUG */
1413
+ ),
1414
+ info: (e) => S(
1415
+ e,
1416
+ "INFO"
1417
+ /* INFO */
1418
+ ),
1419
+ warn: (e) => S(
1420
+ e,
1421
+ "WARN"
1422
+ /* WARN */
1423
+ ),
1424
+ error: (e) => S(
1425
+ e,
1426
+ "ERROR"
1427
+ /* ERROR */
1428
+ )
1429
+ }, Oe = {
1430
+ compact: {
1431
+ type: Boolean,
1432
+ default: !0
1433
+ },
1434
+ isFlat: {
1435
+ type: Boolean,
1436
+ default: !0
1437
+ },
1438
+ outlined: {
1439
+ type: Boolean,
1440
+ default: !1
1441
+ },
1442
+ withDetails: {
1443
+ type: Boolean,
1444
+ default: !1
1445
+ },
1446
+ value: {
1447
+ type: Object,
1448
+ default: null
1449
+ },
1450
+ locationContext: {
1451
+ type: Object,
1452
+ default: null
1453
+ }
1454
+ }, Te = h.extend({
1455
+ name: "BSearchLocationInput",
1456
+ mixins: [b("components/ui/BSearchLocationInput")],
1457
+ props: Oe,
1458
+ data() {
1459
+ return {
1460
+ selectedLocation: this.value,
1461
+ locations: [],
1462
+ loading: !1,
1463
+ searchInput: ""
1464
+ };
1465
+ },
1466
+ watch: {
1467
+ value(e) {
1468
+ this.selectLocation(e);
1469
+ },
1470
+ selectedLocation(e) {
1471
+ this.$emit("input", e);
1472
+ },
1473
+ async searchInput(e) {
1474
+ if (!e) {
1475
+ this.locations = [];
1476
+ return;
1477
+ }
1478
+ await this.searchLocations();
1479
+ }
1480
+ },
1481
+ mounted() {
1482
+ this.$nextTick(() => {
1483
+ var e, t;
1484
+ this.searchInput = ((t = (e = this.selectedLocation) == null ? void 0 : e.raw) == null ? void 0 : t.title) || "";
1485
+ });
1486
+ },
1487
+ methods: {
1488
+ searchLocations: kt(
1489
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1490
+ async function() {
1491
+ var t, i;
1492
+ try {
1493
+ this.loading = !0;
1494
+ const n = {
1495
+ q: this.searchInput,
1496
+ apiKey: jt,
1497
+ maxresults: 10
1498
+ };
1499
+ this.locationContext && (n.at = `${(t = this.locationContext) == null ? void 0 : t.latitude},${(i = this.locationContext) == null ? void 0 : i.longitude}`);
1500
+ const a = await Yt.get("https://geocode.search.hereapi.com/v1/geocode", {
1501
+ params: n
1502
+ }).then((r) => {
1503
+ var o;
1504
+ return (o = r.data) == null ? void 0 : o.items;
1505
+ });
1506
+ return this.locations = a.map((r) => ({
1507
+ title: K([
1508
+ r.address.houseNumber,
1509
+ r.address.street
1510
+ ]).join(" "),
1511
+ subtitle: K([
1512
+ r.address.postalCode,
1513
+ r.address.city,
1514
+ r.address.countryName
1515
+ ]).join(", "),
1516
+ longitude: r.position.lng,
1517
+ latitude: r.position.lat,
1518
+ raw: r
1519
+ })), this.loading = !1, this.locations;
1520
+ } catch (s) {
1521
+ return Se.error(s), this.loading = !1, [];
1522
+ }
1523
+ },
1524
+ 500,
1525
+ {
1526
+ trailing: !0
1527
+ }
1528
+ ),
1529
+ selectLocation(e) {
1530
+ this.selectedLocation = e;
1531
+ },
1532
+ getSelection(e) {
1533
+ var t;
1534
+ return (t = e == null ? void 0 : e.raw) == null ? void 0 : t.title;
1535
+ }
1536
+ }
1537
+ });
1538
+ var Fe = function() {
1539
+ var t = this, i = t._self._c;
1540
+ return t._self._setupProxy, i(ie, { 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) {
1541
+ t.searchInput = s;
1542
+ }, "update:search-input": function(s) {
1543
+ t.searchInput = s;
1544
+ } }, scopedSlots: t._u([{ key: "item", fn: function({ item: s }) {
1545
+ return [i(te, { on: { click: function(n) {
1546
+ return t.selectLocation(s);
1547
+ } } }, [i(P, [t._v(t._s(s.title))]), i(ee, [t._v(t._s(s.subtitle))])], 1)];
1548
+ } }]) });
1549
+ }, Ve = [], Ie = /* @__PURE__ */ p(
1550
+ Te,
1551
+ Fe,
1552
+ Ve,
1553
+ !1,
1554
+ null,
1555
+ null,
1556
+ null,
1557
+ null
1558
+ );
1559
+ const ps = Ie.exports, Ae = 25, pt = {
1560
+ currency: {
1561
+ required: !0,
1562
+ type: String
1563
+ },
1564
+ disabled: {
1565
+ default: !1,
1566
+ type: Boolean
1567
+ },
1568
+ isLoading: {
1569
+ default: !1,
1570
+ type: Boolean
1571
+ },
1572
+ priceMax: {
1573
+ default: 10,
1574
+ type: Number
1575
+ },
1576
+ priceMin: {
1577
+ default: 5,
1578
+ type: Number
1579
+ },
1580
+ stepCount: {
1581
+ type: Number,
1582
+ default: Ae
1583
+ },
1584
+ value: {
1585
+ type: Array
1586
+ }
1587
+ }, et = (e, t) => {
1588
+ const s = t - e, n = s / 40, r = 10 ** (Math.floor(Math.log10(n)) - 1), o = Math.round(n / r) * r, m = Math.max(o, s / 40);
1589
+ return Math.floor(m);
1590
+ }, De = h.extend({
1591
+ name: "BFilterByPrice",
1592
+ components: { BFormattedAmount: ct },
1593
+ mixins: [x],
1594
+ props: pt,
1595
+ data() {
1596
+ return {
1597
+ inputMax: Math.max(...this.value) || this.priceMax,
1598
+ inputMin: Math.min(...this.value) || this.priceMin,
1599
+ modelMax: Math.max(...this.value) || this.priceMax,
1600
+ modelMin: Math.min(...this.value) || this.priceMin,
1601
+ rangeSliderModel: [
1602
+ Math.min(...this.value) || this.priceMin,
1603
+ Math.max(...this.value) || this.priceMax
1604
+ ],
1605
+ step: et(this.priceMin, this.priceMax)
1606
+ };
1607
+ },
1608
+ computed: {
1609
+ getChartBarHeight() {
1610
+ return (e) => `${Math.log(e + 1) / Math.log(Math.max(...this.priceHistogram)) * 40}px`;
1611
+ },
1612
+ currencySymbol() {
1613
+ return wt(this.currency);
1614
+ },
1615
+ hotelOffersCurrency: d("hotelOffers/hotelOffersCurrency"),
1616
+ priceHistogram: d("hotelOffers/priceHistogram"),
1617
+ validPriceRange() {
1618
+ return St([this.priceMin, this.priceMax]);
1619
+ }
1620
+ },
1621
+ watch: {
1622
+ rangeSliderModel(e) {
1623
+ this.inputMin = e[0], this.inputMax = e[1];
1624
+ },
1625
+ value: {
1626
+ handler(e) {
1627
+ 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];
1628
+ },
1629
+ deep: !0,
1630
+ immediate: !0
1631
+ }
1632
+ },
1633
+ created() {
1634
+ this.$watch(
1635
+ () => [this.priceMin, this.priceMax],
1636
+ () => {
1637
+ this.step = et(this.priceMin, this.priceMax);
1638
+ }
1639
+ );
1640
+ },
1641
+ methods: {
1642
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1643
+ onInputMaxBlur(e) {
1644
+ var t;
1645
+ this.modelMax = Math.max(
1646
+ Math.min(this.validPriceRange[1], Math.ceil((t = e.target) == null ? void 0 : t.value)),
1647
+ this.validPriceRange[0]
1648
+ ), this.inputMax = this.modelMax, this.rangeSliderModel = [this.modelMin, this.modelMax], this.$emit("input", [this.modelMin, this.modelMax]);
1649
+ },
1650
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1651
+ onInputMinBlur(e) {
1652
+ var t;
1653
+ this.modelMin = Math.min(
1654
+ Math.max(this.validPriceRange[0], Math.ceil((t = e.target) == null ? void 0 : t.value)),
1655
+ this.validPriceRange[1]
1656
+ ), this.inputMin = this.modelMin, this.rangeSliderModel = [this.modelMin, this.modelMax], this.$emit("input", [this.modelMin, this.modelMax]);
1657
+ },
1658
+ onInputMaxClear() {
1659
+ this.inputMax = this.validPriceRange[1], this.modelMax = this.inputMax, this.rangeSliderModel = [this.modelMin, this.modelMax], this.$emit("input", [this.modelMin, this.modelMax]);
1660
+ },
1661
+ onInputMinClear() {
1662
+ this.inputMin = this.validPriceRange[0], this.modelMin = this.inputMin, this.rangeSliderModel = [this.modelMin, this.modelMax], this.$emit("input", [this.modelMin, this.modelMax]);
1663
+ },
1664
+ onSliderEnd() {
1665
+ this.modelMin = this.rangeSliderModel[0], this.modelMax = this.rangeSliderModel[1], this.$emit("input", [this.modelMin, this.modelMax]);
1666
+ }
1667
+ }
1668
+ });
1669
+ var Ee = function() {
1670
+ var t = this, i = t._self._c;
1671
+ return t._self._setupProxy, i("div", { staticStyle: { "max-width": "400px" } }, [i(v, { attrs: { "no-gutters": "" } }, [i(u, [i(H, { staticClass: "filter-price-slider pa-0", class: t.disabled && "cursor-not-allowed" }, [t.isLoading ? [i("ul", { staticClass: "chart" }, [t._l(Array.from(
1672
+ { length: 30 },
1673
+ () => Math.random() * 35 + 5
1674
+ ), function(s, n) {
1675
+ return [i("li", { key: n }, [i("span", { staticClass: "loader" })])];
1676
+ })], 2)] : [i("ul", { staticClass: "chart" }, [t._l(t.priceHistogram, function(s, n) {
1677
+ return [i("li", { key: n }, [i("span", { style: { height: t.getChartBarHeight(s), width: "95%" } })])];
1678
+ })], 2)], i(ve, { 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) {
1679
+ t.rangeSliderModel = s;
1680
+ }, 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) {
1681
+ t.inputMin = s;
1682
+ }, 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) {
1683
+ t.inputMax = s;
1684
+ }, expression: "inputMax" } })], 1)], 1)], 1);
1685
+ }, Le = [], Ne = /* @__PURE__ */ p(
1686
+ De,
1687
+ Ee,
1688
+ Le,
1689
+ !1,
1690
+ null,
1691
+ "bc63ec9f",
1692
+ null,
1693
+ null
1694
+ );
1695
+ const mt = Ne.exports, Pe = h.extend({
1696
+ name: "BFilterByPriceMenu",
1697
+ components: {
1698
+ BFilterByPrice: mt,
1699
+ BFormattedAmount: ct
1700
+ },
1701
+ mixins: [b("components/ui/BFilterByPriceMenu"), x],
1702
+ props: pt,
1703
+ data() {
1704
+ return {
1705
+ isMenuOpen: !1,
1706
+ model: this.value
1707
+ };
1708
+ },
1709
+ computed: {
1710
+ configCurrency() {
1711
+ return this.config.currency ?? X.EUR.code;
1712
+ },
1713
+ currencies() {
1714
+ return Object.values(X);
1715
+ },
1716
+ currencySymbol() {
1717
+ var e;
1718
+ return (e = this.currencies.find(
1719
+ (t) => t.code === this.configCurrency
1720
+ )) == null ? void 0 : e.symbol;
1721
+ },
1722
+ formattedPriceMin() {
1723
+ return Z({
1724
+ amount: this.model[0] || this.priceMin,
1725
+ currency: this.config.currency,
1726
+ locale: this.config.lang
1727
+ });
1728
+ },
1729
+ formattedPriceMax() {
1730
+ return Z({
1731
+ amount: this.model[1] || this.priceMax,
1732
+ currency: this.config.currency,
1733
+ locale: this.config.lang
1734
+ });
1735
+ },
1736
+ formattedPriceRange() {
1737
+ return `${this.formattedPriceMin} - ${this.formattedPriceMax}`;
1738
+ }
1739
+ },
1740
+ watch: {
1741
+ value: {
1742
+ deep: !0,
1743
+ immediate: !0,
1744
+ handler(e) {
1745
+ this.model = e;
1746
+ }
1747
+ }
1748
+ },
1749
+ methods: {
1750
+ onApply() {
1751
+ this.$emit("input", this.model), this.isMenuOpen = !1;
1752
+ },
1753
+ onCancel() {
1754
+ this.model = this.value, this.isMenuOpen = !1;
1755
+ },
1756
+ onReset() {
1757
+ this.isMenuOpen = !1, this.$emit("reset");
1758
+ }
1759
+ }
1760
+ });
1761
+ var He = function() {
1762
+ var t = this, i = t._self._c;
1763
+ return t._self._setupProxy, i(V, 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 }) {
1764
+ var n;
1765
+ return [i(I, { staticStyle: { cursor: "pointer" }, attrs: { color: "grey", icon: "fa-times", overlap: "", value: !!t.formattedPriceRange }, nativeOn: { click: function(a) {
1766
+ return t.onReset.apply(null, arguments);
1767
+ } } }, [i(lt, { attrs: { attach: (n = t.$el) == null ? void 0 : n.parent, bottom: "", color: "grey darken-3" }, scopedSlots: t._u([{ key: "activator", fn: function({ on: a }) {
1768
+ return [i(l, t._g({ staticClass: "white--text", attrs: { color: "grey", elevation: 0, outlined: "", small: "" } }, {
1769
+ ...s,
1770
+ ...a
1771
+ }), [i("span", [i("b", [t._v(" " + t._s(t.currencySymbol))])])])];
1772
+ } }], null, !0) }, [t.priceMin !== 0 && t.priceMax !== 0 ? [t._v(" " + t._s(t.formattedPriceRange) + " ")] : t._e()], 2)], 1)];
1773
+ } }]), model: { value: t.isMenuOpen, callback: function(s) {
1774
+ t.isMenuOpen = s;
1775
+ }, expression: "isMenuOpen" } }, "v-menu", t.$attrs, !1), [i(R, { 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) {
1776
+ t.model = s;
1777
+ }, expression: "model" } }, "b-filter-by-price", t.$props, !1))], 1), i(W, { 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);
1778
+ }, We = [], ze = /* @__PURE__ */ p(
1779
+ Pe,
1780
+ He,
1781
+ We,
1782
+ !1,
1783
+ null,
1784
+ "38487da2",
1785
+ null,
1786
+ null
1787
+ );
1788
+ const Ue = ze.exports, Ge = {
1789
+ value: {
1790
+ type: [Number, void 0]
1791
+ },
1792
+ disabled: { type: Boolean }
1793
+ }, je = h.extend({
1794
+ name: "BFilterByReview",
1795
+ props: Ge,
1796
+ computed: {
1797
+ model: {
1798
+ get() {
1799
+ return this.value;
1800
+ },
1801
+ set(e) {
1802
+ this.$emit("input", e);
1803
+ }
1804
+ },
1805
+ reviewRatingItems() {
1806
+ return [
1807
+ {
1808
+ label: "3+",
1809
+ value: 3
1810
+ },
1811
+ {
1812
+ label: "3.5+",
1813
+ value: 3.5
1814
+ },
1815
+ {
1816
+ label: "4+",
1817
+ value: 4
1818
+ },
1819
+ {
1820
+ label: "4.5+",
1821
+ value: 4.5
1822
+ }
1823
+ ];
1824
+ }
1825
+ }
1826
+ });
1827
+ var Ye = function() {
1828
+ var t = this, i = t._self._c;
1829
+ return t._self._setupProxy, i(pe, { staticClass: "d-flex flex-row justify-center", model: { value: t.model, callback: function(s) {
1830
+ t.model = s;
1831
+ }, expression: "model" } }, t._l(t.reviewRatingItems, function(s, n) {
1832
+ 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) + " ")]);
1833
+ }), 1);
1834
+ }, qe = [], Ke = /* @__PURE__ */ p(
1835
+ je,
1836
+ Ye,
1837
+ qe,
1838
+ !1,
1839
+ null,
1840
+ null,
1841
+ null,
1842
+ null
1843
+ );
1844
+ const ft = Ke.exports, vt = {
1845
+ value: {
1846
+ type: [Number, void 0]
1847
+ },
1848
+ disabled: { type: Boolean }
1849
+ };
1850
+ h.extend({
1851
+ name: "BFilterByReview",
1852
+ props: vt,
1853
+ computed: {
1854
+ model: {
1855
+ get() {
1856
+ return this.value;
1857
+ },
1858
+ set(e) {
1859
+ this.$emit("input", e);
1860
+ }
1861
+ },
1862
+ reviewRatingItems() {
1863
+ return [
1864
+ {
1865
+ label: "3+",
1866
+ value: 3
1867
+ },
1868
+ {
1869
+ label: "3.5+",
1870
+ value: 3.5
1871
+ },
1872
+ {
1873
+ label: "4+",
1874
+ value: 4
1875
+ },
1876
+ {
1877
+ label: "4.5+",
1878
+ value: 4.5
1879
+ }
1880
+ ];
1881
+ }
1882
+ }
1883
+ });
1884
+ const Xe = {
1885
+ isLoading: {
1886
+ default: !1,
1887
+ type: Boolean
1888
+ },
1889
+ value: { ...vt.value }
1890
+ }, Ze = h.extend({
1891
+ name: "BFilterByReviewMenu",
1892
+ components: { BFilterByReview: ft },
1893
+ mixins: [b("components/ui/BFilterByReviewMenu"), x],
1894
+ props: Xe,
1895
+ data() {
1896
+ return {
1897
+ isMenuOpen: !1,
1898
+ model: this.value
1899
+ };
1900
+ },
1901
+ watch: {
1902
+ value: {
1903
+ immediate: !0,
1904
+ handler(e) {
1905
+ this.model = e;
1906
+ }
1907
+ }
1908
+ },
1909
+ methods: {
1910
+ closeMenu() {
1911
+ this.isMenuOpen = !1;
1912
+ },
1913
+ onApply() {
1914
+ this.closeMenu(), this.$emit("input", this.model);
1915
+ },
1916
+ onCancel() {
1917
+ this.model = this.value, this.closeMenu();
1918
+ },
1919
+ onReset() {
1920
+ this.closeMenu(), this.$emit("reset");
1921
+ }
1922
+ }
1923
+ });
1924
+ var Je = function() {
1925
+ var t = this, i = t._self._c;
1926
+ return t._self._setupProxy, i(V, 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 }) {
1927
+ return [i(I, { staticStyle: { cursor: "pointer" }, attrs: { color: "grey", icon: "fa-times", overlap: "", value: !!t.value }, nativeOn: { click: function(n) {
1928
+ return t.onReset.apply(null, arguments);
1929
+ } } }, [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)];
1930
+ } }]), model: { value: t.isMenuOpen, callback: function(s) {
1931
+ t.isMenuOpen = s;
1932
+ }, expression: "isMenuOpen" } }, "v-menu", t.$attrs, !1), [i(R, { 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) {
1933
+ t.value = s;
1934
+ }, expression: "value" } })], 1), i(W, { 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);
1935
+ }, Qe = [], ti = /* @__PURE__ */ p(
1936
+ Ze,
1937
+ Je,
1938
+ Qe,
1939
+ !1,
1940
+ null,
1941
+ "07d0a70a",
1942
+ null,
1943
+ null
1944
+ );
1945
+ const ei = ti.exports, ii = {
1946
+ value: {
1947
+ type: [Number, String]
1948
+ },
1949
+ disabled: { type: Boolean }
1950
+ }, si = h.extend({
1951
+ name: "BFilterByStar",
1952
+ props: ii,
1953
+ computed: {
1954
+ color() {
1955
+ return this.disabled ? "grey lighten-1" : "orange";
1956
+ },
1957
+ model: {
1958
+ get() {
1959
+ return Number(this.value.split(",").at(0));
1960
+ },
1961
+ set(e) {
1962
+ const t = rt(e, 6).join(",");
1963
+ this.$emit("input", t);
1964
+ }
1965
+ }
1966
+ }
1967
+ });
1968
+ var ni = function() {
1969
+ var t = this, i = t._self._c;
1970
+ return t._self._setupProxy, i(ge, { 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) {
1971
+ t.model = s;
1972
+ }, expression: "model" } });
1973
+ }, ri = [], ai = /* @__PURE__ */ p(
1974
+ si,
1975
+ ni,
1976
+ ri,
1977
+ !1,
1978
+ null,
1979
+ null,
1980
+ null,
1981
+ null
1982
+ );
1983
+ const gt = ai.exports, _t = {
1984
+ value: {
1985
+ type: [Number, String]
1986
+ },
1987
+ disabled: { type: Boolean }
1988
+ };
1989
+ h.extend({
1990
+ name: "BFilterByStar",
1991
+ props: _t,
1992
+ computed: {
1993
+ color() {
1994
+ return this.disabled ? "grey lighten-1" : "orange";
1995
+ },
1996
+ model: {
1997
+ get() {
1998
+ return Number(this.value.split(",").at(0));
1999
+ },
2000
+ set(e) {
2001
+ const t = rt(e, 6).join(",");
2002
+ this.$emit("input", t);
2003
+ }
2004
+ }
2005
+ }
2006
+ });
2007
+ const oi = {
2008
+ isLoading: {
2009
+ type: Boolean,
2010
+ default: !1
2011
+ },
2012
+ value: { ..._t.value }
2013
+ }, li = h.extend({
2014
+ name: "BFilterByStarMenu",
2015
+ components: { BFilterByStar: gt },
2016
+ mixins: [b("components/ui/BFilterByStarMenu"), x],
2017
+ props: oi,
2018
+ data() {
2019
+ return {
2020
+ isMenuOpen: !1,
2021
+ model: this.value
2022
+ };
2023
+ },
2024
+ watch: {
2025
+ value: {
2026
+ immediate: !0,
2027
+ handler(e) {
2028
+ this.model = e;
2029
+ }
2030
+ }
2031
+ },
2032
+ methods: {
2033
+ closeMenu() {
2034
+ this.isMenuOpen = !1;
2035
+ },
2036
+ onApply() {
2037
+ this.closeMenu(), this.$emit("input", this.model);
2038
+ },
2039
+ onCancel() {
2040
+ this.model = this.value, this.isMenuOpen = !1;
2041
+ },
2042
+ onReset() {
2043
+ this.closeMenu(), this.$emit("reset");
2044
+ }
2045
+ }
2046
+ });
2047
+ var ci = function() {
2048
+ var t = this, i = t._self._c;
2049
+ return t._self._setupProxy, i(V, 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 }) {
2050
+ return [i(I, { staticStyle: { cursor: "pointer" }, attrs: { color: "grey", icon: "fa-times", overlap: "", value: !!t.model }, nativeOn: { click: function(n) {
2051
+ return t.onReset.apply(null, arguments);
2052
+ } } }, [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)];
2053
+ } }]), model: { value: t.isMenuOpen, callback: function(s) {
2054
+ t.isMenuOpen = s;
2055
+ }, expression: "isMenuOpen" } }, "v-menu", t.$attrs, !1), [i(R, { 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) {
2056
+ t.model = s;
2057
+ }, expression: "model" } })], 1), i(W, { 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);
2058
+ }, ui = [], hi = /* @__PURE__ */ p(
2059
+ li,
2060
+ ci,
2061
+ ui,
2062
+ !1,
2063
+ null,
2064
+ "4d9bbf7d",
2065
+ null,
2066
+ null
2067
+ );
2068
+ const di = hi.exports, pi = {
2069
+ attach: {
2070
+ type: [Boolean, Element],
2071
+ default: !0
2072
+ },
2073
+ value: {
2074
+ required: !0,
2075
+ type: Object
2076
+ }
2077
+ }, mi = h.extend({
2078
+ name: "BSortByMenu",
2079
+ mixins: [b("components/ui/BSortByMenu")],
2080
+ props: pi,
2081
+ data() {
2082
+ return {
2083
+ items: [
2084
+ {
2085
+ value: _.TopPicks,
2086
+ direction: y.Asc
2087
+ },
2088
+ {
2089
+ value: _.Distance,
2090
+ direction: y.Asc
2091
+ },
2092
+ {
2093
+ value: _.Price,
2094
+ direction: y.Asc
2095
+ },
2096
+ {
2097
+ value: _.Price,
2098
+ direction: y.Desc
2099
+ },
2100
+ {
2101
+ value: _.Rating,
2102
+ direction: y.Asc
2103
+ },
2104
+ {
2105
+ value: _.Rating,
2106
+ direction: y.Desc
2107
+ },
2108
+ {
2109
+ value: _.ReviewRating,
2110
+ direction: y.Desc
2111
+ }
2112
+ ],
2113
+ isMenuOpen: !1
2114
+ };
2115
+ },
2116
+ computed: {
2117
+ model: {
2118
+ get() {
2119
+ const e = this.items.findIndex(
2120
+ (t) => t.value === this.value.value && t.direction === this.value.direction
2121
+ );
2122
+ return e === -1 ? 0 : e;
2123
+ },
2124
+ set(e) {
2125
+ this.$emit("input", this.items[e], c.SORT_BY);
2126
+ }
2127
+ }
2128
+ }
2129
+ });
2130
+ var fi = function() {
2131
+ var t = this, i = t._self._c;
2132
+ return t._self._setupProxy, i(V, { 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 }) {
2133
+ return [i(l, t._g(t._b({ attrs: { color: "secondary", elevation: 0, small: "" } }, "v-btn", n, !1), s), [i("span", [t.$t(
2134
+ `BSortByMenu.options.${t.items[t.model].value}.${t.value.direction}.icon`
2135
+ ).length ? i(g, { staticClass: "mr-1", class: t.$t(
2136
+ `BSortByMenu.options.${t.items[t.model].value}.${t.value.direction}.style`
2137
+ ), 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)])];
2138
+ } }]), model: { value: t.isMenuOpen, callback: function(s) {
2139
+ t.isMenuOpen = s;
2140
+ }, expression: "isMenuOpen" } }, [i(de, { staticClass: "b-sort-by-list white pa-0", attrs: { mandatory: "" }, model: { value: t.model, callback: function(s) {
2141
+ t.model = s;
2142
+ }, expression: "model" } }, [i(P, { 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) {
2143
+ return i(le, { key: n, staticClass: "px-3" }, [i(P, [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);
2144
+ })], 2)], 1);
2145
+ }, vi = [], gi = /* @__PURE__ */ p(
2146
+ mi,
2147
+ fi,
2148
+ vi,
2149
+ !1,
2150
+ null,
2151
+ "90bc84a5",
2152
+ null,
2153
+ null
2154
+ );
2155
+ const _i = gi.exports, yi = {
2156
+ isLoading: {
2157
+ default: !1,
2158
+ type: Boolean
2159
+ },
2160
+ small: {
2161
+ default: !0,
2162
+ type: Boolean
2163
+ },
2164
+ withSort: {
2165
+ default: !0,
2166
+ type: Boolean
2167
+ }
2168
+ }, bi = h.extend({
2169
+ name: "BHotelOffersFiltersBar",
2170
+ components: {
2171
+ BSortByMenu: _i,
2172
+ BFilterByPrice: mt,
2173
+ BFilterByPriceMenu: Ue,
2174
+ BFilterByStar: gt,
2175
+ BFilterByStarMenu: di,
2176
+ BFilterByReview: ft,
2177
+ BFilterByReviewMenu: ei
2178
+ },
2179
+ mixins: [
2180
+ x,
2181
+ ot,
2182
+ b("components/ui/BHotelOffersFilterBar")
2183
+ ],
2184
+ props: yi,
2185
+ data() {
2186
+ return {
2187
+ FILTER_NAMES: c,
2188
+ isDialogOpen: !1,
2189
+ filterByPriceModel: j,
2190
+ filterByReviewRatingModel: Y,
2191
+ filterByStarRatingModel: q,
2192
+ priceUpdatedByUser: !1
2193
+ };
2194
+ },
2195
+ computed: {
2196
+ activeFiltersNumber: d("hotelOffers/activeFiltersNumber"),
2197
+ areFiltersActive: d("hotelOffers/areFiltersActive"),
2198
+ filters: d("hotelOffers/filters"),
2199
+ hotelOfferRequest: d("hotelOfferRequest"),
2200
+ isPriceFilterActive: d("hotelOffers/isPriceFilterActive"),
2201
+ isResetButtonVisible() {
2202
+ var e, t;
2203
+ 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;
2204
+ },
2205
+ isStarRatingFilterActive: d(
2206
+ "hotelOffers/isStarRatingFilterActive"
2207
+ ),
2208
+ isReviewRatingFilterActive: d(
2209
+ "hotelOffers/isReviewRatingFilterActive"
2210
+ ),
2211
+ priceHistogramStepCount: d("hotelOffers/priceHistogramStepCount"),
2212
+ priceMax: d("hotelOffers/getPriceMax"),
2213
+ priceMin: d("hotelOffers/getPriceMin"),
2214
+ sortByModel: {
2215
+ get() {
2216
+ return this.filters[c.SORT_BY];
2217
+ },
2218
+ async set(e) {
2219
+ await $("hotelOffers/saveFilters", {
2220
+ ...this.filters,
2221
+ [c.SORT_BY]: e
2222
+ });
2223
+ }
2224
+ }
2225
+ },
2226
+ watch: {
2227
+ filters: {
2228
+ deep: !0,
2229
+ immediate: !0,
2230
+ handler() {
2231
+ this.syncFilters();
2232
+ }
2233
+ }
2234
+ },
2235
+ methods: {
2236
+ onCancel() {
2237
+ this.syncFilters(), this.isDialogOpen = !1;
2238
+ },
2239
+ async onSaveFilters() {
2240
+ await $("hotelOffers/saveFilters", {
2241
+ ...this.filters,
2242
+ [c.RATING]: this.filterByStarRatingModel,
2243
+ [c.REVIEW_RATING]: this.filterByReviewRatingModel,
2244
+ [c.PRICE]: [
2245
+ this.filterByPriceModel[0] === this.priceMin ? 0 : this.filterByPriceModel[0],
2246
+ this.filterByPriceModel[1] === this.priceMax ? 0 : this.filterByPriceModel[1]
2247
+ ]
2248
+ }), this.isDialogOpen = !1;
2249
+ },
2250
+ async resetPriceFilter() {
2251
+ await $("hotelOffers/saveFilters", {
2252
+ ...this.filters,
2253
+ [c.PRICE]: j
2254
+ });
2255
+ },
2256
+ async resetStarRatingFilter() {
2257
+ await $("hotelOffers/saveFilters", {
2258
+ ...this.filters,
2259
+ [c.RATING]: q
2260
+ });
2261
+ },
2262
+ async resetReviewRatingFilter() {
2263
+ await $("hotelOffers/saveFilters", {
2264
+ ...this.filters,
2265
+ [c.REVIEW_RATING]: Y
2266
+ });
2267
+ },
2268
+ onResetFilters() {
2269
+ this.filterByPriceModel = w[c.PRICE], this.filterByStarRatingModel = w[c.RATING], this.filterByReviewRatingModel = w[c.REVIEW_RATING];
2270
+ },
2271
+ syncFilters() {
2272
+ this.filterByPriceModel = this.filters[c.PRICE], this.filterByStarRatingModel = this.filters[c.RATING], this.filterByReviewRatingModel = this.filters[c.REVIEW_RATING];
2273
+ }
2274
+ }
2275
+ });
2276
+ var Mi = function() {
2277
+ var t = this, i = t._self._c;
2278
+ return t._self._setupProxy, i("div", [i(fe, { attrs: { absolute: "", "overlay-opacity": "0.3", temporary: "", width: t.$isCurrentBreakpointBelow("sm") ? "100%" : "auto" }, model: { value: t.isDialogOpen, callback: function(s) {
2279
+ t.isDialogOpen = s;
2280
+ }, expression: "isDialogOpen" } }, [i(R, { attrs: { elevation: "0", light: "" } }, [i(Qt, { 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(H, [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) {
2281
+ t.filterByPriceModel = s;
2282
+ }, 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) {
2283
+ t.filterByStarRatingModel = s;
2284
+ }, 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) {
2285
+ t.filterByReviewRatingModel = s;
2286
+ }, 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(I, { 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) {
2287
+ t.isDialogOpen = !0;
2288
+ } } }, [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) {
2289
+ t.filterByPriceModel = s;
2290
+ }, 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) {
2291
+ t.filterByStarRatingModel = s;
2292
+ }, 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) {
2293
+ t.filterByReviewRatingModel = s;
2294
+ }, 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) {
2295
+ t.sortByModel = s;
2296
+ }, expression: "sortByModel" } })], 1) : t._e()], 1)], 1);
2297
+ }, xi = [], $i = /* @__PURE__ */ p(
2298
+ bi,
2299
+ Mi,
2300
+ xi,
2301
+ !1,
2302
+ null,
2303
+ "c0c65af1",
2304
+ null,
2305
+ null
2306
+ );
2307
+ const ms = $i.exports;
2308
+ function Bi(e) {
2309
+ return /^([+-]?\d*\.?\d+([Ee][+-]?\d+)?|[+-]?\d*\.?\d+)(px|em|rem|vw|vh|vmin|vmax|%|cm|mm|in|pt|pc|ch|ex|q)$/u.test(
2310
+ e
2311
+ );
2312
+ }
2313
+ function it(e) {
2314
+ if (e)
2315
+ return typeof e == "number" ? `${e}px` : typeof e == "string" && (Bi(e) || e.startsWith("var")) ? e : Number.isNaN(e) ? "100%" : `${e}px`;
2316
+ }
2317
+ const fs = h.extend({
2318
+ data() {
2319
+ return {
2320
+ parsedHeight: it(this.height)
2321
+ };
2322
+ },
2323
+ watch: {
2324
+ height: {
2325
+ immediate: !0,
2326
+ handler(e) {
2327
+ this.parsedHeight = it(e);
2328
+ }
2329
+ }
2330
+ }
2331
+ });
2332
+ Mt("css/revolugo.parsed-height.FfkITAOo.css");
2333
+ export {
2334
+ ps as B,
2335
+ _e as H,
2336
+ f as a,
2337
+ ms as b,
2338
+ ds as c,
2339
+ fs as p
2340
+ };
2341
+ //# sourceMappingURL=revolugo.parsed-height.C9EDOdpc.min.js.map